SlideShare una empresa de Scribd logo
1 de 89
Descargar para leer sin conexión
1
JRoRの力を
Java EEでさらに高める
10の方法
(発動編)
橋本 吉治
http://www.flickr.com/photos/shinyai/335249511/
Japan Java User Group
Japan JRuby User Group
卓球.rb
x.tokyo
@hasssieJJUG CCC 2010 Fall , 2010 18th Oct
HASHIMOTO Yoshiharu
2
自己紹介
はっし~~(@hasssie)
Rubyを愛するJava開発者
JJUG /JJRUG/ 卓球.rb
某SIer勤務http://www.flickr.com/photos/vs/186075406/
3
2010年3月16日 刊行!
4http://www.flickr.com/photos/rutlo/4574262003/
Agenda
1.JRubyとは
2.10の方法(本論)
3.JRubyのこれから
5
1.JRubyとは
http://www.flickr.com/photos/nicksieger/3750338433/
6
JRuby
• Rubyと100%の互換性を持
つRuby言語のJava実装
• 2010/10/18 現在、
最新版はJRuby1.5.3
7
Rails3 Ready
• Rails3.0は、Ruby1.8.7,
Ruby 1.9.2, JRuby1.5.2+
で動作するように設計
※ http://weblog.rubyonrails.org/2010/8/29/rails-3-0-it-s-done
8
Rails3については
松田さんの記事を!
9
Speed & Scalability
• Ruby1.9.2と同等の動作速度
• native thread の利用、JVMプロセス
中に複数のJRuby VMを埋め込める
• マルチコア対応?
• 参考
• JRubyConf2010資料, "Rails + 2(JRuby)", Nick Sieger,
http://bit.ly/njs-jrubyconf2010
10
事例
• CTC : IaaS Controller
• Oracle : Oracle Mix
• 社内SNS
• Sun→Oracle : Project Kenai
• OSS ソースコードホスティングサイト
などなど
JRubyのバイブル
12
成長する
JRubyコミュニティ
http://www.flickr.com/photos/nanagyei/5051441596/in/photostream/
13
Columbus, Ohio October 1–3, 2010
14
JRubyKaigi 2010
2010 28th Aug
in RubyKaigi
http://www.flickr.com/photos/shinyai/335249511/
15
Q. はっし~~の
JRuby界隈における
重要性
16
これくらい
http://www.flickr.com/photos/shinyai/335249511/
17「urekatのスカンク日記3」 より http://d.hatena.ne.jp/urekat/20100831
ナ
イ
ス
背
後
霊 by urekat
18http://www.flickr.com/photos/shinyai/335249511/
2.JRoRの力を
Java EEでさらに高める
10の方法
10things
1. Java build tool like Ant
2. Java App Server
3. JAX-WS API
4. JMS API
5. EJB
6. JDBC driver
7. JMX
8. Spring Framework
9. Java IDE
10. Java OSS library 19
20
21
エンタープライズ・システム
で大事なことを
考えてみた
Think about what
important things for
enterprise system
http://www.flickr.com/photos/marcinmoga/4572263486/in/photostream/
22
エンタープライズシステム
は多くのシステムが
連動して動く
Lots of systems are
connecting each other on
enterprise systems
23
JRoRシステムも
繋がらないと
JRoR system
must connect with
other systems
http://www.flickr.com/photos/yngrich/8828592/
2
4http://www.flickr.com/photos/marvinkuo/2153147300/
繋がるために大事な
7つのJava EE 技術を
紹介
7 things about
Java EE
for connecting each other
7things
1. Java build tool like Ant
2. App Server
3. JDBC driver
4. JAX-WS API
5. JMS API
6. EJB
7. JMX
8. Spring Framework
9. Java IDE
10. Java OSS library 25
26
about
Java build tool
like Ant
http://www.flickr.com/photos/shinyai/335249511/
困った
• 例えば、開発ツールはAntやMaven
といったJava製ビルドツールを使っ
たものがほとんど、とか
• 例えば、RubyのビルドツールはRake
だから、上記のようなJava資産は使
えない、とか
28
そんなあなたに
Rake/Antの統合
http://http://www.flickr.com/photos/pinksherbet/3038760752/
Rake/Ant統合
Rake←→Antの相互利用
require 'ant'
namespace :ant do
task :jar => :compile do
ant.jar :basedir => "." ,
:destfile => "baseball.jar" ,
:includes => "*.class" do
manifest do
attribute :name => "Main-Class" , :value => "Catcher"
end
end
end
end
RakeからAntを呼ぶ
30
そして、
Rake/mavenの統合
http://http://www.flickr.com/photos/pinksherbet/3038760752/
Rake/maven統合
<plugin>
<executions>
<execution>
<id> rspec </id>
<phase> test </phase>
<goals> <goal> rake </goal> </goals>
<configuration>
<script>
require 'spec/rake/spectask'
Spec::Rake::SpecTask.new do |t|
t.spec_files = FileList['src/spec/ruby/**/*_spec.rb']
end
task :default => :spec
</script>
</configuration>
</execution>
</executions>
</plugin>
mavenからrakeを呼ぶ
32
about
Java App Server
http://www.flickr.com/photos/shinyai/335249511/
困った
• 例えば、某社の開発標準だとJava
App Serverしか導入できない、とか
• 例えば、我が社の運用標準だと運用監
視ツールがJava App Server前提に
なっている、とか
・・・このままでは、Railsの導入は難しい
34
そんなあなたに
warbler
http://http://www.flickr.com/photos/pinksherbet/3038760752/
warbler
• Railsアプリをwarにパッケージング
• これで、Java App Serverの
Webコンテナにデプロイ可能!
• web.xmlも利用可能
• なぜ、Railsアプリがwarとして動作
するの?
jruby-rack
Servlet層とRack層の
橋渡し
37
about
JDBC
http://www.flickr.com/photos/shinyai/335249511/
38http://www.flickr.com/photos/mulmatsherm/2221223106/in/ph
Java App Server の
コネクションプール
を使いたい
activerecord-jdbc
• JDBCとActiveRecord(O/R Mapper)
が組み合わせられる!
• 1.0.1の登場
• 対応DB
• MySQL SQLite3 PostgreSQL
Derby HSQLDB H2 DB2 SQLServer
Oracle Informix Sybase
40
JNDI経由で
コネクション
取得可能
http://http://www.flickr.com/photos/pinksherbet/3038760752/
41
ActiveRecord::Base.establish_connection(
:adapter => "jdbc",
:jndi => "jdbc/MySQL",
:driver => "com.mysql.jdbc.Driver",
:pool => 5
)
コネクションプーリングの仕組み
(JNDIを利用する場合)
Rails App
ActiveRecord process1-2
check out
App Server
Connection
Pool
ActiveRecord
Connection
Pool
disconnectcheck in
connect or
reconnect
connection connection
JNDI
DataSource
43
about JAX-WS・・・
http://www.flickr.com/photos/shinyai/335249511/
44
空前の SOAP ブーム
※エンタープライズシステム限定
The SOAP boom spread
like wildfire
just only on enterprise system
http://www.flickr.com/photos/usfwssoutheast/4642078354/
45
•SOAP Webサービス実装の安定化
•SOAでレガシー再構築という夢
•SOAPで繋げるクラウド基盤多数
• stabilize SOAP Web Service impl
• fantasy of restructuring of legacy
system using SOA
• SOAP connect with cloud computing
base
46
Rails+SOAP
Railsは、SOAPを捨てた
RubyとXMLの相性が「よい」とはいえない
Rails dump SOAP;
not get along with Ruby and
XML REXML
47
JRoR
JAX-WS
+
http://http://www.flickr.com/photos/pinksherbet/3038760752/
48
メリット
JAX-WSは扱いやすく、比較的高速
NetBeansなどツールサポートが手厚い
JAX-WS is easy to use,
faster to access and have lots of
support tools like NetBeans.
49
STEP1: WSDLからコード生成してjarに固める
STEP2: 下記のコードを書く
Step1: generate from WSDL and pack into jar
Step2: write code as follows;
require 'java'
require 'jar/UsersManagerWSClient'
import ‘ws.client.UsersManagerService’
class UsersManager
def initialize
@service =
UsersManagerService.new.get_users_manager_port
end
def find(user_id); transform(@service.find(user_id.to_s)); end
private
def transform(jobj)
# Java オブジェクト ⇒ Rubyオブジェクトの変換
end
end
50
JAXBは便利♪
http://http://www.flickr.com/photos/pinksherbet/3038760752/
51
Step1: XMLスキーマを設計
Step2: xjcコマンドを使ってJavaクラスの生成
Step3:下記のコードを書く
Step1: Design XML schema
Step2: generate Java class using xjc command
Step3: write code above
def unmarshal
ctx = JAXBContext.newInstance("net.pkg.class")
um = ctx.createUnmarshaller()
gbc = (GeneratedBindingClass) um.unmarshal(file)
xmlVal = gbc.getXMLValueOfInterest()
end
52
about
JMS・・・
http://www.flickr.com/photos/shinyai/335249511/
53
RailsからMoMを使いたい
安定した非同期通信基盤を使いたい
M1・・・・ M2Mn
Message oriented Middleware
Rails other system
want to use MoM from Rails,
want to use stable
async-messaging base
54
非同期通信のメリット
ユーザーにいち早く応答できる
他システム連携が容易
the merit of async-messaging
prompt response to users
easy to collaborate other systems
JRoR
other
systems
time
message
55
Rails+非同期通信
AP4R、ActiveMessagingなどがあるが、WMQ
など安定した基盤を使いたい
Rails + async-messaging
AP4R, ActiveMessaging ans so on...
But want to use stable base like WMQ
56
JRoR
JMS
+
http://http://www.flickr.com/photos/pinksherbet/3038760752/
57
メリット
JMSをサポートするMoMが多い
トランザクション処理が容易に書ける
ActiveMessagingもJMSをサポート
merit
Many MoMs support JMS
Easy to develop for transaction function
Also ActiveMessaging support JMS
例)メッセージ送信
ex) sending messages
EJB/Web Service ContainerJRoR
Java Application Server
Rails
Web App
Mongrel other systems
JMS client
59
STEP1.下記のコード or ActiveMessagingを使う
Step1: Use this code above or ActiveMessaging
import javax.jms.Session;
import javax.naming.InitialContext;
class UsersRegister
def initialize
@context = InitialContext.new
end
def regist(user, ut)
begin
cf = @context .lookup "jms/UsersRegisterQConFactory"
que = @context .lookup "jms/UsersRegisterQueue"
con = cf.create_queue_connection
qs =
con.create_queue_session(
false,
Session.AUTO_ACKNOWLEDGE
)
sender = qs.create_sender(que)
msg = qs.create_text_message
msg.set_text(create_msg(user))
sender.send(txt);
rescue
60
では、メッセージを
受け取るには?
http://www.flickr.com/photos/marcinmoga/4240686102/
Then how to receive
messages?
61
MDBで受信、RESTでJRoRへ
EJB/Web Service ContainerJRoR
Session Bean
Java Application Server
Rails
Web App
Message-driven
Bean
Web
Service
Mongrel other systems
SOAP client
REST I/F
MDB receive messages
and use REST to JRoR
62
about
EJB ・・・
http://www.flickr.com/photos/shinyai/335249511/
62
63
Railsから2pcを使いたい!
Rails App
other sytem2
process1-1process1
process1-2
other sytem1
2 phase commit = prepare(1) + commit(2)
want to use 2pc from Rails?
64
JRoR
EJB
+
http://http://www.flickr.com/photos/pinksherbet/3038760752/
65
メリット
XAを使った分散トランザクションが可能
トランザクション処理コードの複雑さが緩和
merit
can develop a distributed transaction
system using XA without any
complicated messy transaction code
66
典型的な使い方
typical usage
EJB
Java App Server
Rails App M1・・・・ M2Mn
MoM
other system
RDB
67
but,
でも、
68
こうやりたいよね
want to do like this way
Java App Server
M1・・・・ M2Mn
MoM
other systems
RDB
ActionController
ActiveRecord
JMS
same transaction
DataSourceJTA
war
web container
69
send queue with user transaction.
# POST /users
# POST /users.xml
def create
ut = InitialContext.new.lookup "UserTransaction“
@user = User.new(params[:user])
respond_to do |format|
begin
ut.begin # transaction begin
@user.save! # persist to RDB
send_queue(@user) # send queue
・・・
ut.commit; # transaction commit
end
rescue
ut.rollback # transaction rollback
・・・
70
Try it!
やってみよう!
71http://www.flickr.com/photos/proimos/4199675334/
failure... orz
失敗
72
理由(調査中)
『リソースマネージャが
グローバルトランザクションの外で作業中』
コネクション管理が別なのが原因か
Why?(consumption)
“The resource manager is doing work
outside a global transaction”
separate connection management
http://http://www.flickr.com/photos/anitakhart/4626206362/
73
about
SpringFramework
http://www.flickr.com/photos/shinyai/335249511/
74
about
SpringFramework
http://www.flickr.com/photos/shinyai/335249511/
75http://www.flickr.com/photos/proimos/4199675334/
ママン、やっぱり、
JTAが使いたいよ
76http://www.flickr.com/photos/proimos/4199675334/
失敗原因追及の
単体テスト環境も
ほしいよ
77http://http://www.flickr.com/photos/pinksherbet/3038760752/
はっし~~、がんばれ
そこでSeasar2 ♪
78
こうやりたいよね
M1・・・・ M2Mn
MoM
other systems
RDB
ActionController
ActiveRecord
JMS
same transaction
DataSourceJTA
S2Container
Passenger/Thin/Ngnix
Rails App
ActiveRecord process1-2
check out
S2Container
ActiveRecord
Connection
Pool
disconnectcheck in
connect or
reconnect
connection connection
JTA
DataSource
active-record-jdbc
ActiveS2
ActiveRecord
client
use
use UserTransaction
ActiveS2
manage
80
課題
• S2Containerの保持方法
• SingletonでDataSourceImplと
TransactionManagerImplを保持しておく。
• 複雑なコネクション管理の回避方法
• なんで、O/R Mapperとコネクションプーリング
機構が密結合なんだ・・・。
http://http://www.flickr.com/photos/anitakhart/4626206362/
81http://www.flickr.com/photos/vitroids/977380846/
鋭意開発中!
年末までには・・・
82http://www.flickr.com/photos/aussiegall/808040457/in/photostream/
3.JRubyの
これから
83
JRuby1.6の登場
• Native C 拡張
• CRubyの拡張APIをJNI経由で提供
• Win32OLE
• Jacob拡張によるWindows Automation
• dynopt
• 実行時情報による動的最適化
• backtrace
• Java&Rubyスタックの混在バックトレース
• CRubyとの互換性の向上
などなど
84
conclusion
まとめ
85
JRubyとは
http://www.flickr.com/photos/nicksieger/3750338433/
86
成長する
JRubyコミュニティ
http://www.flickr.com/photos/nanagyei/5051441596/in/photostream/
87
JRoRシステムも
繋がらないと
JRoR system
must connect with
other systems
http://www.flickr.com/photos/yngrich/8828592/
8
8http://www.flickr.com/photos/marvinkuo/2153147300/
繋がるために大事な
7つのJava EE 技術を
紹介
7 things about
Java EE
for connecting each other
89http://www.flickr.com/photos/shinyai/335249511/ 89
JRoRの力を
Java EEでさらに高める
10の方法
(発動編)
橋本 吉治 Japan Java User Group
Japan JRuby User Group
卓球.rb
x.tokyo
@hasssieJJUG CCC 2010 Fall , 2010 18th Oct
HASHIMOTO Yoshiharu

