ScalaMatsuri2014行ってきました

2014-09-06

sprayチュートリアル書きかけなのですが、Scala Matsuri 2014に参加したのでレポートします。

ScalaMatsuri2014 1日目

私は実はこの日、ボランティアで運営のお手伝いをしておりまして、、、
朝8:30から設営準備を行っておりました。

IMG_0760

ボランティアの話はさておき、AM10:00という休日としては絶望的に朝早くに始まったScala Matsuri 2014ですが、
開始前にはもう会場を人が埋め尽くしていました。
そんなScala Matsuri 2014は、総責任者のkmizuさんこと水島宏太さんの挨拶ではじまり、言わずと知れたScalaの産みの親、Martin Odersky博士の基調講演へと続きました。

全プログラム

  • オープニング – 水島 宏太
  • 基調講演 – Scala 進化論 – Martin Odersky
  • sbt、傾向と対策 – Typesafe Eugene Yokota(A会場)
  • GitBucket: Perfect Github clone by Scala – 株式会社ビズリーチ 竹添 直樹(B会場)
  • Fifty Rapture One-Liners in Forty Minutes – Jon Pretty(A会場)
  • Xitrum Web Framework ライブコーディング – モビルス株式会社 押田 丈治&Ngoc Dao(B会場)
  • ランチタイム – ランチタイムLT
  • Node.js vs Play Framework – LinkedIn Yevgeniy Brikman(A会場)
  • SparkSQLおよびCatalystの紹介 – 株式会社ノーチラス・テクノロジーズ 上新 卓也(B会場)
  • SIerに立ちはだかるScalaの壁に進化型ジェネレータで挑む – TIS株式会社 前出 祐吾(A会場)
  • Solid and Sustainable Development in Scala – エムスリー株式会社 瀬良 和弘(B会場)
  • Apache Spark を用いた Big Data パイプラインの統一 – Databricks Aaron Davidson(A会場)
  • はてなにおけるScala活用事例 – 株式会社はてな 辻川 貴哉(B会場)
  • コーヒータイム – Typesafe presents 業務ユーザ懇談会
  • Scalding と Storm と Summingbird で始めるScalaでデータ処理 – Twitter, Inc. 丹羽 善将(A会場)
  • グリー初のScalaプロダクト!チャットサービス公開までの苦労と工夫 – グリー株式会社 長谷川 貴之&尾崎 俊(B会場)
  • Scala 上で実現された制約プログラミングシステム Scarab について – 神戸大学情報基盤センター 宋 剛秀(A会場)
  • Silkで編むデータフロー – Treasure Data, Inc. Taro L. Saito(B会場)
  • 国技と Scala – 株式会社ドワンゴモバイル 藤村 拓也(A会場)
  • Scalaのマクロに実用例から触れてみよう! – 株式会社ビズリーチ 島本 多可子(B会場)

会場はAとBの2つあり、基調講演やランチLTなど以外は並行してセッションが行われるので結構もりもりなプログラムです。
私はA会場でタイムキーパーを行っていたので、主にA会場で行われたセッションを聞いていました。

sbt、傾向と対策 – Typesafe Eugene Yokota

A会場の1こめはEugene Yokotaさんのsbtではじまりました。

IMG_0761

sbtの紹介と次バージョンに盛り込むfeatureを紹介していらっしゃいました。
このセッションの中でsbt1.0をリリースしたいことが語られていました。
ただ、1系は長いライフサイクルで考えているため、レガシーコードをリファクタし、安定したものを出したいそうです。
Eugene Yokotaさんがライブ・コーディングでsbtのbuildファイルを書いていったのは見物でした。

Fifty Rapture One-Liners in Forty Minutes

A会場2こめはOdersky先生の講演で「Scalaの初期ユーザ」と紹介のあったJon Prettyさんによるrapture-ioというライブラリの紹介でした。

IMG_0764

