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
Claude Code で Astro blog を Pages から Workers へ移行...
Search
Kei Kamikawa
July 18, 2025
Programming
330
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Claude Code で Astro blog を Pages から Workers へ移行してみた
https://workers-tech.connpass.com/event/359726/
でしゃべりました
Kei Kamikawa
July 18, 2025
More Decks by Kei Kamikawa
See All by Kei Kamikawa
オレを救った Cline を紹介する
codehex
17
18k
どこでも使える Cloudflare Workers!
codehex
6
1.4k
htmx is fun!
codehex
3
450
すぐ使える Cloudflare Workers!
codehex
15
3.9k
Go to Cloudflare Workers
codehex
8
2.5k
AI Gateway 使っているよ!
codehex
2
2.2k
日時処理の新スタンダード: Synchro によるタイムゾーン安全、楽々開発
codehex
1
2.8k
Cloudflare Workers は楽しい!
codehex
9
3.5k
gRPC Client on Cloudflare Workers
codehex
2
7.4k
Other Decks in Programming
See All in Programming
Hono + Inertia + React で LP を構築した話
oukayuka
2
200
週末にAI-DLCを本気で回したら$1,600溶けた
hbashimizu
0
120
バグを直したら useEffect が消えた
colorful12
3
800
XHTMLが残したもの
yosuke_furukawa
PRO
1
350
30年振りにコンパイラの定数整数除算を改善した
herumi
9
4.4k
KotlinConf Extended South Korea 2026 Keynote
l2hyunwoo
0
130
Can LLMs Replicate 4 Years of Compose Migration? Exploring the boundaries of automation with 279 XML files from a real product
makun
0
120
不幸な GC
chencmd
0
860
Claude Code全社展開のためにやったことn選~プラグイン302個・コミッター271人を支えるために~
kenchan
5
1.8k
【DroidKaigi 2026】「アクセシビリティを利用するとき、 アクセシビリティもまたこちらを利用している」 〜マルウェアによる攻撃と防衛について〜
halunoyo
0
180
AI駆動開発にグラフDBを重ねてみた
satoshi256kbyte
2
640
Claude Codeを組織的に動かして月400PRを実現した話
happy_ryo
0
240
Featured
See All Featured
The Language of Interfaces
destraynor
162
27k
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
590
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
550
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
700
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
4.6k
We Have a Design System, Now What?
morganepeng
55
8.3k
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
3k
The World Runs on Bad Software
bkeepers
PRO
72
12k
Being A Developer After 40
akosma
91
590k
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.6k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
Optimizing for Happiness
mojombo
378
71k
Transcript
$MBVEF$PEFͰ "TUSPCMPHΛ1BHFT͔Β 8PSLFSTҠߦͯ͠Έͨ 8PSLFST5FDI5BMLTJO,ZPUP
8)0".* +645461&326*$,
!DPEFIFY !$PEF)FY w ԭೄ͔Βདྷ·ͨ͠ w 0LJOBXBQNΛӡӦ͍ͯ͠·ͨ͠ w /05")05&-ͰεϚʔτϗʔϜΛ ։ൃ͍ͯ͠·͢
None
ੈքதʹ͋ͳͨͷՈΛ NOT A HOTELɺΞʔτ×αΠΤϯεͰਓʑͷΒ͠Λେ͖͘ม͍͑ͯ͘ελʔτΞοϓͰ͢ɻ ಛผͳϩέʔγϣϯʹɺಛผͳΫϦΤΠλʔ͕σβΠϯͨ͠ՈΛɺ ͜Ε·ͰΑΓ؆୯͔ͭศརʹॴ༗͢ΔࣄΛՄೳʹ͠·͢ɻ NOT A HOTEL͕ࢦ͢ͷɺੈքதʹՈΛڞಉॴ༗͠ɺͯ͢ͷਓʑʹ๛͔ͳਓੜΛఏڙ͢Δ͜ͱɻ ݁Ռͱͯ͠ੈքΛͬͱָ͘͠ɺΑΓྑ͍ͯ͘͘͜͠ͱΛVISIONʹܝ͍͛ͯ·͢ɻ
Concept
ѹతͳݐஙσβΠϯͱϏδωεϞσϧʹΑͬͯ ͭ͘ΒΕΔϓϩμΫτ 99.20% 91.0% 801໊ 421ԯԁ ྦྷܭ૯ܖߴ Φʔφʔ ॓ധຬ ։ۀલച
ۀʙ20252݄Ἤͷ࣮ αʔϏε֓ཁ
None
IUUQTQFBUJYDPNFWFOU
8IZ1BHFT8PSLFST $MPVE fl BSF8PSLFST'JSTU
ͦͦ$MPVE fl BSF1BHFTҰͩͬͨ
ͳͥ1BHFTͩͬͨʁ w ੩తಈతαΠτͷϗεςΟϯά w 1SFWJFX1SPEVDUJPO63-ͷੜ w (JU)VCΠϯςάϨʔγϣϯ $*$% w
ϑϧελοΫΞϓϦέʔγϣϯͷ։ൃɾӡ༻
ҰํͰʜ w ϑϨʔϜϫʔΫͷ։ൃڥͷະఏڙ w 8PSLFSTͰ͑Δ͕1BHFTͰͰ͖ͳ͍͜ͱ w $SPO5SJHHFS σϓϩΠڥͷ૿ݮ w %VSBCMF0CKFDUT2VFVFͷ੍
w /PEFKTޓͷ੍
None
શ͕ͯ8PSLFST w 4UBUJD"TTFUTͷαϙʔτ w ओཁϑϨʔϜϫʔΫΛຊ൪ରԠͰαϙʔτ w 3FNJY 3FBDU3PVUFSW ɺ"TUSPɺ)POPɺ7VFɺ /VYUɺ4WFMUF,JU͕("
w ։ൃڥΛָʹ͢Δ7JUF1MVHJOͷఏڙ w ඇຊ൪ϒϥϯν༻ϓϨϏϡʔ63-Λࣗಈੜ w $*$%
IUUQTCMPHDMPVE fl BSFDPNGVMMTUBDLEFWFMPQNFOUPODMPVE fl BSFXPSLFST l$MPVE fl BSF1BHFTҾ͖ଓ͖αϙʔτ͠·͢ ͕ɺࠓޙͷࢿɺ࠷దԽɺػೳ։ൃͷ࡞ۀ͢ ͯ8PSLFSTͷվળʹ͚ΒΕ·͢ɻz
ϒϩάհ ࣮ࡍʹҠߦ͢ΔϓϩδΣΫτ
IUUQTCMPHDPEFIFYEFW
w IUUQTHJUIVCDPNTBUOBJOHBTUSPQBQFSΛϕʔε ͱͨ͠ɺͪΐͬͱվ44(ϒϩά w "TUSP W w 5BJMXJOE$44 w
;FOO.BSLEPXO w $MPVE fl BSF1BHFTͰϗεςΟϯά ࠾༻ͯ͠Δٕज़
w IUUQTHJUIVCDPNTBUOBJOHBTUSPQBQFSΛϕʔεͱ ͨ͠ɺͪΐͬͱվ44(ϒϩά w "TUSP W ɹɹɹɹɹɹɹɹɹɹɹɹVQEBUF ͓·͚ w
5BJMXJOE$44 w ;FOO.BSLEPXO w $MPVE fl BSF8PSLFSTͰϗεςΟϯάVQEBUF ࠾༻ͯ͠Δٕज़
$MBVEF$PEFґཔઓུ ίʔσΟϯάΤʔδΣϯτґཔ͍ͯ͘͠લʹ
w $POUFYU w ࠷৽ͷόʔδϣϯʹରԠͨ͠υΩϡϝϯτίʔυྫΛιʔε͔ Βऔಘ͠ɺͦΕΒΛ͋ͳͨͷϓϩϯϓτʹදࣔ͢Δ w $MPVE fl BSF%PDVNFOUBUJPO.$14FSWFS w
ެࣜυΩϡϝϯτ͔ϕΫτϧ%#ʹอଘ͞ΕͯΔ .$14FSWFS
͋·ΓΒΕͯͳ͍5JQT
w 7FSUFY"*Λ༻ w "/5)301*
[email protected]
%&-bDMBVEFTPOOFU! w "/5)301*$@4."--@'"
[email protected]
%&-DMBVEF IBJLV! .PEFM
$MBVEF$PEFୗ͢ λεΫΛґཔ͍ͯ͘͠ࣄྫ
DMBVEFJOJU w JOJUDMBVEFͷίϚϯυ w JOJUͰશମѲઌʹ͢Δ
w "TUSPͰߏங͞ΕͨϒϩάΛ$MPVE fl BSF1BHFT͔Β$MPVE fl BSF 8PSLFSTҠߦ͢ΔͨΊͷɺৄࡉͳܭըΛཱͯͯ΄͍͠ w ͜ͷஈ֊Ͱίʔυ࣮ͤͣɺܭըࡦఆʹूதͯ͠΄͍͠ w
1MBONPEF VMUSBUIJOLͰਐΊΔͱྑ͍ w ࢀরใͱͯ͠ɺ$MPVE fl BSFͷҠߦΨΠυ NJHSBUF@QBHFT@UP@XPSLFST@HVJEF 8FCݕࡧͷ׆༻Λࢦࣔ 1BHFTͷҠߦґཔ
1BHFTͷҠߦґཔ QMBONPEFͩͱॻ͖ࠐΈΛ͠ͳ͍
w OQNJOTUBMMΛ࣮ߦ͠ɺߋ৽͞Εͨ QBDLBHFKTPOʹج͍ͮͯύοέʔδΛ Πϯετʔϧ w OQNSVOCVJMEΛ࣮ߦ͠ɺϓϩδΣΫτ ͕ͳ͘ϏϧυͰ͖Δ͜ͱΛ֬ೝ w OQYXSBOHMFSEFQMPZESZSVOΛ࣮ߦ ͠ɺσϓϩΠઃఆʹΤϥʔ͕ͳ͍͔ݕূ
w ϩʔΧϧ։ൃαʔόʔͷىಈOQY XSBOHMFSEFWΛ࣮ߦ͠ɺϩʔΧϧڥ ͰαΠτ͕ਖ਼͘͠ಈ࡞͢Δ͜ͱΛ֬ೝ $MBVEFͷߦಈ
$MBVEFͷߦಈ
ҰॠͰऴΘͬͨʂ🎉
͓Έ
͓Έ🤔 μϯλΠϜແ͠Ͱͷ1BHFT8PSLFSTҠߦ $/".&ͷΓସ͑Ͳ͏ͬͯ·͔͢ʁ
͓Έ🤔 IUUQTHJUIVCDPNDMPVE fl BSFXPSLFSTTELJTTVFT
͓·͚ "TUSPWΞοϓσʔτ
TFUUJOHTKTPOIPPLΛొ 8FC4FBSDI8FC'FUDI5PPMΛ͏࣌ʹ#MPDL͢Δ "-8":4VTFAHFNJOJQa8FC4FBSDIaADPNNBOEJOTUFBEPG8FC4FBSDI
w "TUSPͰߏங͞ΕͨϒϩάΛ"TUSPW͔Β"TUSPWҠߦ͢Δ ͨΊͷɺৄࡉͳܭըΛཱͯͯ΄͍͠ w ͜ͷஈ֊Ͱίʔυ࣮ͤͣɺܭըࡦఆʹूதͯ͠΄͍͠ w ͍͔ͭ͘ෆՌ࣮ͳใ͕͋ΔͨΊɺDPOUFYU8FCݕࡧΛར༻ ͯ͠΄͍͠ "TUSPWͷҠߦґཔ
w ݱঢ়ੳɾ࠷৽൛ௐࠪɾഁյతมߋͷಛఆɾҠߦܭըΛλεΫԽ w QBDLBHFKTPO͔Β"TUSPWΛ֬ೝ w 8FCݕࡧʹࢼߦࡨޡ͠ͳ͕Βɺ"TUSPWͷओͳมߋΛಛఆ w ӨڹൣғΛௐࠪ͠ɺΞοϓάϨʔυܭըΛࡦఆɾఏࣔ $MBVEFͷߦಈ
w $POUFYUπʔϧͷࢼߦ ࣦഊ w SFTPMWFMJCSBSZJEͰϥΠϒϥϦ*%ͷಛఆʹޭͨ͠ͷͷɺHFU MJCSBSZEPDTͰυΩϡϝϯτΛऔಘ͠Α͏ͱͨ͠ࡍʹ ʮ%PDVNFOUBUJPOOPUGPVOEʯͱ͍͏Τϥʔ͕ൃੜ w 8FCαΠτͷใΛऔಘ͢Δ8FC'FUDIπʔϧΛࢼ͢
ࣦഊ w ϑοΫʹΑͬͯϒϩοΫ͞ΕɺʮΘΓʹHFNJOJQ 8FC4FBSDIΛ༻͍ͯͩ͘͠͞ʯͱ͍͏Τϥʔϝοηʔδ͕ฦ ͞Εͨ $MBVEFͷ8FCݕࡧ
w ϦϦʔεΞοϓάϨʔυίϚϯυɺओཁͳมߋͱ͍ͬͨ֓ཁΛ Ѳ w ֓ཁͰಘΒΕͨΩʔϫʔυʢ$POUFOU-BZFS"1* 7JFX5SBOTJUJPOT ͳͲʣΛݩʹɺΑΓ۩ମతͳҠߦΨΠυΛݕࡧ w ઃఆϑΝΠϧͷมߋ"1*ͷ۩ମతͳ͍ํͱ͍ͬͨɺٕज़తͳৄࡉ ʹযΛͯͯใΛऩू
$MBVEFͷHFNJOJ8FCݕࡧ
$MBVEFͷߦಈ
$MBVEFͷߦಈ
'JO