SlideShare a Scribd company logo
Rubyで
パケットのパーサと
ジェネレータを作ろう
高宮 安仁
Trema チーム
短く
読みやすく
改造しやすい
トポロジ探索
サンプルコード
パーサジェネレータ
コントローラ
LLDP
PacketOut
LLDP
PacketIn
PacketFuhttps://github.com/todb/packetfu
お,おう...
Rackethttp://spoofed.org/files/racket/
おしい...
LLDPの生成
LLDPのパース
理想
BinDatahttps://github.com/dmendel/bindata
LLDPクラス
宣言的
DSL
パーサジェネレータ
Lldp#readLldp.new
BinDataで
実際に作ってみよう
LLDPフレームフォーマット
class Lldp < BinData::Record
mac_address :destination_mac
mac_address :source_mac
uint16 :ether_type, ...
chassis_id_tlv :chassis_id
port_id_tlv :port_id
ttl_tlv :ttl, ...
array :optional_tlv, ...
# ロード
require “lldp”
# LLDPのパース
Lldp.read(packet_in.data).dpid #=> 12345
# 生成
lldp = Lldp.new(:destination_mac => ...,
:source_mac => ...)
# 送信
send_packet_out(dpid,
:data => lldp.to_binary,
...)
class Lldp < BinData::Record
mac_address :destination_mac
mac_address :source_mac
uint16 :ether_type, ...
chassis_id_tlv :chassis_id
port_id_tlv :port_id
ttl_tlv :ttl, ...
array :optional_tlv, ...
end
型 :フィールド名
プリミティブ型
• string, stringz
• int8, uint16, int32be,...
• bit1, bit2, bit4_le,...
• float_le, double_be,...
ユーザ定義型
• mac_address
• chassis_id_tlv
• port_id_tlv
• ttl_tlv
• optional_tlv
ボトムアップに型を定義
class FooBarTlv < BinData::Primitive
...
bit7 :tlv_type, :value => xxx
  bit9 :tlv_info_length
  string :foobar,
:read_length => :tlv_info_length
だいたいパースできた!
Optional TLV
BinDataでどう表す?
0∼N個
Optional TLVの種類
• Port Description (4)
• System Name (5)
• System Description (6)
• System Capabilities (7)
• Management Address (8)
※カッコ内は TLV type の値
よく使う
Optional TLV
1∼N個
• Optional TLV (type = 4∼8, 0) の Array
• Array の終端は End of LLDPDU
BinDataで
OptionalTLVを扱うには?
CODE
class Lldp < BinData::Record
...
array :optional_tlv,
:type => :optional_tlv,
:read_until =>
lambda { element.end_of_lldpdu? }
Optional TLV
End of LLDPDU で終わる Optional TLV 配列
class OptionalTlv < BinData::Record
...
bit7 :tlv_type
...
def end_of_lldpdu?
tlv_type == 0
end
終端のチェック
class OptionalTlv < BinData::Record
bit7 :tlv_type
  bit9 :tlv_info_length
  choice :tlv_value, ...
:selection => :chooser do
end_of_lldpdu_value 0
    port_description_value 4
    system_name_value 5
    system_description_value 6
    system_capabilities_value 7
    management_address_value 8
    string “unknown”
end
共通
どれかが
入る
  choice :tlv_value, ...
:selection => :chooser do
end_of_lldpdu_value 0
    port_description_value 4
...
string “unknown”
...
def chooser
    if tlv_type == 0 or
(4 <= tlv_type and tlv_type <= 8)
      tlv_type
    else
      "unknown"
    end
  end
