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
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
Honoをフロントエンドで使う 3つのやり方
yusukebe
7
3.4k
Honoのおもしろいミドルウェアをみてみよう
yusukebe
1
210
MCP with Cloudflare Workers
yusukebe
2
330
Remix on Hono on Cloudflare Workers
yusukebe
3
540
僕がつくった48個のWebサービス達
yusukebe
21
18k
Honoの来た道とこれから
yusukebe
20
5.1k
JS RPCを理解する
yusukebe
5
780
Honoとhtmx
yusukebe
6
1.9k
Hono v4
yusukebe
11
5.2k
Other Decks in Programming
See All in Programming
クリーンアーキテクチャから見る依存の向きの大切さ
shimabox
3
630
How mixi2 Uses TiDB for SNS Scalability and Performance
kanmo
38
15k
お前もAI鬼にならないか?👹Bolt & Cursor & Supabase & Vercelで人間をやめるぞ、ジョジョー!👺
taishiyade
7
4.1k
Introduction to kotlinx.rpc
arawn
0
710
Djangoアプリケーション 運用のリアル 〜問題発生から可視化、最適化への道〜 #pyconshizu
kashewnuts
1
250
Linux && Docker 研修/Linux && Docker training
forrep
24
4.5k
ソフトウェアエンジニアの成長
masuda220
PRO
12
1.9k
PHPカンファレンス名古屋2025 タスク分解の試行錯誤〜レビュー負荷を下げるために〜
soichi
1
300
『品質』という言葉が嫌いな理由
korimu
0
160
ARA Ansible for the teams
kksat
0
150
Grafana Cloudとソラカメ
devoc
0
180
PHPのバージョンアップ時にも役立ったAST
matsuo_atsushi
0
130
Featured
See All Featured
Bootstrapping a Software Product
garrettdimon
PRO
306
110k
Fashionably flexible responsive web design (full day workshop)
malarkey
406
66k
Reflections from 52 weeks, 52 projects
jeffersonlam
348
20k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
160
15k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.4k
Writing Fast Ruby
sferik
628
61k
YesSQL, Process and Tooling at Scale
rocio
172
14k
Designing for Performance
lara
604
68k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
114
50k
Java REST API Framework Comparison - PWX 2021
mraible
28
8.4k
A Philosophy of Restraint
colly
203
16k
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νʔϜɺ֤ϑϨʔϜϫʔΫ͕ؤு͍ͬͯΔʂ
͓ΘΓ