Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Quipperにおける将来の学習データを支える基盤づくり

atkak
February 08, 2019

 Quipperにおける将来の学習データを支える基盤づくり

2019年2月8日にTECH PLAY Shibuya で行われた [ スタディサプリ/Quipper Product Meetup #2 〜64万人が利用する教育サービスを作る技術と育てる技術〜 ] のイベント登壇資料です。

atkak

February 08, 2019
Tweet

Other Decks in Programming

Transcript

  1. #sapurimeetup Quipperにおける将来の学習データを支える基盤づくり Agenda | 01 02 03 04 05 自己紹介

    学習データドメインにおける課題 課題解決の技術的アプローチ Microservices と負債 Microservices とチーム 2
  2. #sapurimeetup Quipperにおける将来の学習データを支える基盤づくり 学習データについて ➔ ユーザーの学習状況を表す各種データ ➔ サプリ / Quipper のコアドメインのひとつ

    ➔ 講義の視聴や問題に対する回答など、ユーザーのアクションを表現するイベ ントを元にデータを作っている 5
  3. #sapurimeetup Quipperにおける将来の学習データを支える基盤づくり @impl GenServer def handle_cast({:aggregate, event}, acc) do //

    ストリームで流れてきたイベントを // 前回流れてきたイベントまでを集計した中間状態とあわせて集計 %Calculator.Result{ accumulator: new_acc, entity: some_entity, timeseries: some_timeseries } = Calculator.process(event, acc, current_datetime) // 集計結果を書き込み with :ok <- EntityWriter.put(some_entity), :ok <- TimeSeriesWriter.put(some_timeseries) do KinesisConsumer.check_out(event) {:noreply, {id, new_acc}} end end 15
  4. #sapurimeetup Quipperにおける将来の学習データを支える基盤づくり ➔ 独立したプロダクトチームによる開発・運用 ◆ プロダクトマネジメント面や一部インフラの運用も含む ◆ “You build it,

    you run it” - Werner Vogels ➔ クロスファンクショナルなチームへ ◆ 心理的安全性とチーム開発を通した学び Microservices とチーム 27