class SystemNameValue < BinData::Record
stringz :system_name
end
すべてパースできた!
ちょっとひと手間で
このうまさ
Lldp.new(:destination_mac
=> [0x11, 0x22, ...], ...)
# vs.
Lldp.new(:destination_mac
=> "11:22:33:44:55:66", ...)
どちらが使いやすい?
class MacAddress < BinData::Primitive
array :octets, :type => :uint8, :initial_length => 6
def set value
self.octets = value.split(/:/).collect do | each |
each.hex
end
end
文字列→整数配列
ちゃんと
動く?
describe OptionalTlv do
subject { OptionalTlv.read( data ) }
context "when parsing End Of LLDPDU TLV" do
let( :data ) { [ 0x00, 0x00 ].pack( "C*" ) }
its( :tlv_type ) { should eq 0 }
its( :tlv_info_length ) { should eq 0 }
its( :tlv_value ) { should eq "tlv_info_string" => "" }
end
...
RSpec でテスト
ここまでやれば一級品
成果物
APC 近藤氏寄贈
https://github.com/yasuhito/ruby_topology
• 「○○パケットを処理するには」
• BinData を使えばきれいに書ける
• 誰か一緒にやりませんか!!
Tremaレシピ集
• pcap を集める人
• コーディングする人
• 実環境でテストする人
共同開発
Trema TremaEdge
paper-house
Trema::Packet
gemの作者に
なろう

More Related Content

What's hot

Better C#の脱却を目指して
Better C#の脱却を目指してBetter C#の脱却を目指して
Better C#の脱却を目指して
bleis tift
 
F#によるFunctional Programming入門
F#によるFunctional Programming入門F#によるFunctional Programming入門
F#によるFunctional Programming入門
bleis tift
 
Polyphony: Python ではじめる FPGA
Polyphony: Python ではじめる FPGAPolyphony: Python ではじめる FPGA
Polyphony: Python ではじめる FPGA
ryos36
 
Buffer overflow
Buffer overflowBuffer overflow
Buffer overflow
ionis111
 
Polyphony の並列化
Polyphony の並列化Polyphony の並列化
Polyphony の並列化
ryos36
 
Yaminabe fortran
Yaminabe fortranYaminabe fortran
Stager
StagerStager
Stager
sounakano
 
About FeliCa Lite(日本語)
About FeliCa Lite(日本語)About FeliCa Lite(日本語)
About FeliCa Lite(日本語)Hirokuma Ueno
 
pythonワンライナーのすゝめ
pythonワンライナーのすゝめpythonワンライナーのすゝめ
pythonワンライナーのすゝめ
cocu_628496
 
Raspberry pi on java 20130510
Raspberry pi on java 20130510Raspberry pi on java 20130510
Raspberry pi on java 20130510Masafumi Ohta
 
ここがすごい! なぞとPHP5.3
ここがすごい! なぞとPHP5.3ここがすごい! なぞとPHP5.3
ここがすごい! なぞとPHP5.3
Takuya Sato
 
Hachiojipm41
Hachiojipm41Hachiojipm41
Hachiojipm41
Hiroaki KOBAYASHI
 
Polyphony IO まとめ
Polyphony IO まとめPolyphony IO まとめ
Polyphony IO まとめ
ryos36
 
月刊NDEF 2013年2月号(臨時号)
月刊NDEF 2013年2月号(臨時号)月刊NDEF 2013年2月号(臨時号)
月刊NDEF 2013年2月号(臨時号)
Hirokuma Ueno
 
