JJUG CCC 2016 Fall に行ってきました。簡単に所感をまとめます。
[CCC2016Fall]Be a great engineer! #jjug_ccc #ccc_a1 - Speaker Deck
- 「こんなセッションを聞きに来てる時点でダメ」とのこと
- 技術の本質を考える
- 適材適所で使い分ける
- 技術には必ずニーズが伴う (解決したい課題はなにか)
- 技術的に優れていてもそれが正解とは限らない
他所のとある現場で、流行りの技術を使おうとして半ば強引に某フレームワークを採用しているんじゃないかと思えるようなケースを見たことがあります。そのシステムでそのフレームワークを使う必要があるのかと疑問ではありましたが、自分の考えにイマイチ自信を持つことができませんでした。
そういう意味で、このセッションの話を聴いて自分の考えは概ね間違ってないなと思えた気がします。いきなり「こんなセッションを聞きに来てる時点でダメ」とか言われてお茶吹きそうになりましたが、いい話が聴けてよかったです。
流行りに乗っかろうとして目的と手段を間違えそうになることあるよね #jjug_ccc #ccc_a1
— kntmr (@knt_mr) December 3, 2016
SpringはどうやってDIしているのか? #jjug_ccc - Speaker Deck
- Spring Framework の The IoC container あたりの話
BeanDefinition
はDefaultListableBeanFactory
のインスタンス変数であるConcurrentHashMap
に保存される- 要復習
とにかくひとが多くて、改めて Spring の勢いを感じました。Spring のコードリーディングの話はたまに聴くけど、毎回勉強せねばって思う...。
メンバーのスキルアップ、どうしてる? − Java 100本ノックで新加入メンバーを鍛えてみた −
- 回答 -> PR -> レビュー のサイクル
- 教える側も本質を正しく理解していないといけない
- アンチパターンには名前をつけるとよい
- 「あなたが書いたコードはコピペであってもあなたのもの」
- 自分がコードを書くところは自分の責任
Oracle のベンダー資格あたりも入門として使えそうな気がするけど、Java 100本ノックはより実践的な内容っぽいし、レビューし易いというのがメリットな気がします。
- この日、最も聴きたかったセッション
- JUnit4 と JUnit5 の互換性はない (別のフレームワーク)
- 基本的な機能は名前やパッケージが変わった程度
assertThat
がなくなった (hamcrest を入れれば使える)@Enclosed
->@Nested
@BeforeEach
を使えばネストクラス間で初期化処理を共通化できそう
@DisplayName
でテストに名前を付けることができる- メソッド名を日本語で書いてた日々に別れを告げる...
既存のテストを JUnit4 から移行する必要はなく、JUnit5 の正式リリース以降、新しくテストを書く場合に採用する感じでよさそう。
あと、テストメソッドの実行順序を制御する機能(@FixMethodOrder
)があることを初めて知りました...。というか、実行順序を制御しないといけないケースに遭遇したことがないし、そもそも実行順序に依存するのはユニットテストとして NG だと思ってました。が、JUnit をシナリオテストで使うケースがあるんですね、なるほど。
現時点で自分のやりたいことは JUnit4 + JMockit でひと通りはできていて、JUnit5 ならそれがもう少し簡潔にできるのかなという印象。ただ、ぶっちゃけ Runner とか Rule とか Parameterized とか Theory とか JUnit の機能をまだ全然使いこなせていないのでもっと勉強が必要です...。
JPA と DDD の関係で僕が思っていること - Qiita
- 生 opengl-8080 さん
- 内容の緻密さがすごい
- JPA マッピングカタログ - Qiita
- 要復習
その他
CCCは7回目の参加になりますが、昔に比べて参加者が格段に増えて規模も大きくなりました。その分、セッション数も増えてどれを聴こうか迷います。あと、マスクがノベルティとして配布されてたけど、大人数が集まる場ではとてもよいですね。ありがたや。
エムスリーはノベルティとしてマスクをお配りしております!!ぜひお持ちください〜 #jjug_ccc pic.twitter.com/w6kYm5xtom
— たろう (@ngsw_taro) December 3, 2016
その他の資料 (把握してる分のみ)
- [完全版] 新人研修や本では教えてくれないJava! - Speaker Deck
- SIerもはじめる、わたしたちのDevOps
- SIerもはじめる わたしたちのDevOps #jjug_ccc
- Event Driven Microservices with Spring Cloud Stream #jjug_ccc #ccc_ab3
- Spring超入門-Springと出会ってから1年半-
- GitBucketを支えるJava技術とグローバルで使われるOSSの作り方
- Technical documentation, API, and code examples | Microsoft Docs
- はじめに · WildFly Swarm Tour
- Try Selenide
- Jvm言語とJava、切っても切れないその関係
- http://www.slideshare.net/khasunuma/payara-microinternals
- 俺のコードがどこでつかわれているのかわからない問題 あるいはマイナーOSSの生存戦略
(2016/12/06 追記) ここに資料まとまってた。