javaone2017で感じた、javaのいまと未来 in 大阪

28
JavaOne 2017で感じた Javaのいまと未来 2017/10/28 JavaOne報告会 in 大阪 LINE Fukuoka きしだ なおき

Upload: -

Post on 21-Jan-2018

872 views

Category:

Engineering


1 download

TRANSCRIPT

Page 1: JavaOne2017で感じた、Javaのいまと未来 in 大阪

JavaOne2017で感じたJavaのいまと未来

2017/10/28JavaOne報告会 in大阪LINEFukuokaきしだ なおき

Page 2: JavaOne2017で感じた、Javaのいまと未来 in 大阪

ことしのJavaOne

Page 3: JavaOne2017で感じた、Javaのいまと未来 in 大阪

会場がMosconeに

•  2006あたりまでMosconeだった•  2016までHiltonとParc55(とNikko)– 探検感が楽しかった– Hiltonは複雑怪奇

•  ただしMosconeSouthではなくMosconeWest– MosconeSouthは工事中

Page 4: JavaOne2017で感じた、Javaのいまと未来 in 大阪

セッション枠が45分

•  聞くのが楽•  ちょっと物足りない

Page 5: JavaOne2017で感じた、Javaのいまと未来 in 大阪

昼食にドリンクがない

•  いままではペプシかなにかがあった

Page 6: JavaOne2017で感じた、Javaのいまと未来 in 大阪

時差ぼけ

•  おかげで朝8:30のセッションに元気に参加できます!

•  日本に戻っても2週間くらい午前中起床が続きました。

•  昼夜逆転対策にサンフランシスコおすすめ

Page 7: JavaOne2017で感じた、Javaのいまと未来 in 大阪

サンフランシスコ

•  日本人観光客がいない– 中国語を話す人が多い

•  ホームレスがまた増えた– 去年減ったように見えたホームレスが増えてた– 子どもをつれてるホームレスが何組かいた

•  SFMOMAの改修終了

Page 8: JavaOne2017で感じた、Javaのいまと未来 in 大阪

JavaEEが不人気

•  LindaDemicelのセッションに空席– SpecLead– 同じ話を3年目?

•  MVCは5人・・・

Page 9: JavaOne2017で感じた、Javaのいまと未来 in 大阪

JavaEE

•  ee4j– Eclipseに!

•  MVCもリリースされる!

Page 10: JavaOne2017で感じた、Javaのいまと未来 in 大阪

JavaOneセッションの傾向

•  セッションの検索件数をカウント•  aboutJava•  aboutNextJava•  aboutJVMLanguage•  aboutMiddleware•  aboutArchtecture•  aboutBuzzword

Page 11: JavaOne2017で感じた、Javaのいまと未来 in 大阪

aboutJava

•  “java9”32•  “jdk9”21•  JavaEE57•  jigsaw9•  module17•  VirtualMachine7•  JShell5

Java9とくにモジュール関連が多い

Page 12: JavaOne2017で感じた、Javaのいまと未来 in 大阪

aboutNextJava

•  valhalla1•  panama1•  amber0•  loom0•  “java10”0•  “jdk10”1

次のJavaの仕様についてのセッションがほぼない

Page 13: JavaOne2017で感じた、Javaのいまと未来 in 大阪

aboutJVMLanguage

•  groovy9•  kotlin12•  javascript32•  Scala46– ほぼ”Scalable”・・・。タイトルは5件

Kotlin人気

Page 14: JavaOne2017で感じた、Javaのいまと未来 in 大阪

aboutMiddleware

•  sql18•  spark14•  ka]a11•  cassandra5•  mongodb1•  Hadoop2•  HBase1

Spark/Ka]aが人気。Hadoopは不人気というかインフラ化

Page 15: JavaOne2017で感じた、Javaのいまと未来 in 大阪

aboutArchtecture

•  reac^ve19•  microservice162•  serverless12•  docker33•  kubernetes20