ネタプログラミング言語クリエイターYouma (Gunma.web #8 2012/03/03)
ネタプログラミング言語クリエイターYouma (Gunma.web #8 2012/03/03)ネタプログラミング言語クリエイターYouma (Gunma.web #8 2012/03/03)
ネタプログラミング言語クリエイターYouma (Gunma.web #8 2012/03/03)
parrotstudio
 
がんばれ PHP Fiber
がんばれ PHP Fiberがんばれ PHP Fiber
がんばれ PHP Fiber
infinite_loop
 
PYNQ祭りLT todotani
PYNQ祭りLT todotaniPYNQ祭りLT todotani
PYNQ祭りLT todotani
Kenshi Kamiya
 
Lt7 TensorFlow
Lt7 TensorFlowLt7 TensorFlow
Lt7 TensorFlow
GIG inc.
 
Pynqでカメラ画像をリアルタイムfastx コーナー検出
Pynqでカメラ画像をリアルタイムfastx コーナー検出Pynqでカメラ画像をリアルタイムfastx コーナー検出
Pynqでカメラ画像をリアルタイムfastx コーナー検出
marsee101
 

What's hot (20)

Better C#の脱却を目指して
Better C#の脱却を目指してBetter C#の脱却を目指して
Better C#の脱却を目指して
 
F#によるFunctional Programming入門
F#によるFunctional Programming入門F#によるFunctional Programming入門
F#によるFunctional Programming入門
 
Polyphony: Python ではじめる FPGA
Polyphony: Python ではじめる FPGAPolyphony: Python ではじめる FPGA
Polyphony: Python ではじめる FPGA
 
Buffer overflow
Buffer overflowBuffer overflow
Buffer overflow
 
Polyphony の並列化
Polyphony の並列化Polyphony の並列化
Polyphony の並列化
 
Yaminabe fortran
Yaminabe fortranYaminabe fortran
Yaminabe fortran
 
Stager
StagerStager
Stager
 
About FeliCa Lite(日本語)
About FeliCa Lite(日本語)About FeliCa Lite(日本語)
About FeliCa Lite(日本語)
 
pythonワンライナーのすゝめ
pythonワンライナーのすゝめpythonワンライナーのすゝめ
pythonワンライナーのすゝめ
 
Raspberry pi on java 20130510
Raspberry pi on java 20130510Raspberry pi on java 20130510
Raspberry pi on java 20130510
 
ここがすごい! なぞとPHP5.3
ここがすごい! なぞとPHP5.3ここがすごい! なぞとPHP5.3
ここがすごい! なぞとPHP5.3
 
Hachiojipm41
Hachiojipm41Hachiojipm41
Hachiojipm41
 
Polyphony IO まとめ
Polyphony IO まとめPolyphony IO まとめ
Polyphony IO まとめ
 
月刊NDEF 2013年2月号(臨時号)
月刊NDEF 2013年2月号(臨時号)月刊NDEF 2013年2月号(臨時号)
月刊NDEF 2013年2月号(臨時号)
 
ネタプログラミング言語クリエイターYouma (Gunma.web #8 2012/03/03)
ネタプログラミング言語クリエイターYouma (Gunma.web #8 2012/03/03)ネタプログラミング言語クリエイターYouma (Gunma.web #8 2012/03/03)
ネタプログラミング言語クリエイターYouma (Gunma.web #8 2012/03/03)
 
がんばれ PHP Fiber
がんばれ PHP Fiberがんばれ PHP Fiber
がんばれ PHP Fiber
 
NFCの汎化
NFCの汎化NFCの汎化
NFCの汎化
 
PYNQ祭りLT todotani
PYNQ祭りLT todotaniPYNQ祭りLT todotani
PYNQ祭りLT todotani
 
Lt7 TensorFlow
Lt7 TensorFlowLt7 TensorFlow
Lt7 TensorFlow
 
Pynqでカメラ画像をリアルタイムfastx コーナー検出
Pynqでカメラ画像をリアルタイムfastx コーナー検出Pynqでカメラ画像をリアルタイムfastx コーナー検出
Pynqでカメラ画像をリアルタイムfastx コーナー検出
 

Similar to Ruby でパケットパーサを作ろう

Rust-DPDK
Rust-DPDKRust-DPDK
Rust-DPDK
Masaru Oki
 
Rubyで創るOpenFlowネットワーク - LLまつり
Rubyで創るOpenFlowネットワーク - LLまつりRubyで創るOpenFlowネットワーク - LLまつり
Rubyで創るOpenFlowネットワーク - LLまつり
Yuya Rin
 
2012 11-17.nagoyapm08
2012 11-17.nagoyapm082012 11-17.nagoyapm08
2012 11-17.nagoyapm08
IWATA Susumu
 
Lagopus performance
Lagopus performanceLagopus performance
Lagopus performance
Masaru Oki
 
ラプラシアンフィルタをZedBoardで実装(ソフトウェアからハードウェアにオフロード)
ラプラシアンフィルタをZedBoardで実装(ソフトウェアからハードウェアにオフロード)ラプラシアンフィルタをZedBoardで実装(ソフトウェアからハードウェアにオフロード)
ラプラシアンフィルタをZedBoardで実装(ソフトウェアからハードウェアにオフロード)
marsee101
 
Dalvik仮想マシンのアーキテクチャ 改訂版
Dalvik仮想マシンのアーキテクチャ 改訂版Dalvik仮想マシンのアーキテクチャ 改訂版
Dalvik仮想マシンのアーキテクチャ 改訂版Takuya Matsunaga
 
Tremaで構築!中小企業の社内LAN #Tremaday 120419
Tremaで構築!中小企業の社内LAN #Tremaday 120419Tremaで構築!中小企業の社内LAN #Tremaday 120419
Tremaで構築!中小企業の社内LAN #Tremaday 120419エイシュン コンドウ
 
【Zabbix2.0】snmpttによるトラップメッセージの編集 #Zabbix #自宅ラック勉強会
【Zabbix2.0】snmpttによるトラップメッセージの編集 #Zabbix #自宅ラック勉強会【Zabbix2.0】snmpttによるトラップメッセージの編集 #Zabbix #自宅ラック勉強会
【Zabbix2.0】snmpttによるトラップメッセージの編集 #Zabbix #自宅ラック勉強会真乙 九龍
 
スタート低レイヤー #0
スタート低レイヤー #0スタート低レイヤー #0
スタート低レイヤー #0Kiwamu Okabe
 
第4回Linux-HA勉強会資料 Pacemakerの紹介
第4回Linux-HA勉強会資料 Pacemakerの紹介第4回Linux-HA勉強会資料 Pacemakerの紹介
第4回Linux-HA勉強会資料 Pacemakerの紹介ksk_ha
 
Boost.SIMD
Boost.SIMDBoost.SIMD
Boost.SIMD
Akira Takahashi
 
曖昧 RPM 講座
曖昧 RPM 講座曖昧 RPM 講座
曖昧 RPM 講座
Tetsuya Morimoto
 
2014 dart flight school in Tokyo
2014 dart flight school in Tokyo2014 dart flight school in Tokyo
2014 dart flight school in Tokyo
nothingcosmos
 
VPP事始め
VPP事始めVPP事始め
VPP事始め
npsg
 
TCP connectionの保存と復元
TCP connectionの保存と復元TCP connectionの保存と復元
TCP connectionの保存と復元mittyorz
 
Web技術勉強会23回目
Web技術勉強会23回目Web技術勉強会23回目
Web技術勉強会23回目
龍一 田中
 
TripleOの光と闇
TripleOの光と闇TripleOの光と闇
TripleOの光と闇
Manabu Ori
 
InfiniBand on Debian
InfiniBand on DebianInfiniBand on Debian
InfiniBand on Debian
Taisuke Yamada
 

Similar to Ruby でパケットパーサを作ろう (20)

Rust-DPDK
Rust-DPDKRust-DPDK
Rust-DPDK
 
Rubyで創るOpenFlowネットワーク - LLまつり
Rubyで創るOpenFlowネットワーク - LLまつりRubyで創るOpenFlowネットワーク - LLまつり
Rubyで創るOpenFlowネットワーク - LLまつり
 
kyotovim#1
kyotovim#1kyotovim#1
kyotovim#1
 
2012 11-17.nagoyapm08
2012 11-17.nagoyapm082012 11-17.nagoyapm08
2012 11-17.nagoyapm08
 
Lagopus performance
Lagopus performanceLagopus performance
Lagopus performance
 
ラプラシアンフィルタをZedBoardで実装(ソフトウェアからハードウェアにオフロード)
ラプラシアンフィルタをZedBoardで実装(ソフトウェアからハードウェアにオフロード)ラプラシアンフィルタをZedBoardで実装(ソフトウェアからハードウェアにオフロード)
ラプラシアンフィルタをZedBoardで実装(ソフトウェアからハードウェアにオフロード)
 
Pdp11 on-fpga
Pdp11 on-fpgaPdp11 on-fpga
Pdp11 on-fpga
 
Dalvik仮想マシンのアーキテクチャ 改訂版
Dalvik仮想マシンのアーキテクチャ 改訂版Dalvik仮想マシンのアーキテクチャ 改訂版
Dalvik仮想マシンのアーキテクチャ 改訂版
 
Tremaで構築!中小企業の社内LAN #Tremaday 120419
Tremaで構築!中小企業の社内LAN #Tremaday 120419Tremaで構築!中小企業の社内LAN #Tremaday 120419
Tremaで構築!中小企業の社内LAN #Tremaday 120419
 
【Zabbix2.0】snmpttによるトラップメッセージの編集 #Zabbix #自宅ラック勉強会
【Zabbix2.0】snmpttによるトラップメッセージの編集 #Zabbix #自宅ラック勉強会【Zabbix2.0】snmpttによるトラップメッセージの編集 #Zabbix #自宅ラック勉強会
【Zabbix2.0】snmpttによるトラップメッセージの編集 #Zabbix #自宅ラック勉強会
 
スタート低レイヤー #0
スタート低レイヤー #0スタート低レイヤー #0
スタート低レイヤー #0
 
第4回Linux-HA勉強会資料 Pacemakerの紹介
第4回Linux-HA勉強会資料 Pacemakerの紹介第4回Linux-HA勉強会資料 Pacemakerの紹介
第4回Linux-HA勉強会資料 Pacemakerの紹介
 
Boost.SIMD
Boost.SIMDBoost.SIMD
Boost.SIMD
 
曖昧 RPM 講座
曖昧 RPM 講座曖昧 RPM 講座
曖昧 RPM 講座
 
2014 dart flight school in Tokyo
2014 dart flight school in Tokyo2014 dart flight school in Tokyo
2014 dart flight school in Tokyo
 
VPP事始め
VPP事始めVPP事始め
VPP事始め
 
TCP connectionの保存と復元
TCP connectionの保存と復元TCP connectionの保存と復元
TCP connectionの保存と復元
 
Web技術勉強会23回目
Web技術勉強会23回目Web技術勉強会23回目
Web技術勉強会23回目
 
TripleOの光と闇
TripleOの光と闇TripleOの光と闇
TripleOの光と闇
 
InfiniBand on Debian
InfiniBand on DebianInfiniBand on Debian
InfiniBand on Debian
 

More from Yasuhito Takamiya

アプリ屋 対 ネットワーク屋
アプリ屋 対 ネットワーク屋アプリ屋 対 ネットワーク屋
アプリ屋 対 ネットワーク屋
Yasuhito Takamiya
 
物理ネットワーク受け入れテストツールNetTester あるいは私は如何にして心配するのを止めてネットワーク管理を・愛する・ようになったか
物理ネットワーク受け入れテストツールNetTester あるいは私は如何にして心配するのを止めてネットワーク管理を・愛する・ようになったか物理ネットワーク受け入れテストツールNetTester あるいは私は如何にして心配するのを止めてネットワーク管理を・愛する・ようになったか
物理ネットワーク受け入れテストツールNetTester あるいは私は如何にして心配するのを止めてネットワーク管理を・愛する・ようになったか
Yasuhito Takamiya
 
Tremaプログラミング ウル技(テク) 大技林
Tremaプログラミング ウル技(テク) 大技林Tremaプログラミング ウル技(テク) 大技林
Tremaプログラミング ウル技(テク) 大技林
Yasuhito Takamiya
 
ニューTrema 5つのポイント
ニューTrema 5つのポイントニューTrema 5つのポイント
ニューTrema 5つのポイントYasuhito Takamiya
 
データで見るTrema
データで見るTremaデータで見るTrema
データで見るTrema
Yasuhito Takamiya
 
OpenFlow フレームワークの選びかた
OpenFlow フレームワークの選びかたOpenFlow フレームワークの選びかた
OpenFlow フレームワークの選びかたYasuhito Takamiya
 
SDN時代の開発よもやま話 - OpenFlowとTrema
SDN時代の開発よもやま話 - OpenFlowとTremaSDN時代の開発よもやま話 - OpenFlowとTrema
SDN時代の開発よもやま話 - OpenFlowとTrema
Yasuhito Takamiya
 
クラウドインターネットルータ
クラウドインターネットルータクラウドインターネットルータ
クラウドインターネットルータ
Yasuhito Takamiya
 
Trema コミッタになるには
Trema コミッタになるにはTrema コミッタになるには
Trema コミッタになるには
Yasuhito Takamiya
 
Bare Metal Cloud: 実マシンを提供するクラウドサービス (SWoPP 2010)
Bare Metal Cloud: 実マシンを提供するクラウドサービス (SWoPP 2010)Bare Metal Cloud: 実マシンを提供するクラウドサービス (SWoPP 2010)
Bare Metal Cloud: 実マシンを提供するクラウドサービス (SWoPP 2010)Yasuhito Takamiya
 

More from Yasuhito Takamiya (10)

アプリ屋 対 ネットワーク屋
アプリ屋 対 ネットワーク屋アプリ屋 対 ネットワーク屋
アプリ屋 対 ネットワーク屋
 
物理ネットワーク受け入れテストツールNetTester あるいは私は如何にして心配するのを止めてネットワーク管理を・愛する・ようになったか
物理ネットワーク受け入れテストツールNetTester あるいは私は如何にして心配するのを止めてネットワーク管理を・愛する・ようになったか物理ネットワーク受け入れテストツールNetTester あるいは私は如何にして心配するのを止めてネットワーク管理を・愛する・ようになったか
物理ネットワーク受け入れテストツールNetTester あるいは私は如何にして心配するのを止めてネットワーク管理を・愛する・ようになったか
 
Tremaプログラミング ウル技(テク) 大技林
Tremaプログラミング ウル技(テク) 大技林Tremaプログラミング ウル技(テク) 大技林
Tremaプログラミング ウル技(テク) 大技林
 
ニューTrema 5つのポイント
ニューTrema 5つのポイントニューTrema 5つのポイント
ニューTrema 5つのポイント
 
データで見るTrema
データで見るTremaデータで見るTrema
データで見るTrema
 
OpenFlow フレームワークの選びかた
OpenFlow フレームワークの選びかたOpenFlow フレームワークの選びかた
OpenFlow フレームワークの選びかた
 
SDN時代の開発よもやま話 - OpenFlowとTrema
SDN時代の開発よもやま話 - OpenFlowとTremaSDN時代の開発よもやま話 - OpenFlowとTrema
SDN時代の開発よもやま話 - OpenFlowとTrema
 
クラウドインターネットルータ
クラウドインターネットルータクラウドインターネットルータ
クラウドインターネットルータ
 
Trema コミッタになるには
Trema コミッタになるにはTrema コミッタになるには
Trema コミッタになるには
 
Bare Metal Cloud: 実マシンを提供するクラウドサービス (SWoPP 2010)
Bare Metal Cloud: 実マシンを提供するクラウドサービス (SWoPP 2010)Bare Metal Cloud: 実マシンを提供するクラウドサービス (SWoPP 2010)
Bare Metal Cloud: 実マシンを提供するクラウドサービス (SWoPP 2010)
 

Recently uploaded

【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
harmonylab
 
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
yassun7010
 
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
Fukuoka Institute of Technology
 
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdfFIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance
 
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
iPride Co., Ltd.
 
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
Toru Tamaki
 
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdfFIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance
 
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
NTT DATA Technology & Innovation
 
CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料
Yuuitirou528 default
 
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
Matsushita Laboratory
 
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdfFIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance
 
【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow
Sony - Neural Network Libraries
 
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdfFIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance
 
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
atsushi061452
 
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdfFIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
CRI Japan, Inc.
 

Recently uploaded (16)

【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
 
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
 
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
 
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdfFIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
 
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
 
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
 
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdfFIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
 
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
 
CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料
 
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
 
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdfFIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
 
【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow
 
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdfFIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdf
 
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
 
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdfFIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
 

Ruby でパケットパーサを作ろう