スタディサプリ Product Team Blog

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

スムーズな開発体験を支えるデータベースリストアの仕組み

こんにちは。SRE の @int128 です。 背景 スタディサプリではいろいろな役割の人が協力してプロダクトを開発していくための文化と仕組みがあります。 例えば、Pull Request を作成すると自動的にプレビュー環境がデプロイされる仕組みや本番相当のデータで動…

縦書き学習コンテンツを実現する際に利用した縦書き CSS プロパティとその奥深さ

こんにちは。スタディサプリで Web Engineer をしている@indigolainです。最近はフロントエンドの割合を高めに開発をしています。 今回はスタディサプリで提供している学習コンテンツの中でも特徴的な縦書き学習コンテンツに関して、それを実現する上で利用…

SwiftUI.NavigationView のバックボタンをカスタマイズする方法

こんにちは。iOS エンジニアの @_nkmrh です。 最近、Full SwiftUI で開発したスタディサプリ 中学講座をリリースし、アプリ開発の醍醐味を味わっています。 はじめに 本稿では、スタディサプリ中学講座 iOS アプリで実装した SwiftUI の NavigationView の…

SwiftUIで対応しきれずUIKitを使ったコンポーネントのまとめ

こんにちは、iOSエンジニアの @elliekwon です。去年のiOSDC Japan 2021「スタディサプリ」がFull SwiftUIを選択した先に見えてきたものの発表で紹介させて頂いた通り、SwiftUIで開発してきた「スタディサプリ中学講座」ですが、SwiftUIでは対応しきれず、ご…

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アプリがようやくリリースされました! いやぁ〜みんなで頑張りましたよ!中学生のお子様がいらっしゃる方はぜひお試しください! …