Studyplus Engineering Blog

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

スタディプラスはRSpecに寄付しました

こんにちは、ForShcool事業部の島田です。好きな漫画は「ドラフトキング」です。 スタディプラスではこの度、会社として RSpec に寄付をしました。 rspec.info なぜOSSへ寄付するのか 2020年12月からGitHub Sponsorsで、企業がOSSのスポンサーをすることが可…

7月にLT大会を開催しました。

はじめまして、Studyplus事業部サーバーサイドエンジニアの中村です。 今年4月から入社し、Studyplusアプリのサーバーサイド開発に参加しました。 よろしくお願いします! 今回は、こちらの記事でも少し紹介している LT大会を7月に実施しましたので、詳しく…

Flutterの状態管理とViewの更新

こんにちは。モバイルクライアントグループの若宮(id:D_R_1009)です。 最近スタンディングデスクを導入しました。業務時間中はずーっとスタンディング状態で、疲れたら業務終了な感じでやってます。 スタディプラスでは一部のプロダクトでFlutterを採用して…

フロントエンドのCircle CI実行時間を1/3にしました

こんにちは。ForSchool事業部の石上です。先日、コンビニでサクレの梨味を買ってきたところ妻に絶賛されました。今年一番家庭で貢献した日かもしれません。 今回はフロントエンドのCircle CI実行時間を短くしたことについて書きます。 3行で フロントエンド…

Studyplus iOSにおけるコードリファクタリングへの取り組み

Studyplus iOSにおけるコードリファクタリングへの取り組み こんにちは、Studyplus事業部モバイルクライアントグループの上原です。以前はWidgetの実装についてブログを書きましたが、今回はStudyplus iOSで取り組んでいるコードのリファクタリングについて…

Paging 3ライブラリへの更新とKotlin 100%

こんにちは。 AndroidとiOSといろいろやっている若宮(id:D_R_1009)です。 西日本では記録的な早い梅雨入りな一方、会社のある関東ではだいぶ遅れての梅雨入りとなりました。 部屋にこもってAppleやGoogle、Microsoftのカンファレンスを見ることで時間は潰せ…

アプリ画面のライフサイクル管理をAppDelegateからSceneDelegateへ移行した話

こんにちは、Studyplus事業部モバイルクライアントグループの明渡です。 最近、当ブログの当番がチーム単位から個人単位へ変更になりました。 ひとまずブログ執筆をご無沙汰していた順に回るのですが、自分は昨年iOSDCのLT登壇内容まとめ記事以来でした。 iO…

Firebase Functionsのロギングを改善した話

はじめまして、モバイルクライアントグループの市川です。昨年9月からポルトの開発にジョインしました! porto-book.jp ポルトはFlutterとFirebaseで開発しているサービスです。 サーバサイドの処理は全てFirebase Functionsで実装されており、エンドポイン…

入社して1年で見えてきた弊社のすてきなところ

こんにちは、Studyplus事業部サーバーグループの葉坂です。スタディプラスに入社して約1年が経ちました。 そこで、本記事では入社して1年経って見えてきた私の感じる弊社のすてきなところを紹介していきます。タイトルからして会社に忖度している胡散臭い記…

Ruby / Railsにおけるカレンダー機能を振り返る

こんにちは、ForSchool事業部サーバーサイドエンジニアのましばです。 Studyplus for Schoolでは3月にカレンダー機能をリリースしました。 色々と大変なこともあったので振り返りを含めて記事にしたいと思います。 iCalendarについて カレンダー機能では、生…

Kustomize Componentsで構成管理

こんにちは。SREの菅原です。 突然ですがKustomize便利ですよね。 弊社ではKubernetesのManifest管理にKustomizeを使っています。Kustomizeの機能は複数ありどれも便利なのですが、今回はその中でもComponentsという機能を使って便利なのかどうなのかという…

React Query で optimistic-update な UI を実装してみる

こんにちは @okupara です。 去年から Studyplus for School の API 周りの state 管理を Redux から React Query にし始めました。キャッシュや無限スクロールでのリクエストのサポート、ページネーションのサポートなど、隈雑になりがちな処理を抽象化して…

Flutter + Firebase FunctionsでZendesk Supportを活用する

こんにちは、モバイルクライアントグループの若宮(id:D_R_1009)です。 今年もスギ・ヒノキ花粉は辛かったです。自室でPCを見ている時間が長いこともあり、特に目が辛かった年でした。 今回はPortoで昨年11~12月ごろに対応したZendeskへのCSツール移行につい…

Apple M1プロセッサ搭載macbookでの開発環境構築

こんにちは、ForSchool事業部の冨山(@atomiyama1216)です。 好きなエディタはVimです。どんなにVSCodeが流行っても僕はVimを使い続けます。 2021年4月に業務用マシンを買い換えApple M1チップ搭載モデルに買い替えました。 その際環境構築でなかなかに躓いた…

あなたの知らないStudyplusモバイルクライアントグループの世界

こんにちは、モバイルクライアントグループのリーダー大石です。 春から息子が就活を始めたので親としては期待と不安が入り混じる季節です。 今回はモバイルクライアントグループで何をどのような体勢で開発しているか、どのような取り組みをしていたか昨年…