Más contenido relacionado

La actualidad más candente

大ヒットソーシャルアプリの裏側
大ヒットソーシャルアプリの裏側大ヒットソーシャルアプリの裏側
大ヒットソーシャルアプリの裏側KLab株式会社
 
PHP in Java -Quercus- によるレガシーマイグレーション実例 #jjug_ccc #ccc_r12
PHP in Java -Quercus- によるレガシーマイグレーション実例 #jjug_ccc #ccc_r12PHP in Java -Quercus- によるレガシーマイグレーション実例 #jjug_ccc #ccc_r12
PHP in Java -Quercus- によるレガシーマイグレーション実例 #jjug_ccc #ccc_r12Ryuji Yamashita
 
Seasar2で作った俺たちのサービスの今
Seasar2で作った俺たちのサービスの今Seasar2で作った俺たちのサービスの今
Seasar2で作った俺たちのサービスの今Koichi Sakata
 
Java EEの話(仮)
Java EEの話(仮)Java EEの話(仮)
Java EEの話(仮)Satoshi Kubo
 
自宅で出来る!ゲームサーバの作り方
自宅で出来る!ゲームサーバの作り方自宅で出来る!ゲームサーバの作り方
自宅で出来る!ゲームサーバの作り方光晶 上原
 
Introduction to WildFly Swarm #jjug
Introduction to WildFly Swarm #jjugIntroduction to WildFly Swarm #jjug
Introduction to WildFly Swarm #jjugYoshimasa Tanabe
 
