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
780
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
63
最近のUnityとVRChat / About Unity and VRChat recently
dojineko
0
150
WebXRでポートフォリオを作ろう/Let's make your portfolio with WebXR!
dojineko
0
160
ペパボ ホスティング事業部のWebフロントエンドについて 2022 / About Web Frontend of Pepabo Hosting division 2022
dojineko
1
9.2k
Viteはいいぞ/Vite is Good
dojineko
1
740
はじめてでもできた!VR登壇への道 / Let's VR speech!
dojineko
0
420
gRPC-WEBを使ったWEBアプリ開発/Development web-app with gRPC-WEB
dojineko
1
930
もう俺には関係なくないTypeScript/Our TypeScript
dojineko
3
350
TypeScript ではじめる Clean Architecture / Let's start Clean Architecture with TypeScript
dojineko
2
3.3k
Other Decks in Technology
See All in Technology
Cloud Native Scalability for Internal Developer Platforms
hhiroshell
2
490
Workflows から Agents へ ~ 生成 AI アプリの成長過程とアプローチ~
belongadmin
3
170
JSX - 歴史を振り返り、⾯⽩がって、エモくなろう
pal4de
3
1k
Amazon Q Developer for GitHubとAmplify Hosting でサクッとデジタル名刺を作ってみた
kmiya84377
0
3.5k
讓測試不再 BB! 從 BDD 到 CI/CD, 不靠人力也能 MVP
line_developers_tw
PRO
0
1.1k
ユーザーのプロフィールデータを活用した推薦精度向上の取り組み
yudai00
0
450
~宇宙最速~2025年AWS Summit レポート
satodesu
1
640
IAMのマニアックな話 2025を執筆して、 見えてきたAWSアカウント管理の現在
nrinetcom
PRO
4
630
工具人的一生: 開發很多 AI 工具讓我 慵懶過一生
line_developers_tw
PRO
0
1k
2025/6/21 日本学術会議公開シンポジウム発表資料
keisuke198619
2
460
Create a Rails8 responsive app with Gemini and RubyLLM
palladius
0
130
[TechNight #90-1] 本当に使える?ZDMの新機能を実践検証してみた
oracle4engineer
PRO
3
110
Featured
See All Featured
How GitHub (no longer) Works
holman
314
140k
A designer walks into a library…
pauljervisheath
206
24k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2.1k
Navigating Team Friction
lara
187
15k
Designing for humans not robots
tammielis
253
25k
Typedesign – Prime Four
hannesfritz
42
2.7k
Why You Should Never Use an ORM
jnunemaker
PRO
56
9.4k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.3k
Automating Front-end Workflow
addyosmani
1370
200k
Product Roadmaps are Hard
iamctodd
PRO
53
11k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
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
૬ޓʹҠߦ͕Ͱ͖Δͷ͔ݕূதଟΤΠϠοͱΔඞཁ͋Γ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