狠狠撸

狠狠撸Share a Scribd company logo
SmartFXでの
Socket.IO活用事
例
株式会社みんかぶ 森田剛志
@takeshy
アジェンダ
?厂尘补谤迟贵齿について
?厂辞肠办别迟.滨翱を使った実装
? Socket.IOの実装で考慮したこと
? Socket.IO-ReqEvについて
?厂辞肠办别迟.滨翱サーバの运用
? 冗長化と負荷分散
? デプロイ時における停止
厂尘补谤迟贵齿について
どんなサイト?
? みんかぶが提供するスマホ向け無料FX情
報サイト。ニュース、チャート、予想が
見れたり、バーチャルトレードができま
す。
? Socket.IOとBackbone.jsを使ってリアル
タイムなSinglePageApplicationを構築し
ています。
http://smartfx.jp
(正式にはhttp://smartfx.minkabu.jp)
厂辞肠办别迟.滨翱を使った実装
Socket.IOの実装で考慮
したこと
?Socket.IOはSocketを制御するため
のNameSpace、Rooms、Events
という便利な機能があります。
?ただ、これらの機能は各々が代替
できるので方針を決めて使わない
と、まちまちになってしまいます。
?そこでSmartFXはルールを決めま
した
SmartFXにおける
NameSpace,Rooms,Eventsの
ルール
? NameSpaceとオブジェクトは1対1の関
係で作成する
? Roomはイベント毎に作成する
? イベントが発生した場合はRoomを使って
送信する
? Eventは”message”,”reply”,”error”の3
つ
? “message”はクライアントからサーバ
に”reply”,”error”はサーバからクライアント
Socket.IO-ReqEv
? これらの約束を適用することで
Socket.IO関連の処理が共通化され
たので、くくりだしMiddlewareに
することができました
? そのMiddlewareがSocket.IO-ReqEv
です
? インストールは下記のコマンドです
npm install socket.io-reqev
Socket.IO-ReqEvの使い
方 サーバー側
Socket.IO-ReqEvを使う2つのSTEP
1. Socket.IOオブジェクトを初期値として渡して
IOReqEvオブジェクトを生成
2. IOReqEvオブジェクトにパラメータとして、
NameSpaceと規約にのっとったオブジェクトを
渡します。
この例ではひとつだけの登録ですが、ペアを何個も登録可能。
Socke.IO-ReqEvに渡すオブジェク
トの規約は下記の3つです。
1. eventsというArrayのプロパティ
にクライアントに送るイベント名
を登録する。
2. EventEmitterを継承して、イベ
ントが発生した場合はデータと共
にイベントをemitする
3. クライアントからのメッセージ
にrequestsというパラメータが含
まれていた場合に呼び出されるメ
ソッドrequestを実装する。(Like
HTTP GET)
左記のサンプルは1秒および1分ご
とのイベントと現在時間を返すた
めのプログラムです。
Socket.IO-ReqEvの使い
方 クライアント側
Socket.IO-Reqevをブラウザで使う2つの
STEP
1. Socket.IOサーバアドレス+Path(NameSpace)と、
callbackを渡してIOReqEvClientを作ります。
2. watchメソッドでsubscribeしたいイベントとリクエス
トの種別を指定します。
eventsに違うイベントを指定して再度watchを実行すると、サーバ側
でもう必要なくなったイベントのunsubscribe処理が行われます
Socket.IO-ReqEvの実
装
? サーバ側は60行もないソース
? Socket.IO 0.9.xの頃は非公開の属性
を使っていましたが、1.0になって公
開されている属性のみになりました
? 興味がある人は読んで
https://github.com/takeshy/socket.io-
reqev
厂辞肠办别迟.滨翱サーバの运用
システム构成
冗長化と負荷分散
? 冗長化と負荷分散は、Socket.IOサーバ
がDBに登録された自分の情報を定期的
更新し、Webサーバが最近更新された
Socket.IOサーバのアドレス一覧からラ
ンダムにアドレスを選んでそのアドレ
スをクライアントに伝えることで実現
しています。
冗長化と負荷分散
シーケンス
デプロイ時における停止
? pm2というNode.jsのプログラムの
デーモン管理ツールを使っています
が、Shutdownしようとdeleteコマン
ドを実行しても、 Socket.IOのよう
なネットワークコネクションがは
りっぱなしの場合、いつまでも
deleteコマンドが完了しません。
? そのため、Socket.IOサーバ自身が
Shutdownする仕組みを作りました。
Deployの流れ
? 対象Socket.IOサーバのアプリのソースを更新し、pm2の
deleteとstartを実行するスクリプトの実行(by capistrano)
? DB上の該当Socket.IOサーバのレコードのstatusを
inactive
? Socket.IOサーバは自身のレコードがinactiveになったこ
とを検知すると、ClientsにinactiveイベントをBraodcast
して、1分後に自身をexitするタイマーを実行
? inactiveイベントを受信したクライアントは、もし1分間
以上同じページに留まったいた場合は接続が切断された
旨のpopupを出力(ページ更新した場合は新たなsocket.io
サーバのアドレスを取得できるため問題なし)
? DB上の該当Socket.IOサーバのレコードのstatusをactive
Socket.IOサーバ停止
シーケンス
ご静聴ありがとうご
ざいました

More Related Content

What's hot (18)

Getting started with Handoff
Getting started with HandoffGetting started with Handoff
Getting started with Handoff
Yuichi Yoshida
?
Our Track to Modern Angular #2
Our Track to Modern Angular #2Our Track to Modern Angular #2
Our Track to Modern Angular #2
Yuta Shimizu
?
ここにハマった!顿辞肠办别谤コンテナホスティング「础谤耻办补蝉」の里侧
ここにハマった!顿辞肠办别谤コンテナホスティング「础谤耻办补蝉」の里侧ここにハマった!顿辞肠办别谤コンテナホスティング「础谤耻办补蝉」の里侧
ここにハマった!顿辞肠办别谤コンテナホスティング「础谤耻办补蝉」の里侧
Shuji Yamada
?
2010年インストールマニアックス ~Javaアプリ編~
2010年インストールマニアックス ~Javaアプリ編~2010年インストールマニアックス ~Javaアプリ編~
2010年インストールマニアックス ~Javaアプリ編~
normalian
?
搁颈辞迟.箩蝉とフォームのテ?ータハ?インテ?ィンク?
搁颈辞迟.箩蝉とフォームのテ?ータハ?インテ?ィンク?搁颈辞迟.箩蝉とフォームのテ?ータハ?インテ?ィンク?
搁颈辞迟.箩蝉とフォームのテ?ータハ?インテ?ィンク?
Keisuke Imai
?
Face APIで開発する時に使っている7つの道具
Face APIで開発する時に使っている7つの道具Face APIで開発する時に使っている7つの道具
Face APIで開発する時に使っている7つの道具
Kazuyuki Miyake
?
现场!実物!実践!マルチクラスタを运用するときの课题とコツ
现场!実物!実践!マルチクラスタを运用するときの课题とコツ现场!実物!実践!マルチクラスタを运用するときの课题とコツ
现场!実物!実践!マルチクラスタを运用するときの课题とコツ
Shuji Yamada
?
Wolcome to swift
Wolcome to swiftWolcome to swift
Wolcome to swift
Kyohei Ito
?
スタートアップに箩辞颈苍して1年间の変化を振り返る
スタートアップに箩辞颈苍して1年间の変化を振り返るスタートアップに箩辞颈苍して1年间の変化を振り返る
スタートアップに箩辞颈苍して1年间の変化を振り返る
Masashi Ogawa
?
現実的な「WordPress on Azure App Service」 クイックスタート
現実的な「WordPress on Azure App Service」 クイックスタート現実的な「WordPress on Azure App Service」 クイックスタート
現実的な「WordPress on Azure App Service」 クイックスタート
Kazuyuki Miyake
?
サーバサイドエンジニアが 1年間まじめにSPAやってみた
サーバサイドエンジニアが 1年間まじめにSPAやってみたサーバサイドエンジニアが 1年間まじめにSPAやってみた
サーバサイドエンジニアが 1年間まじめにSPAやってみた
Itaru Kitagawa
?
本番運用で使うVisual Studio
本番運用で使うVisual Studio本番運用で使うVisual Studio
本番運用で使うVisual Studio
Kazuyuki Miyake
?
第一回搁贰厂罢勉强会冲铃木商店の开発环境
第一回搁贰厂罢勉强会冲铃木商店の开発环境第一回搁贰厂罢勉强会冲铃木商店の开発环境
第一回搁贰厂罢勉强会冲铃木商店の开発环境
tsuchimon
?
Azure Arcで「どこでも」Azureサービスを利用可能に!
Azure Arcで「どこでも」Azureサービスを利用可能に!Azure Arcで「どこでも」Azureサービスを利用可能に!
Azure Arcで「どこでも」Azureサービスを利用可能に!
Masahiko Ebisuda
?
Apiト?キュメンテーションツールを使いこなす【api blueprint編】
Apiト?キュメンテーションツールを使いこなす【api blueprint編】Apiト?キュメンテーションツールを使いこなす【api blueprint編】
Apiト?キュメンテーションツールを使いこなす【api blueprint編】
dcubeio
?
SoftLayer API で資産管理をお手伝い!
SoftLayer API で資産管理をお手伝い!SoftLayer API で資産管理をお手伝い!
SoftLayer API で資産管理をお手伝い!
Kazumi IWANAGA
?
滨诲肠蹿クラウト?て?始める构筑自动化
滨诲肠蹿クラウト?て?始める构筑自动化滨诲肠蹿クラウト?て?始める构筑自动化
滨诲肠蹿クラウト?て?始める构筑自动化
智之 大野
?
コンテナて?作る开発环境 (20161104 CodeIgniter Night)
コンテナて?作る开発环境 (20161104 CodeIgniter Night)コンテナて?作る开発环境 (20161104 CodeIgniter Night)
コンテナて?作る开発环境 (20161104 CodeIgniter Night)
智之 大野
?
Getting started with Handoff
Getting started with HandoffGetting started with Handoff
Getting started with Handoff
Yuichi Yoshida
?
Our Track to Modern Angular #2
Our Track to Modern Angular #2Our Track to Modern Angular #2
Our Track to Modern Angular #2
Yuta Shimizu
?
ここにハマった!顿辞肠办别谤コンテナホスティング「础谤耻办补蝉」の里侧
ここにハマった!顿辞肠办别谤コンテナホスティング「础谤耻办补蝉」の里侧ここにハマった!顿辞肠办别谤コンテナホスティング「础谤耻办补蝉」の里侧
ここにハマった!顿辞肠办别谤コンテナホスティング「础谤耻办补蝉」の里侧
Shuji Yamada
?
2010年インストールマニアックス ~Javaアプリ編~
2010年インストールマニアックス ~Javaアプリ編~2010年インストールマニアックス ~Javaアプリ編~
2010年インストールマニアックス ~Javaアプリ編~
normalian
?
搁颈辞迟.箩蝉とフォームのテ?ータハ?インテ?ィンク?
搁颈辞迟.箩蝉とフォームのテ?ータハ?インテ?ィンク?搁颈辞迟.箩蝉とフォームのテ?ータハ?インテ?ィンク?
搁颈辞迟.箩蝉とフォームのテ?ータハ?インテ?ィンク?
Keisuke Imai
?
Face APIで開発する時に使っている7つの道具
Face APIで開発する時に使っている7つの道具Face APIで開発する時に使っている7つの道具
Face APIで開発する時に使っている7つの道具
Kazuyuki Miyake
?
现场!実物!実践!マルチクラスタを运用するときの课题とコツ
现场!実物!実践!マルチクラスタを运用するときの课题とコツ现场!実物!実践!マルチクラスタを运用するときの课题とコツ
现场!実物!実践!マルチクラスタを运用するときの课题とコツ
Shuji Yamada
?
スタートアップに箩辞颈苍して1年间の変化を振り返る
スタートアップに箩辞颈苍して1年间の変化を振り返るスタートアップに箩辞颈苍して1年间の変化を振り返る
スタートアップに箩辞颈苍して1年间の変化を振り返る
Masashi Ogawa
?
現実的な「WordPress on Azure App Service」 クイックスタート
現実的な「WordPress on Azure App Service」 クイックスタート現実的な「WordPress on Azure App Service」 クイックスタート
現実的な「WordPress on Azure App Service」 クイックスタート
Kazuyuki Miyake
?
サーバサイドエンジニアが 1年間まじめにSPAやってみた
サーバサイドエンジニアが 1年間まじめにSPAやってみたサーバサイドエンジニアが 1年間まじめにSPAやってみた
サーバサイドエンジニアが 1年間まじめにSPAやってみた
Itaru Kitagawa
?
本番運用で使うVisual Studio
本番運用で使うVisual Studio本番運用で使うVisual Studio
本番運用で使うVisual Studio
Kazuyuki Miyake
?
第一回搁贰厂罢勉强会冲铃木商店の开発环境
第一回搁贰厂罢勉强会冲铃木商店の开発环境第一回搁贰厂罢勉强会冲铃木商店の开発环境
第一回搁贰厂罢勉强会冲铃木商店の开発环境
tsuchimon
?
Azure Arcで「どこでも」Azureサービスを利用可能に!
Azure Arcで「どこでも」Azureサービスを利用可能に!Azure Arcで「どこでも」Azureサービスを利用可能に!
Azure Arcで「どこでも」Azureサービスを利用可能に!
Masahiko Ebisuda
?
Apiト?キュメンテーションツールを使いこなす【api blueprint編】
Apiト?キュメンテーションツールを使いこなす【api blueprint編】Apiト?キュメンテーションツールを使いこなす【api blueprint編】
Apiト?キュメンテーションツールを使いこなす【api blueprint編】
dcubeio
?
SoftLayer API で資産管理をお手伝い!
SoftLayer API で資産管理をお手伝い!SoftLayer API で資産管理をお手伝い!
SoftLayer API で資産管理をお手伝い!
Kazumi IWANAGA
?
滨诲肠蹿クラウト?て?始める构筑自动化
滨诲肠蹿クラウト?て?始める构筑自动化滨诲肠蹿クラウト?て?始める构筑自动化
滨诲肠蹿クラウト?て?始める构筑自动化
智之 大野
?
コンテナて?作る开発环境 (20161104 CodeIgniter Night)
コンテナて?作る开発环境 (20161104 CodeIgniter Night)コンテナて?作る开発环境 (20161104 CodeIgniter Night)
コンテナて?作る开発环境 (20161104 CodeIgniter Night)
智之 大野
?

Similar to Smart fxて?のsocketio活用事例 (20)

SL囲む会東京5 Nodejs×Silverlightではまったこと
SL囲む会東京5 Nodejs×SilverlightではまったことSL囲む会東京5 Nodejs×Silverlightではまったこと
SL囲む会東京5 Nodejs×Silverlightではまったこと
normalian
?
OpenStackで始めるクラウド環境構築入門 Havana&DevStack編
OpenStackで始めるクラウド環境構築入門 Havana&DevStack編OpenStackで始めるクラウド環境構築入門 Havana&DevStack編
OpenStackで始めるクラウド環境構築入門 Havana&DevStack編
VirtualTech Japan Inc.
?
HTML5のセキュリティ もうちょい詳しく- HTML5セキュリティその3 : JavaScript API
HTML5のセキュリティ もうちょい詳しく- HTML5セキュリティその3 : JavaScript APIHTML5のセキュリティ もうちょい詳しく- HTML5セキュリティその3 : JavaScript API
HTML5のセキュリティ もうちょい詳しく- HTML5セキュリティその3 : JavaScript API
Yosuke HASEGAWA
?
IETF94 M2M Authentication関連報告
IETF94 M2M Authentication関連報告IETF94 M2M Authentication関連報告
IETF94 M2M Authentication関連報告
Masaru Kurahayashi
?
WebSocket+Akka(Remote)+Play 2.1 Java
WebSocket+Akka(Remote)+Play 2.1 JavaWebSocket+Akka(Remote)+Play 2.1 Java
WebSocket+Akka(Remote)+Play 2.1 Java
Kazuhiro Hara
?
2011_9_9_AIR_LightningTalk
2011_9_9_AIR_LightningTalk2011_9_9_AIR_LightningTalk
2011_9_9_AIR_LightningTalk
Shozo Okada
?
Jakarta EEとMicroprofileの上手な付き合い方と使い方 - JakartaOne Livestream Japan 2020
Jakarta EEとMicroprofileの上手な付き合い方と使い方 - JakartaOne Livestream Japan 2020Jakarta EEとMicroprofileの上手な付き合い方と使い方 - JakartaOne Livestream Japan 2020
Jakarta EEとMicroprofileの上手な付き合い方と使い方 - JakartaOne Livestream Japan 2020
Hirofumi Iwasaki
?
ガラケーで楽しむオレ闯厂の勧め
ガラケーで楽しむオレ闯厂の勧めガラケーで楽しむオレ闯厂の勧め
ガラケーで楽しむオレ闯厂の勧め
Hiroshi Tokumaru
?
翱谤补肠濒别が苍辞诲别.箩蝉をやり始めたというのだが!
翱谤补肠濒别が苍辞诲别.箩蝉をやり始めたというのだが!翱谤补肠濒别が苍辞诲别.箩蝉をやり始めたというのだが!
翱谤补肠濒别が苍辞诲别.箩蝉をやり始めたというのだが!
Hiroshi Hayakawa
?
Real World Android Akka - 日本語版
Real World Android Akka - 日本語版Real World Android Akka - 日本語版
Real World Android Akka - 日本語版
Taisuke Oe
?
Play jjug2012spring
Play jjug2012springPlay jjug2012spring
Play jjug2012spring
Takafumi Ikeda
?
JJUG CCC.pptx
JJUG CCC.pptxJJUG CCC.pptx
JJUG CCC.pptx
Kanta Sasaki
?
叁协立山の仮想化基板の成长を支えるイーサネット?ファブリック
叁协立山の仮想化基板の成长を支えるイーサネット?ファブリック叁协立山の仮想化基板の成长を支えるイーサネット?ファブリック
叁协立山の仮想化基板の成长を支えるイーサネット?ファブリック
Brocade
?
可変値変数 var を極力避けることを模索するための事前知識 #cswift
可変値変数 var を極力避けることを模索するための事前知識 #cswift可変値変数 var を極力避けることを模索するための事前知識 #cswift
可変値変数 var を極力避けることを模索するための事前知識 #cswift
Tomohiro Kumagai
?
Windows Phone / iOS / Android アプリ同時開発のススメ
Windows Phone / iOS / Android アプリ同時開発のススメWindows Phone / iOS / Android アプリ同時開発のススメ
Windows Phone / iOS / Android アプリ同時開発のススメ
Yoshito Tabuchi
?
窜翱窜翱罢翱奥狈で最大级のトラフィックを记録する福袋発売イベントで実施した负荷対策と、当日の监视体制について
窜翱窜翱罢翱奥狈で最大级のトラフィックを记録する福袋発売イベントで実施した负荷対策と、当日の监视体制について窜翱窜翱罢翱奥狈で最大级のトラフィックを记録する福袋発売イベントで実施した负荷対策と、当日の监视体制について
窜翱窜翱罢翱奥狈で最大级のトラフィックを记録する福袋発売イベントで実施した负荷対策と、当日の监视体制について
Masaki Hirose
?
20230418_MJUG_vol1_kitazaki_v1.pdf
20230418_MJUG_vol1_kitazaki_v1.pdf20230418_MJUG_vol1_kitazaki_v1.pdf
20230418_MJUG_vol1_kitazaki_v1.pdf
Ayachika Kitazaki
?
Web socketドロンくん その後-
Web socketドロンくん その後-Web socketドロンくん その後-
Web socketドロンくん その後-
Yuuichi Akagawa
?
OSC 2011 Tokyo/Fall 自宅SAN友の会 (Infinibandお試し編)
OSC 2011 Tokyo/Fall 自宅SAN友の会 (Infinibandお試し編)OSC 2011 Tokyo/Fall 自宅SAN友の会 (Infinibandお試し編)
OSC 2011 Tokyo/Fall 自宅SAN友の会 (Infinibandお試し編)
Satoshi Shimazaki
?
Cell/B.E. プログラミング事始め
Cell/B.E. プログラミング事始めCell/B.E. プログラミング事始め
Cell/B.E. プログラミング事始め
You&I
?
SL囲む会東京5 Nodejs×Silverlightではまったこと
SL囲む会東京5 Nodejs×SilverlightではまったことSL囲む会東京5 Nodejs×Silverlightではまったこと
SL囲む会東京5 Nodejs×Silverlightではまったこと
normalian
?
OpenStackで始めるクラウド環境構築入門 Havana&DevStack編
OpenStackで始めるクラウド環境構築入門 Havana&DevStack編OpenStackで始めるクラウド環境構築入門 Havana&DevStack編
OpenStackで始めるクラウド環境構築入門 Havana&DevStack編
VirtualTech Japan Inc.
?
HTML5のセキュリティ もうちょい詳しく- HTML5セキュリティその3 : JavaScript API
HTML5のセキュリティ もうちょい詳しく- HTML5セキュリティその3 : JavaScript APIHTML5のセキュリティ もうちょい詳しく- HTML5セキュリティその3 : JavaScript API
HTML5のセキュリティ もうちょい詳しく- HTML5セキュリティその3 : JavaScript API
Yosuke HASEGAWA
?
IETF94 M2M Authentication関連報告
IETF94 M2M Authentication関連報告IETF94 M2M Authentication関連報告
IETF94 M2M Authentication関連報告
Masaru Kurahayashi
?
WebSocket+Akka(Remote)+Play 2.1 Java
WebSocket+Akka(Remote)+Play 2.1 JavaWebSocket+Akka(Remote)+Play 2.1 Java
WebSocket+Akka(Remote)+Play 2.1 Java
Kazuhiro Hara
?
2011_9_9_AIR_LightningTalk
2011_9_9_AIR_LightningTalk2011_9_9_AIR_LightningTalk
2011_9_9_AIR_LightningTalk
Shozo Okada
?
Jakarta EEとMicroprofileの上手な付き合い方と使い方 - JakartaOne Livestream Japan 2020
Jakarta EEとMicroprofileの上手な付き合い方と使い方 - JakartaOne Livestream Japan 2020Jakarta EEとMicroprofileの上手な付き合い方と使い方 - JakartaOne Livestream Japan 2020
Jakarta EEとMicroprofileの上手な付き合い方と使い方 - JakartaOne Livestream Japan 2020
Hirofumi Iwasaki
?
ガラケーで楽しむオレ闯厂の勧め
ガラケーで楽しむオレ闯厂の勧めガラケーで楽しむオレ闯厂の勧め
ガラケーで楽しむオレ闯厂の勧め
Hiroshi Tokumaru
?
翱谤补肠濒别が苍辞诲别.箩蝉をやり始めたというのだが!
翱谤补肠濒别が苍辞诲别.箩蝉をやり始めたというのだが!翱谤补肠濒别が苍辞诲别.箩蝉をやり始めたというのだが!
翱谤补肠濒别が苍辞诲别.箩蝉をやり始めたというのだが!
Hiroshi Hayakawa
?
Real World Android Akka - 日本語版
Real World Android Akka - 日本語版Real World Android Akka - 日本語版
Real World Android Akka - 日本語版
Taisuke Oe
?
叁协立山の仮想化基板の成长を支えるイーサネット?ファブリック
叁协立山の仮想化基板の成长を支えるイーサネット?ファブリック叁协立山の仮想化基板の成长を支えるイーサネット?ファブリック
叁协立山の仮想化基板の成长を支えるイーサネット?ファブリック
Brocade
?
可変値変数 var を極力避けることを模索するための事前知識 #cswift
可変値変数 var を極力避けることを模索するための事前知識 #cswift可変値変数 var を極力避けることを模索するための事前知識 #cswift
可変値変数 var を極力避けることを模索するための事前知識 #cswift
Tomohiro Kumagai
?
Windows Phone / iOS / Android アプリ同時開発のススメ
Windows Phone / iOS / Android アプリ同時開発のススメWindows Phone / iOS / Android アプリ同時開発のススメ
Windows Phone / iOS / Android アプリ同時開発のススメ
Yoshito Tabuchi
?
窜翱窜翱罢翱奥狈で最大级のトラフィックを记録する福袋発売イベントで実施した负荷対策と、当日の监视体制について
窜翱窜翱罢翱奥狈で最大级のトラフィックを记録する福袋発売イベントで実施した负荷対策と、当日の监视体制について窜翱窜翱罢翱奥狈で最大级のトラフィックを记録する福袋発売イベントで実施した负荷対策と、当日の监视体制について
窜翱窜翱罢翱奥狈で最大级のトラフィックを记録する福袋発売イベントで実施した负荷対策と、当日の监视体制について
Masaki Hirose
?
20230418_MJUG_vol1_kitazaki_v1.pdf
20230418_MJUG_vol1_kitazaki_v1.pdf20230418_MJUG_vol1_kitazaki_v1.pdf
20230418_MJUG_vol1_kitazaki_v1.pdf
Ayachika Kitazaki
?
Web socketドロンくん その後-
Web socketドロンくん その後-Web socketドロンくん その後-
Web socketドロンくん その後-
Yuuichi Akagawa
?
OSC 2011 Tokyo/Fall 自宅SAN友の会 (Infinibandお試し編)
OSC 2011 Tokyo/Fall 自宅SAN友の会 (Infinibandお試し編)OSC 2011 Tokyo/Fall 自宅SAN友の会 (Infinibandお試し編)
OSC 2011 Tokyo/Fall 自宅SAN友の会 (Infinibandお試し編)
Satoshi Shimazaki
?
Cell/B.E. プログラミング事始め
Cell/B.E. プログラミング事始めCell/B.E. プログラミング事始め
Cell/B.E. プログラミング事始め
You&I
?

Smart fxて?のsocketio活用事例