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
1.1k
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
AI時代のUIはどこへ行く?
yusukebe
18
9k
速いWebフレームワークを作る
yusukebe
5
1.7k
Honoアップデート 2025年夏
yusukebe
1
930
パスタの技術
yusukebe
1
590
AI Ramen Fight
yusukebe
0
160
TypeScriptでDXを上げろ! Hono編
yusukebe
4
1k
Honoをフロントエンドで使う 3つのやり方
yusukebe
8
4.9k
Honoのおもしろいミドルウェアをみてみよう
yusukebe
2
420
MCP with Cloudflare Workers
yusukebe
2
430
Other Decks in Programming
See All in Programming
今だからこそ入門する Server-Sent Events (SSE)
nearme_tech
PRO
3
240
Improving my own Ruby thereafter
sisshiki1969
1
160
RDoc meets YARD
okuramasafumi
4
170
250830 IaCの選定~AWS SAMのLambdaをECSに乗り換えたときの備忘録~
east_takumi
0
400
Flutter with Dart MCP: All You Need - 박제창 2025 I/O Extended Busan
itsmedreamwalker
0
150
Azure SRE Agentで運用は楽になるのか?
kkamegawa
0
2.4k
そのAPI、誰のため? Androidライブラリ設計における利用者目線の実践テクニック
mkeeda
2
1.3k
ProxyによるWindow間RPC機構の構築
syumai
3
1.2k
@Environment(\.keyPath)那么好我不允许你们不知道! / atEnvironment keyPath is so good and you should know it!
lovee
0
120
時間軸から考えるTerraformを使う理由と留意点
fufuhu
16
4.8k
Deep Dive into Kotlin Flow
jmatsu
1
350
Processing Gem ベースの、2D レトロゲームエンジンの開発
tokujiros
2
130
Featured
See All Featured
Become a Pro
speakerdeck
PRO
29
5.5k
Fireside Chat
paigeccino
39
3.6k
How to Think Like a Performance Engineer
csswizardry
26
1.9k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
188
55k
Git: the NoSQL Database
bkeepers
PRO
431
66k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.9k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
Six Lessons from altMBA
skipperchong
28
4k
Optimizing for Happiness
mojombo
379
70k
Done Done
chrislema
185
16k
Optimising Largest Contentful Paint
csswizardry
37
3.4k
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νʔϜɺ֤ϑϨʔϜϫʔΫ͕ؤு͍ͬͯΔʂ
͓ΘΓ