SlideShare a Scribd company logo
1 of 44
Download to read offline
G*ワークショップZ
Vert.xハンズオン w/ CRaSH
2013.10.18 (10.20 updated)
須江信洋(@nobusue)
http://d.hatena.ne.jp/nobusue
https://www.facebook.com/nobuhiro.sue
自己紹介
須江 信洋(すえ のぶひろ)






Twitter: @nobusue
https://www.facebook.com/nobuhiro.sue



約10年ほどJavaEE関連の仕事をしてます
2013年10月よりフリーランス(個人事業主)



G*(Groovy関連技術)との関わり








2

JGGUGサポートスタッフ
「プログラミングGROOVY」執筆チーム
「Groovy イン・アクション」翻訳チーム
Today’s Agenda
Vert.x インストール
 Vert.x 概要 / ユースケース
 Vert.x ハンズオン










3

echo
HTTP / WebSockets
Event Bus
Vert.x module / echo with CRaSH

参考情報
Vert.xインストール
前提





JDK1.7以上 (“java –version”で確認)



curl -s get.gvmtool.net | bash
gvm install vertx
詳細は http://gvmtool.net/ 参照
Windowsの場合はcygwinが必要

GVM利用








ZIPを展開







4

http://vertx.io/downloads.html
2.0.2.finalが最新(2013/10/17現在)
適当なディレクトリに展開 ($VERTX_HOME)
$VERTX_HOME/bin にパスを通しておく
動作確認
$ vertx version
2.0.1-final (built 2013-08-13 14:29:09)

GVMでインストールした場合は
~/.gvm/vertx/<version> 以下に導入され、
~/.gvm/vertx/current にシンボリックリンクが
作成されます。
5
Vert.x 概要





http://vertx.io/

「Vert.xはJVM向けの軽量でハイパフォーマンスなアプリケー
ションプラットフォームで、モダンなモバイル/Web/エンタープラ
イズアプリケーションのために設計されています」
Founder: Tim Fox (from 2011)
2013/8 core Vert.x projectがEclipse Foundationに移管

6
Vert.x の特徴
 Polyglot
 多数のJVM言語をサポート(混在可)

 Simplicity

 スレッドセーフ、抽象化、モジュール化

 Scalability

 イベントバス、クラスター

 Concurrency

 非同期(non-blocking)、イベントループ
7
非同期(non-blocking)
Traditional
AP Server

Vert.x

thread

socket

socket

thread

socket

socket

thread

socket

socket

thread

socket

JavaVM
socket:thread = 1:1
8

thread
Event Dispatcher

socket

JavaVM
socket:thread = N:1
高効率(Efficiency)
Event
Loop
(thread)

Verticle
Instances
Verticle

socket
socket

socket

Event Dispatcher

socket

Verticle

Verticle

Verticle

CPU
Core

Verticle

Verticle

CPU
Core

Verticle

Verticle

Verticle

CPU
Core

Verticle

Verticle

Verticle

CPU
Core

Vert.x Runtime(JVM)
9
スケーラブル
Node#2

Node#1
Verticle

Verticle

socket
socket
Verticle

Verticle

Verticle

socket

Verticle

Verticle

Verticle

Vert.x Runtime(JVM)

Verticle

socket
socket

socket

Event Dispatcher

socket

Verticle

Verticle

Verticle

Verticle

Verticle

Verticle

Verticle

Verticle

Verticle

Verticle

Event Dispatcher

Verticle

Verticle

socket

Verticle

Event Bus
(Based on Hazelcast)

socket

Event Dispatcher

socket

Verticle

Verticle

Verticle

Verticle

Verticle

Verticle

Verticle

Verticle

Verticle

Verticle

socket

Verticle

Verticle

Vert.x Runtime(JVM)

Verticle

socket
socket
socket

Verticle

Event Dispatcher

Verticle

socket

socket

Verticle

Verticle

Verticle

Verticle

Verticle

Verticle

Verticle

Verticle

Verticle

Verticle

Verticle

Vert.x Runtime(JVM)

Node#3
10

(*)デフォルトではイベントはnon-persistent

Vert.x Runtime(JVM)
Polyglot


Verticleは以下の言語で実装可能











JavaScript / CoffeeScript (V2.0~)
Ruby (JRuby)
Java (.java/.class)
Groovy
Python (Jython)
Scala (V2.0~)
Clojure (V2.0~)

同一Vert.xランタイム上で混在可能
11
ユースケース(例)


WebSocket / SockJS Server





イベント処理ゲートウェイ






スマホアプリへのリアルタイムデータ配信(為替とか)
大量の双方向メッセージ(チャットとか)
Internet of Things
サーバーファームからのログ収集(fluentdとか)
Complex Event Processing

高性能ネットワーククライアント



負荷テストクライアント(beyond JMeter)
Web Scraping / Test Automation

12
Hello Vert.x
適当な作業ディレクトリを作成し、カレントディ
レクトリを移動します
 以下の内容で”Server.groovy”を作成します


vertx.createHttpServer().requestHandler { req ->
req.response.end("Hello World!")
}.listen(8080, 'localhost')



“vertx run Server.groovy” を実行し、
ブラウザで http://localhost:8080/
を開きます

13
Vert.x examples (本日のお題)


GitHubから入手してください





https://github.com/vert-x/vertx-examples
src /raw/groovy 以下にあるサンプルを利用します