Java EE 再入門
Java EE 再入門Java EE 再入門
Java EE 再入門minazou67
 
JJUGナイトセミナー オープンソースポータルLiferayの紹介とLiferay IDEを使った簡単ポートレット開発
JJUGナイトセミナー オープンソースポータルLiferayの紹介とLiferay IDEを使った簡単ポートレット開発JJUGナイトセミナー オープンソースポータルLiferayの紹介とLiferay IDEを使った簡単ポートレット開発
JJUGナイトセミナー オープンソースポータルLiferayの紹介とLiferay IDEを使った簡単ポートレット開発Takeshi Totani
 
Lampで作るソーシャルアプリの負荷対策~アプリとインフラの調和のテクニック~
Lampで作るソーシャルアプリの負荷対策~アプリとインフラの調和のテクニック~Lampで作るソーシャルアプリの負荷対策~アプリとインフラの調和のテクニック~
Lampで作るソーシャルアプリの負荷対策~アプリとインフラの調和のテクニック~KLab株式会社
 
Introduction to WildFly Swarm
Introduction to WildFly SwarmIntroduction to WildFly Swarm
Introduction to WildFly SwarmYoshimasa Tanabe
 
2015/11/15 Javaでwebアプリケーション入門
2015/11/15 Javaでwebアプリケーション入門2015/11/15 Javaでwebアプリケーション入門
2015/11/15 Javaでwebアプリケーション入門Asami Abe
 
