スタディサプリ Product Team Blog

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

Flutterアプリ開発に欠かせないbuild_runner速度アップTips

Dartチームがmacrosの開発をストップしたことを受けて、緊急でブログとビルドを回しております。 ForSCHOOL開発グループの @koji-1009 です。 medium.com macrosの開発停止に伴い、Dartチームはbuild_runnerのパフォーマンス向上とdata classの実現…

iOS Dynamic Type を中心にアプリ内ブラウザーで文字サイズ調整対応

こんにちは、『スタディサプリ』の iOS エンジニアのヴァンサンです。 iOS でユーザーが文字サイズを調整できる機能を Dynamic Type と言います。iOS アプリ開発では UIKit や SwiftUI での Dynamic Type 対応に関する情報が多く見つかりますが、この記事で…

【本編】スクリプト言語と GitHub Actions で GitHub Wiki に秩序をもたらそう! Vol.1 -泥臭い手作業編-

「スクリプト言語と GitHub Actions で GitHub Wiki に秩序をもたらそう! 」シリーズ第1弾です。 自動化前の布石にあたるお話です。

CXプラットフォームKARTEを活用したコスパの良い機能開発のススメ

こんにちは。スタディサプリ小中高のWebアプリの開発を担当している @kiki-ki と tsukamoto です。 スタディサプリでは5年ほど前からCXプラットフォームとして KARTE という外部サービスを利用しています。本記事では私たちのチームでのKARTEの活用方法につ…

小学背景デザインのご紹介と実装上の工夫

こんにちは。iOS エンジニアの @_nkmrh です。 今回は『スタディサプリ 小学講座』の背景画面のデザインについてご紹介します。 1 月から 12 月までの季節感やイベントを踏まえた複数バリエーションの背景をいかに効率よく実装したか、デザイナーとのコミュ…

SwiftUI の NavigationStack の実践的な使い方と制限の克服

iOS

あけましておめでとうございます。 スタディサプリの iOS エンジニアのヴァンサンです。 最近、スタディサプリ 小学・中学講座 iOS アプリ(以下スタサプ小中 iOS)で SwiftUI のナビゲーション周りの改善に取り組んできました。SwiftUI のナビゲーション AP…

開発組織が事業貢献するには

こんにちは。@chaspyです。『スタディサプリ 小学・中学・高校講座(以下、スタディサプリ小中高)』の開発部長をしています。この記事はスタディサプリProduct Team Advent Calendar 2024の25日目の記事です。 まずはじめに、このアドベントカレンダーを執…

Jenkins から Argo Workflows 移行に挑戦した話

SRE

Merry Christmas! SRE Team の @panicboat です。 突然ですが、皆さんはジョブ基盤に何を使っていますか? Jenkins や Digdag、Apache Airflow など多くの選択肢があり組織にマッチするものを選択するだけでも苦労しますよね。 今回はジョブ基盤を Jenkins …

oapi-codegen の strict-server オプションを使ってより硬くサーバーサイドを実装する

スタディサプリ小中高でエンジニアリングマネージャーやソフトウェアエンジニアをしている @pankona です。 本稿では oapi-codegen の strict-server オプションを使った開発事例を紹介します。 OpenAPI と oapi-codegen OpenAPI とは、Web API の仕様を記述…

Xcode ProjectにローカルのSwift Packageを追加する2つの方法の違い

背景 まず、Swift Package、Xcode Project、およびXcode ProjectにSwift Packageを追加する方法について説明します。なお、説明は全てXcode 15.4の挙動に基づいています。 Swift PackageはSwiftのソースコードや関連するリソースファイルを1つにまとめる仕組…