ScalaMatsuri 2019に参加してきました
6/27(木)~29(土)の3日間、日本最大級のScalaカンファレンス Scala Matsuri 2019が開催されました。
私は28,29日のカンファレンスDAY/アンカンファレンスDAYに参加してきましたので、その感想などの記事です。
参加したセッション
- Scala 3って、私にはどんな影響があるの?
- 決済サービスで Akka Cluster 使ってみた
- コードから理解するPlayframeworkの脆弱性
- Scala Driven Management
- プロジェクトで引き回す型をEffにするメリット
- こんなに違う!<-ScalaとKotlin->
- Scala における関数型並行処理入門
- ピュアなドメインを支える技術
- 実践 Clean Architecture
- ハウツー・テストproper{t,l}y
- Phil Bagwell Award Kenji's Pull Request tutorial
- AWS EKSとAkkaを使ってEvent Sourcingを作るにはどうしたらよいか
感想
6/28 カンファレンスDAY
カンファレンスDAYは一応業務扱いでの参加だったので、ちゃんと起きました(適当)
Scala 3って、私にはどんな影響があるの?
このセッションは同時通訳レシーバーをもらい忘れてしまったので、
内容は半分入ったかどうか、という感じでした(すみません)。
Scala 3(Dotty)の新機能紹介とマイグレーションについて。
発表があった新機能は、どれも便利そうに感じました。
個人的にはUnion Typeとかが便利そうだなーと思います。
また、implicit周りについてはいくつかのキーワード等の追加でシンプルになるみたいです。
マイグレーションについては、今までSBT側で頑張ってクロスビルドをしていますが、
これからは新しい中間表現であるTASTyが導入され、Scala 2.x系と3系のクロスビルドはTASTyのレイヤーで頑張るみたいです。
プロジェクトで引き回す型をEffにするメリット
Future
、 Future[Try[E]]
、 Future[Either[L, R]]
それぞれプロジェクト内で引き回す型にする際はメリデメあるけれども
Eff[R, A]
は(少し難しい代わりに)それらのデメリットをだいたい解決出来て良いよ、という話で、わかりやすく説明して頂けたので内容が割とスッと入ってきました。
Scalaにおける関数型並行処理入門
並行処理とはそもそもどういうものか?の説明と、コンテキストスイッチのオーバーヘッドについて説明しつつ、
Monix Taskなどの話に発展していくセッションでした。
私には難しいセッションでしたが、今後調べるキーワードとしていくつか持ち帰ることが出来たので、良かったなと思います。
6/29 アンカンファレンスDAY
(6/28にちゃんと起きたということで?)6/29はしっかりと寝坊をしてしまったので、午後遅めの時間からの参加となりました。 お昼の時間とか、休憩的な時間の取り方が微妙な感じになってしまい、時間の使い方がもったいない感じになってしまいました(3つしか出れなかった)ので、次はちゃんと起きたいという気持ち。
その他の感想
ノベルティ
今回は暑かったので扇子やうちわなど仰ぐ系のものがあって良かったです。
ビズリーチさんの型安全扇子
null消しゴムとかが前にありましたが、今年もユニークですねぇ~
WiFi
CyberAgentさんからフリーWiFiが提供されていました。快適そのもので、とても素晴らしかった!と思います。
DataDogのダッシュボードを公開していたのも面白かったですね。
LT?をやっていたみたいで、聞きたかった。。
同時通訳
ScalaMatsuriには同時通訳がありました。
Scalaのテクニカルかつディープな話でも日本語で聞けるので、理解しやすかったと思います。
おわりに
今回のScala Matsuriも、楽しく情報をインプット出来たなと感じています。
私自身、業務でも趣味でもしばらくScalaを書かなくなってしまったので、今回のScala Matsuriはとても良い刺激になりました。
ありがとうございました。!