EmbulkのプラグインをKotlinで書き直したり最近自分の中で激アツ言語のKotlinの勉強会が開かれると言うので早速参加してきました。サイバーエージェントのサーバサイドの事例だったりSpringのKotlin対応だったりKotlinの波が来ているのを感じられて良かったです。実際(元)JavaエンジニアとしてKotlinは本当に痒いとことに手が届く感じがして書いてて楽しいです。自分のところのプロダクトにも是非導入してみたいです。
クラスの作り方に見るKotlinの表現力 (@ngsw_taro さん)
KotlinのJavaにはない豊かな表現力についての解説。以下のような機能は知らなかったので参考になりました。Kotlinスタートブック欲しかったけど数秒遅かった…w
require
で前提条件をチェックできる- ex)
require(a > 0, {“aはゼロ以下ダメ!"})
- ex)
tailrec
キーワードで末尾再帰の最適化- ループ処理にしてくれる、stackoverflow防止
Nothing
型- あらゆる型のサブタイプ
shield
で継承出来るクラスを制限できる
Spark Framework with Kotlin (@stormcat24 さん)
Spark Javaフレームワークを実際プロダクション環境で使った知見の紹介。KotlinだけじゃなくてJavaでサービス作る際の色々な知見が聞けました。
- Springfox
- annotationからswagger吐き出す
- Doma Framework
- 良いらしい
- HIstrix
- circuit braker、マイクロサービスには必須っぽい
- Jlokia
- JVM監視
「Spring ❤️ Kotlin」 (@making さん)
Spring5からのKotlinのネイティブサポートについて、SpringBootでの例を交えて紹介。あとSpring5で導入されるの非同期ノンブロッキング*1サポートのKotlin対応についても紹介してました。 それらはだいたい @sdeleuze さんが作ってるのでフォローしていると最新情報が知れるとのこと。
- Spring5の新機能 (RouterFunctions, Reactive Streams)
- サーブレットベースだけじゃなくてノンブロッキングもサポートされる (spring-webflux)
- https://github.com/mix-it/mixit
- https://github.com/making/demo-router-functions