スタディサプリ Product Team Blog

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

source maps を守る話

こんにちは。スタディサプリの小中新規開発チームで Web エンジニアをしている @YutaUra です。 昨今の JavaScript を利用する開発では source maps の存在が欠かせません。今回の記事では、私たちが直面した source maps が壊れてしまう場面と、 source map…

GitHub Copilot の Usage API を叩いてみた結果を味わう

本稿は スタディサプリProduct Team Advent Calendar 2024 2日目の記事です。 スタディサプリでソフトウェアエンジニアやエンジニアリングマネージャをやっている @pankona です。GitHub Copilot Usage API を味わってみた話をします。 GitHub Copilot は便…

GitHub Actions の異なる Workflow 間で Artifact をやり取りする方法

はじめに こんにちは! 私は教育支援小中高プロダクト開発部に所属し、スタディサプリの小中学生向けサービスの開発・運用を担当しています。 今回は、GitHub Actions で異なる Workflow 間で Artifact をやり取りする方法について解説します。 業務の中で、…

社内サーベイを効果的に実施するためのポイント

こんにちは。スタディサプリの認証チームに所属している @taki-21 です。 今回は社内サーベイを効果的に実施するためのポイントについて紹介したいと思います。 はじめに 私たちのチームは 2024 年 4 月から 9 月までの 6 ヶ月間を通して他チームとスムーズ…

GitHub Actions で Working out Loud を効率化しよう!

面倒で冗長な Working out Loud 周辺作業を GitHub Actions で効率化した話です。 簡単な実装なので皆さんのチームでも是非取り入れてみて下さい!

DroidKaigi 2024 で GraphQL クライアント実装について登壇しました

こんにちは、Androidエンジニアの@morux2です。先日 DroidKaigi2024 にて、「GraphQLの魅力を引き出すAndroidクライアント実装」という発表を行いましたので、その報告をさせていただきます。 2024.droidkaigi.jp 発表資料はこちらになります。 speakerdeck.…

MagicPod で効率アップ!Android アプリの E2E テスト自動化

こんにちは、Android エンジニアの @myamamic です。スタディサプリ小中講座の Android アプリ開発を担当しています。 この記事では私たちが実施している E2E テストについて、実施の目的や自動化によって受けている恩恵、E2E テストをどのように運用してい…

VimConf 2024 のスポンサーになりました

こんにちは。thinca です。 このたび株式会社リクルートは、VimConf 2024 のブロンズスポンサーになりました。 私は VimConf 2024 にスタッフとしても関わっています。今回は VimConf についてや、スポンサーすることの意義について、スタッフ側の視点から書…

スタディサプリ開発メンバーでSoftware DesignのGraphQL特集を執筆しました!

はじめに こんにちは。スタディサプリでプロダクトプラットフォームの開発を行っている @highwide です。 この度、スタディサプリの開発メンバーで技術評論社様の「Software Design 2024年9月号」の第一特集「実例から学ぶ!GraphQLでアプリケーション開発 …

「現場で実践!RAG活用術 Lunch LT ― 運用して分かった"つらみ"とその対策」で登壇してきました&質問の回答 #RAG_Findy

AI

こんにちは。@chaspyです。 先日こちらのイベントで登壇してきました。 findy.connpass.com 発表資料はこちらです。 概要については以下の @aoi1 さんの以下のブログも参照ください。 blog.studysapuri.jp 内容は資料を見ていただきたいですが、ポイントとし…

FigmaのCode ConnectとCode Generation APIを導入しました

はじめに スタディサプリ小学・中学講座を開発している Android エンジニアの @maxfie1d です。 スタディサプリ小学・中学講座ではデザイナーがFigmaで作成したデザインデータをもとにエンジニアがUIのコードを書いています。 UIのコードを書くことはとても…

QAチームが行う非機能の試験〜障害許容性試験〜 Non-functional testing conducted by QA team - Fault tolerance testing -

非機能試験についての概要と、障害許容性試験について詳しく説明しています。

GitHub Actionsを利用したE2E自動化テストの実現 ~ Achieving E2E Automated Testing with GitHub Actions ~ 利用GitHub Actions实现E2E自动化测试

こんにちは。スタディサプリのQAチームです。 今回のBlogではスタディサプリで実施している自動化テストの一部の取り組みについて紹介させていただきます。 なお、スタディサプリQAチームの特性を活かし、本記事については日英中3言語で記載します。より多…

RAGを使って社内のGitHubリポジトリに散らばっているドキュメントを自然言語で検索できるSlack botを作りました

RAGを使った社内ドキュメント検索Botの構築 こんにちは!スタディサプリのSREをしている@_a0iです。みなさん、生成AI使っていますか〜!? ChatGPT, Graffer AI Studio, Microsoft Copilotなど企業で使える生成AIはさまざまだと思います。 しかし、仕事で生…

スタディサプリ小中高における AI 活用の現在

こんにちは。@chaspy です。スタディサプリ小中高の開発部長をしています。 AI の変化の勢いは凄まじいですよね。この1年で随分環境が変わったように思います。本記事では私たちが AI をどのように活用してきたか、これからどう活用しようとしているかについ…

Flutterによるネイティブアプリのリプレースプロジェクトを完遂しました

