๋”ฐ๋ผํ•˜๋ฉฐ ๋ฐฐ์šฐ๋Š” NestJS

์ด ๊ฐ•์˜๋ฅผ ํ†ตํ•ด NestJS์— ๋Œ€ํ•ด์„œ ๋ฐฐ์šธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

(5.0) ์ˆ˜๊ฐ•ํ‰ 373๊ฐœ

์ˆ˜๊ฐ•์ƒ 8,837๋ช…

๋‚œ์ด๋„ ์ดˆ๊ธ‰

์ˆ˜๊ฐ•๊ธฐํ•œ ๋ฌด์ œํ•œ

Thumbnail

๋จผ์ € ๊ฒฝํ—˜ํ•œ ์ˆ˜๊ฐ•์ƒ๋“ค์˜ ํ›„๊ธฐ

๋จผ์ € ๊ฒฝํ—˜ํ•œ ์ˆ˜๊ฐ•์ƒ๋“ค์˜ ํ›„๊ธฐ

5.0

5.0

youngpar

100% ์ˆ˜๊ฐ• ํ›„ ์ž‘์„ฑ

์ง„์งœ ์ด๊ฒŒ ๋ฌด๋ฃŒ์ธ๊ฒŒ ๋ง์ด ๋จ?

5.0

์นด๋…ธ์ฃ 

100% ์ˆ˜๊ฐ• ํ›„ ์ž‘์„ฑ

๊ฐœ์ธ ํ”„๋กœ์ ํŠธ๋ฅผ ์œ„ํ•ด ๊ธ‰ํ•˜๊ฒŒ ๊ฐ•์˜๋ฅผ ์ฐพ์•„์„œ ๋ดค๋Š”๋ฐ ์ •๋ง ์ฐจ๊ทผ์ฐจ๊ทผ ์„ค๋ช…์„ ์ž˜ ํ•ด์ฃผ์…”์„œ ์ดํ•ด๊ฐ€ ์ž˜๋์–ด์š”! nest.js๋ฅผ ๊ณต๋ถ€ํ•˜๊ธฐ ์ „์— spring๊ฐ•์˜๋ฅผ ๋ดค์—ˆ๋Š”๋ฐ ์ด๋ ‡๊ฒŒ๊นŒ์ง€ ์ดˆ๋ณด์ž ๋ˆˆ๋†’์ด์— ๋งž์ถฐ์„œ ์ฒœ์ฒœํžˆ ํ•ต์‹ฌ์„ ์„ค๋ช…ํ•˜๋Š” ๊ฐ•์˜๋Š” ์—†์—ˆ์–ด์š”. ์ด ๊ฐ•์˜ ๋•์— ๋น„์Šทํ•œ spring๋„ ์ด์ œ์•ผ ์ดํ•ด๊ฐ€ ๋˜๋„ค์š”. ์–ด๋–ป๊ฒŒ ์„œ๋ฒ„๊ฐ€ ๋Œ์•„๊ฐ€๋Š”์ง€ ๊ตฌ์กฐ๋„ ์•Œ๊ธฐ ์‰ฝ๊ฒŒ ๊ทธ๋ฆผ์œผ๋กœ๋„ ์„ค๋ช…ํ•ด ์ฃผ์‹œ๊ณ , ์ œ๊ฐ€ ๊ถ๊ธˆํ–ˆ๋˜ ๊ฒƒ๋“ค์„ ๋‹ค ์„ค๋ช…ํ•ด ์ฃผ์…”์„œ ์ข‹์•˜์–ด์š”. ์ด ๊ฐ•์˜๋ฅผ ๋ณด๊ธฐ ์ „์—๋Š” "dto๊ฐ€ ๋ญ์ง€? ์™œ ์“ฐ์ง€? ์˜์กด์„ฑ ์ฃผ์ž…์ด๋ผ๋‹ˆ? @๊ฐ€ ๋ญ๊ณ  ์–ธ์ œ ์จ์•ผ ํ•˜์ง€? controller๋ž‘ service๋Š” ๋ฌด์Šจ ์—ญํ• ์ด๊ธธ๋ž˜ ๋‚˜๋ˆ„์ง€?"๋ผ๋Š” ์ด๋Ÿฐ ์˜๋ฌธ๋“ค์„ ๊ฐ€์ง€๊ณ  ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์–ด๋–ค ๊ฐ•์˜์—์„œ๋Š” ์•„๋ฌด๋ฆฌ ์ดˆ๋ณด ๊ฐ•์˜์—ฌ๋„ ๊ทธ๋Ÿฐ ์„ค๋ช…์ด ์—†์–ด์„œ ์ดํ•ด๋„ ์•ˆ๋˜๊ณ  ํ˜ผ์ž ์ฐพ์•„๋ด์•ผ ํ•˜๋Š” ๋‹ต๋‹ตํ•จ์ด ์žˆ์—ˆ๋Š”๋ฐ ๋ชจ๋“  ๊ฑธ ํ•˜๋‚˜ํ•˜๋‚˜ ์„ค๋ช…ํ•ด์ฃผ์…”์„œ ์†์ด ํ’€๋ ธ์–ด์š”. ์ด ๊ฐ•์˜๊ฐ€ ๋„ˆ๋ฌด ๋งˆ์Œ์— ๋“ญ๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ์„ค๋ช…์„ ์ž˜ ํ•ด์ฃผ์‹œ๋Š”๋ฐ ๋ฌด๋ฃŒ๋ผ๋‹ˆ. ๋ง์ด ๋˜๋‚˜์š”? ๋Œ€๋ฐ•... ๋„ˆ๋ฌด ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ๋•๋ถ„์— ์ดํ•ด๊ฐ€ ๋์–ด์š”! ์ด ๊ฐ•์˜ ์ถ”์ฒœํ•ฉ๋‹ˆ๋‹ค.

