ブックマーク / blog.studysapuri.jp (12)

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

    こんにちは。SREのkyontanです。Rubyが大好きなのでRubyの話をします。ちなみにリクルートはRubyKaigi 2024へGold Sponsorとして協賛しています! *1。ぜひ沖縄でお会いしましょう。 これはあるアプリケーションのメモリ消費量を示すグラフなのですが、まさかgemを入れ替えるだけでこんなに嬉しい変化が見られるとは思っていませんでした。今日はそんなgemの話をします。 話は遡って2023年4月のある日、インターネットを眺めていたところ、ShopifyがpitchforkというOSSを公開したという情報が目に留まりました。 調べてみると、どうやら著名なRackサーバー実装の1つであるunicornの派生版であり、メモリ使用量の削減に特化しているらしいのです。 github.com これはスタディサプリ小中高のあのリソースドカいマイクロサービス第一位である api

    スタディサプリ最大のRailsアプリケーションにYJIT+pitchforkを導入してメモリ使用量を劇的に削減するまで - スタディサプリ Product Team Blog
  • 社内技術ドキュメンテーションを科学する - スタディサプリ Product Team Blog

    最終更新日: 2024年05月07日(火) 1. ご挨拶 2. 記事執筆のモチベーション 3. ワークショップを通じて得たフィードバック 3-1. Pains -過去抱えた/現在進行形で抱えている辛み- 3-2. Approaches/Solutions -Pains を解消するために取った方策や導き出した解決策- 3-2-1. えいやで場所を決め打ちしてしまう(e.g., GitHub Wiki + Google docs しか使わない) 3-2-2. 個人的に、2023/12/05時点で〜みたいな書き方を心がけている 3-3. Tips -効果的な手法- 4. オーディエンスからの反響 4-1. 気づきや学び・NEXT ACTIONS 4-2. プレゼンター(@hayat01sh1da)へのフィードバック 4-3. Slack での反応 5. おわりに 1. ご挨拶 初投稿となります

    社内技術ドキュメンテーションを科学する - スタディサプリ Product Team Blog
  • SRE チームを支えるふりかえりの文化 - スタディサプリ Product Team Blog

    こんにちは。SRE チームの@chaspy です。 記事では私の所属する SRE チームにおける「ふりかえり」の文化を紹介します。 背景 最近のチームのふりかえり会 *1 で僕自身が以下のようなコメントを"Keep"として出しました。 これは、単にこのふりかえり会が継続している、という意味に留まりません。あらゆる物事に対してふりかえりが行われ、改善サイクルが高速に回っていると感じます。それはチームメンバー全員が以下の価値観で仕事を進められているからだと思います。 あらゆる問題、取り組み、事象について「それは当に必要か?」「それはなぜやるのか?」といったことを問うことができる。いわゆるクリティカルシンキング。 あらゆる問題に対して、建設的・前向きに、他者や何かを否定することなく、より良い案を言葉にして提案できる。建設的思考。blameless。 やることにコストがかからず、やらない理由が

    SRE チームを支えるふりかえりの文化 - スタディサプリ Product Team Blog
  • Terraform の CI を AWS CodeBuild から GitHub Actions + tfaction に移行しました - スタディサプリ Product Team Blog

    こんにちは。 SRE の @suzuki-shunsuke です。 Terraform の CI を AWS CodeBuild (以下 CodeBuild) から GitHub Actions + tfaction に移行した話を紹介します。 これまでの Terraform Workflow (CodeBuild) 弊プロダクトの Terraform の CI に関しては過去の記事でも何度か紹介していますが、 元々 CodeBuild 上で CI を実行していました。 かつては CircleCI 上で実行していましたが、 CodeBuild に移行しました。 blog.studysapuri.jp CodeBuild に移行した理由は大きく 2 つありました。 Security 永続的な Access Key を発行することなく AWS のリソースを管理できる GCP に関しても Wor

    Terraform の CI を AWS CodeBuild から GitHub Actions + tfaction に移行しました - スタディサプリ Product Team Blog
    kinushu
    kinushu 2022/02/04
  • 差し込みの多いプロダクト開発のスケジュールの精度を上げるためにはバーンアップチャートがおすすめです - スタディサプリ Product Team Blog

    こんにちは。 今回は差し込みの多いプロダクト開発におけるスケジュール精度の上げ方として、バーンアップチャートの利用をおすすめしたいと思います。 どんな人に読んでほしいか Product GrowthやEnhancementに携わっているけど、やることが多くて思ったように進捗が管理できない人 ↑のようなProduct Manager(PdM)やProject Manager(PjM)とのコミュニケーションが多いけど、期待に対してうまく動いてくれないことをもどかしく思ってる方 TL;DR 3ヶ月や6ヶ月程度でタイムボックスを切りましょう タイムボックスの中でやりたいことを全部リストアップして見積もりをしましょう 終わったタスクのcloseと新規タスクのリストアップを繰り返すと、自然と「やりたいことが全部できるのかどうか」が見える化します バーンアップチャートとは 下記のようなものです。 図中の

    差し込みの多いプロダクト開発のスケジュールの精度を上げるためにはバーンアップチャートがおすすめです - スタディサプリ Product Team Blog
    kinushu
    kinushu 2021/02/17
  • 退職の作法、あるいはオフボーディング実践入門 - スタディサプリ Product Team Blog

    -0b10日後に最終出社を迎える@ohbaryeです。 最終出社を迎えるにあたって後任の任命や業務の引き継ぎといった退職・離職までの一連の流れを経験したわけですが、なにぶん人生でそうそうあることではないのでしばらくは暗中模索の様相を呈しました。人生において数度あるとはいえ慣れるほど数をこなすわけでもなく、同じ会社ですでに退職を経験された方々、あってほしい"先達"はすでになく。 会社としての事務手続きは整備されていても、どのような振る舞いがより効率的であるのか、退職後も良い信頼関係を築けるのかといった点についてはさほど多く語られていないと気付きました。 この記事では退職・離職までの一連の流れを"オフボーディング"と呼称し、退職が決まってからの効果的な過ごし方を目指してやってきたことについて記述します。 ありふれたビジネスマナー記事にならないように留意したつもりです。 対象読者 退職する人 同

    退職の作法、あるいはオフボーディング実践入門 - スタディサプリ Product Team Blog
  • 障害対応とポストモーテム - スタディサプリ Product Team Blog

    こんにちは。SRE の @chaspy です。 ユーザに価値が提供できなくなってしまうシステム障害は起きてほしくはありませんが、絶対に発生しないとは言い切れません。 そんなシステム障害は、そもそも発生頻度が不定、かつ多くないので、どのように対応すべきかを体系化することは(起きる事象が毎回異なることも相まって)難しいと思います。 記事では、Quipper において、どのように障害対応を行うのか、また、障害発生時の考え方を紹介します。 障害はどのように対処されていくのか 障害発生フロー Quipper では 標準化された障害時連絡のフロー / 障害レベルがあります。 これによって、障害の内容、影響範囲によっては親会社のリクルートマーケティングパートナーズへのエスカレーションが必要であることと、その基準が言語化されました。また、エスカレーション時に送るメールのテンプレートも用意されており、「誰

    障害対応とポストモーテム - スタディサプリ Product Team Blog
  • 異動のおともにスキルマップ - スタディサプリ Product Team Blog

    こんにちは、Web Engineer の @wozaki です。 今回は、スキルマップを私が所属する開発チーム*1に導入した事例をご紹介します。 スキルマップとは、業務で必要なスキル(技術力、業務知識)と、チームメンバーのスキルレベルを一覧にした表です。 スキルマップの例 引用 スキルマップ作成のすすめ | Ryuzee.com 目次 概要 スキルマップ導入の背景 他社の事例とカスタマイズした点 スキルマップ詳細と運用方針 運用結果 まとめ 概要 チームで必要なスキル、メンバーのスキルレベル、志向性が不明だった 個人の志向性を表現できるようにカスタマイズしたスキルマップを導入した 結果 新メンバーにとって、スキル全体が明確になり、チームの役割の理解にも役立った スキル喪失リスクがあるものが明確になり、勉強会などスキル伝承のアクションにつながった 個人の志向性は、スキル伝承時の期待値調整にも

    異動のおともにスキルマップ - スタディサプリ Product Team Blog
  • Working Out Loud 大声作業(しなさい)、チームメンバー同士でのトレーニング文化の醸成 - スタディサプリ Product Team Blog

    ソフトウェアエンジニアリングと一見関わりはなさそうで、しかしチームで成果を出す過程においてとても重要だと筆者が考えているコンセプト、 "Working Out Loud" について書いてみます。 日語の記事がほとんど見当たらないのであまり知られている言葉ではないかもしれません。 対象読者 以下に興味や関心を持つ方を対象読者として想定しています。 チーム開発におけるコラボレーション手法 チーム開発者としての振る舞い方 テックリードやスペシャリストの育成 が、心ではチーム開発する全ての方に届いてほしいです。 まえがき ある夜に同僚の@ujihisaと近場ないし遠方のEngineering ManagerやVPofEの皆さんと話す機会があり、その折にふと筆者がこぼしたのが 「開発などの日常の業務において自分がやっている以下の思考様式が大変便利なので、この考え方を最近入社したメンバーにもインス

    Working Out Loud 大声作業(しなさい)、チームメンバー同士でのトレーニング文化の醸成 - スタディサプリ Product Team Blog
    kinushu
    kinushu 2018/11/16
  • Kubernetes導入で実現したい世界とその先にあるMicroservices - スタディサプリ Product Team Blog

    はじめに CTO兼SREエンジニアリングマネージャーの中野です。ここしばらくの間、CTO/SREエンジニアリングマネージャーとして注力しているKubernetes導入について紹介したいと思います。 今回は、Kubernetes自体がどういうものなのかということより、それをツールとしてどう使い、それでどういう世界を実現したいのかみたいなところを中心に紹介できたらと思います。 まず現在の状況ですが、Quipperでは、大きく分けてスタディサプリの小中高校生向けと日以外向けの2つのサービスを展開しています。サービスとしての構成はほぼ同じですが、基盤としては別々のAWSアカウントで運営されています。このうち日国外向け環境では、Kubernetes化がほぼ完了というステータスになっています。目下、スタディサプリも移行中です。 Kubernetes化以前は、Deis(Herokuクローン的なもの)

    Kubernetes導入で実現したい世界とその先にあるMicroservices - スタディサプリ Product Team Blog
    kinushu
    kinushu 2018/08/23
  • モバイルエンジニアが H.265/HEVC 使った方がいい理由(わけ) - スタディサプリ Product Team Blog

    こんにちは。モバイルエンジニアの@daisukefujiです。 少し前になりますが、WWDC 2017 にてH.265/high-efficiency video coding(HEVC) のサポートが発表されました。 iOS デベロッパーの方はご存知だと思いますが App Store審査ガイドライン に以下のビデオストリーミングコンテンツについての規定があります。 2.5.7 携帯電話ネットワークを介した10分以上のビデオストリーミングコンテンツにはHTTP Live Streamingを使用し、ベースラインの192 kbpsのHTTPライブストリーミングを含める必要があります。 ここで唐突に「ベースライン」という用語が使われていますが、これは「H.264 Baseline profile」もしくは「MPEG-4 Part 10 Advanced Video Coding の Basel

    モバイルエンジニアが H.265/HEVC 使った方がいい理由(わけ) - スタディサプリ Product Team Blog
    kinushu
    kinushu 2018/06/13
  • グローバルサービスでのタイムゾーンとの向き合い方 - Quipper Product Team Blog

    Web developer の大庭 (@ohbarye) です。 今回はタイムゾーンにまつわるお話をしたいと思います。 タイムゾーンは私が Quipper に入社したばかりの頃に最も頭を悩ませたことの一つです。入社以前にはタイムゾーンを跨ぐようなグローバルなアプリケーションの開発を全くしてこなかったので、まさにゼロから学び、考え、そしてハマりました。今でも気を抜くとハマりそうです。 入社からおよそ1年。この間に得た経験と知識を活かし、タイムゾーンと向き合うテクニックをまとめてみたいと思います。 目次 はじめに 前提 - Quipper のご紹介 難しさ 現在時刻を扱う問題 言語、フレームワークの実装 認知の問題 タイムゾーンを考慮した設計の問題 解法 基的な考え方 デフォルトタイムゾーンを設定する PostgreSQL Rails タイムゾーンを意識した設計 タイムゾーンを意識したプログ

    グローバルサービスでのタイムゾーンとの向き合い方 - Quipper Product Team Blog
    kinushu
    kinushu 2016/12/05
  • 1