2021-01-01から1年間の記事一覧
こんにちは。SRE の @int128 です。 先日の「負荷試験、Gatling を使ってやってみた」で紹介したように、スタディサプリではユーザ体験の改善や本番障害の予防を目的に負荷試験を行っています。 本稿では、SRE と Product Team がどのようにして一緒に負荷試…
データエンジニアの@masaki925 です。 私が所属するデータ組織では、スタディサプリ本体に対して検索やレコメンドなどのデータプロダクトをマイクロサービスとして提供しており、その多くはPython がメイン言語です。 またデータ基盤としてBigQuery をはじめ…
こんにちは。スタディサプリのコーチング開発チームでWeb Engineerをしている@mpls104です。 今回は、私が実際に利用した社内留学制度について、体験談を交えつつ紹介をします。 なお、本制度は株式会社リクルート全体の制度ではなく、スタディサプリの開発…
StudySapuri + Gatling = ♥
スタディサプリのコーチングサービス (合格特訓コース、個別指導コース) 開発チームで Engineering Manager をしている @pankona です。 最近弊チームで取り入れている Autify の良さについて紹介します。 TL;DR 弊チームでは最近 E2E テストとして Autify …
不要な Swift コードを静的解析で安全かつ継続的に消していく こんにちは、iOS エンジニアの @manicmaniac です。 現在スタディサプリ iOS アプリ開発チームのエンジニアリングマネージャをしています。 スタディサプリ iOS アプリは開発開始から7年以上が経…
こんにちは。 Engineering Manager の @kojoma です。普段はスタディサプリの学校向けサービスを開発しているチームに所属しています。 私事ですが2021年3月に子どもが生まれ、子育てをしながら日々業務をしています。育児休業を取得したというブログ記事は…
こんにちは。 SRE の @suzuki-shunsuke です。 HashiTalks Japan 2021 で登壇させていただきました。 HashiTalks Japan 2021 とは HashiCorp が主催するコミュニティ向けのイベントです。 Terraform や Vault など、 HashiCorp の様々なプロダクトに関して自…
おばんです、Web Engineer の @ravelll です。 Prisma の Interactive Transactions を利用して複数の Prisma のクエリを含む処理をアトミックにするような変更を最近行ったので、それについての話を書きます。 Prisma とは? Prisma を触ったことがない人も…
スタディサプリにおけるMongoDB運用のポイントを解説
こんにちは iOS エンジニアの @_nkmrh です。 先日 iPhone 13, iPad mini 等が発表されましたね!私は手元の iPhone がまだ現役なので購入の予定はないのですが、Apple Store で見られるのが楽しみです...! 新型 MacBook Pro の発表もそろそろとの噂でそちら…
こんにちは、iOSエンジニアの @motoshima1150 です。 iOSDC Japan 2021の「スタディサプリ」がFull SwiftUIを選択した先に見えてきたもの。のトークセッションで収まりきれなかったTipsを紹介いたします。 はじめに 本記事では、Spotlight機能の実装方法につ…
こんにちは。iOS エンジニアの @wadash です。 今回は iOSDC Japan 2021 のセッション「スタディサプリ」がFull SwiftUIを選択した先に見えてきたもの。で紹介した、 SwiftUI におけるアニメーションの実装方法方法について詳しく解説します。 SwiftUI のア…
こんにちは、iOSエンジニアの @chuymaster です!iOSDC Japan 2021の「スタディサプリ」がFull SwiftUIを選択した先に見えてきたもの。のトークセッションの時間の都合上、ご紹介できなかった「全画面モーダルを重ねる」実装方法をご紹介します。 全画面モー…
こんにちは、iOSエンジニアの @chuymaster です!iOSDC Japan 2021の「スタディサプリ」がFull SwiftUIを選択した先に見えてきたもの。のトークセッションで紹介された、プログラムで画面遷移を制御する方法について詳しく解説します。トークで話しきれなか…
こんにちは。SRE の chaspy です。先日オンラインイベントで登壇しました。 quipper.connpass.com 本記事では、その時の発表を完全にブログ化するのではなく、話した内容をベースに、あらためて今我々 SRE Team および開発組織・事業が抱えている課題とその…
はじめに こんにちは。SRE Team の @chaspy です。本日は 日本 CTO 協会が作成した DX Criteria を実施した話をします。 背景: 自己診断能力の獲得に向けて スタディサプリ小中高大のプロダクト開発部では、今年の4月より「技術戦略グループ」という組織を発…
こんにちは。Android エンジニアの @omtians9425 です。 今回は、弊 Android アプリ開発チームで取り組んでいる Visual Regression Test (以下 VRT)の tips 集についてお話しします。 はじめに 弊チームでは、実装初期の段階から unit test に加えて VRT を…
小中高 SRE チームで Engineering Manager をやっている @yuya-takeyama です。 Quipper にはスタディサプリ ENGLISH の SRE である ENGLISH SRE チームと合わせて 2 つの SRE チームがありますが、この記事では自分たち小中高 SRE チームについての話です。…
こんにちは。 SRE の @suzuki-shunsuke です。 Terraform Monorepo の CI にtfmigrate を導入した話を紹介します。 なお、弊社の Terraform Monorepo に関しては過去の記事も参照してください。 Terraform リポジトリをマージして CI/CD を改善した話 - スタ…
こんにちは。Android アプリ開発者の geckour です。 今回は、Android アプリ開発が便利になる Epoxy とそれを利用した入力フォーム作りについてお話しします。 はじめに 弊チームではリスト表示を含む UI の実装の際に、Epoxy を利用しています。 RecyclerV…
こんにちは。 SRE の @suzuki-shunsuke です。 AWS IAM の管理を miam から Terraform に移行した話を紹介します。 なお、 AWS や miam に限らず「Terraform で管理されていない大量のリソースを Terraform で管理する」ことを検討している方には参考になる…
今回はRubyのRubocopの使い方のお話です。 Summary RubocopのLayout, Lint, Metrics, Styleらのcopのほとんどすべてをdisable 潜在的バグ発見に役立つ系のSecurity, Lintのcopの一部をenable rubocop:disable や .rubocop_todo.yml だけゆるく禁止 というル…
こんにちは、Quipper iOS エンジニアの @manicmaniac です。 現在スタディサプリ iOS アプリ開発チームのエンジニアリングマネージャをしています。 今回はスタディサプリで長らく使われていた React Native のコードを Swift に書き換えた話をします。 実は…
こんにちは。SRE の @int128 です。 Quipper の SRE チームでは、Platform の安定運用や改善だけでなく、Platform を利用する Developer のサポートも重要な仕事と位置付けています。 SRE チームで工夫していることを紹介します。 Issue に記録を残す SRE チ…
レコメンドシステムのJenkins 部分をAI Platform Pipeline (以下AIP Pipeline) に置き換えた話です。 最初に導入するにあたっての迷いどころや躓きどころ、反省点など、1事例として紹介できればと思います。
はじめに こんにちは。Data Engineer の @shase です。 弊社ではいくつかのユースケースでCloud Composer(Airflow)を使っているのですが、今回はデータチームで開発している、分析者向けBigQuery SQL実行基盤(社内の通称はSaved Query Workflow)について…
こんにちは。 SRE の @suzuki-shunsuke です。 Google Cloud Platform (以下 GCP) を Terraform で管理するように CI/CD を整備した話を紹介します。 背景 何度か本ブログで紹介したように、弊社では Terraform を使い AWS を始めとする様々なリソースを管理…
こんにちは。Engineering Manager の @wozaki です。 2年前のプロジェクトで、プレモーテム(premortem)を実施した例をご紹介します。 プレモーテムとは、プロジェクト初期にチームで集まり「プロジェクトが失敗したとして、その失敗とは? 原因は? どう対策す…
こんにちは。 SRE の @suzuki-shunsuke です。 AWS の IAM User 作成後に初期パスワードをユーザーに Slack の DM で通知する作業を自動化した話を紹介します。 背景 弊社では AWS を使っており、開発者は入社したらまず自分用の IAM User を作成します。 IA…