Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
JSからTSへ移行した Vue.jsプロダクトの型チェックを 漸進的に強化する/ reinfo...
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
ryo
October 16, 2022
Programming
3.6k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
JSからTSへ移行した Vue.jsプロダクトの型チェックを 漸進的に強化する/ reinforcing the type
Vue Fes Japan 2022
ryo
October 16, 2022
More Decks by ryo
See All by ryo
Bridging Social Graphs
kawamataryo
0
390
Raycast AI APIを使ってちょっと便利なAI拡張機能を作ってみた
kawamataryo
1
610
退屈なことはDevinにやらせよう〜〜Devin APIを使ったVisual Regression Testの自動追加〜
kawamataryo
5
2.4k
SaaS公式MCPサーバーをリリースして得た学び
kawamataryo
7
2.2k
Raycast AI APIを使ってちょっと便利な拡張機能を作ってみた / created-a-handy-extension-using-the-raycast-ai-api
kawamataryo
1
920
ts-morphのパフォーマンス改善Tips
kawamataryo
0
150
webpack to Rspack
kawamataryo
0
140
GitHub Actions と Datadog でコードベースの定点観測
kawamataryo
7
2.2k
個人開発駆動学習 / personal development driven learning
kawamataryo
1
320
Other Decks in Programming
See All in Programming
WebRTC映像をAirPlayに対応させる挑戦.pdf
monolithic_adam
0
350
setup-vp GitLab対応の裏側
naokihaba
0
160
Vue Fes Japan の “作る側”に関わってみて
naokihaba
0
140
パスワード再設定メールのURLについて知っておこう
uyuki234
0
120
すこし踏み込む CancellationToken
htkym
2
1.7k
Atomic Design, Enforced: Scaling Mobile Design Systems (next.app devCon / droidCon Berlin 2026)
steliosf
PRO
0
160
Herb in Rails 8.2: Your ERB views, now HTML-aware @ Rails World 2026, Austin, Texas
marcoroth
0
200
Jetpack Compose Mechanisms
skydoves
2
700
見えないものを探る要求要件定義に必要な基本的思考 / invisible-requirement-thinking
minodriven
15
8.2k
Java 27新機能 / Java 27 new features
kishida
2
220
RAG の “R” を Swift で覗いてみる 〜「意味から探す」検索の仕組み〜
nao_randd
0
140
iOS 27でニュースアプリはどう変わる!? 〜日経電子版の新機能対応と、開発事例から〜
lynnswap
7
13k
Featured
See All Featured
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
2
2k
Art, The Web, and Tiny UX
lynnandtonic
304
22k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
490
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6.1k
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
Discover your Explorer Soul
emna__ayadi
2
1.3k
Writing Fast Ruby
sferik
630
63k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
VelocityConf: Rendering Performance Case Studies
addyosmani
331
25k
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.6k
Making the Leap to Tech Lead
cromwellryan
135
10k
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
74
42k
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