Blog
Scala Days 2016 in New York【3日目】
あっという間に滞在4日目になりました。
今日もNYは快晴。気持ちよく会場に向かい、しっかり朝食をいただきました。
最終日もKeynoteからスタートです。セッションからピックアップしたものと合わせてご紹介します。
Keynote Spark 2.0 – Matei Zaharia
最終日、3日目のKeynoteはdatabricks社のCTO、Matei Zaharia氏の講演でした。
大きなトピックとしては下記が取り上げられていました。
- Project Tangsten: CPU/Memoryの改善が、2.0以降で対応予定とのこと
- Dataset : DataFrameのパフォーマンスを維持し、static typeに対応したDataSetが1.6のリリースで公開された
- Structured Streaming ; 2.0以降の方針として、streaming処理上にバッチ処理やspotでのSQLの実行などが可能になる
大枠は今年のSpark Summit (http://www.slideshare.net/databricks/2016-spark-summit-east-keynote-matei-zaharia)での発表に沿った内容となっていましたが、現状のsparkの課題(groupByKeyのパフォーマンス, java object に関してなど)にも触れられていました。今後はDataFrame/Datasetを最適化していく方針とのことです。
Implicits Inspected and Explained – Tim Soethout
implicitの定義からスコープ, type classでの使用方法まで、コードを中心として解説するセッションでした。
特にtype classにおける解説は、json writerを例に出して丁寧に解説されていました。
実装にあたっての注意事項も含んでいたので、動画が公開されたら初学者にオススメできる内容だと思います。
スライド: http://blog.timmybankers.nl/implicits-inspected-and-explained-slides/#/
Finagle Under the Hood – Vladimir Kostyukov
アドテクスタジオでも注目しているFinagle(https://github.com/twitter/finagle)の解説セッションでした。
※アドテクスタジオでのFinagle紹介記事はこちら
http://cyberagent.ai/scalablog/2016/04/14/adtech-scala-meetup-finagle/
発表では基本から網羅的に解説され、上記紹介記事と内容がかぶる点が多かったのですが、clientのロードバランシングアルゴリズムについて、Peak EWMA(Exp. Weighted Moving Average)が優れているという話は参考になりそうでした。
※以下のブログで紹介されている比較を紹介していました。
https://blog.buoyant.io/2016/03/16/beyond-round-robin-load-balancing-for-latency/
スライド : http://vkostyukov.net/slides/finagle-101/?full#Cover
Scala Goes Native – Denys Shabalin
初日のKeynoteで紹介があっただけに超満員のセッションでした。
またこのセッション中にGitHubの公開ボタンが押され、会場は大盛況でした!
*オープンソース化されたコードはこちら
https://github.com/scala-native/scala-native
*公式ページはこちら http://www.scala-native.org/
C++で書かれた実装と同一内容のScala実装を用意し、Scala Nativeライブラリを適用することでC++に匹敵するパフォーマンスを発揮できることが示されていました。
応答速度が求められる場面での選択肢が一つ増えるだけでなく、将来的に多くのライブラリで使用されるようになる可能性を秘めた発表だったと感じました。
Metaprogramming 2.0 – Eugene Burmako
EPFL の Eugene Burmako (@xeno_by) 氏の scala.meta に関するセッションでした。
昨年の Scala Days 2015 でも発表がありその際は experimantal な色が強いものでしたが、その後 Codacy(https://www.codacy.com/), scalafmt(scalafmt.org) の事例ができ、将来的には新しいMacroや昨日の発表であったDotty-Linkerで使われるとのことでした。
Using Actors for the Internet of (Lego) Trains – Johan Janssen
Remote Actor, Scala, Raspberry Pi を使って、レゴで作った電車やロボットを動かすアプリの紹介でした。
実際に電車が動いていて、最後にとてもワクワクするセッションが見れました
まとめ
Author