Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Perl の HTTP/2 事情 / HTTP2 in Perl
Search
zoncoen
December 09, 2015
Programming
500
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Perl の HTTP/2 事情 / HTTP2 in Perl
Gotanda.pm #4
http://gotanda-pm.connpass.com/event/11993/
の発表資料です
zoncoen
December 09, 2015
More Decks by zoncoen
See All by zoncoen
About Merpay Engineering Productivity Team
zoncoen
0
1.9k
Perl でも React.js の server-side rendering がしたい! / perl meets javascript with reactjs
zoncoen
0
2.2k
YAPC::Asia 2014
zoncoen
0
2.7k
同期的にプレゼンテーションするツールをつくった話
zoncoen
1
1k
Gunosy.go #4 ~ flag.go ~ #gunosygo
zoncoen
0
250
Gunosy.go #3 ~ expvar.go ~ #gunosygo
zoncoen
1
770
初心者がGoでpercol実装してみた話 / Golang + Reveal.js + Websocket で同期的にプレゼンテーションしたい #hikarie_go
zoncoen
0
2.6k
Other Decks in Programming
See All in Programming
技術記事、 専門家としてのプログラマ、 言語化
mizchi
14
7.4k
そのテスト、説明できますか?~LWテスト戦略FW~のご紹介
nakahara
0
200
【やさしく解説 設計編・中級 #1】一つの車に、運転手は一人 ~ある倉庫システムの事例から~
panda728
PRO
0
130
ローカルLLMでどこまでコードが書けるか -縮小版 / How much code can be written on a local LLM Shortened
kishida
2
180
Hatena Engineer Seminar #37「言語モデルの活用に関する研究」
slashnephy
0
500
例外の正しい扱い方 そのエラー try-catchして大丈夫?
jinwatanabe
0
360
Skillsは効率化、Agentsは"自分の拡張"——Builder時代のエージェント編成(CC Night 2026)
wemra
1
200
地域 SRE コミュニティ最前線 - ホンマでっかSRE勉強会
tk3fftk
0
220
自作OSでスライド発表する
uyuki234
1
3.7k
フィードバックで育てるAI開発
kotaminato
1
110
【やさしく解説 設計編 #1】「ドメイン駆動」と「実装駆動」ってなに? 〜設計の考え方を、たとえ話で学ぼう〜
panda728
PRO
1
100
エンジニアと一緒にテストコードの設計と実装を改善した話
mototakatsu
0
260
Featured
See All Featured
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
260
Paper Plane
katiecoart
PRO
2
52k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2k
Odyssey Design
rkendrick25
PRO
2
730
Technical Leadership for Architectural Decision Making
baasie
3
440
Docker and Python
trallard
47
3.9k
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
170
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
320
Marketing to machines
jonoalderson
1
5.6k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
1
3.7k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
63
55k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
Transcript
Perl ͷ HTTP/2 ࣄ Kenta Mori (@zoncoen)
HTTP/2 • HTTP/2 Approved | IETF Blog • ͏͙͢ RFC
͕ൃߦ͞ΕΔ • ͢Ͱʹ30Ҏ্ͷ࣮͕͋Δ • Implementations · http2/http2-spec Wiki
HTTP/2 for Perl • http2-perl • draft-04 • Protocol::HTTP2 •
draft-17
Protocol::HTTP2 # Prepare http/2 request $client->request( ':scheme' => "http", ':authority'
=> $host . ":" . $port, ':path' => "/hello", ':method' => "GET", headers => [ 'accept' => '*/*', 'user-agent' => 'perl-Protocol-HTTP2/0.01', ], on_done => sub { my ( $headers, $data ) = @_; printf "Get headers. Count: %i\n", scalar(@$headers) / 2; printf "Get data. Length: %i\n", length($data); print $data; }, ); • Connect AnyEvent ͰΰχϣΰχϣΔ
Protocol::HTTP2 • request -> request ͰฒྻϦΫΤετ $client->request( ':scheme' => "http",
':authority' => $host . ":" . $port, ':path' => "/minil.toml", ':method' => "GET", headers => [ 'accept' => '*/*', 'user-agent' => 'perl-Protocol-HTTP2/0.01', ], on_done => sub { my ( $headers, $data ) = @_; printf "Get headers. Count: %i\n", scalar(@$headers) / 2; printf "Get data. Length: %i\n", length($data); print $data; }, )->request( … );
Demo with nghttp2
ॴײ • ҰԠಈ͘ • ༏ઌ੍ޚͱ͔͕·ͩඍົͬΆ͍ • HPACK ͷ࣮͕… • Perl
ͰඇಉظϓϩάϥϛϯάͭΒͦ͏
༨ஊ • 2/26 ʹ gRPC ͕ެ։͞Εͨ • RPC on HTTP/2
• ֤ݴޠ༻ͷϥΠϒϥϦެ։
None
None
None