基本的な実行方法





14

カレントディレクトリをsrc/raw/groovyに
vertx run <sample_dir>/xxx.groovy
例) vertx run echo/EchoServer.groovy
echo
vertx run echo/EchoServer.groovy
 telnet localhost 1234







何か入力してみてください
抜けるときは Ctrl + ] -> quit

vertx run echo/EchoClient.groovy




EchoServer.groovyを実行したままで
“hello”を10回送信
非同期で送信されていることに注目

15
echo/EchoServer.groovy
import static
org.vertx.groovy.core.streams.Pump.createPump
vertx.createNetServer().connectHandler { socket ->
createPump(socket, socket).start()
}.listen(1234)

Pump = Flow Controller
溢れたら、余裕ができるまで流入を止める
(余裕ができるとイベントで通知)
socket

16

Pump

socket
HTTPServer
vertx run http/Server.groovy
 http://localhost:8080/






ブラウザに ”Hello from vert.x!”

vertx run http/Client.groovy



Server.groovyを起動したままで
HTTPクライアントの実装例

17
http/Server.groovy
package http
vertx.createHttpServer().requestHandler { req ->

req.response.end "<html><body><h1>Hello from
vert.x!</h1></body></html>"
}.listen(8080, "localhost")

18
WebSockets
vertx run
websockets/WebSocketsServer.groovy
 http://localhost:8080/








WebSocket対応ブラウザで
ブラウザを開いたまま、WebSocketsServerを終了

vertx run
websockets/WebSocketsClient.groovy




WebSocketsServerを起動した状態で実行
WebSocketクライアントの実装例

19
WebSocketsServer.groovy
package websockets
vertx.createHttpServer().websocketHandler { ws ->
ws.dataHandler { data ->

ws.writeTextFrame(data.toString()) }
}.requestHandler { req ->
if (req.uri == "/") req.response.sendFile
"websockets/ws.html"

}.listen(8080)
20
SockJS
vertx run sockjs/SockJSExample.groovy
 http://localhost:8080/




WebSocket対応ブラウザでなくとも可
(SockJSがフォールバックしてくれる)

21
SockJSExample.groovy
def server = vertx.createHttpServer()
server.requestHandler { req ->
if (req.uri == "/") req.response.sendFile
'sockjs/index.html'
}
vertx.createSockJSServer(server).installApp(prefix:
'/testapp') { sock ->
sock.dataHandler { buff ->
sock << buff
}
}
server.listen(8080)
22
Event Bus(pub/sub)
vertx run
eventbus_pubsub/Receiver.groovy
-cluster
 vertx run
eventbus_pubsub/Receiver.groovy
-cluster
 vertx run
eventbus_pubsub/Sender.groovy –cluster




すべてのReceiverにメッセージが届く

23
Receiver.groovy / Sender.groovy
def eb = vertx.eventBus
eb.registerHandler("news-feed", { message ->
println "Received news: ${message.body()}"
})
def eb = vertx.eventBus
// Send a message every second
vertx.setPeriodic(1000) {
eb.publish("news-feed", "Some news!")
}
24
Cluster構成Tips


デフォルトではマルチキャストを利用





ユニキャストへの変更




Hazelcastのクラスターを構成するため、マルチ
キャストでメンバーを探す
ネットワーク環境によっては不安定になりがち
$VERTX_HOME/conf/cluster.xml の
<network>を修正

動作確認


25

$VERTX_HOME/conf/logging.properties
 com.hazelcast.level=INFOに変更
conf/cluster.xml
<network>
<port auto-increment="true">5701</port>
<join>
<multicast enabled="false">
<multicast-group>224.2.2.3</multicast-group>
<multicast-port>54327</multicast-port>
</multicast>
<tcp-ip enabled="true">
<interface>127.0.0.1</interface>
</tcp-ip>
・・・

26
conf/logging.properties
#Macではシステムのtemp領域にアクセスできない場合が
#あるので、以下のように変更することをおすすめ
#java.util.logging.FileHandler.pattern=%t/vertx.log
java.util.logging.FileHandler.pattern=/Users/<user>/.
gvm/vertx/current/vertx.log
.level=INFO
org.vertx.level=INFO
#com.hazelcast.level=SEVERE
com.hazelcast.level=INFO

27
Cluster構成時のログ
[127.0.0.1]:5701 [dev] 5701 is accepting socket
connection from /127.0.0.1:51668
[127.0.0.1]:5701 [dev] 5701 accepted socket
connection from /127.0.0.1:51668
Received news: Some news!
[127.0.0.1]:5701 [dev]
Members [3] {
Member [127.0.0.1]:5701 this
Member [127.0.0.1]:5702
Member [127.0.0.1]:5703
}
28
Event Bus(point to point)
vertx run
eventbus_pointtopoint/Receiver.groovy
-cluster
 vertx run
eventbus_pointtopoint/Receiver.groovy
-cluster
 vertx run
eventbus_pointtopoint/Sender.groovy
-cluster




メッセージはラウンドロビンで届く

29
Receiver.groovy / Sender.groovy
def eb = vertx.eventBus
eb.registerHandler("ping-address", { message ->
println "Received message: ${message.body()}"
message.reply("pong!")
})
def eb = vertx.eventBus
vertx.setPeriodic(1000) {
eb.send("ping-address", "ping!", { reply ->
println "Received reply ${reply.body()}"
})
}
30
fanout (Shared memory)
vertx run fanout/FanoutServer.groovy
 telnet localhost 1234







