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
720
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
17
最近のUnityとVRChat / About Unity and VRChat recently
dojineko
0
94
WebXRでポートフォリオを作ろう/Let's make your portfolio with WebXR!
dojineko
0
140
ペパボ ホスティング事業部のWebフロントエンドについて 2022 / About Web Frontend of Pepabo Hosting division 2022
dojineko
0
8.6k
Viteはいいぞ/Vite is Good
dojineko
1
670
はじめてでもできた!VR登壇への道 / Let's VR speech!
dojineko
0
370
gRPC-WEBを使ったWEBアプリ開発/Development web-app with gRPC-WEB
dojineko
1
770
もう俺には関係なくない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
New Relicを活用したSREの最初のステップ / NRUG OKINAWA VOL.3
isaoshimizu
3
620
Making your applications cross-environment - OSCG 2024 NA
salaboy
0
190
Python(PYNQ)がテーマのAMD主催のFPGAコンテストに参加してきた
iotengineer22
0
500
OS 標準のデザインシステムを超えて - より柔軟な Flutter テーマ管理 | FlutterKaigi 2024
ronnnnn
0
180
組織成長を加速させるオンボーディングの取り組み
sudoakiy
2
190
IBC 2024 動画技術関連レポート / IBC 2024 Report
cyberagentdevelopers
PRO
1
110
TanStack Routerに移行するのかい しないのかい、どっちなんだい! / Are you going to migrate to TanStack Router or not? Which one is it?
kaminashi
0
600
[CV勉強会@関東 ECCV2024 読み会] オンラインマッピング x トラッキング MapTracker: Tracking with Strided Memory Fusion for Consistent Vector HD Mapping (Chen+, ECCV24)
abemii
0
220
誰も全体を知らない ~ ロールの垣根を超えて引き上げる開発生産性 / Boosting Development Productivity Across Roles
kakehashi
1
230
『Firebase Dynamic Links終了に備える』 FlutterアプリでのAdjust導入とDeeplink最適化
techiro
0
110
Lambda10周年!Lambdaは何をもたらしたか
smt7174
2
110
OCI Network Firewall 概要
oracle4engineer
PRO
0
4.2k
Featured
See All Featured
Bash Introduction
62gerente
608
210k
Art, The Web, and Tiny UX
lynnandtonic
297
20k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
665
120k
How To Stay Up To Date on Web Technology
chriscoyier
788
250k
For a Future-Friendly Web
brad_frost
175
9.4k
Docker and Python
trallard
40
3.1k
The Pragmatic Product Professional
lauravandoore
31
6.3k
Rebuilding a faster, lazier Slack
samanthasiow
79
8.7k
Making the Leap to Tech Lead
cromwellryan
133
8.9k
A Philosophy of Restraint
colly
203
16k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
The Language of Interfaces
destraynor
154
24k
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
૬ޓʹҠߦ͕Ͱ͖Δͷ͔ݕূதଟΤΠϠοͱΔඞཁ͋Γ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