初心者向け負荷軽減のはなし
初心者向け負荷軽減のはなし初心者向け負荷軽減のはなし
初心者向け負荷軽減のはなしOonishi Takaaki
 
Mroongaを選んだ理由と
ちょっと嬉しかった話
Mroongaを選んだ理由と
ちょっと嬉しかった話Mroongaを選んだ理由と
ちょっと嬉しかった話
Mroongaを選んだ理由と
ちょっと嬉しかった話Terui Masashi
 
スマートフォン向けサービスにおけるサーバサイド設計入門
スマートフォン向けサービスにおけるサーバサイド設計入門スマートフォン向けサービスにおけるサーバサイド設計入門
スマートフォン向けサービスにおけるサーバサイド設計入門Hisashi HATAKEYAMA
 
WildFly Swarm - Rightsize Your Java EE Apps
WildFly Swarm - Rightsize Your Java EE AppsWildFly Swarm - Rightsize Your Java EE Apps
WildFly Swarm - Rightsize Your Java EE AppsYoshimasa Tanabe
 

La actualidad más candente (20)

大ヒットソーシャルアプリの裏側
大ヒットソーシャルアプリの裏側大ヒットソーシャルアプリの裏側
大ヒットソーシャルアプリの裏側
 
PHP in Java -Quercus- によるレガシーマイグレーション実例 #jjug_ccc #ccc_r12
PHP in Java -Quercus- によるレガシーマイグレーション実例 #jjug_ccc #ccc_r12PHP in Java -Quercus- によるレガシーマイグレーション実例 #jjug_ccc #ccc_r12
PHP in Java -Quercus- によるレガシーマイグレーション実例 #jjug_ccc #ccc_r12
 
