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
13
最近のUnityとVRChat / About Unity and VRChat recently
dojineko
0
92
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
650
はじめてでもできた!VR登壇への道 / Let's VR speech!
dojineko
0
360
gRPC-WEBを使ったWEBアプリ開発/Development web-app with gRPC-WEB
dojineko
1
750
もう俺には関係なくない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
AWS CDKでデータリストアの運用、どのように設計する?~Aurora・EFSの実践事例を紹介~/aws-cdk-data-restore-aurora-efs
mhrtech
4
650
Jr. Championsになって、強く連携しながらAWSをもっと使いたい!~AWSに対する期待と行動~
amixedcolor
0
190
Automated Promptingを目指すその前に / Before we can aim for Automated Prompting
rkaga
0
110
最速最小からはじめるデータプロダクト / Data Product MVP
amaotone
5
740
オーティファイ会社紹介資料 / Autify Company Deck
autifyhq
9
120k
Amazon FSx for NetApp ONTAPを利用するにあたっての要件整理と設計のポイント
non97
1
160
Fargateを使った研修の話
takesection
0
120
visionOSでの空間表現実装とImmersive Video表示について / ai-immersive-visionos
cyberagentdevelopers
PRO
1
110
生成AIと知識グラフの相互利用に基づく文書解析
koujikozaki
1
140
10分でわかるfreee エンジニア向け会社説明資料
freee
18
520k
VPC間の接続方法を整理してみた #自治体クラウド勉強会
non97
1
850
Java x Spring Boot Warm up
kazu_kichi_67
2
490
Featured
See All Featured
RailsConf 2023
tenderlove
29
880
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
355
29k
Docker and Python
trallard
40
3.1k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.1k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
14
1.9k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Music & Morning Musume
bryan
46
6.1k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
How GitHub (no longer) Works
holman
311
140k
Optimising Largest Contentful Paint
csswizardry
33
2.9k
Testing 201, or: Great Expectations
jmmastey
38
7k
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ศར͚ͩͲ௧ΈΛ͏ͷͰ
༻๏༻ྔΛकͬͯਖ਼͓͍͍ͩ͘͘͠͞
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