raopure-ioによるJSONパーシングの便利さがメインです。
URI文字列からResourceオブジェクトを取得してからの、JSON parseからのcase classは「おお!!w(゚o゚*)w」と思いましたが、Scalazのxuwei_kさんに「typeclassによるライブラリの設計なんて、最近はほとんどのライブラリがやってるから、単にそれだけじゃ使う決め手にならないんだよなー」とディスられていました^^;

url"http://www.example.com/src/app.scala".slurp[Bytes]
とか
val json: Json = Json.parse(src)
val age = json.candidates(0).age

rapture-io

ランチタイムLT

ランチタイムはお茶とお弁当配りを手伝いました。
お弁当は、お肉類を食べられない人に配慮して「ベジタブル弁当」も用意されていました。

IMG_0765

↑私のはお魚でした(*^^)v
このあとのワンセッション、休憩のため聞き損じました。

SIerに立ちはだかるScalaの壁に進化型ジェネレータで挑む

SIerでのScala利用例は珍しいのではないかと思います。
TISさんはSIerの中では珍しいほど新しいことに挑戦的だと思いました。
良いエンジニアさんが多い印象ですしね。

Apache Spark を用いた Big Data パイプラインの統一

一番楽しみにしていたApache SparkのコミッタDatabricksのAaron DavidsonさんによるSparkのセッションです。
Sparkの概要にはじまり、思想や構成の紹介もそこそこに、Sparkのデモがはじまりました。

IMG_0767

IMG_0769

いえね・・・これがすごいんですよ!!!

どんなデモを見せてくれたかざくっと言いますと、

s3上に保存したTwitterのツイートから特徴ベクトルを抽出し、ツイートが何語(英語とか日本語とか)に分類されるか学習し、新ツイートが何語か推定する

というものでした。
※ちなみにツイート数は1千万くらいありました^^;

Aaron Davidsonさんの自PCがプロジェクタにつながらなかったので、借り物のPCを使いDatabrics CloudというWebサービス上でのリアルタイム・デモだったのですが、ツイートから特徴ベクトルを抽出するまでに3分足らず、ツイートのクラスタリングに5分足らず、推定数ミリ秒です。

もう圧巻でした。
Sparkもすごかったんですが、Databrics Cloudもすごかったです。
Spark使いたくてうずうず・・・
※きっと私だけじゃないはず

このとき#ScalaMatsuriハッシュタグ付きの、Sparkツイートがすごいスピードで流れていました。
この次のセッションかわいそうだな・・というものもありましたが、幸い次はコーヒー・ブレイクでした。
コーヒーとお菓子の配布を手伝います。

IMG_0778

Scalding と Storm と Summingbird で始めるScalaでデータ処理

Twitterの丹羽さんによる、Twitterがバルス砲をどうさばいたのかw、というお話でした。
すごくキャッチーですよね。
丹羽さんのお話の上手さを感じました。
余談ですが、丹羽さんは当然のごとく英語もペラペラで、日本語で話したり英語ではなしたり、自己通訳していらっしゃいました∑(゚Д゚)
コーヒー・ブレイクあけのこのセッション、実はとても面白いものでした。

TwitterがScala大好きなのは有名で、自ライブラリのScalding、Storm、Summingbirdかあ・・・
と、当初は思っていたのですが、聞いてみると目から鱗でした。

IMG_0772

IMG_0773

特に刺さったのはSummingbirdのアーキテクチャです。
分散化されたデータの計算と統合のアルゴリズムなのですが、
キーと途中経過とをキーとして、結果を保存するのです。

これはアーキテクチャを考える上で大変参考になりました。
Odersky先生からも質問が飛んでいましたw

IMG_0775

Storm
Scalding
Summingbird

まとめ

今回のScala Matsuri 2014ですが、招待講演でいらっしゃっている海外の方に配慮し、通訳部隊がほぼ同時通訳を行っていました。
※通訳の内容は常にプロジェクタで映し出されています。

IMG_0774

※英語講演の時は日本語、日本語講演の時は英語に翻訳されます。


お弁当のベジタリアン配慮といい、とても国際的な配慮がされているように感じました。

それになんといっても講演のクオリティが高い!

この日本最大のScalaカンファレンス、来年も更なる成長をとげて開催されるといいな♪