構築中。

名古屋のITインフラお守り係です。ITイベントへの参加記録などを残していきます。

JJUG CCC 2017 Fall(11/18)

前日の博物館めぐりに続いて、行ってきました。

www.java-users.jp #jjug_ccc

f:id:hmatsu47:20171119195519j:plain

聞いてきたセッションは以下のものです(LTは省略)。

 

サーバーサイドでの非同期処理で色々試したよ。(Koji Linさん)

朝からちょっと難しめのセッションでした。

フライング気味に入ったおかげで、少しですがLinさんとお話することができて良かったです。

私が関係するプロダクトでは非同期通信未導入でこれから必要かな…というような状況で、やっぱりSpring Framework 5(Boot 2)の助けを借りたほうがいいかな…という気がしているのですが、フレームワークは別として既に試行錯誤されている方の話を聞けるということで選びました。

LINEが非同期対応を始めてから一旦完成→その後RxJava 2.0に移行、という流れの中で出てきた問題(非同期で書くのが面倒だからといって安易に同期コードを書いてしまいがちなところをがんばって阻止、とか)は、どのフレームワーク/ライブラリを採用することになったとしても参考になる話でした。

今、この本を読んでいるところですが、本の著者とは別の視点からの話を聞くことができたのが収穫です。

www.shoeisha.co.jp

 

10年前のレガシーシステムをサーバーサイドKotlinでフルリニューアルしている話(前原 秀徳さん)

スライドがはてブホッテントリ入りしたことでわかる通り、注目のセッションでした。

フロントエンドにRuby on Railsを使っているプロダクトのチームでレガシーなJavaサーバサイド(独自フレームワーク)をリニューアルする上で、RubyエンジニアにもJavaエンジニアにも受け入れやすく開発生産性が上がる言語としてKotlinをチョイスしてプロジェクトをすすめた…といいたかったけど現在進行形で進めている(発表にちょっと間に合わなかった)、という話です。

KotlinにはSpring Bootを組み合わせたり、DBアクセスのためのDoma2(ORM)を直接扱うコードはKotlinではなくJavaで書いていたりするそうですが、学習コストはKotlin<<<Spring Boot(「<」の数は勝手に推測しました)な感じでむしろSpring Bootに慣れるほうにコストが掛かっているぐらい、とのことです。

懇親会の時にも少しだけ前原さんと話す機会がありましたが、Kotlinをすごくプッシュされていました。

 

JJUG初心者のためのJava/JJUG講座鈴木雄介さん)

JJUG会長鈴木さんのランチセッションでした。JJUGビギナーですが当初参加を予定しておらず先に昼ご飯を買ってから会場入りしたため、特に弁当をもらう気もなく…と思って列に並んでいたところで前のセッション会場にキャリーバッグを忘れたことに気づき、列から離脱している間に弁当は配布終了していました(断るまでもなかった)。

Dukeおにぎりの現物だけは見たかったですが。

このセッションが行われることになった経緯について何も知らなかったのですが、JJUG CCC 2017 Springで大混雑したことで一部の参加者から批判の声が上がったことが一つのきっかけになっている(JJUGのコミュニティ活動について知らない人がJJUG CCCに参加するようになったので、ちゃんと理解してもらえる機会を設けたい)ようでした。

私も(一部知っていることもありましたが)知らないことがたくさんあって、予定外でしたが参加して良かったです。

因みに、以前職場にはSunのハードウェアとかマニュアルとか色々ありました…が、数度の引っ越しを経てすべて廃棄してなくなってしまいました。

 

DDD × CQRS - コマンドとクエリでORMを使い分けた話(松岡 幸一郎さん)

自社プロダクトでは訳あってORMは廃止したのですが、CQRS(コマンドクエリ責任分離)に興味があったので参加。

リードレプリカによる参照系の一部の分離以外は自社で採用する可能性は低いのですが、そのような考え方や事例があることを知っておいて損はないと思います。

※要は個人的興味100%で話を聞いてみた、ということで。

 

劇的改善 CI4時間から5分へ〜私がやった10のこと〜(aha-oretamaさん)

「不良なプロダクトコード」だけでなく、「不良なテストコード」がどんどん生産されて負債として積みあがっていく姿が想像できる話でした。

(CIが)定着しないのも問題だけど、ルールだからと言って惰性で回していると、いつの間にか当初の目的を達せられなくなっていた…というのはよくある話です。

 

Java SE 9の紹介: モジュール・システムを中心に(宮川 拓さん)

モジュール・システムに少しビビっていたので参加。

こうやって解説していただけるのはありがたいです(1回聞いただけではすべて理解できていないので、復習は必要)。

