5/26(土)に開催されたJJUG CCC 2018 Springを聞きにいきまして、今回はその感想を書きたいと思います。
Java10まとめと、どうなるJava11
LINEのきしださんのスピーチでした。
タイトルの通り、Java10でリリースされた内容と、Java11でリリースされる予定の内容の発表だったのですが、
そのなかで自分がおっと思ったのは、Java11で追加が検討されている、Switch Expressionsでした。
何かというと、Switchの書き方が変わりコード量が変わるのが魅力だと思いました。
今までのSwitch
int numLetters; switch (day) { case MONDAY: case FRIDAY: case SUNDAY: numLetters = 6; break; case TUESDAY: numLetters = 7; break; case THURSDAY: case SATURDAY: numLetters = 8; break; case WEDNESDAY: numLetters = 9; break; default: throw new IllegalStateException("Wat: " + day); };
検討されているSwitch
int numLetters = switch (day) { case MONDAY, FRIDAY, SUNDAY -> 6; case TUESDAY -> 7; case THURSDAY, SATURDAY -> 8; case WEDNESDAY -> 9; };
他にも検討されていることがたくさんあって、
半年ごとにリリースするのにここまで変えるのかと。しかもめっちゃ便利!素敵!と思ったセッションでした。
JavaエンジニアのためのDocker入門 〜 仮想開発・テスト環境構築 〜
きの子さんのスピーチでした。
JJUG CCC 2017 Springできの子さんの「JavaエンジニアのためのScala入門」というセッションを聴講したらとっても面白かったのと、
Dockerってクジラのあれでしょぐらいの知識(?)しかないということもあり、聴講した結果。。
このブログ記事書き終わったらDocker使ってみます!
というぐらいハートにズキュンと来たセッションでした。
何が響いたかというと、開発環境を構築する場合、今まではVirtualBoxを使っていたのですが、やっぱり、OS入れるとなると結構時間かかるんですよね。
Dockerの場合、コンテナ単位でOSを入れるわけではないので、その時間が短縮できるのはとても魅力的ですし、そもそもがAnsibleやChefのように構成をファイルで管理するのがとてもいい!
ファイルさえあればコマンドひとつで環境が出来て、時間もかからないなんて素敵!というわけで、まじでいれます。
https://speakerdeck.com/sammy7th/javaenziniafalsetamefalsedockerru-men-number-jjug-ccc-number-ccc-e5speakerdeck.com
Java から TypeScript へ 切り替えて加速するサーバーレス開発
lulznekoさんのスピーチでした。
マイクロアーキテクチャを採用し、AWS Lambdaのコールドスタートの壁にぶち当たった結果、Javaで書いていた内容をJavaScriptで書いたという、斬新なお話だったのですが。。
いや、本当。JavaScriptは TypeScriptで書いたほうがいい。と本気で思いました。
私はシベスピ内では少ない動的型付き言語出身なのですが、
やっぱりね。静的型付けに比べると動的型付き言語はチェックしなければいけない内容やテストの量は増えるんですよ。
静的型付けなら引数のチェックなんてnullかどうかぐらいでいいかもしれないですが、動的型付けは本当にそれが意図した型なのかまで調べなければいけない。
そういう意味では静的型付け的にJavaScriptが書けるってことは素敵以外の何者でもない。
個人的に一番刺さったのは、非同期コールバック。JavaScriptだと本当にめんどくさいんですよね。あれ。
DDDとクリーンアーキテクチャでサーバーアプリケーションを作っている話
ジャストシステムの福嶋さんのスピーチでした。
内容もそうですが、話し方もとても面白い!Twitterで他の方が呟かれていたのですが、動画にしないのがもったいないスピーチでした。
DDDのお話について言えば、YAPCではてなの方のDDDのセッションを聞いたことがあるぐらいだったのですが、まずこれだけは言いたい。
本も高いし!(5000円越え)そもそも本もドキュメントも少ないし!(本で言えば2冊ぐらいで両方持ってるけどすごい量)
設計思想がいいのは分かるけど、概念が分かりにくいくせにドキュメントも少な(ry
そんな中で、どうしてDDDを採用したのかも含めて勉強になる話でした。
DDDの話だけではなく、どう開発を進めていくか(コーディング規約・レビューの観点)についても話されていて、散々決めてもヌルポでばっこんばっこんおちるんだよ!と、DDD以外の話についても勉強になるセッションでした。
www.slideshare.net
余談:恥ずかしい話
スポンサーブースにヌーラボさんがいらっしゃって、私は個人的にCacooやBacklogをめちゃくちゃ使っているという前提の中、開発者の方と出会った結果。。
「もう本当大好きです!あのUIや機能が素晴らしすぎ(ry」
と愛の告白レベルでどれだけ好きかを伝えまくったという、振り返ればめちゃくちゃ恥ずかしいというか相手も照れていたというかぶっちゃけ困っていたというかなんと言うか。。
そんな告白をしつつも聞いた内容として、素敵だと思ったのが「説明書を読まなくても、エンジニアでなくても使えるインタフェースを目指しているんだ」という話で。
やっぱり人の話を聞くのは楽しいって言葉だけで表せないぐらい素敵で。秋も絶対行こうと思いました。