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
コワクナイヨ TypeScript - static typing reloaded -
Search
dojineko
May 15, 2019
Technology
8
2.5k
コワクナイヨ TypeScript - static typing reloaded -
dojineko
May 15, 2019
Tweet
Share
More Decks by dojineko
See All by dojineko
iOSのWebViewとClipboardAPI / WebView and ClipboardAPI on iOS
dojineko
0
35
最近のUnityとVRChat / About Unity and VRChat recently
dojineko
0
120
WebXRでポートフォリオを作ろう/Let's make your portfolio with WebXR!
dojineko
0
150
ペパボ ホスティング事業部のWebフロントエンドについて 2022 / About Web Frontend of Pepabo Hosting division 2022
dojineko
0
8.8k
Viteはいいぞ/Vite is Good
dojineko
1
690
はじめてでもできた!VR登壇への道 / Let's VR speech!
dojineko
0
380
gRPC-WEBを使ったWEBアプリ開発/Development web-app with gRPC-WEB
dojineko
1
850
もう俺には関係なくないTypeScript/Our TypeScript
dojineko
3
320
TypeScript ではじめる Clean Architecture / Let's start Clean Architecture with TypeScript
dojineko
2
3.2k
Other Decks in Technology
See All in Technology
組織貢献をするフリーランスエンジニアという生き方
n_takehata
1
1.3k
個人開発から公式機能へ: PlaywrightとRailsをつなげた3年の軌跡
yusukeiwaki
11
3k
Oracle Cloud Infrastructure:2025年2月度サービス・アップデート
oracle4engineer
PRO
1
200
【Developers Summit 2025】プロダクトエンジニアから学ぶ、 ユーザーにより高い価値を届ける技術
niwatakeru
2
1.4k
2/18/25: Java meets AI: Build LLM-Powered Apps with LangChain4j
edeandrea
PRO
0
110
データの品質が低いと何が困るのか
kzykmyzw
6
1.1k
リアルタイム分析データベースで実現する SQLベースのオブザーバビリティ
mikimatsumoto
0
1.3k
目の前の仕事と向き合うことで成長できる - 仕事とスキルを広げる / Every little bit counts
soudai
24
7k
Helm , Kustomize に代わる !? 次世代 k8s パッケージマネージャー Glasskube 入門 / glasskube-entry
parupappa2929
0
250
Datadog APM におけるトレース収集の流れ及び Retention Filters のはなし / datadog-apm-trace-retention-filters
k6s4i53rx
0
330
プロセス改善による品質向上事例
tomasagi
2
2.5k
君も受託系GISエンジニアにならないか
sudataka
2
430
Featured
See All Featured
Art, The Web, and Tiny UX
lynnandtonic
298
20k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
27
1.9k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Optimizing for Happiness
mojombo
376
70k
Visualization
eitanlees
146
15k
Build The Right Thing And Hit Your Dates
maggiecrowley
34
2.5k
Writing Fast Ruby
sferik
628
61k
A Tale of Four Properties
chriscoyier
158
23k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
59k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
49
2.3k
Making the Leap to Tech Lead
cromwellryan
133
9.1k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
Transcript
TUBUJDUZQJOHSFMPBEFE EPKJOFLP(.01FQBCP *OD 'VLVPLB+4 ίϫΫφΠϤ5ZQF4DSJQU
5ZQF4DSJQU ͬͯ·͔͢ʁ
࠷ۙͷ5ZQF4DSJQUμΠδΣετ w 5ZQF4DSJQU w ΠϯΫϦϝϯλϧϏϧυͷαϙʔτɺδΣωϦΫεؔͷߴ֊ܕਪɺ3FBEPOMZͷվྑɺ DPOTUͷܕએݴɺHMPCBM5IJTͷܕνΣοΫαϙʔτ w5ZQF4DSJQU w6OJPOܕͷܕਪͷվྑɺ૿ϑΝΠϧࢹͷαϙʔτ w5ZQF4DSJQU wTUSJDU#JOE$BMM"QQMZͷՃɺ#JH*OUͷαϙʔτɺ
֎෦ύοέʔδͷUTDPOpHKTPOར༻ͷαϙʔτͳͲ ·ͩ·ͩ͋ΔκΠʁ
࠷ۙͷ+BWB4DSJQUμΠδΣετ wΫϥεߏจͷQSJWBUFpFME͕$ISPNFʹ࣮͞Εͨ w 5ZQF4DSJQUଆ·ͩτϥϯεύΠϧͷ࣮Ҋ·ͩݕ౼த w QSJWBUFpFMEͷఆٛΛಠࣗͰ͍࣋ͬͯΔͷͰࠓޙ͕ؾʹͳΓ·͢Ͷ w SFGIUUQTHJUIVCDPN.JDSPTPGU5ZQF4DSJQUJTTVFT w/PEFKTWͰNKT͡Όͳͯ͘&4.PEVMFͱͯ͠ಈ࡞͢ΔΑ͏ʹ w
QBDLBHFKTPOʹUZQFNPEVMFΛՃ͢Δͱ&4.PEVMFͰಈ͘ύοέʔδʹ w ʮFYQFSJNFOUBMNPEVMFTʯ͕ͬͺΓඞཁ
͓͓͍Α
ʮ5ZQF4DSJQUΛ࢝Ί͍͚ͨͲ ͪΐͬͱΘ͔Βͳ͍ʜʯ
ίϫΫφΠϤ 5ZQF4DSJQU
ΑΖͣ !EPKJOFLP GVLVPLBUTΛΑΖ͘͠Ͷʂ
ૣͰ͕࣌ؒ͢ͷ্ؔ w5ZQF4DSJQUͷେ·͔ͳઆ໌ԼهͷεϥΠυʹҠৡ͠·͢ w ଟωλͷେ෦͕͔Ϳͬͯͦ͏ɾɾɾ͍ͦ͏ʹҧ͍ͳ͍ʂ Ч㱬ŞƄţƃ wಋೖ͚ͷ༰ͬͪ͜Λݟͯ͘ΕΔͱخ͍͠ͳ ͪΐͬͱݹ͍Ͱ͢ IUUQTTQFBLFSEFDLDPNEPKJOFLPUZQFTDSJQUSPBEUPTUBUJDUZQJOHPKJTBO
ࠓճ͢͜ͱ w Ҡߦʹࡍͯ͠ͷUTDPOpHKTPO w UTDͱ#BCFM w BOZͱVOLOPXO w 54-JOUͱ&4-JOU w
TUSJDUUSVFͷಓ
UTDPOpHKTPOʹԿΛॻ͚͍͍ͷʁ w5ZQF4DSJQUΛ+BWB4DSJQUʹม͢Δͱ͖ͷઃఆΛॻ͖·͢ w/PEFKT༻ɺϒϥβ༻ͳͲͷग़ྗ݁ՌͷΓସ͑ wͲͷϨϕϧ·Ͱͷ&$."4DSJQUͷػೳΛ͏͔ wࢼݧత࣮ %FDPSBUPSͳͲ ͷ༗ޮԽ wܕνΣοΫͷϨϕϧ wͳͲͳͲ
None
ઃఆ େਿ
UTDPOpHKTPO͜Ε͚ͩॻ͍ͱ͚େৎ w+4͔ΒͷҠߦͷ߹ɺͱʹ͔͘ΏΔΊʹઃఆ͢Δͷ͕ϛιʂ w͍͖ͳΓʮTUSJDUUSVFʯ͓͢͢Ί͠·ͤΜɻ w ϩτͷ༐ऀͩͬͯʮ͔ΘͷͨͯʯͰग़ൃ͢ΔΑͶ wNPEVMFFTOFYU͕͓͢͢ΊʮΨϯΨϯ͍͜͏ͥʯ w ͔ͤͬ͘ΔͳΒ&$."4DSJQUͷ৽͍͠ػೳΛ͍ͬͯ͜͏ʂ ͦͷ΄͏͕ϩϚϯ͕͋Δ
wUBSHFUઃఆ*&ແࢹͰ͖ΔͳΒFTɺͩΊͳΒFT wҊ݅ʹԠͯ͡QPMZpMMJPCBCFMQPMZpMMΛซ༻͠·͠ΐ͏
ઃఆྫ *&͚ͷΏΔʔ͍ઃఆ ग़ྗ݁Ռ&4ͷൣғͰ ͏ػೳ࠷৽ͷػೳͰ $PNNPO+4ͱ&4Ϟδϡʔϧͷҧ͍Λ ͳΔ͘ҙࣝ͠ͳͯ͘ྑ͍Α͏ʹ͢Δ #BCFMతͳͭ 5ZQF4DSJQU͔Β+BWB4DSJQUͷ *NQPSUΛڐՄ͢Δ ಡΈࠐΉϑΝΠϧΛࢦఆ
ϏϧυΛ͍ͨ͠ରΛ໌ࣔ͢Δ
ࠓճ͢͜ͱ w Ҡߦʹࡍͯ͠ͷUTDPOpHKTPO w 5ZQF4DSJQUͱ#BCFM w BOZͱVOLOPXO w 54-JOUͱ&4-JOU w
TUSJDUUSVFͷಓ
#BCFM͞Μͷֵ໋తΞοϓσʔτ w#BCFM͔Β5ZQF4DSJQUͷ τϥϯεύΠϧ͕ਖ਼ࣜαϙʔτ w#BCFMͰτϥϯεύΠϧ͢Δ߹ Ұ෦ͷػೳ͕͑·ͤΜ w OBNFTQBDF+49ͷܕΞϊςʔγϣϯɺ&OVNͷએ ݴͷϚʔδɺτϥϯεύΠϧ࣌ͷܕνΣοΫͳͲ
UTDͱ#BCFMͲͬͪΛ͍͍͑ͷʁ wUTD͕͓͢͢Ίͳ߹ w ܕνΣοΫΛݫີʹߦ͍͍ͨ߹ w 5ZQF4DSJQUͷػೳΛϑϧʹ׆༻͍͖͍ͯͨ͠߹ w#BCFM͕͓͢͢Ίͳ߹ w ͢Ͱʹ#BCFMͷΧελϚΠζΛߴʹߦ͍ͬͯΔ߹ w
ຊ࣭తʹܕνΣοΫΛඞཁͱ͍ͯ͠ͳ͍߹ w τϥϯεύΠϧΛॏࢹ͢Δ߹ ܕνΣοΫ͚ͩUTDΛซ༻͢Δύλʔϯ༗Γ ಋೖ͢ΔϓϩδΣΫτͷঢ়ଶΛݟͯ ͱʹ͔͘ແཧͷͳ͍બΛߦ͍·͠ΐ͏ #BCFMΛഇࢭͯ͠UTDΛ͏ɺ ͋Δ͍ͦͷٯׂͱ؆୯ʹग़དྷ·͢
ࠓճ͢͜ͱ w Ҡߦʹࡍͯ͠ͷUTDPOpHKTPO w UTDͱ#BCFM w BOZͱVOLOPXO w 54-JOUͱ&4-JOU w
TUSJDUUSVFͷಓ
VOLOPXOܕͱ w5ZQF4DSJQUͰՃ͞Εͨ৽ͨͳܕ wೖʹ͍ͭͯBOZܕͱಉ͡ wVOLOPXOܕͷΛ༻͢Δ߹ܕΞαʔγϣϯ͕ඞཁʹͳΔ wBOZܕʹ͢Δ͜ͱͰܕνΣοΫ͕શʹΨϥۭ͖ʹͳΔΛ ղܾ͢ΔͨΊͷखஈͷ̍ͭͱͯ͑͠Δ w5ZQF4DJSQUΛखݎ͘ӡ༻͢ΔͳΒ͍͖͍ͬͯͨػೳͷ̍ͭ
༻ྫ BOZܕͩͬͨΒ ʮଘࡏ͠ͳ͍ؔʯ࣮ؔߦ࣌ʹ ଘࡏ͠ͳ͍ͷͰVOEFpOFE ͍͜͠ ͚ͩͲίϯύΠϧ࣌ʹνΣοΫͰ͖ͳ͍
༻ྫ VOLOPXOܕʹ͢Δͱ VOLOPXOܕΛͦͷ··͍ͬͯΔՕॴΛ ίϯύΠϧ࣌ʹݕͰ͖Δ ༻࣌ʹඞͣΞαʔγϣϯ͕ඞཁʂ ݁Ռଘࡏ͠ͳ͍ؔΛݺͼग़͍ͯ͠Δ Α͏ͳՕॴΛݕ͢Δ͜ͱ͕Ͱ͖Δ
ࠓճ͢͜ͱ w Ҡߦʹࡍͯ͠ͷUTDPOpHKTPO w UTDͱ#BCFM w BOZͱVOLOPXO w 54-JOUͱ&4-JOU w
TUSJDUUSVFͷಓ
͜͜େࣄͳͱ͚ͩ͜ w54-JOUͷ༻ඇਪʹͳΓ·ͨ͠ w ৽نҊ݅&4-JOUͰ࢝ΊΔ͜ͱΛ͓͢͢Ί͠·͢ w&4-JOUͷ5ZQF4DSJQUαϙʔτ·ͩ·ͩ͜Ε͔Β w OPqPBUJOHQSPNJTFͷΑ͏ͳ5ZQF4DSJQUͷܕใʹجͮ͘-JOUJOHશʹҠߦͰ͖ ͳ͍ͷͰ߹ʹΑͬͯ·༷ͩࢠݟ͍͓͍ͯͨ͠΄͏͕ྑ͍͔ʁ wͱ͍͑&4-JOUʹҠߦ͠ͳ͚Εͳ͘ͳΔͷ࣌ؒͷ w
Ջ͕͋ΕҠߦ͓͖ͯ͠·͠ΐ͏ʂ w ୲ϓϩδΣΫτͰͻͱ·ͣҠߦͷ४උ͚ͩࡁ·͍ͤͯ·͕͢54-JOU͕·ͩݱͰ͢ɻ
࣌ؒΓͯΔͷ͔ͳʁ w Ҡߦʹࡍͯ͠ͷUTDPOpHKTPO w UTDͱ#BCFM w BOZͱVOLOPXO w 54-JOUͱ&4-JOU w
TUSJDUUSVFͷಓ
ΑΓखݎ͘ӡ༻͍ͯ͘͠ϙΠϯτ wVOLOPXOΛ͍ͬͯ͘ w BOZΛ͏ΑΓɺVOLOPXOΛ͏ͷ͕͓͢͢Ί wܕఆٛΛ͏ɺແ͍ఆٛॻ͘ w ৽نͷఆٛɺఆٛͷߋ৽13͢ΔͱΈΜͳͤʹͳΕΔ wUTDPOpHKTPOͰTUSJDUUSVFΛઃఆ͢Δ w ΑΓڧ੍͘Λֻ͚ͯӡ༻͢Δ͓ؾ࣋ͪͷද໌
w ඞͣ͠ඞཁͰͳ͍͕खݎ͘ͳΔ TUSJDUUSVFΛઃఆ͢Δ Ϟνϕʔγϣϯͬͯ ͳΜͩΖ͏ʁʁʁ
TUSJDUUSVFͷޮՌͱʁ w࣮खݎ͘ӡ༻͢ΔͨΊͷෳͷϧʔϧ͕·ͱΊͯద༻͞ΕΔ w OP*NQMJDJU"OZ҉ͷBOZͷ༻Λېࢭ͢Δ w OP*NQMJDJU5IJTUIJTͷܕΛ໌ࣔ͢Δ͜ͱΛཁٻ͢Δ w BMXBZT4USJDUग़ྗ݁ՌʹৗʹVTFTUSJDUΛࢦఆ͢Δ w TUSJDU#JOE$BMM"QQMZCJOE
DBMM BQQMZͷܕਪΛݫີʹߦ͏ w TUSJDU/VMM$IFDLTݫີͳOVMMͷνΣοΫΛߦ͏ w TUSJDU'VODUJPO5ZQFTݫີͳؔͷܕͷνΣοΫΛߦ͏ w TUSJDU1SPQFSUZ*OJUJBMJ[BUJPOॳظԽ͞Ε͍ͯͳ͍ΫϥεϓϩύςΟΛېࢭ͢Δ όʔδϣϯʹΑͬͯద༻͞ΕΔ ϧʔϧएׯҟͳΓ·͢
TUSJDUUSVFΛద༻͢Δ͜ͱྑ͍͜ͱʁ wద༻Ͱ͖ΔͳΒ͓͍ͯͨ͠΄͏͕खݎ͘ͳΔ͠ྑ͍͜ͱʂ w͔͠͠ඞਢͰͳ͍͠ɺΰʔϧͰͳ͍ wద༻͠ͳ͍͔Βѱ͍ͱ͍͏͜ͱͳ͍ wཧղΛಘͳ͕Βɺظతʹɺແཧͳ͘ ӡ༻Ͱ͖ΔΑ͏ʹ͍ͯ͘͜͠ͱ͕େࣄ wTUSJDUUSVFʹ͢Δ߹ݸผͷϧʔϧΛద༻੍͍͖ͯ͠Λঃʑʹ ڧΊ͍ͯ͘͜ͱΛ͓͢͢Ί͠·͢
TUSJDUUSVFͷಓ TUSJDUUSVFͷࢼݧద༻ͱݱঢ়Ѳ wΛѲ͢ΔͨΊ͚ͩʹҰ࣌తʹద༻ OP*NQMJDJU"OZҎ֎ͷద༻ w҉ͷBOZ༻Օॴ͕ଟʑ͋ͬͨͨΊ OP*NQMJDJU"OZͷద༻ w͚ͭͯ֎͠Λ܁Γฦͯ͠ՕॴΛۦஞ
ݸผద༻ΛTUSJDUUSVFஔ͖͑ͯ·ͱΊΔ ҎޙTUSJDUUSVFͰͷӡ༻Λܧଓ ݱࡏʹࢸΔ
TUSJDUUSVFΛద༻ͨ͜͠ͱʹΑΔޮՌ w੍͕ڧԽ͞ΕΔͨΊɺΑΓΤϥʔݕͷਫ਼্͕͕Γ·ͨ͠ wͨͩ͠ɺ੍͕ڧԽ͞Εͨ͜ͱʹΑΓ5ZQF4DSJQU ੩తܕ͚ݴޠ ͷʮ͜ͳΕײʯ͕ඞཁʹͳΓ·ͨ͠ w+BWB4DSJQU͔ΒҠ͖͔ͬͯͨΓͩͱɺετϨεʹײ͡Δ෦͕ग़ ͯ͘Δ͔͠Ε·ͤΜ ࠓຆͲͦΜͳ͜ͱແ͍Ͱ͢ w͠ΔͳΒʮ͖ΐ͏͍ͤΪϓεʯΛ͚ͭͯ࿅शͯ͠ΔཧղͰྟΈ·
͠ΐ͏
·ͱΊ
·ͱΊ w5ZQF4DSJQUίϫ͘ͳ͍ʂ w ΏΔʔ࢝͘Ίͯશવ0,ʂ w ͳΜͳΒܕఆ͚ٛͩͬͯΤσΟλͰิͤ͞Δ͚ͩͰ0,ʂ w#BCFMͰ5ZQF4DSJQU͑ΔΑ wBOZܕΑΓVOLOPXOܕΛ͏ͷ͕͓͢͢Ί w54-JOU&4-JOUʹஔ͖͍͑ͯ͘४උΛ͠·͠ΐ͏ wTUSJDUUSVFศར͚ͩͲ௧ΈΛ͏ͷͰ
༻๏༻ྔΛकͬͯਖ਼͓͍͍ͩ͘͘͠͞
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