タイガー!タイガー!じれったいぞー!(SE編)

AS400,WAS,GlassFish,Java,JavaEE,JSF等の開発における日々の気づきをまとめたブログ(備忘録)。

「JJUG CCC 2016 Fall」に行ってきました #jjug_ccc

日付を跨いでしまいましたが(長州力に「跨ぐなよ!、おいコラ!」と恫喝してもらいたい)、昨日、新宿で行われたJJUGに行ってきました。
2015年春、2016年春に続いて3回目。急で強引な参加になってしまいましたが、Javaエンジニア力アップのためにも、チーム開発レベルアップのためにも、何としても次の行動に結びつけるための何かを持ち帰りたい!!! そんな思いで今回も参加しました。

www.java-users.jp

基調講演1 Be a great engineer!〜 フォローすべきトレンド、スルーすべきトレンドをどう見抜くのか

まずは、朝一発目! 去年のJavaDayで初めて講演を聞かせていただいた谷本さんの話。
前回同様、お笑い満載かと思っていたら、哲学的なお話。確かに先を見越して何にウォッチすべきかってことは、7つの習慣でいうところの第2領域の時間の使い方。的外れな技術を選んでいると、結果的に緊急性の高いタスクに振り回されることにもなります。
今自分は、JSF(スルー対象)で開発をしていますが、自分たちのニーズにまさにマッチしているので、これはこれでオッケーだと思われますが、Javaフレームワークに縛られずに、同じコンポーネントベースのAngularなどのJSフレームワークも含めて3歩先を見ていこうと思っています。まあ、その前にJFS2をまだ極めきれていないので、まずはこちらを優先する必要があります。

基調講演2 Java EE - What's Next?

Oracle社のAnil Gaurさんの講演。今後のJavaEEの展望のお話。
時代は、急速にマイクロサービス化に向かっていく(いる)、そこにJavaEEもフォーカスしていくという概要か。。。
今年春から英語の勉強を再開して継続しているのですが、ほぼ聞き取れず。通訳の方、ITにも精通しているのでスラスラ翻訳し、凄すぎです! 当然、JavaEE8,9のリリースも気になりますが、次回以降、自分の英語リスニング力をアップして、本場の方の声を堪能したいところであります。

メンバーのスキルアップ、どうしてる? -Java 100本ノックで新加入メンバーを鍛えてみた-

メンバーのJava力アップに「Java100ノック」を使ってきたお話。メンバーのスキルアップには、レビューが最も大切という。さらに、レビューは、間違いを指摘するだけでなく、「よくできたことを伝える」という部分が目から鱗でした(その前に定期的なレビューができていないのですが・・・)
さらに、アンチパターンに名前を付ければいいよと。これは今日から実践できることで、自分が経験した失敗事例アンチパターンJavaに限らず)を命名しようと思います。さて、どんな風に名前を付けようか? どうせなら、覚えやすいセンスあふれる名前がいいですよね。

GitBucketを支えるJava技術とグローバルで使われるOSSの作り方

社内で、バリバリ活用させてもらっているGitBucketの歴史を聞くことができました。今回、自分が一番楽しみにしていたセッション。
GitBucketの産みの苦労話で、「こういうプロダクトを作ってみようと思う」という著者に対し、仲間から「そんなの無理だろう」というストーリー。ここで実際に優れたプロトタイプを制作し、メンバーにみてもらって「これはいける!」となったそうです。反対などにも目をくれず、行動していく姿勢があったからこそ、このOSSがあるということですね。
増井雄一郎さんの「wri.pe」同様に、まずは自分が欲しいものを創る! その精神が素晴らしいです。
自分が今一番欲しい道具っていったい何だろうか? そういう自分への問いが大切なのかもしれません。「今までこうやってきたから!」などという思考停止発言はしたくないですしね。

JVMのトラブル解決のためにやったこと~メモリー/スレッド

こちらもずっと悩ませているヒープについて。JVM、メモリ、GC、スレッドの基本の話の後、実際にやったトラブルシューティングの話がとても参考になりました。大事なのは、問題が起きてからではなく、正常時の定期観測というもの。そのツールとして、Zipkin(分散トレーシングシステム)、cactiLinuxリソース監視Tool)、Sentry(エラートラッカー)なども教えていただきましたが、まずは、はやりログ監視をしっかり実現していく必要がありそうです(できていないので)。そのツールは定番の「kibana+fluentd+elasticsearch」を習得していきたいですね。

JPA と DDD の関係で僕が思っていること

キータの「JavaEE使い方メモ」を何度も拝見させていただいています。そのページを書いている方がスピーカーということで、こちらも楽しみにしていたセッション。
自分が抱いているJPA像って、「複雑で、いまいち」というもの。その悪印象を払拭していただくことができました。JPAどうのこうのの前に、やはり大切なのはデータ構造であるということを改めて思い知る良い機会となりました。
RDB上の再設計はまだ先になりそうですが、最重要課題であることは間違いないので、今からJPAと合わせて準備します。

Payara Micro の設計と実装

組み込み系Payaraについてのお話。正直、フルPayaraを使うようになって、もうすぐ1年か。。。
Glassfishと比べてかなり安定しており、定期的にアップデートしてくれるPayara。近々、最新版にアップする計画もあるので、Payaraの中身について話を聞けてとても良かったです。Bootstrapの部分や停止する仕組みなど、そういう内部的な動きについて詳しくなることで、トラブル解決力も上がっていくでしょう。


2016年春は、JavaEE系の話がほとんどなかったのですが、今回はJavaEE系のセッションは多くあり、とても参考になりました。ただし、EEよりもSpringの方が人気と熱気があるように思えました。Springについては、まったく試していないので、こちらも自習から初めてみます。 合わせて、JPA活用、Javaスキルアップ(教育)、ヒープ管理、ログ監視とまだまだできていないことがたくさんあることを認識することができた良い機会となりました。

できる範囲で、いや無理をしてでも、ひとつずつ取り入れてやっていこうと思っています。

何のためにそれらをやるのか? 答えは簡単です。
そのシステムを使うユーザーのため。さらに継続的に管理・改善していく自分たちチームのため。その2つしかありませんね!