WildFly Swarm In Progress
WildFly Swarm In ProgressWildFly Swarm In Progress
WildFly Swarm In Progress
 
Seasar2で作った俺たちのサービスの今
Seasar2で作った俺たちのサービスの今Seasar2で作った俺たちのサービスの今
Seasar2で作った俺たちのサービスの今
 
Java EEの話(仮)
Java EEの話(仮)Java EEの話(仮)
Java EEの話(仮)
 
自宅で出来る!ゲームサーバの作り方
自宅で出来る!ゲームサーバの作り方自宅で出来る!ゲームサーバの作り方
自宅で出来る!ゲームサーバの作り方
 
Introduction to WildFly Swarm #jjug
Introduction to WildFly Swarm #jjugIntroduction to WildFly Swarm #jjug
Introduction to WildFly Swarm #jjug
 
Java EE 再入門
Java EE 再入門Java EE 再入門
Java EE 再入門
 
JJUGナイトセミナー オープンソースポータルLiferayの紹介とLiferay IDEを使った簡単ポートレット開発
JJUGナイトセミナー オープンソースポータルLiferayの紹介とLiferay IDEを使った簡単ポートレット開発JJUGナイトセミナー オープンソースポータルLiferayの紹介とLiferay IDEを使った簡単ポートレット開発
JJUGナイトセミナー オープンソースポータルLiferayの紹介とLiferay IDEを使った簡単ポートレット開発
 