terminalを複数開いて試してみてください
抜けるときは Ctrl + ] -> quit

Shared Set/Map




同一Vert.xインスタンス上のvertileからのみ参照可能
な共有メモリ
同一JVM上でのみ有効(クラスター対応の計画あり)

31
FanoutServer.groovy
def conns = vertx.sharedData.getSet('conns')
def eb = vertx.eventBus
server = vertx.createNetServer().connectHandler
{ socket ->
conns << socket.writeHandlerID
socket.dataHandler { data ->
for (id in conns) { eb.send(id, data) }
}
socket.closeHandler
{ conns.remove(socket.writeHandlerID) }
}.listen(1234)
32
Vert.x Module


アプリケーションをモジュール化





Vert.x module registry





複数のVerticleを内包可能
異なる言語で記述されていてもよい

http://modulereg.vertx.io
MavenリポジトリやBintrayに配置して公開

詳細はModule Manualを参照のこと


http://vertx.io/mods_manual.html

33
Moduleの実行方法


コマンドライン


vertx runmod org.myorg~mymod~3.2






モジュールが自動的にインストールされる

vertx runzip my-mod-3.2.zip

アプリケーション内


container.deployModule(
‘org.myorg~mymod~3.2)

34
echo with CRaSH module
適当なディレクトリにEchoWithCrash.groovyを
作成
 vertx run EchoWithCrash.groovy







CRaSH moduleがインストールされる
CRaSHのSSHサーバーが実行される

ssh –p 2000 admin@localhost


password: admin

35
EchoWithCrash.groovy
import static org.vertx.groovy.core.streams.Pump.createPump
def conf = [
"crash.auth": "simple",
"crash.auth.simple.username": "admin",
"crash.auth.simple.password": "admin",
"crash.ssh.port": "2000"
]
container.deployModule("org.crashub~vertx.shell~2.0.2", conf)
vertx.createNetServer().connectHandler { socket ->
createPump(socket, socket).start()
}.listen(1234)

36
CRaSH

37

http://www.crashub.org/
CRaSH: Vert.x shell

38
CRaSH: vertx commands

39
CRaSH: threads TOP

40
Moduleの作り方


Gradle template project




http://vertx.io/gradle_dev.html

Maven archetype


http://vertx.io/maven_dev.html

41
Vert.xの情報源


Vert.x home




Vert.x資料(杉浦さん)




http://uehaj.hatenablog.com/entry/2013/06/03/225117

Vert.x がいいね!




http://www.slideshare.net/touchezdubois/vertxtaritari

内部から見たVert.xとNode.jsとの比較(上原さん)




http://vertx.io

http://acro-engineer.hatenablog.com/entry/2013/08/10/131203

G::blog 主にVert.xやYokeについての覚書


http://ofg.hatenablog.com/archive/category/Vert.x

42
Advanced Topics
File API
 Streams
 Timer
 Worker Verticle
 Reactive (RxJava)
 ・・・・


43
ありがとうございました

https://www.facebook.com/orehiji
44

More Related Content

What's hot

Raspberrypi+yocto in Yocto Workshop Japan #1
Raspberrypi+yocto in Yocto Workshop Japan #1Raspberrypi+yocto in Yocto Workshop Japan #1
Raspberrypi+yocto in Yocto Workshop Japan #1kazuya-nisimura
 
Btrfs + Snapper + Samba で作る「以前のバージョン」に戻せるファイルサーバー
Btrfs + Snapper + Samba で作る「以前のバージョン」に戻せるファイルサーバーBtrfs + Snapper + Samba で作る「以前のバージョン」に戻せるファイルサーバー
Btrfs + Snapper + Samba で作る「以前のバージョン」に戻せるファイルサーバーFuminobu Takeyama
 
いいこんぶGitマニュアル
いいこんぶGitマニュアルいいこんぶGitマニュアル
いいこんぶGitマニュアルKaito Yuuki
 
Inside vacuum - 第一回PostgreSQLプレ勉強会
Inside vacuum - 第一回PostgreSQLプレ勉強会Inside vacuum - 第一回PostgreSQLプレ勉強会
Inside vacuum - 第一回PostgreSQLプレ勉強会Masahiko Sawada
 
サバフェスLT(元うなぎ屋)
サバフェスLT(元うなぎ屋)サバフェスLT(元うなぎ屋)
サバフェスLT(元うなぎ屋)snicker_jp
 
Fabricによるcloud stackインストール自動化
Fabricによるcloud stackインストール自動化Fabricによるcloud stackインストール自動化
Fabricによるcloud stackインストール自動化hiroyuki nakajima
 
Chromebook 「だけ」で WebRTCを動かそう
Chromebook 「だけ」で WebRTCを動かそうChromebook 「だけ」で WebRTCを動かそう
Chromebook 「だけ」で WebRTCを動かそうmganeko
 
Docker調査20150704
Docker調査20150704Docker調査20150704
Docker調査20150704HommasSlide
 
Cent osにpyhtonをインストールしてみよう
Cent osにpyhtonをインストールしてみようCent osにpyhtonをインストールしてみよう
Cent osにpyhtonをインストールしてみよう2bo 2bo
 
