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
JS RPCを理解する
Search
Yusuke Wada
May 17, 2024
Programming
5
760
JS RPCを理解する
Cloudflare Meet-up Osaka #4
May 17, 2024. Yusuke Wada
Yusuke Wada
May 17, 2024
Tweet
Share
More Decks by Yusuke Wada
See All by Yusuke Wada
MCP with Cloudflare Workers
yusukebe
2
310
Remix on Hono on Cloudflare Workers
yusukebe
3
480
僕がつくった48個のWebサービス達
yusukebe
21
18k
Honoの来た道とこれから
yusukebe
20
4.9k
Honoとhtmx
yusukebe
6
1.8k
Cloudflare Workersの環境を再現することについて
yusukebe
7
1k
Hono v4
yusukebe
11
5.1k
Hono v3 and v4
yusukebe
4
4k
The power of Web-standards
yusukebe
4
1.8k
Other Decks in Programming
See All in Programming
自分ひとりから始められる生産性向上の取り組み #でぃーぷらすオオサカ
irof
1
150
毎日13時間もかかるバッチ処理をたった3日で60%短縮するためにやったこと
sho_ssk_
1
550
ISUCON14感想戦で85万点まで頑張ってみた
ponyo877
1
590
AWSのLambdaで PHPを動かす選択肢
rinchoku
2
390
chibiccをCILに移植した結果 (NGK2025S版)
kekyo
PRO
0
130
カンファレンス動画鑑賞会のススメ / Osaka.swift #1
hironytic
0
170
Amazon Nova Reelの可能性
hideg
0
200
サーバーゆる勉強会 DBMS の仕組み編
kj455
1
300
shadcn/uiを使ってReactでの開発を加速させよう!
lef237
0
300
Azure AI Foundryのご紹介
qt_luigi
1
210
선언형 UI에서의 상태관리
l2hyunwoo
0
270
テストコードのガイドライン 〜作成から運用まで〜
riku929hr
7
1.4k
Featured
See All Featured
Become a Pro
speakerdeck
PRO
26
5.1k
Producing Creativity
orderedlist
PRO
343
39k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
3
240
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
Site-Speed That Sticks
csswizardry
3
270
Facilitating Awesome Meetings
lara
51
6.2k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
59k
Six Lessons from altMBA
skipperchong
27
3.6k
A Tale of Four Properties
chriscoyier
157
23k
We Have a Design System, Now What?
morganepeng
51
7.3k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
33
2.7k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
Transcript
+431$Λཧղ͢Δ $MPVE fl BSF.FFUVQ0TBLB .BZ :VTVLF8BEB
ࣗݾհ w :VTVLF8BEB w 8FCGSBNFXPSLEFWFMPQFS w %FWFMPQFS"EWPDBUF!$MPVE fl BSF w
#PLFUFDPGPVOEFS w $SFBUPSPG)POP w IUUQTHJUIVCDPNZVTVLFCF IUUQTIPOPEFW
ࣗݾհΩʔϫʔυ
લஔ͖
None
ΞδΣϯμ લஔ͖ ·ͣ#JOEJOHTΛཧղ͢Δ 4FSWJDF#JOEJOHT +431$
ྫ 4NBSU1MBDFNFOUͱͷະདྷ ϚʔέοτϓϨΠεʁ
લஔ͖
͜ͷൃද$MPVEGMBSF8PSLFSTͷ৽ػೳ ʮ+431$ʯʹ͍ͭͯཧղ͢ΔͨΊͷͷͰ͢ ʢΘΓͱ֓೦తͳͰ͢ʣ
31$ͱʁ
31$ͱ w 3FNPUF1SPDFEVSF$BMM w ԕִʢϦϞʔτʣʹ͋ΔίϯϐϡʔλͷؔʢϓϩγʔδϟʣΛ࣮ߦʢίʔ ϧʣ͢Δख๏ w ྫ w H31$
w +40/31$ w 9.-31$
Α͏ʢ8PSLFSʣͷݺͼग़ ͠ํʹ͍ͭͯͷΛ͠·͢
,FOUPOࢯͷϒϩά w ݄%FWFMPQFS8FFLͰൃද͞Εͨͭͷϒϩάهࣄ w ʮ8IZ8PSLFSTFOWJSPONFOUWBSJBCMFTDPOUBJOMJWFPCKFDUTʯ w ʮ8FWFBEEFE+BWB4DSJQUOBUJWF31$UP$MPVE fl BSF8PSLFSTʯ w
"*ͷΞοϓσʔτ%ͷ("ʹӅΕͨςΫχΧϧͳهࣄ w ͜Ε͔Βհ͢Δ+431$Λཧղ͢Δ伴ͱͳΔ
IUUQTCMPHDMPVE fl BSFDPNXPSLFSTFOWJSPONFOUMJWFPCKFDUCJOEJOHT l8IZ8PSLFSTFOWJSPONFOUWBSJBCMFTDPOUBJOMJWFPCKFDUTz
IUUQTCMPHDMPVE fl BSFDPNKBWBTDSJQUOBUJWFSQD l8FWFBEEFE+BWB4DSJQUOBUJWF31$UP$MPVEGMBSF8PSLFSTz
͜Ε͔Β͢͜ͱ͜ͷϒ ϩάهࣄʹجͮ͘
·ͣ#JOEJOHTΛཧղ͢Δ
#JOEJOHTͱʁ w $MPVE fl BSFͷϓϩμΫτ8PSLFST͔Βͭͳ͙ͨΊͷ֓೦ͱखஈ w ྫ w "*ɺ"OBMZUJDT&OHJOFɺ#SPXTFS3FOEFSJOHɺ%ɺ &OWJSPONFOU7BSJBCMFTɺ)ZQFSESJWFɺ,7ɺ2VFVFTɺ3ɺ
3BUF-JNJUJOHɺ7FDUPSJ[F
֤छϓϩμΫτ
,7Λ͏߹ͷ࣮
FOW.:@,7 ,7ΦϒδΣΫτͦͷͷʹͳ͍ͬͯΔ ྫHFU QVU EFMFUF ͕͑Δ
ଞʹॻ͘͜ͱXSBOHMFSUPNMͷઃఆ͚ͩ ίʔυͰͲͷΑ͏ͳ໊લͰݺͼग़͔͢ʁ ࡞ͬͨ,7ͷ*%
͠ɺ#JOEJOHTΛΘͳ ͔ͬͨΒͲ͏ͳΔ͔ʁ
4%,ΛJNQPSU ڥม͔ΒΩʔΛऔಘ ֎෦"1*ଓ औಘͨ͠ΦϒδΣΫτͰૢ࡞
ͭͷ ηΩϡϦςΟΩʔͷཧɺΩʔͷॲཧΛॻ͔ͳ͍͚ͯ͘ͳ͍ ։ൃऀମݧ4%,ΛΘͳ͍ͱ͍͚ͳ͍ɺADPOOFDUAͷॲཧඞཁ
ͭΛղܾ͍ͯ͠Δͷ͕#JOEJOHTͰ͋Δ ೝূΩʔΛॻ͘ඞཁ͕ͳ͍ 4%,ͰΦϒδΣΫτΛ࡞Βͣ+4ͷϝιουͰݺΔ
4FSWJDF#JOEJOHTͱʁ
8PSLFS" 8PSLFS# ෦௨৴ͳͷͰ͍ $MPVE fl BSFωοτϫʔΫ 8PSLFS"͔Β#Λͭͳ͙
ެࣜͷਤ IUUQTEFWFMPQFSTDMPVE fl BSFDPNXPSLFSTSVOUJNFBQJTCJOEJOHTTFSWJDFCJOEJOHT
࣮ w ΠϯλʔφϧͳGFUDIΛ͔͚Δ
4FSWJDF#JOEJOHTͷϢʔεέʔε w ϑΝΠϧ༰ྔ੍ݶΛආ͚Δ w ͷׂ w ϚΠΫϩϑϩϯτΤϯυ IUUQTCMPHDMPVE fl BSFDPNCFUUFSNJDSPGSPOUFOET
8FCϖʔδΛύʔπʹ͚Δ
ͦΕͧΕͷύʔπΛ8PSLFSʹͯ͠4FSWJDF#JOEJOHTͰͭͳ͙
Α͍ɻ͕ɺ࣮ͦΜͳʹ ΘΕ͍ͯͳ͍ ͍উख͕ѱ͍ʜʁ
+431$
,FOUPOͷϒϩάهࣄͱڞʹެ։ IUUQTEFWFMPQFSTDMPVE fl BSFDPNXPSLFSTSVOUJNFBQJTSQD
+431$Λཧղ͢ΔͨΊͷͭͷΞϓϩʔν #JOEJOHT8PSLFSΛΧελϜ#JOEJOHTͱͯࣗ͠Ͱͭ͘ ΕΔ 4FSWJDF#JOEJOHT4FSWJDF#JOEJOHT͕؆୯ʹॻ͚Δ ͜ͷͭΛຬͨ͢ͷ͕+431$
8PSLFS" 8PSLFS# #JOEJOHͱͯ͠ݺͼग़ͤΔ 4FSWJDF#JOEJOHTͰܨ͍ͰΔ
ʮిʯͷ߹ #JOEJOHTʮిʯͱ͍͏#JOEJOHʢ8PSLFSͰ࣮͞Ε ΔʣΛ࡞ΕΔ 4FSWJDF#JOEJOHTʮిʯͱ͍͏8PSLFSΛ؆୯ʹݺͼ ग़ͤΔ
8PSLFS" ి #JOEJOHͱͯ͠ݺͼग़ͤΔ 4FSWJDF#JOEJOHTͰܨ͍ͰΔ DOW$"-$BEE SFUVSOB C
࣮ํ๏
ిͷ࣮ݺͼग़͠Մೳͳ8PSLFSΛ࡞Δ 8PSLFS&OUSZQPJOUΛFYUFOETͨ͠ΫϥεΛFYQPSU͢Δ͚ͩ
ݺͼग़ͯ͠ΈΑ͏
XSBOHMFSUPNMʹఆٛΛՃ͢Δ ίʔυͰͲͷΑ͏ͳ໊લͰݺͼग़͔͢ʁ ݺͼग़͢8PSLFSͷ໊લ
8PSLFS͔Βݺͼग़͢ ͜͜
ͭ·Γʜ $BMDͱ͍͏αʔϏεΛ$"-$ͱ͍͏#JOEJOHͱͯ͠ར༻͢Δ ݺͼग़͢8PSLFSͱ$BMDؒ4FSWJDF#JOEJOHTͰଓ͞ΕΔ ͞Βʹɺ+BWB4DSJQUωΠςΟϒͳݺͼग़͕͠Ͱ͖Δ ʮ+4/BUJWF31$ʯ
5ZQF4DSJQUͷܕ͕ͪΌΜͱͭ͘
+431$Λ͏ ͱخ͍͜͠ͱ
+431$ͩͱ#JOEJOHTͷͭΛڗडͰ͖Δ ηΩϡϦςΟͷߟྀݺͼग़͠ʹγʔΫϨοτ͕ඞཁͳ͍ ։ൃऀମݧ#JOEJOHͱͯ͠ಛʹ+454ωΠςΟϒʹݺΔ
ྫ
8FC #MPH #JOEJOHͱͯ͠ݺͼग़ͤΔ 4FSWJDF#JOEJOHTͰܨ͍ͰΔ DOW#-0(DSFBUF1PTU ECFYFDVUF A*/4&35*/501PTUTʜA ϒϩάαʔϏε w %#Λѻ͏αʔϏεͱͦΕΛݺͼग़͢6*
ίʔυྫ
4NBSU1MBDFNFOUͱͷະདྷ
࣮͜ͷ+431$ ͭͷϝϦοτʹՃ͑ͯ͏ͻͱͭΞπ͍ͷ͕ʜ
4NBSU1MBDFNFOU ͱҰॹʹ͏݅
4NBSU1MBDFNFOUͱʁ w ϢʔβʔଆΑΓόοΫΤϯυʢΦϦδϯʣʹ8PSLFS͕͍ۙ ํ͕ޮతͳ͜ͱ͕͋Δ w 8PSLFSͷॴΛΑ͠ͳʹͯ͘͠ΕΔ
͍ΘΏΔʮΤοδʯͷΑ͞ w Ϣʔβʔͱ8PSLFS͕͍ۙ Ϣʔβʔ 8PSLFS ͍ۙ
8PSLFS͕Ϣʔβʔʹ͍͚ۙͲσʔλϕʔε͔Βԕ͍ w σʔλϕʔεͱͷΓͱΓ͕ଟ͍߹ඇޮ
8PSLFSΛσʔλϕʔεͷۙ͘ʹஔ͜͏ w Ϣʔβʔ͔Βԕ͍͚ͲɺσʔλϕʔεͱͷΓͱΓ͕ଟ͍ ߹ޮత
ΤϯτϦʔϙΠϯτ͝ ͱʹϩέʔγϣϯ͕࠷ద Խ͞ΕΕخ͍͠
ϒϩάαʔϏεͷ߹5PLZPฤ w #MPH%#͕͍ؒ #MPH 8FC Ϣʔβʔ %# 5PLZP 5PLZP 5PLZP
-POEPO ͍ ͍ ͍
ϒϩάαʔϏεͷ߹-POEPOฤ w Ϣʔβʔ8FC͕͍ؒ #MPH 8FC Ϣʔβʔ %# 5PLZP -POEPO -POEPO
-POEPO ͍ ͍ ͍
ϒϩάαʔϏεͷ߹ཧ w %#͕Ϣʔβʔ͔Βԕ͍߹ɺ#MPH͚ͩ%#ʹ͍ۙͱྑ͍ #MPH 8FC Ϣʔβʔ %# 5PLZP 5PLZP -POEPO
-POEPO ͍͔ۙΒ͍ ෦͔ͩΒ͍ ͍͔ۙΒ͍
4FSWJDF#JOEJOHTͷྫ w ͏͢ͰʹରԠ͍ͯ͠Δ
ཧతͳॻ͖ํ "1"$ʹ͋Δ%#Λऔಘ͢Δ 4FSWJDF#JOEJOHͰଓ͞Εͨ#-0(Λݺͼग़͢
ϚʔέοτϓϨΠεʁ
#JOEJOHTϚʔέοτϓϨΠε͕Ͱ͖Δ͔ʁ w Ϣʔβʔ͕࡞ͬͨΧελϜ#JOEJOHT͕ྲྀ௨͢Δ w ݱࡏ࡞ͬͨΞΧϯτͰ͔͑͠ͳ͍ w ྫ w %JTDPSEϘοτ#JOEJOH w
4MBDLϘοτ#JOEJOH w 4USJQFܾࡁ#JOEJOH
͓͞Β͍
+431$Ͱخ͍͜͠ͱ w ηΩϡϦςΟͷߟྀ w ։ൃऀମݧͷ্ w 4NBSU1MBDFNFOUͱΈ߹ΘͤΒΕΔ w ϚʔέοτϓϨΠεͰເ͕͕Δ
༡ΜͰΈͯͩ͘ ͍͞
5IBOLT