10月21日、
Java SE 9/EE 8リリースイベント 兼 JavaOne 2017 報告会 @ 東京
https://jjug.doorkeeper.jp/events/66256
に行ってきた!話のつづき(表題の件は、真ん中からうしろのほうにかけて)
(前の話のあとから)
■Java9 and Future
・情報保障
Web公開
https://www.slideshare.net/YujiKubota/java9-and-future-jjug
コードはgithubに公開
github.com/ykubota/jigsaw-sample_jp
・自己紹介
・Java9リリース、1か月たったけど、
アンケート
プロダクションで使っている人:1人
ローカルで使った人:結構いる
調べた人:おおくいる
今回は詳しく
次のJavaちら見 18.3
・追加された機能の確認方法
JEP(Java Enhancement Proposal)を見る
・移行する際に注意するポイント
Migration Guideを読む
・非互換性、マイグレーション手順が書いてある
・全体的な解説
「Java9に備えよう」の資料
・より細かく見る(サポートレベル)
SpecificationやRelease Noteを読む
・ログが変わる
「Unified JVM Logging」で発表した
・メリット
モジュール化
REPL(JShell)
ライブラリ改善:Collection初期化、Stream機能拡張
セキュリティ強化
付属ツールの刷新(診断とコンパイル) AOT
G1GCコンパイラなどの性能改善(デフォルト化)
→おおきなヒープ
・デモ
JIGSAW
いままで内部APIをそのまま実行できた
→モジュール化すると:公開APIを限定できる
ひとつひとつビルドすることも可能
どのモジュールのメインクラスを実行するか指定して実行
結構強力な機能が備わった・・・らしい?
■JShell with JDK9 Libraries
・自己紹介
・JShellの説明
9入れた人はJShell使っている
Java言語に向けたREPLツール
Lisp,Python,haskellなど
教育分野ではREPLツールがある環境が人気
API・構文挙動確認
https://tryjshell.org
Web上からJShellが使える
Jshellにようこそ
補完機能:利用できるimport、変数定義の保管
・Java9ライブラリ
コレクションのファクトリ
Streamの評価
・コレクションのファクトリ
List.of,Set.of
特徴
いみゅーたぶる:もとが変わっても変わらない、変更もできない
ふぇいるせーふ:例外として検出できる
最適化
・ストリーム:いままでむげんにやっていたものを
dropWhile:条件が出たら、処理を終了する
■(Java9 and Futureつづき)
・これからのJava Java18.3→走り始めている
JDK Projectで確認できる
スケジュールと機能の一覧
・Project Amberが入る予定
将来
Project Panama
Project vaslhalla
・リポジトリやバイナリ(EA)は独立予定
・Project Amber
varで変数宣言できる
switch caseで型推論
■Intel's Persistent Memory
・パーシステントメモリー
知らない人多い:新しいタイプのメモリー
容量4倍、2分の1の価格で求められるメモリー
電源が切れても、内容保持
市場に登場するのは、来年頃
Oracle Open worldでも話しあった:
Oracle DataBase18cでPMサポート
3Tバイトのデータベース、1.5T DRAM+PM
→クエリ5倍速くなる
・PM in Java Platform
Java oneのセッション
2つのつかいかた
ぼらたいる(揮発性):メモリ
パーシステント ストレージ
・ボラタイルな使い方
1 ヒープを全部のせる→データが大きいアプリ:インメモリ、ビッグデータ
JVMのオプションにマウントポイント指定
2 ヒープを一部のせる→ユーザーが指定できるまたはプロファイリングで自動指定
アクセス頻度高い:DRAM
頻度低い、データ大きい:PM
プロトタイプ
・パーシステントメモリ
https://github.com/pmem/pcj にデモ
(絶賛開発中)プロトタイプ
デモ:RAMディスクでエミュレートできる
高速に書き込み、読み込みができる
・パーシステントに書き込む:永続化可能なクラスの定義
extends PersistentObject
Panamaでやろうとしているクラス定義の仕方
・まとめ
PMすごい:IntelがJavaに力いれてる
PMをメモリとして使うか、ストレージとして使うか
メモリと使うなら結構早くに
ストレージはPanamaまち?
ここからJavaEE8
■JavaEE/EE4J
・ここで聞いたことが変わっても、ごめんねっていうかんじ
・自己紹介
・あじぇんだ
EE8でましたね
EE4Jってなに
JavaOneのはなし
・まずEE8
9月21日、でました(4年かかった)
去年のJavaOne :8やる
どれやるという投票
MVC1.0おちて、こみにゅてぃに引き渡し
WebProfile:へる
メインはJAX-RSでリアクティブ、CDI、非同期イベント
セキュリティひとまず
メンテナンスリリース
→Java SE9でアップデートの物も
→JavaEE、Githubに移管
・JavaEE8→参照実装GlassFish 5.0
オープンソースでも
Java9 5.0.1で動作保障
Dockerイメージ使える
・赤いJava、アオイJava
ことし:Glassfish
赤いJava(Oracle):WebLogic来年
青いJava(くらうど):そのさき
→あかいJavaおしまい
・Eclipse Enterprise for Java(EE4J)
Java
オープン
evolving
Nimble
Scalable
EE8
オープンか?
にんぶるか?
→eclipseファウンデーションに移管。
移管プロジェクトがEE4J
ブランド名ではない
移管して
Open
Compatible
Flexible
Nimble
・Open
プロセスを透明化。たくさんの人、みんなでつくる
→Oracleはスペックリードの座から降り、ほかの会社と同じ立場で
スポンサーはeclipseファウンデーション
プロジェクトチャーター(憲章)を作る
・コンパチブル:互換性を持たせる
GlassFishを再ライセンス、
ただし、資産自身はすべてOracle
・フレキシブル
ハードルを下げる
配布もEclipseライセンス
・Nimble
2018年中旬までに移管したい
→マルチベンダー
・EE4J FAQがある
・EEをどうサポートするの?
今の段階でわかっていること
既存の契約は尊重
ライセンス契約も
JavaEE8
2025年までにEE4Jに移行するように計画
その先はEE4Jの情報
・そのあと
MVC1.0→EE4Jに入る
Yasson,EclipseLink→EE4Jに入る
・JavaOneのパネルディスカッション
eclipse,IBM,Redhat,tomitribe
去年のマイクロプロファイルとJavaEE8のパネルディスカッション
payara,oracle,IBM,Redhat,tomitribe
・マイクロプロファイル:タイムボックスリリース
→将来的にはマージ
EE8の機能が入っていないので、今後はいる
標準化団体:できればつくりたくない→スピードを上げる
・まとめ
EE8でた
EE4Jはじまった(なにもきまっていない)
■JavaOne2017参加報告
・自己紹介
・行って分かったこと
ホテルは早めに予約する:宿泊料高い
なるべく疲れないようにする:Uberいい
参加セッションは必ず事前登録する
技術系・飼料ありセッションは分かりやすい
・参加したセッションの紹介
マイクロサービス系
12Factors系
Microservice Data Patterns CQRS:データの扱い
spotify:組織、文化の話、独自フレームワーク
・マイクロサービスの話題や取り組み事例
モノリスからマイクロサービスへ
スタート時点はモノリス
サービス拡大でスケール
それにともないマイクロサービス
組織・文化漏れに合わせて変わる
・組織、文化
システムのスケールに合わせて、組織も変わるには
コンウェイの法則
自主性、自立性:Autonomy squad:非セントラライズで自主的
非同期型を同期型よりも推奨
・マイクロサービスを取り巻く仕組み
CI/CD
コンテナとオーケストレーション;Dockerとくーばねーてぃぶ
サービスレジストリ:ポート隠ぺい
とにかく非同期推奨
フォールトトレラント(サーキットブレーカー)
モニタリング:ぷろめてうす
トレーシング
・議論の対象の変化
フレームワークやライブラリより
サービスや部品をどう強調させるか
・同期<非同期
・データ処理パターン
Eventual Consistencyでよくないか?→マイクロサービスと相性がいい
Event Sourcig:Insertのみ、Updateしない。ひたすらログを取る
CQRS:登録と問い合わせ処理の責任分離
・マイクロプロファイル
1.2:10月3日に公開
今後
・複数サービスにまたがったトランザクション
Long Running Action
・考察
必要性を考える
→最初からマイクロサービスを考えたわけではない
組織や文化とセットで考える
トレードオフも考える
・まとめ
ホテルははやく
必要性とトレードオフ
■サーバーレス@Oracle
・Function使っている人!
1割いない
・Functions
Function as a serviceのプラットフォームで動く
プラットフォーム
あまぞん
あじゅーる
:
問題
プロプラエタリ
Javaの実装甘い
・理想のfunction
オープンソース
Docker クーバネーティブ
。fnプロジェクト
function as a serviceのオープンソース
dockerでもうごかせる
・Java用
FDKで開発できる
・CIツール、CD
9割は使っている
数分間
・フロー:複数の処理をまとめられる
コンカレントAPI
・より細かい詳細
www,fnproject.io
・情報発信:ソーシャル使っている
・デモ
■Attend JavaOne as a Community Master
・自己紹介
・11月18日、JJUG CCCやるよ!
・JavaOne初参加
JavaDayTokyo:CfPだしなよ~
はじめてづくし
・コミュニティDay
コミュニティの紹介、技術セッション有(求められるレベル低そう)
話したこと Java女子部のこれまでとこれから
よかったこと
Java女子部が新しいことに挑戦できた
・コミュニティキーノート
Javaコミュニティ用の楽しい場
IoT系のおもしろいやつのしょうかい
帰りの会
Javaコミュニティ大集合!爆笑寸劇
お楽しみ会:おととしはじまった
4分の1を日本が獲得
からておしえておんせんいく
BulletTimeDemo:ラズパイを使って360度画像を作る
JOnsenの紹介
よくなかったこと
はずかしずぎる
ゆるふわすぎる
よかったこと
いろんな人に声をかけてもらえた:日本のイベントで登壇したい
日本のコミュニティアツい:特殊で活発
・所感・まとめ
絶対また行きたい
なぜいかないんですか?
費用:スピーカーになればチケット無料
海外:日本人多い
英語:1ねんある。
興味:なんで今日来ている?
Java SE 9/EE 8リリースイベント 兼 JavaOne 2017 報告会 @ 東京
https://jjug.doorkeeper.jp/events/66256
に行ってきた!話のつづき(表題の件は、真ん中からうしろのほうにかけて)
(前の話のあとから)
■Java9 and Future
・情報保障
Web公開
https://www.slideshare.net/YujiKubota/java9-and-future-jjug
コードはgithubに公開
github.com/ykubota/jigsaw-sample_jp
・自己紹介
・Java9リリース、1か月たったけど、
アンケート
プロダクションで使っている人:1人
ローカルで使った人:結構いる
調べた人:おおくいる
今回は詳しく
次のJavaちら見 18.3
・追加された機能の確認方法
JEP(Java Enhancement Proposal)を見る
・移行する際に注意するポイント
Migration Guideを読む
・非互換性、マイグレーション手順が書いてある
・全体的な解説
「Java9に備えよう」の資料
・より細かく見る(サポートレベル)
SpecificationやRelease Noteを読む
・ログが変わる
「Unified JVM Logging」で発表した
・メリット
モジュール化
REPL(JShell)
ライブラリ改善:Collection初期化、Stream機能拡張
セキュリティ強化
付属ツールの刷新(診断とコンパイル) AOT
G1GCコンパイラなどの性能改善(デフォルト化)
→おおきなヒープ
・デモ
JIGSAW
いままで内部APIをそのまま実行できた
→モジュール化すると:公開APIを限定できる
ひとつひとつビルドすることも可能
どのモジュールのメインクラスを実行するか指定して実行
結構強力な機能が備わった・・・らしい?
■JShell with JDK9 Libraries
・自己紹介
・JShellの説明
9入れた人はJShell使っている
Java言語に向けたREPLツール
Lisp,Python,haskellなど
教育分野ではREPLツールがある環境が人気
API・構文挙動確認
https://tryjshell.org
Web上からJShellが使える
Jshellにようこそ
補完機能:利用できるimport、変数定義の保管
・Java9ライブラリ
コレクションのファクトリ
Streamの評価
・コレクションのファクトリ
List.of,Set.of
特徴
いみゅーたぶる:もとが変わっても変わらない、変更もできない
ふぇいるせーふ:例外として検出できる
最適化
・ストリーム:いままでむげんにやっていたものを
dropWhile:条件が出たら、処理を終了する
■(Java9 and Futureつづき)
・これからのJava Java18.3→走り始めている
JDK Projectで確認できる
スケジュールと機能の一覧
・Project Amberが入る予定
将来
Project Panama
Project vaslhalla
・リポジトリやバイナリ(EA)は独立予定
・Project Amber
varで変数宣言できる
switch caseで型推論
■Intel's Persistent Memory
・パーシステントメモリー
知らない人多い:新しいタイプのメモリー
容量4倍、2分の1の価格で求められるメモリー
電源が切れても、内容保持
市場に登場するのは、来年頃
Oracle Open worldでも話しあった:
Oracle DataBase18cでPMサポート
3Tバイトのデータベース、1.5T DRAM+PM
→クエリ5倍速くなる
・PM in Java Platform
Java oneのセッション
2つのつかいかた
ぼらたいる(揮発性):メモリ
パーシステント ストレージ
・ボラタイルな使い方
1 ヒープを全部のせる→データが大きいアプリ:インメモリ、ビッグデータ
JVMのオプションにマウントポイント指定
2 ヒープを一部のせる→ユーザーが指定できるまたはプロファイリングで自動指定
アクセス頻度高い:DRAM
頻度低い、データ大きい:PM
プロトタイプ
・パーシステントメモリ
https://github.com/pmem/pcj にデモ
(絶賛開発中)プロトタイプ
デモ:RAMディスクでエミュレートできる
高速に書き込み、読み込みができる
・パーシステントに書き込む:永続化可能なクラスの定義
extends PersistentObject
Panamaでやろうとしているクラス定義の仕方
・まとめ
PMすごい:IntelがJavaに力いれてる
PMをメモリとして使うか、ストレージとして使うか
メモリと使うなら結構早くに
ストレージはPanamaまち?
ここからJavaEE8
■JavaEE/EE4J
・ここで聞いたことが変わっても、ごめんねっていうかんじ
・自己紹介
・あじぇんだ
EE8でましたね
EE4Jってなに
JavaOneのはなし
・まずEE8
9月21日、でました(4年かかった)
去年のJavaOne :8やる
どれやるという投票
MVC1.0おちて、こみにゅてぃに引き渡し
WebProfile:へる
メインはJAX-RSでリアクティブ、CDI、非同期イベント
セキュリティひとまず
メンテナンスリリース
→Java SE9でアップデートの物も
→JavaEE、Githubに移管
・JavaEE8→参照実装GlassFish 5.0
オープンソースでも
Java9 5.0.1で動作保障
Dockerイメージ使える
・赤いJava、アオイJava
ことし:Glassfish
赤いJava(Oracle):WebLogic来年
青いJava(くらうど):そのさき
→あかいJavaおしまい
・Eclipse Enterprise for Java(EE4J)
Java
オープン
evolving
Nimble
Scalable
EE8
オープンか?
にんぶるか?
→eclipseファウンデーションに移管。
移管プロジェクトがEE4J
ブランド名ではない
移管して
Open
Compatible
Flexible
Nimble
・Open
プロセスを透明化。たくさんの人、みんなでつくる
→Oracleはスペックリードの座から降り、ほかの会社と同じ立場で
スポンサーはeclipseファウンデーション
プロジェクトチャーター(憲章)を作る
・コンパチブル:互換性を持たせる
GlassFishを再ライセンス、
ただし、資産自身はすべてOracle
・フレキシブル
ハードルを下げる
配布もEclipseライセンス
・Nimble
2018年中旬までに移管したい
→マルチベンダー
・EE4J FAQがある
・EEをどうサポートするの?
今の段階でわかっていること
既存の契約は尊重
ライセンス契約も
JavaEE8
2025年までにEE4Jに移行するように計画
その先はEE4Jの情報
・そのあと
MVC1.0→EE4Jに入る
Yasson,EclipseLink→EE4Jに入る
・JavaOneのパネルディスカッション
eclipse,IBM,Redhat,tomitribe
去年のマイクロプロファイルとJavaEE8のパネルディスカッション
payara,oracle,IBM,Redhat,tomitribe
・マイクロプロファイル:タイムボックスリリース
→将来的にはマージ
EE8の機能が入っていないので、今後はいる
標準化団体:できればつくりたくない→スピードを上げる
・まとめ
EE8でた
EE4Jはじまった(なにもきまっていない)
■JavaOne2017参加報告
・自己紹介
・行って分かったこと
ホテルは早めに予約する:宿泊料高い
なるべく疲れないようにする:Uberいい
参加セッションは必ず事前登録する
技術系・飼料ありセッションは分かりやすい
・参加したセッションの紹介
マイクロサービス系
12Factors系
Microservice Data Patterns CQRS:データの扱い
spotify:組織、文化の話、独自フレームワーク
・マイクロサービスの話題や取り組み事例
モノリスからマイクロサービスへ
スタート時点はモノリス
サービス拡大でスケール
それにともないマイクロサービス
組織・文化漏れに合わせて変わる
・組織、文化
システムのスケールに合わせて、組織も変わるには
コンウェイの法則
自主性、自立性:Autonomy squad:非セントラライズで自主的
非同期型を同期型よりも推奨
・マイクロサービスを取り巻く仕組み
CI/CD
コンテナとオーケストレーション;Dockerとくーばねーてぃぶ
サービスレジストリ:ポート隠ぺい
とにかく非同期推奨
フォールトトレラント(サーキットブレーカー)
モニタリング:ぷろめてうす
トレーシング
・議論の対象の変化
フレームワークやライブラリより
サービスや部品をどう強調させるか
・同期<非同期
・データ処理パターン
Eventual Consistencyでよくないか?→マイクロサービスと相性がいい
Event Sourcig:Insertのみ、Updateしない。ひたすらログを取る
CQRS:登録と問い合わせ処理の責任分離
・マイクロプロファイル
1.2:10月3日に公開
今後
・複数サービスにまたがったトランザクション
Long Running Action
・考察
必要性を考える
→最初からマイクロサービスを考えたわけではない
組織や文化とセットで考える
トレードオフも考える
・まとめ
ホテルははやく
必要性とトレードオフ
■サーバーレス@Oracle
・Function使っている人!
1割いない
・Functions
Function as a serviceのプラットフォームで動く
プラットフォーム
あまぞん
あじゅーる
:
問題
プロプラエタリ
Javaの実装甘い
・理想のfunction
オープンソース
Docker クーバネーティブ
。fnプロジェクト
function as a serviceのオープンソース
dockerでもうごかせる
・Java用
FDKで開発できる
・CIツール、CD
9割は使っている
数分間
・フロー:複数の処理をまとめられる
コンカレントAPI
・より細かい詳細
www,fnproject.io
・情報発信:ソーシャル使っている
・デモ
■Attend JavaOne as a Community Master
・自己紹介
・11月18日、JJUG CCCやるよ!
・JavaOne初参加
JavaDayTokyo:CfPだしなよ~
はじめてづくし
・コミュニティDay
コミュニティの紹介、技術セッション有(求められるレベル低そう)
話したこと Java女子部のこれまでとこれから
よかったこと
Java女子部が新しいことに挑戦できた
・コミュニティキーノート
Javaコミュニティ用の楽しい場
IoT系のおもしろいやつのしょうかい
帰りの会
Javaコミュニティ大集合!爆笑寸劇
お楽しみ会:おととしはじまった
4分の1を日本が獲得
からておしえておんせんいく
BulletTimeDemo:ラズパイを使って360度画像を作る
JOnsenの紹介
よくなかったこと
はずかしずぎる
ゆるふわすぎる
よかったこと
いろんな人に声をかけてもらえた:日本のイベントで登壇したい
日本のコミュニティアツい:特殊で活発
・所感・まとめ
絶対また行きたい
なぜいかないんですか?
費用:スピーカーになればチケット無料
海外:日本人多い
英語:1ねんある。
興味:なんで今日来ている?