WSL2+docker+JupyterとVS Codeリモート環境の構築
WSL2+docker+JupyterとVS Codeリモート環境の構築WSL2+docker+JupyterとVS Codeリモート環境の構築
WSL2+docker+JupyterとVS Codeリモート環境の構築Saito5656
 
OpenStackでつくる開発環境と外道塾
OpenStackでつくる開発環境と外道塾OpenStackでつくる開発環境と外道塾
OpenStackでつくる開発環境と外道塾外道 父
 
「BluetoothでLinuxマシンとAndroidを繋いで話が出来るようにした話」「台風で停電になって省電力の設定をした話」「ネットワークの設定が引き...
「BluetoothでLinuxマシンとAndroidを繋いで話が出来るようにした話」「台風で停電になって省電力の設定をした話」「ネットワークの設定が引き...「BluetoothでLinuxマシンとAndroidを繋いで話が出来るようにした話」「台風で停電になって省電力の設定をした話」「ネットワークの設定が引き...
「BluetoothでLinuxマシンとAndroidを繋いで話が出来るようにした話」「台風で停電になって省電力の設定をした話」「ネットワークの設定が引き...Kenichiro MATOHARA
 
JavaプログラマのためのWebSocket概要
JavaプログラマのためのWebSocket概要JavaプログラマのためのWebSocket概要
JavaプログラマのためのWebSocket概要Shumpei Shiraishi
 
Apache Auroraの始めかた
Apache Auroraの始めかたApache Auroraの始めかた
Apache Auroraの始めかたMasahito Zembutsu
 
MINCS – containers in the shell script
MINCS – containers in the shell scriptMINCS – containers in the shell script
MINCS – containers in the shell scriptMasami Hiramatsu
 

What's hot (20)

Raspberrypi+yocto in Yocto Workshop Japan #1
Raspberrypi+yocto in Yocto Workshop Japan #1Raspberrypi+yocto in Yocto Workshop Japan #1
Raspberrypi+yocto in Yocto Workshop Japan #1
 
Btrfs + Snapper + Samba で作る「以前のバージョン」に戻せるファイルサーバー
Btrfs + Snapper + Samba で作る「以前のバージョン」に戻せるファイルサーバーBtrfs + Snapper + Samba で作る「以前のバージョン」に戻せるファイルサーバー
Btrfs + Snapper + Samba で作る「以前のバージョン」に戻せるファイルサーバー
 
いいこんぶGitマニュアル
いいこんぶGitマニュアルいいこんぶGitマニュアル
いいこんぶGitマニュアル
 
Inside vacuum - 第一回PostgreSQLプレ勉強会
Inside vacuum - 第一回PostgreSQLプレ勉強会Inside vacuum - 第一回PostgreSQLプレ勉強会
Inside vacuum - 第一回PostgreSQLプレ勉強会
 
サバフェスLT(元うなぎ屋)
サバフェスLT(元うなぎ屋)サバフェスLT(元うなぎ屋)
サバフェスLT(元うなぎ屋)
 
LINQ in Unity
LINQ in UnityLINQ in Unity
LINQ in Unity
 
Fabricによるcloud stackインストール自動化
Fabricによるcloud stackインストール自動化Fabricによるcloud stackインストール自動化
Fabricによるcloud stackインストール自動化
 
Chromebook 「だけ」で WebRTCを動かそう
Chromebook 「だけ」で WebRTCを動かそうChromebook 「だけ」で WebRTCを動かそう
Chromebook 「だけ」で WebRTCを動かそう
 
Docker調査20150704
Docker調査20150704Docker調査20150704
Docker調査20150704
 
Cent osにpyhtonをインストールしてみよう
Cent osにpyhtonをインストールしてみようCent osにpyhtonをインストールしてみよう
Cent osにpyhtonをインストールしてみよう
 
WSL2+docker+JupyterとVS Codeリモート環境の構築
WSL2+docker+JupyterとVS Codeリモート環境の構築WSL2+docker+JupyterとVS Codeリモート環境の構築
WSL2+docker+JupyterとVS Codeリモート環境の構築
 
carettah usage
carettah usagecarettah usage
carettah usage
 
Maatkitの紹介
Maatkitの紹介Maatkitの紹介
Maatkitの紹介
 
OpenStackでつくる開発環境と外道塾
OpenStackでつくる開発環境と外道塾OpenStackでつくる開発環境と外道塾
OpenStackでつくる開発環境と外道塾
 
「BluetoothでLinuxマシンとAndroidを繋いで話が出来るようにした話」「台風で停電になって省電力の設定をした話」「ネットワークの設定が引き...
「BluetoothでLinuxマシンとAndroidを繋いで話が出来るようにした話」「台風で停電になって省電力の設定をした話」「ネットワークの設定が引き...「BluetoothでLinuxマシンとAndroidを繋いで話が出来るようにした話」「台風で停電になって省電力の設定をした話」「ネットワークの設定が引き...
「BluetoothでLinuxマシンとAndroidを繋いで話が出来るようにした話」「台風で停電になって省電力の設定をした話」「ネットワークの設定が引き...
 
JavaプログラマのためのWebSocket概要
JavaプログラマのためのWebSocket概要JavaプログラマのためのWebSocket概要
JavaプログラマのためのWebSocket概要
 
Apache Auroraの始めかた
Apache Auroraの始めかたApache Auroraの始めかた
Apache Auroraの始めかた
 
