Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
Uploaded by
Y Watanabe
PDF, PPTX
13,782 views
渋谷java−あなたのプロジェクトで気軽にjavaをバージョンアップするために必要なこと
あなたのプロジェクトで気軽にjavaをバージョンアップするために必要なこと 第10回#渋谷Java トーク資料 at 株式会社ビズリーチ 2015.3
Technology
◦
Read more
22
Save
Share
Embed
Embed presentation
Download
Download as PDF, PPTX
1
/ 26
2
/ 26
3
/ 26
4
/ 26
5
/ 26
6
/ 26
7
/ 26
8
/ 26
9
/ 26
10
/ 26
11
/ 26
12
/ 26
13
/ 26
14
/ 26
15
/ 26
16
/ 26
17
/ 26
18
/ 26
19
/ 26
20
/ 26
21
/ 26
22
/ 26
23
/ 26
24
/ 26
25
/ 26
26
/ 26
More Related Content
PDF
ほんとうに便利だった業務で使えるJava SE8新機能(JJUG CCC 2015 Spring)
by
Yuuki Fukuda
PPTX
Turnipによるエンドツーエンドテストことはじめ
by
Takayuki Ujita
PDF
Javaでやってみる The Twelve Factor App JJUG-CCC 2014 Fall 講演資料
by
Y Watanabe
PPTX
Java8移行から始めた技術的負債との戦い(jjug ccc 2015 fall)
by
sogdice
PPTX
エンドツーエンドテストを自動化したらチームがすごく良くなった@XPまつり2015LT
by
Taichi Watanabe
PDF
Java web application testing
by
Tokuhiro Matsuno
PDF
20141116 jjug ccc_2014_keynote1_public
by
Yoshiharu Hashimoto
PDF
Arachne Unweaved (JP)
by
Ikuru Kanuma
ほんとうに便利だった業務で使えるJava SE8新機能(JJUG CCC 2015 Spring)
by
Yuuki Fukuda
Turnipによるエンドツーエンドテストことはじめ
by
Takayuki Ujita
Javaでやってみる The Twelve Factor App JJUG-CCC 2014 Fall 講演資料
by
Y Watanabe
Java8移行から始めた技術的負債との戦い(jjug ccc 2015 fall)
by
sogdice
エンドツーエンドテストを自動化したらチームがすごく良くなった@XPまつり2015LT
by
Taichi Watanabe
Java web application testing
by
Tokuhiro Matsuno
20141116 jjug ccc_2014_keynote1_public
by
Yoshiharu Hashimoto
Arachne Unweaved (JP)
by
Ikuru Kanuma
What's hot
PDF
クリスマスを支える俺たちとJava(JJUG CCC 2015 Spring AB4)
by
Koichi Sakata
PDF
Spring Boot + Doma + AngularJSで作るERP #jjug_ccc #ccc_r12
by
学 松崎
PPT
タダで始めるテストファースト入門 ~ C# Express + NUnit
by
Yasuhiko Yamamoto
PDF
テストって何をするもの? - テストの5W1H -
by
Hiroshi Maekawa
PDF
SeleniumIDEとSelenium WebDriver × Node.js Seleniumで業務効率化する15分
by
松田 千尋
PDF
Jsug2015 summer spring適用におけるバッドノウハウとベタープラクティス
by
Yoichi KIKUCHI
PDF
三位一体の自動化で壊せ DevとOpsの壁~アラサーエンジニアの挑戦~
by
Rakuten Group, Inc.
PDF
Visual Studio 2015 の新機能: Pex はユニットテストの福音となるか!?
by
Yasuhiko Yamamoto
PDF
非エンジニアのためのこれだけは押さえておきたいWEBサービスの基礎技術
by
div Inc
PPTX
さくっと理解するSpring bootの仕組み
by
Takeshi Ogawa
PDF
「GebとSpockではじめるシステムテスト自動化」
by
Hiroyuki Ohnaka
PDF
楽天トラベルとSpring(Spring Day 2016)
by
Rakuten Group, Inc.
PDF
Responsableを使ったadr実装
by
Kenjiro Kubota
PDF
テンプレートエンジンにMixer2を使うとSeleniumでのテストもラクになるかもねという話
by
Y Watanabe
KEY
Beginners scala 20121113
by
Taisuke Shiratori
PDF
自社開発プロダクト ALL-IN で行っている単体テストのパフォーマンスチューニングTips
by
Shou Takenaka
PPTX
5minQues - SWET近況報告
by
Masaki Nakagawa
PPTX
Benchmarkspec
by
Yuichiro Shibata
KEY
capybara で快適なテスト生活を
by
Ryunosuke SATO
PDF
20151021 cookpad talk_test_engineer
by
Kazuaki Matsuo
クリスマスを支える俺たちとJava(JJUG CCC 2015 Spring AB4)
by
Koichi Sakata
Spring Boot + Doma + AngularJSで作るERP #jjug_ccc #ccc_r12
by
学 松崎
タダで始めるテストファースト入門 ~ C# Express + NUnit
by
Yasuhiko Yamamoto
テストって何をするもの? - テストの5W1H -
by
Hiroshi Maekawa
SeleniumIDEとSelenium WebDriver × Node.js Seleniumで業務効率化する15分
by
松田 千尋
Jsug2015 summer spring適用におけるバッドノウハウとベタープラクティス
by
Yoichi KIKUCHI
三位一体の自動化で壊せ DevとOpsの壁~アラサーエンジニアの挑戦~
by
Rakuten Group, Inc.
Visual Studio 2015 の新機能: Pex はユニットテストの福音となるか!?
by
Yasuhiko Yamamoto
非エンジニアのためのこれだけは押さえておきたいWEBサービスの基礎技術
by
div Inc
さくっと理解するSpring bootの仕組み
by
Takeshi Ogawa
「GebとSpockではじめるシステムテスト自動化」
by
Hiroyuki Ohnaka
楽天トラベルとSpring(Spring Day 2016)
by
Rakuten Group, Inc.
Responsableを使ったadr実装
by
Kenjiro Kubota
テンプレートエンジンにMixer2を使うとSeleniumでのテストもラクになるかもねという話
by
Y Watanabe
Beginners scala 20121113
by
Taisuke Shiratori
自社開発プロダクト ALL-IN で行っている単体テストのパフォーマンスチューニングTips
by
Shou Takenaka
5minQues - SWET近況報告
by
Masaki Nakagawa
Benchmarkspec
by
Yuichiro Shibata
capybara で快適なテスト生活を
by
Ryunosuke SATO
20151021 cookpad talk_test_engineer
by
Kazuaki Matsuo
More from Y Watanabe
PDF
クラウド時代だからSpring-Retryフレームワーク
by
Y Watanabe
PDF
Webエンジニアがスタートダッシュをキメるためのローカル開発環境の勘所
by
Y Watanabe
PDF
テストゼロからイチに進むための戦略と戦術
by
Y Watanabe
PDF
2013-09 テンプレートエンジンMixer2紹介 HTML5J&JJUG合同勉強会LT
by
Y Watanabe
PDF
20140405 mavenセントラルリポジトリへの登録のコツ 第5回渋谷java
by
Y Watanabe
PDF
Selenium再入門-W3C勧告とページオブジェクトパターンと私-201707webエンジニア勉強会#2神田
by
Y Watanabe
PDF
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
by
Y Watanabe
PDF
俺のコードがどこでつかわれているのかわからない問題 あるいはマイナーOSSの生存戦略
by
Y Watanabe
PDF
jooqってなんて読むの? から始めるO/RマッパーとSpringBootの世界
by
Y Watanabe
PDF
properties, yaml, and me
by
Y Watanabe
PDF
サーバーサイドな人がフロントエンド技術と仲良くするはじめの一歩
by
Y Watanabe
PDF
JavaでWebサービスを作り続けるための戦略と戦術 JJUG-CCC-2018-Spring-g1
by
Y Watanabe
PDF
201311 webデザイナとエンジニアのチームワークを加速させるテンプレートエンジンmixer2 devlove現場甲子園
by
Y Watanabe
PDF
20130511 jjug ccc講演 さらばjsp JAXBとmixer2
by
Y Watanabe
PDF
Seleniumと相性がいいテンプレートエンジンMixer2-第1回selenium勉強会ライトニングトーク
by
Y Watanabe
PDF
The cost of learning - advantage of mixer2
by
Y Watanabe
PDF
SpringMVCとmixer2で作るWebアプリのキホン 2013-01-24 Spring勉強会 #jsug
by
Y Watanabe
PDF
Mixer2によるdynamic css sprite 201309第三回渋谷java
by
Y Watanabe
クラウド時代だからSpring-Retryフレームワーク
by
Y Watanabe
Webエンジニアがスタートダッシュをキメるためのローカル開発環境の勘所
by
Y Watanabe
テストゼロからイチに進むための戦略と戦術
by
Y Watanabe
2013-09 テンプレートエンジンMixer2紹介 HTML5J&JJUG合同勉強会LT
by
Y Watanabe
20140405 mavenセントラルリポジトリへの登録のコツ 第5回渋谷java
by
Y Watanabe
Selenium再入門-W3C勧告とページオブジェクトパターンと私-201707webエンジニア勉強会#2神田
by
Y Watanabe
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
by
Y Watanabe
俺のコードがどこでつかわれているのかわからない問題 あるいはマイナーOSSの生存戦略
by
Y Watanabe
jooqってなんて読むの? から始めるO/RマッパーとSpringBootの世界
by
Y Watanabe
properties, yaml, and me
by
Y Watanabe
サーバーサイドな人がフロントエンド技術と仲良くするはじめの一歩
by
Y Watanabe
JavaでWebサービスを作り続けるための戦略と戦術 JJUG-CCC-2018-Spring-g1
by
Y Watanabe
201311 webデザイナとエンジニアのチームワークを加速させるテンプレートエンジンmixer2 devlove現場甲子園
by
Y Watanabe
20130511 jjug ccc講演 さらばjsp JAXBとmixer2
by
Y Watanabe
Seleniumと相性がいいテンプレートエンジンMixer2-第1回selenium勉強会ライトニングトーク
by
Y Watanabe
The cost of learning - advantage of mixer2
by
Y Watanabe
SpringMVCとmixer2で作るWebアプリのキホン 2013-01-24 Spring勉強会 #jsug
by
Y Watanabe
Mixer2によるdynamic css sprite 201309第三回渋谷java
by
Y Watanabe
渋谷java−あなたのプロジェクトで気軽にjavaをバージョンアップするために必要なこと
1.
あなたのプロジェクトが 気軽にJavaをバージョンアップする ために必要なこと 第10回 #渋谷Java
2015-‐3-‐7(Sat)
2.
自己紹介 • 渡辺 •
(株)ビズリーチ • @nabedge • h8p://mixer2.org • h8p://nabedge.blogspot.jp 2
3.
質問 • Java8ですか? •
Java7? • Java6? • Java5? • まさかの古代言語? 3
4.
なぜ古いJavaを使い続けるのか? • バージョンを上げて何かあったら嫌だから – 何かあったときにもとの古いJDK/JREに戻すのが 面倒くさい
– テストをやりなおすコスト • 「全てのサーバのJDKのバージョン上げて」と いうとインフラ担当者が嫌な顔をするから。 – とにかく上司を説得するのが面倒くさいから。 4
5.
• 「がんばってJava5,6,7 から
Java8にバージョン アップだ!」 – N年後 • 「もうJava11が出てるのにまだJava8使ってるの?」 • 同じやり方でやれば行き着く先は同じ。 – 大切なのは「バージョンアップする」ことではなくて 「バージョンアップしやすくする」こと。 5
6.
JREとJDK • JDK=開発に必要なもの – ソースコードをコンパイルする
– ローカル開発環境とJenkinsの中にあるもの • JRE=運用に必要なもの – コンパイル済みのバイナリを実行する – テスト環境/本番環境の中にあるもの 6
7.
JREとJDK • 「とりあえず全サーバにJDKが入っている」 のは何故?
– A: 大は小を兼ねるから。 – A: JDK/JREのインストールをインフラ担当者に任 せてしまうから。 – 実はこのあたりから「バージョンアップできない Java」が始まる 7
8.
JDKの切り替えなんて簡単 8 Eclipseの設定ダイアログ
9.
JDKの切り替えなんて簡単 9 Jenkinsの管理画面
10.
JREの切り替えはどうする? • JREを気軽にバージョンアップするためには? •
なんかあったらすぐ元に戻すためには? 10
11.
去年のJJUG 11 当時の資料 h8p://www.slideshare.net/nabedge/java-‐the-‐twelve-‐factor-‐app
12.
h8p://12factor.net 12
13.
突然CM入れてみたりとか 13 Javaな人、絶賛採用中 h8p://www.bizreach.co.jp/recruit/
14.
第2章「依存関係」の最後の段落 Twelve-‐Factor Appは、いかなるシステムツールの暗黙的な存在にも依存し ない。例として、アプリケーションからImageMagickやcurlを使う場合がある。 これらのツールはほとんどのシステムに存在するだろうが、アプリケーション が将来に渡って実行され得るすべてのシステムに存在するかどうか、あるい は将来のシステムでこのアプリケーションと互換性のあるバージョンが見つ かるかどうかについては何の保証もない。アプリケーションがシステムツー ルを必要とするならば、そのツールをアプリケーションに組み込むべきである。 14
15.
• 「アプリケーションがシステムツールを必要と するならば、そのツールをアプリケーションに 組み込むべきである」 •
「アプリケーションがJREを必要とするならば、 JREをアプリケーションに組み込むべきであ る」 15
16.
• 実際のところどうすべきか? – アプリにJREを組み込んでリリース物を作る
– JREにアプリを組み込んでリリース物を作る 16
17.
Java1.4からその機能はある 17 1.4, 5,6,7,8 全てほぼ同じことが書いてある
18.
公式マニュアルにはっきり書かれている 1. $JAVA_HOME=/var/lib/jre1.x.x_nn だと して
2. $JAVA_HOME/lib/ext の配下は自分で 作ったjarを置いてもいい場所ですよ 1. そこは自動的にクラスパスに含まれます よ 18
19.
前提 • Tomcatはインストール型ではなく ライブラリ型=組み込みtomcat=を使え。 19
20.
組み込みTomcatとは • Tomcat 7.0.1x
(2011年初頭)くらいか ら安定リリース • tomcat-‐embed-‐core-‐7.0.x.jar • tomcat-‐embed-‐logging-‐log4j-‐7.0.x.jar 20
21.
public stacc void
main(String[] args) { Tomcat tomcat = new Tomcat(); tomcat.setPort(8080); tomcat.addWebapp("/”, new File(“/var/webAppDir) .getAbsolutePath()); tomcat.start(); tomcat.getServer().await(); } 21
22.
ビルド方法 1. 自作のアプリをjarに固めておく 2.
使用するフレームワークやライブラリのjarも 集めておく 例:mvn dependency:copy-‐dependencies 3. tar zxf jre-‐”N”uXX-‐linux-‐x64.tar.gz 4. cp [1,2のjar群] jreNuXX/lib/ext/ 5. jreNuXX/配下を再びzipかtarballに固める 22
23.
リリース&実行方法 1. 前頁のビルド成果物をサーバ上で解凍する 2.
export JAVA_HOME=解凍先ディレクトリ 3. $JAVA_HOME/bin/java com.example.YourMain ※ -‐classpath=… を指定する必要は無い。 23
24.
JREのバージョンup/down方法 • ビルドするときにjreのtarballのバージョンを変 えるだけ。 – これならインフラさんに迷惑かける必要ないよね。
24
25.
まとめ • JDKとJREはちゃんと区別して考える。 •
全ての普通のjarに固める。 • APサーバは組み込みで。 – tomcat-‐embed, je8y… • JREもろともリリースせよ。 – ライブラリのjarの差し替えと同じ間隔でJREも差し 替えられるように。 – 実は古来から存在する普通の技です。 25
26.
ありがとうございました! 26
Download