Studyplus Engineering Blog

スタディプラスの開発者が発信するブログ

ForSchool

ReactRouter で描画するコンポーネントを分けてみました

こんにちは。ウェブアプリケーショングループのエンジニアの川井です。 今回はReactアプリケーションの再描画を抑えるために、画面をいくつかのパーツに分け、各パーツごとにルーティングを管理するようにした話を紹介します。 背景 Studyplus for Schoolで…

新機能リリース前のStudyplus for Schoolに対してLocustを使った負荷試験を行いました

こんにちは。ForSchool事業部エンジニアの石上です!息子が1歳半になり、お互いなんとなく言ってることがわかるようになってきました。 今回は Studyplus for School の一部のAPIに対して行った負荷試験について書きます。 3 行で リクエストが多くなりそう…

突撃!隣のRubyGems

こんにちは、スタディプラスの島田です。好きな漫画は「葬送のフリーレン」です。 はじめに スタディプラスでは、Railsで開発しているプロダクトが2つあります。 Studyplus Studyplus for School それぞれのプロダクトはサービスの性質や歴史が異なり、別な…

リモートチームでスクラム開発

こんにちは、ForSchool事業部の島田です。好きな漫画は「王様達のヴァイキング」です。 スタディプラス社では、現在リモートでの開発が主体となっています。その状況の中でStudyplus for School(以下FS)開発チームはスクラムによる開発を進めています。 今回…

週1回30分のフロントエンドミーティングを始めました

こんにちは。ForSchool事業部の石上です。ハライチのターンというラジオが好きです。ぜひRadikoで聴いてみてください。 今日は、ForSchool事業部で行っているフロントエンドミーティングという取り組みについて紹介します。 3行で フロントエンドミーティン…

LambdaTestでスモークテストをはじめました

こんにちは、Studyplus for School事業部エンジニアの島田です。 もうすぐ2020年も終わりになりますね。 はじめに なぜ導入したか ツール選定 LambdaTestでE2Eテスト(自動テスト) 構成とテストの実行タイミング E2Eテストコード(RSpec)の実装例 リポジトリ構…

Zoom Marketplaceにアプリを公開するまで

こんにちは、Studyplus for School事業部エンジニアの島田です。 今回は先日リリースしたStudyplus for School(以下FS) のZoomとの連携機能と、そのリリースに至るまでのプロセスを紹介させていただきます。 prtimes.jp 導入の背景 Zoom OAuth Appについて O…

ReactのSPAでUIへのテストを真面目に取り組んでいく話

こんにちは。ForSchool事業部の@okuparaです。最近入社しました。今後ともよろしくお願いします。 Studyplus for SchoolはReactを使用したSPAとして構築されています。フロントエンドのテスト関しては以前よりReduxやロジックに対してのテストがいくつか存在…

Studyplus for Schoolの1人目のQAエンジニアを募集中

Studyplus for Schoolの開発チームのリーダーをしている@atomiyamaです. Studyplus for Schoolでは現在1人目のQAエンジニアを募集しています. 募集ページでは説明できていない現状や課題,QAエンジニアの方と実現していきたいことなどを詳しく書いていきた…

新型コロナウイルスとStudyplus for School

新型コロナウイルスとStudyplus for School こんにちは、Studyplus for School事業部エンジニアの島田です。 新型コロナウイルスとStudyplus for School はじめに 数値でみる変化 生徒数 各機能の利用数 リクエスト数 エラーの発生数 DBのCPU利用率 機能開発…

Elmの何が良いのか?何ができるのか?

こんにちは。ForSchool事業部の石上です。お菓子はばかうけが好きです。今日はElmの話です。 背景 Studyplus for Schoolには、Elmで実装された画面アプリケーションがあります。こういうやつです。 【新機能リリース】本日、新機能として「入退室管理機能」…

AWS Lambdaを使ったStudyplus for SchoolのLINE連携

こんちにちは、ForSchool事業部の島田です。 今回はStudyplus for School(以下FS)のLINE連携について紹介させていただきます。 LINE連携とは? LINEの「FS公式アカウント」と生徒の保護者が友だちになることで保護者と塾(講師)が連絡をとれたり、生徒(子供)…

redux-thunkを使っているプロジェクトでのAPIリクエストの競合をAbortControllerで素朴に解決する

こんにちは。ForSchool事業部の石上です。今年の抱負はラーメンを月2食に抑えることです。今の所はなんとか達成できております。 さて今回は、Studyplus for School(以下、社内での呼び方でFSと書きます)のフロントエンドで、どうやってAPIリクエストの競…

Studyplus for SchoolのCSS事情

こんにちは。ForSchool事業部の石上です。最近、弊チームのスクラムマスター id:atomiyama さんから、「伝えにくい事とか相手の注意引きたい時に幼児言葉を使うと有効です。」というテクニックを教えてもらいました。今後はなるべく実践していきたいでちゅ …

散らかったStorybookを整理する

こんにちは。ForSchool事業部の石上(id:shgam)です。今回はStorybookの話です。 7/17にリニューアルしたStudyplus for Schoolでしたが、このとき導入したStorybookを活用できていませんでした。そもそも整備が足りてなかったので、1日もらってStorybookを整…

Studyplus for Schoolをリニューアルしました

こんにちは、こんばんは、For School事業部のid:atomiyamaです。 先日フルリニューアルされたStudyplus for Schoolのサーバーサイド開発、フロントエンド開発の一部を担当しました。 新しいStudyplus for School 以前のStudyplus for School リニューアルに…

スキーマ駆動開発のススメ

こんにちは,For School事業部のid:atomiyamaです. 現在Studyplus for Schoolはサービスのフルリニューアルを行っています. 弊サービスはこれまでRailsでslimを使いViewを提供してきましたが,今後より良い体験をユーザーへ届けるためにリニューアルを行い…

AWS Lambda上でnode-canvasを使ってグラフを描画する

ForSchool事業部でStudyplus for Schoolのサーバーサイドを担当している松田です。 Studyplus for Schoolでは、一部でChart.jsを利用したグラフの表示をしています。 Chart.jsはHTMLのCanvasでグラフを描画するライブラリです。 今回はこのグラフをサーバー…

elm-upgradeに従ってElmのバージョンを0.18から0.19へ上げる

ForSchool事業部の石上です。ウェブのフロントエンドを中心にStudyplus for Schoolの開発に携わっています。 あるアプリケーションのElmのバージョンを0.18から0.19に上げる対応をしました。今回はこのことについて書きます。 背景 Studyplus for School で…

Railsフロントエンド設定をふつうにする

4月からForSchool事業部の石上です。以前は、主にStudyplusのウェブ版を担当していました。現在ForSchool事業部では、Studyplus for Schoolというプロダクトをエンジニア2人で開発しています。2人ともサーバーサイドとフロントエンドの両方を担当しています…