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からTSへ移行した Vue.jsプロダクトの型チェックを 漸進的に強化する/ reinfo...
Search
ryo
October 16, 2022
Programming
0
3.3k
JSからTSへ移行した Vue.jsプロダクトの型チェックを 漸進的に強化する/ reinforcing the type
Vue Fes Japan 2022
ryo
October 16, 2022
Tweet
Share
More Decks by ryo
See All by ryo
Raycast AI APIを使ってちょっと便利な拡張機能を作ってみた / created-a-handy-extension-using-the-raycast-ai-api
kawamataryo
0
320
ts-morphのパフォーマンス改善Tips
kawamataryo
0
28
webpack to Rspack
kawamataryo
0
36
GitHub Actions と Datadog でコードベースの定点観測
kawamataryo
7
1.9k
個人開発駆動学習 / personal development driven learning
kawamataryo
1
200
GitHub Trending Bot, Sky Follower Bridge の紹介
kawamataryo
0
380
[Minecraft × ChatGPT] マイクラで作りたいものを伝えると魔法のように作ってくれるコマンドを作る
kawamataryo
0
2.3k
Resumable な JavaScript フレームワーク Qwik を学ぶ / qwik-resumable
kawamataryo
0
3.4k
Webで動画解析 〜Google Meetの挙手とリアルの挙手を連動させるChrome拡張作った話〜 / sync-raise-hand
kawamataryo
0
230
Other Decks in Programming
See All in Programming
Django for Data Science (Boston Python Meetup, March 2025)
wsvincent
0
240
Node.js, Deno, Bun 最新動向とその所感について
yosuke_furukawa
PRO
6
3k
‘무차별 LGTM~👍’만 외치던 우리가 ‘고봉밥 코드 리뷰’를?
hannah0731
0
530
AtCoder Heuristic First-step Vol.1 講義スライド(山登り法・焼きなまし法編)
takumi152
3
990
ローコードサービスの進化のためのモノレポ移行
taro28
1
340
Devin入門と最近のアップデートから見るDevinの進化 / Introduction to Devin and the Evolution of Devin as Seen in Recent Update
rkaga
7
3.8k
エンジニア未経験が最短で戦力になるためのTips
gokana
0
220
ミリしらMCP勉強会
watany
3
430
データベースエンジニアの仕事を楽にする。PgAssistantの紹介
nnaka2992
9
4.3k
Kubernetesで実現できるPlatform Engineering の現在地
nwiizo
2
1.7k
Compose Navigation実装の見通しを良くする
hiroaki404
0
180
RubyKaigiで手に入れた HHKB Studioのための HIDRawドライバ
iberianpig
0
1k
Featured
See All Featured
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
7.1k
Raft: Consensus for Rubyists
vanstee
137
6.9k
A designer walks into a library…
pauljervisheath
205
24k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
49k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
227
22k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
Building Your Own Lightsaber
phodgson
104
6.3k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
The Cost Of JavaScript in 2023
addyosmani
48
7.6k
The Pragmatic Product Professional
lauravandoore
33
6.5k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.8k
How to Ace a Technical Interview
jacobian
276
23k
Transcript
+4͔Β54Ҡߦͨ͠ 7VFKTϓϩμΫτͷܕνΣοΫΛ ਐతʹڧԽ͢Δ 7VF'FT+BQBO
!,BXBNBUB3ZP 👨💻&OHJOFFS!-"13"4JOD 🔥ݩফ࢜ ❤5ZQF4DSJQU 7VF %FOP 3FBDU 🏄ݒਨ ݸਓ։ൃ
ࠓ͢͜ͱ💬
w 7VFKTͷ54ରԠͷྺ࢙ w 54Խ͕ෆશͳ7VFKTϓϩμΫτͷ ܕνΣοΫΛͲͷΑ͏ʹڧԽ͍ͯͬͨ͠ͷ͔
7VFKTͷ54ରԠͷྺ࢙
7VFKT54ରԠͷྺ࢙
7VFKTͷϩʔϯν &WBO:PVࢯʹΑͬͯ 7VFKT͕ެ։
7VF54ͷొ ܕఆٛϑΝΠϧͷఏڙͱɺ 7VFKTͷ"1*Λϥοϓͯ͠ 54͔Β͑ΔΑ͏ʹͨ͠ϓϩδΣΫτ ͕ੜ
7VFKTͷ54ରԠͷ*TTVF 7VFKTຊମͷ54Խɺ54ରԠʹ͍ͭͯͷ แׅతͳ*TTVF͕ߘ͞Εͨɻ ۙ͘ίϝϯτ͕ଓ͖ɺ 7VFKTͷϦϦʔε࣌ʹΫϩʔζ
7VF$MBTT$PNQPOFOUͷੜ 54ͷΫϥεελΠϧͱɺ σίϨʔλΛ͍7VFίϯϙʔωϯτΛ هड़Ͱ͖Δ7VF$MBTT$PNQPOFOU͕ ੜ
54ڥͷେ෯վળ 7VFͷϦϦʔεʹͯ σίϨʔλͳ͠ͷૉͷ7VFͰ UIJTͷܕਪ͕ޮ͘Α͏ʹ
$PNQPTJUJPO"1*ͷϦϦʔε 7VFͷ3'$ΑΓެ։ɻ 7VFFYUFOEͰඞཁͩͬͨ ܕΞϊςʔγϣϯ͕ෆཁͰ ΑΓ54͕ॻ͖͘͢
7VFͷϦϦʔε ෦ϩδοΫ54Ͱॻ͖͑ ΑΓܕ҆શͳ"1*ఏڙ
7VFKTͷ54ରԠͦͷଞͷτϐοΫ🐙 ɾ 5FNQMBUFͰͷܕਪ ➜WVFUTDͰͷܕνΣοΫɺ7PMBSͰͷΤσΟλαϙʔτ ɾ5FNQMBUFͰͷ0QUJPOBM$IBJOJH OVMMJTIDPMFTDSJOH ➜7VFͰαϙʔτ ɾ 4UPSFʢ7VFYʣͷܕαϙʔτ ➜7VFYͰͷରԠɺܕ҆શͳ1JOJB
7VFKTͷ54ରԠͦͷଞͷτϐοΫ🐙 ɾ 5FNQMBUFͰͷܕਪ ➜WVFUTDͰͷܕνΣοΫɺ7PMBSͰͷΤσΟλαϙʔτ ɾ5FNQMBUFͰͷ0QUJPOBM$IBJOJH OVMMJTIDPMFTDSJOH ➜7VFͰαϙʔτ ɾ 4UPSFʢ7VFYʣͷܕαϙʔτ ➜7VFYͰͷରԠɺܕ҆શͳ1JOJB
7VFKTͷ54ରԠͦͷଞͷτϐοΫ🐙 ɾ 5FNQMBUFͰͷܕਪ ➜WVFUTDͰͷܕνΣοΫɺ7PMBSͰͷΤσΟλαϙʔτ ɾ5FNQMBUFͰͷ0QUJPOBM$IBJOJH OVMMJTIDPMFTDSJOH ➜7VFͰαϙʔτ ɾ 4UPSFʢ7VFYʣͷܕαϙʔτ ➜7VFYͰͷରԠɺܕ҆શͳ1JOJB
7VFKTͷ54ରԠͦͷଞͷτϐοΫ🐙 ɾ 5FNQMBUFͰͷܕਪ ➜WVFUTDͰͷܕνΣοΫɺ7PMBSͰͷΤσΟλαϙʔτ ɾ5FNQMBUFͰͷ0QUJPOBM$IBJOJH OVMMJTIDPMFTDSJOH ➜7VFͰαϙʔτ ɾ 4UPSFʢ7VFYʣͷܕαϙʔτ ➜7VFYͰͷରԠɺܕ҆શͳ1JOJB
ࠓ͏7VFKTͷ54ରԠॆ࣮͍ͯ͠Δ
54Խ͕ෆશͳ7VFKTϓϩμΫτͷ ܕνΣοΫΛڧԽ͢Δ
ͲΜͳϓϩμΫτʁ📦
ߏ%KBOHPʷ7VFKTʢܥʣ ॳظίϛοτɿ 54ಋೖ࣌ظɿ ؔ࿈ϑΝΠϧɿ7VFKT4'$ 54˞ ˞ͭͷϓϩμΫτͷ߹ܭ
54Խ͕ෆશͱʁ🤔
w AMBOHlUTzAͱ͍ͯ͠ͳ͍7VF4'$ϑΝΠϧ͕ଟ͋Δ w ATUSJDUUSVFAͰͳ͘؇͍ܕνΣοΫͱͳ͍ͬͯΔ w $*ͰܕνΣοΫ͕࣮ߦ͞Ε͍ͯͳ͍ w ܕΤϥʔ͕์ஔ͞ΕҰ෦ϑΝΠϧͰΤσΟλ͕ਅͬ w TUSJDUUSVFͱ͢ΔͱܕΤϥʔ૯ʢ
ʣ
˞&SSPS-FOTΛ͍ͬͯΔͷͰ&SSPS͕ڧௐ͞Εͯ·͢ ˞͜͜·Ͱ͍ͷۃʑҰ෦Ͱ͢ ࣌ͷΤσΟλ
ͳͥܕνΣοΫΛڧԽ͍ͨ͠ͷʁ🛡
ɾ ࣮ߦ࣌Τϥʔͷճආ ɾ ܕਪɾΦʔτίϯϓϦʔτʹΑΔ։ൃମݧͷ্ ɾ อकੑͷ্ʢػೳվमɺϦϑΝΫλͰͷσάϨճආʣ ɾ 7VFόʔδϣϯΞοϓͷੴ ɾ ਅͬͳΤσΟλΛͳΜͱ͔͍ͨ͠
ϓϩδΣΫτ֓ཁ🔧
ϓϩδΣΫτ໊ɿਅͷ5ZQF4DSJQUԽ Ϧιʔεɿ໊ Ћ ظؒɿ݄ʙݱࡏ ॳظ!ZVJDILVOͦͷޙ!.BTB4IJO ʹ͢͢ΊͯΒ͍ɺࣗํܾఆɾαϙʔτͷΈ
ͲͷΑ͏ʹਐΊͨʁ🛣
%FTJHO%PDͷ࡞
ͳͥɺԿͷͨΊʹɺͲͷΑ͏ʹ։ൃΛ͢͢ΊΔ͔Λه ͨ͠υΩϡϝϯτɻ എܠɺઃܭɺτϨʔυΦϑɺϦεΫͳͲʹ͍ͭͯ· ͱΊ্ͨͰɺϝϯόʔؒͰϨϏϡʔ͢Δɻ %FTJHO%PDͱʁ
ɾ ඞཁͳ͚Εແཧʹ$PNQPTJUJPO"1*ʢTFUVQʣʹॻ͖͞ͳ͍ ɾ 54➜7VFKT4'$4DSJQU෦➜UFNQMBUF෦ͷॱͰॱ࣍ܕΤ ϥʔΛमਖ਼͢Δ ɾ ৽نʹܕΤϥʔ͕ࠞೖ͢ΔͷΛ͙ͨΊɺ·ͣ$*ͰͷܕνΣοΫ Λಋೖ͢Δ ࣮ࡍʹఆΊ੍ͨ
54ԽͷδϨϯϚΛղফ͢Δ
$*ͰܕνΣοΫΛ࣮ߦͯ͠ɺ ৽نίʔυʹܕΤϥʔ͕ ࠞೖ͢Δ͜ͱ͍͗ͨ طଘͷίʔυʹܕΤϥʔ͕ଟ ͗ͯ͢ɺڧ͍ܕνΣοΫͷઃ ఆͰ$*Λ௨͢͜ͱ͕Ͱ͖ͳ͍ 74 54ԽͷδϨϯϚ😵💫
طଘͷܕΤϥʔશͯʹ!UTFYQFDUFSSPSΛ͚ͭͯ ܕΤϥʔΛճආ্ͨ͠Ͱɺ$*ʹܕνΣοΫΛՃ͢Δ ˞ !UTFYQFDUFSSPS࣍ߦͷܕΤϥʔΛ੍͢Δίϝϯτɻ࣍͠ߦʹ ܕΤϥʔ͕ͳ͘ͳͬͨ߹ɺ!UTFYQFDUFSSPSࣗମ͕ΤϥʔʹͳΔ ղফํ๏💊
ͰΤϥʔ͕͋Γ͗ͯ͢େม🥲
πʔϧΛ࡞Ζ͏🦾
5ZQF4DSJQU$PNQJMFS"1*Λ͍ 54ͷܕΤϥʔൃੜՕॴʹɺ !UTFYQFDUFSSPSͷίϝϯτΛҰׅૠೖ ܕΤϥʔΛແޮԽ͢Δ$-*πʔϧɻ 7VFKT4'$ͷTDSJQU෦ʹରԠ LBXBNBUBSZP TVQQSFTTUTFSSPST
54 549ͳͲจ຺ΛΈͯదͳίϝϯτ͕ૠೖ͞ΕΔ
TVQQSFTTUTFSSPSΛ࣮ߦͨ͠13 54Λ➜ʹΞοϓσʔτ ͞ΒʹTUSJDUUSVFʹ্ͨ͠Ͱɺ !UTFYQFDUFSSPSΛՃ
ˏUTFYQFDUFSSPSΛॱ࣍͢
54ԽͷδϨϯϚΛղফ͠ɺ $*ͰܕνΣοΫΛ௨͢͜ͱ͕ग़དྷͨͷͰɺ ৽نίʔυʹܕΤϥʔ͕ࠞೖ͢Δ͜ͱ͛Δ طଘͷܕΤϥʔΛ͢͜ͱʹूதͰ͖Δ
54ͷΤϥʔछผ͝ͱʹɺ ͻͨ͢ΒܕΤϥʔΛղফ͍ͯ͘͠
ˏUTFYQFDUFSSPSͷՃ $*ͷܕνΣοΫڧԽ !UTFYQFDUFSSPSͷॱ࣍আ 54ϑΝΠϧɺ7VFKT4'$ͷ4DSJQU෦ͷॱͰ ࣮ߦ͍ͯ͘͠ɻ
ͦͷଞϙΠϯτ💡
੩తΞηοτͷࠩൺֱͰϨϏϡʔෛՙΛܰݮ
(JU)VC"DUJPOTͰ13͝ͱʹ੩తΞηοτͷ Ϗϧυ݁ՌΛ.BTUFSϒϥϯνͱൺֱɻ Ϗϧυ݁Ռʹࠩग़ͳ͍ ➜ϓϩμΫτͷಈ࡞ʹมԽͳ͍ͳͷͰɺ EJ ff ͕ଟͯ҆͘৺ײΛ࣋ͬͯϚʔδग़དྷΔ ˞7VFKT4'$ͷ߹ɺܕͷมߋͷΈͰ͕ࠩ ग़ͨͷͰɺ͋͘·Ͱ54ϑΝΠϧݶఆ
ϦϑΝΫλπʔϧͷར༻ɾ։ൃͰޮԽ
NJZBPLB WVFDPNQPTJUJPODPOWFSUFS 0QUJPOT"1*Λ$PNQPTJUJPO"1*ʹ ࣗಈม͢Δπʔϧɻ 4FUVQʹॻ͖͑ͳ͚ΕɺΒͳ͍ܕΤϥʔΛ ࣋ͭίϯϙʔωϯτͷมͰར༻
7VFFYUFOEͨͩͷPCKFDUΛ͍ͬͯΔMBOHlUTzͷ 7VFKT4'$ϑΝΠϧΛɺEF fi OF$PNQPOFOU ʜ ʹม͢Δ πʔϧɻ 7PMBS͕7VFFYUFOEͰదͳܕਪΛͯ͘͠Εͳ͍ Λղܾ͢ΔͨΊʹେ׆༂ɻ .BTB4IJO
EF fi OFDPNQPOFOUDPOWFSUFS
7VFKT4'$ͷTDSJQU෦ͷΈΛܕνΣοΫ͢Δ$-*πʔϧɻ 5FNQMBUF෦ͷܕΤϥʔ͕ଟ͗ͯ͢WVFUTDΛ$*Ͱ࣮ߦ͢ Δ͜ͱग़དྷͳ͍͕ɺTVQQSFTTUTFSSPSTͰ!UTFYQFDU FSSPSΛ༩Ͱ͖ΔTDSJQU෦ͷΈܕνΣοΫ͍ͨ͠ͱ͍ ͏ࢥ͍͔Β։ൃɻ LBXBNBUBSZP WVFTDSJQUUZQFDIFDL
ෛ࠴ղফμογϡϘʔυͰਐḿঢ়گΛՄࢹԽ
(JU)VC"DUJPOTͱ[Yɺ%BUBEPHΛͬͯɺ ࡞ͬͨϑϩϯτΤϯυͷίʔυϕʔεͷঢ়گ ΛՄࢹԽ͢ΔμογϡϘʔυ 7VF4'$ͷ54Խ 54&SSPSͷʢUTFYFDUFSSPSΛؚΉʣ ΧόϨοδ ͳͲͳͲΛ࣌Ͱܭଌ͍ͯ͠Δɻ ˞μϛʔͰ͢
݁Ռ🏍
🔴#FGPSF 🟢"GUFS 5ZQF4DSJQUͷόʔδϣϯ ܥ ܥ $*ͰͷܕνΣοΫ 54ͷΈ 54 7VF4'$˞ 4USJDU
'"-4& 536& ܕΤϥʔ UFNQMBUF෦ Ҏ֎΄΅ͳ͠˞
·ͱΊ🏁
ɾ ࠓͷ7VFKTͰ5ZQF4DSJQUͷԸܙΛॆड͚ΒΕΔ ɾ 54ԽΛॱ࣍͢͢ΊΔʹ!UTFYQFDUFSSPS͕͓͢͢Ίɹ ʢTVQQSFTTUTFSSPSTͬͯͶʣ ɾ ෛ࠴ղফϓϩδΣΫτ࣍ୈͰޮԽ͕Մೳ 7VFڥͰͷ7PMPSͷରԠͳͲͰҰ෦ϋϚΔͱ͜Ζ͋ͬͨ ͕ɺܕΤϥʔղফࣗମ٧·Δͱ͜Ζ͋·Γͳ͍ɻ πʔϧ͕͋Δ͜ͱͰ։ൃޮVQʹܨ͕ͬͨɻ
&OE