下手なコメントを書くより、丁寧なスライドを見てもらったほうがよく分かります。

「じゃあ、イベントそのものに参加しなくてもスライドを見ればいいじゃないか」という話にもなりそうですが…イベントに参加すると、セッションの参加人数や周りの反応などで、「どれくらいヤバいやつなん?」ということがイメージできるので、やっぱり参加したほうがいいと思います(Twitterでも反応は見れるけど、Tweetするのはほんの一部の人だけなので、やっぱり全体的な雰囲気はわからない)。

 

JDKの新しいリリースモデル(伊藤 敬さん)

これからのJavaシステムに大きく影響がありそうな話題だったので、実用性100%でチョイスしたセッションだったのですが、「まだ正式にしまってないのでコロコロ変わるかも」というようなことを言われていて…正直、拍子抜け(注:伊藤さんのせいではありません)。

とはいえ、「Depricatedが出て2バージョン後に原則削除」「次バージョンが出ると終了するのは機能リリースのみで、メンテナンスリリースは継続する(いつまでなのかはわかりませんでしたが)」ということを知ることができて良かったです。

 

Javaで使えるもう一つのコンパイル方式 - AOT(西川 彰広さん)

AOT=事前コンパイル方式の話でした。

まだ試験導入段階なので実用は不可ですが、実用段階に入ったらAWSのLambdaなどでも威力を発揮しそうです(JavaのLambdaは暖まった状態で維持できれば他言語環境より速いので)。

HotSpot(Oracle製)ではなくて他社製JVMの一部ではすでにAOTが導入されているものがある、という話は初耳でした(普段あまり気にしていないので)。

 

DBのTCPプロトコルとJDBC(yohei yamanaさん)

完全に趣味100%で参加しました。

MySQLは、型の扱いがユルいイメージがあるのですが、プロトコルもコードもユルい…というより自由奔放(PostgreSQLのほうはかっちりしている)、というのが印象的でした。

コメントは短いですが、こういうのは大好物です(↓のようなのも)。

 

CPUから見たG1GC(数村憲治さん)

こちらは完全に趣味、ということではなくてプロダクトでもG1GCを使っているので半分実用目的での参加です。

一度もGC(FullもMinorも含めて)が発生しないように調整した環境で、あるコードを実行するとG1GCのほうがParallel GCより6倍以上の時間が掛かり、CPUの実行命令数が3倍、サイクル数が9倍になるのはなぜか調べていくと、L1・L2のキャッシュミスや分岐ミスが多くなっており、その原因として…というような感じで、かなり突っ込んだ話が展開されました。

GCというのは「ゴミ集め」なので、集める前に「ゴミかどうか」を判別できるようにしておかないと誤ってゴミでないものを回収してしまいます。そのような「判別できるようにしておく」ための、GCより前段階の処理が(Parallel GCと比べて)G1GCのほうが複雑で遅い(ケースもある)、といったところでしょうか(かなり雑なまとめですが)。

おそらく、商業向けイベントではこのような話は聞けないので、コミュニティ系イベントならではのセッションだったと思います。

面白かったです。

 

最初にJJUG CCC 2017 Fallの参加申込をしたときには「懇親会なし」を選んだのですが、無料枠キャンセル待ちがたくさんいたのと少しLTを聞いてみたかったのとで、直前に懇親会参加に切り替えて、19:45頃までLTを聞いてから会場を出ました。

f:id:hmatsu47:20171120082926j:image

帰り道、地下鉄の駅入口を通り過ぎてしまったり四谷でうっかり反対側に乗り換えてしまい新宿に戻ったり…右往左往したのち、なんとか新幹線に間に合いました(EX-ICなので時間は変更できて良かったのですが)。

が…急いで懇親会の会場を出たので、キャリーケースの上から上着(外で着るものではなく室内が寒かった時に着ようと思って持って行った薄手のもの)がずりおちていたのに気づかず、(多分)そのまま会場に忘れてきてしまいました。

 

着古したものだったのですが、もし見つかったとして、着払いで送ってもらうにしても(資源ゴミとして)捨ててもらうにしても、スタッフに手間をかけてしまいそうのが申し訳ないです…。

 

11/21追記:

忘れ物が無事に見つかりまして、着払いで送っていただくことになりました。ありがとうございます。

自分の忘れ物について著名人の方とやりとりするのはすごく不思議な感覚でした。

 

11/24追記:

送られてきた忘れ物を受け取りました。

やりとりしてくださったTさん、発送してくださったSさん、その他この件に関わっていただいた皆さん、ありがとうございました。