スタディサプリ Product Team Blog

株式会社リクルートが開発するスタディサプリのプロダクトチームのブログです

New Relic で Prisma のパフォーマンスを計測してみた

スタディサプリ中学講座では、バックエンドの一部に TypeScript x GraphQL x Prisma を採用しており、パフォーマンスの計測などに New Relic を用いています。New Relic は Prisma を正式にサポートしていないため、導入するためには自分たちで実装する必要…

iOS バージョン による SwiftUI の機能差分・制限まとめ

こんにちは。iOS エンジニアの wadash です。先月2022年2月に無事リリースした「スタディサプリ 中学講座」のチームで開発に携わっています。 今回は iOS バージョンによる SwiftUI の挙動差異と制限のまとめをご紹介します。 SwiftUI の採用とサポートバー…

Terraform Modules を Monorepo で versioning して管理

こんにちは。 SRE の @suzuki-shunsuke です。 Terraform Modules を Monorepo で versioning して管理するようにした話を紹介します。 先日紹介したとおり、弊プロダクトではインフラを Terraform の Monorepo で管理しており、 CI は GitHub Actions + tfa…

Jetpack Compose と GraphQL Fragment でつくるデザインシステム実装

こんにちは。Android アプリ開発者の geckour です。 今回は、デザインシステムの実装についての話をしたいと思います。

Android における Visual Regression Test tips 集 #2

こんにちは。Android エンジニアの @omtians9425 です。 今回は、 Visual Regression Test (以下 VRT) の tips 集の続編についてお話しします。 VRT の簡単な説明と前回の tips (tips 1~4) については こちら をご覧ください。 Tips 集 5. 「スワイプ」 で…

SwiftUI x Combineのメモリリークを防ぐ3つのTips

こんにちは!iOSエンジニアの @chuymaster です!私たちのチームが2年近くかけて開発した 「スタディサプリ 中学講座」 のiOSアプリがようやくリリースされました! いやぁ〜みんなで頑張りましたよ!中学生のお子様がいらっしゃる方はぜひお試しください! …

「0回目のポストモーテム」としてのプレモーテムのすすめ

こんにちは。SREの@kyontanです。スタディサプリのSREチームにジョインしてから初のブログ記事となります。 つい先日、スタディサプリ 中学講座が大幅リニューアルされました。*1 今回は、そのリリースを自信を持ってユーザーの皆様へお届けするために実施し…

チームのコラボレーションを支える"ミッションツリー"

こんにちは。SRE Team の @chaspy です。 リクルートでは、チームがやるべきことを、メンバーの納得感を持って仕事してもらうためにミッションを設定しています。ミッションは WCM - Will / Can / Must というフレームワークを用いて、本人の希望、本人の能…

Cloud Dataflow で実現する柔軟なデータパイプライン

はじめに こんにちは、@shase です。 スタディサプリでは、データパイプラインのツールとして、従来 AWS Kinesis Stream や、Embulk や、AWS Lambda などがよく使われてきました。 ただ、現在開発中のプロジェクトでは、システム間の連携の為、Cloud Pub/Sub…

SRE チームを支えるふりかえりの文化

こんにちは。SRE チームの@chaspy です。 本記事では私の所属する SRE チームにおける「ふりかえり」の文化を紹介します。 背景 最近のチームのふりかえり会 *1 で僕自身が以下のようなコメントを"Keep"として出しました。 これは、単にこのふりかえり会が継…