Lampで作るソーシャルアプリの負荷対策~アプリとインフラの調和のテクニック~
Lampで作るソーシャルアプリの負荷対策~アプリとインフラの調和のテクニック~Lampで作るソーシャルアプリの負荷対策~アプリとインフラの調和のテクニック~
Lampで作るソーシャルアプリの負荷対策~アプリとインフラの調和のテクニック~
 
Introduction to WildFly Swarm
Introduction to WildFly SwarmIntroduction to WildFly Swarm
Introduction to WildFly Swarm
 
2015/11/15 Javaでwebアプリケーション入門
2015/11/15 Javaでwebアプリケーション入門2015/11/15 Javaでwebアプリケーション入門
2015/11/15 Javaでwebアプリケーション入門
 
React.js + Flux入門 #scripty02
React.js + Flux入門 #scripty02React.js + Flux入門 #scripty02
React.js + Flux入門 #scripty02
 
Reactjs
ReactjsReactjs
Reactjs
 
初心者向け負荷軽減のはなし
初心者向け負荷軽減のはなし初心者向け負荷軽減のはなし
初心者向け負荷軽減のはなし
 
SpringMVC
SpringMVCSpringMVC
SpringMVC
 
MySQLの冗長化 2013-01-24
MySQLの冗長化 2013-01-24MySQLの冗長化 2013-01-24
MySQLの冗長化 2013-01-24
 
Mroongaを選んだ理由と
ちょっと嬉しかった話
Mroongaを選んだ理由と
ちょっと嬉しかった話Mroongaを選んだ理由と
ちょっと嬉しかった話
Mroongaを選んだ理由と
ちょっと嬉しかった話
 
スマートフォン向けサービスにおけるサーバサイド設計入門
スマートフォン向けサービスにおけるサーバサイド設計入門スマートフォン向けサービスにおけるサーバサイド設計入門
スマートフォン向けサービスにおけるサーバサイド設計入門
 
WildFly Swarm - Rightsize Your Java EE Apps
WildFly Swarm - Rightsize Your Java EE AppsWildFly Swarm - Rightsize Your Java EE Apps
WildFly Swarm - Rightsize Your Java EE Apps
 

