SlideShare ist ein Scribd-Unternehmen logo
1 von 70
Downloaden Sie, um offline zu lesen
Strutsから
移行する人のための
JSF基礎
@megascus
#html5biz #jjug
13年9月9日月曜日
自己紹介
• 久保智(@megascus)
• グロースエクスパートナーズ所属/JJUG幹事
• 業務系SE
13年9月9日月曜日
注意
13年9月9日月曜日
HTML5とか出てきません
ごめんなさい!
13年9月9日月曜日
Java EE6(JSF2.0)の範囲です
Java EE 7?なんのことです?
13年9月9日月曜日
Java EE 7(JSF2.2)
の話が聞きたい人は
13年9月9日月曜日
11/9のJJUG CCCへ!
(@den2snさんよろしく!)
13年9月9日月曜日
Struts2 is not Struts
13年9月9日月曜日
JSFの概要
13年9月9日月曜日
JSFとは何か
13年9月9日月曜日
JSFとは何か
• 2004年にv1.0がリリースされた
• Strutsのメイン開発者が仕様策定に参加
• Java EE 5からJava EEの標準UIフレームワークに
13年9月9日月曜日
なぜJSFか
13年9月9日月曜日
なぜJSFか
• Ajaxの使用を前提に設計されているため、リッチなUIを
作りやすい
• Strutsと骨子が似ているため、要素だけ理解していれば
Strutsから移行しやすい
• Java EEの標準のためベンダーのサポートを受けやすい
13年9月9日月曜日
JSFで作成できるUI
13年9月9日月曜日
JavaScriptレスな
Ajaxを使用したUI
13年9月9日月曜日
JavaScriptレスな
Ajaxを使用したUI
Ajaxを使用した
エラーメッセージの表示
13年9月9日月曜日
JavaScriptレスな
Ajaxを使用したUI
<h:inputText id="startedDate" value="#{someBean.startDate}" required="true" >
<f:convertDateTime pattern="yyyy/MM/dd" />
<f:ajax event="blur"
render="startedDateError" />
</h:inputText>
<h:message id="startedDateError" for="startedDate" styleClass="errorMessage"/>
f:ajaxによる部分描画変更のサポート
13年9月9日月曜日
もっとリッチなUIを作りたい
13年9月9日月曜日
JSFの拡張ライブラリを使う
13年9月9日月曜日
JSFの拡張ライブラリを使う
•Prime Faces
•Rich Faces
•Ice Facesその他(都合により省略)
13年9月9日月曜日
Prime Faces
13年9月9日月曜日
Prime Faces
• トルコのPrimeTechnology社が開発しているOSSのライブ
ラリ
• 日本だと @kikutaro_ さんが一番詳しいのでブログを参
照して下さい。
http://kikutaro777.hatenablog.com/
13年9月9日月曜日
詳しくはデモを見て下さい
http://www.primefaces.org/showcase/ui/home.jsf
13年9月9日月曜日
Rich Faces
13年9月9日月曜日
Rich Faces
• JBossが開発しているOSSのライブラリ
• 前はAjax4Jsfと呼ばれていた
• 日本ではオープンに情報発信をしている人はいないけ
ど、オープン度ではPrime Facesより上
13年9月9日月曜日
詳しくはデモを見て下さい
http://livedemo.exadel.com/richfaces-demo/
13年9月9日月曜日
JSFの拡張ライブラリを
使用する上での注意
13年9月9日月曜日
JSFの拡張ライブラリを
使用する上での注意
• 基本的に最新版のブラウザしかサポートしない(素のJSF
だとIE8ぐらいから動くのですが)
• ブラウザの最新化をがんばりましょう
13年9月9日月曜日
JSFの構成要素
13年9月9日月曜日
Strutsの頃はこんな感じでした
13年9月9日月曜日
Strutsの構成要素
• Action、ActionForm
• JSP+タグライブラリ(jstl、struts-tags)
• commons-validator(入力値の検証)
• Struts-tiles(UIの部品化)
• RequestProcesser
13年9月9日月曜日
Struts→JSF
• Action、ActionForm→managed-bean
• JSP+タグライブラリ→XHTML+タグライブラリ
• commons-validator→JSFValidator+BeanValidator
• Struts-tiles→ui composition
• RequestProcesser→Phase Listener
13年9月9日月曜日
managed-bean
13年9月9日月曜日
managed-bean
• StrutsではActionFormとActionとで分かれていた入力値と
処理をJSFでは一つにまとめて記述できるようになった
• Strutsではxmlでしか定義できなかったものがJSFではxml
に加えてアノテーションでも定義できるようになった
13年9月9日月曜日
アノテーションベースの
managed-beanの例
@Named("someBean")//動かない場合は@ManagedBean
@SessionScoped
public class SomeBean implements Serializable {
public String execute() {
//do something....
}
13年9月9日月曜日
XHTML+タグライブラリ
13年9月9日月曜日
XHTML+タグライブラリ
<h:form>
<h:inputText id="id" value="#{someBean.id}" />
<h:commandLink action="#{someBean.execute}"
value="button" />
</h:form>
13年9月9日月曜日
XHTML+タグライブラリ
• JSPと違いServletには変換されなくなった
• エラーが発生した時にスタックトレースにXHTMLの行
番号がそのまま出るのでエラーを追いやすい
13年9月9日月曜日
JSFValidator + BeanValidator
13年9月9日月曜日
JSFValidator + BeanValidator
• バリデーション定義を画面に直接記載するJSFValidator
• バリデーション定義をプロパティに直接記載するBean
Validator
• 定義と実際に使う場所が近くなりました
13年9月9日月曜日
JSFValidator
<h:inputText id="name" value="#{someBean.name}"
required="true"
requiredMessage= "name is required."
validator="#{someBean.valid}"
label= "message" >
13年9月9日月曜日
JSFValidator
public void validate(FacesContext context,
UIComponent component,
Object newValue) {
// some error check.
if (hasError) {
throw new ValidatorException("error message.");
}
}
13年9月9日月曜日
BeanValidator
@NotNull
@Size(min=0, max=8)
private String name;
アノテーションベースのエラーチェック
13年9月9日月曜日
ui composition
13年9月9日月曜日
ui composition
• いわゆるテンプレート機能
• 特に珍しい機能でもないので省略
13年9月9日月曜日
Phase Listener
13年9月9日月曜日
Phase Listener
• StrutsのRequestProcesserのprocessXXXXという名前で定
義されていたメソッドがそれぞれ別のクラスになった
• Phaseそのもののカスタマイズや前後に処理を挟むこと
が可能
• Strutsに比べて拡張しやすくなった
13年9月9日月曜日
Phase Listener
• PhaseListenerクラスをimplimentsする形で作成
• フレームワーク作成時にしか作らないと思うので省略
13年9月9日月曜日
JSF利用時の注意
13年9月9日月曜日
JSF利用時の注意
• JSF1.X(Java EE5以前)とJSF2.X(Java EE6以降)は別物
• JSF1.Xを使うぐらいだったらStrutsの方がマシ
※個人の感想です
13年9月9日月曜日
補足
デザイナーさんとの
協業向けの機能
13年9月9日月曜日
XHTMLにjsfcタグを
埋め込むことで動作可能に
<form jsfc="h:form">
名前を入力してください。
<input type="text" jsfc="h:inputText"
value="#{someBean.name}"/>
<input type="submit" jsfc="h:commandButton"
value="実行" action="#{someBean.execute}"/>
</form>
13年9月9日月曜日
最後に
業務系SEからの2つのお願い
13年9月9日月曜日
独自のセッション管理機能は
作らないで下さい
• 昨今のフレームワークはリッチなユーザーインター
フェースを実現するためにセッション機能を多用する
• 自前でセッションの永続化をするだけだと万が一の時
にフレームワーク部分の復元ができない
• 仮に作るならAPサーバーと統合して下さい
13年9月9日月曜日
メモリを大量に積んで下さい
• リッチなUIを実現するために、フレームワークがセッ
ションにデータをたくさん持ちます
• セッションにデータを持つのは業務情報だけじゃない
• Struts時代の2倍から10倍ぐらい積むのがオススメ
13年9月9日月曜日
以上
13年9月9日月曜日
とみせかけて
おまけ
13年9月9日月曜日
13年9月9日月曜日
Strutsじゃない
ネタが必要?
13年9月9日月曜日
Scalaか!
13年9月9日月曜日
JSFをScalaで
13年9月9日月曜日
去年のネタ
Java EE 6 With Scala
http://d.hatena.ne.jp/megascus/20121118/1353234678
13年9月9日月曜日
ふつーに動きます
(面白みがないぐらい)
13年9月9日月曜日
感想
13年9月9日月曜日
便利です。
13年9月9日月曜日
良い感想は次の方々が説明し
てくれると思うので
13年9月9日月曜日
悪い感想
13年9月9日月曜日
ScalaからJavaを使う
• Scala自体が互換性を気にしていないため、バージョン
アップで動かなくなることが多い
ScalaとJavaでList(Collection)のClassの互換性が無いため、
ScalaからJavaのライブラリを扱うのはそれなりに工数が
かかる
13年9月9日月曜日
そんな感じで
13年9月9日月曜日
ありがとうございました
Groovyのこと忘れないで下さい
13年9月9日月曜日

Weitere ähnliche Inhalte

Was ist angesagt?

Linuxカーネルを読んで改めて知るプロセスとスレッドの違い
Linuxカーネルを読んで改めて知るプロセスとスレッドの違いLinuxカーネルを読んで改めて知るプロセスとスレッドの違い
Linuxカーネルを読んで改めて知るプロセスとスレッドの違いRetrieva inc.
 
スクラムパタン入門
スクラムパタン入門スクラムパタン入門
スクラムパタン入門Kiro Harada
 
【第21回Elasticsearch勉強会】aws環境に合わせてelastic stackをログ分析基盤として構築した話
【第21回Elasticsearch勉強会】aws環境に合わせてelastic stackをログ分析基盤として構築した話【第21回Elasticsearch勉強会】aws環境に合わせてelastic stackをログ分析基盤として構築した話
【第21回Elasticsearch勉強会】aws環境に合わせてelastic stackをログ分析基盤として構築した話Hibino Hisashi
 
DatadogでAWS監視やってみた
DatadogでAWS監視やってみたDatadogでAWS監視やってみた
DatadogでAWS監視やってみたtyamane
 
NW遅延環境(Paas)でのPostgreSQLの利用について
NW遅延環境(Paas)でのPostgreSQLの利用についてNW遅延環境(Paas)でのPostgreSQLの利用について
NW遅延環境(Paas)でのPostgreSQLの利用についてkawarasho
 
[AWSマイスターシリーズ] Amazon SQS / SNS
[AWSマイスターシリーズ] Amazon SQS / SNS[AWSマイスターシリーズ] Amazon SQS / SNS
[AWSマイスターシリーズ] Amazon SQS / SNSAmazon Web Services Japan
 
Pacemaker + PostgreSQL レプリケーション構成(PG-REX)のフェイルオーバー高速化
Pacemaker + PostgreSQL レプリケーション構成(PG-REX)のフェイルオーバー高速化Pacemaker + PostgreSQL レプリケーション構成(PG-REX)のフェイルオーバー高速化
Pacemaker + PostgreSQL レプリケーション構成(PG-REX)のフェイルオーバー高速化kazuhcurry
 
システム監視のアラート大量発生を抑えるZabbixトリガー「依存関係」機能の紹介
システム監視のアラート大量発生を抑えるZabbixトリガー「依存関係」機能の紹介システム監視のアラート大量発生を抑えるZabbixトリガー「依存関係」機能の紹介
システム監視のアラート大量発生を抑えるZabbixトリガー「依存関係」機能の紹介Haruki Yamashita
 
Azure SecOps! Azure Key Vaultを用いたクラウドのキー管理
Azure SecOps! Azure Key Vaultを用いたクラウドのキー管理Azure SecOps! Azure Key Vaultを用いたクラウドのキー管理
Azure SecOps! Azure Key Vaultを用いたクラウドのキー管理Yuki Hattori
 
「ITアーキテクトの役割と責任」デブサミ2015 20-C-1
「ITアーキテクトの役割と責任」デブサミ2015 20-C-1「ITアーキテクトの役割と責任」デブサミ2015 20-C-1
「ITアーキテクトの役割と責任」デブサミ2015 20-C-1Yusuke Suzuki
 
AWS Wavelength最新情報(2020/12)
AWS Wavelength最新情報(2020/12)AWS Wavelength最新情報(2020/12)
AWS Wavelength最新情報(2020/12)Kentaro Matsumoto
 
辞書攻撃をする人は何をどう使っているのか
辞書攻撃をする人は何をどう使っているのか辞書攻撃をする人は何をどう使っているのか
辞書攻撃をする人は何をどう使っているのかozuma5119
 
深い親子関係のテーブル設計
深い親子関係のテーブル設計深い親子関係のテーブル設計
深い親子関係のテーブル設計琢磨 三浦
 
[JJUG CCC 2021 Spring]Eclipse ユーザのための VSCode のススメ
[JJUG CCC 2021 Spring]Eclipse ユーザのための VSCode のススメ[JJUG CCC 2021 Spring]Eclipse ユーザのための VSCode のススメ
[JJUG CCC 2021 Spring]Eclipse ユーザのための VSCode のススメSatoshi Takami
 
HBaseCon 2015: OpenTSDB and AsyncHBase Update
HBaseCon 2015: OpenTSDB and AsyncHBase UpdateHBaseCon 2015: OpenTSDB and AsyncHBase Update
HBaseCon 2015: OpenTSDB and AsyncHBase UpdateHBaseCon
 
AWS Black Belt Techシリーズ Amazon CloudSearch
AWS Black Belt Techシリーズ Amazon CloudSearchAWS Black Belt Techシリーズ Amazon CloudSearch
AWS Black Belt Techシリーズ Amazon CloudSearchAmazon Web Services Japan
 
MLOps Yearning ~ 実運用システムを構築する前にデータサイエンティストが考えておきたいこと
MLOps Yearning ~ 実運用システムを構築する前にデータサイエンティストが考えておきたいことMLOps Yearning ~ 実運用システムを構築する前にデータサイエンティストが考えておきたいこと
MLOps Yearning ~ 実運用システムを構築する前にデータサイエンティストが考えておきたいことRakuten Group, Inc.
 
イケてない開発チームがイケてる開発を始めようとする軌跡
イケてない開発チームがイケてる開発を始めようとする軌跡イケてない開発チームがイケてる開発を始めようとする軌跡
イケてない開発チームがイケてる開発を始めようとする軌跡NTT Communications Technology Development
 

Was ist angesagt? (20)

Linuxカーネルを読んで改めて知るプロセスとスレッドの違い
Linuxカーネルを読んで改めて知るプロセスとスレッドの違いLinuxカーネルを読んで改めて知るプロセスとスレッドの違い
Linuxカーネルを読んで改めて知るプロセスとスレッドの違い
 
スクラムパタン入門
スクラムパタン入門スクラムパタン入門
スクラムパタン入門
 
Amazon ElastiCacheのはじめ方
Amazon ElastiCacheのはじめ方Amazon ElastiCacheのはじめ方
Amazon ElastiCacheのはじめ方
 
【第21回Elasticsearch勉強会】aws環境に合わせてelastic stackをログ分析基盤として構築した話
【第21回Elasticsearch勉強会】aws環境に合わせてelastic stackをログ分析基盤として構築した話【第21回Elasticsearch勉強会】aws環境に合わせてelastic stackをログ分析基盤として構築した話
【第21回Elasticsearch勉強会】aws環境に合わせてelastic stackをログ分析基盤として構築した話
 
DatadogでAWS監視やってみた
DatadogでAWS監視やってみたDatadogでAWS監視やってみた
DatadogでAWS監視やってみた
 
NW遅延環境(Paas)でのPostgreSQLの利用について
NW遅延環境(Paas)でのPostgreSQLの利用についてNW遅延環境(Paas)でのPostgreSQLの利用について
NW遅延環境(Paas)でのPostgreSQLの利用について
 
[AWSマイスターシリーズ] Amazon SQS / SNS
[AWSマイスターシリーズ] Amazon SQS / SNS[AWSマイスターシリーズ] Amazon SQS / SNS
[AWSマイスターシリーズ] Amazon SQS / SNS
 
Pacemaker + PostgreSQL レプリケーション構成(PG-REX)のフェイルオーバー高速化
Pacemaker + PostgreSQL レプリケーション構成(PG-REX)のフェイルオーバー高速化Pacemaker + PostgreSQL レプリケーション構成(PG-REX)のフェイルオーバー高速化
Pacemaker + PostgreSQL レプリケーション構成(PG-REX)のフェイルオーバー高速化
 
システム監視のアラート大量発生を抑えるZabbixトリガー「依存関係」機能の紹介
システム監視のアラート大量発生を抑えるZabbixトリガー「依存関係」機能の紹介システム監視のアラート大量発生を抑えるZabbixトリガー「依存関係」機能の紹介
システム監視のアラート大量発生を抑えるZabbixトリガー「依存関係」機能の紹介
 
Azure SecOps! Azure Key Vaultを用いたクラウドのキー管理
Azure SecOps! Azure Key Vaultを用いたクラウドのキー管理Azure SecOps! Azure Key Vaultを用いたクラウドのキー管理
Azure SecOps! Azure Key Vaultを用いたクラウドのキー管理
 
「ITアーキテクトの役割と責任」デブサミ2015 20-C-1
「ITアーキテクトの役割と責任」デブサミ2015 20-C-1「ITアーキテクトの役割と責任」デブサミ2015 20-C-1
「ITアーキテクトの役割と責任」デブサミ2015 20-C-1
 
AWS Wavelength最新情報(2020/12)
AWS Wavelength最新情報(2020/12)AWS Wavelength最新情報(2020/12)
AWS Wavelength最新情報(2020/12)
 
辞書攻撃をする人は何をどう使っているのか
辞書攻撃をする人は何をどう使っているのか辞書攻撃をする人は何をどう使っているのか
辞書攻撃をする人は何をどう使っているのか
 
深い親子関係のテーブル設計
深い親子関係のテーブル設計深い親子関係のテーブル設計
深い親子関係のテーブル設計
 
[JJUG CCC 2021 Spring]Eclipse ユーザのための VSCode のススメ
[JJUG CCC 2021 Spring]Eclipse ユーザのための VSCode のススメ[JJUG CCC 2021 Spring]Eclipse ユーザのための VSCode のススメ
[JJUG CCC 2021 Spring]Eclipse ユーザのための VSCode のススメ
 
HBaseCon 2015: OpenTSDB and AsyncHBase Update
HBaseCon 2015: OpenTSDB and AsyncHBase UpdateHBaseCon 2015: OpenTSDB and AsyncHBase Update
HBaseCon 2015: OpenTSDB and AsyncHBase Update
 
KubeConRecap_nakamura.pdf
KubeConRecap_nakamura.pdfKubeConRecap_nakamura.pdf
KubeConRecap_nakamura.pdf
 
AWS Black Belt Techシリーズ Amazon CloudSearch
AWS Black Belt Techシリーズ Amazon CloudSearchAWS Black Belt Techシリーズ Amazon CloudSearch
AWS Black Belt Techシリーズ Amazon CloudSearch
 
MLOps Yearning ~ 実運用システムを構築する前にデータサイエンティストが考えておきたいこと
MLOps Yearning ~ 実運用システムを構築する前にデータサイエンティストが考えておきたいことMLOps Yearning ~ 実運用システムを構築する前にデータサイエンティストが考えておきたいこと
MLOps Yearning ~ 実運用システムを構築する前にデータサイエンティストが考えておきたいこと
 
イケてない開発チームがイケてる開発を始めようとする軌跡
イケてない開発チームがイケてる開発を始めようとする軌跡イケてない開発チームがイケてる開発を始めようとする軌跡
イケてない開発チームがイケてる開発を始めようとする軌跡
 

Ähnlich wie Strutsから移行する人のためのjsf基礎

【未発表】Backbone.jsとJavaEE7でWebアプリを作ろう!(第1回) 〜GETで一覧編〜
【未発表】Backbone.jsとJavaEE7でWebアプリを作ろう!(第1回) 〜GETで一覧編〜【未発表】Backbone.jsとJavaEE7でWebアプリを作ろう!(第1回) 〜GETで一覧編〜
【未発表】Backbone.jsとJavaEE7でWebアプリを作ろう!(第1回) 〜GETで一覧編〜Toshio Ehara
 
Java one 2013 sf 報告会lt
Java one 2013 sf 報告会ltJava one 2013 sf 報告会lt
Java one 2013 sf 報告会lttorutk
 
How to relaunch "sapporojs.org" ~Introduction to middleman~
How to relaunch "sapporojs.org" ~Introduction to middleman~How to relaunch "sapporojs.org" ~Introduction to middleman~
How to relaunch "sapporojs.org" ~Introduction to middleman~Ryunosuke SATO
 
Groovyスクリプト"再"入門 起動編
Groovyスクリプト"再"入門 起動編Groovyスクリプト"再"入門 起動編
Groovyスクリプト"再"入門 起動編Yasuharu Hayami
 
JSFとJAX-RSで作る Thin Server Architecture #glassfishjp
JSFとJAX-RSで作る Thin Server Architecture #glassfishjpJSFとJAX-RSで作る Thin Server Architecture #glassfishjp
JSFとJAX-RSで作る Thin Server Architecture #glassfishjpToshiaki Maki
 
The Way of Fun Development - たのしい開発への道 / Sapporo RubyKaigi2012
The Way of Fun Development - たのしい開発への道 / Sapporo RubyKaigi2012The Way of Fun Development - たのしい開発への道 / Sapporo RubyKaigi2012
The Way of Fun Development - たのしい開発への道 / Sapporo RubyKaigi2012tatsuo sakurai
 
今から始めるApache Groovy
今から始めるApache Groovy今から始めるApache Groovy
今から始めるApache GroovyYasuharu Hayami
 
JavaScriptのテストコード 一緒に勉強しませんか??
JavaScriptのテストコード 一緒に勉強しませんか??JavaScriptのテストコード 一緒に勉強しませんか??
JavaScriptのテストコード 一緒に勉強しませんか??Toshio Ehara
 

Ähnlich wie Strutsから移行する人のためのjsf基礎 (10)

GroovyでJSON2015
GroovyでJSON2015GroovyでJSON2015
GroovyでJSON2015
 
【未発表】Backbone.jsとJavaEE7でWebアプリを作ろう!(第1回) 〜GETで一覧編〜
【未発表】Backbone.jsとJavaEE7でWebアプリを作ろう!(第1回) 〜GETで一覧編〜【未発表】Backbone.jsとJavaEE7でWebアプリを作ろう!(第1回) 〜GETで一覧編〜
【未発表】Backbone.jsとJavaEE7でWebアプリを作ろう!(第1回) 〜GETで一覧編〜
 
Java one 2013 sf 報告会lt
Java one 2013 sf 報告会ltJava one 2013 sf 報告会lt
Java one 2013 sf 報告会lt
 
How to relaunch "sapporojs.org" ~Introduction to middleman~
How to relaunch "sapporojs.org" ~Introduction to middleman~How to relaunch "sapporojs.org" ~Introduction to middleman~
How to relaunch "sapporojs.org" ~Introduction to middleman~
 
Groovyスクリプト"再"入門 起動編
Groovyスクリプト"再"入門 起動編Groovyスクリプト"再"入門 起動編
Groovyスクリプト"再"入門 起動編
 
JsonSlurperの話
JsonSlurperの話JsonSlurperの話
JsonSlurperの話
 
JSFとJAX-RSで作る Thin Server Architecture #glassfishjp
JSFとJAX-RSで作る Thin Server Architecture #glassfishjpJSFとJAX-RSで作る Thin Server Architecture #glassfishjp
JSFとJAX-RSで作る Thin Server Architecture #glassfishjp
 
The Way of Fun Development - たのしい開発への道 / Sapporo RubyKaigi2012
The Way of Fun Development - たのしい開発への道 / Sapporo RubyKaigi2012The Way of Fun Development - たのしい開発への道 / Sapporo RubyKaigi2012
The Way of Fun Development - たのしい開発への道 / Sapporo RubyKaigi2012
 
今から始めるApache Groovy
今から始めるApache Groovy今から始めるApache Groovy
今から始めるApache Groovy
 
JavaScriptのテストコード 一緒に勉強しませんか??
JavaScriptのテストコード 一緒に勉強しませんか??JavaScriptのテストコード 一緒に勉強しませんか??
JavaScriptのテストコード 一緒に勉強しませんか??
 

Mehr von Satoshi Kubo

Jakarta EE/MicroProfileの世界をひろげるRed Hat Application Fundations
Jakarta EE/MicroProfileの世界をひろげるRed Hat Application Fundations Jakarta EE/MicroProfileの世界をひろげるRed Hat Application Fundations
Jakarta EE/MicroProfileの世界をひろげるRed Hat Application Fundations Satoshi Kubo
 
2022年7月JJUGナイトセミナー「Jakarta EE特集」MicroProfile あらためてのおさらい
2022年7月JJUGナイトセミナー「Jakarta EE特集」MicroProfile あらためてのおさらい2022年7月JJUGナイトセミナー「Jakarta EE特集」MicroProfile あらためてのおさらい
2022年7月JJUGナイトセミナー「Jakarta EE特集」MicroProfile あらためてのおさらいSatoshi Kubo
 
できる!Pmdカスタマイズ
できる!Pmdカスタマイズできる!Pmdカスタマイズ
できる!PmdカスタマイズSatoshi Kubo
 
Javaの速度比較
Javaの速度比較Javaの速度比較
Javaの速度比較Satoshi Kubo
 
Java EEの話(仮)
Java EEの話(仮)Java EEの話(仮)
Java EEの話(仮)Satoshi Kubo
 
テストって何がしたいんですか?
テストって何がしたいんですか?テストって何がしたいんですか?
テストって何がしたいんですか?Satoshi Kubo
 
泥沼の中のパフォーマンスチューニング #JJUG
泥沼の中のパフォーマンスチューニング #JJUG泥沼の中のパフォーマンスチューニング #JJUG
泥沼の中のパフォーマンスチューニング #JJUGSatoshi Kubo
 
Junitを使ったjavaのテスト入門
Junitを使ったjavaのテスト入門Junitを使ったjavaのテスト入門
Junitを使ったjavaのテスト入門Satoshi Kubo
 
Advent calendarを作ってみた
Advent calendarを作ってみたAdvent calendarを作ってみた
Advent calendarを作ってみたSatoshi Kubo
 
Java ee6 with scala
Java ee6 with scalaJava ee6 with scala
Java ee6 with scalaSatoshi Kubo
 
Glass fishで作ったアプリをweblogicに移植してみた
Glass fishで作ったアプリをweblogicに移植してみたGlass fishで作ったアプリをweblogicに移植してみた
Glass fishで作ったアプリをweblogicに移植してみたSatoshi Kubo
 
金魚本に載ってないJpqlの話 #glassfishjp
金魚本に載ってないJpqlの話 #glassfishjp金魚本に載ってないJpqlの話 #glassfishjp
金魚本に載ってないJpqlの話 #glassfishjpSatoshi Kubo
 
JavaEE6 First Application #glassfishjp
JavaEE6 First Application #glassfishjpJavaEE6 First Application #glassfishjp
JavaEE6 First Application #glassfishjpSatoshi Kubo
 

Mehr von Satoshi Kubo (15)

Jakarta CDI 4.0
Jakarta CDI 4.0Jakarta CDI 4.0
Jakarta CDI 4.0
 
Jakarta EE/MicroProfileの世界をひろげるRed Hat Application Fundations
Jakarta EE/MicroProfileの世界をひろげるRed Hat Application Fundations Jakarta EE/MicroProfileの世界をひろげるRed Hat Application Fundations
Jakarta EE/MicroProfileの世界をひろげるRed Hat Application Fundations
 
2022年7月JJUGナイトセミナー「Jakarta EE特集」MicroProfile あらためてのおさらい
2022年7月JJUGナイトセミナー「Jakarta EE特集」MicroProfile あらためてのおさらい2022年7月JJUGナイトセミナー「Jakarta EE特集」MicroProfile あらためてのおさらい
2022年7月JJUGナイトセミナー「Jakarta EE特集」MicroProfile あらためてのおさらい
 
今のJava
今のJava今のJava
今のJava
 
できる!Pmdカスタマイズ
できる!Pmdカスタマイズできる!Pmdカスタマイズ
できる!Pmdカスタマイズ
 
Javaの速度比較
Javaの速度比較Javaの速度比較
Javaの速度比較
 
Java EEの話(仮)
Java EEの話(仮)Java EEの話(仮)
Java EEの話(仮)
 
テストって何がしたいんですか?
テストって何がしたいんですか?テストって何がしたいんですか?
テストって何がしたいんですか?
 
泥沼の中のパフォーマンスチューニング #JJUG
泥沼の中のパフォーマンスチューニング #JJUG泥沼の中のパフォーマンスチューニング #JJUG
泥沼の中のパフォーマンスチューニング #JJUG
 
Junitを使ったjavaのテスト入門
Junitを使ったjavaのテスト入門Junitを使ったjavaのテスト入門
Junitを使ったjavaのテスト入門
 
Advent calendarを作ってみた
Advent calendarを作ってみたAdvent calendarを作ってみた
Advent calendarを作ってみた
 
Java ee6 with scala
Java ee6 with scalaJava ee6 with scala
Java ee6 with scala
 
Glass fishで作ったアプリをweblogicに移植してみた
Glass fishで作ったアプリをweblogicに移植してみたGlass fishで作ったアプリをweblogicに移植してみた
Glass fishで作ったアプリをweblogicに移植してみた
 
金魚本に載ってないJpqlの話 #glassfishjp
金魚本に載ってないJpqlの話 #glassfishjp金魚本に載ってないJpqlの話 #glassfishjp
金魚本に載ってないJpqlの話 #glassfishjp
 
JavaEE6 First Application #glassfishjp
JavaEE6 First Application #glassfishjpJavaEE6 First Application #glassfishjp
JavaEE6 First Application #glassfishjp
 

Kürzlich hochgeladen

20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directoryosamut
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxAtomu Hidaka
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdfUPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdffurutsuka
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000Shota Ito
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 

Kürzlich hochgeladen (9)

20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdfUPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdf
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
 

Strutsから移行する人のためのjsf基礎