5.0

sadwfwe123

93% ์ˆ˜๊ฐ• ํ›„ ์ž‘์„ฑ

๋„ค์ŠคํŠธ์— ์ž…๋ฌธํ•˜๊ธฐ์— ๋งค์šฐ ์ข‹์€ ๊ฐ•์˜์ž…๋‹ˆ๋‹ค. ๊ฐ ์ฑ•ํ„ฐ๊ฐ€ ์ž˜ ๋ถ„๋ฆฌ๋˜์–ด์žˆ๊ณ  ๊ฝค๋‚˜ ๊ด‘๋ฒ”์œ„ํ•œ ๋‚ด์šฉ์„ ๋‹ค๋ค„ ๋„ค์ŠคํŠธ์˜ ๊ธฐ๋ณธ๊ฐœ๋…์„ ์ตํžˆ๊ธฐ์— ์ข‹์Šต๋‹ˆ๋‹ค. ์ข‹์€ ๊ฐ•์˜ ๋„ˆ๋ฌด๋‚˜ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

์ˆ˜๊ฐ• ํ›„ ์ด๋Ÿฐ๊ฑธ ์–ป์„ ์ˆ˜ ์žˆ์–ด์š”

  • NestJS

  • PostgresSQL

  • TypeORM

  • JWT, PASSPORT

๋…ธ๋“œ ๊ฐœ๋ฐœ์ž๋ผ๋ฉด ์ฃผ๋ชฉ!
์š”์ฆ˜ ๋œจ๋Š” NestJS๋ฅผ ์†Œ๊ฐœํ•ฉ๋‹ˆ๋‹ค.

๊ฐ•์˜ ์†Œ๊ฐœ

์•ˆ๋…•ํ•˜์„ธ์š”.
์ด๋ฒˆ ๊ฐ•์˜์—์„œ๋Š” NestJS์— ๋Œ€ํ•ด ๋‹ค๋ค„๋ดค์Šต๋‹ˆ๋‹ค.

NestJS๋Š”?

๋„ค์ŠคํŠธJS๋Š” ๊ฐ•๋ ฅํ•˜๊ณ  ๊นŒ๋‹ค๋กœ์šด Backend ์‹œ์Šคํ…œ์„ ๋งŒ๋“ค๊ธฐ ์œ„ํ•œ, ํ™•์žฅ์„ฑ์ด ๋†’๊ณ  ์ง„๋ณด์ ์ธ ๋‹ค๋ชฉ์  ์˜คํ”ˆ์†Œ์Šค ๋…ธ๋“œJS ํ”„๋ ˆ์ž„์›Œํฌ์ž…๋‹ˆ๋‹ค.