Similar a JRoRの力をJava EE技術を使ってさらに高める10の方法(発動編)

R5 3 type annotation
R5 3 type annotationR5 3 type annotation
R5 3 type annotationEIICHI KIMURA
 
20130511 jjug ccc講演 さらばjsp JAXBとmixer2
20130511 jjug ccc講演 さらばjsp JAXBとmixer220130511 jjug ccc講演 さらばjsp JAXBとmixer2
20130511 jjug ccc講演 さらばjsp JAXBとmixer2Y Watanabe
 
モダンJavaScript環境構築一歩目
モダンJavaScript環境構築一歩目モダンJavaScript環境構築一歩目
モダンJavaScript環境構築一歩目大樹 小倉
 
Tomcatの実装から学ぶクラスローダリーク #渋谷Java
Tomcatの実装から学ぶクラスローダリーク #渋谷JavaTomcatの実装から学ぶクラスローダリーク #渋谷Java
Tomcatの実装から学ぶクラスローダリーク #渋谷JavaNorito Agetsuma
 
Struts2を始めよう!
Struts2を始めよう!Struts2を始めよう!
Struts2を始めよう!Shinpei Ohtani
 
イマドキの現場で使えるJavaライブラリ事情
イマドキの現場で使えるJavaライブラリ事情イマドキの現場で使えるJavaライブラリ事情
イマドキの現場で使えるJavaライブラリ事情takezoe
 
3分でわかる(気になれる) AWS OpsWorks
3分でわかる(気になれる) AWS OpsWorks3分でわかる(気になれる) AWS OpsWorks
3分でわかる(気になれる) AWS OpsWorksYuuki Namikawa
 
Mojoliciousでつくる! Webアプリ入門
Mojoliciousでつくる! Webアプリ入門Mojoliciousでつくる! Webアプリ入門
Mojoliciousでつくる! Webアプリ入門Yusuke Wada
 
Spring Frameworkの今 (2013年版) #jjug_ccc #ccc_r17 #springframework
Spring Frameworkの今 (2013年版) #jjug_ccc #ccc_r17 #springframeworkSpring Frameworkの今 (2013年版) #jjug_ccc #ccc_r17 #springframework
Spring Frameworkの今 (2013年版) #jjug_ccc #ccc_r17 #springframeworkToshiaki Maki
 
HeapStats @ Seasar Conference 2015 LT
HeapStats @ Seasar Conference 2015 LTHeapStats @ Seasar Conference 2015 LT
HeapStats @ Seasar Conference 2015 LTYuji Kubota
 
これからのJDK/JVM 何を選ぶ?どう選ぶ?
これからのJDK/JVM 何を選ぶ?どう選ぶ?これからのJDK/JVM 何を選ぶ?どう選ぶ?
これからのJDK/JVM 何を選ぶ?どう選ぶ?Takahiro YAMADA
 
Javaと小道具
Javaと小道具Javaと小道具
Javaと小道具Sho Ito
 
AWS を活用して小さなチームで 世界で使われるサービスを運用する方法 - JAWS Days 2013
AWS を活用して小さなチームで 世界で使われるサービスを運用する方法 - JAWS Days 2013AWS を活用して小さなチームで 世界で使われるサービスを運用する方法 - JAWS Days 2013
AWS を活用して小さなチームで 世界で使われるサービスを運用する方法 - JAWS Days 2013Takashi Someda
 
JSUG勉強会 2018年その5 Spring I/O 報告会
JSUG勉強会 2018年その5 Spring I/O 報告会JSUG勉強会 2018年その5 Spring I/O 報告会
JSUG勉強会 2018年その5 Spring I/O 報告会Alisa Sasaki
 
Enterprise Redmine
Enterprise RedmineEnterprise Redmine
Enterprise RedmineDai FUJIHARA
 

Similar a JRoRの力をJava EE技術を使ってさらに高める10の方法(発動編) (20)

R5 3 type annotation
R5 3 type annotationR5 3 type annotation
R5 3 type annotation
 
