見出し画像

Kotlin Fest 2024に参加してKotlinを愛でてきたイベントレポート


はじめに

スマートラウンドでエンジニアをしている福本です!

2024/06/22(土)に開催された『Kotlin Fest 2024』に現地参加したので、当日の様子をお届けしたいと思います。

スマートラウンドとしてはKotlin Festにはじめてスポンサーをした背景もあり、Kotlinカンパニーとして社内でも楽しみにしているメンバーが非常に多かったです👇

ちなみに、私は過去にRubyKaigiPyCon JPなど他の言語の開発者カンファレンスには何度か行ったことがありますが、Kotlin Festの参加は初めてでした。

ですが、事前に私が運営に関わっているServer-Side Kotlin Meetupのイベントでバッチリ予習してきたので、事前知識やお楽しみポイントも押さえつつの参加となりました👇

例によって、速報的な個人の感想メモとなります。

そのため、中身の解釈に微妙な間違いがある可能性や、書いている量がセッションによって異なる場合がありますがあらかじめご容赦ください。

それでは、前置きが長くなりましたが、当日の盛況ぶりをお届けします!


会場の様子

ベルサール渋谷の会場に到着。スタンバイした瞬間に、(自分で作った)自己紹介ステッカーを名札に貼りました(kawaii)。

そして、ブースやカフェ会場にはたくさんのKotlinエンジニアで会場が埋め尽くされていました。Kotlinエンジニアって日本にこんなに居るのか…。

ブース周辺の様子(お顔が判別できそうな方は、モザイクを入れさせていただきました 🙏)

各ブースの出し物やノベルティもめちゃくちゃ凝ったものが多くて、気づいたら全部のスポンサー企業のブースにお邪魔していました。ブースで私の相手をしていただいた方、ありがとうございました!

スポンサーブースをトロコンした

ブースではアンケートをされている企業さんがいくつかあり、「みんなはライブラリ何使ってるんだろ…」と中身をマジマジと見てしまいました。また、ブースで実施されていたコーディングの問題は半分くらいしか解けなくて凹みました。出直してきます。

同じく全てのブースに行かれた方の(おそらく)最速noteが公開されていたので、そちらも併せてご覧いただけるとブースのイメージが湧くかと思います👇

(2024/06/28 追記)運営の方がXのハッシュタグ#KotlinFestのPostをTogetterでまとめていました!こちらを見ていただいても当日の盛り上がりの様子がよく分かるかと思います 🐣

さて、以降では、参加したセッションのメモを(簡単にですが)書いていきます。登壇者の方は敬称略となります。タイムテーブルはこちら👇

参加したセッションのメモ

オープニングセッション

冒頭は運営代表のたろうさん(@ngsw_taro)からオープニングセッションのトークがありました!

「Kotlinを愛でる!」を主なメッセージングとして、どういう思いでKotlin Festをやっていくのかを話されていました。結果として、参加者数や運営の方々の数などが「過去最大規模」となっていたようで、会場の入りを見ても盛況ぶりが伺えました。すごい。

あと、「Kotlin Festはみんなでつくろう」というメッセージがとても印象に残っていて、Kotlinエンジニアの交流の場にしてほしい・スピーカーに質問しよう…といったところに工夫を感じました!

スポンサーとしてスマートラウンドのロゴが写っていたので思わず撮影する人

KotlinConf 2024 を後から256倍楽しむためのヒント

登壇者:堀岡 勝(JetBrains カントリーマネージャ- 日本)(@masaruhr)

最初は、普段からIDEを使ってお世話になりまくっているJetBrainsの方のセッションでした!

日本語化や日本円価格での販売など、日本サポートの取り組みについて冒頭でお話しいただき、JetBrainsさんに対するありがたみが深まりました。

全体としては、Kotlin Confの話や今のKotlin開発のトピック(Fleet, KMP…)など、JetBrainsさんの取り組みをたくさん紹介していただいて、Kotlin Festで発表されるであろうコンテンツを事前におさらいできました!ありがてえ。

トークのカテゴリ分類

