記事一覧 - スタディサプリ Product Team Blog

スタディサプリ Product Team Blog

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

「比較言語学のススメ -Ruby vs. Python に学ぶ言語のアイデンティティ-」というタイトルで地域.rb の LT 会で発表してきました!

2025年02月の地域.rb の LT 会にて発表した「比較言語学のススメ -Ruby vs. Python に学ぶ言語のアイデンティティ-」のサマリー記事です。

イラストでわかるRAGを用いたbot開発~生成AIを使った開発の知識を深めよう~

こ〜んにちは〜!スタディサプリ小中高SREの@_a0iです。 先日RECRUIT TECH CONFERENCE 2025 プレイベントで「イラストでわかるRAGを用いたbot開発」と題してLTを行いました。 資料もアップされています。 speakerdeck.com (首痛いポーズがいいですね〜!) …

講義動画における生成 AI を活用した字幕生成

こんにちは、『スタディサプリ』の iOS エンジニアのヴァンサンです。 先日、『スタディサプリ』の一部の講座の動画に日本語字幕が追加されました。音声と同じ言語の字幕は、聴覚に障がいのあるユーザーだけでなく、音声が聞こえづらい環境や、イヤホンが手…

スタディサプリ小中高のフロントエンド技術戦略と課題解決の歩み

こんにちは。技術戦略フロントエンドGのマネージャーをしている @kuranari です。 本記事では、スタディサプリ小中高のフロントエンド技術戦略活動について紹介します。 技術戦略グループとは スタディサプリ小中高のプロダクト開発部には「プロダクト開発組…

RECRUIT TECH CONFERENCE 2025 で『スタディサプリ』の開発組織を紹介しました

こんにちは、Androidエンジニアの@morux2です。先日 RECRUIT TECH CONFERENCE 2025 にて、「エンジニア主導の企画立案を可能にする組織とは?『スタディサプリ小学講座』に新機能がリリースされるまで」というLTを行いましたので、発表内容のサマリを共有さ…

monorepo で Cursor Project Rule を扱う Tips

こんにちは、@chaspy です。開発部長をしています。本日は小ネタで失礼します。 私たちは普段、monorepo で開発しています。monorepo については過去色んな記事で言及されているのでぜひご覧ください。 blog.studysapuri.jp blog.studysapuri.jp 最近、monor…

再エンコード無しで、HLS動画への字幕の追加を実現する

こんにちは、動画基盤チームの @kumackey です! 2月17日に、『スタディサプリ高校講座』に生成AIを活用した字幕表示機能が追加されました! まずはブラウザ版・特定講座での提供となりますが、今後提供範囲の拡大も検討していきます。 参考: 『スタディサプ…

【番外編】スクリプト言語と GitHub Actions で GitHub Wiki に秩序をもたらそう! Vol.4 -しくじり編-

「スクリプト言語と GitHub Actions で GitHub Wiki に秩序をもたらそう! 」シリーズ第4弾です。 Ownership 単位で Wiki の Markdown ファイルをディレクトリごとに整理して Revisions を吹っ飛ばし、現状復帰させるまでの辛いお話です。

【本編】スクリプト言語と GitHub Actions で GitHub Wiki に秩序をもたらそう! Vol.3 -自動化ワークフロー実装編-

「スクリプト言語と GitHub Actions で GitHub Wiki に秩序をもたらそう! 」シリーズ第3弾です。 スクリプト日時実行結果と Ownership 不在 Wiki 件数週次報告 Slack 通知の GitHub Actions の実装のお話です。

【本編】スクリプト言語と GitHub Actions で GitHub Wiki に秩序をもたらそう! Vol.2 -スクリプト実装編-

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

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つにまとめる仕組…

k6+TypeScriptでRSA公開鍵を用いたチャレンジレスポンス認証を突破する

k6+TypeScriptでRSA公開鍵を利用し、各VUごとにAPIのチャレンジレスポンス認証を突破する手法について紹介します。

エンジニアリングマネージャーはいいぞ

こんにちは。スタディサプリの開発組織でエンジニアリングマネージャー(以下、EM)をしている @ojiry です。 本稿はスタディサプリProduct Team Advent Calendar 2024 20日目の記事になります。 私はEMになってから3年と3ヶ月ほど経つのですが、その中で得…

Credential Managerに移行するために調べたこと

こんにちは。スタディサプリ Androidエンジニアの@moraylと@omtians9425 です。 スタディサプリのAndroidアプリでは、ID/パスワードの記憶に CredentialsApiを使っている箇所がありました。現在はCredential Managerが推奨となっており、そちらへ移行するた…

現在時刻に依存する機能の動作確認コストを下げる基盤 -Time Injection-

こんにちは。スタディサプリ小学・中学講座の Engineering Manager をしている @ywada526 です。 今回は、現在時刻に依存する機能の動作確認コストを下げる基盤について紹介します。この基盤は、社内ではコード上の名前をとって「Time Injection」という愛称…

『プログラマが知るべき97のこと』に学ぶ5つの金科玉条

『プログラマが知るべき97のこと』を通読して得た特に重要な5つの教訓を筆者の独断と偏見と好奇でピックアップしました。

New Joiner こそ Working Out Loud ~ 具体的な実践方法と実践に向けた姿勢 ~

こんにちは。24 卒で入社し、7 月から『スタディサプリ小学・中学講座』の開発チームで Web エンジニアをしている @ryomaejii です。 本記事は スタディサプリ Product Team Advent Calendar 2024 17 日目の記事で、 私が大切にしている考え方である Working…

スタディサプリ動画基盤におけるFastlyの利用と陥った落とし穴

はじめに こんにちは、スタディサプリのプロダクト基盤...その中でも特に動画基盤の開発を行っている @highwide です。 これは スタディサプリProduct Team Advent Calendar 2024 16日目の記事です。 今日は動画基盤チームで利用しているFastlyの構成や、我…

将来のプロダクト状態を考えて技術改善を計画する

スタディサプリ小学・中学講座の iOS アプリエンジニアをしている @komaji です。本稿は スタディサプリProduct Team Advent Calendar 2024 15日目の記事で、私が所属する iOS チームでの技術改善の取り組み方について紹介していきます。 技術改善を計画する…

エンジニアリングオフィスチームを結成しました

はじめに こんにちは。スタディサプリの開発グループでエンジニアをしている @ttokutake です。 本稿は 技術広報 Advent Calendar 2024 シリーズ 2の14日目の記事です。 今回はスタディサプリの開発グループ内でエンジニアリングオフィスチームを結成した話…

FlutterKaigi 2024に登壇しました

こんにちは。『スタディサプリ for SCHOOL』 の開発に携わっている @koji-1009 です。 この記事はスタディサプリProduct Team Advent Calendar 2024 14日目の記事になります。カレンダー2週目も今日で終わりです。 本稿ではFlutterKaigi 2024に参加し、登壇…