JJUG CCC 2021 Fallを聴講した感想文

# 目的

このページはJJUG CCC 2021 Fallを聴講したレポートです。感想文なのでお気に召さなかったらごめんなさい

# タイムテーブル

https://fortee.jp/jjug-ccc-2021-fall/timetable

# 聴講したもの

- 最新のJavaのバージョンごとの変更やコーディングスタイルに追従する
- ケーススタディを聞きたい

目的で参加しました。ひとりでは足りないのでもっと聞きたかった。。。

# 印象的なセッション
TiDBさんのお話もとても丁寧でよかったのですが、復習がかなり必要なので一回ここからは省略しました。

## エキサイトブログ刷新に向けて序章 - APIを一つに

エキサイトさんがJavaを採用されているのが初耳だったので、興味を持って参加しました。

大量のリポジトリ、数珠繋ぎのデータベース構成、大量のストアードプロシージャ、DBのフェイルオーバー中にAPIがエラーになる…
など課題が色々あって大変そうだなと思いました。

『超一流のエンジニアはドキュメントが残っていなくても、コードがドキュメントになっているはず』とおっしゃられていましたが、ドキュメントなしでのシステム維持も難しいので、どうやってドキュメントレスな形を目指すのか気になります。

JavaやSpringの活用でどう課題が改善解決されるのか、今後も活用事例を是非伺ってみたいです。
ここから先にテスト、データベースの改善やCI/CDなども絡んでくると面白そう。

## 勤怠管理サービスでの継続的テストの取り組み

エキサイトブログ刷新に向けて序章 - APIを一つに終了後に聴講したので半分だけ参加。

パフォーマンステストの実施も結構なtoilなので、自動化できているのはいいことだと思いました。

## Azure Spring Cloud の現状と最新 Azure Container Apps のご紹介

https://twitter.com/yoshioterada/status/1462259138277167104?s=20

Azure Spring Cloud便利そう。

- k8sを意識しなくてもk8sの恩恵に預かれる
- Dockerfile, yaml, TerraFormいらずで環境を作れる

のが魅力的でした。日本での商用事例も見てみたい

## Spring Boot採用システムを定期Upgradeするお話

MUITさんの社内で開発されているSpring Bootベースのフレームワークのバージョンアップの事例のお話

Spring Bootのバージョンごとのハマりどころや体制の持ち方も伺えて参考になりました。
最終的にはこんな気持ちです

https://twitter.com/doodlesuitxxx/status/1462266959173619712?s=20


## 巨大なトランザクションを分解せよ！イベント駆動入門 in Spring Framework

https://twitter.com/nrslib/status/1462321590784323589?s=20

Springのイベントハンドラは普段使わないので勉強になりました


# トレンド

私が参加しなかったものも含め、今回のセッションを個人的な感覚でカテゴリ分類してみました。
複数当てはまるなあと思うものも1つに分類し、DevOps, DevSecOps, Observavilityはひとつに纏めてしまいました。

- Javaを学ぶ
    - GraalVM を普通の Java VM として使う　―　クラウドベンチマークでの比較
    - Java ジェネリクス入門
    - Goodbye JSR305, Hello JSpecify!
    - 最新 LTS Java 17 でプログラムが書きやすくなるという話
    - Head toward Java 17 and Java 18
    - Getting the Most from Modern Java
- JVM言語
    - Kotlinを研究する
- プラットフォーム (PaaS, Database etc.)
    - Azure Spring Cloud の現状と最新 Azure Container Apps のご紹介
    - 無限にスケールできるRDB(NewSQL)でやれること
    - Kafka Cluster Design Patterns 2021 Fall
- アーキテクチャ (TDD, DDD, Microservice, Clean Architecture)
    - Applied Domain-Driven Design Blueprints for Jakarta EE
    - 巨大なトランザクションを分解せよ！イベント駆動入門 in Spring Framework 
    - クリーンアーキテクチャは難しい？
    - Debeziumで変更データキャプチャを学ぼう
    - TDD: seriously, try it!
    - Building for Resiliency, Fault-Tolerance, Scalability and Your User's Expectation by Chris Engelbert
- DevOps/DevSecOps/GitOps etc.
    - k8sでJavaを見守る新常識
    - Javaアプリケーションのアーティファクト管理とDevSecOps
    - JavaエンジニアがKubernetesでGitOpsに入門する
    - GitHub Actionsを使って学んだCI/CD環境のあれこれ 
- ケーススタディ
    - 勤怠管理サービスでの継続的テストの取り組み
    - エキサイトブログ刷新に向けて序章 - APIを一つに
    - 変わりゆくAPI連携仕様との付き合い方
    - Spring Boot採用システムを定期Upgradeするお話
    - LogbackからLog4j 2への移行によるアプリケーションのスループット改善
    - Spring Batch でサブスク1億件のクレカ決済処理
    - LINEでKotlinを活用して新規サービスを作っていく話
    - 暗算脳トレアプリで学ぶモデリング
    - 400種類以上のAPI連携をどうやって開発・サポートしているのか？　データパイプラインツール CData Sync の中身 
- コミュニティへの参加
    -  今のうちに！オンラインの英語Javaカンファレンスに慣れて渡航再開とともに現地参加（あまつさえ講演も）できる状態になっておこう！
    -  Javaとコミュニティの歩み

JVM言語はKotlinがトレンドになっていますね。

アーキテクチャはTDD, DDD, Clean Architecture, Microservicesへの注目度が高く、プラットフォームはやはりPaaSやk8sが主流なのかなと思いました。

DevOps/DevSecOps/GitOpsなどに関連した話もあり、数年前まではJJUG CCCもアプリケーションやアーキテクチャの話が幾度でしたが、アプリケーションエンジニアが扱う範囲に運用監視やパイプラインが必須になっていると感じました。

ケーススタディも性能対策、テスト、API変更、モデリングなど、扱う題材のバランスが取れていてもっと色々聞きたかったです。

普段仕事で取り組まない分野の話も聞けるので、周囲に興味を持つきっかけになりました。

# 最後にCM

1. Azure Spring Cloud日本国で事例を作れる
1. エキサイトブログさんのようにSpringでリビルドしている/これからしてみたい、というサービスでのアーキテクチャや開発文化づくりできる

お仕事に興味があります。