エンターテイメント!!

遊戯王好きのJavaエンジニアのブログ。バーニングソウルを会得する特訓中。

Java Day Tokyo 2016 参加報告

開催概要

開催日時

2016年5月24日(火) 9:30 - 20:00

主催

日本オラクル株式会社

会場

東京マリオットホテル

受講セッション

09:30-11:30 Innovate, Collaborate, with Java
13:00-13:50 Java SE 9 Overview
14:05-14:55 Project Jigsawではじめるモジュール開発
15:10-16:00 受講なし
16:15-17:05 実践して分かったJavaマイクロサービス開発
17:20-18:10 Javaエンジニアのための“クラウド時代の過ごし方”
18:30-20:00 パネル・ディスカッション - Java Day Night Session with NightHacking Tour

受講内容

Innovate, Collaborate, with Java

基調講演。
いつもの日本オラクルの杉原CEOの話から始まり、海外のJavaエンジニアの話。
技術職以外の人が結構いる。
たぶん、スーツ着た人が技術系以外の人なのだろうな。。。
Javaのイベントにしては、脅威のスーツ率で驚いた。

JCPの参加企業一覧を何となく見てたが、NEC、日立、NTTの名があった。

マイクロサービス、分散処理、ポリグロットを強化していくとのこと。
印象としては、Javaをプラットフォームの一部と捉えて、他言語で作られたシステムとの連携を強化していく印象を受けた。
クラウドを推し進めていくので、そういったことが必須になる。
全体的にクラウドを押していくこと、Java8の成功、プラットフォームNo1って主張が多かった気がした。

NetBeansのデモがあった。
最初、NetBeans見た時、InteliJかと思った。
ダークイメージ=InteliJの印象が強く、パット見真似したのかなって安易に思ってしまう。
NetBeansを使ったJava9のデモで、試すのが容易なら久々に使ってみようかなって思いました。

Javaに移行した損保ジャパン日本興亜

COBOLJavaへの移行の話。
一時、ニュースになったが、その理由を聞けた。
要約すると、FineTechの流れで金融の在り方が変わったが、保険業界も遅かれ早かれ、その波が来る。
それに対応するために今回の刷新が行われた模様。

FineTechは知っていたが、ここまでインパクトが強いものなのか。。。
世界的な流れは、追ってないと起きざれにされそうな予感がする。

今後のJava

Java9

Project Jigsaw
モジュール化。
セキュリティと高速化の両面でメリットが出てくる。

Java10

Project Valhalla
使用メモリ削減のための方が提供される。
ヴァルハラが中二臭すぎる!!
北欧神話はなんでこんなに中二臭いのだろうか?

Java11

Project Panama
ネイティブと変わらない実行速度を提供する。
パナマって言われると文章より、マスドライバー

Javaエバンジェリスト、バイクで日本各地を放浪

今月に行われた日本各地のJavaのイベントのためにバイク移動していたことを語ってた。
赤いバイクだった。遊星号みたいだな〜と思っていた。誰も分からんだろうけど。
バイクは、憧れがある。ホイール・オブ・フォーチュンのような単輪タイプのバイクに乗りたい。

回った箇所で、新潟スルー。
新潟は、そもそもJavaの案件事態ほとんどない印象がある。
どちらかと言うと.NET系が多い印象。
自分は、下越地方にいたので、下越地方の諸事情ではあるが。。。
新潟でJavaの仕事が取りづらい背景には、個人でWebサービス立ち上げるところが少ないからかと勝手に思った。
上越では、また違うのかもしれない。
AWSの勉強会あったりするので、上越Javaの仕事があるのかも。

ちなみに、新潟の上・中・下は言葉の意味と位置が逆。
上越は、一番南、下越は一番北。
地図だと、代々上が北なので、位置的に下越は一番上に来る。
理由は、京都に近い方からそう読んでる文化が定着して、現在に至っている。
どうでもいい話でしたー

ドローンデモ

ドローンを使ったIoT関連のデモ。
初めてドローンを生で見た。
意外と音が凄い。
巨大なハチが飛んでるみたいな音。
ハチに刺されたことがあるので、若干畏怖の念がある。

ドローンの用途としては、農業・インフラ点検・災害対応が上がっていた。
新潟に居た時、ドローンではないが、ラジコンヘリで農薬散布しているのは見たことがある。
ドローンに変わるということは、作業の自動化に近いのかな?と感じた。

ドローンの問題点とそれに同対応しているかの話があった。
窃盗・悪用対策として、認証機能が入っている話があった。
具体的には、クレジットの認証機能を使って、人と機器の関連付けをする。
万が一盗まれても、動作させることができないし、悪用されても誰がやったのか特定できるようにしているとのこと。
ドローンの仕様策定委員会を発足して、早めに認証機能搭載を義務付ければ、流通するのでは?と個人的に思いました。

ペッパーのデモ

久々にペッパーを見た。
意外とケツがプリティだと思いました。
クラウドに取った写真をアップロードするデモで、実際にクラウド上にアップロードされていた。
写真のポーズでデュークの4本指が話題になった。

受講セッション内容

以下、受講したセッションの内容メモ。