20130511 jjug ccc講演 さらばjsp JAXBとmixer2
20130511 jjug ccc講演 さらばjsp JAXBとmixer220130511 jjug ccc講演 さらばjsp JAXBとmixer2
20130511 jjug ccc講演 さらばjsp JAXBとmixer2
 
モダンJavaScript環境構築一歩目
モダンJavaScript環境構築一歩目モダンJavaScript環境構築一歩目
モダンJavaScript環境構築一歩目
 
Tomcatの実装から学ぶクラスローダリーク #渋谷Java
Tomcatの実装から学ぶクラスローダリーク #渋谷JavaTomcatの実装から学ぶクラスローダリーク #渋谷Java
Tomcatの実装から学ぶクラスローダリーク #渋谷Java
 
ぼく(たち)のかんがえた最新のJS開発環境 #scripty04
 ぼく(たち)のかんがえた最新のJS開発環境 #scripty04 ぼく(たち)のかんがえた最新のJS開発環境 #scripty04
ぼく(たち)のかんがえた最新のJS開発環境 #scripty04
 
Struts2を始めよう!
Struts2を始めよう!Struts2を始めよう!
Struts2を始めよう!
 
Hello Java
Hello JavaHello Java
Hello Java
 
イマドキの現場で使えるJavaライブラリ事情
イマドキの現場で使えるJavaライブラリ事情イマドキの現場で使えるJavaライブラリ事情
イマドキの現場で使えるJavaライブラリ事情
 
3分でわかる(気になれる) AWS OpsWorks
3分でわかる(気になれる) AWS OpsWorks3分でわかる(気になれる) AWS OpsWorks
3分でわかる(気になれる) AWS OpsWorks
 
Play jjug2012spring
Play jjug2012springPlay jjug2012spring
Play jjug2012spring
 
Mojoliciousでつくる! Webアプリ入門
Mojoliciousでつくる! Webアプリ入門Mojoliciousでつくる! Webアプリ入門
Mojoliciousでつくる! Webアプリ入門
 
Spring Frameworkの今 (2013年版) #jjug_ccc #ccc_r17 #springframework
Spring Frameworkの今 (2013年版) #jjug_ccc #ccc_r17 #springframeworkSpring Frameworkの今 (2013年版) #jjug_ccc #ccc_r17 #springframework
Spring Frameworkの今 (2013年版) #jjug_ccc #ccc_r17 #springframework
 
HeapStats @ Seasar Conference 2015 LT
HeapStats @ Seasar Conference 2015 LTHeapStats @ Seasar Conference 2015 LT
HeapStats @ Seasar Conference 2015 LT
 
これからのJDK/JVM 何を選ぶ?どう選ぶ?
これからのJDK/JVM 何を選ぶ?どう選ぶ?これからのJDK/JVM 何を選ぶ?どう選ぶ?
これからのJDK/JVM 何を選ぶ?どう選ぶ?
 
Javaと小道具
Javaと小道具Javaと小道具
Javaと小道具
 
AWS を活用して小さなチームで 世界で使われるサービスを運用する方法 - JAWS Days 2013
AWS を活用して小さなチームで 世界で使われるサービスを運用する方法 - JAWS Days 2013AWS を活用して小さなチームで 世界で使われるサービスを運用する方法 - JAWS Days 2013
AWS を活用して小さなチームで 世界で使われるサービスを運用する方法 - JAWS Days 2013
 
JSUG勉強会 2018年その5 Spring I/O 報告会
JSUG勉強会 2018年その5 Spring I/O 報告会JSUG勉強会 2018年その5 Spring I/O 報告会
JSUG勉強会 2018年その5 Spring I/O 報告会
 
Enterprise Redmine
Enterprise RedmineEnterprise Redmine
Enterprise Redmine
 
120517 revert tomcat7
120517 revert tomcat7120517 revert tomcat7
120517 revert tomcat7
 
Groovyコンファレンス
GroovyコンファレンスGroovyコンファレンス
Groovyコンファレンス
 

Último

モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 

Último (8)

モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 

JRoRの力をJava EE技術を使ってさらに高める10の方法(発動編)