Sake駆動開発

エンジニアリングやガジェットのことなど

Kotlin Fest 2019 に行ってきました

f:id:Nabesuke_00:20190826175236j:plain

2019/08/24 に開催された Kotlin Fest に行ってきました。 弊社 Valus では勉強会費全額補助されるのでお財布を気にせず思う存分楽しむことができました。感謝。

弊社では Server Side Kotlin を採用しており、私が入社時からひっそりとKotlinを社内に広めようと画策しています。そしてそのモチベーションを高めるために多くの Kotliner(?) たちと Kotlin を愛でてて来ました。

出席したセッション

1. Kotlinコルーチンを理解しよう

所感

  • これを気にまた導入を検討したい。

資料

Kotlin コルーチンを 理解しよう 2019 - KotlinFest2019 - - Speaker Deck

2. Coroutinesから紐解くKtorの仕組み

所感

  • Ktorは最小限で小さく開発を開始できるが、必要なものは全部自分で入れてく感じ
  • pipeline機構が特徴的
  • pipelineはSpringのwebFluxっぽいイメージ(違ってたら指摘してください)
  • proceed()メソッド。async を await()する前に proceed() すると await() してもノンブロッキングで実行してくれるという。

資料

Coroutinesから紐解くKtorの仕組み / Revealing Ktor with coroutines - Speaker Deck

3. サーバサイドKotlinでGraphQLをやってみよう

所感

  • 今まではクライアントが欲しい情報が変わる度に毎回APIを作っていた → GraphQLでは1つのAPIを用意しておけば、クライアント側で欲しい情報を定義してリクエストするだけでいい。
  • GraphQL開発用のツールが揃ってる。GraphiQLなど

github.com

資料

サーバサイドKotlinでGraphQLをやってみよう - Kotlin Fest 2019 - / Server side Kotlin + GraphQL - Speaker Deck

sample

GitHub - ubie-inc/kotlin-graphql-sample: Sample implementation of Kotlin+Spring+GraphQL

4. もっと Kotlin × Spring

所感

  • 業務で使っている Kotlin に Deep に触れたい

資料

Kotlin Fest 2019 「もっと Spring × Kotlin」

5. LT大会

沢山の方々が発表されていたのですが、自分の興味のあったLTをピックアップさせていただきます。他の皆様もタメになるLTありがとうございました。

GraphQLサーバーを作って味わった天国と地獄

GraphQLサーバーを作って味わった天国と地獄 - Speaker Deck

KotlinTest で始める Property-based Testing

KotlinTest で始める Property-based Testing/kotlintest-property-based-testing - Speaker Deck

try-catchからrunCatchingへ移行した話

https://speakerdeck.com/offwhiite/try-catchkararuncatchingni-yi-xing-sitahua

感想

皆様素晴らしいセッションだったのですが、その中でも前から気になってたり今後使ってみたいなと思ったのがコルーチンとGraphQLでした。

以前コルーチンを使って非同期処理を書きたくてチャレンジするも、理解度が足りず実装が泥臭くなってしまった + 周りへ説明しきれなかったため泣く泣く断念した経緯があります。 わかりやすく説明されていたのでこれを気にもう一度最適な実装を目指して導入を試みたいです。

GraphQLについては前職にてNativeアプリを開発していた際に使おうとして調べていました。ほしいデータが増える度に都度APIを追加してもらってたんですが、GraphQLが実装されればサーバーサイドエンジニアの手を煩わせずに自分で欲しいデータを取れるんだな〜と思っていた記憶があります。 参加したセッションではSpringで説明されており、弊社でもSpringフレームワークを採用しているので実装のイメージがつきやすかったです。

以上2つは実際にプロダクトに乗せることができそうなので、以下のような構成で勉強がてら何か作ってみようと考えています。

  • Spring boot
  • Kotlin(必要あればCoroutine使う)
  • GraphQL

経過はまた何か書きたい。

おやつ

去年もあったんですが高クオリティのおやつがどんどん追加されていきます。今年も美味しいおやつたちがどんどん追加されていてずっとお腹いっぱいでした。ケーキにミニバーガーにお菓子等など。見る度に変わっていたので把握するのが困難なほどでした。 コーヒー飲み放題でカフェイン中毒でも安心。

その他のセッション

あとでじっくり読む

今からはじめる Android Kotlin - Speaker Deck

Server-Side Kotlin by Ktor - Speaker Deck

Kotlin Multiplatform Project入門/Introduction-Kotlin-MPP - Speaker Deck

改めて学ぶContracts - Speaker Deck

Kotlin Fest 2019: Kotlin型実践入門 - Speaker Deck

Deep Dive into Kotlin DSL - Speaker Deck

フロントエンドもKotlinで書きたい! -WebページをKotlin/JSで作った軌跡- - Speaker Deck

Code Generation in Kotlin with Annotation and KotlinPoet - Speaker Deck

Deep Dive into Kotlin DSL - Speaker Deck

KotlinFest2019 - Speaker Deck

Future of Jira Software Powered by Kotlin - Speaker Deck

おわり。

素敵な勉強会を開催してくださった皆様に感謝。