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.4k
コワクナイヨ TypeScript - static typing reloaded -
dojineko
May 15, 2019
Tweet
Share
More Decks by dojineko
See All by dojineko
最近のUnityとVRChat / About Unity and VRChat recently
dojineko
0
42
WebXRでポートフォリオを作ろう/Let's make your portfolio with WebXR!
dojineko
0
130
ペパボ ホスティング事業部のWebフロントエンドについて 2022 / About Web Frontend of Pepabo Hosting division 2022
dojineko
0
7.7k
Viteはいいぞ/Vite is Good
dojineko
1
560
はじめてでもできた!VR登壇への道 / Let's VR speech!
dojineko
0
320
gRPC-WEBを使ったWEBアプリ開発/Development web-app with gRPC-WEB
dojineko
1
570
もう俺には関係なくないTypeScript/Our TypeScript
dojineko
3
260
TypeScript ではじめる Clean Architecture / Let's start Clean Architecture with TypeScript
dojineko
2
2.7k
Hosting meets .NET / hosting-meets-dotnet
dojineko
0
550
Other Decks in Technology
See All in Technology
自動生成を活用した、運用保守コストを抑える Error/Alert/Runbook の一元集約管理 / Centralized management of Error/Alert/Runbook to minimize operational costs using automated code generation
biwashi
9
2.1k
Aurora MySQL v3(MySQL8.0互換)の オンラインDDLの罠挙動を全バージョンで検証した
yutakikai
1
150
〜小さく始めて大きく育てる〜データ分析基盤の開発から活用まで
kniino
0
2k
なぜ NOT A HOTEL が Web3 に取り組むのか - NOT A HOTEL TECH TALK
ynunokawa
0
160
SIEMを用いて、セキュリティログ分析の可視化と分析を実現し、PDCAサイクルを回してみた
coconala_engineer
0
220
強みを伸ばすキャリアデザイン
yug1224
0
200
Databricks における 『MLOps』
databricksjapan
2
140
巨大なテーブルのテーブル定義を無停止で安全に誰でも変更できるようにする / Table-definitions-for-huge-tables-can-be-modified-by-anyone-safely-and-non-disruptively
freee
1
740
Four keys改善の取り組み事例紹介
sansantech
PRO
3
230
Tableau事例紹介 / Tableau Case Study of Eureka
kazuya_araki_tokyo
1
170
TransitGatewayの基礎
toru_kubota
0
230
Data and AI Governance: Existing Challenges and Emerging Trends
scotthsieh825
0
160
Featured
See All Featured
Dealing with People You Can't Stand - Big Design 2015
cassininazir
356
22k
The Language of Interfaces
destraynor
151
23k
Why Our Code Smells
bkeepers
PRO
331
56k
The Mythical Team-Month
searls
215
42k
Building Your Own Lightsaber
phodgson
98
5.7k
Web Components: a chance to create the future
zenorocha
305
41k
Optimising Largest Contentful Paint
csswizardry
7
2.3k
Rebuilding a faster, lazier Slack
samanthasiow
72
8.2k
How to name files
jennybc
64
92k
WebSockets: Embracing the real-time Web
robhawkes
59
7k
Visualization
eitanlees
135
14k
Ruby is Unlike a Banana
tanoku
96
10k
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ศར͚ͩͲ௧ΈΛ͏ͷͰ
༻๏༻ྔΛकͬͯਖ਼͓͍͍ͩ͘͘͠͞
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