Dynalystの立ち上げと、Scalaをゴニョゴニョ
AMoAd DSP など
Dynalyst
ダイナミックリターゲティング
ユーザーの趣味嗜好に適した広告配信を行う国内初のスマートフォンに特化したダイナミックリターゲティング広告
Scala Usage
Scalaが9割がた
- Spray
- Akka
- Monitor
SprayやAkkaを知らない人も、公式ドキュメントやサンプルコードが豊富なので、そのあたりを参考に
計測などはsprayでやっている
裏でakkaがいて、ログをredshiftにロードしている
ロードされたやつをまたakkaに突っ込む
Spray
ドキュメントが良かったこと、テストコードが書きやすいなどが理由
Sprayって何
省略
Concurrency
16コアのスペックに対して、並行処理で効率よく使われている
Future[T]
sprayの実装はFutureでやっている
いろいろなモジュールがある
spray-routingを使うと見やすく書ける
Application Layer
- Spray Router
- Bidding Business Logic
- External Resources
- Global Dispatcher
レイヤーごとに最適な細かい設定を用意する
http://lampwww.epfl.ch/~phaller/doc/FuturesAsync_ScalaDays2014.pdf
Futureのテスト(Specs2)
Abstract Future
implicitやモナドはかんがえなくてだいじょうぶ
http://eed3si9n.com/ja/the-abstract-future
モナドやFutureの細かい話はいたしません
Monad is a structure that represents computations defined as sequences of steps
akka
デーモンを常駐している
Typesafe console
Kamon
Summary
- Future Directive on Spray
- Abstract Future
- Akka master/worker pattern(パターンを利用してスケール)
- Monitoring Akka with Kamon(Akkaの内部をモニタリング)
トライアンドエラーでScalaをごにょごにょしたらいいんじゃないのだろうか
- ハードルは高い
- バッドプラクティスが多いとアレ
- トライアンドエラーを繰り返してアレする