ちなみに、トークの中で日本のKotlinコミュニティの紹介があったのですが、その中で(スマートラウンドが運営に関わっている)Server-Side Kotlin Meetupのご紹介をしてもらいました😭 事前の予習会にも触れていただいており、とてもウレシイ。

Kotlinで愉しむクリエイティブコーディング

登壇者:畠山 創太(@chooblarin)

「クリエイティブコーディングって何?」という程度の事前知識でしたが、遊びに行く感覚でお邪魔しました!スライドの表紙が既にクリエイティブだ…。

個人的にはProcessingを大学の講義で学んでいたこともあり、話されていた内容をそれなりに理解しながら聞くことができました。実行された結果を眺めるだけでも面白いですね。

「プログラミングの学習は楽しくなくてはならない」というメッセージはめちゃくちゃ同意で、コードの実行結果がインタラクティブに得られるとプログラミングの楽しさが教育の視点でもよく伝わりそうだな…と感じました。

一様乱数でいろんな色をGridに表示したやつ

2024年版 Kotlin サーバーサイドプログラミング実践開発

登壇者:竹端 尚人(@n_takehata)

次にお邪魔したのは、Server-Side Kotlin Meetupの予習回でも登壇いただいた竹端さんのセッションです!

2021年に出版された竹端さん著の『Kotlin サーバーサイドプログラミング実践開発』を、2024年のWebフレームワークやライブラリに当てはめて考えてみる、という内容で、個人的に一番楽しみにしておりました。

スマートラウンドはKtorを使っているのですが、gRPC-KotlinMicronautなども紹介されてました。いずれもマイクロサービス向けのフレームワークみたいですね。

Webフレームワーク以外は、DIツール(Dagger2, Kodein, Koin)やO/Rマッパー(Exposed, JOOQ, Ktorm)、テストフレームワーク(Kotest, Spek)の話をされていました。

それぞれの比較で、とてもわかりやすいシンプルなコードSnipetが書かれていて、使っているイメージがしやすかったのがありがたかったです。

それぞれのフレームワークやライブラリを触って特徴を理解していないとここまでシンプルに書けないなと思ったので、さすが竹端さんだなぁ…と感じておりました。

ちなみに、竹端さんならそれぞれ以下を選定する…とのことでした!参考になる。

  • Webフレームワーク: Ktor

  • DI: Koin

  • O/Rマッパー: JOOQ

  • テストフレームワーク: Kotest

KotlinのLinterまなびなおし2024

登壇者:nyafunta9858 (@nyafunta9858)

次に参加したのはにゃふんたさんの登壇で、KotlinのLinterの話ですね!

ktlint ,detekt, Konsistなど、Kotlinに関するLinterの比較の話をされていました。単純な機能の比較はもちろんですが、それぞれのLinterツールの目的なども触れられていて、興味深かったです。

自分は普段Linterをあまり使わないのですが、Linter(特にKonsist)で検査できる範囲が思っていたより広く、「プロダクションコードにテストが書かれているか」や「アーキテクチャの検査ができる」とかもチェックできるのは驚きました。

「新しくLinterを導入するなら?」というテーマを取り上げて、具体的なケーススタディを提示されたりと、実践的な要素も含まれていたのが学びが具体的になって良かったです!

例外設計について考えて Kotlin(Spring Boot&Arrow)で実践する

登壇者:杉本将来(@Msksgm)

続いて、例外とその設計についてのセッションに参加しました。

前段として、「そもそも例外設計を考えることの大切さ」について話をされていました。開発自体にはもちろん、企画や運用などにもポジティブな影響を与える…という点は納得みが強く、実践していきたいと感じました。

次に、例外を分類しそれぞれどのように対応させるべきかを話されていました👇。それらを混同するとアプリケーションが複雑になるので避けよう…という話ですね。ナルホド

  • 技術的/ビジネス例外

  • 予期する/しない例外

また、アーキテクチャによってどの層にどのような例外を書くか(サンプルコードはオニオンアーキテクチャでした)という観点の話もされており、例外をコードで表現する方法がスッと頭に入ってきました。

登壇資料より抜粋

まだ JUnit を使ってるの? Kotest を使って快適にテストを書こう