MINCS – containers in the shell script
MINCS – containers in the shell scriptMINCS – containers in the shell script
MINCS – containers in the shell script
 
ICHIGEKI-MT 2015/03/14
ICHIGEKI-MT 2015/03/14ICHIGEKI-MT 2015/03/14
ICHIGEKI-MT 2015/03/14
 
Zerto vForum 2017 資料
Zerto vForum 2017 資料Zerto vForum 2017 資料
Zerto vForum 2017 資料
 

Viewers also liked

Jubatus Casual Talks #2 : 0.5.0の新機能(クラスタリング)の紹介
Jubatus Casual Talks #2 : 0.5.0の新機能(クラスタリング)の紹介Jubatus Casual Talks #2 : 0.5.0の新機能(クラスタリング)の紹介
Jubatus Casual Talks #2 : 0.5.0の新機能(クラスタリング)の紹介瑛 村下
 
前回のCasual Talkでいただいたご要望に対する進捗状況
前回のCasual Talkでいただいたご要望に対する進捗状況前回のCasual Talkでいただいたご要望に対する進捗状況
前回のCasual Talkでいただいたご要望に対する進捗状況JubatusOfficial
 
Jubatus Casual Talks #2 異常検知入門
Jubatus Casual Talks #2 異常検知入門Jubatus Casual Talks #2 異常検知入門
Jubatus Casual Talks #2 異常検知入門Shohei Hido
 
vert.x - asynchronous event-driven web applications on the JVM
vert.x - asynchronous event-driven web applications on the JVMvert.x - asynchronous event-driven web applications on the JVM
vert.x - asynchronous event-driven web applications on the JVMjbandi
 
Gws 20140418 camel_groovy
Gws 20140418 camel_groovyGws 20140418 camel_groovy
Gws 20140418 camel_groovyNobuhiro Sue
 
Jjug 20140430 gradle_intro
Jjug 20140430 gradle_introJjug 20140430 gradle_intro
Jjug 20140430 gradle_introNobuhiro Sue
 
Gws 20141024 gradle_intro
Gws 20141024 gradle_introGws 20141024 gradle_intro
Gws 20141024 gradle_introNobuhiro Sue
 
クラウド研究会 20120712 BaaS
クラウド研究会 20120712 BaaSクラウド研究会 20120712 BaaS
クラウド研究会 20120712 BaaSNobuhiro Sue
 
NIPS2014読み会 NIPS参加報告
NIPS2014読み会 NIPS参加報告NIPS2014読み会 NIPS参加報告
NIPS2014読み会 NIPS参加報告Hidekazu Oiwa
 
Vert.X like Node.js but polyglot and reactive on JVM
Vert.X like Node.js but polyglot and reactive on JVMVert.X like Node.js but polyglot and reactive on JVM
Vert.X like Node.js but polyglot and reactive on JVMMassimiliano Dessì
 
vert.x 소개 및 개발 실습
vert.x 소개 및 개발 실습vert.x 소개 및 개발 실습
vert.x 소개 및 개발 실습John Kim
 
SGD+α: 確率的勾配降下法の現在と未来
SGD+α: 確率的勾配降下法の現在と未来SGD+α: 確率的勾配降下法の現在と未来
SGD+α: 確率的勾配降下法の現在と未来Hidekazu Oiwa
 
Development with Vert.x: an event-driven application framework for the JVM
Development with Vert.x: an event-driven application framework for the JVMDevelopment with Vert.x: an event-driven application framework for the JVM
Development with Vert.x: an event-driven application framework for the JVMDavid Wu
 
20170312 r言語環境構築&amp;dplyr ハンズオン
20170312 r言語環境構築&amp;dplyr ハンズオン20170312 r言語環境構築&amp;dplyr ハンズオン
20170312 r言語環境構築&amp;dplyr ハンズオンNobuaki Oshiro
 

Viewers also liked (14)

Jubatus Casual Talks #2 : 0.5.0の新機能(クラスタリング)の紹介
Jubatus Casual Talks #2 : 0.5.0の新機能(クラスタリング)の紹介Jubatus Casual Talks #2 : 0.5.0の新機能(クラスタリング)の紹介
Jubatus Casual Talks #2 : 0.5.0の新機能(クラスタリング)の紹介
 
前回のCasual Talkでいただいたご要望に対する進捗状況
前回のCasual Talkでいただいたご要望に対する進捗状況前回のCasual Talkでいただいたご要望に対する進捗状況
前回のCasual Talkでいただいたご要望に対する進捗状況
 
Jubatus Casual Talks #2 異常検知入門
Jubatus Casual Talks #2 異常検知入門Jubatus Casual Talks #2 異常検知入門
Jubatus Casual Talks #2 異常検知入門
 
vert.x - asynchronous event-driven web applications on the JVM
vert.x - asynchronous event-driven web applications on the JVMvert.x - asynchronous event-driven web applications on the JVM
vert.x - asynchronous event-driven web applications on the JVM
 
Gws 20140418 camel_groovy
Gws 20140418 camel_groovyGws 20140418 camel_groovy
Gws 20140418 camel_groovy
 
Jjug 20140430 gradle_intro
Jjug 20140430 gradle_introJjug 20140430 gradle_intro
Jjug 20140430 gradle_intro
 
Gws 20141024 gradle_intro
Gws 20141024 gradle_introGws 20141024 gradle_intro
Gws 20141024 gradle_intro
 