こんにちは、モバイルアプリエンジニアの @mtbhiro です。現在はスタディサプリ for SCHOOL(以下 forSCHOOL )1というプロダクトのモバイルアプリ開発を行っています。 Flutter による forSCHOOL アプリのフルリプレースプロジェクトを、2023年8月に Android …

GraphQL Trusted Documents の実装パターンを Signed Query に移行しました (Android編)

こんにちは、Androidエンジニアの@morux2です。スタディサプリ小学・中学講座ではデータ通信にGraphQLを採用しており、開発者が信頼したクエリのみを処理する仕組みとしてTrusted Documentsを実装しています。この度、従来のPersisted QueryからSigned Query…

dep-doctor による archived / not-maintained な依存ライブラリ検出の仕組み

こんにちは。@chaspyです。技術戦略グループのマネージャをしています。 本記事では dep-doctorという依存ライブラリのメンテナンス状態をチェックするツールを活用した事例を紹介します。 依存ライブラリのメンテナンス状態を確認したい スタディサプリ小中…

スタディサプリ中学講座で市区町村データの更新を行いました

こんにちは。教育支援小中高プロダクト開発部の @mtgto です。スタディサプリで小中学生向けサービスのバックエンド開発を担当しています。 今回は業務上で行った市区町村のデータの更新作業でわかった市区町村の再編処理について紹介します。 スタディサプ…

Signed Query は GraphQL の Trusted Document の新しい実装パターンです

こんにちは。スタディサプリの小中新規開発チームで Web エンジニアをしている @YutaUra です。 去年の4月に新卒で入社をしまして約 1 年が経ちました。インターン生時代にもブログを書いているのでご興味あれば合わせてご覧ください。 GraphQL と Persiste…

鼻をきかせろ!エンジニアバックグラウンドのないTPMが出せる価値について

こんにちは、スタディサプリTPM(Technical Product Manager) *1 の nozomikajimoto です。 突然ですが、私はエンジニアのバックグラウンドがありません。スタディサプリのTPMはエンジニア経験のあるメンバーがほとんどなので、少し変わったタイプだと自負し…

Amazon アプリストアでスタディサプリ小学・中学講座を公開するまで

スタディサプリ小学・中学講座を開発している Android エンジニアの @maxfie1d と @omtians9425 です。 2024年2月26日にスタディサプリ小学・中学講座をAmazonアプリストアにて配信を開始致しました。 すなわち今後は Fire タブレット においてもスタディサ…

スタディサプリ最大のRailsアプリケーションにYJIT+pitchforkを導入してメモリ使用量を劇的に削減するまで

こんにちは。SREのkyontanです。Rubyが大好きなのでRubyの話をします。ちなみにリクルートはRubyKaigi 2024へGold Sponsorとして協賛しています! *1。ぜひ沖縄でお会いしましょう。 これはあるアプリケーションのメモリ消費量を示すグラフなのですが、まさか…

エンジニアブランディングチームのご紹介

こんにちは、@chaspy です。エンジニアブランディングチームをやってます。 本記事では、先日参加した LT の紹介を通じて、ブランディングチームの活動内容を紹介していきたいと思います。 LT してきました smarthr.connpass.com こちらのイベントにお邪魔し…

何もしてないのにプログラムが完成する不思議な話

はじめに こんにちは。スタディサプリのiOSアプリの開発に携わっているk-koheyです。突然ですがみなさんは、「なにもしとらんのに壊れた」という言葉を聞いた事はありますか??ソフトウェア開発の現場では、ついさっきまで正常に動いていたプログラムが急に…

Engineering Manager のオンボーディング

こんにちは、@chaspyです。プロダクト開発部の部長をしています。 スタディサプリ小中高の開発組織では、Engineering Manager (以降 EM と記す) という役割があります。*1 その役割は、エンジニアリングマネージャ/プロダクトマネージャのための知識体系と読…

スタディサプリ小学・中学講座にRoborazziを導入して半年が経過しました

こんにちは、Androidエンジニアの@morux2です。 スタディサプリ小学・中学講座では、Visual Regression Test (以下 VRT)を実施しています。VRTは画像比較によるUIの回帰テストです。変更前後のコードそれぞれに対する画面のスクリーンショットを比較し、意図…

技術戦略策定のための Fact 収集術

こんにちは。@chaspy です。プロダクト開発部の技術戦略グループのマネージャをしています。 技術戦略グループでは、日頃開発する上での課題の投げ込みや議論、解決するための計画をボトムアップで行っています。技術戦略グループの活動については過去のアウ…

A/B テストによるプロダクトエンハンスを支援する PLG(Product Led Growth) Team のご紹介

こんにちは。@chaspy です。本記事で紹介するスタディサプリ中学講座の PLG(Product Led Growth) Team の Engineering Manager をしています。 本記事では、2023年2月に結成したこのチームの活動について紹介します。 スタディサプリ中学講座について PLG Te…

detekt × Dangerで、プルリクコメントにルール名を表示する

こんにちは。スタディサプリ Androidエンジニアの@morayl です。 本記事では、Kotlinの静的解析ツールであるdetektの解析結果をDangerでプルリクにコメントする際に、ルール名も一緒にコメントするためにしたことを紹介します。 Dangerの基礎言語であるRuby…