JJUG CCC 2018 Spring に参加して来ました

お久しぶりです。角刈りの関谷です。先日開催されたJJUG(プログラミング言語のJavaエンジニアが参加するコミュニティ)主催の「JJUG CCC 2018 Spring」に参加してきました。どのセッションも充実していましたが、その中で特に印象に残ったセッションの一部を紹介します。

  • 収益を支える中規模アプリケーション開発奮闘記
  • Spring Boot と一般ライブラリの折り合いのつけかた

収益を支える中規模アプリケーション開発奮闘記

・概要
アプリケーション開発で学んだコードレビューの指摘内容やパフォーマンスに関するノウハウを紹介していました。
http://www.java-users.jp/ccc2018spring/#/session/a84dbded-7581-41e9-9fc7-2da3532c8760

・発表資料
https://www.slideshare.net/tamrin69/jjugccc2018-app-review-postmortem/

レビューについて

レビュアーがコードだけでなく関連ドキュメントも読み、レビュー観点を細かく設定し、時間を掛けてレビューしていると発表していました。「本番環境でバグが原因の障害は片手で数えられる程度」と聞いて驚きましたが、レビューに時間を掛けている結果が表れていると思いました。レビュアーによってレビュー観点が違うことはあります。レビュー観点や指摘が多い内容をうまく共有することでレビューの効果をこれだけ高められることがわかり、とても勉強になりました。

アトラスでもレビュー依頼時に関連ドキュメントのリンクを付けることで、レビュアーが関連ドキュメントを確認できるようにしています。そのため、レビューではコードの指摘だけでなく、機能仕様や設計についての指摘をすることもあり、単体テスト前に多くのバグを見つけ修正することができます。

コードの構文チェックは機械でもできます。人が時間を掛けてレビューする以上は、仕様を理解したうえでの本質的なレビューに時間をかけ、バグが原因の障害を減らすようにしていきたいと思います。

Spring Boot と一般ライブラリの折り合いのつけかた

・概要
Spring Bootは簡単にインストールや初期設定ができます。しかし、一般ライブラリは自力で導入する必要があります。導入時にどのようにしたらいいのか紹介していました。
http://www.java-users.jp/ccc2018spring/#/session/8d194789-8c0b-4473-8228-e2b5c6e80d29

・発表資料
https://speakerdeck.com/saiya_moebius/spring-boot-to-ban-raiburarifalsezhe-rihe-ifalsetukekata

一般のライブラリをDIらしく使う

アトラスでは一般のライブラリをそのまま呼び出して使っているだけでしたが、一般のライブラリをDIらしく使うことでテストのしやすさが向上すると聞いて勉強になりました。

アトラスではSpringを導入してから日が浅く、試行錯誤しながら開発をしているので、一般のライブラリをDIらしく使えていません。今後はテストのしやすさにも考慮した実装をチーム全体でできるように、まずは発表資料のサンプルコードを参考に、既存のプログラムに試してみようと思います。

ライブラリの依存管理

一般のライブラリは便利な反面、膨大な脆弱性情報の中から該当するライブラリの脆弱性を管理するのは非常に大変です。アトラスでも各プロジェクトの一般のライブラリの脆弱性をどのように管理するべきか課題となっています。Mavenで脆弱性チェックプラグイン(dependency-check)があることを知ったので、使ってみようと思います。

参加した感想

今回で6回目の参加でした。回を重ねるごとに参加者や出展者が増えて盛り上がっています。初めて参加した時は開催当日にも参加受付をしていましたが、最近では開催日の1週間前にはキャンセル待ちになるぐらい人気です。セッションはJavaの話を中心としたものがメインですが、最近はJava以外のセッションもチラホラ見かけるようになり、Javaエンジニアでなくても参加しやすいと感じました。

紹介できなかった他のセッションも含めて発表資料はこちらにまとまっています。
https://github.com/jjug-ccc/slides-articles-2018Spring

発表資料は公開されるものが多いですが、実際に会場へ行って聴いた方が良い刺激になったり、発表者に直接質問できたりするので、これからも定期的に参加して学んだことをプロジェクトに取り入れていきます。例年通りだと次回のJJUG CCC 2018 Fallは11月下旬から12月上旬ぐらいに開催されると思うので、是非参加してみてください。