JJUG CCC 2025 Spring 参加記
はじめに
JJUG CCC 2025 Spring に参加してきました。 JJUG (Japan Java User Group) は日本の Java ユーザーグループで、年に2回のカンファレンスを開催しています。 初参加でしたが、Javaに関する情報を一気に触れることができて非常に有意義でした。 参加したセッションの感想をまとめます。
参加したセッション
Aurora MySQL v2 から v3 へアップグレードした話
MySQL v5.7からv8.0へアップデートする際の体験談についてでした。 Auroraの機能を十分に使うためのJDBCドライバーの選定 (MYSQL-connectorJ and AWS Advanced JDBC Wrapper) やテストの方法について触れていました。
TestContainerでしっかりJPAのNativeQueryのテストをして安全にリリースをされていたようです。 アプリケーションによってDBのConnectionPoolの設定が異なるので (Spring Boot v1.xではtomcat, v2.xではHikariCP)、人海戦術で確認していたとのこと。
設定ファイルはよくミスって障害になってしまうので、本当に気をつけないといけないですね。何度も経験があります。
Bootiful Spring Boot: A DOGumentary
JJUG CCC 2025 Springで個人的に一番印象に残ったセッションでした。 Josh Longさんが登壇し、ジョークを交えながらSpring Bootの魅力をライブコーディングで紹介していただきました。
spring modulishでoutbox patternを簡単に実装したり、Spring Bootを使ってOpenAIのAPIを呼び出すデモを行っていました。 virtual threadやGraalVMのサポートについても触れ、Javaの進化を感じることができました。
HashMap の実装ってどうなってるの?
HashMapの内部実装について、わかりやすく解説してくれたセッションでした。 たまたま数日前にLinkedHashMapの実装を見ていたので、縁があるなと感じて聴きに行きました。 hashの再計算が走る条件や, 内部でどのようにエントリが管理されているかについて詳しく説明していました。
lombokでhashCodeが実装されていればいいですが、独自実装のhashCodeも時々見かけることがあります。 セッションを聞いて、Hashが分散されるように設計することが重要だと再認識しました。
1つのメソッドに、関心事が複数あると何が辛いのか?
新卒のコードをもとに、Single Responseibility Principle (SRP) の重要性を解説していました。 テストコードを書くと、単一責任原則が外れた実装のテストの難しさに気づきますね。
込み入った実装をそのままprivateメソッドに分割しちゃうのは、結構やりがちだなと思いました。
これならできる!Kotlin・Spring・DDDを活用したAll in oneのマイクロサービス開発術
version catalogいいですよね。versionの更新がgit一行で済むのもわかりやすいです。 multi-module構成で、やっぱこうなるよなと納得できるパッケージの分け方でした。 Kotlin書きたいです。
変化に強いテーブル設計の勘所
本やブログを引用しながらテーブル設計のポイントを解説していました。 xをフォローしているのもあって、引用元のブログや書籍、登壇とコンテクストがかなり一致していました。
苦心の設計を「マジカルな実装」と表現していたのが秀逸でした。 マジカルな実装も、一時は現場のヒーロー的な実装に見えてしまったりします。 やりたいことはできているけど、これ以上はメンテナンス/拡張できなくなってしまったというのは、DBに関わらずアプリの実装でもありますね。
感想
普段Javaを使っている分、共感できる内容が多く、非常に楽しめました。 HttpClientでもしっかり躓いていますし、MySQLのJDBCドライバーのversionUpでも苦労した経験があります。
Josh Longさんのライブコーディングは本当に面白かったです。ジョークを交えながら、Spring Bootの魅力を伝えるスタイルがとても印象的でした。 Coffee + Software でYoutubeチャンネルも運営されているので、興味がある方はぜひチェックしてみてください。
次回のJJUG CCCも楽しみです。Javaの話で共感できる貴重な機会でした。