๊ฐ•๋ ฅํ•˜๊ณ  ๊นŒ๋‹ค๋กœ์šด ๋ฐฑ์—”๋“œ ์‹œ์Šคํ…œ์„ ๋งŒ๋“ค๊ธฐ ์œ„ํ•œ, 
ํ™•์žฅ์„ฑ์ด ๋†’๊ณ  ์ง„๋ณด์ ์ธ 
๋‹ค๋ชฉ์  ์˜คํ”ˆ์†Œ์Šค Node.js ํ”„๋ ˆ์ž„์›Œํฌ์ž…๋‹ˆ๋‹ค.

NestJS๋Š” ํšจ์œจ์ ์ด๊ณ  ํ™•์žฅ ๊ฐ€๋Šฅํ•œ Node.js ์„œ๋ฒ„์ธก ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ตฌ์ถ•ํ•˜๊ธฐ ์œ„ํ•œ ํ”„๋ ˆ์ž„์›Œํฌ๋กœ, ํ˜„์žฌ TypeScript์—์„œ ๊ฐ€์žฅ ๋น ๋ฅด๊ฒŒ ์„ฑ์žฅํ•˜๋Š” Node.js ํ”„๋ ˆ์ž„์›Œํฌ์ž…๋‹ˆ๋‹ค.

2021๋…„ ํ˜„์žฌ 39,300๊ฐœ ์ด์ƒ์˜ GitHub ๋ณ„์ด ์žˆ์œผ๋ฉฐ ์ฃผ๊ฐ„ npm ๋‹ค์šด๋กœ๋“œ ๋น„์œจ์€ ๊ฑฐ์˜ 600,000๊ฐœ์ž…๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ์ž๊ฐ€ ์ž˜ ์•Œ๋ ค์ง„ ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ํŒจ๋Ÿฌ๋‹ค์ž„์„ ์‹œ๋„ํ•˜๊ณ  ๋ฐฐ์šฐ๊ณ  ์‚ฌ์šฉํ•˜๋„๋ก ๊ถŒ์žฅํ•˜๋ฉฐ, ์„ค๋ช…์„œ์— ๋งŽ์€ ์˜ˆ์ œ์™€ ๋ ˆ์‹œํ”ผ ๋ฐ ์ฝ”๋“œ ์†Œ์Šค๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

NestJS๋Š” ๋‹ค๋ฅธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์™€ ํ•จ๊ป˜ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์‰ฝ๊ฒŒ ํ™•์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ ์‘์ด ์ž˜ ๋œ ์ƒํƒœ๊ณ„์™€ ์ง„๋ณด์ ์ธ ํŠน์„ฑ ๋•๋ถ„์— ๋‹ค์žฌ๋‹ค๋Šฅํ•œ JavaScript ๊ธฐ๋Šฅ๊ณผ ๋””์ž์ธ ํŒจํ„ด์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.


NestJS๋กœ ๋งŒ๋“ค์–ด๋ณด๋Š”
CRUD ์•ฑ.

CRUD๋ž€?

Create(์ƒ์„ฑ) Read(์ฝ๊ธฐ)
Update(๊ฐฑ์‹ ) Delete(์‚ญ์ œ)๋กœ,
๋Œ€๋ถ€๋ถ„์˜ ์†Œํ”„ํŠธ์›จ์–ด๊ฐ€ ๊ฐ€์ง€๋Š” 
๊ธฐ๋ณธ์ ์ธ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ๊ธฐ๋Šฅ์„ ๋งํ•ฉ๋‹ˆ๋‹ค.

