JJUG CCC 2019 Fall参加記

JJUG CCC 2019 fall に参加しました。

こんな感じのタイムテーブルで行われた、大規模なJavaカンファレンスです。

https://ccc2019fall.java-users.jp/timetable.html

今回から、講演の一部が「ステップアップセッション」という初心者向けとしてラベル付けされていました。

参加したセッションの多くがこのステップアップセッションになりました。

Gradle を完全に理解した人が、何も分からなくなるための第一歩

資料は以下です。

qiita.com

QiitaでJavaといえばこの人です。

「今年はGradle結構やったのでアウトプットしてみました」ということを話していて、今までたくさんアウトプットしている人も新たにチャレンジしていてすごいなと思いました。

スライドの具体例がとても丁寧で分かりやすいです。

自分はGradleは初心者未満でした。たまに、ちょろっとライブラリを増やすとかくらい。

とはいえ今回のセッションで、「じゃあ明日からbuild.gradleのメンテよろしく!」って言われても泣きながらOKできるレベルにはなりそうな気がします。

入門 例外

資料は以下です。

github.com

独自例外クラスの中に、finalのプロパティを持たせて、受け手に情報を渡せるようになります。

例外を「投げる」ときはその名の通りthrowを書くのですが、その理由が説明されていたのが良かったです。ちなみに、 メソッドの実行を終了し、失敗したと呼び出し元に通知できる からです。

資料のよくわからないところを聞いてしまったが、資料のアラを突っ込んだ野暮なものでした。とりあえず雰囲気をつかむところが大事なのかなと。

入門ということで詳しく説明されませんでしたが、実際try-with-resourceで書くときのリソースって何なんでしょうね?ファイルとか?

DBアクセスとかはもう少し汎用的なところで書くような気がする。

これはステップアップセッションになっていませんでしたが、それに入れても良いかなと思いました。

まだまだ間に合うJUnit(再)入門

資料は以下です。

自分がJUnitに関して初心者であること、JUnit4から5に移行したいと考えている身であることから、お役立ちのセッションになりました。

アノテーションが導入されていたのがJunit4からだというのは初めて知りました。3以前は使ったことがないので。

Junit5だと、クラスやメソッドがpublicじゃなくてもいいのかというのはあまり意識していませんでした。まああんまり関係ないような…?

Junit5への移行のメリットとして、assertAllで全部のテストを実行してくれることがありそうです。

Junit4だと一か所でも落ちると、以降を実施してくれないので、Assertionを複数おいている場合はフラストレイティングな気がする。

JVM入門 -Javaプログラムが動く仕組み-

資料は以下です。

講演者がめちゃくちゃ緊張していた気がします。

JVMについて全く中身を勉強したことがないので、「こんな用語があるのか~」くらいの感想でした。

GCについては時間を割いて説明されていました。いくつか種類があるのを初めて知りました。以下の記事などを見て勉強したいと思います。

gihyo.jp

絵で説明しているのでふわ~とイメージが頭の中に入っていく感じでした。

今回出てきた用語を追うことでさらに理解が深められると思いました。後ろに参考資料もついています。

DIコンテナ入門

資料は以下です。

backpaper0.github.io

このころには大体燃え尽きているのでいいセッションがなかったら帰っているのですが、今回はスピーカー・内容ともに楽しみだったので参加しました。

まず、DIの仕組み、および内部生成ではなくインジェクションを使うメリットが説明されています。今までなんとなく把握しているものの、うまく説明できないレベルでしたが、今回はっきりしました。

Beanとコンポーネントは大体一緒というのは「そうなんだ、よくわからなかったけどそりゃ分からんわけだ」という感じでした。

講演者は、主観だとしたうえで、フィールドインジェクションよりコンストラクタインジェクションを使うべきだとしました。

ただ、自分のIntelliJ IDEAだと、フィールドインジェクションはコンストラクタインジェクションにするように警告されます。かなりはっきりとコンストラクタインジェクションを使うべきと言っていいと思います。とはいえ、その理由がよくわかっていなかったので明快になってよかったです。

まとめ

今回のセッションは、自分の興味を惹かれるものがたくさんあってよかったです。

ステップアップセッションのレベル感は自分の予想した通りで、それも良かったかなと。ほぼ全く触ってない分野はちょっと難しいなと感じますし、少しやっている分野については有意義という感触でした。

来期もこの枠組は設けて欲しいなと思いました。

おまけ

初心者向けは埋まるのが早いのでキャパをチェックすべきでしょう。私は一つのセッションが満員で入れませんでした。

紙でもらったタイムテーブルにはキャパが記載されていますが、HPだとないですね。