Studysapuri Product Meetup #2 を開催しました! #sapurimeetup

こんにちは! 採用担当の haruka です。 2019-2-8(金)に「StudySapuri/Quipper Product Meetup #2 〜64万人が利用する教育サービスを作る技術と育てる技術〜」を開催しました。

f:id:quipper-ja:20190212125233j:plain

https://techplay.jp/event/715007

7月に同イベントの第1弾を開催しており、今回は第2弾の開催です。 前回のイベントについてはこちらをご覧ください。

https://techplay.jp/event/680406

今回も多くの方よりご応募をいただき、大変感謝しております。 本エントリーでは、当日いらっしゃることのできなかった方や、来ていただいた方への再確認を兼ねて、各登壇者の発表資料をご紹介します。

講演内容

1.グローバルサービスでのデザインリニューアルプロセス

登壇者:鳥居 大

概要:受験サプリからスタディサプリへの移行、グローバル展開するQuipperとのシステム統合を経てさまざまな負債を抱えたプロダクト。増改築を繰り返した家のような構造にはデザイン面での制約も多くありました。言語やコンテンツ構造の異なるプロダクトでどのように設計していったのか、デザインシステムへの考え方、グローバルメンバーとの協業など、エモい話を中心にお送りしました。

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

登壇者:掛川 敦史

概要:Quipperのシステムにおけるコアドメインの1つである学習データ。ユーザーのアクティビティを元に集計され学習状況に関する様々な情報を表現するこのデータは、プロダクトの成長に伴うシステムの増改築によって技術的な課題を抱えています。組織全体としてシステムをmicroservicesへと移行していく流れの中で、この課題をどのように解決しようとしているのか、その現在進行形の取り組みについて技術的なアプローチにフォーカスしてお話ししました。

3.動画視聴ログの実装について

登壇者:長谷川 浩平

概要:スタディサプリには約4万本の動画があります。現在2000校以上の高校にスタディサプリは導入されていて、宿題としてスタディサプリで動画視聴が課されている学校もあります。そのためどのように動画視聴をしたというデータを安全にクライアントからサーバに送るべきかが重要になります。失敗事例等も含めてお話ししました。

4.ExoPlayerの倍速再生への道のり

登壇者:富士 大輔

概要:倍速再生は受験生の学習時間を節約するための重要な機能です。現在はExoPlayerにAPIが実装され簡単に動画の再生速度を変更することができますが我々はその実装を待つことができず独自実装する必要がありました。その際に得た知見を通してExoPlayerの内部構造に迫り、お話ししました。

当日の様子

Twitterハッシュタグ#sapurimeetupにて当日の様子をご確認ください! 講演の後の懇親会にも多くの方に参加いただき、弊社社員と交流いただきました。

f:id:quipper-ja:20190212131927j:plain

f:id:quipper-ja:20190212132044j:plain

イベント中にも告知いたしましたとおり、Quipperではエンジニア、デザイナーを中心に積極採用中です! 詳しい募集要項につきましては以下弊社ウェブページをご覧ください。 https://career.quipper.com/jp/

また、弊社の会社紹介資料も新しく公開いたしましたので、是非ご一読ください。

まずはカジュアルにお話をするのでも大歓迎です。 以下Wantedlyページよりお気軽にご連絡ください!

www.wantedly.com

データの民主化に向けて Lookerbot を導入した話と課題と今後

はじめまして、データエンジニアリングチームの @toohsk です。 今回は、データの民主化を推進するために導入した Looker 社の Lookerbot という Slack ボットをご紹介します。

Lookerbot ってなによ

Quipper では、先の記事「エンジニアを魅了する次世代 BI ツール『Looker』を Quipper が導入した理由(わけ)」でご紹介したように、BI ツールとして Looker を導入しています。

BI を導入した後、Slack などでの会話上でグラフやモニタリングした数値を共有したいと思うシーンはよくあると思いますが、Looker ではそのような用途のために Lookerbot と呼ばれるボットを公開しています

Lookerbot が提供する主な機能は Look (Looker におけるデータを可視化するコンポーネントの最小単位)に対する、下記の二つの操作です。

  • Slack 上で find コマンドを使って Look を検索
  • Slack 上でカスタムコマンドを使って Look を取得

これらの機能を使うことで、(Looker ユーザでなくても)Slack ユーザであればいつでも会話中にボットとの対話を通してグラフを呼び出したり、様々な指標を把握することができるようになります。

www.youtube.com

例えば、こちらの動画で紹介されているように、会議中に気になった KPI を Looker を開かずにボットへの呼びかけから確認できるようになります。シンプルなコマンドにしておけばダッシュボードの URL を覚える必要もありません。

Lookerbot はおそらくまだ国内での導入事例も、ましてや日本語の記事もありませんので、今回はその導入方法とカスタムコマンドなどの機能について紹介していきたいと思います!

続きを読む

WorkManager for Everyone

Whether you are a newbie in Android Developer or a Jedi Developer, you have undoubtedly heard about this new API in Jetpack library. WorkManager is the latest way of handling background processing and at the same time respecting the device resources. I am Rajanikant Deshmukh aka aruke from Quipper’s Mobile team, and we will go through Android’s WorkManager API in this article.

First, we need to know why do we need background processing? One may say “Why don’t we do everything in Main Thread, not worry about all the threading junk and keep our life simple?”. Well, the Main thread in Android does the most critical jobs of rendering UI to the user and responding the UI touch events. If we give Main Thread too much to do, it skips the rendering work, and then we see this in our Logcat.

I/Choreographer(691): Skipped 647 frames! The application may be doing too much work on its main thread.

Some smart developers know that this happens when you are overloading MainThread with work. This causes glitches in the app and ultimately slows the interaction of the user and the app. To avoid that we need to process some of the tasks in the background.

Now the background processes are there since the birth of Android. Knowing them makes us more respectful towards the new Almighty WorkManager.

続きを読む