クラウド研究会 20120712 BaaS
クラウド研究会 20120712 BaaSクラウド研究会 20120712 BaaS
クラウド研究会 20120712 BaaS
 
NIPS2014読み会 NIPS参加報告
NIPS2014読み会 NIPS参加報告NIPS2014読み会 NIPS参加報告
NIPS2014読み会 NIPS参加報告
 
Vert.X like Node.js but polyglot and reactive on JVM
Vert.X like Node.js but polyglot and reactive on JVMVert.X like Node.js but polyglot and reactive on JVM
Vert.X like Node.js but polyglot and reactive on JVM
 
vert.x 소개 및 개발 실습
vert.x 소개 및 개발 실습vert.x 소개 및 개발 실습
vert.x 소개 및 개발 실습
 
SGD+α: 確率的勾配降下法の現在と未来
SGD+α: 確率的勾配降下法の現在と未来SGD+α: 確率的勾配降下法の現在と未来
SGD+α: 確率的勾配降下法の現在と未来
 
Development with Vert.x: an event-driven application framework for the JVM
Development with Vert.x: an event-driven application framework for the JVMDevelopment with Vert.x: an event-driven application framework for the JVM
Development with Vert.x: an event-driven application framework for the JVM
 
20170312 r言語環境構築&amp;dplyr ハンズオン
20170312 r言語環境構築&amp;dplyr ハンズオン20170312 r言語環境構築&amp;dplyr ハンズオン
20170312 r言語環境構築&amp;dplyr ハンズオン
 

Similar to Gws 20131018 vertx_handson(updated)

TDC20111031_Groovy_Geb
TDC20111031_Groovy_GebTDC20111031_Groovy_Geb
TDC20111031_Groovy_GebNobuhiro Sue
 
Virtuoso 7 Install Guide for Ubuntu 12.10 (64bit)
Virtuoso 7 Install Guide for Ubuntu 12.10 (64bit)Virtuoso 7 Install Guide for Ubuntu 12.10 (64bit)
Virtuoso 7 Install Guide for Ubuntu 12.10 (64bit)Yusuke Komiyama
 
あの日実行したコンテナの名前を僕達はまだ知らない。
あの日実行したコンテナの名前を僕達はまだ知らない。あの日実行したコンテナの名前を僕達はまだ知らない。
あの日実行したコンテナの名前を僕達はまだ知らない。Masahito Zembutsu
 
plotnetcfg入門 | Introduction to plotnetcfg
plotnetcfg入門 | Introduction to plotnetcfgplotnetcfg入門 | Introduction to plotnetcfg
plotnetcfg入門 | Introduction to plotnetcfgKentaro Ebisawa
 
15分でCakePHPを始める方法(Nseg 2013-11-09 )
15分でCakePHPを始める方法(Nseg 2013-11-09 )15分でCakePHPを始める方法(Nseg 2013-11-09 )
15分でCakePHPを始める方法(Nseg 2013-11-09 )hiro345
 
ヒカルのGo 資料 Webアプリケーションの作り方
ヒカルのGo 資料 Webアプリケーションの作り方ヒカルのGo 資料 Webアプリケーションの作り方
ヒカルのGo 資料 Webアプリケーションの作り方Yosuke Furukawa
 
BOSH-lite で 1VM Cloud Foundry
BOSH-lite で 1VM Cloud FoundryBOSH-lite で 1VM Cloud Foundry
BOSH-lite で 1VM Cloud Foundryi_yudai
 
Groovy Bootcamp 2015 by JGGUG
Groovy Bootcamp 2015 by JGGUGGroovy Bootcamp 2015 by JGGUG
Groovy Bootcamp 2015 by JGGUGUehara Junji
 
20160521 大規模映像配信サービスの Java8による全面リニューアルの裏側
20160521 大規模映像配信サービスの Java8による全面リニューアルの裏側20160521 大規模映像配信サービスの Java8による全面リニューアルの裏側
20160521 大規模映像配信サービスの Java8による全面リニューアルの裏側賢 秋穂
 
Distutil setuptools distribute
Distutil setuptools distributeDistutil setuptools distribute
Distutil setuptools distributeAtsushi Odagiri
 
UniRx - Reactive Extensions for Unity
UniRx - Reactive Extensions for UnityUniRx - Reactive Extensions for Unity
UniRx - Reactive Extensions for UnityYoshifumi Kawai
 
G*workshop sendai 20100424(v2)
G*workshop sendai 20100424(v2)G*workshop sendai 20100424(v2)
G*workshop sendai 20100424(v2)Nobuhiro Sue
 
WebGL and Three.js
WebGL and Three.jsWebGL and Three.js
WebGL and Three.jsyomotsu
 
ラズパイ2で動く Docker PaaSを作ってみたよ
ラズパイ2で動く Docker PaaSを作ってみたよラズパイ2で動く Docker PaaSを作ってみたよ
ラズパイ2で動く Docker PaaSを作ってみたよnpsg
 

Similar to Gws 20131018 vertx_handson(updated) (20)

TDC20111031_Groovy_Geb
TDC20111031_Groovy_GebTDC20111031_Groovy_Geb
TDC20111031_Groovy_Geb
 
Virtuoso 7 Install Guide for Ubuntu 12.10 (64bit)
Virtuoso 7 Install Guide for Ubuntu 12.10 (64bit)Virtuoso 7 Install Guide for Ubuntu 12.10 (64bit)
Virtuoso 7 Install Guide for Ubuntu 12.10 (64bit)
 
