JJUG CCC 2015 Fall(2015/11/28, 東京・新宿)

はじめに

新年早々、昨年の話題ですが。

日本Javaユーザグループ主催のJJUG CCC 2015 Fallに参加してきました。

JJUG CCCの参加は3回目ですが、Javaといっても様々な切り口の発表があって、かつ祭典の様な雰囲気もありつつ、非常に得るものが大きいなと毎回実感しているイベントです。

今回は学生2人も北海道から一緒に参加しました!そもそも勉強会などに積極的な2人なのですが、今回は、一緒に運営している北海道のJavaエンジニアコミュニティ Java Do の立ち上げを(いきなり懇親会の話ですが)LTで皆に知ってもらおう!という野望があったのです。

おかげさまで、次回以降のイベントに繋がる話もいくつかさせていただくことができたり、一緒に研究した卒業生達と一緒に働いている方がわかったり、「北海道にJUGできた」とツイートしていただけるようになったり、思った以上に実りの多い機会となりました。ありがとうございました。

もちろんCCC自体も非常に盛り上がり、勉強になるセッションが目白押しでした。

公開された資料などはこちら:http://www.java-users.jp/?page_id=2064

以下、聴講した(+α)のセッションで印象に残った点&メモ書きです。

keynote-1 基調講演1: Javaは守りに入らない、これが今のJava

cero_tさんから、JavaOneの紹介も交えつつ、今回の見所が紹介されました。TLからの(スベるかスベらないかの)熱い応援がありましたが、当初の聴講予定を変えようか...と聴講者に真剣に振りかえさせるような、面白く力強い紹介でした。

  • Spring Boot, Spring Cloudいいよね!
  • モダンなものを取り入れれば人気は上がる
  • KotlinはAndroidで使われている(8使えないので、シンプルでモダンなものとして)
  • Cloud
    • level1 EC2 Only
    • level2 VPC + Managed Service
    • level3 Managed Service Stream
  • G1GCはたこ焼き器 が凄くしっくりきた
  • Community:Enjoy and improve your job

keynote-2 基調講演2: Java EE 8 – Work in Progress

David Database Delabasseさんから、Java EEの方向性と実装予定についての講演。Davidさんのプレゼン内容はもちろん、翻訳の方も非常にわかりやすいセッションでした。

話の本筋とは関係ないですがWicketの名前が出てて、Wicketハードユーザーとして嬉しいかったです(単純)。

  • HTML5対応の強化
    • JSON-B 1.0やJSON-P 1.1、Server-Sent Event
  • Model View Controller
    • Component Oriented (JSF, Wicket...)
    • Action Oriented (Struts, Spring...) ← Java EE8, ただしJSFの置き換えではない
      • Model:CDI, Bean Validation, JPA
      • View:Facelets, JSP
      • Controller:JAX-RS

昼飯

カレーうまい。

GH-1 JAX-RS入門および実践

うらがみさんのセッション。

まだJAX-RSをちゃんと使ってみたことはないんですが、気になっていた認証方法や、JAX-RSMVCもやりたいときはどうする?など、今日からプロダクトで実践しよう!と思ったときの良い入門セッションになっているなあと思いました。

好きになれるフレームワークを使う事が大切というメッセージにはとても共感。(向き不向きはあるけれども、好きなフレームワークが一番深く入り込めるし、うまく行く気がするんですよね)

個人的には大学で今ちょっとした転換期を迎えていて、Servletでがりがり書かせる授業スタイルをJSFJAX-RS(かそれ以外)に変えようか、という悩みを抱えているんですが、それの大きなヒントになりました。

CD-2 Java8移行から始めた技術的負債との戦い

清 大輔さんのセッション。

Java8に以降しようとして、移行する前にやらなくちゃいけないことがたくさんあった...という現実とどう戦われたかという話。

個人的なプロジェクトではJava8にして困ることがなかったのですが、それは小・中規模な話であって、実際の製品レベルのプロダクトだとなかなか大変なのだなあと思いました。

SDKに限らず、フレームワークレベルでもマイグレーションのトラブル事例って結構必要性が高い(けど共有しずらい)と思うので、こういった発表の場で「そういえばあの会社さんが知見を共有してたな...」というのがあると、非常に心強いと思います。

CD-3 よくある業務開発の自動化事情

irof さんのセッション。

テストもデプロイも自動化せな...!自動化で早く帰ろう!っていわれている昨今、でも現実にはこんな問題や事例があってね...という話。

CI職人がどうしても必要になるし、CI職人が頑張ってもチームからの協力が得られなくなれば(むしろ、自動化手順をチームが入れることを拒むことも)形骸化するという話は、学生の研究プロジェクトにせめてテスト駆動だけでも入れたいと思っている自分にも少し頭を冷やすきっかけとなる話でした。(もちろん、入れたい方針には変わりは無いのですが)

ちゃんとした開発ルールや文化として自動化を取り入れていく下準備が必要だなあと改めて認識をしました。

EF-4 ソラコムでのJava/AWS活用 – SIM管理やAWS Lambda Javaなど –

片山 暁雄さんのセッション。

SORACOMさんの話はクラスメソッドさん主催の勉強会などでも何度か伺っているのですが、今回は特にAWS Lambda(Java)についての話が聞けると思って参加しました。

特にLambdaの部分は基本的な部分から説明やサンプルコードや、SwaggerベースWebAPIを作成するためのライブラリ(SpringFox, SpringFox-static-docs)の話もあり、未知の領域からだいぶ輪郭をはっきりと捉えることができました。

最後はjavax.smartcardioを使えば以外と簡単にICカード読めるよね( 住基カードとか何入ってるんだろうね!)みたいな。

GH-6 Java8 Stream APIApache SparkとAsakusa Frameworkの類似点・相違点

みんなは一度は見たことがある灰色のサイト、ひしだまさんのセッション。

近年の分散型システムの成り立ちと、HadoopとSparkやAsakusaの立ち位置の違い、DAGの視点から見るとStream, SPARK, Asakusaに共通点があり、同じフローで使い始めることができる話など非常に興味深い内容でした。

分散型システムはどんどん後発プロジェクトや新しいものが出てきていますが、同じフローという観点で作れれば、非常に導入しやすいですね。

EF-7 コミュニティディスカッション~みんなもやろうコミュニティ運営~

寺田さんのセッションも魅力的だったんですが、やはりJavaDoを立ち上げたばかりということで、こちらに参加しました。

コミュニティの周知や交流、そしてお金の話まで、なかなか普段は知見が共有されない部分が、各コミュニティの参加者や主催者からディスカッション形式で事例として共有されて、参考になりました。

JavaDoは余り懇親会では困ってない(すぐにビヤホールジンギスカン食べに行くので)ですが、お金の所は、将来有料の会場とかを借りるときに考えなきゃな...と後回しにしていたところでした。

デリバリー型の懇親会も一度チャレンジしてみたいなあ。

AB-5 Javaエンジニアに知ってほしい PostgreSQLアンチパターン(と、懇親会LT)

曽根 壮大さんのセッション。

資料&LTだけ拝見した形だけれども、あるある過ぎて身につまされました。

  • とりあえず削除フラグだけでスライド100枚近く X-) でもそれだけ重要ですよね
  • マテビュー⇒マテリアライズドビュー
  • いろんなDBMSがあるけど、それぞれいけてないところもあるよね
  • でもPostgreSQLで良かった!
  • Join postgresql-jp on Slack !!

レポが遅くなりましたが、以上でした。