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
tRPCを実務に導入して分かった旨味と苦味
Search
Keigo Ebihara
May 11, 2024
5
2.1k
tRPCを実務に導入して分かった旨味と苦味
TSKaigi 2024 14:40~ トラック2
Keigo Ebihara
May 11, 2024
Tweet
Share
More Decks by Keigo Ebihara
See All by Keigo Ebihara
バリデーションライブラリをフォームバリデーション以外で活用する
misoton665
0
860
しんどくならないモジュール分割
misoton665
1
1.7k
Animated APIを使ってスクロールで隠れる“あのバー”を作る
misoton665
0
360
Featured
See All Featured
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
29
4.6k
Site-Speed That Sticks
csswizardry
3
340
Music & Morning Musume
bryan
46
6.3k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.7k
Visualization
eitanlees
146
15k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
49
2.2k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.1k
Bootstrapping a Software Product
garrettdimon
PRO
305
110k
Art, The Web, and Tiny UX
lynnandtonic
298
20k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
4
390
Understanding Cognitive Biases in Performance Measurement
bluesmoon
27
1.5k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
7.1k
Transcript
U31$Λ࣮ʹಋೖ͔ͯͬͨ͠ ࢫຯͱۤຯ 54,BJHJ ւݪܓޗ
w ւݪܓޗ 9!NJTPUPO w גࣜձࣾθετ8FCΞϓϦέʔγϣϯΤϯδχΞ w 5ZQF4DSJQU &MN (P
4DBMB ࣗݾհ
ΞδΣϯμ w U31$ͱ w U31$ͷΈ͔Βੜ·ΕΔࢫຯɾۤຯ w %BUB5SBOTGPSNFS w "EBQUFS w
ฐࣾͰͷ׆༻๏͔Βੜ·ΕΔࢫຯɾۤຯ w αʔόʔΞϓϦέʔγϣϯͷߏ w ϦϙδτϦͷߏ
U31$ͱ w 5ZQF4DSJQUͰUZQFTBGFʹ31$Λ։ൃ͢ΔͨΊͷϥΠϒϥϦ w 1SPDFEVSFͷJOQVUPVUQVUͷܕΛίʔυੜͳ͠ͰΫϥΠΞϯτʹڞ༗ w ݱࡏɺWCFUB͕ެ։தʢεϥΠυதͷίʔυWʣ IUUQTUSQDJP
ܕʹؔͯ͠(SBQI2-ͱൺֱ 4FSWFS"QQ $MJFOU"QQ (SBQI2-4DIFNB (SBQI2-4FSWFS (SBQI2-$MJFOU 4FSWFS"QQ $MJFOU"QQ "QQ3PVUFSUZQF
(SBQI2- U31$ ίʔυੜ ίʔυੜ ܕಋग़ ࢀর ࢀর ࢀর
ɹɹɹɹɹɹɹɹɹɹɹαϯϓϧίʔυ 4FSWFS $MJFOU
ܕʹؔͯ͠(SBQI2-ͱൺֱ w (SBQI2-4DIFNBΛத৺ʹ4FSWFS $MJFOUͦΕͧΕʹ͚ͯίʔυੜ w ίʔυ্ɺ$MJFOU͕4FSWFSʹґଘ͠ͳ͍ w 4FSWFS"QQ͔Β$MJFOUڞ༗༻ͷܕΛੜ w $MJFOU͕4FSWFSͷܕʹґଘ͍ͯ͠Δ
(SBQI2- U31$
ΞδΣϯμ w U31$ͱ w U31$ͷΈ͔Βੜ·ΕΔࢫຯɾۤຯ w %BUB5SBOTGPSNFS w "EBQUFS w
ฐࣾͰͷ׆༻๏͔Βੜ·ΕΔࢫຯɾۤຯ w αʔόʔΞϓϦέʔγϣϯͷߏ w ϦϙδτϦͷߏ
ɹɹɹɹɹɹɹɹɹɹɹαϯϓϧίʔυ 4FSWFS $MJFOU
%BUB5SBOTGPSNFS w 1SPDFEVSFʹର͢ΔJOQVUPVUQVUͷTFSJBMJ[FEFTFSJBMJ[FΛߦ͏ w σϑΥϧτ+40/TUSJOHJGZ+40/QBSTF 1SPDFEVSF %BUB5SBOTGPSNFS +40/ %BUB5SBOTGPSNFS
$BMMFS )551 +40/
%BUB5SBOTGPSNFS w %BUB5SBOTGPSNFSΛมߋՄೳ w TVQFSKTPOͳͲΛ༻ͯ͠+40/ʹϝλใΛ༩
%BUB5SBOTGPSNFS w ϝλใΛݩʹ1MBJOͰͳ͍ΦϒδΣΫτ෮ݩ͕Մೳ 1SPDFEVSF TVQFSKTPO +40/ ϝλใ TVQFSKTPO $BMMFS
)551 +40/ ϝλใ
%BUB5SBOTGPSNFSࢫຯ w 1SPDFEVSFͷJOQVUPVUQVUʹ༻Ͱ͖Δܕ͔Ͳ͏͔%BUB5SBOTGPSNFS ͷදݱྗͰܾ·Δ w %BUB5SBOTGPSNFS͕࣮Ͱ͖ΕͲΜͳܕͰ༻Ͱ͖Δ w #SBOEFE5ZQFɺ%JTDSJNJOBUFEVOJPOɺ4USJOHMJUFSBMͳͲɺ͕୯७ʹ TFSJBMJ[FՄೳͳܕ࿑ྗͳ͘༻Ͱ͖Δ
%BUB5SBOTGPSNFSۤຯ w ຊདྷͷσʔλྔʹϝλใͷσʔλ͕૿͑Δ w ͷʹΑΔ͕ɺ͍͍ͩͨશମαΠζͷ͕ϝλใʹͳΔ w ύϑΥʔϚϯεʹӨڹ͕ग़Δ߹͕͋Δ w ରࡦͱͯ͠ɺPVUQVUͷTFSJBMJ[F EFTFSJBMJ[FαΠζॏࢹͰ࣮͢Δ
w JOQVUσʔλྔ͕େ͖͘ͳΓͮΒ͍ͷͰɺσόοάͷ͢͠͞ͱͷόϥϯε
%BUB5SBOTGPSNFSۤຯ w ܕΨʔυؔͱಉ͡Ͱɺ%BUB5SBOTGPSNFS͕ӕΛ͘ͱܕͱ͕ζϨΔ w ܕݕࠪͰ͙͜ͱ͕Ͱ͖ͳ͍ͨΊɺ65Λॻ͘ͳͲ͕ରࡦʹͳΔ
"EBQUFS w ίΞύοέʔδ୯ମͰαʔόʔΞϓϦέʔγϣϯͷػೳఏڙ͍ͯ͠ͳ͍ w "EBQUFSύοέʔδΛ͍ɺ&YQSFTT 'BTUJGZ /FYUKTͳͲͷ্ʹͤΔ w ;&45Ͱ'BTUJGZΛ͍ͬͯ·͢ w
U31$ఏڙͷύοέʔδͷΈͰͷىಈͰ͖Δ 4UBOEBMPOF"EBQUFS
"EBQUFSࢫຯ w αʔόʔΞϓϦέʔγϣϯͱಠཱ͍ͯ͠ΔͷͰʮҰ෦͚ͩU31$ʹஔ͖͑ͯ ΈΔʯͱ͍͏͍ํ͕Ͱ͖Δɻ w U31$ʹແ͍ػೳΛͱͳΔαʔόʔΞϓϦέʔγϣϯͷػೳͰิ͑Δ w ϑΥʔϜσʔλ w ϑΝΠϧμϯϩʔυͳͲ
"EBQUFSۤຯ w ࢲݟU31$+40/Λͬͨ31$͕த৺ͷϥΠϒϥϦͰ͋Δ w ϑΥʔϜσʔλΛѻ͏ϓϥάΠϯ͋Δ͕·ͩFYQFSJNFOUBM w %BUB5SBOTGPSNFSϧʔτʹ͍ۙͱ͜ΖͰઃఆ͢ΔͨΊɺଟ༷ͳ$POUFOU5ZQFʹରԠͰ ͖Δߏʹͳ͍ͬͯͳ͍ w ʮͰ͖Δ͚ͩU31$ʹدͤΔʯͱ͍͏ΑΓʮU31$͕ಘҙͳ͜ͱΛΒͤΔʯ
w ʹͨ͠αʔόʔΞϓϦέʔγϣϯͱU31$ͷ྆ྠͰ։ൃ͢Δํ͕ݱ࣮త
ΞδΣϯμ w U31$ͱ w U31$ͷΈ͔Βੜ·ΕΔࢫຯɾۤຯ w %BUB5SBOTGPSNFS w "EBQUFS w
ฐࣾͰͷ׆༻๏͔Βੜ·ΕΔࢫຯɾۤຯ w αʔόʔΞϓϦέʔγϣϯͷߏ w ϦϙδτϦͷߏ
ͳͥU31$Λ࠾༻ͨ͠ͷ͔ʁ w αʔόʔαΠυͱϑϩϯτΤϯυΛԣஅͰ͖Δ৫Λࢦ͍ͯ͠Δ w ։ൃ༰ʹԠͯ͡ϦιʔεΛ࠷దԽ͘͢͢͠ΔͨΊ w αʔόʔͱϑϩϯτͲͪΒ5ZQF4DSJQUΛ࠾༻ɻٕज़తʹ৺ཧతʹԣ அ͘͢͢͠Δͷ͕ૂ͍ w ݴޠ͕ܾ·͍ͬͯΔ͜ͱͷڧΈΛ׆͔ͨ͢ΊʹU31$Λ࠾༻
αʔόʔΞϓϦέʔγϣϯͷߏ 1SPDFEVSF <U31$> 6TFDBTF .PEFM <;PE> %"0 <1SJTNB> w
*OQVUUZQF w 0VUQVUUZQF w SVO
0VUQVUͷܕઃܭ 0VUQVU.PEFMͷܕΛՃͯ͠ఆٛɻ[QJDL [NFSHFͳͲΛ͏Πϝʔδ
.PEFMΛڞ༗͍ͨ͠ʁˠ/P w ࢲݟαʔόʔαΠυઢͰఆ͍ٛͨ͠.PEFMͱΫϥΠΞϯτઢͰఆٛͨ͠ ͍.PEFMҰக͠ͳ͍ w ࠷ۙͷϑϩϯτΤϯυ։ൃதԝूݖతͳঢ়ଶཧ͔Βɺίϯϙʔωϯτ͕ ࣗͰϦΫΤετΛୟ͘ߏʹγϑτ͍ͯ͠Δ w ͜ͷߏͱ૬ੑ͕ѱ͍
w γϯϓϧʹɺΫϥΠΞϯτʹڞ༗͢ΔܕͷΫΦϦςΟΛ্͛Δత
αʔόʔΞϓϦέʔγϣϯͷߏࢫຯ w U31$ͷಛͰ͋Δܕͷڞ༗ͷԸܙΛड͚͍͢ߏ w 0VUQVUUZQFͰ࡞ΓࠐΜͩܕ͕ڞ༗͞ΕΔ w ແବʹײ͍͢͡ͷ٧Ίସ͑࡞ۀͷΑ͏ͳίʔυ͕ى͖ͮΒ͍
αʔόʔΞϓϦέʔγϣϯͷߏۤຯ w αʔόʔαΠυͰͷܕͷෳࡶ͕͞ΫϥΠΞϯταΠυʹൖ͞ΕΔ w ਅ໘ʹ.PEFMΛఆٛ͢Δͱඞવతʹσʔλߏ͕ෳࡶʹͳ͍ͬͯ͘ w ;PEͰෳࡶͳσʔλߏΛఆٛ͢ΔͨΊʹΛڽΒ͢ˠੜ͞ΕΔܕ͕ ΑΓෳࡶʹɻ݁Ռ*%&͕ॏ͘ͳͬͨΓ w
ͦͷ.PEFMΛݩʹ࡞ͬͨ0VUQVU͕ΫϥΠΞϯτʹΔ w ࠜຊతͳղܾํ๏·ͩݟ͔ͭΒͣɻࣝऀͷํڭ͍͑ͯͩ͘͞
ϦϙδτϦͷߏ w U31$αʔόʔͷύοέʔδΛΫϥΠΞϯτ͔ΒࢀরͰ͖Δඞཁ͕͋Δ w ϞϊϨϙʹͯ͠ZBSOXPSLTQBDFͰཧ w ϨϙδτϦΛ͚ΔબࢶɻύοέʔδͷόʔδϣϯཧΛ͢Δͱܕ͕ ڞ༗͞ΕΔλΠϛϯά͕όʔδϣϯ୯Ґʹͳͬͯ͠·͏ w U31$ͷࢫຯΛຯΘ͏ͨΊɺϦΞϧλΠϜʹڞ༗͞ΕΔϞϊϨϙʹͨ͠
ϦϙδτϦͷߏࢫຯ w αʔόʔͷఆٛΛม͑ΔͱͦͷͰΫϥΠΞϯτଆͰܕΤϥʔ͕ग़Δ w ͜Ε͕U31$ʹͨ͜͠ͱʹΑΔҰ൪ͷࢫຯ w ٕज़ྖҬΛԣஅͯ҆͠৺ͯ͠มߋΛߦ͑ΔҰͭͷॿ͚ʹͳ͍ͬͯΔ
ϦϙδτϦͷߏۤຯ w ϞϊϨϙʹͨ͜͠ͱʹΑΓɺXPSLTQBDFপʹϋϚΓ͍͢ w ݱঢ়ZBSOXPSLTQBDFΛ͍ͬͯΔ͕ɺ׆༻͖͠Ε͍ͯͳ͍ w ͨͩɺU31$ʹൺΕݟͨ͘͞Μ͋Δɻղܾൺֱత͍͢͠ɻ
·ͱΊ w ࢫຯɾۤຯ w %BUB5SBOTGPSNFS w "EBQUFS w αʔόʔΞϓϦέʔγϣϯͷߏ w
ϦϙδτϦߏ w ·ͩݟ͕গͳ͍ϥΠϒϥϦͳͷͰɺݚڀͷ༨͕ͨ͘͞Μ͋Δ w 'VMM5ZQF4DSJQUͰͷ։ൃΛࢧ͑Δཁૉͱͯ͠ʹཱ͍ͬͯΔ
8FBSFIJSJOH 'VMM5ZQF4DSJQUɺαʔόʔϑϩϯτԣஅ৫ʹڵຯ͕͋Δํੋඇ
None