![見出し画像](https://assets.st-note.com/production/uploads/images/160149045/rectangle_large_type_2_0e70bf18ccf74b37ca898073133b1928.png?width=1200)
第13回 Server-Side Kotlin Meetup イベント開催 & エンジニア大橋の登壇レポート
スマートラウンドでエンジニアをしている福本です!
私が運営に関わっているサーバサイドKotlinのコミュニティ「Server-Side Kotlin Meetup」で、第13回イベントを10/25(金)に開催しました!
事前の告知noteは以下となりますので、背景も含め興味のある方はそちらも併せてご覧ください👇
ちなみに、前回の第12回イベントのレポートは以下となります👇️
今回は残念ながらイベントのアーカイブ映像が残っていないので、こちらで色々な情報を残しておきたいと思います!ぜひ最後までご覧ください🤝
会場の様子🏟️
告知noteでもたくさん紹介した、Sansanさんのエグい新オフィスが会場です。素敵すぎるのでもう一回写真載せちゃう。
![](https://assets.st-note.com/img/1729863401-WbQDw3NSsBErf4thpk07FniK.png?width=1200)
ちなみに、当日はたくさんの方にお越しいただき、ほぼ満席となりました🎉 みんな(たぶん)サーバサイドKotlinエンジニアなんだぜ….これ….。
![](https://assets.st-note.com/img/1729863562-jVSdrZ1KzfmIwB7EpNYixq2a.png?width=1200)
開始 ~ LT 🎤
今回は招待・公募のLT会だったので、ここからは各LTのご紹介と感想を書いていきたいと思います👇️ 司会しながらだったので、メモの内容が薄かったらごめんな。
Kotlin Meets Data-Oriented Programming: Kotlinで実践する「データ指向プログラミング」
大橋 賢人(@lagenorhynque)
株式会社スマートラウンドで、スタートアップと投資家の業務を効率化するデータ作成・共有プラットフォームsmartroundを開発するエンジニア。Clojure, Haskellなどの関数型言語や関数型プログラミングの実践が好きです(Java, Scala, KotlinとJVM言語も好きです)。Kotlin Fest 2024のCfPとして提出したテーマKotlin Meets Data-Oriented Programming: Kotlinで実践する「データ指向プログラミング」についてLTします。
冒頭は招待LTとして、我らがスマートラウンドの大橋さんの登壇 👏
関数型/データ志向プログラミングの考えや原則をKotlinに取り入れたらどうなるのか、そこから得られる示唆は何なのか…という話をしてくれました!半分くらいClojureの話をしていた気がします。ここがClojureコミュニティか…。
ちなみに、同様のアプローチを2日後の10/27(日)に行われたJJUG CCC 2024 Fallの登壇でもされてました👏 おまわりさんこの人ずっと関数型の話してます。
関数型ナンモワカラン&OOPの世界でずっと生きてきた自分としては、契約プログラミングなどのデータの表現についてはかなり参考になると思いました🤔 面白い。
品質の高い機能を”早く”提供するために技術的な面でチームでやったこと、やりたいこと
茂木 康汰(@TTrpbm)
Sansan株式会社のインボイス管理サービス Bill One の Web アプリケーションエンジニアです。お客様に早く高品質な価値を提供することがが好きで、PdL(プロダクトリード)という役割をしています。最近はKotlinやセキュリティに興味があります。
次は、会場提供をしていただいたSansanさんから、Ktorを採用しているBill Oneの開発者である茂木さんにLTをしていただきました 👏
Bill Oneを開発する際に、チーム内で取り組んだことを紹介していただきました。誠に参考になる。
![](https://assets.st-note.com/img/1730377236-qoYXiv69kzwbIg3pOlSx0Gsn.png?width=1200)
Resultやkotlin-resultを使ってエラーハンドリングをいい感じにして開発リードタイムを縮めたり、Cliktなどのライブラリを用いたテストコードの自動生成など、試したくなるトピックがたくさんありました。
チームの開発効率については、Sansanさんの以下スライドも参照されており、そちらにも色々と書かれていましたので、合わせてご覧ください👇️
Railway Oriented Programming を オニオンアーキテクチャに適用する by kotlin-result
佐藤有斗(@Yuiiitoto)
株式会社ログラスで経営管理クラウドLoglassを開発するエンジニア。KotlinとReactと関数型プログラミング、単体テストなどが好きです。kotlin-treeというKotlinで木構造を宣言的に扱うためのOSSをたまに開発しています。Kotlin Fest 2024のCfPとして提出した kotlin-resultでどのようにRailway Oriented Programmingをするかについて話します。
続いては、招待LTでログラス佐藤有斗さんに登壇いただきました!みんな大好きkotlin-resultでRailway Oriented Programmingをやる話🛤️
まず最初に、Railway Oriented Programming自体の説明から入ってくれました👇️異常/正常を型で表現しながら設計していく手法ですね。
![](https://assets.st-note.com/img/1730427582-bTRdPYy2tCKQxiN8IAUH73hu.png?width=1200)
会場の方も個人的にも気になっていたのが「どの層でResultを使うのか?」というテーマ。ログラスさんはApplication創とDomain創で使ってるみたいです🚆Domain層がResultを返して、受け取ったApplication層がResultを返す処理をゴニョゴニョして、それを受け取ったPresentation層で例外に変換しているとのこと。
![](https://assets.st-note.com/img/1730428802-mj5OAcqSpEy4s9nClbMBQ8D3.png?width=1200)
「Infrastructure層ではユーザーが自力復帰できるエラーが少ないので、基本的にはResultを返さない」という点など、Resultをどう使うべきかしっかり考えて運用されているなと感じました。
Kotlin2でdataクラスの copyメソッドを禁止する
三田 英一(@Eichisanden)
株式会社ログラスで「人員計画 Loglass」を開発しているエンジニアです。 サーバーサイドはKotlin、フロントエンドはTypeScript+Reactで開発しています。 今まで様々な言語を使ってきましたがKotlinは堅牢な型がありつつ書き味の良さもあって1番好きな言語です。
続いては公募LTで、またもやログラスから三田さんの登壇です🎉
資料の通り、Kotlinのdata classではpublicなcopyメソッドが生えてしまうことで、不正なインスタンスが作られる可能性があります。これについて、Kotlin2.0.20から実装されるcopyメソッドの可視性変更が段階的に行われるみたいですね👇️知らなかった…。
![](https://assets.st-note.com/img/1730435084-CwkNcBiSjshIUEgmOu5Yn0T6.png?width=1200)
Kotlin 2.2までには対応しておく必要がありそうなので、そのやり方も合わせて最後にシェアしていただきました。助かります!
Kotlinでもアクターモデルを導入してCQRS/ESを実践しよう!
竹澤 有貴(@ex_takezawa)
千株式会社 CTO。Go、Scalaを利用したデータ基盤開発、インフラストラクチャ分野の改善・再構築、マネジメントやプロダクト開発のサポートやデータ戦略などを担当。スケーラブルなアプリケーション開発、ストリーム処理、リアクティブシステムやマイクロサービスアーキテクチャの支援、ドメイン駆動設計導入サポートなどにも携わる。
最後にこちらも招待LTとして、千株式会社の竹澤さんに登壇いただきました🤝
資料はないので一部をお届け..という形になりますが、タイトルの通りアクターモデルの話を中心にされていました。アクターモデルの説明に「ネズミ講です!」と言っていて、自分も参加者の方も腹を抱えて笑っていました。
「ネズミ講みたいなもんです!」 #serverside_kotlin_meetup
— 福本 晃之/Teruhisa Fukumoto (@terry_i_) October 25, 2024
ちなみに、Kotlinでアクター(モデル)ベースのプログラミングを行うにはPekkoなどのライブラリを使うみたいです。PekkoをKotlinでやるときのサンプルコードのリポジトリを竹澤さんが公開されてました🎉 気になる方はぜひ参考にしてください。
また、アクターとも関係が深いCQRS + ESのカンファレンスの運営に竹澤さんが関わっているとのことです。アクター興味ある勢は参加しましょう👇️
懇親会🍺
これでプログラムは以上!お疲れ様でした!
というわけで、LT終了後は恒例の懇親会タイム🍻Sansanさんのご厚意により、おいしい飲み物と食べ物をいただきました。天国だ…。
酒と食べ物がデプロイされてます #serverside_kotlin_meetup pic.twitter.com/ArWjax41Fe
— 福本 晃之/Teruhisa Fukumoto (@terry_i_) October 25, 2024
そしてありがたいことに、懇親会の最後まで参加いただいた方がほとんどで、楽しくワイワイ過ごすことができました。お疲れ様でした!
さいごに
今回のイベントの振り返りは以上です。ここまで読んでいただきありがとうございます🙌
改めてですが、登壇や運営にご協力いただいた皆さま、会場を提供いただいたSansanの方々、そしてイベントに遊びに来ていただいた皆さま、誠にありがとうございました!
ちなみに、次のServer-Side Kotlin Meetup 第14回のイベントも開催を考えております👏興味のある方はいつでも遊びに来て下さい!Xのアカウント(@Kotlin_Meetup)でイベントの予定を発信してまいりますので、あわせてフォローしてもらえると嬉しいです。
また、スマートラウンドのサーバサイドKotlinの取り組みや開発に興味がある方は、ぜひ以下の採用サイトをご覧ください🐣