みんなMicroserviceいいたいだけでは。Docker人気。

Page 16: JavaOne2017で感じた、Javaのいまと未来 in 大阪

aboutBuzzword

•  bigdata12•  cloud273

–  カテゴリ名に入っていたのでサーバーサイド系がすべてカウントされていた。タイトルには50程度。

•  MachineLeaning19•  Blockchain4•  IoT16•  raspberry5•  VR3•  gpu0•  fpga0 機械学習人気

GPUセッションがなくなった

Page 17: JavaOne2017で感じた、Javaのいまと未来 in 大阪

Javaが変わった

•  OracleJDK->OpenJDK•  6ヶ月サイクルのリリース•  モジュールごとの機能追加•  無償だと6ヶ月のメンテナンス期間– RedHatさんに期待

– もしくはお手ごろなプランを・・・・

•  JavaEEがEclipseへ

hfps://access.redhat.com/ja/node/1457743

Page 18: JavaOne2017で感じた、Javaのいまと未来 in 大阪

18.3にvarが入る

•  言語仕様すら6ヶ月でかわる•  なにが変わるか事前に把握しづらい– リリース3ヶ月前のRampDownで確定

•  なにが変わったか事後に把握しづらい•  なにが動かせるか把握しづらい•  どうすんの

Page 19: JavaOne2017で感じた、Javaのいまと未来 in 大阪

ところで、varすでに試せます。

•  すでにマージされているのでビルドすれば試せる– mercurialでcloneしてconfigure/make

•  JShellで超便利•  IDEは対応していない– varがあって補完がない世界より、補完があってvarがない世界のほうがはるかにつよい

hfp://hg.openjdk.java.net/jdk10/master

Page 20: JavaOne2017で感じた、Javaのいまと未来 in 大阪

fnproject

•  Java対応のサーバーレスフレームワーク•  Dockerネイティブ

Page 21: JavaOne2017で感じた、Javaのいまと未来 in 大阪

fnprojectは簡単に試せる

•  ぜんぶDockerがやってくれる– これで試せる

$brewinstallfn$fnstart$mkdirsample$cdsample$fninit--run^mejava$fndeploy-appmyapp--local

Page 22: JavaOne2017で感じた、Javaのいまと未来 in 大阪

demo

Page 23: JavaOne2017で感じた、Javaのいまと未来 in 大阪

サーバーレスとJava

•  サーバーレス– 要するにCGI– ゲートウェイだけが立っていてアプリケーションは

その都度プロセスを動かす– サーバー管理の必要性が低い– スケールアップが容易

•  多重化はしたいけど負荷はそう高くないみたいなところにいいかも– 企業規模が多ければ案外多いのでは

Page 24: JavaOne2017で感じた、Javaのいまと未来 in 大阪

サーバーレスとJava

•  Javaの欠点– プロセス起動が重い– 一度しか実行されないので実行時最適化が無駄•  最適化してる間に実行おわる•  最適化しても使われない

Page 25: JavaOne2017で感じた、Javaのいまと未来 in 大阪

とうこともあると思って

•  プロセス起動が重い– 読み込むクラスを減らす•  モジュール化

•  実行時最適化が無駄– あらかじめ最適化•  AOTやOpenJ9

Page 26: JavaOne2017で感じた、Javaのいまと未来 in 大阪

JUnit5

•  再設計•  だいぶ便利– Nested– Parameterize

Page 27: JavaOne2017で感じた、Javaのいまと未来 in 大阪

おまけ

•  成田→福岡の飛行機の夜景がきれいでした

hfp://d.hatena.ne.jp/nowokay/20171025#1508893711

Page 28: JavaOne2017で感じた、Javaのいまと未来 in 大阪

まとめ

•  モジュールがJavaを変えた–  Javaのコードの書き方は変わらない–  Javaの中身が変わった–  Javaの世界が変わった