Java SE 9 Overview

マイクロサービス適用するための機能が充実している印象。
最低限の構成を適用できる様になることを推していた。
後は、Java9の次の話が少々あった。

モジュール化のメリット

  • モジュール単位でのアップデート
  • マイクロサービスの適用

変わること

  • sun.misc,sun,reflect → 削除される

Java9の後

  • Value class
    • 今まであった、メモリ参照で使っている領域を減らす
  • JNL
    • ネイティブアプリへのアクセスの簡易化
    • 今後のクラウド化には必須のため

今後のJavaの動向が知りたい場合

OpenJDKやJEPを参照すれば、将来的なプラットフォームとして何が来るか分かる。

Project Jigsawではじめるモジュール開発

今のJavaの問題点

  • クラスパス多すぎ
  • 標準ライブラリ、デカすぎ
  • 依存性が分からん
  • バージョンなし
    • ファイル名に書くとかのことではなく、真の意味でのバージョン情報
  • Publicの範囲がデカすぎる

これらの問題を解決するのが、Java9のJigsaw

依存性の記述と、publicの公開範囲が変わる。
バージョン情報の記述は、Java9以降になりそう。

実践して分かったJavaマイクロサービス開発

マイクロサービスは手法で、それを目的にしてはいけない。
なので、マイクロサービスが出てきた背景を知って、どう適用するか判断する能力が開発者に求められていると感じた。
サービスをどの単位で分割するか、設計段階で考えることは重要であるが、やり過ぎると結局何もできなくなる。
実際にサービス提供して、どの部分が変化するのか判断し、徐々に変化に強くしていけば、結果的にマイクロサービスになる。

SQLにみるサービス化

  • join句が多い→モノリス
  • join句が少ない→マイクロ

なんか覚えがある。。。
join句が多いとDB同士の結合が強くなって、サービスが分割し辛くなるのは何となくイメージがつく。

Javaエンジニアのための“クラウド時代の過ごし方”

エンジニアの役割の変化

作る→運営する
ITサービスをどう最適化するかが求められうようになってきた。
ただの開発ではダメになっている。

サービスの複雑化が背景にあるのかなぁ〜と思ってみたり、見なかったり。。。

NetflexのDevOps

ダークカナリア等の紹介。
なかでもカオスモンキーがよく分かった。
どういったものか知っていたけど、なぜそうするのかわからなかった。
今回のセッション聞いて、ようやく理解できた。

カオスモンキー

エンジニアがいるときにランダムで本番のインスタンスを殺す。
そこからサービス停止なく自動復旧することを確認している。
インフラの設定は、本番でしか確認できないので、それを行っている。
当然、復旧しなければ対応が必要だが、自動化で対応しなくてもいいように作られている。
つまり、復旧手順を自動化しており、それのテストを本番でしている。日本ではこの発想は出てこないと思った。
かなりイカれたやり方だと感じたが、障害を起こしてもサービス影響しないって、とても高い次元のソフトウェアを開発しているのだと思った。

マイクロサービス

サービスを分割して、サービス連携でシステムを作る手法
サービスがデカすぎる = 影響確認・調査で開発者が疲弊する
小さくすることで、変更の影響範囲を小さくして開発効率を上げる。
小さくするには、適切にサービスを分割する必要がある。
ドメインに従って分割するのが無難。 = DDD

「する」のではなく「なる」のがマイクロサービス。
「したい」だと危険。設計時点で破綻する可能性大。
変化に対応していくのが重要で、マイクロサービスはそのための手法。

今後のJavaエンジニア

冒頭でもあったとおり、開発だけではダメ。
もちろん、開発ができるのは大きなメリット。
そこに+αがあれば、エンジニアとしての価値が大きくなる。

  • スペシャリスト
    • 圧倒的な技術力
    • 業界を牽引するレベルの能力が必要
  • ゼネラル
    • 調整力
    • 各レイヤーのスペシャリスト達の意見を通しやすくする

今の時代の流れは、エンジニアに求めているものが多様化してきている。

パネル・ディスカッション - Java Day Night Session with NightHacking Tour

まさか、新潟出身の人がいるとは。。。
わざわざ東京までご苦労様です!
新潟県民としては嬉しい。
新潟にJUGができるのだろうか?

寺田さんがマイクロソフトのTシャツプレゼントを実施していた。
ボール投げて、取った人に交換の方式。
自分のところにボール来たけど、取ってしまったら、目立ってしまうので、避けた。
この気持ち、わかる人いるのだろうか?

全体感想

自分、まだまだ未熟者。。。
スペシャリストとして生きたいなぁ〜と思うものの、己の力の無さを痛感する。
JJUG CCCもそうだが、分からない単語や知らないことがまだ多いなって印象。
個の能力を高めるために、個人でサービスを立てることが必要かな?って思う。
会社の仕事に従事していると、それが厳かになっている気がしないでもない。

知らない分野にもっと手をだして行かなければと感じた。
あとは、天狗にならないようにしなければと思いました。
次回もイベントあれば、参加して、天狗になった自分を戒めたいです。
もしくは、より上位のやり方を身につけたい!