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
890
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
Honoアップデート 2025年夏
yusukebe
1
790
パスタの技術
yusukebe
1
390
AI Ramen Fight
yusukebe
0
140
TypeScriptでDXを上げろ! Hono編
yusukebe
4
980
Honoをフロントエンドで使う 3つのやり方
yusukebe
8
4.8k
Honoのおもしろいミドルウェアをみてみよう
yusukebe
2
380
MCP with Cloudflare Workers
yusukebe
2
410
Remix on Hono on Cloudflare Workers
yusukebe
3
750
僕がつくった48個のWebサービス達
yusukebe
22
18k
Other Decks in Programming
See All in Programming
【第4回】関東Kaggler会「Kaggleは執筆に役立つ」
mipypf
0
620
AI時代のドメイン駆動設計-DDD実践におけるAI活用のあり方 / ddd-in-ai-era
minodriven
21
8.4k
UbieのAIパートナーを支えるコンテキストエンジニアリング実践
syucream
2
580
物語を動かす行動"量" #エンジニアニメ
konifar
14
5.3k
フロントエンドのmonorepo化と責務分離のリアーキテクト
kajitack
2
120
Amazon Q CLI開発で学んだAIコーディングツールの使い方
licux
3
190
AI OCR API on Lambdaを Datadogで可視化してみた
nealle
0
120
Claude Code と OpenAI o3 で メタデータ情報を作る
laket
0
130
サイトを作ったらNFCタグキーホルダーを爆速で作れ!
yuukis
0
390
管你要 trace 什麼、bpftrace 用下去就對了 — COSCUP 2025
shunghsiyu
0
430
生成AI、実際どう? - ニーリーの場合
nealle
0
140
学習を成果に繋げるための個人開発の考え方 〜 「学習のための個人開発」のすすめ / personal project for leaning
panda_program
1
100
Featured
See All Featured
Practical Orchestrator
shlominoach
190
11k
Facilitating Awesome Meetings
lara
55
6.5k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
183
54k
What's in a price? How to price your products and services
michaelherold
246
12k
Designing for Performance
lara
610
69k
How GitHub (no longer) Works
holman
314
140k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.4k
Intergalactic Javascript Robots from Outer Space
tanoku
272
27k
Statistics for Hackers
jakevdp
799
220k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
The Art of Programming - Codeland 2020
erikaheidi
54
13k
We Have a Design System, Now What?
morganepeng
53
7.7k
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