์ด๋Ÿฌํ•œ ์žฅ์ ์„ ๊ฐ€์ง„ NestJS๋ฅผ ์ด ๊ฐ•์˜์—์„œ๋Š” NestJS ๊ธฐ์ดˆ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ด, NestJS๋ฅผ ์ด์šฉํ•œ ๊ฒŒ์‹œํŒ์„ ์ƒ์„ฑํ•˜๊ณ  ์ปจํŠธ๋กคํ•˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ํ•จ๊ป˜ ๋”ฐ๋ผ ๋งŒ๋“ค์–ด๋ด…๋‹ˆ๋‹ค. 

๊ทธ๋ž˜์„œ, ์ด๋Ÿฐ ๋ถ„๋“ค์ด ๋ฐฐ์šฐ๋ฉด ์ข‹์Šต๋‹ˆ๋‹ค.

  • โœ… Node.js ๊ฐœ๋ฐœ์ž
  • โœ… NestJS๋ฅผ ๋ฐฐ์šฐ๊ณ  ์‹ถ์œผ์‹  ๋ถ„

์„ ์ˆ˜ ์ง€์‹์„ ํ™•์ธํ•ด์ฃผ์„ธ์š”!

  • Node.js, Express๋ฅผ ์‚ฌ์šฉํ•˜์‹œ๋Š” ๋ถ„๋“ค์ด ํ•™์Šตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ‘œ์™€ ๊ทธ๋ฆผ์œผ๋กœ 
์‰ฝ๊ฒŒ ๋ฐฐ์›Œ์š”.

ํ•™์Šตํ•˜๋ฉด์„œ ํ—ท๊ฐˆ๋ฆด ์ˆ˜ ์žˆ๋Š” ๋ถ€๋ถ„์„ ๋ชจ๋‘ ๋„ํ‘œํ™”ํ•˜์˜€์Šต๋‹ˆ๋‹ค. ๊ฐ•์˜๊ฐ€ NestJS ๊ธฐ๋Šฅ ์œ„์ฃผ๋กœ ๋‚˜์•„๊ฐ€๊ธฐ๋Š” ํ•˜์ง€๋งŒ, ๊ฐ•์˜๋ฅผ ํ•˜๋Š” ์ค‘๊ฐ„์ค‘๊ฐ„ ์ˆ˜๊ฐ•์ƒ ์ž…์žฅ์—์„œ ํ—ท๊ฐˆ๋ฆฌ๋Š” ๊ฐœ๋…์ด๋‚˜ ํ•˜๋‚˜ํ•˜๋‚˜์˜ ๊ธฐ๋Šฅ๋“ค์ด ์™œ ์ด๋ ‡๊ฒŒ ๊ตฌ์„ฑ๋˜๋Š”์ง€ ์„ค๋ช…ํ•˜๊ธฐ ์œ„ํ•ด ๋…ธ๋ ฅํ–ˆ์Šต๋‹ˆ๋‹ค.

์ด ๊ฐ•์˜๋กœ ๋งŽ์€ ๋ถ„๋“ค์ด ์•ž์œผ๋กœ NestJS๋ฅผ ์‚ฌ์šฉํ•˜๋Š”๋ฐ ์žˆ์–ด์„œ ๋งŽ์€ ๋„์›€์ด ๋์œผ๋ฉด ์ข‹๊ฒ ์Šต๋‹ˆ๋‹ค. ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ๐Ÿ˜Š


John Ahn์˜ 
๋‹ค๋ฅธ ๊ฐ•์˜๊ฐ€ ๊ถ๊ธˆํ•˜๋‹ค๋ฉด?

์ด๋Ÿฐ ๋ถ„๋“ค๊ป˜
์ถ”์ฒœ๋“œ๋ ค์š”

ํ•™์Šต ๋Œ€์ƒ์€
๋ˆ„๊ตฌ์ผ๊นŒ์š”?

  • Nodejs ๊ฐœ๋ฐœ์ž

  • NestJS๋ฅผ ๋ฐฐ์šฐ๊ณ  ์‹ถ์œผ์‹  ๋ถ„

์„ ์ˆ˜ ์ง€์‹,
ํ•„์š”ํ• ๊นŒ์š”?

  • NodeJS

  • ExpressJS

์•ˆ๋…•ํ•˜์„ธ์š”
John Ahn์ž…๋‹ˆ๋‹ค.

