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
650
はじめてでもできた!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
Azure AI servicesと歯のおはなし/AzureTravelers_Fukuoka2024_baba
nina01
1
110
0x5F3759DF
ykozw
0
340
Amplify Gen 2ではじめる 生成AIアプリ開発入門
tsukuboshi
0
400
なぜ Rack を理解すべきかプレトーク / Why should you understand Rack - Pre-talk
hogelog
0
230
寒冷地稲作の歴史にみるコミュニティ
miu_crescent
2
140
Japan AWS Jr. Championsがお届けする、アウトプットのすすめ
hamijay_cloud
0
210
複数の外部サービスデータの統合と変換を実現する Railsのインポートアーキテクチャ / Rails import architecture for integration and transformation of multiple external service data
aiandrox
0
340
From naive to advanced RAG: the complete guide
glaforge
0
680
KongによるAPIライフサイクル マネジメント
hashitokyo
1
160
20241017_俺たちは雰囲気で scope をやっているけどもうちょっとなんとかならんのか?
tokai235
0
360
プログラミング写経のすすめ
natsutan
0
170
Covariance, Contravariance & Diamond
alexdaubois
1
120
Featured
See All Featured
Learning to Love Humans: Emotional Interface Design
aarron
272
40k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
26
2k
Fantastic passwords and where to find them - at NoRuKo
philnash
50
2.8k
Put a Button on it: Removing Barriers to Going Fast.
kastner
58
3.5k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
4
260
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
40
2.1k
5 minutes of I Can Smell Your CMS
philhawksworth
202
19k
Designing the Hi-DPI Web
ddemaree
280
34k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
246
1.3M
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
250
21k
Become a Pro
speakerdeck
PRO
24
4.9k
Six Lessons from altMBA
skipperchong
26
3.4k
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
૬ޓʹҠߦ͕Ͱ͖Δͷ͔ݕূதଟΤΠϠοͱΔඞཁ͋Γ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