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
14
最近のUnityとVRChat / About Unity and VRChat recently
dojineko
0
93
WebXRでポートフォリオを作ろう/Let's make your portfolio with WebXR!
dojineko
0
140
ペパボ ホスティング事業部のWebフロントエンドについて 2022 / About Web Frontend of Pepabo Hosting division 2022
dojineko
0
8.5k
Viteはいいぞ/Vite is Good
dojineko
1
660
はじめてでもできた!VR登壇への道 / Let's VR speech!
dojineko
0
370
gRPC-WEBを使ったWEBアプリ開発/Development web-app with gRPC-WEB
dojineko
1
760
もう俺には関係なくないTypeScript/Our TypeScript
dojineko
3
310
TypeScript ではじめる Clean Architecture / Let's start Clean Architecture with TypeScript
dojineko
2
3k
Other Decks in Technology
See All in Technology
「 SharePoint 難しい」ってよく聞くけど、そんなに言うなら8歳の息子に試してもらった
taichinakamura
2
790
隣接領域をBeyondするFinatextのエンジニア組織設計 / beyond-engineering-areas
stajima
1
220
株式会社島津製作所_研究開発(集団協業と知的生産)の現場を支える、OSS知識基盤システムの導入
akahane92
1
170
ドメイン名の終活について - JPAAWG 7th -
mikit
29
17k
Microsoft Intune アプリのトラブルシューティング
sophiakunii
1
390
Postmanの日本市場におけるDevRel (的) 活動 / Postman's DevRelish activities in Japan
yokawasa
1
120
組み込みLinuxの時系列
puhitaku
4
990
軽量DDDはもういらない! スタイルガイド本で OOPの実装パターンを学ぼう
panda_program
29
11k
AI長期記憶システム構築のための LLMマルチエージェントの取り組み / Awarefy-LLM-Multi-Agent
iktakahiro
2
340
ZOZOTOWNのホーム画面をパーソナライズすることの難しさと裏話を語る
f6wbl6
1
470
プロポーザルのつくり方 〜個人技編〜 / How to come up with proposals
ohbarye
4
310
透過型SMTPプロキシによる送信メールの可観測性向上: Update Edition / Improved observability of outgoing emails with transparent smtp proxy: Update edition
linyows
2
180
Featured
See All Featured
Java REST API Framework Comparison - PWX 2021
mraible
PRO
28
8.2k
For a Future-Friendly Web
brad_frost
175
9.4k
Practical Orchestrator
shlominoach
186
10k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
A designer walks into a library…
pauljervisheath
202
24k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
665
120k
Optimising Largest Contentful Paint
csswizardry
33
2.9k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
26
2.1k
Six Lessons from altMBA
skipperchong
26
3.5k
Building Flexible Design Systems
yeseniaperezcruz
327
38k
We Have a Design System, Now What?
morganepeng
50
7.2k
Measuring & Analyzing Core Web Vitals
bluesmoon
2
75
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ศར͚ͩͲ௧ΈΛ͏ͷͰ
༻๏༻ྔΛकͬͯਖ਼͓͍͍ͩ͘͘͠͞
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