登壇者: 川田裕貴 (@hktechno)

「まだ JUnit を使ってるの?」→「はい…」という気持ちで聞きました(嘘です)。

shouldBeEqualToIgnoringFieldsで特定のフィールドを無視してくれたり、Eventuallyで非同期処理のテストが書きやすいなど、細かいところで気の利く感じがとても良いなと思いました。

個人的には、テスト結果や落ちた箇所がよりわかりやすくなるClueはとても良いなと思いました。個人的には、JUnitだと情報量が少ないと感じる場面があるので。

JUnitとも共存できるようなので、新しく書くテストだけでもKotestで書くのは確かにアリだなーとか思いました。テストを書きたい気持ちになりますね。

Kotlinの歴史を可視化する

登壇者:Ayana Murakami (@Ayana_moomin)

最後のセッションはKotlinの歴史についてです。

セッションテーマからKotlinの歴史を語られるのかな…と思いきや、Kotlinのリポジトリをgit logでcommitを追っていき、過去の変遷を可視化→その内容について解釈をしてみる…という内容でした。すごい。

具体的には、commitのログからヒートマップを作り、ある時期に開発が活発だったファイルを割り出した上で、Kotlin Confでの発表内容を踏まえて「ある機能の構想や計画が、具体的にいつから始まっていたのか」というのを丸裸にしていました。

スライドより抜粋

Kotlinの開発経緯はもちろんですが、同じように自分達のプロダクトで似たような分析ができるのでは?とデータ分析に関するワクワクを感じました。とてもおもしろかったです!

エンディングトーク

最後に、運営代表のたろうさんからセッションの締め、エンディングトークがありました。

「皆ちゃんとKotlinを愛でたか!?」という確認と、関わった方々へのお礼を述べて終了でした!愛でたぞ!!(ドン)

エンディングでのお礼の言葉

懇親会

すべてのセッションが終わった後は、会場で懇親会がありました。酒!メシ!Kotlin!

懇親会の様子

懇親会では、特にご飯へのこだわりを強く感じました。一風変わったメニューが多く、印象に残るものばかりでした。

手前は魚(漢字が読めなかった)を使った料理です(おいしかった)

懇親会が苦手マンなのですが、色んな方に話しかけていただいたおかげでぼっち時間がほぼなくてありがたかったです。

会場でお茶のノベルティを渡し歩くSansanの方とお話したり、(私がプライベートで通っている)社会人大学に興味があり、私を話を聞くために会場を1周した方にお会いできるなど、とても楽しい懇親会になりました!

最後に会場全体の写真撮影(見えてませんが)に加わった後、無事に帰路につきました。お疲れ様でした!

参加できなかったセッションの資料

タイムテーブルのめぐり合わせやブースを回るなどの関係上、どうしても参加できなかったセッションがありましたので、そちらについては公開されている登壇資料を置いておきます(順不同)。後から資料を見つけたら随時追記していきます。

当日、登壇者の方の体調不良でキャンセルとなった「Kotlinらしいコードを書こう - Convert Java File to Kotlin File のあとにやること」ですが、こちらのブログで資料や補足が掲載されていました👇

さいごに

最後まで読んでいただき、ありがとうございました!

初参加ではありましたが、セッションがとても面白かったのはもちろん、会場やブースの色々なところに楽しめるポイントがあって、あっという間に時間が過ぎてしまいました。

今回のメインメッセージ「Kotlinを愛でる」、自分はしっかり達成して帰りました。お疲れ様でした!アフターパーティーイベントがいくつか企画されていますが、そちらにも参加して色んな方とお話ししたいですね。

改めてですが、カンファレンス運営および登壇された方々、お疲れ様でした!来年もぜひ参加したいと思います!

おまけ

お昼ご飯は当日参加していたスマートラウンドのエンジニアメンバーで食べました。お疲れ様でした!

元気があってよろしい

最後に、弊社のノベルティステッカーを使って「名札で自己紹介」されていた方のPostをこちらでご紹介して、感謝の意を示したいと思います。ありがとうございました!


この記事が参加している募集