ついに、ScalaMatsuriのセッション候補の投票が始まりましたね!
http://blog.scalamatsuri.org/entry/2015/10/18/215338
ふと、投票というワードから、どのセッションに投票したか公にして良いのかなぁと思ったので呟いたところ、選んだ理由や背景を含めて建設的な感じだと尚良いねという旨をいただきました。
https://twitter.com/oe_uia/status/655954089902129153
正直なところ、Ponyの話が聞きたくてPonyに投票した!って言いたかっただけなのですが、折角なので他のセッションをどう選択したかも書いてみようかと思いました。
(幸いにも?)発信力が強いわけでもないので、人様の投票にさほど大きな影響は与えないだろう、と思い切って公開してみます。
注意事項
- あくまで個人の主観です。
- 特定の主義・主張を推奨または非難する意図はありません。
- 所属する団体の意見を代表するものではありません。
- 自分のレベルは仕事でScalaを触り始めて5ヶ月強という程度です。(前々から注目していたけど仕事にまではなっていなかった。)
- FP in Scalaもまだ3章か4章くらいのところです。
- 誰が有名人とかもあまり分かってないです。(特に海外勢)
英語40分 12枠
-
Akka Persistence に Stamina を。正しいマイグレーション教えます。
今関わっているプロジェクトで、バイナリシリアライズしたデータを保存したり、DynamoDBのようにスキーマレスなDBを扱ったりするため、モデルの変更に強い仕組みのヒントにならないかな、というところで選択。 -
Sink から Source へ 〜 Akka Streams の進化と実装
Akka StreamsがこれからPlayフレームワークの基盤になると聞いて、押さえておかないといけないかなと思い選択。以前にReactive勉強会に参加したときも、Scalaz Streamsが便利だと思えたし何より面白かった。Akkaに比べると性能がという話があったり、Scalazへの依存が増えるとメンバーの学習が追いつかないかなというところで見送っていたので、Akka Streamsでその辺りを注目したい。 -
実戦Scalaz-Stream: 既存のバッチシステムを置き換える
バッチ処理、とくに何かを集計するような場合は、どんどんコードが大きくなっていく、というのは今も実感しているところで、ストリームな考え方を参考にしたくて選択。
合成可能性や再利用というところだけじゃなく、並行並列というところもあると嬉しい気も。 -
正常系の末に行き着く異常さ
結局、システムはいかに正しく動くか、よりもどう異常と折り合いをつけるか、なのかなという思いがあり選択。耐障害性は後付できるほど容易なものではないと思うので、是非聞きたい。 -
実用関数型アーキテクチャのパターン
関数型言語の合成可能という特徴はすごく便利だと思うが、使いこなせていない感覚があるため選択。色々なツールチェーンがあって効果がでるような気がするので、通貫で聞いてみたい。 -
関数型、代数的なドメイン・モデリングの方法
あまり関数型の教養がないので難しそうだけれど、弊社ではDDDにも取り組んでいて、よりScalaの利点を活かしたモデリングができないかな、という興味があって選択。 -
Scala + Graph Databases
グラフデータベースの知見があまりなく、まずどういうものかを知りたくて選択。リレーショナルデータベースとの比較も勿論だけれど、NoSQLデータベースとの比較としても聞いてみたいなぁ、というところ。 -
リアクティブ・マイクロサービス
本物を見せてやる、という謳い文句に釣られて選択w
マイクロサービスはバズワードのようにあちこちで聞くようになったけれど、リアクティブと付いているものはあまり聞かないかなぁというところで面白そう。 -
不変性がもたらすスケーラビリティ: コードからインフラまで
不変性の大事さはわかってるつもりだったけれど、実はまだまだかも?と思い選択。これからのシステムはどうスケールさせるかという戦略が大事だと思うので、その中での不変性を再整理したい。 -
基本からの Scala: 型クラス
型クラスというワードがTwitterでもよく目にするけれど、ちゃんとどういうものを指すか理解してないので選択。よく目にするということは、それだけ重要でコアな概念なのだろうか。 -
Codecs for free! - shapeless を用いた型クラス導出の実践
上記に続いて。自動型クラス導出を謳うということは、すごく面倒なものかもしれない、というので楽になる方法があるなら気になる。shapelessがライブラリとして存在することは知っていても、これがどういうものかも知らないので、この機会にというところ。 -
Computational Art
グラフィックもできるときっとプログラマの世界は一歩広がる、と思うので選択。鮮やかな世界を体験したい!アバター画像を自分で生成したい!
英語15分 3枠
-
MessagePackとScalaでDBMSを作ろう
スキーマ変更に柔軟に対応できるデータ表現に興味があるので選択。ScalaでMessagePackを使うのは、1個1個型を指定しないと微妙に使いづらい印象があったので、実は簡単なのか、というあたりも聞きたい。 -
Dockerをベースとしたインフラ上でのPlay frameworkアプリケーション本番運用ノウハウ
(弊社事情的に)タイムリーな話になっているかもしれないので選択。 -
Modbat:ユニットテストにテストを書かせよう
テストがテストを書くというのが何言ってるのか分かんないので選択。テストを書くのが億劫でもっと簡単に書けたら嬉しいなと常々思っているので聞いてみたい。
日本語40分 7枠
-
ドワンゴアカウントシステムを支えるScala技術
認証・認可は基本的だけれど、かなり難易度の高い分野だと思っていて、そこでScalaがどう活用されているのか気になるため選択。ここまでの規模になると相当なノウハウがあるのでは、というところで聞きたい。 -
Scalaでドメイン駆動設計に真正面から取り組んだ話
先述の通りDDDに取り組んでいるため、先人の話を聞きたくて選択。Slackにddd-jpもあるので、もっと活発にならないかなと思っていたり。 -
レガシーなアレをスムーズにScala化をしていく11の方法
恐らくかなり共感をもって聞くことができるだろうと思い選択。このセッションの頃には(弊社事情的に)色々タイムリーな感じになっている気もする。 -
猫という考え方
Scalazすら理解せぬままにCatsが出てきてしまって戸惑いしかないので選択。 -
Refactoring in Scala
今のプロジェクトはスピードを優先してBetter Javaな感じで書いているものの、リファクタリングも随時行っていかなければいけないと感じているため選択。関数型が活きるシーンがもっとあるはずなので、そのとっかかりとして聞きたい。 -
広告配信APIサーバを約1年間運用・監視した話(Spray + Akka actor + Kamon + Datadog)
サービスはリリースして終わりではなくて、運用・監視を効率的に行うことも技術優位のために必要だと思うので選択。安定した稼動があれば、その余力を他に活用できるので先人の話を聞いてみたい。 -
Logic Programming in Scala
論理プログラミングが使えそうな場面には度々遭遇するので選択。日本語40分枠で上級者向けが、これしかないというのもある。自分が未熟でも、上級者の話を聞くとどういった発展があるのか、という未来の面白さがあると思うので聞いてみたい。
日本語15分 8枠
-
Introduction to Pony
ヤバいと噂のPonyがどんなものか知りたくて選択。Akkaなどとのパフォーマンス比較のグラフがあった気がするんだけれど、今探しても見つからず・・・。 -
Implicitで型クラスを定義してアドホック多相を実現する方法について
implicitが便利すぎるのだけれど、使い方を間違っている気もしているので選択。アドホック多相の意味も分かってないので聞いてみたい。 -
バッチを Akka Streams で再実装したら100倍速くなった話
これも恐らく(弊社事情的に)タイムリーになってると予想されるので選択。並行並列にできるところをどんどん作っていきましょう、のような話の気がするが、実例とポイントが聞けるのは貴重だと思う。 -
弾力性を失ったシステムをAkka Streamで延命する
そこそこ大規模なシステムを扱っているので、弾力性に注目しているセッションが貴重なので選択。先日の次世代Webカンファレンスでは、back-pressureは不要かも?という話があったりしたので、その必要性について注目したい。 -
TypeScriptから見たScala.js
TypeScript隆盛な感がありますが、Scala.jsがどう映るのか興味があるので選択。生成されるJSコードは小さくなってきたらしいものの、どこまで実用的なのかというのも気になる。 -
Clojureから見たScala
同じJVM系言語でもClojureはかなり敷居の高いイメージがあるものの、Scalaより関数型の制限が強いことによる良さがどれくらいあるのだろう、と思い選択。弊社にもClojure大好きマンがいるので、というのもある。 -
Optics Programming in Scala
XXX Programming in Scalaってよく聞く気がすると思ったので選択。それだけScalaは色々な方法がとれる言語ということなのでしょうか。 -
Groovyで分かった気になるラムダ計算
確かにラムダ計算を説明できない気がしたので選択。ラムダとかモナドとか、言葉で受ける敷居の高さってありますよね。せめて分かった気になりたい。
感想
あれもこれも聞きたい、という感じでかなり迷いました。当日も限られた時間のなかで、どう動くかまた迷いそう。
こうして一通りのセッションがどんなものかあるか見てみると、ストリーム処理系や関数型プログラミングの話題が多い印象がありますね。Scalaなので、OOPとのすみ分けができることも一つの魅力だと思うのですが、海外よりは日本勢の方がその辺の話が多い印象。日本はまだまだ関数型プログラミングへの過渡期にあるという感じでしょうか。
何にしても当日が楽しみです!