Submit Search
Upload
Tremaプログラミング ウル技(テク) 大技林
•
3 likes
•
1,381 views
Yasuhito Takamiya
Follow
TremaでのRubyを使った基本的なプログラミングテクニックを解説しています。Trema Day #8 での発表です。
Read less
Read more
Software
Report
Share
Report
Share
1 of 18
Download now
Download to read offline
Recommended
RPCノード構築方法【Litecoin】
RPCノード構築方法【Litecoin】
qaz_id
20131109 ruby conf2013
20131109 ruby conf2013
Hiroshi SHIBATA
Zabbix meeting 20101218_02-2 (Takanori Suzuki)
Zabbix meeting 20101218_02-2 (Takanori Suzuki)
takanori suzuki
第8回KPF発表資料
第8回KPF発表資料
cryks
長いの
長いの
emasaka
Tiny server
Tiny server
komem3
Bossan dentoo
Bossan dentoo
kubo39
Sendslacker
Sendslacker
RyogaHorikoshi
Recommended
RPCノード構築方法【Litecoin】
RPCノード構築方法【Litecoin】
qaz_id
20131109 ruby conf2013
20131109 ruby conf2013
Hiroshi SHIBATA
Zabbix meeting 20101218_02-2 (Takanori Suzuki)
Zabbix meeting 20101218_02-2 (Takanori Suzuki)
takanori suzuki
第8回KPF発表資料
第8回KPF発表資料
cryks
長いの
長いの
emasaka
Tiny server
Tiny server
komem3
Bossan dentoo
Bossan dentoo
kubo39
Sendslacker
Sendslacker
RyogaHorikoshi
Transaction scopeまだダメ
Transaction scopeまだダメ
Oda Shinsuke
いまさら聞けないselectあれこれ
いまさら聞けないselectあれこれ
lestrrat
ニューラルネットワーク勉強会5
ニューラルネットワーク勉強会5
yhide
Rustのタスクモデルについて
Rustのタスクモデルについて
zigen
Tide - SmalltalkでSPA
Tide - SmalltalkでSPA
Masashi Umezawa
C#er から見た Turbolinks 3
C#er から見た Turbolinks 3
dany1468
GGEasyMonitor技術情報
GGEasyMonitor技術情報
KitASP_Corporation
とっとるびー(2回目)発表資料
とっとるびー(2回目)発表資料
ionis111
NanoStrand
NanoStrand
Masashi Umezawa
社内向けTech Talk資料~Fluentdの基本紹介~
社内向けTech Talk資料~Fluentdの基本紹介~
Daisuke Ikeda
Trema の紹介とネットワーク仮想化への応用
Trema の紹介とネットワーク仮想化への応用
kazuyas
Rubyで創るOpenFlowネットワーク - LLまつり
Rubyで創るOpenFlowネットワーク - LLまつり
Yuya Rin
DTraceによるMySQL解析ことはじめ
DTraceによるMySQL解析ことはじめ
Mikiya Okuno
Scapy presentation
Scapy presentation
ashigirl ZareGoto
Pub/Sub model, msm, and asio
Pub/Sub model, msm, and asio
Takatoshi Kondo
wakamonog6 Routing Tutorial
wakamonog6 Routing Tutorial
Naohide Kamitani
Akka HTTP
Akka HTTP
TanUkkii
Couchbase MeetUP Tokyo - #11 Omoidenote
Couchbase MeetUP Tokyo - #11 Omoidenote
kitsugi
SF-TAP: 柔軟で規模追従可能なトラフィック解析基盤の設計
SF-TAP: 柔軟で規模追従可能なトラフィック解析基盤の設計
Yuuki Takano
plotnetcfg入門 | Introduction to plotnetcfg
plotnetcfg入門 | Introduction to plotnetcfg
Kentaro Ebisawa
Ruby Postgres 2009
Ruby Postgres 2009
Akio Ishida
C16 45分でわかるPostgreSQLの仕組み by 山田努
C16 45分でわかるPostgreSQLの仕組み by 山田努
Insight Technology, Inc.
More Related Content
What's hot
Transaction scopeまだダメ
Transaction scopeまだダメ
Oda Shinsuke
いまさら聞けないselectあれこれ
いまさら聞けないselectあれこれ
lestrrat
ニューラルネットワーク勉強会5
ニューラルネットワーク勉強会5
yhide
Rustのタスクモデルについて
Rustのタスクモデルについて
zigen
Tide - SmalltalkでSPA
Tide - SmalltalkでSPA
Masashi Umezawa
C#er から見た Turbolinks 3
C#er から見た Turbolinks 3
dany1468
GGEasyMonitor技術情報
GGEasyMonitor技術情報
KitASP_Corporation
とっとるびー(2回目)発表資料
とっとるびー(2回目)発表資料
ionis111
NanoStrand
NanoStrand
Masashi Umezawa
What's hot
(9)
Transaction scopeまだダメ
Transaction scopeまだダメ
いまさら聞けないselectあれこれ
いまさら聞けないselectあれこれ
ニューラルネットワーク勉強会5
ニューラルネットワーク勉強会5
Rustのタスクモデルについて
Rustのタスクモデルについて
Tide - SmalltalkでSPA
Tide - SmalltalkでSPA
C#er から見た Turbolinks 3
C#er から見た Turbolinks 3
GGEasyMonitor技術情報
GGEasyMonitor技術情報
とっとるびー(2回目)発表資料
とっとるびー(2回目)発表資料
NanoStrand
NanoStrand
Similar to Tremaプログラミング ウル技(テク) 大技林
社内向けTech Talk資料~Fluentdの基本紹介~
社内向けTech Talk資料~Fluentdの基本紹介~
Daisuke Ikeda
Trema の紹介とネットワーク仮想化への応用
Trema の紹介とネットワーク仮想化への応用
kazuyas
Rubyで創るOpenFlowネットワーク - LLまつり
Rubyで創るOpenFlowネットワーク - LLまつり
Yuya Rin
DTraceによるMySQL解析ことはじめ
DTraceによるMySQL解析ことはじめ
Mikiya Okuno
Scapy presentation
Scapy presentation
ashigirl ZareGoto
Pub/Sub model, msm, and asio
Pub/Sub model, msm, and asio
Takatoshi Kondo
wakamonog6 Routing Tutorial
wakamonog6 Routing Tutorial
Naohide Kamitani
Akka HTTP
Akka HTTP
TanUkkii
Couchbase MeetUP Tokyo - #11 Omoidenote
Couchbase MeetUP Tokyo - #11 Omoidenote
kitsugi
SF-TAP: 柔軟で規模追従可能なトラフィック解析基盤の設計
SF-TAP: 柔軟で規模追従可能なトラフィック解析基盤の設計
Yuuki Takano
plotnetcfg入門 | Introduction to plotnetcfg
plotnetcfg入門 | Introduction to plotnetcfg
Kentaro Ebisawa
Ruby Postgres 2009
Ruby Postgres 2009
Akio Ishida
C16 45分でわかるPostgreSQLの仕組み by 山田努
C16 45分でわかるPostgreSQLの仕組み by 山田努
Insight Technology, Inc.
Hokkaido.cap #osc11do Wiresharkを使いこなそう!
Hokkaido.cap #osc11do Wiresharkを使いこなそう!
Panda Yamaki
Gumi study7 messagepack
Gumi study7 messagepack
Sadayuki Furuhashi
gumiStudy#7 The MessagePack Project
gumiStudy#7 The MessagePack Project
Sadayuki Furuhashi
20130215 fluentd esper_2
20130215 fluentd esper_2
Ogibayashi
15. running deploying camel
15. running deploying camel
Jian Feng
2012 osc北海道 セッション資料「blackjumbodog利用のすすめ」
2012 osc北海道 セッション資料「blackjumbodog利用のすすめ」
Shinichi Hirauchi
RouterBOARD with OpenFlow
RouterBOARD with OpenFlow
Toshiki Tsuboi
Similar to Tremaプログラミング ウル技(テク) 大技林
(20)
社内向けTech Talk資料~Fluentdの基本紹介~
社内向けTech Talk資料~Fluentdの基本紹介~
Trema の紹介とネットワーク仮想化への応用
Trema の紹介とネットワーク仮想化への応用
Rubyで創るOpenFlowネットワーク - LLまつり
Rubyで創るOpenFlowネットワーク - LLまつり
DTraceによるMySQL解析ことはじめ
DTraceによるMySQL解析ことはじめ
Scapy presentation
Scapy presentation
Pub/Sub model, msm, and asio
Pub/Sub model, msm, and asio
wakamonog6 Routing Tutorial
wakamonog6 Routing Tutorial
Akka HTTP
Akka HTTP
Couchbase MeetUP Tokyo - #11 Omoidenote
Couchbase MeetUP Tokyo - #11 Omoidenote
SF-TAP: 柔軟で規模追従可能なトラフィック解析基盤の設計
SF-TAP: 柔軟で規模追従可能なトラフィック解析基盤の設計
plotnetcfg入門 | Introduction to plotnetcfg
plotnetcfg入門 | Introduction to plotnetcfg
Ruby Postgres 2009
Ruby Postgres 2009
C16 45分でわかるPostgreSQLの仕組み by 山田努
C16 45分でわかるPostgreSQLの仕組み by 山田努
Hokkaido.cap #osc11do Wiresharkを使いこなそう!
Hokkaido.cap #osc11do Wiresharkを使いこなそう!
Gumi study7 messagepack
Gumi study7 messagepack
gumiStudy#7 The MessagePack Project
gumiStudy#7 The MessagePack Project
20130215 fluentd esper_2
20130215 fluentd esper_2
15. running deploying camel
15. running deploying camel
2012 osc北海道 セッション資料「blackjumbodog利用のすすめ」
2012 osc北海道 セッション資料「blackjumbodog利用のすすめ」
RouterBOARD with OpenFlow
RouterBOARD with OpenFlow
More from Yasuhito Takamiya
アプリ屋 対 ネットワーク屋
アプリ屋 対 ネットワーク屋
Yasuhito Takamiya
物理ネットワーク受け入れテストツールNetTester あるいは私は如何にして心配するのを止めてネットワーク管理を・愛する・ようになったか
物理ネットワーク受け入れテストツールNetTester あるいは私は如何にして心配するのを止めてネットワーク管理を・愛する・ようになったか
Yasuhito Takamiya
ニューTrema 5つのポイント
ニューTrema 5つのポイント
Yasuhito Takamiya
データで見るTrema
データで見るTrema
Yasuhito Takamiya
Ruby でパケットパーサを作ろう
Ruby でパケットパーサを作ろう
Yasuhito Takamiya
OpenFlow フレームワークの選びかた
OpenFlow フレームワークの選びかた
Yasuhito Takamiya
SDN時代の開発よもやま話 - OpenFlowとTrema
SDN時代の開発よもやま話 - OpenFlowとTrema
Yasuhito Takamiya
クラウドインターネットルータ
クラウドインターネットルータ
Yasuhito Takamiya
Trema コミッタになるには
Trema コミッタになるには
Yasuhito Takamiya
Bare Metal Cloud: 実マシンを提供するクラウドサービス (SWoPP 2010)
Bare Metal Cloud: 実マシンを提供するクラウドサービス (SWoPP 2010)
Yasuhito Takamiya
More from Yasuhito Takamiya
(10)
アプリ屋 対 ネットワーク屋
アプリ屋 対 ネットワーク屋
物理ネットワーク受け入れテストツールNetTester あるいは私は如何にして心配するのを止めてネットワーク管理を・愛する・ようになったか
物理ネットワーク受け入れテストツールNetTester あるいは私は如何にして心配するのを止めてネットワーク管理を・愛する・ようになったか
ニューTrema 5つのポイント
ニューTrema 5つのポイント
データで見るTrema
データで見るTrema
Ruby でパケットパーサを作ろう
Ruby でパケットパーサを作ろう
OpenFlow フレームワークの選びかた
OpenFlow フレームワークの選びかた
SDN時代の開発よもやま話 - OpenFlowとTrema
SDN時代の開発よもやま話 - OpenFlowとTrema
クラウドインターネットルータ
クラウドインターネットルータ
Trema コミッタになるには
Trema コミッタになるには
Bare Metal Cloud: 実マシンを提供するクラウドサービス (SWoPP 2010)
Bare Metal Cloud: 実マシンを提供するクラウドサービス (SWoPP 2010)
Tremaプログラミング ウル技(テク) 大技林
1.
Tremaプログラミング ウル技 大技林 高宮 安仁
@yasuhito テク だい ぎ りん
2.
スライスBスライスA お題: ネットワークスライス
3.
どう書く? コントローラ スライス機能 最短路パス トポロジ探索 REST API
CLI スイッチへ
4.
RoutingSwitch Topology Slice Path PathManager PathInSlice Manager 小さなクラスに分ける!
5.
パケットを送信すると… PacketIn FlowMod PacketOut 宛先ホスト
6.
RoutingSwitch Topology PathManager PacketOut 最短路パスを作る PacketIn Path Path.create FlowMod (上流から) トポロジ情報
7.
処理のカプセル化 •Path.create(path, packet_in) パスに沿って上流からFlowModAdd •Path.destroy(path) パスに沿って下流からFlowModDel •Path.select do
|each| each.link?(port_a, port_b) end.each(&:destroy) ポートa⇔ポートbのリンクをすべて消す
8.
リンクが切れたら… 宛先ホスト PortDownFlowModDel
9.
RoutingSwitch Topology PathManager 無効なパスを消す PortDown Path delete_link イベント Path.destroy FlowMod (下流から)
10.
オブザーバパターン トポロジイベントをPathManagerへ イベントハンドラでパスを消す
11.
RoutingSwitch Topology PathManager メッセージの振り分け OpenFlow メッセージ Path ト ポ ロ ジ 関 係 PacketIn のみ
12.
ハンドラの委譲 トポロジ関連メッセージ→Topologyへ PacketIn→TopologyとPathManagerへ
13.
RoutingSwitch Topology PathPathManager スライス機能を追加したい…
14.
RoutingSwitch Topology Slice Path PathManager PathInSlice Manager 継承とオーバーライド
15.
RoutingSwitch Topology Slice Path PathManager PathInSlice Manager どう作る? REST API
16.
opology Slice Path hManager thInSlice Manager どう作る? REST API REST
API コントローラ プロセス Slice Proxy :find_by! :find_by! (DRb)
17.
リモートクラス呼び出し REST API の実装 Sliceクラスプロキシ
18.
• 小さいクラスを組み合わせよう • 必要なのはOOPの基本テクのみ! •
リポジトリは trema/routing_switch • もし新しいウル技を発見したら トレ通編集部まで まとめ
Download now