あの日実行したコンテナの名前を僕達はまだ知らない。
あの日実行したコンテナの名前を僕達はまだ知らない。あの日実行したコンテナの名前を僕達はまだ知らない。
あの日実行したコンテナの名前を僕達はまだ知らない。
 
plotnetcfg入門 | Introduction to plotnetcfg
plotnetcfg入門 | Introduction to plotnetcfgplotnetcfg入門 | Introduction to plotnetcfg
plotnetcfg入門 | Introduction to plotnetcfg
 
15分でCakePHPを始める方法(Nseg 2013-11-09 )
15分でCakePHPを始める方法(Nseg 2013-11-09 )15分でCakePHPを始める方法(Nseg 2013-11-09 )
15分でCakePHPを始める方法(Nseg 2013-11-09 )
 
ヒカルのGo 資料 Webアプリケーションの作り方
ヒカルのGo 資料 Webアプリケーションの作り方ヒカルのGo 資料 Webアプリケーションの作り方
ヒカルのGo 資料 Webアプリケーションの作り方
 
BOSH-lite で 1VM Cloud Foundry
BOSH-lite で 1VM Cloud FoundryBOSH-lite で 1VM Cloud Foundry
BOSH-lite で 1VM Cloud Foundry
 
start Heroku
start Herokustart Heroku
start Heroku
 
Groovy Bootcamp 2015 by JGGUG
Groovy Bootcamp 2015 by JGGUGGroovy Bootcamp 2015 by JGGUG
Groovy Bootcamp 2015 by JGGUG
 
Groovyの紹介20130323
Groovyの紹介20130323Groovyの紹介20130323
Groovyの紹介20130323
 
20160521 大規模映像配信サービスの Java8による全面リニューアルの裏側
20160521 大規模映像配信サービスの Java8による全面リニューアルの裏側20160521 大規模映像配信サービスの Java8による全面リニューアルの裏側
20160521 大規模映像配信サービスの Java8による全面リニューアルの裏側
 
Distutil setuptools distribute
Distutil setuptools distributeDistutil setuptools distribute
Distutil setuptools distribute
 
Hudson using Groovy #jggug
Hudson using Groovy  #jggugHudson using Groovy  #jggug
Hudson using Groovy #jggug
 
UniRx - Reactive Extensions for Unity
UniRx - Reactive Extensions for UnityUniRx - Reactive Extensions for Unity
UniRx - Reactive Extensions for Unity
 
Puppetのススメ
PuppetのススメPuppetのススメ
Puppetのススメ
 
G*workshop sendai 20100424(v2)
G*workshop sendai 20100424(v2)G*workshop sendai 20100424(v2)
G*workshop sendai 20100424(v2)
 
WebGL and Three.js
WebGL and Three.jsWebGL and Three.js
WebGL and Three.js
 
VerStixの紹介
VerStixの紹介VerStixの紹介
VerStixの紹介
 
実は怖くないDevOps
実は怖くないDevOps実は怖くないDevOps
実は怖くないDevOps
 
ラズパイ2で動く Docker PaaSを作ってみたよ
ラズパイ2で動く Docker PaaSを作ってみたよラズパイ2で動く Docker PaaSを作ってみたよ
ラズパイ2で動く Docker PaaSを作ってみたよ
 

More from Nobuhiro Sue

Fuse Online Hands-on Guide
Fuse Online Hands-on GuideFuse Online Hands-on Guide
Fuse Online Hands-on GuideNobuhiro Sue
 
Fuse Online Hands-on Guide
Fuse Online Hands-on GuideFuse Online Hands-on Guide
Fuse Online Hands-on GuideNobuhiro Sue
 
Knative CloudEvents
Knative CloudEventsKnative CloudEvents
Knative CloudEventsNobuhiro Sue
 
JTF2018_B30_k8s_operator_nobusue
JTF2018_B30_k8s_operator_nobusueJTF2018_B30_k8s_operator_nobusue
JTF2018_B30_k8s_operator_nobusueNobuhiro Sue
 
DevLove k8s nobusue 20180711
DevLove k8s nobusue 20180711DevLove k8s nobusue 20180711
DevLove k8s nobusue 20180711Nobuhiro Sue
 
JSUG20171027-spfingboot-k8s-ocp
JSUG20171027-spfingboot-k8s-ocpJSUG20171027-spfingboot-k8s-ocp
JSUG20171027-spfingboot-k8s-ocpNobuhiro Sue
 
Light and shadow of microservices
Light and shadow of microservicesLight and shadow of microservices
Light and shadow of microservicesNobuhiro Sue
 
20140329_kyon_kao_wedding_LT_Groovy
20140329_kyon_kao_wedding_LT_Groovy20140329_kyon_kao_wedding_LT_Groovy
20140329_kyon_kao_wedding_LT_GroovyNobuhiro Sue
 
Gws 20130315 gradle_handson
Gws 20130315 gradle_handsonGws 20130315 gradle_handson
Gws 20130315 gradle_handsonNobuhiro Sue
 
Groovy base gradle_20130309
Groovy base gradle_20130309Groovy base gradle_20130309
Groovy base gradle_20130309Nobuhiro Sue
 
