ScalaMatsuri 2016に参加してきました

二日間のScalaMatsuriが終了しました。

http://scalamatsuri.org/scalamatsuri.org

今年は会社としてだけではなく、GitBucketでもスポンサーをさせていただきました。残念ながらCFPは落ちてしまったので一参加者として楽しませていただこうと思っていたのですが、寄る年波には勝てず、体調的に両日とも午後からの参加となってしまいました。

また、二日目はどなたが書いてくださったのか存じませんがアンカンファレンスネタとしてScalaパズルを上げてくださった方がいらしたようで急遽準備をしていたので他のセッションにはひとつも参加することができませんでした。Scala.jsコンパイラの話を聞きたかったのですが無念だ…。

というわけでセッションに参加できたのは初日の午後のみとなりますが、まずは参加したセッションの感想から。

バッチを Akka Streams で再実装したら100倍速くなった話

www.slideshare.net

TISさんのセッション。到着直後に翔泳社さんのブースに顔を出したりしていたので最後のほうだけ。Slick3のDataPublisherをAkka Streamsに接続して、みたいな話でした。

個人的にはバックプレッシャーは対応するプロダクトが揃ってこないと有効に機能しないと思うのである程度長い目で見る必要があるんじゃないかと思っていますが、やるとしたらメトリックを見て調節するSubscriberを自分で実装する感じになるんでしょうかね。終端になるミドルウェアがReactive Streamsに対応したドライバを提供してくれるようになるのが理想的ですね。

東アジアからScalaOSSに貢献するということ

www.slideshare.net

瀬良さんのセッション。モノは違えどスタンスなど共感する部分の多い瀬良さんが日本からのOSS貢献について語るということで楽しみにしていたのですが、 人が多すぎて入室できず聴講を断念しました。

スライドを拝見したのですが、日本語に閉じずもっとオープンになろう!という趣旨の話だったようです。自分も英語はとても苦手で、特に会話はまったくもってダメぽなのですが、OSSでの貢献ということでいうとGoogle翻訳とかExcite翻訳を駆使して読み書きすればなんとかなるので、英語苦手ということで壁を作るのは勿体ないですねという気がします。

みんなの関数型プログラミング

www.slideshare.net

Jack Henry & AssociatesのZach McCoyさんのセッション。関数型プログラミングの超入門的なセッションでしたが、これから関数型プログラミングを始めてみようという方にはちょうどいい内容だったのではないでしょうか。Scala未経験者にScalaを教える場合も、始めにこういう感じのエクササイズをやるとよいのかもしれないと思いました。

実用関数型アーキテクチャのパターン

47 DegreesのRaul Rajaさんのセッション。いきなりFree Monadとか出てくるやつで予想通りといえば予想通りだったのですが、予想通りじゃなかったのはプレゼンツールです。REPLでプレゼンテーションを実行するツールのようで、REPLなので仕込んでおいたコードをその場で実行するという荒技を繰り出していました。

竹井さんが空気を読んで「このプレゼンツールはなんだ?」って質問してましたがこれですかね?

github.com

ただ、REPLなので字が小さい…。小さい会場だったらよかったのかもしれませんが、大きなホールの一番後ろの方に座っていたのでよく見えず、スライドを読むのは途中で諦めました。以下に(多分)同じ内容のスライドがあります。正直REPLじゃなくてこっちで話して欲しかった感がありました。

The Zen of Akka

www.slideshare.net

以前ドワンゴさんでのAkka Meetupでも話されていたKonradさんのセッション。Akkaのベストプラクティス集という感じで、「まあ、それはそうですよね。」というものも多かったのですが、英語も聞き取りやすく、スライドも相変わらずのキュートなイラストと所々に仕込まれたネタで楽しいセッションでした。

Konradさんは明日TISさんで開催されるReactive System Meetup Vol.2でもAkka Streamsのお話をしてくださるそうなので楽しみです!*1

reactive-shinjuku.connpass.com

実戦Scalaz-Stream: 既存のバッチシステムを置き換える

日本在住のMathias Sulserさんのセッション。ちょっと想像してたのと違ってScalaz-Stream入門編という感じでした。

その他

翔泳社さんのブースでScalaパズルの先行販売をしていただきました。当初は2日目の午後も販売を行うとのことだったのですが、好評につき初日でほぼ完売状態となってしまったため2日目の販売はありませんでした。ご購入いただいた皆様ありがとうございました。

Scalaパズル 36の罠から学ぶベストプラクティス

Scalaパズル 36の罠から学ぶベストプラクティス

また、冒頭でも述べた通り2日のアンカンファレンスではScalaパズルのセッションを行わせていただきました。すでに書籍をお持ちの方もいらっしゃるかと思いましたので、scalapuzzlers.comに掲載されているパズルのうち、書籍には掲載されていないものをいくつかピックアップして出題させていただきました。ご参加いただいた皆さんがお楽しみいただけましたら幸いです。*2

まとめ

海外の方のセッションが多かったですが、同時通訳や会場でのアテンドなどホスピタリティに溢れるカンファレンスだったのではないかと思います。同時通訳は日本人が英語のセッションを楽しめるだけでなく、海外の方が日本語でのセッションを楽しんでいただくという意味でも意義のある取り組みなのではないかと思いますし、こうやって国際色の強いカンファレンスが気軽に参加できる国内で開催されるのは大変ありがたいことです。*3

一方で、投票制の弊害なのかもしれませんがセッションの内容が関数型に寄り過ぎてしまっているのではないかと感じる部分もありました。昨年のScala Daysでもここまで関数型寄りのセッションは多くありませんでしたし、内容的にも簡単なものが多かったです。がっつり関数型なセッションも面白いのですが、もう少しバリエーションがあってもよかったのではないかと思います。このへんはやはり主催者側でなんらかのコントロールが必要な部分なのかもしれないと感じました。

ともあれ前回以上に国内でのScalaの普及を実感することのできた2日間でした。スタッフの皆様お疲れ様でした!!

*1:自分も発表させていただくので話を聞いている余裕がないかもしれませんが…。

*2:scalapuzzlers.comのパズルをスクリーンに映しながらのセッションでしたので資料等は特にありません。

*3:1万円とはいえ海外のカンファレンスに参加することを考えれば金銭的にも時間的にも圧倒的に参加しやすい。