85,402

๋ช…

์ˆ˜๊ฐ•์ƒ

2,780

๊ฐœ

์ˆ˜๊ฐ•ํ‰

2,430

๊ฐœ

๋‹ต๋ณ€

4.8

์ 

๊ฐ•์˜ ํ‰์ 

20

๊ฐœ

๊ฐ•์˜

์•ˆ๋…•ํ•˜์„ธ์š”. 

์ฆ๊ฒ๊ฒŒ ๊ฐœ๋ฐœํ•˜๊ณ  ์žˆ๋Š” ๊ฐœ๋ฐœ์ž์ž…๋‹ˆ๋‹ค. 

์•ž์œผ๋กœ ๋งŽ์€ ๋„์›€์„ ๋“œ๋ฆด ์ˆ˜ ์žˆ์—ˆ์œผ๋ฉด ์ข‹๊ฒ ์Šต๋‹ˆ๋‹ค.


- ๋”ฐ๋ผํ•˜๋ฉฐ ๋ฐฐ์šฐ๋Š” ๋„์ปค์™€ CIํ™˜๊ฒฝ ์ €์ž
- ์นด์นด์˜ค ๊ธฐ์—… ์‹ ์ž… ๊ณต์ฑ„ FE ๊ต์ˆ˜์ž
- ํŒจ์ŠคํŠธ์บ ํผ์Šค, ๊ตฌ๋ฆ„ ๊ฐ•์‚ฌ 
- ํ˜„๋Œ€์ž๋™์ฐจ ๊ฐœ๋ฐœ ๊ธฐ์—… ๊ต์œก
- ์‹ ํ•œ์€ํ–‰ ๋ฉ”ํƒ€๋ฒ„์Šค, ์ฝ”๋น— ํƒ€์šด ํ’€์Šคํƒ ๊ฐœ๋ฐœ
- ์—ฌ๋Ÿฌ ๊ณต๊ณต๊ธฐ๊ด€ SNS ํ’€์Šคํƒ ๊ฐœ๋ฐœ

๋”๋ณด๊ธฐ

์ปค๋ฆฌํ˜๋Ÿผ

์ „์ฒด

60๊ฐœ โˆ™ (6์‹œ๊ฐ„ 12๋ถ„)

ํ•ด๋‹น ๊ฐ•์˜์—์„œ ์ œ๊ณต:

์ˆ˜์—…์ž๋ฃŒ
๊ฐ•์˜ ๊ฒŒ์‹œ์ผ: 
๋งˆ์ง€๋ง‰ ์—…๋ฐ์ดํŠธ์ผ: 

์ˆ˜๊ฐ•ํ‰

์ „์ฒด

373๊ฐœ

5.0

