Submit Search
Upload
【fun-tech #5】レガシープログラマ的に未知のjava9について少しだけ考えてみた。
•
2 likes
•
5,508 views
目
目黒 のぞみ
Follow
fun-tech meetup #5 出ましたJava9記念 Javaのあれこれ入門編 https://fun-tech.connpass.com/event/69798/
Read less
Read more
Engineering
Report
Share
Report
Share
1 of 55
Download now
Download to read offline
Recommended
210630 python
210630 python
Takuya Nishimoto
スクリーンリーダーと点字ディスプレイの話
スクリーンリーダーと点字ディスプレイの話
Takuya Nishimoto
Gws sokai 20100724_nsue
Gws sokai 20100724_nsue
Nobuhiro Sue
Aizu Security Workshop #1
Aizu Security Workshop #1
Yukiya Nakagawa
3日でスマホアプリリリースしたけど質問ある?
3日でスマホアプリリリースしたけど質問ある?
Makoto Nishimoto
すごいぞVuetify!! 〜ポートフォリオを作ってみた〜
すごいぞVuetify!! 〜ポートフォリオを作ってみた〜
SHOYAYAMAMOTO
RubyGemsで公開されているライブラリをモンキーパッチした話
RubyGemsで公開されているライブラリをモンキーパッチした話
SHOYAYAMAMOTO
Sphinxでまとめる多言語環境APIドキュメント
Sphinxでまとめる多言語環境APIドキュメント
Iosif Takakura
Recommended
210630 python
210630 python
Takuya Nishimoto
スクリーンリーダーと点字ディスプレイの話
スクリーンリーダーと点字ディスプレイの話
Takuya Nishimoto
Gws sokai 20100724_nsue
Gws sokai 20100724_nsue
Nobuhiro Sue
Aizu Security Workshop #1
Aizu Security Workshop #1
Yukiya Nakagawa
3日でスマホアプリリリースしたけど質問ある?
3日でスマホアプリリリースしたけど質問ある?
Makoto Nishimoto
すごいぞVuetify!! 〜ポートフォリオを作ってみた〜
すごいぞVuetify!! 〜ポートフォリオを作ってみた〜
SHOYAYAMAMOTO
RubyGemsで公開されているライブラリをモンキーパッチした話
RubyGemsで公開されているライブラリをモンキーパッチした話
SHOYAYAMAMOTO
Sphinxでまとめる多言語環境APIドキュメント
Sphinxでまとめる多言語環境APIドキュメント
Iosif Takakura
20171110 fun-tech #5 g1 gc
20171110 fun-tech #5 g1 gc
Yu Kitajima
【社内勉強会#9】(今更ながら)java8触ってみた~ラムダ式篇~
【社内勉強会#9】(今更ながら)java8触ってみた~ラムダ式篇~
目黒 のぞみ
Java SE 9の紹介: モジュール・システムを中心に
Java SE 9の紹介: モジュール・システムを中心に
Taku Miyakawa
[ダウンロード推奨]OOW2017 and Javaone2017 report Daisuke Nishino(Sompo Systems)
[ダウンロード推奨]OOW2017 and Javaone2017 report Daisuke Nishino(Sompo Systems)
Daisuke Nishino
Microsoft ExcelでWebブラウザ(Selenium WebDriver)を動かした話
Microsoft ExcelでWebブラウザ(Selenium WebDriver)を動かした話
洋史 東平
Zero Data Loss Recovery Appliance 設定手順例
Zero Data Loss Recovery Appliance 設定手順例
オラクルエンジニア通信
Oracle Cloudで始める、DBエンジニアのためのHadoop超入門(db tech showcase 2016 Oracle セッション資料)
Oracle Cloudで始める、DBエンジニアのためのHadoop超入門(db tech showcase 2016 Oracle セッション資料)
オラクルエンジニア通信
Oracle Data Minerハンズオンセミナー170927:①Oracle 機械学習概要
Oracle Data Minerハンズオンセミナー170927:①Oracle 機械学習概要
オラクルエンジニア通信
超高速な機械学習を Oracle Database で実現!
超高速な機械学習を Oracle Database で実現!
オラクルエンジニア通信
Java 9 and Future #jjug
Java 9 and Future #jjug
Yuji Kubota
AI and Machine Learning Demystified by Carol Smith at Midwest UX 2017
AI and Machine Learning Demystified by Carol Smith at Midwest UX 2017
Carol Smith
More Related Content
Viewers also liked
20171110 fun-tech #5 g1 gc
20171110 fun-tech #5 g1 gc
Yu Kitajima
【社内勉強会#9】(今更ながら)java8触ってみた~ラムダ式篇~
【社内勉強会#9】(今更ながら)java8触ってみた~ラムダ式篇~
目黒 のぞみ
Java SE 9の紹介: モジュール・システムを中心に
Java SE 9の紹介: モジュール・システムを中心に
Taku Miyakawa
[ダウンロード推奨]OOW2017 and Javaone2017 report Daisuke Nishino(Sompo Systems)
[ダウンロード推奨]OOW2017 and Javaone2017 report Daisuke Nishino(Sompo Systems)
Daisuke Nishino
Microsoft ExcelでWebブラウザ(Selenium WebDriver)を動かした話
Microsoft ExcelでWebブラウザ(Selenium WebDriver)を動かした話
洋史 東平
Zero Data Loss Recovery Appliance 設定手順例
Zero Data Loss Recovery Appliance 設定手順例
オラクルエンジニア通信
Oracle Cloudで始める、DBエンジニアのためのHadoop超入門(db tech showcase 2016 Oracle セッション資料)
Oracle Cloudで始める、DBエンジニアのためのHadoop超入門(db tech showcase 2016 Oracle セッション資料)
オラクルエンジニア通信
Oracle Data Minerハンズオンセミナー170927:①Oracle 機械学習概要
Oracle Data Minerハンズオンセミナー170927:①Oracle 機械学習概要
オラクルエンジニア通信
超高速な機械学習を Oracle Database で実現!
超高速な機械学習を Oracle Database で実現!
オラクルエンジニア通信
Java 9 and Future #jjug
Java 9 and Future #jjug
Yuji Kubota
AI and Machine Learning Demystified by Carol Smith at Midwest UX 2017
AI and Machine Learning Demystified by Carol Smith at Midwest UX 2017
Carol Smith
Viewers also liked
(11)
20171110 fun-tech #5 g1 gc
20171110 fun-tech #5 g1 gc
【社内勉強会#9】(今更ながら)java8触ってみた~ラムダ式篇~
【社内勉強会#9】(今更ながら)java8触ってみた~ラムダ式篇~
Java SE 9の紹介: モジュール・システムを中心に
Java SE 9の紹介: モジュール・システムを中心に
[ダウンロード推奨]OOW2017 and Javaone2017 report Daisuke Nishino(Sompo Systems)
[ダウンロード推奨]OOW2017 and Javaone2017 report Daisuke Nishino(Sompo Systems)
Microsoft ExcelでWebブラウザ(Selenium WebDriver)を動かした話
Microsoft ExcelでWebブラウザ(Selenium WebDriver)を動かした話
Zero Data Loss Recovery Appliance 設定手順例
Zero Data Loss Recovery Appliance 設定手順例
Oracle Cloudで始める、DBエンジニアのためのHadoop超入門(db tech showcase 2016 Oracle セッション資料)
Oracle Cloudで始める、DBエンジニアのためのHadoop超入門(db tech showcase 2016 Oracle セッション資料)
Oracle Data Minerハンズオンセミナー170927:①Oracle 機械学習概要
Oracle Data Minerハンズオンセミナー170927:①Oracle 機械学習概要
超高速な機械学習を Oracle Database で実現!
超高速な機械学習を Oracle Database で実現!
Java 9 and Future #jjug
Java 9 and Future #jjug
AI and Machine Learning Demystified by Carol Smith at Midwest UX 2017
AI and Machine Learning Demystified by Carol Smith at Midwest UX 2017
【fun-tech #5】レガシープログラマ的に未知のjava9について少しだけ考えてみた。
1.
レガシープログラマ的に 未知のJava9について 少しだけ考えてみた。 fun-tech meetup #5 2017-11-10(金)
2.
この発表は、
3.
この発表は、 ラムダ式(※1)どころか switch文で文字列を扱えない環境(※2)で 保守開発をしていたレガシープログラマが、 zJava9新機能の嬉しい度を測ったりして いろいろと考えてみた。 (※1) Java8からの機能。気合を入れないと読めない。 (※2) Java7からString型が利用可能に。嬉しかった。 ・・・という内容です。
4.
自己紹介 ※ 背景は2017年5月23日の横浜スタジアムの様子
5.
自己紹介 @meguro_n facebook.com/megurono 目黒 のぞみ(Meguro Nozomi) ●
都内SIer勤務(7年半くらい) ● 北海道出身(鍛高譚の生産地) ● 趣味は野球観戦(来年こそ\横浜優勝/) ● 業務でJavaや.NET系を扱う程度の能力 ※ 背景は2017年5月23日の横浜スタジアムの様子
6.
Java のリリースの歴史
7.
↑ JDK 1.0 Java 発表 ↓ JDK 1.1 ↓ ↑ J2SE 1.2 Playground J2SE 1.3 Kestrel ↓ ↑ J2SE 1.4 Merlin J2SE 5.0 Tiger ↓ ↑ Java SE 6 Mustang Java SE 7 Dolphin ↓ ↑ Java SE
8 Java SE9 Java のリリースの歴史
8.
↑ JDK 1.0 Java 発表 ↓ JDK 1.1 ↓ ↑ J2SE 1.2 Playground J2SE 1.3 Kestrel ↓ ↑ J2SE 1.4 Merlin J2SE 5.0 Tiger ↓ ↑ Java SE 6 Mustang Java SE 7 Dolphin ↓ ↑ Java SE
8 Java SE9 Java のリリースの歴史
9.
↑ JDK 1.0 Java 発表 ↓ JDK 1.1 ↓ ↑ J2SE 1.2 Playground J2SE 1.3 Kestrel ↓ ↑ J2SE 1.4 Merlin J2SE 5.0 Tiger ↓ ↑ Java SE 6 Mustang Java SE 7 Dolphin ↓ ↑ Java SE
8 Java SE9 Java のリリースの歴史 名称が微妙に 変わっている・・・?
10.
↑ JDK 1.0 Java 発表 ↓ JDK 1.1 ↓ ↑ J2SE 1.2 Playground J2SE 1.3 Kestrel ↓ ↑ J2SE 1.4 Merlin J2SE 5.0 Tiger ↓ ↑ Java SE 6 Mustang Java SE 7 Dolphin ↓ ↑ Java SE
8 Java SE9 Java のリリースの歴史
11.
↑ JDK 1.0 Java 発表 ↓ JDK 1.1 ↓ ↑ J2SE 1.2 Playground J2SE 1.3 Kestrel ↓ ↑ J2SE 1.4 Merlin J2SE 5.0 Tiger ↓ ↑ Java SE 6 Mustang Java SE 7 Dolphin ↓ ↑ Java SE
8 Java SE9 Java のリリースの歴史 コードネームが あったり無かったり・・・?
12.
バージョン名の移り変わり 1.0 ~ 1.1
・・・ JDK (Java Development Kit) ● Javaの実装のこと ● 実装=仕様という事でこう呼んでいた
13.
バージョン名の移り変わり 1.2 ~ 5.0
・・・ J2SE (Java 2 Platform, Standard Edition) ● JDKから数えて第2版という意味 ● マーケティング上の理由から こう呼んでいた
14.
バージョン名の移り変わり 6 ~ 現在
・・・ Java SE (Java Platform, Standard Edition) ● 現在の呼び方。 ● Java生誕15年の際に命名規則を見直し ● ついでに番号の「.0」も廃止
15.
Javaのコードネーム たくさんある
16.
Javaのコードネーム 1.2.2以降の命名規則 ● メジャーリリース ⇒ 動物 ●
マイナーリリース ⇒ 昆虫 (バグ修正だから) Java8から廃止。 ※海外のWikipediaには 『Spider』との表記あり
17.
Java9の次は・・・?
18.
Java9の次は・・・? Java SE 10 Java
SE 11 ・・・
19.
Java9の次は・・・? Java SE 10 Java
SE 11 ・・・ ・・・ではないです。
20.
Java9の次は・・・? 今後はタイムベースのアップデート ● 新機能は半年ごと(3月/9月) ● セキュリティフィックスは3ヶ月ごと ●
長期サポート対象は3年ごと ※ OracleJDKのみ。有償。
21.
閑 話 休
題 。
22.
Java9の新機能と言えば
23.
Java9の新機能と言えば 【 Module機能 】 ●
いわゆる Project Jigsaw というやつ ● 脱・依存性地獄。 ● 「クラスパス多過ぎ!あああ!」 というのを何とかしてくれる ● 実は2008年位から延期していた
24.
Java9の新機能と言えば 【 Module機能 】 具体的には、 ○
module-info.java(名称決め打ち)に クラスごとの依存関係を書く ○ アクセス範囲がちゃんと決められる ⇒ 変なところで変なクラスが呼ばれたり 謎の衝突とかが起こらなくなって良い
25.
Java9の新機能と言えば 【 Module機能 】 レガシープログラマ的には、
26.
Java9の新機能と言えば 【 Module機能 】 レガシープログラマ的には、 ○
Java8以前と互換性が無い! ○ しかもJava8は2018年9月にEOL ○ 移行の諸々コストが半端ない予感 ⇒ 想像すると辛い。 嬉しい度:★☆☆☆☆
27.
Java9 いろんな新機能 (1)
28.
Java9 いろんな新機能 (1) 【
JShell 】 ● JavaのREPL機能 Read-Eval-Print-Loop 読んで評価して表示して繰返す ● コマンドプロンプトでサクッと実行できる Tabキーで 入力補完もできる
29.
Java9 いろんな新機能 (1) 【
JShell 】 レガシープログラマ的には、
30.
Java9 いろんな新機能 (1) 【
JShell 】 レガシープログラマ的には、 ○ メソッドを試したいけど、 ローカルのEclipse(Lunaとか)重いし… って言うのが解消されそう? ○ しかし実はWebのREPL環境は割と在る 嬉しい度:★★☆☆☆
31.
Java9 いろんな新機能 (2)
32.
Java9 いろんな新機能 (2) 【
Interfaceにprivateメソッド 】 ● Java8からメソッドの実装が記述可能に (defaultメソッド・staticメソッド) ● privateなので継承しても呼び出し不可 ⇒ 多分defaultメソッド等から使う目的
33.
Java9 いろんな新機能 (2) 【
Interfaceにprivateメソッド 】 レガシープログラマ的には、
34.
Java9 いろんな新機能 (2) 【
Interfaceにprivateメソッド 】 レガシープログラマ的には、 ○ 現場でInterface設計をあまりしない ○ まずInterfaceを使っていない場合も… ○ でも多重継承が安全に出来たら便利そう ※厳密には多重継承ではないらしい 要勉強 嬉しい度:★★☆☆☆
35.
Java9 いろんな新機能 (3)
36.
Java9 いろんな新機能 (3) 【
try-with-resources文の改善 】 ● Java7から追加された 「リソースを自動開放する」機能が より読みやすくなった。
37.
Java9 いろんな新機能 (3) 【
try-with-resources文の改善 】 リソースをココで定義する必要があり ちょっと見にくかった
38.
Java9 いろんな新機能 (3) 【
try-with-resources文の改善 】 try句の前に finalで定義すれば良くなり 見やすくなった
39.
Java9 いろんな新機能 (3) 【
try-with-resources文の改善 】 レガシープログラマ的には、
40.
Java9 いろんな新機能 (3) 【
try-with-resources文の改善 】 レガシープログラマ的には、 ○ リソース自動開放というだけで 大変ありがたい!!!! でもそれ自体はJava7の追加機能だし… 嬉しい度:★★★☆☆
41.
Java9 いろんな新機能 (4)
42.
Java9 いろんな新機能 (4) 【
@Deprecatedアノテーション強化 】 ● 非推奨のクラス・メソッドに 記述するアノテーションの表現力UP ● 廃止予定なのか(forRemoval) ● いつから廃止するのか(since)
43.
Java9 いろんな新機能 (4) 【
@Deprecatedアノテーション強化 】 レガシープログラマ的には、
44.
Java9 いろんな新機能 (4) 【
@Deprecatedアノテーション強化 】 レガシープログラマ的には、 ○ CommonやUtil(よくあるクラス名)を リファクタしたが消すのは忍びない… そんな時によく利用したアノテーション ※アンチパターンな気が。。。 ○ 廃止したい意思表示が出来るのは良い 嬉しい度:★★☆☆☆
45.
Java9 いろんな新機能 (5)
46.
Java9 いろんな新機能 (5) 【
JavaDocの劇的改善 】 ● HTML5で記述可能に ● 検索機能の追加
47.
Java9 いろんな新機能 (5) 【
JavaDocの劇的改善 】
48.
Java9 いろんな新機能 (5) 【
JavaDocの劇的改善 】 超 便 利 !!!!
49.
Java9 いろんな新機能 (5) 【
JavaDocの劇的改善 】 レガシープログラマ的には、
50.
Java9 いろんな新機能 (5) 【
JavaDocの劇的改善 】 レガシープログラマ的には、 言葉はいらない。 ずっと待ってた。 嬉しい度:★★★★★★★
51.
まとめとか感想とか レガシープログラマ的には、
52.
まとめとか感想とか module機能以外は目新しいものはない ⇒ Java8の強化版、という印象 ⇒ Java8を知らないとキツい module機能は互換性が無いのがネック ⇒
既存システムが在る現場での導入は… ※ module未使用なら互換性アリ…が、学習コストを考えると… レガシープログラマ的には、
53.
まとめとか感想とか イチ開発者的には、
54.
まとめとか感想とか Javaってすごく進化してる!!!! ⇒ Java8以降がとてもモダン ⇒ しかもJava9でより改良されている 何だかワクワクするし、 「個人的にJava勉強し直したいな」 と素直に思えました イチ開発者的には、
55.
ご清聴 ありがとう ございました!!
Download now