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
280
NestJSがいい感じだった
Gunmaweb#39のLT資料です。
なんとなく興味のあったNestJSを軽く触ってみてやっぱりいいなってなったのでいくつかのポイントをまとめています。
TsukasaSekiguchi
October 31, 2020
Tweet
Share
More Decks by TsukasaSekiguchi
See All by TsukasaSekiguchi
Prismaを1年くらい使ってみたのでちょっと語る
tsukasagr
0
81
playwrightのVSCode拡張が便利すぎて、もはやE2E書けないとか言い訳できないレベルだった
tsukasagr
0
92
AWS_Copilotではじめる簡単コンテナ運用.pdf
tsukasagr
0
310
SupabaseにBaaS拡大の未来を感じた
tsukasagr
0
210
超ざっくりFirebase vs Amplify
tsukasagr
0
270
Slack Apps × BoltでToDoアプリ作ってみたって話のはずだったけど、周辺技術で良さそうなやつがあったのでそのへんも共有する話
tsukasagr
0
400
俺のMac
tsukasagr
0
280
可能な限りRDB脳のままCloud_Firestoreを使ってみる.pdf
tsukasagr
0
620
GraphQL×TypeScriptでエモかった5つのこと.pdf
tsukasagr
1
750
Other Decks in Technology
See All in Technology
スタートアップにおける組織設計とスクラムの長期戦略 / Scrum Fest Kanazawa 2024
yoshikiiida
13
3.6k
たくさん本を読んだけど 1年後には綺麗サッパリ!を乗り越えて 学習の鬼になるぞ👹
yum3
0
160
AWS IAMのアンチパターン/AWSが考える最低権限実現へのアプローチ概略(JAWS-UG朝会#59資料改修20分版)
htan
0
330
ゆめみのアクセシビリティの現在地と今後
ryokatsuse
3
290
How to Think Like a Performance Engineer
csswizardry
4
590
Classmethod流のPlatform Engineering / classmethod-platform-engineering-devio2024
tomoki10
0
470
VPoEの視点から見た、ヘンリーがサーバーサイドKotlinを使う理由 / Why Server-side Kotlin 2024
cho0o0
1
420
地理情報とAPIのトレンド
nagix
0
160
Github Actions 로 Android 팀의 효율성 극대화
hadonghyun
0
160
[NIKKEI Tech Talk] KDDI/KAG Scrum & Community for Engineering Training
curanosuke
2
220
Matterport を使ってクラスメソッド各拠点のバーチャルオフィスツアーを作成してみた
wakatsuki
0
160
20240717_イケコパ代表Copilot_in_Teams会社でこう使ってます
ponponmikankan
2
430
Featured
See All Featured
Pencils Down: Stop Designing & Start Developing
hursman
118
11k
Optimising Largest Contentful Paint
csswizardry
18
2.6k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
662
120k
GitHub's CSS Performance
jonrohan
1026
450k
Testing 201, or: Great Expectations
jmmastey
33
6.9k
Fashionably flexible responsive web design (full day workshop)
malarkey
399
65k
Building Applications with DynamoDB
mza
89
5.8k
For a Future-Friendly Web
brad_frost
173
9.2k
It's Worth the Effort
3n
181
27k
Writing Fast Ruby
sferik
623
60k
From Idea to $5000 a Month in 5 Months
shpigford
377
46k
Web Components: a chance to create the future
zenorocha
307
41k
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
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