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 と ORM / ORM with TypeScript
Search
dojineko
June 18, 2019
Technology
0
710
TypeScript と ORM / ORM with TypeScript
dojineko
June 18, 2019
Tweet
Share
More Decks by dojineko
See All by dojineko
iOSのWebViewとClipboardAPI / WebView and ClipboardAPI on iOS
dojineko
0
10
最近のUnityとVRChat / About Unity and VRChat recently
dojineko
0
87
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
640
はじめてでもできた!VR登壇への道 / Let's VR speech!
dojineko
0
360
gRPC-WEBを使ったWEBアプリ開発/Development web-app with gRPC-WEB
dojineko
1
740
もう俺には関係なくないTypeScript/Our TypeScript
dojineko
3
300
TypeScript ではじめる Clean Architecture / Let's start Clean Architecture with TypeScript
dojineko
2
3k
Other Decks in Technology
See All in Technology
組織デバイスのための効率的なアプリケーション更新戦略
kenchan0130
0
420
Amplify Gen 2ではじめる 生成AIアプリ開発入門
tsukuboshi
0
340
品質マネジメントで抑えておきたい2つのリスクを見分けて未来に備えよう #yapcjapan
makky_tyuyan
0
140
普通の Web エンジニアのための様相論理入門 #yapcjapan / YAPC Hakodate 2024
ytaka23
7
1.7k
Vespaを利用したテクいベクトル検索
szdr
3
230
Webセキュリティのあるきかた
akiym
34
12k
CData Virtuality 日本ローンチイベントのKeynote
cdataj
0
400
テクニカルライターのチームで「目標」をどう決めたか / MVV for a Team of Technical Writers
lycorptech_jp
PRO
3
140
怖くないオフライン機能開発 〜基本的な技術で実現する現場向けオフライン機能 / Developing offline functions without fear ~ Offline functions for the field realized with basic technology
kaminashi
1
140
テストを楽に書きたい
tomorrowkey
2
240
外部カンファレンスで登壇しよう! 〜「強い」エンジニアへの一歩を踏み出す〜
logica0419
4
110
データ分析基盤のためにS3を深堀りする~アーキテクチャ設計の考え方のヒントに~
nrinetcom
PRO
1
550
Featured
See All Featured
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
27
1.9k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
41
9.2k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
327
21k
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.5k
Learning to Love Humans: Emotional Interface Design
aarron
272
40k
Building Flexible Design Systems
yeseniaperezcruz
327
38k
Producing Creativity
orderedlist
PRO
341
39k
How To Stay Up To Date on Web Technology
chriscoyier
787
250k
The Cost Of JavaScript in 2023
addyosmani
43
5.9k
How to name files
jennybc
77
99k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
26
2k
Practical Orchestrator
shlominoach
186
10k
Transcript
!EPKJOFLP(.01FQBCP *OD 'VLVPLBUT 5ZQF4DSJQUͱ03.
ΑΖͣ݉੩తܕ͚͓͡͞Μ !EPKJOFLP
࠷ۙͷൃද5ZQF4DSJQUͩΒ͚ ੩తܕ͚͓͡͞ΜͳͷͰɺฐࣾͰͷ5ZQF4DSJQUීٴ׆ಈʹʑ҉༂͍ͯ͠·͢ɻ IUUQTTQFBLFSEFDLDPNEPKJOFLP
ͱ͍͏ ϫέͰ
5ZQF4DSJQU͔Β͑Δ 03.ʹ͍ͭͯ͝հ͠·͢
࣍ 4FRVFMJ[Fͱ 4FRVFMJ[Fͷ5ZQF4DSJQUαϙʔτঢ়گ 5ZQF4DSJQUͰ͏·͍ͬͯ͘͘ํ๏ 4FRVFMJ[F$-*ͷ5ZQF4DSJQUରԠঢ়گ 5ZQF03.ͱͷൺֱ ·ͱΊ
None
4FRVFMJ[Fͱʁ w/PEFKTͰݹ͔͘Β͑Δ03. OQN্࠷ݹͷϦϦʔεલ w.Z42-ɺ.BSJB%#ɺ1PTUHSF42-ɺ.442-ɺ42-JUFʹରԠ wຊޠɺӳޠؚΊࣄྫใ͕๛ʂࣄྫ͕ଟ͍ w࣮࣭ϑΝΫτελϯμʔυ ˞ཁग़య
W͔Β5ZQF4DSJQUΛਖ਼ࣜʹαϙʔτ wW͔Β5ZQF4DSJQUΛਖ਼ࣜʹαϙʔτ։࢝ʂ wܕఆ͕ٛެࣜύοέʔδ͔Βڙڅ͞ΕΔΑ͏ʹʂ w͔͠͠ɾɾɾ
W͔Β5ZQF4DSJQUΛਖ਼ࣜʹαϙʔτ ɾɾɾ 4FRVFMJ[F࣮ߦ࣌ʹϓϩύςΟͷׂΓͯΛߦ͏͜ͱʹɺ͔ͳΓ ґଘ͍ͯ͠ΔͷͰɺ5ZQF4DSJQUͦͷ··Ͱ͋·Γʹཱͪ·ͤΜɻ ϞσϧΛ࣮ߦՄೳʹ͢Δʹɺ͔ͳΓͷྔͷखಈܕએݴ͕ඞཁͰ͢ɻ
ਖ਼ࣜରԠͬͯݴͬͨ͡ΌΜʂ ٽ
ެࣜͷ5ZQF4DSJQUͰͷॻ͖ํ $MBTT൛
ʲࢀߟʳ+BWB4DSJQUͰͷϞσϧఆٛ wʮDMBTT1SPKFDUFYUFOET.PEFMʯͰଘࡏΛએݴ w1SPKFDUJOJUͰதΛ࣮ߦ࣌ʹධՁ͠ΈࠐΜͰ͍Δ wܕਪͳͲͳ͍ੈքͳͷͰ͜ΕͰ͓͠·͍ʜ
$MBTT൛αϯϓϧͷൈਮ 4FRVFMJ[F.PEFMΛ&YUFOEͯ͠ϝϯόʔΛఆٛɻ ίίͰఆٛͨ͠%#ͷΧϥϜʹରԠ͢Δϝϯόʔɺ $POTUSVDUPSͰϝϯόʔͷॳظԽ͕ग़དྷͳ͍ɻ ʜͷͰʮʯΛ༩ͯ͠ະॳظԽϝϯόʔΛڐ༰͢Δ Ϟσϧͷ4UBUJD.FUIPEͷJOJUϝιουΛݺͼग़ͯ͠ %#ͷΧϥϜͱϝϯόʔͷରԠΛ࣮ߦ࣌ʹඥ͚Δɻ ͜ΕΫϥεͷએݴͱ·ͨผʹߦ͏ඞཁ͕͋Δ ϚχϡΞϧͷ࣮ߦ࣌ʹґଘ͢Δͱ͍͏ͷओʹ͜ͷ
Πϝʔδ $MBTTFYUFOET.PEFM 4FRVFMJ[FJOJU .PEFM ˙ίϯύΠϧϑΣʔζ੩తղੳɺܕਪ ˙ϥϯλΠϜϑΣʔζ4FRVFMJ[Fͷಈ࡞Λܾఆ͢Δ
ެࣜͷ5ZQF4DSJQUͰͷॻ͖ํ EFpOF൛ JOUFSGBDFΛॻ͍ͯϝϯόʔͷଘࡏΛએݴ 4FRVFMJ[Fͷ༷ࣜʹԊ͏ͨΊ4UBUJDઐ༻ܕΛએݴ ࣮ߦ࣌ʹ4FRVFMJ[FͷϞσϧΛએݴ
ެࣜͷ5ZQF4DSJQUରԠͷ՝ wલఏͱͯ͠ɺ4FRVFMJ[F͕Ϟσϧͷఆٛؔ࿈͚Λ࣮ߦ࣌ʹ ΞάϨογϒʹॲཧ͢Δઃܭ ޙํޓͷͨΊͱࢥΘΕΔ w5ZQF4DSJQUͰॻ͍ͨͱ͖ʹɺΫϥεͰϞσϧΛએݴͰ͖Δ͕ɺ %#ͷΧϥϜͷώϞผʹߦ͏ඞཁ͕͋Δ wએݴͨ͠ϞσϧΛ4FRVFMJ[FͰ༻͢ΔͨΊͷಓͷΓ͕ԕ͘ ͦͦ5ZQF4DSJQU͕Θ͔͍ͬͯͳ͍ͱֶशίετ͕ߴ͍ wޓੑͷͨΊʹ͞ΕͨҰ෦ͷػೳ͕ܕ҆શʹͳΒͳ͍߹͕͋Δ
ͭΒ͍
͏ͪΐͬͱ͍͍ײ͡ʹΓ͍ͨʜ
TFRVFMJ[FUZQFTDSJQU
TFRVFMJ[FUZQFTDSJQUͱ w4FRVFMJ[FͷϞσϧͷ࣮Λɺ%FDPSBUPSΛۦͭͭ͠ ΄΅ΫϥεͷએݴͷΈͰ࣮ݱ͢ΔϥΠϒϥϦ wґଘͷՃͱ5ZQF4DSJQUͷઃఆมߋͰಋೖՄೳ wSFqFDUNFUBEBUBύοέʔδͷՃ wUTDPOpHKTPOͰFYQFSJNFOUBM%FDPSBUPSTΛ༗ޮ wSFGIUUQTHJUIVCDPN3PCJO#VTDINBOOTFRVFMJ[FUZQFTDSJQU
ͪͳΈʹʜ wSFqFDUNFUBͱʁ w ʮ.FUBEBUB3FqFDUJPO"1*ʯΛ࣮ݱ͢Δ1PMZpMM w $+BWBͷΑ͏ʹσίϨʔλΛ༻ͯ͠ɺΫϥεؔʹɺ ଐੑऍͳͲͷϝλσʔλΛ༩औಘ͢Δػߏ w 1SPQPTBMͳͷͰݱ࣌Ͱඇެࣜͳػೳ wFYQFSJNFOUBM%FDPSBUPSTͱʁ
w &$."4DSJQU4UBHFͷ1SPQPTBM w ΫϥεؔʹػೳΛʮՃʯ͢Δ͜ͱ͕Ͱ͖Δ
Ϟσϧͷఆٛ $MBTTʹΑͬͯϞσϧΛఆٛͰ͖ɺΧϥϜͱͷώϞ %FDPSBUPSͰߦ͑ΔͷͰɺએݴͱJOJUΛΘ͚ͯߦ͏ΑΓ؆୯ʂ
Ϟσϧͷొ 4FRVFMJ[FͷॳظԽTFRVFMJ[FUZQFTDSJQU͕ͬͯ͘ΕΔɻ ઃఆڞ௨ େຊ͕4FRVFMJ[FͳͷͰΓ࣮ߦ࣌ʹϞσϧͷొ͕ඞཁ͕ͩɺ 4FRVFMJ[FຊମͷΓํͱൺֱ͔ͯ͠ͳΓ؆ུԽ͞Ε͍ͯΔɻ ˞5ZQF4DSJQUͷόʔδϣϯʹΑͬͯ54ͰϏϧυΤϥʔʹͳΔ߹͕͋Γ·͢ BEE.PEFMTʹ͢ྻͷܕΛʮBOZ<>ʯʹΩϟετ͢ΔͱճආͰ͖·͢
4FRVFMJ[F$-* ϚΠάϨʔγϣϯ͋ΔΑ
4FRVFMJ[F$-*ͱʁ w4FRVFMJ[FͷαϒϓϩδΣΫτͷίϚϯυϥΠϯπʔϧ wNJHSBUJPOTFFEΛ/PEFKT͔Βߦ͏͜ͱ͕Ͱ͖Δ w"DUJWF3FDPSEΆ͍งғؾ w͔͠͠ɾɾɾ
4FRVFMJ[F$-*ͷؾʹͳΔͱ͜Ζ wNJHSBUJPOTFFEͰ͑ΔએݴϑΝΠϧ+BWB4DSJQUͷΈ w5ZQF4DSJQUͰॻ͖͍ͨ߹UTDͰࣄલʹίϯύΠϧ͕ඞཁ wඪ४ͰͷରԠ1VMM3FRVFTUʹͳ͍ͬͯΔ༷ࢠ w͋͘·Ͱ͓·͚ͬΆ͍ͷͰɺෳͷ%#ͷछผΛ ԣஅ͠ͳ͍߹ଞͷखஈΛݕ౼͍͍͔ͯ͠ʁ w ྫ͑ɺHPMBOHNJHSBUFNJHSBUFͳͲͷ5JOZͳΈͳͲ
None
5ZQF03.ͱͷൺֱ w5ZQF03.5ZQF4DSJQUͰॻ͘͜ͱΛલఏʹॻ͔Εͨ03. w࣮ߦ࣌ͷධՁΛલఏͱ͍ͯ͠ͳ͍ͷͰ੩తղੳͳͲͱͷ૬ੑόπάϯ wTFRVFMJ[FUZQFTDSJQUͱಉ͘͡ΫϥεͱσίϨʔλʹΑΔϞσϧ࣮ w&$."4DSJQUͷ࠷৽ͷػೳΛΞάϨογϒʹऔΓࠐΜͰ͍Δ
5ZQF03.ɺ/PEF+4ɺϒϥβɺ$PSEPWBɺ1IPOF(BQɺ*POJDɺ3FBDU/BUJWFɺ /BUJWF4DSJQUɺ&YQPɺ͓Αͼ&MFDUSPOϓϥοτϑΥʔϜͰ࣮ߦͰ͖Δ03.Ͱ͋Γɺ 5ZQF4DSJQU͓Αͼ+BWB4DSJQUʢ&4ɺ&4ɺ&4ɺ&4ʣͱڞʹ༻Ͱ͖·͢ɻͦͷඪɺ ৗʹ࠷৽ͷ+BWB4DSJQUػೳΛαϙʔτ͠ɺσʔλϕʔεΛ༻͢Δ͋ΒΏΔछྨͷΞϓϦέʔ γϣϯΛ։ൃ͢ΔͷʹཱͭՃػೳΛఏڙ͢Δ͜ͱͰ͢ɻςʔϒϧ͕গͳ͍খنΞϓϦ έʔγϣϯ͔Βෳσʔλϕʔε͕͋ΔେنΤϯλʔϓϥΠζΞϓϦέʔγϣϯ·Ͱɻ 5ZQF03.ͷϞνϕʔγϣϯ
4FRVFMJ[Fͱ5ZQF03.Ͳ͕͍͍ͬͪͷʁ w৽نҊ݅Ͱ͋Ε5ZQF03.ʹνϟϨϯδ͢ΔՁ͋Γ w5ZQF4DSJQUͰॻ͔ΕΔ͜ͱ͕ϕʔεʹͳ͍ͬͯΔͷͰϋϚΓʹ͍͘ wͨͩɺใ͕ൺֱతগͳΊͰ͢ w҆ఆੑτϥϒϧγϡʔτɺपลπʔϧΛॏࢹ͢ΔͳΒ4FRVFMJ[F w4FRVFMJ[Fͷࢿ࢈͕͢Ͱʹ͋ΔͳΒɺTFRVFMJ[FUZQFTDSJQUΛ Ճ͢Ε5ZQF03.MJLFͷΑ͏ͳ͜ͱͰ͖·͢ wνʔϜͷख़5ZQF4DSJQUͷཧղʹԠͯ͡બఆ͠·͠ΐ͏ʂ
(PPHMF5SFOETͰͷൺֱ
·ͱΊ w4FRVFMJ[F/PEFKTͰͷ03.ͷฮ wW͔Β5ZQF4DSJQUਖ਼ࣜαϙʔτ ͔ͭ͠͠Β͍ͱ͜Ζ͋Δʜ w5ZQF4DSJQUͰ4FRVFMJ[F͏ͳΒTFRVFMJ[FUZQFTDSJQUΦεεϝ wNJHSBUJPOʹTFRVFMJ[FDMJΛ͏ͷ͋͘·ͰΦϓγϣϯ wผͷϚΠάϨʔγϣϯπʔϧΛͬͯશવ0,ʂ w৽نҊ݅5ZQF03.ݕ౼ͯ͠ΈΑ͏ʂ w
૬ޓʹҠߦ͕Ͱ͖Δͷ͔ݕূதଟΤΠϠοͱΔඞཁ͋Γ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