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
NestJSがいい感じだった
Search
TsukasaSekiguchi
October 31, 2020
Technology
370
0
Share
NestJSがいい感じだった
Gunmaweb#39のLT資料です。
なんとなく興味のあったNestJSを軽く触ってみてやっぱりいいなってなったのでいくつかのポイントをまとめています。
TsukasaSekiguchi
October 31, 2020
More Decks by TsukasaSekiguchi
See All by TsukasaSekiguchi
おれのAgentic Coding 2026/03
tsukasagr
1
160
Agentic Coding 時代に絶対抑えておきたい git worktree の基礎知識と、ちょっとだけMCPについても言及
tsukasagr
0
120
おれのAI活用の現状とこれから
tsukasagr
0
240
Deep Researchで積読解消!技術書キャッチアップ術
tsukasagr
0
130
v0とCursorで爆速開発🚀
tsukasagr
0
290
Prismaを1年くらい使ってみたのでちょっと語る
tsukasagr
0
260
playwrightのVSCode拡張が便利すぎて、もはやE2E書けないとか言い訳できないレベルだった
tsukasagr
0
250
AWS_Copilotではじめる簡単コンテナ運用.pdf
tsukasagr
0
420
SupabaseにBaaS拡大の未来を感じた
tsukasagr
0
320
Other Decks in Technology
See All in Technology
TypeScript の型で副作用の実行順序を制御する
yanaemon
2
180
インプロセスQAのための要因から捉えるプロジェクトリスクマネジメントnano #1 開発リソース効率状態への対処 #jasstnano
barus_qa
0
230
Sansan Engineering Unit 紹介資料
sansan33
PRO
1
4.5k
Fラン学生が考える、AI時代のデザインに執着した突破口
husengs7
1
240
AIのために、AIを使った、Effect-TSからの脱却 〜テストを活用した安全なリファクタリングの進め方〜
bitkey
PRO
1
340
The Making of AI Chips
pfn
PRO
0
690
DI コンテナ自動生成ツールを実装してみた / intro-autodi
uhzz
0
830
「使われるデータ基盤」を目指してデータアナリストとワークショップをやった話
jackojacko_
2
730
Personal knowledge bases using LLM
lycorptech_jp
PRO
0
310
layerx-fde-practices
cipepser
6
2.3k
類似画像検索モデルの開発ノウハウ
lycorptech_jp
PRO
1
100
自作エディターをOSSにして分かった、一人に刺さる開発が世界を動かす理由
shinyasaita
1
280
Featured
See All Featured
30 Presentation Tips
portentint
PRO
1
300
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.5k
Mobile First: as difficult as doing things right
swwweet
225
10k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.6k
Agile that works and the tools we love
rasmusluckow
331
21k
Fashionably flexible responsive web design (full day workshop)
malarkey
408
66k
Darren the Foodie - Storyboard
khoart
PRO
3
3.3k
Statistics for Hackers
jakevdp
799
230k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
300
Unsuck your backbone
ammeep
672
58k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
52k
Transcript
/FTU+4͕͍͍ײͩͬͨ͡ 2020/10/31 Gunma.web #39 ؔޱ ࢘
ࣗݾհ ໊લ: ؔޱ࢘ SNS: GitHub: TsukasaGR Twitter: TsukasaGr NewsPicks: ؔޱ࢘
࠲ӈͷ ࣗͷͨΊʹɺଞਓʹਚ͘͢ ࣄ: αϥϦʔϚϯ: SIerͰडୗ։ൃ ϑϦʔϥϯε: ελʔτΞοϓͷWebΤϯδχΞ ࠷ۙ৮ͬͯΔͷ: Javascript/Typescript(Vue.js/Nuxt.js/NestJS/React)ɺCordova
/FTU+4ͱʁ
/PEFKTͷ͍͍ײ͡ͷϑϨʔϜϫʔΫ w /PEFKT൛ͷ-BSBWFM3BJMTΈ͍ͨͳϑϧελοΫ'8 w 5ZQF4DSJQU w "OHVMBSΛΠϯεύΠΞͯͭ͘͠ΒΕͨͷ w ͪ͜ΒͷεϥΠυʹ͔ͬ͠Γॻ͔Ε͍ͯ·͢ https://speakerdeck.com/potato4d/what-is-nestjs-number-nestjs-meetup
/PEFKT'8ͷݱঢ়
ѹతFYQSFTTҰڧ
ͨͩ͠/FTU+4͕৳ͼ͖ͯͯΔ
FYQSFTT͡Όμϝͳͷʁ
FYQSFTTͷϓϩίϯ w 1SPT w ࠷ݶͷػೳ͚ͩͳͷͰ͍ܰ w αʔόʔϨεͰݺͼग़͢߹ͳΜ͔ศར w $POT w
࠷ݶͷػೳ͚ͩͰແ๏ଳͳͷͰɺͪΐͬͱෳࡶͳ͜ͱΖ ͏ͱ͢ΔͱͲΜͳॻ͖ํͰͰ͖ͯ͠·͏ w શ෦ࣗͰॻ͔ͳ͍ͱ͍͚ͳ͍ '8ΛͬͯΔײ͕͋͡·Γͳ ͍
FYQSFTTͷ͍Ͳ͜Ζ w (PPE w ΤϯυϙΠϯτ͕͔ͭ͠ͳ͍"1* σϞ༻ͱ͔ w αʔόʔϨεͷόοΫΤϯυ ىಈ͕͍ܰͷͰ
w #BE w ΰϦΰϦʹ࣮͕ඞཁͳ"1* w ෳਓͰ։ൃ ͋Δఔ੍͕΄͍͠ͷͰ
FYQSFTTͷ͍Ͳ͜Ζ w (PPE w ΤϯυϙΠϯτ͕͔ͭ͠ͳ͍"1* σϞ༻ͱ͔ w αʔόʔϨεͰར༻ ىಈ͕͍ܰͷͰ
w #BE w ΰϦΰϦʹ࣮͕ඞཁͳ"1* w ෳਓͰ։ൃ ͋Δఔ੍͕΄͍͠ͷͰ ࠓ·Ͱͷ/PEFKT͕͜͜ऑ͔ͬͨ
FYQSFTTͷ͍Ͳ͜Ζ w (PPE w ΤϯυϙΠϯτ͕͔ͭ͠ͳ͍"1* σϞ༻ͱ͔ w αʔόʔϨεͰར༻ ىಈ͕͍ܰͷͰ
w #BE w ෳͷΤϯυϙΠϯτΛ࣋ͭ"1* ΄ͱΜͲͦ͏ͩΑͶ w ෳਓͰ։ൃ ͋Δఔ੍͕΄͍͠ͷͰ ࠓ·Ͱͷ/PEFKT͕͜͜ऑ͔ͬͨ /FTU+4͕ͯ͢ղܾͯ͘͠ΕΔʂ
/FTU+4ͷ͍͍ײ͡ͳ ͱ͜Ζ ˞ͨ͘͞Μ͋ΔͷͰҰ෦͚ͩ
%*ίϯςφ͕͍͍ײ͡ w େ͖ͳొਓ.PEVMFT$POUSPMMFST4FSWJDFT 㲈1SPWJEFST w .PEVMFͰґଘؔΛ·ͱΊɺඞཁͳ.PEVMFΛݺͼग़͢ w ٯʹ.PEVMFʹͳ͍ͷΛݺͼग़ͤͳ͍ (MPCBMʹ͢Εผ
%*ίϯςφ͕͍͍ײ͡ w େ͖ͳొਓ.PEVMFT$POUSPMMFST4FSWJDFT 㲈1SPWJEFST w .PEVMFͰґଘؔΛ·ͱΊɺඞཁͳ.PEVMFΛݺͼग़͢ w ٯʹ.PEVMFʹͳ͍ͷΛݺͼग़ͤͳ͍ (MPCBMʹ͢Εผ
3PPUϞδϡʔϧ 6TFSϞδϡʔϧ ͜ͷΞϓϦ6TFS$POUSPMMFSΛ ͏͜ͱ͕Ͱ͖Δ w 6TFS$POUSPMMFSҎԼΛ͏͜ͱ͕Ͱ͖Δ w 6TFS4FSWJDF w 4VC.PEVMFԼͷ֤छαʔϏε w 6TFS4FSWJDFҎԼΛ͏͜ͱ͕Ͱ͖Δ w 4VC.PEVMFԼͷ֤छαʔϏε 4VCϞδϡʔϧ
%*ίϯςφ͕͍͍ײ͡ w ґଘੑͷೖίϯετϥΫλͰఆٛͰ͖Δ w ্ॻ͖Ͱ͖ΔͷͰ͓࡞๏ʹଇͬͯॻ͚ͩ͘Ͱࣗવͱςελϒϧ ʹͳΔ
%*ίϯςφ͕͍͍ײ͡ w ґଘੑͷೖίϯετϥΫλͰఆٛͰ͖Δ w ্ॻ͖Ͱ͖ΔͷͰ͓࡞๏ʹଇͬͯॻ͚ͩ͘Ͱࣗવͱςελϒϧ ʹͳΔ 6TFS$POUSPMMFS 6TFS$POUSPMMFSͰ zUIJTVTFS4FSWJDFzͱͯ͠ѻ͑Δ σϑΥϧτͰ6TFS4FSWJDFΛೖ͍ͯ͠Δ͕ɺ
ςετ࣌ͷΈϞοΫʹ͢Γସ࣮͑ͯߦ͢Δ͜ͱ͕ Ͱ͖Δ ςετ
ϧʔςΟϯά͕͍͍ײ͡ w Ξϊςʔγϣϯ σίϨʔλ ͰϧʔςΟϯάΛઃఆͰ͖Δ w ϑΝΠϧΛ։͘ͱ͙͢ʹύε͕Θ͔ΔͷͰՄಡੑ˕
ϧʔςΟϯά͕͍͍ײ͡ w Ξϊςʔγϣϯ σίϨʔλ ͰϧʔςΟϯάΛઃఆͰ͖Δ w ϑΝΠϧΛ։͘ͱ͙͢ʹύε͕Θ͔ΔͷͰՄಡੑ˕ VTFSTΛࢦఆ͍ͯ͠ΔͷͰɺ͜ͷ $POUSPMMFSͷύε IUUQTYYYDPNVTFSTYYY
ʹͳΔ IUUQTYYYDPNVTFST IUUQTYYYDPNVTFST
ϗοτϦϩʔυ͕͍͍ײ͡ w lZBSOTUBSUEFWz͢ΕมߋΛ͙͢ʹөͰ͖Δ w ϑϩϯτͷؾ࣋ͪΑ͞Λ"1*࣮ͰମײͰ͖Δ
ϗοτϦϩʔυ͕͍͍ײ͡ w lZBSOTUBSUEFWz͢ΕมߋΛ͙͢ʹөͰ͖Δ w ϑϩϯτͷؾ࣋ͪΑ͞Λ"1*࣮ͰମײͰ͖Δ
ϚΠάϨʔγϣϯ͕͍͍ײ͡ w &OUJUZσίϨʔλΛॻ͍ͨϑΝΠϧΛ༻ҙ͓͚ͯͩ͘͠ w ͋ͱzZBSOTUBSUEFWz͢ΕࣗಈͰ%#ʹө͞ΕΔ w ࣗಈखಈସઃఆͰมߋͰ͖Δ
ϚΠάϨʔγϣϯ͕͍͍ײ͡ w &OUJUZσίϨʔλΛॻ͍ͨϑΝΠϧΛ༻ҙ͓͚ͯͩ͘͠ w ͪΖΜVQEPXOͷΑ͏ͳϚΠάϨʔγϣϯֻ͚Δ w ͋ͱzZBSOTUBSUEFWz͢ΕࣗಈͰ%#ʹө͞ΕΔ w ࣗಈखಈସઃఆͰมߋͰ͖Δ
03.͕͍͍ײ͡ w 3BJMTͰ͍͏"DUJWF3FDPSEɺ-BSBWFMͰ͍͏&MPRVFOUͷΑ͏ͳ 03.Λॻ͚Δ
03.͕͍͍ײ͡ w 3BJMTͰ͍͏"DUJWF3FDPSEɺ-BSBWFMͰ͍͏&MPRVFOUͷΑ͏ͳ 03.Λॻ͚Δ
όϦσʔγϣϯ͕͍͍ײ͡ w σίϨʔλͰόϦσʔγϣϯఆٛͰ͖Δ w ࣗ࡞όϦσʔγϣϯ࣮Ͱ͖Δ
όϦσʔγϣϯ͕͍͍ײ͡ w σίϨʔλͰόϦσʔγϣϯఆٛͰ͖Δ w ࣗ࡞όϦσʔγϣϯ࣮Ͱ͖Δ
4XBHHFS6*͕͍͍ײ͡ w l!OFTUKTTXBHHFSzͱ͍͏ެࣜύοέʔδ͕༻ҙ͞Ε͍ͯΔ w σίϨʔλΛॻ͚ͩ͘Ͱ4XBHHFS6*ʹࣗಈө͞ΕΔ
4XBHHFS6*͕͍͍ײ͡ w l!OFTUKTTXBHHFSzͱ͍͏ެࣜύοέʔδ͕༻ҙ͞Ε͍ͯΔ w σίϨʔλΛॻ͚ͩ͘Ͱ4XBHHFS6*ʹࣗಈө͞ΕΔ Ϩεϙϯεఆٛ ϓϩύςΟఆٛ ͓ͳ͡Έͷ4XBHHFS6*
ͦͷଞ͍͍ײ͡ w ೝূ w ϛυϧΣΞ w /P42- w (SBQI2- w
H31$ w ͳͲͳͲ৭ʑͳͷΛެࣜύοέʔδܦ༝Ͱར༻Ͱ͖Δ
͍͞͝ʹ
όοΫΤϯυ+4 54 ͷ͕࣌དྷ͔ͨ w αʔόʔϨεͰϥΠτͳόοΫΤϯυͰ͋ΕFYQSFTTͷར༻͕ ଟ͍͕ɺຊ֨తͳ3FTU(SBQI2-"1*Λͭ͘Ζ͏ͱ͢Δͱ(P -BSBWFM3BJMTͳͲ͕·ͩ·ͩओྲྀͳΑ͏ʹײ͍ͯ͡Δ w /FTU+4ͷొͰҰؾʹόοΫΤϯυ+4 54
ͷ͕࣌དྷΔ͔ ͠Εͳ͍ w ϑϩϯτΤϯδχΞڠྗ͍͢͠ ಛʹ"OHVMBSͩͱ ͷͰϚδ Ͱ͋Δ͔͠Εͳ͍ w ࠓճͭͬͨ͘αϯϓϧͪ͜Βʹ্͛ͯ·͢ https://github.com/TsukasaGR/nest-example
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