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
Cloudflare Workersの環境を再現することについて
Search
Yusuke Wada
February 26, 2024
Programming
7
990
Cloudflare Workersの環境を再現することについて
Workers Tech Talks in Osaka #1
Feb 26, 2024. Yusuke Wada
Yusuke Wada
February 26, 2024
Tweet
Share
More Decks by Yusuke Wada
See All by Yusuke Wada
Remix on Hono on Cloudflare Workers
yusukebe
1
280
僕がつくった48個のWebサービス達
yusukebe
20
17k
Honoの来た道とこれから
yusukebe
19
3.2k
JS RPCを理解する
yusukebe
5
680
Honoとhtmx
yusukebe
6
1.8k
Hono v4
yusukebe
11
4.8k
Hono v3 and v4
yusukebe
4
3.8k
The power of Web-standards
yusukebe
4
1.7k
実践エッジユースケース
yusukebe
7
2.2k
Other Decks in Programming
See All in Programming
GitHub Actionsのキャッシュと手を挙げることの大切さとそれに必要なこと
satoshi256kbyte
5
430
ActiveSupport::Notifications supporting instrumentation of Rails apps with OpenTelemetry
ymtdzzz
1
230
OSSで起業してもうすぐ10年 / Open Source Conference 2024 Shimane
furukawayasuto
0
100
色々なIaCツールを実際に触って比較してみる
iriikeita
0
330
Jakarta Concurrencyによる並行処理プログラミングの始め方 (JJUG CCC 2024 Fall)
tnagao7
1
290
Nurturing OpenJDK distribution: Eclipse Temurin Success History and plan
ivargrimstad
0
870
CSC509 Lecture 11
javiergs
PRO
0
180
EventSourcingの理想と現実
wenas
6
2.3k
Generative AI Use Cases JP (略称:GenU)奮闘記
hideg
1
290
とにかくAWS GameDay!AWSは世界の共通言語! / Anyway, AWS GameDay! AWS is the world's lingua franca!
seike460
PRO
1
860
どうして僕の作ったクラスが手続き型と言われなきゃいけないんですか
akikogoto
1
120
C++でシェーダを書く
fadis
6
4.1k
Featured
See All Featured
VelocityConf: Rendering Performance Case Studies
addyosmani
325
24k
Done Done
chrislema
181
16k
Rebuilding a faster, lazier Slack
samanthasiow
79
8.7k
Teambox: Starting and Learning
jrom
133
8.8k
Code Review Best Practice
trishagee
64
17k
Scaling GitHub
holman
458
140k
What's new in Ruby 2.0
geeforr
343
31k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
250
21k
Building Your Own Lightsaber
phodgson
103
6.1k
Navigating Team Friction
lara
183
14k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
A better future with KSS
kneath
238
17k
Transcript
$MPVE fl BSF8PSLFSTͷڥΛ ࠶ݱ͢Δ͜ͱʹ͍ͭͯ 8PSLFST5FDI5BMLTJO0TBLB 'FC :VTVLF8BEB
ࣗݾհ w :VTVLF8BEB w 8FCGSBNFXPSLEFWFMPQFS w %FWFMPQFS"EWPDBUF!$MPVE fl BSF w
#PLFUFDPGPVOEFS w $SFBUPSPG)POP w IUUQTHJUIVCDPNZVTVLFCF
)POPͱʁ w ͲΜͳ+BWB4DSJQUͷϥϯλΠϜͰಈ͘8FCϑϨʔϜϫʔΫ w 'BTU -JHIUXFJHIU 8FCTUBOEBSET w 8PSLTPOʜ w
$MPVE fl BSF8PSLFST1BHFT w %FOP w #VO w /PEFKT w 'BTUMZ$PNQVUF w "84-BNCEB w 7FSDFM w 0UIFST IUUQTIPOPEFW
ࠓ͢͜ͱ w ʮ$MPVE fl BSF8PSLFSTͷڥΛ࠶ݱ͢Δ͜ͱʹ͍ͭͯʯ w Ұൠ։ൃऀ͕ҙࣝ͠ͳ͍͍ͯ͘͜ͱΛؚΈ·͢ w 8SBOHMFS͕উखʹͬͯདྷΔ͜ͱ w
ϑϨʔϜϫʔΫ࡞ऀ͕ߟ͑Ε͍͍͜ͱ w )POPͰͲ͏͍ͯ͠Δ͔ʁ
લఏ8PSLFSTͱ1BHFT w 8PSLFSTͱ1BHFTҰॹʹͳ͍͖ͬͯ·͢ w 1BHFTͰμΠφϛοΫͳ͜ͱΛѻ͏Α͏ʹͳ͖ͬͯͨ w 8PSLFST4JUFT͕EFQSFDBUFEʹͳͬͨ w ʮ8PSLFSTʯͱ͍͏ͷʮ1BHFTؚΉʯ߹͕͋Γ·͢
ڥΛ࠶ݱ͢ΔͱͲ͏خ͍͔͠ w ຊ൪ڥΛ࠶ݱͰ͖ΔˠϩʔΧϧͰ։ൃ͍͢͠ʂςετ͕Ͱ͖Δʂ w ͦͦڥ͕ͳ͍ͱ։ൃͰ͖ͳ͍ˠ։ൃͰ͖Δʂ w ຊ൪ڥͱҧ͏ϩʔΧϧ༻ͷڥ༻ҙͰ͖Δ͔͠Εͳ͍ˠσʔλΛΘ ͚Δ͜ͱ͕Ͱ͖Δʂ
$MPVEGMBSFͷڥͱʁ w ϥϯλΠϜ w ❌/PEFKTɺ/PEFKTͷ"1*Ͱಈ͔ͳ͍ͷ͕͋Δ w ͭ·ΓXPSLFSE w FWBMOFX'VODUJPO͕Ͱ͖ͳ͍ w
#JOEJOHT w ADUYAXBJU6OUJMQBTT5ISPVHI0O&YDFQUJPO w 3FRVFTUDGϓϩύςΟ w 63-1BUUFSOɺDBDIFTͳͲ/PEFKTʹͳ͍"1*
&YQPSUFE)BOEMFSͷܕͰ$MPVEGMBSFಛ༗ͷΦϒδΣΫτ͕Θ͔Δ
SFRVFTU 3FRVFTUVOLOPXO *ODPNJOH3FRVFTU$G1SPQFSUJFTVOLOPXO $MPVE fl BSFಠࣗͷ3FRVFTUΦϒδΣΫτͷϓϩύςΟ
FOWVOLOPXO #JOEJOHT͕ೖͬͯ͘Δ (FOFSJDTͰॻ͍͓ͯ͘ͱศར
DUY&YFDVUJPO$POUFYU XBJU6OUJMϨεϙϯεͷॲཧʹ͔͔ΘΒ࣮ͣߦ͞ΕΔ QBTT5ISPVHI0O&YDFQUJPOΤϥʔ͕ىͬͯ͜ΦϦδϯʹϦΫΤετ͕͍͘
ͭ·Γʜ w ڥΛ࠶ݱ͢Δʹ w GFUDIϋϯυϥʹೖͬͯ͘ΔʮͭʯΛ࠶ݱ͢Δ w SFRVFTUFOWDUY w ϥϯλΠϜͷ"1*Λ$MPVE fl
BSFͷʹ͢Δ w ͭ·ΓXPSLFSE
8SBOHMFSҎ֎Ͱ࠶ݱ͍ͨ͠ w ֤ϑϨʔϜϫʔΫͷ։ൃαʔόʔ w /FYUKT3FNJY4WFMUF,JU"TUSP)POPʜ w ςετ w 7JUFTU+FTUʜ
ݱࡏͷࢼΈ w GFUDIϋϯυϥʹೖͬͯ͘ΔʮͭʯΛ࠶ݱ͢Δ w 8SBOHMFSͷAHFU1MBUGPSN1SPYZA"1* /FX w ϥϯλΠϜͷ"1*Λ$MPVE fl
BSFͷʹ͢Δ w 7JUFͷ3VOUJNF"1* /FX ࠓɺܹΞπ
3FNJYͷ$MPVEGMBSFରԠ ͷWϦϦʔεͰ$MPVE fl BSF1BHFTαϙʔτ͕ൃද͞Εͨ
ͭͷϓϩύςΟ͕औΕΔʂ
આ໌ʹΑΔͱ w $MPVE fl BSFͷXPSLFSE7JUFͷ/PEFKTͱશʹΓ͞Ε͍ͯͨ w 3FNJYϓϥάΠϯͰ$MPVE fl BSF1BHFTαϙʔτΛ͢Δ w
8SBOHMFSͷ/PEFKTͱXPSLFSEΛϓϩΩγ͢Δػೳ HFU1MBUGPSN1SPYZ Λ ͏ w ݱࡏ$MPVE fl BSFνʔϜͱ࿈ܞͯ͠࠷ߴͷମݧΛ3FNJYϢʔβʔʹಧ͚Δ ྗΛ͍ͯ͠Δ w ͍ۙকདྷɺ7JUFͷ৽͍͠ ࣮ݧతͳ 3VOUJNF"1*ΛͬͯΑΓγʔϜϨεʹ౷ ߹ͤ͞Δ͜ͱΛߟ͍͑ͯΔ
HFU1MBUGPSN1SPYZ w ͷXSBOHMFS!ͰHFU#JOEJOHT1SPYZ͔ΒϦωʔϜ͞Εͨ w /PEFKT্Ͱ$MPVE fl BSFͷڥΛΤϛϡϨʔτ͢ΔͨΊʹXPSLFSEΛϓϩΩγ ͢Δ w ࣮ࡍʹ҉తʹXPSLFSFE্ཱ͕͕ͪΔ
w XSBOHMFSUPNMΛಡΜͰ͘ΕΔˡͨͩ͠ຊ൪ͷ1BHFTͰμογϡϘʔυΛ ͏ w ϑϨʔϜϫʔΫͷ։ൃαʔόʔͱςετతͰ͏
͜ͷίʔυ࣮ࡍʹಈ͘
)POPͰͷ׆༻ w )POPͰ1BHFT)POP9ͷ߹7JUFΛ։ൃαʔόʔʹ͏͜ͱΛਪ w !IPOPWJUFEFWTFSWFS w ಠࣗͷ։ൃαʔόʔΛఏڙ͢Δ7JUFϓϥάΠϯ w !IPOPOPEFTFSWFSΛ͍ͬͯΔ w
ͦΕʹ͢લͰHFU1MBUGPSN1SPYZ͔Βऔಘͨ͠FOWΛ͍͍ͤ
BEBQUFSΦϓγϣϯͰͰ͖ΔΑ͏ʹͳͬͨ
👍
7JUFͷ3VOUJNF"1* w ʹग़ͨWͰ࣮ݧతʹಋೖ͞Εͨ w 7JUFʹ/PEFKTҎ֎ͷϥϯλΠϜΛ࣋ͬͯ͜ΕΔ৽͍͠"1* w WͰ"1*͕มΘΔՄೳੑ͕͋ΔͷͰ͍᪳ͯ͠Δ͕͍͍ͨ w 3VOUJNFΛ࡞ΔʹͦͷϥϯλΠϜͷFWBM͕ඞཁ w
.JOJ fl BSFXPSLFSFEͩͱ໘ͳͷͰͲ͏ʹ͔͍ͨ͠ w ͜͜ʹ།ҰͷྫˠIUUQTHJUIVCDPNTBQQIJSFEWJUFFOWT
.JOJGMBSFͷ7JUFTUڥ͕ग़ͯΔ ·͍͖ͩΕͯͳ͍ͷͰͦͷ͏ͪ
·ͱΊ w $MPVE fl BSFͷڥΛ࠶ݱ͢Δ͜ͱʹ͍ͭͯ w $MPVE fl BSFಛ༗ͷͭͷϓϩύςΟͱϥϯλΠϜ͕͑Ε͍͍ w
8SBOHMFSͷHFU1MBUGPSN1SPYZͱ7JUFͷ3VOUJNF"1*͕ܹΞπ w ςετͰ͖ΔΑ͏ʹͳ͍ͬͯΔ w $MPVE fl BSFνʔϜɺ7JUFνʔϜɺ֤ϑϨʔϜϫʔΫ͕ؤு͍ͬͯΔʂ
͓ΘΓ