373๊ฐœ์˜ ์ˆ˜๊ฐ•ํ‰

  • sadwfwe123๋‹˜์˜ ํ”„๋กœํ•„ ์ด๋ฏธ์ง€
    sadwfwe123

    ์ˆ˜๊ฐ•ํ‰ 6

    โˆ™

    ํ‰๊ท  ํ‰์  5.0

    5

    93% ์ˆ˜๊ฐ• ํ›„ ์ž‘์„ฑ

    ๋„ค์ŠคํŠธ์— ์ž…๋ฌธํ•˜๊ธฐ์— ๋งค์šฐ ์ข‹์€ ๊ฐ•์˜์ž…๋‹ˆ๋‹ค. ๊ฐ ์ฑ•ํ„ฐ๊ฐ€ ์ž˜ ๋ถ„๋ฆฌ๋˜์–ด์žˆ๊ณ  ๊ฝค๋‚˜ ๊ด‘๋ฒ”์œ„ํ•œ ๋‚ด์šฉ์„ ๋‹ค๋ค„ ๋„ค์ŠคํŠธ์˜ ๊ธฐ๋ณธ๊ฐœ๋…์„ ์ตํžˆ๊ธฐ์— ์ข‹์Šต๋‹ˆ๋‹ค. ์ข‹์€ ๊ฐ•์˜ ๋„ˆ๋ฌด๋‚˜ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

    • youngpar๋‹˜์˜ ํ”„๋กœํ•„ ์ด๋ฏธ์ง€
      youngpar

      ์ˆ˜๊ฐ•ํ‰ 1

      โˆ™

      ํ‰๊ท  ํ‰์  5.0

      5

      100% ์ˆ˜๊ฐ• ํ›„ ์ž‘์„ฑ

      ์ง„์งœ ์ด๊ฒŒ ๋ฌด๋ฃŒ์ธ๊ฒŒ ๋ง์ด ๋จ?

      • shsing2๋‹˜์˜ ํ”„๋กœํ•„ ์ด๋ฏธ์ง€
        shsing2

        ์ˆ˜๊ฐ•ํ‰ 10

        โˆ™

        ํ‰๊ท  ํ‰์  5.0

        5

        30% ์ˆ˜๊ฐ• ํ›„ ์ž‘์„ฑ

        NestJS ์™•์ดˆ๋ณด์ž๋„ ๊ฐ„๋‹จํ•˜๊ฒŒ ๋”ฐ๋ผํ•  ์ˆ˜ ์žˆ๋„๋ก ์‰ฝ๊ณ  ์ž์„ธํ•˜๊ฒŒ ์„ค๋ช…ํ•ด์ค๋‹ˆ๋‹ค! (๋Œ€์‹  node.js ์—์„œ express๋กœ CRUD ๊ตฌํ˜„ํ•˜๋Š” ๋ฒ•์„ ์ด๋ฏธ ์•Œ๊ณ  ์žˆ๊ณ , typesript์— ๋Œ€ํ•œ ๊ธฐ๋ณธ์ ์ธ ์ง€์‹์€ ์žˆ๋‹ค๋Š” ์ „์ œ๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค)

        • TG H๋‹˜์˜ ํ”„๋กœํ•„ ์ด๋ฏธ์ง€
          TG H

          ์ˆ˜๊ฐ•ํ‰ 1

          โˆ™

          ํ‰๊ท  ํ‰์  5.0

          ์ˆ˜์ •๋จ

          5

          100% ์ˆ˜๊ฐ• ํ›„ ์ž‘์„ฑ

          ๊ฐ•์˜ ๋๊นŒ์ง€ ์ž˜ ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. ์ง€๊ธˆ ์ง„ํ–‰ ์ค‘์ธ ํ”„๋กœ์ ํŠธ์—์„œ ๋งŒ๋“ค ๋ฐฑ์—”๋“œ์˜ ๊ธฐ์ดˆ๋ฅผ ์ž˜ ๋ฐฐ์šฐ๊ณ  ๊ฐ€๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

          • ์นด๋…ธ์ฃ ๋‹˜์˜ ํ”„๋กœํ•„ ์ด๋ฏธ์ง€
            ์นด๋…ธ์ฃ 

            ์ˆ˜๊ฐ•ํ‰ 2

            โˆ™

            ํ‰๊ท  ํ‰์  5.0

            5

            100% ์ˆ˜๊ฐ• ํ›„ ์ž‘์„ฑ

            ๊ฐœ์ธ ํ”„๋กœ์ ํŠธ๋ฅผ ์œ„ํ•ด ๊ธ‰ํ•˜๊ฒŒ ๊ฐ•์˜๋ฅผ ์ฐพ์•„์„œ ๋ดค๋Š”๋ฐ ์ •๋ง ์ฐจ๊ทผ์ฐจ๊ทผ ์„ค๋ช…์„ ์ž˜ ํ•ด์ฃผ์…”์„œ ์ดํ•ด๊ฐ€ ์ž˜๋์–ด์š”! nest.js๋ฅผ ๊ณต๋ถ€ํ•˜๊ธฐ ์ „์— spring๊ฐ•์˜๋ฅผ ๋ดค์—ˆ๋Š”๋ฐ ์ด๋ ‡๊ฒŒ๊นŒ์ง€ ์ดˆ๋ณด์ž ๋ˆˆ๋†’์ด์— ๋งž์ถฐ์„œ ์ฒœ์ฒœํžˆ ํ•ต์‹ฌ์„ ์„ค๋ช…ํ•˜๋Š” ๊ฐ•์˜๋Š” ์—†์—ˆ์–ด์š”. ์ด ๊ฐ•์˜ ๋•์— ๋น„์Šทํ•œ spring๋„ ์ด์ œ์•ผ ์ดํ•ด๊ฐ€ ๋˜๋„ค์š”. ์–ด๋–ป๊ฒŒ ์„œ๋ฒ„๊ฐ€ ๋Œ์•„๊ฐ€๋Š”์ง€ ๊ตฌ์กฐ๋„ ์•Œ๊ธฐ ์‰ฝ๊ฒŒ ๊ทธ๋ฆผ์œผ๋กœ๋„ ์„ค๋ช…ํ•ด ์ฃผ์‹œ๊ณ , ์ œ๊ฐ€ ๊ถ๊ธˆํ–ˆ๋˜ ๊ฒƒ๋“ค์„ ๋‹ค ์„ค๋ช…ํ•ด ์ฃผ์…”์„œ ์ข‹์•˜์–ด์š”. ์ด ๊ฐ•์˜๋ฅผ ๋ณด๊ธฐ ์ „์—๋Š” "dto๊ฐ€ ๋ญ์ง€? ์™œ ์“ฐ์ง€? ์˜์กด์„ฑ ์ฃผ์ž…์ด๋ผ๋‹ˆ? @๊ฐ€ ๋ญ๊ณ  ์–ธ์ œ ์จ์•ผ ํ•˜์ง€? controller๋ž‘ service๋Š” ๋ฌด์Šจ ์—ญํ• ์ด๊ธธ๋ž˜ ๋‚˜๋ˆ„์ง€?"๋ผ๋Š” ์ด๋Ÿฐ ์˜๋ฌธ๋“ค์„ ๊ฐ€์ง€๊ณ  ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์–ด๋–ค ๊ฐ•์˜์—์„œ๋Š” ์•„๋ฌด๋ฆฌ ์ดˆ๋ณด ๊ฐ•์˜์—ฌ๋„ ๊ทธ๋Ÿฐ ์„ค๋ช…์ด ์—†์–ด์„œ ์ดํ•ด๋„ ์•ˆ๋˜๊ณ  ํ˜ผ์ž ์ฐพ์•„๋ด์•ผ ํ•˜๋Š” ๋‹ต๋‹ตํ•จ์ด ์žˆ์—ˆ๋Š”๋ฐ ๋ชจ๋“  ๊ฑธ ํ•˜๋‚˜ํ•˜๋‚˜ ์„ค๋ช…ํ•ด์ฃผ์…”์„œ ์†์ด ํ’€๋ ธ์–ด์š”. ์ด ๊ฐ•์˜๊ฐ€ ๋„ˆ๋ฌด ๋งˆ์Œ์— ๋“ญ๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ์„ค๋ช…์„ ์ž˜ ํ•ด์ฃผ์‹œ๋Š”๋ฐ ๋ฌด๋ฃŒ๋ผ๋‹ˆ. ๋ง์ด ๋˜๋‚˜์š”? ๋Œ€๋ฐ•... ๋„ˆ๋ฌด ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ๋•๋ถ„์— ์ดํ•ด๊ฐ€ ๋์–ด์š”! ์ด ๊ฐ•์˜ ์ถ”์ฒœํ•ฉ๋‹ˆ๋‹ค.

            John Ahn๋‹˜์˜ ๋‹ค๋ฅธ ๊ฐ•์˜

            ์ง€์‹๊ณต์œ ์ž๋‹˜์˜ ๋‹ค๋ฅธ ๊ฐ•์˜๋ฅผ ๋งŒ๋‚˜๋ณด์„ธ์š”!

            ๋น„์Šทํ•œ ๊ฐ•์˜

            ๊ฐ™์€ ๋ถ„์•ผ์˜ ๋‹ค๋ฅธ ๊ฐ•์˜๋ฅผ ๋งŒ๋‚˜๋ณด์„ธ์š”!

            ๋ฌด๋ฃŒ