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
0
260
NestJSがいい感じだった
Gunmaweb#39のLT資料です。
なんとなく興味のあったNestJSを軽く触ってみてやっぱりいいなってなったのでいくつかのポイントをまとめています。
TsukasaSekiguchi
October 31, 2020
Tweet
Share
More Decks by TsukasaSekiguchi
See All by TsukasaSekiguchi
playwrightのVSCode拡張が便利すぎて、もはやE2E書けないとか言い訳できないレベルだった
tsukasagr
0
53
AWS_Copilotではじめる簡単コンテナ運用.pdf
tsukasagr
0
280
SupabaseにBaaS拡大の未来を感じた
tsukasagr
0
200
超ざっくりFirebase vs Amplify
tsukasagr
0
250
Slack Apps × BoltでToDoアプリ作ってみたって話のはずだったけど、周辺技術で良さそうなやつがあったのでそのへんも共有する話
tsukasagr
0
380
俺のMac
tsukasagr
0
270
可能な限りRDB脳のままCloud_Firestoreを使ってみる.pdf
tsukasagr
0
610
GraphQL×TypeScriptでエモかった5つのこと.pdf
tsukasagr
1
730
カイゼンジャーニーを読んだらひとつウエノ男になれた
tsukasagr
0
910
Other Decks in Technology
See All in Technology
IaCジェネレーターとBedrockで詳細設計書を生成してみた
tsukasa_ishimaru
4
860
成長をサポートするピープルマネジメントのやり方
sioncojp
1
150
BPStudyの200回を中心にIT業界を振り返る。そしてこれから
haru860
3
390
Handling focus in 2024
tahia910
0
200
Rustで「プリズモイダル法」を利用して「土量計算」をガチでやる
nokonoko1203
1
230
本当のAWS基礎
toru_kubota
1
600
Building a RAG-poweredAI chat appwith Python and VS Code
pamelafox
0
140
Gitlab本から学んだこと - そーだいなるプレイバック / gitlab-book
soudai
7
1.3k
自己改善からチームを動かす! 「セルフエンジニアリングマネージャー」のすゝめ
shoota
6
1k
JSON攻略法.pdf
miyakemito
8
5.2k
今年のRubyKaigiはProfiler Year🤘
osyoyu
0
310
障害対応をちょっとずつよくしていくための 演習の作りかた
heleeen
1
1.5k
Featured
See All Featured
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
14
1.5k
Optimizing for Happiness
mojombo
370
69k
Fontdeck: Realign not Redesign
paulrobertlloyd
76
4.9k
5 minutes of I Can Smell Your CMS
philhawksworth
199
19k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
126
32k
Imperfection Machines: The Place of Print at Facebook
scottboms
261
12k
Happy Clients
brianwarren
92
6.4k
The Illustrated Children's Guide to Kubernetes
chrisshort
32
46k
Building Applications with DynamoDB
mza
88
5.6k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
6
1.3k
Build your cross-platform service in a week with App Engine
jlugia
226
17k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
226
51k
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
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