SlideShare una empresa de Scribd logo
1 de 26
Descargar para leer sin conexión
これであなたもOSS開発者!
Mavenセントラルリポジトリに
自作ライブラリをUPするときの
いろんなコツの話	
@nabedge = 渡辺 祐 http://mixer2.org/
2014/2/15 2014/4/5 第5回 #渋谷java
CM	
2
Mixer2というライブラリを作ってる者です	
http://mixer2.org	
JavaでWebアプリを作るための
テンプレートエンジン	
3
CMおわり	
4
今日のおはなし	
•  Mixer2というテンプレートエンジンって
すごい便利なんだぜ
•  例えばMixer2みたいなJavaライブラリ
(本体は *.jar ファイル一つ)を
Mavenセントラルリポジトリに登録する
にはどんなふうにしたらいいの?
5
つまりこんなふうに	
6
http://repo1.maven.org/maven2/org/mixer2/mixer2/1.2.22
論より証拠!	
いまこの場で、
Mixer2-1.2.xxの
mavenセントラルリポジトリへの
リリース作業を開始します。
7
デモ
さっきのデモみたいな流れに至るまでのコツ	
•  pom.xmlを調整する
•  <groupId>, <artifactId>,親pomの指定
•  GPG鍵とmaven-gpg-plugin
•  *.md5/*.sha1チェックサムはmaven-install-plugin
•  maven-sources-plugin, maven-javadoc-plugin
•  アップロード権限をもらうための申請
•  Mixer2の場合はどうだった?
•  ビルドとリリースに関する3つのポイント
•  仮想OS + Jenkinsを使う
•  maven-release-pluginのことを忘れる
•  細かいバージョン番号を自分で決めない
8
今日の話は
ここだけ	
各自ググる
あるいは mixer2
のpomを参考に。
•  pom.xmlを調整する
•  <groupId>, <artifactId>,親pomの指定
•  GPG鍵とmaven-gpg-plugin
•  *.md5, *.sha1 チェックサムはmaven-install-plugin
•  maven-souces-plugin, maven-javadoc-plugin
•  アップロード権限をもらうための申請
•  Mixer2の場合はどうだった?
•  ビルドとリリースに関する3つのポイント
•  仮想OS + Jenkinsを使う
•  maven-release-pluginのことを忘れる
•  細かいバージョン番号を自分で決めない
9
アップロード権限をもらう	
1.  大きなプロジェクトでは自前のリポジトリサーバをセントラル
リポジトリサーバが直接rsyncしてくれる。
例: Apache Commons Project
例: Spring Framework Project
2.  小さいプロジェクトの場合は http://oss.sonatype.org に直
接アップする。
1.  申請すれば<groupId>ごとにアップロード権限をくれる。
例: アカウント”nabedge”は<groupId>org.mxier2</
groupId>の配下ならどんなartifactでも登録可能
2.  とりあえず本家の解説を一生懸命読みましょう。
https://docs.sonatype.org/display/Repository/Sonatype
+OSS+Maven+Repository+Usage+Guide
10
Mixer2の場合はどうだった?	
1.  mixer2.org というドメイン名を取得
2.  http://mixer2.org/ にあらかじめmaven siteで作ったページ
を用意。もちろん<groupId>はorg.mixer2
3.  自分のメールアドレスでgpg鍵つくって鍵サーバに登録
4.  pom.xmlを調整
5.  mvn deploy するとステージングリポジトリにUPされる
6.  3で使ったメールアドレスでSonatypeのJIRAにアカウント登
録&チケットを作成。
7.  すんなりリポジトリへのアクセス権をくれた。
8.  NEXUSにJIRAアカウントでログインし、ステージング状態
のartifactをリリースするとセントラルリポジトリへ反映される
※以降のリリースでは5と8の作業だけでよい。	
11
•  pom.xmlを調整する
•  <groupId>, <artifactId>,親pomの指定
•  GPG鍵とmaven-gpg-plugin
•  *.md5, *.sha1 チェックサムはmaven-install-plugin
•  maven-souces-plugin, maven-javadoc-plugin
•  アップロード権限をもらうための申請
•  Mixer2の場合はどうだった?
•  ビルドとリリースに関する3つのポイント
•  仮想OS + Jenkinsを使う
•  maven-release-pluginのことを忘れる
•  細かいバージョン番号を自分で決めない
12
なぜ仮想OS + Jenkinsでやるのか	
1.  ビルド&リリースに使うコマンドやその実行手順を間違えない	
2.  ビルドした記録と成果物を保存しやすい	
3.  異なるJDK/JREでのmvn testを実行しやすい	
•  mixer2はJRE同梱のJAXB実装に依存している。
Java6とJava7とでJAXB実装のバージョンが微妙に異なる。
•  なので、Java7でのmvn testもいつでもやれるようになってる。	
4.  確実に環境を一定に保てる	
5.  バックアップしやすい	
•  「ソースはgithubに入ってるから大丈夫」では甘い。	
•  JDK/JRE環境、gpg署名用の秘密鍵、ビルドジョブの設定(≒ビルド
とリリースの手順そのもの)、過去の成果物、etcetc…
•  ↑うっかり失うと再構築が面倒くさいという意味でダメージ大
•  仮想OSのイメージファイルで丸ごとバックアップしてしまえ!	
13
•  pom.xmlを調整する
•  <groupId>, <artifactId>,親pomの指定
•  GPG鍵とmaven-gpg-plugin
•  *.md5, *.sha1 チェックサムはmaven-install-plugin
•  maven-souces-plugin, maven-javadoc-plugin
•  アップロード権限をもらうための申請
•  Mixer2の場合はどうだった?
•  ビルドとリリースに関する3つのポイント
•  仮想OS + Jenkinsを使う
•  maven-release-pluginのことを忘れる
•  細かいバージョン番号を自分で決めない
14
maven-release-pluginのことを忘れる	
1.  mvn release:prepare release:perform のように簡単
なコマンド一発にできるが、pom.xmlがややこしくなり
がち。	
2.  どうせjenkinsを使うのだから、pom.xmlにややこしい設
定を書く代わりにビルドジョブ上にUNIXコマンドを書く
ようにするほうがわかりやすい&メンテしやすい。	
3.  「maven-release-pluginは、-SNAPSHOTなversion指
定が自分自身や依存先に指定されていないかまで
チェックしてくれるんだぜ!」	
→そういうのも最近はセントラルリポジトリ(のステージ
ング環境)にUPする段階で自動チェックしてくれるから
必ずしも自分でやらなくてもいい。	
15
•  「maven-release-pluginを使うな」
とは言ってません。
•  人間、慣れている方法が一番!	
16
•  pom.xmlを調整する
•  <groupId>, <artifactId>,親pomの指定
•  GPG鍵とmaven-gpg-plugin
•  *.md5, *.sha1 チェックサムはmaven-install-plugin
•  maven-souces-plugin, maven-javadoc-plugin
•  アップロード権限をもらうための申請
•  Mixer2の場合はどうだった?
•  ビルドとリリースに関する3つのポイント
•  仮想OS + Jenkinsを使う
•  maven-release-pluginのことを忘れる
•  細かいバージョン番号を自分で決めない
17
よくあるバージョン番号の考え方	
trunk/1.0.0-SNAPSHOT
    ↓     リリース→ tags/1.0.0
trunk/1.0.1-SNAPSHOT
    ↓     リリース→ tags/1.0.1
trunk/1.0.2-SNAPSHOT
•  リリースタグを切るときに<version>を書き換える。
(これは当然)	
•  trunk側も<version>を書き変える必要あるの?	
18
バージョン番号の固定観念を捨ててみる	
「trunk(開発の本線)のpom.xmlはずっと
<version>1.0-SNAPSHOT</version>
のまま」
というルールにしてしまう!
	
1.  それで開発してて、意外と困らない。	
2.  trunk配下のpom.xmlの<version>を
リリースのたびに書き換える面倒は無くなる
3.  リリースのときに<version>1.2.3</version>に書
き換えてtagを切るのはセオリーどおりで。
19
細かいバージョン番号を自分で決めない	
versions-maven-pluginでpom.xmlの
<version>1.2-SNAPSHOT</version>を
<version>1.2.3</version>
に自動書き換え。	
20
mvn versions:set –DnewVersion=1.2.${BUILD_NUMBER}
${BUILD_NUMBER} ??	
21
${BUILD_NUMBER}	
version 1.2.22の
ビルド履歴ココ
ビルド失敗=バージョン番号が飛ぶ=気にしない	
version 1.2.22 の
次のリリースが
1.2.30 だと
何か困ることが
あるか?
たぶん無い。
22
欠番	
欠番	
実際リリース
したバージョン
<version>を整えたらあとはデプロイ	
23
mvn clean deploy
-Dgpg.keyname=[自分のgpg鍵id]
-Dgpg.passphrase=[gpg鍵のパスフレーズ]
全体の流れ	
24
mvn versions:set
–DnewVersion=1.2.${BUILD_NUMBER} 	
mvn clean deploy
-Dgpg.keyname=[自分のgpg鍵id]
-Dgpg.passphrase=gpg鍵のパスフレーズ 	
Git/Subversionにタグを切る
※タイミングは最後じゃないほうがいいかも。
※下のコマンドはマネしないで!
git commitせずにgit tagしてる(いい加減すぎw)
おまけ:パスワードはマスク	
25
Jenkins Maskpasswords Plugin
おしまい	
ご清聴ありがとうございました!	
26

Más contenido relacionado

La actualidad más candente

Jenkins+Maven活用術
Jenkins+Maven活用術Jenkins+Maven活用術
Jenkins+Maven活用術
cynipe cynipe
 
今流行りのウェブアプリ開発環境Yeoman
今流行りのウェブアプリ開発環境Yeoman今流行りのウェブアプリ開発環境Yeoman
今流行りのウェブアプリ開発環境Yeoman
tomo_masakura
 
Mojolicious::Liteを使ってみよう
Mojolicious::Liteを使ってみようMojolicious::Liteを使ってみよう
Mojolicious::Liteを使ってみよう
charsbar
 
Mojolicious+redisでチャットを作った
Mojolicious+redisでチャットを作ったMojolicious+redisでチャットを作った
Mojolicious+redisでチャットを作った
Tetsuya Tatsumi
 

La actualidad más candente (20)

chat bot framework for Java8
chat bot framework for Java8chat bot framework for Java8
chat bot framework for Java8
 
Jenkins+Maven活用術
Jenkins+Maven活用術Jenkins+Maven活用術
Jenkins+Maven活用術
 
テンプレートエンジンにMixer2を使うとSeleniumでのテストもラクになるかもねという話
テンプレートエンジンにMixer2を使うとSeleniumでのテストもラクになるかもねという話テンプレートエンジンにMixer2を使うとSeleniumでのテストもラクになるかもねという話
テンプレートエンジンにMixer2を使うとSeleniumでのテストもラクになるかもねという話
 
Vagrantと網元で開発環境を作ってみよう
Vagrantと網元で開発環境を作ってみようVagrantと網元で開発環境を作ってみよう
Vagrantと網元で開発環境を作ってみよう
 
【Camphor ×サイボウズ】selenium勉強会
【Camphor ×サイボウズ】selenium勉強会【Camphor ×サイボウズ】selenium勉強会
【Camphor ×サイボウズ】selenium勉強会
 
Cpi mega mix
Cpi mega mixCpi mega mix
Cpi mega mix
 
今流行りのウェブアプリ開発環境Yeoman
今流行りのウェブアプリ開発環境Yeoman今流行りのウェブアプリ開発環境Yeoman
今流行りのウェブアプリ開発環境Yeoman
 
laravel x モバイルアプリ
laravel x モバイルアプリlaravel x モバイルアプリ
laravel x モバイルアプリ
 
C# で Single Page Web アプリが開発できるフレームワーク&開発環境 「Blazor」 ― その概要と Web アプリ開発者にもたらす利点
C# で Single Page Web アプリが開発できるフレームワーク&開発環境 「Blazor」 ― その概要と Web アプリ開発者にもたらす利点C# で Single Page Web アプリが開発できるフレームワーク&開発環境 「Blazor」 ― その概要と Web アプリ開発者にもたらす利点
C# で Single Page Web アプリが開発できるフレームワーク&開発環境 「Blazor」 ― その概要と Web アプリ開発者にもたらす利点
 
Javaで1から10まで書いた話(sanitized)
Javaで1から10まで書いた話(sanitized)Javaで1から10まで書いた話(sanitized)
Javaで1から10まで書いた話(sanitized)
 
Mojolicious::Liteを使ってみよう
Mojolicious::Liteを使ってみようMojolicious::Liteを使ってみよう
Mojolicious::Liteを使ってみよう
 
Mojoliciousでつくる! Webアプリ入門
Mojoliciousでつくる! Webアプリ入門Mojoliciousでつくる! Webアプリ入門
Mojoliciousでつくる! Webアプリ入門
 
capybara で快適なテスト生活を
capybara で快適なテスト生活をcapybara で快適なテスト生活を
capybara で快適なテスト生活を
 
フレームワークを使うべき 3 つの理由
フレームワークを使うべき 3 つの理由フレームワークを使うべき 3 つの理由
フレームワークを使うべき 3 つの理由
 
SEOとJava Script。 〜文書構造とチームと、時々、闇〜
SEOとJava Script。 〜文書構造とチームと、時々、闇〜SEOとJava Script。 〜文書構造とチームと、時々、闇〜
SEOとJava Script。 〜文書構造とチームと、時々、闇〜
 
脱・独自改造! GebでWebDriverをもっとシンプルに
脱・独自改造! GebでWebDriverをもっとシンプルに脱・独自改造! GebでWebDriverをもっとシンプルに
脱・独自改造! GebでWebDriverをもっとシンプルに
 
Mojolicious+redisでチャットを作った
Mojolicious+redisでチャットを作ったMojolicious+redisでチャットを作った
Mojolicious+redisでチャットを作った
 
Gradleどうでしょう
GradleどうでしょうGradleどうでしょう
Gradleどうでしょう
 
Gradle布教活動
Gradle布教活動Gradle布教活動
Gradle布教活動
 
JJUG CCC 2016 fall バイトコードが君のトモダチになりたがっている
JJUG CCC 2016 fall バイトコードが君のトモダチになりたがっているJJUG CCC 2016 fall バイトコードが君のトモダチになりたがっている
JJUG CCC 2016 fall バイトコードが君のトモダチになりたがっている
 

Similar a 20140405 mavenセントラルリポジトリへの登録のコツ 第5回渋谷java

VC6によるRuby拡張ライブラリ開発環境について
VC6によるRuby拡張ライブラリ開発環境についてVC6によるRuby拡張ライブラリ開発環境について
VC6によるRuby拡張ライブラリ開発環境について
goritto
 
Pythonユーザのための構成管理入門 #pyconapac
Pythonユーザのための構成管理入門 #pyconapacPythonユーザのための構成管理入門 #pyconapac
Pythonユーザのための構成管理入門 #pyconapac
Takeshi Komiya
 
Sflt17 meteorではじめる最速ウェブアプリ開発
Sflt17 meteorではじめる最速ウェブアプリ開発Sflt17 meteorではじめる最速ウェブアプリ開発
Sflt17 meteorではじめる最速ウェブアプリ開発
Hironao Sekine
 
3分間 開発環境クッキング 2012.07 #pyfes
3分間 開発環境クッキング 2012.07 #pyfes3分間 開発環境クッキング 2012.07 #pyfes
3分間 開発環境クッキング 2012.07 #pyfes
Takeshi Komiya
 
自分色のLinuxホームサーバーを作ってみよう
自分色のLinuxホームサーバーを作ってみよう自分色のLinuxホームサーバーを作ってみよう
自分色のLinuxホームサーバーを作ってみよう
Masahiko Hashimoto
 

Similar a 20140405 mavenセントラルリポジトリへの登録のコツ 第5回渋谷java (20)

VC6によるRuby拡張ライブラリ開発環境について
VC6によるRuby拡張ライブラリ開発環境についてVC6によるRuby拡張ライブラリ開発環境について
VC6によるRuby拡張ライブラリ開発環境について
 
Pythonユーザのための構成管理入門 #pyconapac
Pythonユーザのための構成管理入門 #pyconapacPythonユーザのための構成管理入門 #pyconapac
Pythonユーザのための構成管理入門 #pyconapac
 
Sflt17 meteorではじめる最速ウェブアプリ開発
Sflt17 meteorではじめる最速ウェブアプリ開発Sflt17 meteorではじめる最速ウェブアプリ開発
Sflt17 meteorではじめる最速ウェブアプリ開発
 
3分間 開発環境クッキング 2012.07 #pyfes
3分間 開発環境クッキング 2012.07 #pyfes3分間 開発環境クッキング 2012.07 #pyfes
3分間 開発環境クッキング 2012.07 #pyfes
 
Harmoware-VIS Tutorial
Harmoware-VIS TutorialHarmoware-VIS Tutorial
Harmoware-VIS Tutorial
 
OpenShift のある生活
OpenShift のある生活OpenShift のある生活
OpenShift のある生活
 
JRoRの力をJava EE技術を使ってさらに高める10の方法(発動編)
JRoRの力をJava EE技術を使ってさらに高める10の方法(発動編)JRoRの力をJava EE技術を使ってさらに高める10の方法(発動編)
JRoRの力をJava EE技術を使ってさらに高める10の方法(発動編)
 
さくらのクラウドフォーメーション with Chef [XEgg session]
さくらのクラウドフォーメーション with Chef [XEgg session]さくらのクラウドフォーメーション with Chef [XEgg session]
さくらのクラウドフォーメーション with Chef [XEgg session]
 
DebianとWordPressでハッピーになろう!
DebianとWordPressでハッピーになろう!DebianとWordPressでハッピーになろう!
DebianとWordPressでハッピーになろう!
 
DevOpsのアプローチと クラウド/バーチャル環境/構成管理ツール のお話
DevOpsのアプローチと クラウド/バーチャル環境/構成管理ツール のお話DevOpsのアプローチと クラウド/バーチャル環境/構成管理ツール のお話
DevOpsのアプローチと クラウド/バーチャル環境/構成管理ツール のお話
 
Vagrant & Dockerによるイマドキの開発環境構築
Vagrant & Dockerによるイマドキの開発環境構築Vagrant & Dockerによるイマドキの開発環境構築
Vagrant & Dockerによるイマドキの開発環境構築
 
Devsumi2008
Devsumi2008Devsumi2008
Devsumi2008
 
自分色のLinuxホームサーバーを作ってみよう
自分色のLinuxホームサーバーを作ってみよう自分色のLinuxホームサーバーを作ってみよう
自分色のLinuxホームサーバーを作ってみよう
 
自宅で出来る!ゲームサーバの作り方
自宅で出来る!ゲームサーバの作り方自宅で出来る!ゲームサーバの作り方
自宅で出来る!ゲームサーバの作り方
 
How to deploy & operate OpenStack Production
How to deploy & operate OpenStack ProductionHow to deploy & operate OpenStack Production
How to deploy & operate OpenStack Production
 
DockerでWordPressサイトを開発してみよう
DockerでWordPressサイトを開発してみようDockerでWordPressサイトを開発してみよう
DockerでWordPressサイトを開発してみよう
 
Swiftで外部ライブラリを使ってみよう
Swiftで外部ライブラリを使ってみようSwiftで外部ライブラリを使ってみよう
Swiftで外部ライブラリを使ってみよう
 
割と新し目の Open shift origin で作る自宅 paas 作成記
割と新し目の Open shift origin で作る自宅 paas 作成記割と新し目の Open shift origin で作る自宅 paas 作成記
割と新し目の Open shift origin で作る自宅 paas 作成記
 
もう XAMPP / MAMP はいらない!
Vagrant で作る PHP 開発環境
もう XAMPP / MAMP はいらない!
Vagrant で作る PHP 開発環境もう XAMPP / MAMP はいらない!
Vagrant で作る PHP 開発環境
もう XAMPP / MAMP はいらない!
Vagrant で作る PHP 開発環境
 
Hello Java
Hello JavaHello Java
Hello Java
 

Más de Y Watanabe

Seleniumと相性がいいテンプレートエンジンMixer2-第1回selenium勉強会ライトニングトーク
Seleniumと相性がいいテンプレートエンジンMixer2-第1回selenium勉強会ライトニングトークSeleniumと相性がいいテンプレートエンジンMixer2-第1回selenium勉強会ライトニングトーク
Seleniumと相性がいいテンプレートエンジンMixer2-第1回selenium勉強会ライトニングトーク
Y Watanabe
 
SpringMVCとmixer2で作るWebアプリのキホン 2013-01-24 Spring勉強会 #jsug
SpringMVCとmixer2で作るWebアプリのキホン 2013-01-24 Spring勉強会 #jsugSpringMVCとmixer2で作るWebアプリのキホン 2013-01-24 Spring勉強会 #jsug
SpringMVCとmixer2で作るWebアプリのキホン 2013-01-24 Spring勉強会 #jsug
Y Watanabe
 

Más de Y Watanabe (16)

クラウド時代だからSpring-Retryフレームワーク
クラウド時代だからSpring-Retryフレームワーククラウド時代だからSpring-Retryフレームワーク
クラウド時代だからSpring-Retryフレームワーク
 
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
 
JavaでWebサービスを作り続けるための戦略と戦術 JJUG-CCC-2018-Spring-g1
JavaでWebサービスを作り続けるための戦略と戦術 JJUG-CCC-2018-Spring-g1JavaでWebサービスを作り続けるための戦略と戦術 JJUG-CCC-2018-Spring-g1
JavaでWebサービスを作り続けるための戦略と戦術 JJUG-CCC-2018-Spring-g1
 
サーバーサイドな人がフロントエンド技術と仲良くするはじめの一歩
サーバーサイドな人がフロントエンド技術と仲良くするはじめの一歩サーバーサイドな人がフロントエンド技術と仲良くするはじめの一歩
サーバーサイドな人がフロントエンド技術と仲良くするはじめの一歩
 
Selenium再入門-W3C勧告とページオブジェクトパターンと私-201707webエンジニア勉強会#2神田
Selenium再入門-W3C勧告とページオブジェクトパターンと私-201707webエンジニア勉強会#2神田Selenium再入門-W3C勧告とページオブジェクトパターンと私-201707webエンジニア勉強会#2神田
Selenium再入門-W3C勧告とページオブジェクトパターンと私-201707webエンジニア勉強会#2神田
 
Webエンジニアがスタートダッシュをキメるためのローカル開発環境の勘所
Webエンジニアがスタートダッシュをキメるためのローカル開発環境の勘所Webエンジニアがスタートダッシュをキメるためのローカル開発環境の勘所
Webエンジニアがスタートダッシュをキメるためのローカル開発環境の勘所
 
jooqってなんて読むの? から始めるO/RマッパーとSpringBootの世界
jooqってなんて読むの? から始めるO/RマッパーとSpringBootの世界jooqってなんて読むの? から始めるO/RマッパーとSpringBootの世界
jooqってなんて読むの? から始めるO/RマッパーとSpringBootの世界
 
俺のコードがどこでつかわれているのかわからない問題 あるいはマイナーOSSの生存戦略
俺のコードがどこでつかわれているのかわからない問題 あるいはマイナーOSSの生存戦略俺のコードがどこでつかわれているのかわからない問題 あるいはマイナーOSSの生存戦略
俺のコードがどこでつかわれているのかわからない問題 あるいはマイナーOSSの生存戦略
 
properties, yaml, and me
properties, yaml, and meproperties, yaml, and me
properties, yaml, and me
 
テストゼロからイチに進むための戦略と戦術
テストゼロからイチに進むための戦略と戦術テストゼロからイチに進むための戦略と戦術
テストゼロからイチに進むための戦略と戦術
 
The cost of learning - advantage of mixer2
The cost of learning - advantage of mixer2The cost of learning - advantage of mixer2
The cost of learning - advantage of mixer2
 
渋谷java−あなたのプロジェクトで気軽にjavaをバージョンアップするために必要なこと
渋谷java−あなたのプロジェクトで気軽にjavaをバージョンアップするために必要なこと渋谷java−あなたのプロジェクトで気軽にjavaをバージョンアップするために必要なこと
渋谷java−あなたのプロジェクトで気軽にjavaをバージョンアップするために必要なこと
 
Javaでやってみる The Twelve Factor App JJUG-CCC 2014 Fall 講演資料
Javaでやってみる The Twelve Factor App JJUG-CCC 2014 Fall 講演資料Javaでやってみる The Twelve Factor App JJUG-CCC 2014 Fall 講演資料
Javaでやってみる The Twelve Factor App JJUG-CCC 2014 Fall 講演資料
 
Seleniumと相性がいいテンプレートエンジンMixer2-第1回selenium勉強会ライトニングトーク
Seleniumと相性がいいテンプレートエンジンMixer2-第1回selenium勉強会ライトニングトークSeleniumと相性がいいテンプレートエンジンMixer2-第1回selenium勉強会ライトニングトーク
Seleniumと相性がいいテンプレートエンジンMixer2-第1回selenium勉強会ライトニングトーク
 
Mixer2によるdynamic css sprite 201309第三回渋谷java
Mixer2によるdynamic css sprite 201309第三回渋谷javaMixer2によるdynamic css sprite 201309第三回渋谷java
Mixer2によるdynamic css sprite 201309第三回渋谷java
 
SpringMVCとmixer2で作るWebアプリのキホン 2013-01-24 Spring勉強会 #jsug
SpringMVCとmixer2で作るWebアプリのキホン 2013-01-24 Spring勉強会 #jsugSpringMVCとmixer2で作るWebアプリのキホン 2013-01-24 Spring勉強会 #jsug
SpringMVCとmixer2で作るWebアプリのキホン 2013-01-24 Spring勉強会 #jsug
 

Último

Último (12)

Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 

20140405 mavenセントラルリポジトリへの登録のコツ 第5回渋谷java