Letsgo developer 2012 Continuous Delivery
Letsgo developer 2012 Continuous DeliveryLetsgo developer 2012 Continuous Delivery
Letsgo developer 2012 Continuous DeliveryNobuhiro Sue
 
Gws 20120521 gradle
Gws 20120521 gradleGws 20120521 gradle
Gws 20120521 gradleNobuhiro Sue
 
ぽんぽこバレー勉強会 20120427
ぽんぽこバレー勉強会 20120427ぽんぽこバレー勉強会 20120427
ぽんぽこバレー勉強会 20120427Nobuhiro Sue
 
Html5勉強会 20120423
Html5勉強会 20120423Html5勉強会 20120423
Html5勉強会 20120423Nobuhiro Sue
 
Groovy indy 20120222
Groovy indy 20120222Groovy indy 20120222
Groovy indy 20120222Nobuhiro Sue
 
G*workshop 2011/11/22 Geb+Betamax
G*workshop 2011/11/22 Geb+BetamaxG*workshop 2011/11/22 Geb+Betamax
G*workshop 2011/11/22 Geb+BetamaxNobuhiro Sue
 
20111031 MobileWeb at TDC
20111031 MobileWeb at TDC20111031 MobileWeb at TDC
20111031 MobileWeb at TDCNobuhiro Sue
 
JJUG CCC 2011 Fall / Web test automation with Geb and Spock
JJUG CCC 2011 Fall / Web test automation with Geb and SpockJJUG CCC 2011 Fall / Web test automation with Geb and Spock
JJUG CCC 2011 Fall / Web test automation with Geb and SpockNobuhiro Sue
 
Letsgo sendai nobusue_20110528
Letsgo sendai nobusue_20110528Letsgo sendai nobusue_20110528
Letsgo sendai nobusue_20110528Nobuhiro Sue
 

More from Nobuhiro Sue (20)

Fuse Online Hands-on Guide
Fuse Online Hands-on GuideFuse Online Hands-on Guide
Fuse Online Hands-on Guide
 
Fuse Online Hands-on Guide
Fuse Online Hands-on GuideFuse Online Hands-on Guide
Fuse Online Hands-on Guide
 
Knative CloudEvents
Knative CloudEventsKnative CloudEvents
Knative CloudEvents
 
JTF2018_B30_k8s_operator_nobusue
JTF2018_B30_k8s_operator_nobusueJTF2018_B30_k8s_operator_nobusue
JTF2018_B30_k8s_operator_nobusue
 
DevLove k8s nobusue 20180711
DevLove k8s nobusue 20180711DevLove k8s nobusue 20180711
DevLove k8s nobusue 20180711
 
JSUG20171027-spfingboot-k8s-ocp
JSUG20171027-spfingboot-k8s-ocpJSUG20171027-spfingboot-k8s-ocp
JSUG20171027-spfingboot-k8s-ocp
 
Light and shadow of microservices
Light and shadow of microservicesLight and shadow of microservices
Light and shadow of microservices
 
20140329_kyon_kao_wedding_LT_Groovy
20140329_kyon_kao_wedding_LT_Groovy20140329_kyon_kao_wedding_LT_Groovy
20140329_kyon_kao_wedding_LT_Groovy
 
Gws 20140117 lt
Gws 20140117 ltGws 20140117 lt
Gws 20140117 lt
 
Gws 20130315 gradle_handson
Gws 20130315 gradle_handsonGws 20130315 gradle_handson
Gws 20130315 gradle_handson
 
Groovy base gradle_20130309
Groovy base gradle_20130309Groovy base gradle_20130309
Groovy base gradle_20130309
 
Letsgo developer 2012 Continuous Delivery
Letsgo developer 2012 Continuous DeliveryLetsgo developer 2012 Continuous Delivery
Letsgo developer 2012 Continuous Delivery
 
Gws 20120521 gradle
Gws 20120521 gradleGws 20120521 gradle
Gws 20120521 gradle
 
ぽんぽこバレー勉強会 20120427
ぽんぽこバレー勉強会 20120427ぽんぽこバレー勉強会 20120427
ぽんぽこバレー勉強会 20120427
 
Html5勉強会 20120423
Html5勉強会 20120423Html5勉強会 20120423
Html5勉強会 20120423
 
Groovy indy 20120222
Groovy indy 20120222Groovy indy 20120222
Groovy indy 20120222
 
G*workshop 2011/11/22 Geb+Betamax
G*workshop 2011/11/22 Geb+BetamaxG*workshop 2011/11/22 Geb+Betamax
G*workshop 2011/11/22 Geb+Betamax
 
20111031 MobileWeb at TDC
20111031 MobileWeb at TDC20111031 MobileWeb at TDC
20111031 MobileWeb at TDC
 
JJUG CCC 2011 Fall / Web test automation with Geb and Spock
JJUG CCC 2011 Fall / Web test automation with Geb and SpockJJUG CCC 2011 Fall / Web test automation with Geb and Spock
JJUG CCC 2011 Fall / Web test automation with Geb and Spock
 
Letsgo sendai nobusue_20110528
Letsgo sendai nobusue_20110528Letsgo sendai nobusue_20110528
Letsgo sendai nobusue_20110528
 

Recently uploaded

UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdfUPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdffurutsuka
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
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
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000Shota Ito
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
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
 
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
 

Recently uploaded (9)

UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdfUPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdf
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
 
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
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
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
 
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
 

Gws 20131018 vertx_handson(updated)