The state of sbt 0.13, sbt server, and sbt 1.0 (ScalaMatsuri ver)Eugene Yokota
Talk given at ScalaMatsuri 2017. A review of:
- the sbt 0.13.x series that’s been under development as a technology preview since 2014
- the sbt server feature which is planned to be shipped with the next major sbt release
- and the rest of sbt 1.0
The state of sbt 0.13, sbt server, and sbt 1.0 (ScalaMatsuri ver)Eugene Yokota
Talk given at ScalaMatsuri 2017. A review of:
- the sbt 0.13.x series that’s been under development as a technology preview since 2014
- the sbt server feature which is planned to be shipped with the next major sbt release
- and the rest of sbt 1.0
DMMは日本で最大級の動画配信サービスを提供しています。
昨今はニーズの多様化と高品質への対応が急務となっており、動画配信基盤の刷新に取り組んでいます。モノリシックなシステムをマイクロサービス化すべく、Ruby on Rails・AngularJS・Go を利用しています。本セッションでは、それらのアーキテクトや開発フローについて判りやすく説明します。
Non-blocking IO to tame distributed systems ー How and why ChatWork uses async...TanUkkii
title: ノンブロッキングIOで分散システム を手懐ける ーチャットワークでのasynchbaseの利用
event: LINE Developer Meetup in Tokyo #28 - JVM非同期プログラミング -
https://line.connpass.com/event/78912/
19. "Future" must {
import scala.concurrent.ExecutionContext.Implicits.global
"map and flatMap" in {
val futureMessage = Future {
Thread.sleep(1000); 1
}.flatMap(value => Future {
Thread.sleep(1000); value + 1
}).map(s => s"This is a value of future after $s seconds")
Await.result(futureMessage, 5 seconds) must be("This is a value of future after 2 seconds")
}
"for comprehension" in {
val futureMessage = for {
s1 <- Future {
Thread.sleep(1000); 1
}
s2 <- Future {
Thread.sleep(1000); s1 + 1
}
} yield s"This is a value of future after $s2 seconds"
Await.result(futureMessage, 5 seconds) must be("This is a value of future after 2 seconds")
}
}
Future
並列に実行
並列に実行
並列に実行
forコンプリヘンション
並列に実行
並列に実行
22. ParallelCollection
"parallel collection" must {
"behave same as standard one" in {
val list = (0 to 9999).toList
list.map(_ + 1).filter(_ % 2 == 0).fold(0)(_ + _) must be
list.par.map(_ + 1).filter(_ % 2 == 0).fold(0)(_ + _)
}
}
通常のコレクション
並列コレクション
使い方まったく同じ