SlideShare a Scribd company logo
1 of 20
XMPPの紹介
神戸隆行(椎路ちひろ)Twitter: @ChihiroShiiji / FB: takayuki.kando
2015/12/06(第12.5回福岡市西区プログラム勉強会資料)
自己紹介
 神戸 隆行(かんど たかゆき)、PN. 椎路ちひろ(しいじ ちひろ)
Twitter: @ChihiroShiiji / FB: takayuki.kando
 出身は名古屋、趣味イラストとコスプレ
 本業は九大の社会人博士課程で博士を取ろうとしながら研究開発に従事する有
期雇用の勤め人@百道浜
 専門は流転中:
 数値解析(のプログラミング・インターフェースの改良、修論@名大)
→数式処理(のプログラミング・インターフェースの改良@某F研)
→プログラム最適化(博士課程一回目の失敗@東工大)
(2005年に仕事を紹介され福岡へ来た)
→コンパイラ開発(Redefis、動的再構成可能プロセッサ向けコンパイラ)
→SW/HW開発環境(IDE上からクラウド上の開発ツールを利用できるミドルウェア
PTaaSの開発) http://www.qualiarc.com/?post_type=seihin&p=202
 使用プログラミング言語:
 最初はFORTRAN、大学以降はC++とC、今は主にJava、他は必要に応じてボチボチ
 本日は趣味と仕事で利用しているXMPPの紹介
 幾つかのソースとサンプルをGitHub[ https://github.com/TakayukiKando/Lore ]に置いてます
2015/04/122 第11回福岡市西区プログラム勉強会
この発表の内容
 XMPPの概要と特長
 インスタントメッセージング&プレゼンスの説明
 XMPPの基本的な概念の説明
 他プロトコルとの比較
 HTTP, IRC, SMTP&POP
 XMPPの拡張可能性、プロトコルの定義と通信例
 拡張規格の例
…十分長くなってしまったのでプログラミングは次回以降に
XMPPとは
 XMPP: eXtensible Messaging and Presence
Protocol(旧名: jabbar)
 標準化団体: http://xmpp.org/
 コア部分はRFCとしてIETFへ出されるが、そのRFCの内容の検討
 XMPP内の拡張(XEP: XMPP Extension Protocols)の 策定
 インスタント・メッセージングとプレゼンス(状態)情報のための
オープンなプロトコル
 例:GoogleTalk…残念ながらサービス終了
 まだだ、まだ終わらんよ!
 規格の制定プロセスは進行中
 さまざまなクライアントやサーバの実装も存続中
 現状、インスタント・メッセージング・サービスは特定の企業が提供し、
プロトコルが非公開であるものが多い
 SNSの機能の一部として提供されていることも多い
4
XMPPの狙いと特長
 狙い:
 メール、IRC、Web上の各種メッセージングサービス、マイクロBlog、RSSと
いったプッシュ通知を伴うテキスト送受信サービスの機能を包含し、置き換える
ことも可能なプロトコル
 既存のオープンでない企業独自のメッセージングサービスを置き換え可能であ
るオープンなプロトコル
 特長:
 オープン
 オープンな制定プロセス
 ドキュメントもオープン・アクセス
 拡張可能(詳細は後述)
 プロトコル自身をセキュアに拡張可能
 クライアントもサーバも段階的にプロトコルをサポートすることで機能を追加可能
 セキュア(詳細は後述)
 サーバ間のリレー接続を排し、セキュアなサーバのみでのネットワークの実現を可能
にする
 連絡先リストによりSPAMユーザを拒否し易くする
 拡張可能なプロトコルにより、実行可能なダウンロードコンテンツによる拡張を必要と
しない
インスタント・メッセージング
 テキスト・メッセージングはメール、チャットなどユーザ間でテ
キストメッセージを送り合うサービスの総称
 中でもインスタント・メッセージングは両者がオンラインであれば即
時にメッセージを送受信できるサービス
 ただしXMPPではメールのようにオフライン状態のユーザあてのメッセー
ジを蓄積して後で配送することもできる(オフライン・メッセージ)
 基本は1対1
 ただしXMPPは:
 複数人での会議もサポート(チャット)
 マイクロブログ、RSSに似たマルチキャスト配信もサポート(PubSub)
 拡張機能:
 音声通話、映像通話、ファイル転送、……etc.(Stream Initiation、
JIngle)
 メッセージングのために必要な連絡先リスト(Roster)の管理
も含む
 連絡を許すユーザの登録、拒否するユーザの登録など
プレゼンス
 ユーザの状態をマルチキャストする機能
 送られる状態の例:
 オンライン、オフライン、ビジー、離席、…etc.
 任意のショート・テキスト
 メッセージ入力中を示す通知
 連絡先リスト(Roster)に登録されている相手にだけ配信され
る
 拡張機能:
 ユーザーアバター(所謂「アイコン」)画像
 現在聞いている曲
 …etc.
XMPPネットワークの構造と機能
XMPP
サーバ
XMPP
クライアント
XMPP
サーバ・コン
ポーネント
XMPP
クライアント
XMPP
クライアント
XMPP
クライアント
他所のXMPP
サーバ
UserA
UserB
ボット(ユーザがおらず自動応
答するクライアント)
サーバに機
能を追加する
メッセージ等をルーティ
ングする
ユーザを認証する
ユーザーアカウント情
報を管理する
ユーザの連絡先リスト
を管理する
オフライン・メッセージを
保管する
実装ポリシー:
クライアントはUIに専念
サーバ側に様々な機能を実現
することが推奨されている
ユーザID: Jabber ID(JID)
 ユーザ・アカウント、ユーザが利用する個々の接続、サーバ、サー
バの拡張機能といったものを一意に識別する名前
 メッセージなどを配信する際に宛先として使用する
 連絡先リストの識別子(ID)でもある
 このようにユーザはクライアントの接続毎に識別できるため複数個所
からの接続が可能
 一般形は:
 <ユーザ名>@<サービス名>/<リソース名>
 例:
 xmpp.xgmtk.orgというDNS名のXMPPサーバ: xmpp.xgmtk.org
 上記サーバのユーザkando: kando@xmpp.xgmtk.org
 上記ユーザkandoが使うクライアントclient :
kando@xmpp.xgmtk.org/client
 上記サーバの拡張コンポーネントchatroom:
chatroom.xmpp.xgmtk.org
 名称はXMPPがかつてJabberと呼ばれていたことによる
XMPPネットワークの特徴
Server
Client
Client
Client
Server Server
Client
Client
Client
Server
Server
Server
Serve
r
Serve
r
Serve
r メール(SMTP+POP)
サーバ間通信あり
他サーバにはサーバ間
中継あり
クライアントは一つのサー
バに接続
プッシュ型プロトコル
セッション管理なし
Subscribe不要
XMPP
サーバ間通信あり
ただしサーバー間は直接
接続で中継はない
クライアントは複数のサー
バに直接接続可
プッシュ型プロトコル
セッション管理あり
Subscribe必要
Web(HTTP)
サーバ間通信なし
クライアントは複数のサー
バに直接接続
プル型プロトコル
セッション管理なし
Subscribe不要
Client
Client
Client
10
IRCとXMPPの比較
IRC XMPP
ユーザ・アドレス なし あり
ユーザ間メッセージング なし(DCCでは可能) あり
拡張機能 なし(DCCではファイル転
送可能)
音声通話、映像通話、ファ
イル転送、他
連絡先リスト なし あり
プレゼンス なし あり
会議室(チャット) チャネル
ユーザはチャネルを作成
できる
チャネルを指定して参加
チャネルは参加者がい
なくなると自動消失
チャットルーム
サーバにチャットルーム
を設置できる
管理者を指定できる
明示的に削除するまで
利用者がいなくても存続
サーバ間接続 ツリー・トポロジー、サーバ
間リレー
サーバ間は直接接続のみ。
リレーはしない
※ DCC: IRCの拡張、ユーザ間の直接チャットとファイル転送を可能にする。規格化はされていない
XMPPとHTTPの比較
12
HTTP XMPP
開発された目
的
ドキュメント公開、ファイル転送 インスタント・メッセージング
通信のモデル 厳密なサーバ・クライアント型、
プル型、subscribe不要
サーバ・クライアント型、プッシュ型、
subscribeに基づくユーザー管理
セッション管理 なし、cookieなどを用いプログラ
マが行う
あり(ログインからログアウトまでが1
セッション、この間基本的に接続しっ
ぱなし)
認証/暗号化 なし、行う場合は単位となるアク
セス(GETやPOST)毎
セッション開始時に認証、暗号化方
式の協議も行う
拡張可能性 プロトコル自身にはなし、コンテ
ンツにスクリプトやフォームを含
めることで対応
XMLによりプロトコルが定義され、
XMLの名前空間の仕組みを利用して
プロトコル自身の拡張が可能
XMPPの拡張可能性
 将来の必要に対応できる柔軟性
 プロトコルがコア・プロトコル+拡張プロトコルの集合とな
りサーバやクライアントの実装を段階的に機能強化可能
 XMPPではプロトコルを安全に拡張できる
 XMLによるプロトコルの定義
 HTTPには拡張可能性がないので機能拡張は以下により行
われてきた:
 コンテンツの動的生成(CGI、PHP、…etc.)
 実行可能コンテンツの配布(JavaScript、Flash、…etc.)
XMLによるプロトコル定義
 XMPPのプロトコルはXMLを通じて定義される
 XMLの解析、検証、生成、拡張の仕組みを利用して
XMPPの「パケット」の解析、検証、生成、拡張を行うこと
ができる
 実際、入力の処理にはXMLパーサが、出力の生成にはXML
フォーマッタが利用される
 規格においてプロトコルの形式的な定義はXML Schemaで
記述されている
 XMLの名前空間の仕組みを利用してプロトコルの拡張が定
義されている
 形式的な厳密さと拡張可能性の両立
XML文書としてのXMPPセッション
 XMPPの通信の1セッションは2つ1組のXML文書の送
受信と看做すことができる
 入出・出力のデータ列をそれぞれまとめてストリーム・オブジェ
クトと看做すことができるのと同じアイディア
 XMPPの通信セッションは全て1対のXML文書となる
 クライアントとサーバ間
 サーバとサーバの間
 サーバとサーバ拡張コンポーネントの間
 …etc.
XML文書としての構造
 XML文書のトップレベル要素はStream要素
 XMPPのセッションに対応
 トップレベルの直下にはスタンザと総称される3種類の要
素がある
 俗には「パケット」とも称される
 各種拡張は多くの場合スタンザに子要素を追加して行われる
 スタンザ
 Presence要素: プレゼンス情報を表すスタンザ
 Message要素: テキスト・メッセージを表すスタンザ
 IQ要素: 各種問合せやデータの送受信に利用されるスタンザ
XMPPセッションの例:クライアント→サーバ
<?xml version="1.0"?>
<stream:stream to="xmpp.xgmtk.org" version="1.0" xmlns="jabber:client"
xmlns:stream="http://etherx.jabber.org/streams">
<!-- …… -->
<presence>
<show>away</show>
<status>I am attending to Nishi-Pro.</status>
</presence>
<!-- …… -->
<message type="chat" to="choonggeun@xmpp.xgmtk.org">
<body>Hello!!</body>
</message>
<!-- …… -->
</stream:stream>
toによるメッセージの宛先指定
fromアトリビュートはサーバが
付加して受信側に送るのでクラ
イアントは偽装できない
セッションの開始
セッションの終了
プレゼンス情報の送信、toがない場合はサーバに
より必要な範囲へ配信される
メッセージ本文
拡張規格(XEP)の例(1)
 Data Forms(XEP-0004)
 クライアントからの各種問合せに必要な情報の入力を促すフォームの
定義法
 Jabber RPC(XEP-0009)
 XML RPCのXMPP版
 Service Discovery(Disco) (XEP-0030)
 ネットワークにどのような機能を備えたサーバや、サーバ拡張やクライ
アントが繋がっているかを調べるサービス発見プロトコル
 Multi-User Chat(XEP-0045)
 チャット・ルームを実現する
 Ad-Hoc commands(XEP-0050)
 サーバーサイドの設定等をクライアントに設定Wizard風に尋ねる規格
 Pub Sub(XEP-0060)
 登録ユーザに向けてマイクロBlogやRSS風の情報のマルチキャストを
行う
拡張規格(XEP)の例(2)
 XHTML-IM (XEP-0071)
 文を構造化し修飾する限定的なHTMLメッセージの規格
 User Avatar (XEP-0084)
 ユーザのアバター(アイコン)画像の扱い
 Stream Initiation (XEP-0095, XEP-0096)
 ファイル転送等に使えるデータストリームのネゴシエーションの規格
群
 User Mood (XEP-0107)
 「気分」を表す情報の扱い
 User Tune (XEP-0118)
 「現在聞いている曲」などの情報の扱い
 Jingle (XEP-0166他)
 新しいストリーム、ファイル転送、音声通話、映像通話のためのネゴ
シエーションの規格群
まとめ
 XMPPの概要と特長
 インスタントメッセージング&プレゼンスの説明
 XMPPの基本的な概念の説明
 他プロトコルとの比較
 HTTP, IRC, SMTP&POP
 XMPPの拡張可能性、プロトコルの定義と通信例
 拡張規格の例
…十分長くなってしまったのでプログラミングは次回以降に
 参考書
 「マスタリングXMPP」
 Peter Saint-Andre、Kevin Smith、Remko Troncon 著、牧野 聡 訳
 O'Reilly Japan, Inc. 刊、2010年4月
 http://www.oreilly.co.jp/books/9784873114477/
 各種拡張プロトコル規格書
 http://xmpp.org/xmpp-protocols/xmpp-extensions/

More Related Content

What's hot

オブジェクト指向できていますか?
オブジェクト指向できていますか?オブジェクト指向できていますか?
オブジェクト指向できていますか?
Moriharu Ohzu
 
オブジェクト指向エクササイズのススメ
オブジェクト指向エクササイズのススメオブジェクト指向エクササイズのススメ
オブジェクト指向エクササイズのススメ
Yoji Kanno
 

What's hot (20)

エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織
 
オブジェクト指向できていますか?
オブジェクト指向できていますか?オブジェクト指向できていますか?
オブジェクト指向できていますか?
 
マイクロサービスバックエンドAPIのためのRESTとgRPC
マイクロサービスバックエンドAPIのためのRESTとgRPCマイクロサービスバックエンドAPIのためのRESTとgRPC
マイクロサービスバックエンドAPIのためのRESTとgRPC
 
シリコンバレーの「何が」凄いのか
シリコンバレーの「何が」凄いのかシリコンバレーの「何が」凄いのか
シリコンバレーの「何が」凄いのか
 
モダンフロントエンド開発者に求められるスキルとは
モダンフロントエンド開発者に求められるスキルとはモダンフロントエンド開発者に求められるスキルとは
モダンフロントエンド開発者に求められるスキルとは
 
ふつうのRailsアプリケーション開発
ふつうのRailsアプリケーション開発ふつうのRailsアプリケーション開発
ふつうのRailsアプリケーション開発
 
ユーザーストーリー駆動開発で行こう。
ユーザーストーリー駆動開発で行こう。ユーザーストーリー駆動開発で行こう。
ユーザーストーリー駆動開発で行こう。
 
45分間で「ユーザー中心のものづくり」ができるまで詰め込む
45分間で「ユーザー中心のものづくり」ができるまで詰め込む45分間で「ユーザー中心のものづくり」ができるまで詰め込む
45分間で「ユーザー中心のものづくり」ができるまで詰め込む
 
コンテナ未経験新人が学ぶコンテナ技術入門
コンテナ未経験新人が学ぶコンテナ技術入門コンテナ未経験新人が学ぶコンテナ技術入門
コンテナ未経験新人が学ぶコンテナ技術入門
 
がんばらなくても C# で Single Page Web アプリケーションが書けてしまう「Blazor」とは
がんばらなくても C# で Single Page Web アプリケーションが書けてしまう「Blazor」とはがんばらなくても C# で Single Page Web アプリケーションが書けてしまう「Blazor」とは
がんばらなくても C# で Single Page Web アプリケーションが書けてしまう「Blazor」とは
 
GraphQLのsubscriptionで出来ること
GraphQLのsubscriptionで出来ることGraphQLのsubscriptionで出来ること
GraphQLのsubscriptionで出来ること
 
オブジェクト指向エクササイズのススメ
オブジェクト指向エクササイズのススメオブジェクト指向エクササイズのススメ
オブジェクト指向エクササイズのススメ
 
DockerとPodmanの比較
DockerとPodmanの比較DockerとPodmanの比較
DockerとPodmanの比較
 
「UXデザインとは」からはじめる「本流」のUXデザインはじめの一歩 | UXデザイン基礎セミナー 第1回
「UXデザインとは」からはじめる「本流」のUXデザインはじめの一歩 | UXデザイン基礎セミナー 第1回「UXデザインとは」からはじめる「本流」のUXデザインはじめの一歩 | UXデザイン基礎セミナー 第1回
「UXデザインとは」からはじめる「本流」のUXデザインはじめの一歩 | UXデザイン基礎セミナー 第1回
 
Docker Compose 徹底解説
Docker Compose 徹底解説Docker Compose 徹底解説
Docker Compose 徹底解説
 
ソーシャルゲームのためのデータベース設計
ソーシャルゲームのためのデータベース設計ソーシャルゲームのためのデータベース設計
ソーシャルゲームのためのデータベース設計
 
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
 
フロー効率性とリソース効率性、再入門 #devlove #devkan
フロー効率性とリソース効率性、再入門 #devlove #devkanフロー効率性とリソース効率性、再入門 #devlove #devkan
フロー効率性とリソース効率性、再入門 #devlove #devkan
 
まじめに!できる!LT
まじめに!できる!LT まじめに!できる!LT
まじめに!できる!LT
 
ネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分けネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分け
 

Viewers also liked

Message delivery over XMPP network
Message delivery over XMPP networkMessage delivery over XMPP network
Message delivery over XMPP network
Hideki Saito
 
Transports on XMPP network
Transports on XMPP networkTransports on XMPP network
Transports on XMPP network
Hideki Saito
 

Viewers also liked (20)

XMPP仕様簡単解説
XMPP仕様簡単解説XMPP仕様簡単解説
XMPP仕様簡単解説
 
XMPPクライアント・プログラミング
XMPPクライアント・プログラミングXMPPクライアント・プログラミング
XMPPクライアント・プログラミング
 
JMeterをWebでしか設定できないサーバの設定自動化に使う
JMeterをWebでしか設定できないサーバの設定自動化に使うJMeterをWebでしか設定できないサーバの設定自動化に使う
JMeterをWebでしか設定できないサーバの設定自動化に使う
 
オレオレ言語実装に役立つプル型ASTウォーカーAPI
オレオレ言語実装に役立つプル型ASTウォーカーAPIオレオレ言語実装に役立つプル型ASTウォーカーAPI
オレオレ言語実装に役立つプル型ASTウォーカーAPI
 
テンプレート・エンジンVelocity
テンプレート・エンジンVelocityテンプレート・エンジンVelocity
テンプレート・エンジンVelocity
 
Message delivery over XMPP network
Message delivery over XMPP networkMessage delivery over XMPP network
Message delivery over XMPP network
 
Transports on XMPP network
Transports on XMPP networkTransports on XMPP network
Transports on XMPP network
 
組み込みから IoT へ
組み込みから IoT へ組み込みから IoT へ
組み込みから IoT へ
 
ゴアの預言した「スマート・グリッド」が現実のものに
ゴアの預言した「スマート・グリッド」が現実のものにゴアの預言した「スマート・グリッド」が現実のものに
ゴアの預言した「スマート・グリッド」が現実のものに
 
デバイスからクラウドへ ~組み込みエンジニアと IoT
デバイスからクラウドへ ~組み込みエンジニアと IoTデバイスからクラウドへ ~組み込みエンジニアと IoT
デバイスからクラウドへ ~組み込みエンジニアと IoT
 
ゲームマップのためのグラフAPIの設計
ゲームマップのためのグラフAPIの設計ゲームマップのためのグラフAPIの設計
ゲームマップのためのグラフAPIの設計
 
(Unityよくわかってない人のための)なんとなくわかるかもしれないAssetBundle
(Unityよくわかってない人のための)なんとなくわかるかもしれないAssetBundle(Unityよくわかってない人のための)なんとなくわかるかもしれないAssetBundle
(Unityよくわかってない人のための)なんとなくわかるかもしれないAssetBundle
 
IoT時代を支えるプロトコルMQTT技術詳解
IoT時代を支えるプロトコルMQTT技術詳解IoT時代を支えるプロトコルMQTT技術詳解
IoT時代を支えるプロトコルMQTT技術詳解
 
Openfire xmpp server on windows server 2012 r2 with spark sso
Openfire xmpp server on windows server 2012 r2 with spark ssoOpenfire xmpp server on windows server 2012 r2 with spark sso
Openfire xmpp server on windows server 2012 r2 with spark sso
 
Microsoft Azure EventHubで始めるIoT
Microsoft Azure EventHubで始めるIoTMicrosoft Azure EventHubで始めるIoT
Microsoft Azure EventHubで始めるIoT
 
Router chat for np
Router chat for npRouter chat for np
Router chat for np
 
どっかのしたのほう
どっかのしたのほうどっかのしたのほう
どっかのしたのほう
 
サーバPUSHざっくりまとめ
サーバPUSHざっくりまとめサーバPUSHざっくりまとめ
サーバPUSHざっくりまとめ
 
Maven基礎
Maven基礎Maven基礎
Maven基礎
 
Mqttで始めるIoT
Mqttで始めるIoTMqttで始めるIoT
Mqttで始めるIoT
 

Similar to XMPPの紹介

【Fan】学びの場づくり、"勝手に"最先端はこれだ! コンテンツデザインからコミュニティデザインへ
【Fan】学びの場づくり、"勝手に"最先端はこれだ! コンテンツデザインからコミュニティデザインへ【Fan】学びの場づくり、"勝手に"最先端はこれだ! コンテンツデザインからコミュニティデザインへ
【Fan】学びの場づくり、"勝手に"最先端はこれだ! コンテンツデザインからコミュニティデザインへ
Jun Nakahara
 

Similar to XMPPの紹介 (20)

TRPGオンラインセッション環境とルール&シナリオ記述言語
TRPGオンラインセッション環境とルール&シナリオ記述言語TRPGオンラインセッション環境とルール&シナリオ記述言語
TRPGオンラインセッション環境とルール&シナリオ記述言語
 
すぱこーに学ぶアプリ開発の第一歩
すぱこーに学ぶアプリ開発の第一歩すぱこーに学ぶアプリ開発の第一歩
すぱこーに学ぶアプリ開発の第一歩
 
プロジェクトマネジメント再入門 〜PjMは何であって何でないのか〜
プロジェクトマネジメント再入門 〜PjMは何であって何でないのか〜プロジェクトマネジメント再入門 〜PjMは何であって何でないのか〜
プロジェクトマネジメント再入門 〜PjMは何であって何でないのか〜
 
Java→phpエンジニアに転向した話
Java→phpエンジニアに転向した話Java→phpエンジニアに転向した話
Java→phpエンジニアに転向した話
 
Jikopr
JikoprJikopr
Jikopr
 
夢中にさせる授業「ゲーミフィケーション×授業」2016最新事例
夢中にさせる授業「ゲーミフィケーション×授業」2016最新事例夢中にさせる授業「ゲーミフィケーション×授業」2016最新事例
夢中にさせる授業「ゲーミフィケーション×授業」2016最新事例
 
Go言語で色々試行錯誤して フレームワークもどきを作ってみた話
Go言語で色々試行錯誤して フレームワークもどきを作ってみた話Go言語で色々試行錯誤して フレームワークもどきを作ってみた話
Go言語で色々試行錯誤して フレームワークもどきを作ってみた話
 
2018.10.8 つくばビットコインミートアップ 藤田
2018.10.8 つくばビットコインミートアップ 藤田2018.10.8 つくばビットコインミートアップ 藤田
2018.10.8 つくばビットコインミートアップ 藤田
 
TRPGオンラインセッション環境とルール&シナリオ記述言語 その2
TRPGオンラインセッション環境とルール&シナリオ記述言語 その2TRPGオンラインセッション環境とルール&シナリオ記述言語 その2
TRPGオンラインセッション環境とルール&シナリオ記述言語 その2
 
私の失敗道(仮)
私の失敗道(仮)私の失敗道(仮)
私の失敗道(仮)
 
Go x Slack API
Go x Slack APIGo x Slack API
Go x Slack API
 
Tokyo.R女子部発表スライド「Rではじめるデータ解析の超基礎」
Tokyo.R女子部発表スライド「Rではじめるデータ解析の超基礎」Tokyo.R女子部発表スライド「Rではじめるデータ解析の超基礎」
Tokyo.R女子部発表スライド「Rではじめるデータ解析の超基礎」
 
Aizu.LT #16
Aizu.LT #16Aizu.LT #16
Aizu.LT #16
 
ドリコムサマージョブ報告 by 佐々木 誠治
ドリコムサマージョブ報告 by 佐々木 誠治ドリコムサマージョブ報告 by 佐々木 誠治
ドリコムサマージョブ報告 by 佐々木 誠治
 
【Fan】学びの場づくり、"勝手に"最先端はこれだ! コンテンツデザインからコミュニティデザインへ
【Fan】学びの場づくり、"勝手に"最先端はこれだ! コンテンツデザインからコミュニティデザインへ【Fan】学びの場づくり、"勝手に"最先端はこれだ! コンテンツデザインからコミュニティデザインへ
【Fan】学びの場づくり、"勝手に"最先端はこれだ! コンテンツデザインからコミュニティデザインへ
 
WebSig1日学校2013開校資料~和田 嘉弘
WebSig1日学校2013開校資料~和田 嘉弘WebSig1日学校2013開校資料~和田 嘉弘
WebSig1日学校2013開校資料~和田 嘉弘
 
大学におけるICT教育の事例
大学におけるICT教育の事例大学におけるICT教育の事例
大学におけるICT教育の事例
 
認知症プロジェクト~社会課題解決のパートナーとして~
認知症プロジェクト~社会課題解決のパートナーとして~認知症プロジェクト~社会課題解決のパートナーとして~
認知症プロジェクト~社会課題解決のパートナーとして~
 
なぜ、いま情報デザインなのか?
なぜ、いま情報デザインなのか?なぜ、いま情報デザインなのか?
なぜ、いま情報デザインなのか?
 
Sapporo Data Pioneers #1 LT:240118_sapporodatapioneers.pptx
Sapporo Data Pioneers #1 LT:240118_sapporodatapioneers.pptxSapporo Data Pioneers #1 LT:240118_sapporodatapioneers.pptx
Sapporo Data Pioneers #1 LT:240118_sapporodatapioneers.pptx
 

XMPPの紹介

Editor's Notes

  1. ここで分散ビルド・ミドルウェアで用いられているXMPPというプロトコルについて補足:
  2. ここで分散ビルド・ミドルウェアで用いられているXMPPというプロトコルについて補足: