タグ

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

  • WebアプリケーションにGoの並行処理アーキテクチャを導入してSLOを改善し、WebAPIを100倍速くした話 - スタディサプリ Product Team Blog

    こんにちは。スタディサプリの小中高プロダクト基盤開発グループでProduct Platform Engineer兼テックリードをやっている@tooooooooomyです。 今回は、WebアプリケーションにGoの並行処理機構を導入してSLOを改善し、WebAPIを100倍速くした話をしたいと思います。 前提条件 システムを0から作らない場合、アーキテクチャの改善の際には前提条件が付きものです。そこでまずは今回のシステムの前提条件をお話します。 対象となるシステムと、アーキテクチャ 今回対象とするシステムは、ここでは security-tracker と呼び、Webアプリケーション体はGoで書かれています。 スタディサプリの各アプリケーションにおけるユーザーのログ1を、Amazon Kinesis Firehoseを通して、リクルート全体のセキュリティチームが管理するS3バケット(スタディサ

    WebアプリケーションにGoの並行処理アーキテクチャを導入してSLOを改善し、WebAPIを100倍速くした話 - スタディサプリ Product Team Blog
    taketyan
    taketyan 2023/10/11
    開発者自身が要件を正しく理解しているからこそできる割り切った設計という感じ / Darklaunch v2 のSLOも気になる
  • UIだけでは足りない「教育サービス」でのデザインの役割とは ~ UX MILK Fest 2019 登壇より ~ - スタディサプリ Product Team Blog

    VP of Design をしております @daitorii です。記事は2019年9月14日に開催された UX MILK Fest 2019 の登壇内容を噛み砕いたセルフ解説ブログとなります(話が長くなりそうなので、グローバルの話は割愛させていただきました)。 はじめに 勉強は面倒くさいものです。私はそう思います。興味のある領域において、知らないことを知る/知識をつけること自体は大好きなんですが、勉強と聞くと途端に面倒くさい。その過程が面倒に感じてしまう。 大切なのは、学習サービスが「面倒なこと」をやり続けてもらわなければいけないものと認識すること、だと私は思います。勉強自体がやりたいことではなくそれは手段であり、ユーザーが欲しいものを手に入れるための過程なのです。 人間は「現在」を過大評価する 「今すぐもらえる10万円」と「1年後にもらえる11万円」どちらを選びますか? 目の前に10

    UIだけでは足りない「教育サービス」でのデザインの役割とは ~ UX MILK Fest 2019 登壇より ~ - スタディサプリ Product Team Blog
    taketyan
    taketyan 2019/11/18
    会社ブログだけどめっちゃ面白かったので珍しくブクマする。教育サービスって面白いよね、と改めて思える内容だった
  • SREの仕事とは? - スタディサプリ Product Team Blog

    皆さんは「SRE」って聞いたことあるでしょうか?近年SREという仕事が広まってきていますが、聞いたことがないという方も多くいらっしゃると思います。聞いたことがある方でも、いまいち掴みづらいと感じているかもしれません。そこでSREのメリットについてもっと多くの方に知ってもらうために、どんな時に役に立つのか、SREが提供できる質的な価値はどんなことなのかを書こうと思います。 SREとは? SREという略語には2つの意味があります。 Site Reliability Engineering Site Reliabitlty Engineer 上はエンジニアリングを下はそれを仕事にする人を表していますが、およそ同じような内容ですので文脈から意味は捉えることができると思います。 ぼくはQuipperでSREをしている深尾もとのぶ(@moto_f)と言います。過去には開発者、インフラエンジニア、運用

    SREの仕事とは? - スタディサプリ Product Team Blog
  • Working Out Loud 大声作業(しなさい)、チームメンバー同士でのトレーニング文化の醸成 - スタディサプリ Product Team Blog

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

    Working Out Loud 大声作業(しなさい)、チームメンバー同士でのトレーニング文化の醸成 - スタディサプリ Product Team Blog
  • yatteiki.fmスポンサーの舞台裏 - スタディサプリ Product Team Blog

    やっていき手の@hotchemiです。 現在、新気鋭podcast集団yatteiki.fm様との協賛企画が絶賛進行中です。Ep55, 56の感想を#yatteikifmハッシュタグをつけてツイートすると抽選で30名様にオリジナルボールペンをプレゼントという事ですので是非是非感想をツイート頂ければと思います! 【プレゼントキャンペーン実施中🍁】 リスナー感謝企画!30名様にオリジナルボールペンをプレゼント! 応募方法は #yatteikifm をつけて55, 56回の感想ツイートをするだけ。 企画はQuipperさんのご協賛で実現しました。勉強の秋、このペンと一緒に積ん読を崩しましょう! 👉https://t.co/h4A4fbrMfx pic.twitter.com/TSfnFEsRGA— yatteiki.fm やっていき手のためのPodcast (@yatteikifm) Se

    yatteiki.fmスポンサーの舞台裏 - スタディサプリ Product Team Blog
    taketyan
    taketyan 2018/09/10
    僕の若干ネットストーカーっぽくてキモいコメント (の割には事実誤認っぽい) コメントが公にw (事前に確認受けてます) / #yatteikifm のお気に入りのエピソードは #9 健康の美少女生活
  • React Nativeハイブリッドアプリへの挑戦 ~Part1: Monorepo/CI~ - スタディサプリ Product Team Blog

    エントリは3部作のPart1となっております。 Part1: Monorepo/CI Part2: 導入/Bridge Part3: 振り返り/今後 モバイルエンジニアの@hotchemiです。 数週間前にReact Native at Airbnb(非公式の日語訳)が世間を賑わせましたが、皆様いかがお過ごしでしょうか。 弊社でもここ数ヶ月Nativeで書かれたスタディサプリのiOS/AndroidアプリにReact Nativeを部分的に導入していく、いわゆるハイブリッドアプリ開発体制に挑戦しており、そこで得られた知見を何回かに分けて公開していければと思います。 Goals まず、なぜハイブリッドアプリという選択をしたのかについて、我々が目指していたゴールは以下の様なものです。 モバイルエンジニア不足の解消 Quipperは元々Webエンジニアの数が多い一方でモバイルエンジニアの人数

    React Nativeハイブリッドアプリへの挑戦 ~Part1: Monorepo/CI~ - スタディサプリ Product Team Blog
    taketyan
    taketyan 2018/07/02
    Quipper サーバサイドも Monorepo に変わりつつありますが、変更を検知して conditional にテストを実行する、とかは Circle CI で仕組みを用意してほしい
  • プロダクトの「負債」を「機能」と呼び直す 〜A/Bテストを用いた"価値"の定量化〜 - スタディサプリ Product Team Blog

    Quipper で Web Engineer 兼 Engineering Manager を務める @ohbarye です。スタディサプリの開発、その中でも特に合格特訓コースや決済周りの機能開発・保守が主な業務です。 弊社が開発するプロダクト「スタディサプリ」ではA/Bテストを用いたプロダクトの改善を行っています。Quipper の行動指針の一つに "Fact based" という言葉が含まれており、憶測や独断ではなく計測されたデータや事実に基づいて意思決定することが強く推奨されているためです。 このたびスタディサプリにおいて負債と考えられていた機能を「消してよいかどうか」、A/Bテストを通して判断しました。その際に用いた手法や結果、そこから見えたこと、考えたことをご紹介します。 プロダクトの負債とは プロダクトチームにとって負債と考えられていたのは「キャリア決済」という決済手段でした。そ

    プロダクトの「負債」を「機能」と呼び直す 〜A/Bテストを用いた"価値"の定量化〜 - スタディサプリ Product Team Blog
    taketyan
    taketyan 2018/06/01
    いい話。合わせて読みたい: https://twitter.com/kenn/status/1002329385154646016
  • QuipperにおけるReact Native活用事例 - スタディサプリ Product Team Blog

    この記事はReact Native Advent Calendar 2017の5日目の記事です。 こんにちは。モバイルエンジニアの@hotchemiです。 今回はQuipperにおけるReact Native活用事例に関して紹介したいと思います。 目次 導入の背景/効能 開発におけるメリット/デメリット リリースサイクル 技術スタック おわりに 導入の背景/効能 Quipperが開発しているスタディサプリでは合格特訓プランという現役大学生コーチによる学習伴走サービスを提供しており、コーチとユーザーのコミュニケーションをより円滑にする為にメッセージ機能をベースとした業務補助iOSアプリの開発を実施する事になりました。 最初のバージョンこそSwiftで開発を進めていたものの以下の組織的・技術的な課題に直面した為、React Nativeを用いた開発に方針転換し現在では運用が軌道に乗っています。

    QuipperにおけるReact Native活用事例 - スタディサプリ Product Team Blog
    taketyan
    taketyan 2017/12/05
    React Native と TypeScript って結構チャレンジングなのでは、と思いながらだったけど、結果的にびっくりするぐらいいい感じにリリースできたので、今は割といいタイミングだと思った
  • インドネシアから見たQuipperのプロダクト開発 - スタディサプリ Product Team Blog

    自己紹介とインドネシア進捗 こんにちは、Quipper創業メンバーで、現在Quipper Indonesiaのカントリーマネージャーをやっている間拓也です。簡単に、(プロダクトブログですので)インドネシア展開の現状についてプロダクトチームとの関わりも含めて、ご紹介させていただければと思います。 Quipperはもともとイギリスで創業された会社なのですが、2014年からアジア展開をしてきました。そのあたりの温度感に関しては以前Wantedlyブログなどに書いたので、ご参照ください。 ・「ユーザーと共創する」 ・「異文化の組織を成長させるために大事にしている3つのこと」 ・「新興国で急成長する「Quipper」の躍進」 フィリピン、インドネシア、ベトナム、タイ、メキシコ、といった国々でQuipperを展開していますが、その中でも2016年はインドネシアで大きく組織を拡大しました。40人程度の

    インドネシアから見たQuipperのプロダクト開発 - スタディサプリ Product Team Blog
    taketyan
    taketyan 2016/12/27
    ところどころリクルート用語と CEO 用語 (?) っぽいのが混じってる
  • デザインチームの紹介 - スタディサプリ Product Team Blog

    こんにちは、デザインチームの宇賀神です。 Quipperに入社して3年半、QuipperSchoolの立ち上げからスタディサプリのリリースまで、慎ましく従事してきました。ロンドンオフィス所属のため、普段はリモートにて各国のデザイナーや開発チームとやりとりしています。 このたびWantedlyにてモバイルUIデザイナーの募集をはじめましたので(2016年12月時点)、「採用目的」と宣言されていますこちらのブログにて、より詳しく弊社のデザインチーム(特にモバイルUIデザイナー)の環境についてざっくりと紹介したいと思います。 チームの今 Quipperのデザインチームには世界6カ国に9人が在籍しており、大きくプロダクトチームとグラフィックチームに分かれています。プロダクトチームは主にアプリケーションのUI/UXデザイン、グラフィックチームは各国のマーケティングマテリアルの作成が主な担当業務です。

    デザインチームの紹介 - スタディサプリ Product Team Blog
    taketyan
    taketyan 2016/12/20
    UI デザイナーの皆さん!
  • グローバルサービスでのタイムゾーンとの向き合い方 - Quipper Product Team Blog

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

    グローバルサービスでのタイムゾーンとの向き合い方 - Quipper Product Team Blog
    taketyan
    taketyan 2016/12/12
    ユーザからの入力をどのタイムゾーンで扱うべきか、が特に難しい
  • Quipperで働く環境・制度について - スタディサプリ Product Team Blog

    こんにちは、Quipper Ltd.人事の松尾です。 先日、面接・面談の場で利用している会社紹介のスライドをGitHubで公開しました。 ブログもそうですが、Quipperのことをもっと知りたいと思ってくださっている方に向けて、どんどん情報を公開していきたいと思っています。 それは、情報の透明性がQuipperが大事にしている文化の一つですし、そうすることによって、みなさんの時間を無駄にすることなく、ありのままのQuipperを良いと思ってくださる方に選考を受けて頂けるからです。 なので今回は、面接・面談時に質問が多いものを中心に、環境と制度についてご紹介したいと思います。 Quipperで働くイメージが少しでも湧いたら幸いです。 リモートワークができるか たまに聞かれるのですが、Quipperにリモートワーク制度というものはなく、基的にはオフィスに出社となります。それは、チームで働く

    Quipperで働く環境・制度について - スタディサプリ Product Team Blog
    taketyan
    taketyan 2016/12/05
    大雨とか大雪でミーティングも特になければ家でやる派
  • Quipper Handbook を公開しました - スタディサプリ Product Team Blog

    Web Developer の長永です。 Quipper に興味を持っているエンジニアの方に向けて、面接・面談の場で利用している会社紹介のプレゼンテーションスライドに説明をそえたドキュメントを GitHub で公開しました。 Quipper Handbook Quipper はロンドンで創業し、海外を中心にサービスを展開してきたので、日でのサービスの知名度はいまひとつでした。そのため、面接・面談の場では時間をかけて会社やプロダクトを紹介していたのですが、会社紹介に時間がかかりすぎる傾向がありました。 面接・面談の時間は貴重なので、できればその場でしかできないことに使いたいですし、すでに Quipper のことを知っている方にとっては、同じ内容を改めて説明するのは冗長です。そこで、会社紹介の際に利用しているプレゼンテーションスライドに説明をそえたドキュメントをあらかじめお伝えし、目を通して

    Quipper Handbook を公開しました - スタディサプリ Product Team Blog
    taketyan
    taketyan 2016/11/24
    英語版もさっき公開されました
  • Developerの問い合わせ対応との関わり方 - スタディサプリ Product Team Blog

    Web developer の @wozaki です。 MacBook Proの到着を楽しみに日々を過ごしています(ちなみにTouch Bar無しです) 今回は、問い合わせ対応について紹介します。 プロダクトの運用で必ず発生するのが、ユーザからの問い合わせです。 ユーザは、プロダクトの挙動が期待する結果と異なる事に対して不満、疑問をいだき問い合わせに至ります。 素早くユーザの不満や疑問を解消することは、ユーザと長期的に良好な関係を保つために不可欠です。 そのため、問い合わせ対応は重要な業務の一つです。 以下、Web developerを中心に、どのように スタディサプリ高校講座/大学受験講座 の問い合わせに関わっているのか紹介します。 全体概要 問い合わせがWeb developerに届くまで まず問い合わせは、カスタマーサービスや営業*1に届きます。 カスタマーサービス・営業は、過去の類

    Developerの問い合わせ対応との関わり方 - スタディサプリ Product Team Blog
    taketyan
    taketyan 2016/11/15
    渋い
  • Quipper におけるリリース作業の負荷を分散するための取り組み - スタディサプリ Product Team Blog

    Web Developer の @yuya-takeyama です。 入社から 1 年と少し経ちました。 Quipper School/スタディサプリ高校講座/大学受験講座の Web 開発を担当していて、帰宅前にバッティングセンターに通うのがほぼ日課です。 今日はリリースに関する話を書きますが、デプロイの自動化とかそういった話ではなく、もうちょっと泥臭い話です。 リリースまでの流れ 前提として、Quipper では番環境へのアプリの自動デプロイはあまり行っていません。 カスタマーサポート用の社内アプリ等は GitHub での master ブランチへのマージ時に自動デプロイを行っていたりもしますが、 エンドユーザ向けのアプリは週に一度、以下のような流れで行います。 その週のリリースに必要な機能が揃ったところでリリース用のブランチを作成し、リリーステスト用の環境にデプロイ テストケースに沿

    Quipper におけるリリース作業の負荷を分散するための取り組み - スタディサプリ Product Team Blog
    taketyan
    taketyan 2016/10/31
    会社ブログ書きました!地味なネタかもですが
  • QuipperにおけるTerraformの運用 - スタディサプリ Product Team Blog

    こんにちは、Engineeringチームの石村(kamatama41)です。Engineeringチームの主な役割はインフラ構築や監視、パフォーマンス改善などのいわゆるDevOpsやSREと言われる領域になります。 Quipperでは現在グローバル向けであるQuipper (School, Video)と日向けのスタディサプリという二つのプロダクトを運用しており、それらのプロダクトはAWS上に構築され、Terraformを使って構成管理をしています。そこで、私達がTerraformを運用するために工夫している点を紹介したいと思います。 Terraformとは? Vagrantなどを提供するHashiCorp社製のインフラ構成管理ツールで、AWSGCPなどが提供している各種クラウドサービスをリソースという単位で構築、コード化出来るツールになります。 (AWSのEC2インスタンスを5台立ち

    QuipperにおけるTerraformの運用 - スタディサプリ Product Team Blog
    taketyan
    taketyan 2016/10/26
    趣味 S3 バケット増えてきたから Terraform で管理するようにしたいな
  • Treasure Data から大量のデータを MongoDB にインポートする話 - スタディサプリ Product Team Blog

    こんにちは。今年の6月に入社した Web Developer の田中です。 Quipper ではデータの収集に Treasure Data(以下 TD) を使っています。今回、収集したデータの一部(数千万件ほど!)を MongoDB にインポートする必要があったので、その時にやった事をまとめました。 tl;dr TD に数千万件あるデータを MongoDB にインポートする必要があった Ruby で愚直に書いたらリソースを使いきってサーバが落ちた Engineering チームと協力して、サーバ強化+別インスタンス化、コードの省メモリ化を行い、無事にインポートできた 概要 以下のような事をやりました。 まず、TD で必要なデータを出力する JOB をつくる Rake タスクで、以下を行う JOB ID を指定してデータをダウンロード ダウンロードしたデータを MongoDB に突っ込む つ

    Treasure Data から大量のデータを MongoDB にインポートする話 - スタディサプリ Product Team Blog
    taketyan
    taketyan 2016/10/14
    完全にわかる "Engineering チームの方々がいる事で、Web Developer として安心してやりたい事に集中できるので、大変良い環境" / id:youhei_nak クエリでの表現が難しく、Ruby でも処理を重ねる必要があったようです
  • なぜこのブログは「エンジニアブログ」ではなく「プロダクトチームのブログ」なのか - スタディサプリ Product Team Blog

    Web developer の長永です。 このブログは「Quipper プロダクトチームのブログ」という名前です。よくある「エンジニアブログ」ではありません。聞き慣れない名前にしたのにはわけがあります。 まず、「プロダクトを作っているのはエンジニアだけではない」ということ。Quipper ではエンジニアもデザイナーもプロダクトマネージャーも、プロダクトチームの一員です。役割に応じて仕事内容は異なるものの、全員が良いプロダクトを作ってユーザーに提供することに高い関心を持っています。エンジニアだけでなく、様々な役割の人たちの言葉で「Quipper のプロダクト開発とは何か」を語る場にしたい、という想いがあります。 また、以前から「Quipper の CTO やエンジニアのブログを読んで興味を持った」と言っていただくことが多くありました。なかでも反響が大きかったのは、開発組織のあり方やエンジニア

    なぜこのブログは「エンジニアブログ」ではなく「プロダクトチームのブログ」なのか - スタディサプリ Product Team Blog
    taketyan
    taketyan 2016/10/06
    わかりすぎる > "以前から「Quipper の CTO やエンジニアのブログを読んで興味を持った」と言っていただくことが多くありました"
  • Quipperの近況アップデート + 積極採用再開 - スタディサプリ Product Team Blog

    今回、Quipperでは積極的な採用活動を再開し、それにあわせてこの公式ブログを開始することになりました。CTOの中野です。 まず、前回、今年の初旬に、積極採用活動をしていたときに書いたものがいくつかあるので置いておきます。 Quipperの今 Quipper開発チームに入って欲しい人 Quipperの開発体制の今 スタディサプリ開発の裏側 Quipperは歴史的に採用活動の波が結構大きいのですが、前回は今年の頭くらいに大々的に行い、それにあわせてブログを頻繁に更新したのですが、目標の採用数に達したのでまた静かになっていました。潔い「採用目的」です。 今回、積極採用モードに再度入るにあたり、この日語の公式のブログを作ってみんなで更新してみることにしました。余談になりますが、Quipperの採用活動、人事の人に手伝ってもらいながらも基的には開発者主体で行っています。今回のブログを作るとい

    Quipperの近況アップデート + 積極採用再開 - スタディサプリ Product Team Blog
    taketyan
    taketyan 2016/09/29
    Product Team のブログはじまりましたよ
  • 1