์ธํ”„๋Ÿฐ ์˜๋ฌธ ๋ธŒ๋žœ๋“œ ๋กœ๊ณ 
์ธํ”„๋Ÿฐ ์˜๋ฌธ ๋ธŒ๋žœ๋“œ ๋กœ๊ณ 
BEST

์Šต๊ด€๋ถ€ํ„ฐ ๋ฐ”๊ฟ”์ฃผ๋Š” Node.js & Express ๊ธฐ์ดˆ

๊ฐœ๋ฐœ ๊ณต๋ถ€๋ฅผ ์–ด๋–ป๊ฒŒ ํ•ด์•ผํ•  ์ง€ ๋ชจ๋ฅด๊ณ , ์‹ค๋ ฅ์ด ์ข€์ฒ˜๋Ÿผ ๋Š˜์ง€ ์•Š์œผ์‹œ๋Š” ๋ถ„๋“ค์„ ์œ„ํ•ด ์›น์— ๋Œ€ํ•œ ์ „๋ฐ˜์ ์ธ ์›๋ฆฌ, ๊ธฐ์ดˆ๋ฅผ ์žก์•„๋“œ๋ฆฌ๋ฉฐ ์‹ค์ œ ๊ฐœ๋ฐœ์— ํ•„์š”ํ•œ ๋ถ€๋ถ„์„ ์œ„์ฃผ๋กœ ๊ฐœ๋ฐœ์˜ ๊ธฐ๋ฐ˜์„ ๋‹ค์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ดˆ๊ธ‰์ž๋ฅผ ์œ„ํ•ด ์ค€๋น„ํ•œ
[๋ฐฑ์—”๋“œ, ์›น ๊ฐœ๋ฐœ] ๊ฐ•์˜์ž…๋‹ˆ๋‹ค.

์ด๋Ÿฐ ๊ฑธ ๋ฐฐ์šธ ์ˆ˜ ์žˆ์–ด์š”

  • Node.js

  • Express

  • Prisma

  • MySQL

  • REST API

  • AWS ๋ฐฐํฌ ( EC2 )

  • ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์ž์—๊ฒŒ ํ•„์š”ํ•œ ๊ธฐ์ดˆ ์ด๋ก 

Node.js๋กœ ํ•˜๋Š” ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ!
๋”ฐ๋ผ ํ•˜๋‹ค ๋ณด๋ฉด ๋‚˜๋„ ์–ด์ฉŒ๋ฉด ๊ฐœ๋ฐœ ๊ณ ์ˆ˜?

์™œ Express์ผ๊นŒ์š”? ๐Ÿค”

์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์— ์“ฐ์ด๋Š” ์–ธ์–ด๋Š” ๋‹ค์–‘ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ์ค‘ ์—ฌ๋Ÿฌ๋ถ„์ด Express(Feat. Node.js)๋ฅผ ์„ ํƒํ•˜์…”์•ผ ํ•˜๋Š” ์ด์œ ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

๋‚ฎ์€ ์ง„์ž…์žฅ๋ฒฝ

๋‹ค๋ฅธ ์–ธ์–ด์— ๋น„ํ•ด ์‚ฌ์šฉ์ž ์นœํ™”์ ์ด๋ฉฐ, ํ”„๋ŸฐํŠธ์—”๋“œ๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” Javascript๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๋ฐฑ์—”๋“œ ์ž…๋ฌธ์œผ๋กœ ์ ์ ˆํ•ด์š”.

Simple is BEST!

Express๋Š” ๋‹ค๋ฅธ Node.js ํ”„๋ ˆ์ž„์›Œํฌ์— ๋น„ํ•ด ๊ตฌ์กฐ๊ฐ€ ๊ฐ„๋‹จํ•ด์„œ ๋ˆ„๊ตฌ๋‚˜ ๋น ๋ฅด๊ฒŒ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋งŒ๋“ค๊ณ  ์ฒดํ—˜ํ•  ์ˆ˜ ์žˆ์–ด์š”.

๋ฐฉ๋Œ€ํ•œ ์ปค๋ฎค๋‹ˆํ‹ฐ

Express๋Š” Node.js ํ”„๋ ˆ์ž„์›Œํฌ ์ค‘ 1์œ„๋ฅผ ์ฐจ์ง€ํ•  ์ •๋„๋กœ ์‚ฌ์šฉ์ž๊ฐ€ ๋งŽ์•„์„œ, ๊ทธ๋งŒํผ ๋‹ค์–‘ํ•œ ์ •๋ณด๋ฅผ ์ ‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


์ด๋Ÿฐ ๋ถ„๋“ค์ด ๋“ค์œผ์‹œ๋ฉด ์ข‹์•„์š”! ๐Ÿ™‹๐Ÿป

๊ฐœ๋ฐœ ๊ณต๋ถ€๋ฅผ ์–ด๋–ป๊ฒŒ ํ• ์ง€
๋ชจ๋ฅด๊ฒ ๋Š” ๋‹น์‹ 

๊ฐœ๋ฐœ ๊ณต๋ถ€๋Š” ์ •๋ง ๊ฐˆํ”ผ๋ฅผ ์žก๊ธฐ ํž˜๋“ค ์ •๋„๋กœ ๋ฐฉ๋ฒ•์ด ๋‹ค์–‘ํ•ฉ๋‹ˆ๋‹ค. ์ € ๋˜ํ•œ ๋…ํ•™์œผ๋กœ ๊ณต๋ถ€ํ•˜๋ฉฐ ์—ฌ๋Ÿฌ๋ถ„๊ณผ ๊ฐ™์€ ๊ฒฝํ—˜์„ ํ–ˆ์Šต๋‹ˆ๋‹ค.

๋น ๋ฅด๊ฒŒ ์‹ค๋ ฅ์„ ์˜ฌ๋ฆฐ ์ €์˜ ๊ฒฝํ—˜์„ ๋…น์—ฌ, ๊ฐœ๋…๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๋ฐฉ๋ฒ•๋ก ์„ ์ „๋‹ฌํ•ด ๋“œ๋ ค ์—ฌ๋Ÿฌ๋ถ„์˜ ๊ณ ๋ฏผ์„ ํ•ด๊ฒฐํ•ด๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค.

๊ฐœ๋ฐœ ๊ฐ•์˜๋ฅผ ๋“ค์–ด๋„
์ดํ•ด๊ฐ€ ์–ด๋ ค์› ๋˜ ๋‹น์‹ 

์•ผ์‹ฌ ์ฐจ๊ฒŒ ๊ณต๋ถ€ํ•˜๊ธฐ ์œ„ํ•ด ๊ฐ•์˜ ์ˆ˜๊ฐ• ์‹ ์ฒญ์„ ํ–ˆ์œผ๋‚˜, ์ƒ๊ฐ๋ณด๋‹ค ์–ด๋ ค์šด ๋‚ด์šฉ์— ์ง€์ณ๋ณด์‹  ์ ์ด ์žˆ์œผ์‹ ๊ฐ€์š”?

์ด ๊ฐ•์˜๋Š” ์—ฌ๋Ÿฌ๋ถ„์˜ ๊ทธ๋Ÿฐ ๊ณ ์ถฉ์„ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ์ œ์ž‘ํ•˜์˜€์Šต๋‹ˆ๋‹ค. ์›๋ฆฌ์™€ ํ•จ๊ป˜, ๊ณต๋ถ€ ๋ฐฉ๋ฒ•๊นŒ์ง€ ์ „๋‹ฌํ•ด๋“œ๋ฆฝ๋‹ˆ๋‹ค.

๊ณต๋ถ€ํ•  ์–‘์ด ๋„ˆ๋ฌด ๋งŽ์•„์„œ
๋ญ๊ฐ€ ์ค‘์š”ํ•œ์ง€ ๋ชจ๋ฅด๋Š” ๋‹น์‹ 

๋ฐฑ์—”๋“œ๋Š” ์ •๋ง ๋‹ค๋ค„์•ผ ํ•˜๋Š” ์ด๋ก ์˜ ์–‘์ด ๋งŽ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ์‹ค์งˆ์ ์œผ๋กœ ํ•„์š”ํ•œ ์ด๋ก ์ด ๋ฌด์—‡์ธ์ง€๋Š” ๋ˆ„๊ตฌ๋„ ์•Œ๋ ค์ฃผ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์‹ค๋ฌด์—์„œ ๊ผญ ํ•„์š”ํ•œ ์ด๋ก ์„ ์œ„์ฃผ๋กœ ํ•œ๋ฒˆ, ๋ฐฐ๊ฒฝ์ง€์‹์œผ๋กœ ํ•„์š”ํ•œ ์ด๋ก ์œผ๋กœ ํ•œ๋ฒˆ ๋” ์—ฌ๋Ÿฌ๋ถ„์—๊ฒŒ ํ•„์š”ํ•œ ์ด๋ก ๋งŒ์„ ์ฝ•์ฝ• ์ง‘์–ด ์ „๋‹ฌํ•ด ๋“œ๋ฆฝ๋‹ˆ๋‹ค.

์—ฌ๋Ÿฌ๋ถ„๋“ค์ด ๋‹ค์‹œ๋Š” ๊ฐ•์˜๋ฅผ ์ฐพ์ง€ ์•Š์•˜์œผ๋ฉด ํ•˜๋Š” ๋งˆ์Œ์œผ๋กœ ์ค€๋น„ํ–ˆ์Šต๋‹ˆ๋‹ค!


์–ด๋–ค ๊ฑธ ๋ฐฐ์šฐ๋‚˜์š”? โœจ

1. ์ง๊ด€์ ์ธ PPT๋ฅผ ํ†ตํ•œ ๊ฐœ๋… ์ •๋ฆฌ

์•„์ด๋Ÿฌ๋‹ˆํ•˜๊ฒŒ ์ด๋ก ์„ ํ•™์Šตํ•˜๋Š” ๋ฐ ์žˆ์–ด, โ€œ์ด๋ก ๋งŒโ€ ์ „๋‹ฌํ•˜๊ฒŒ ๋˜๋ฉด ์˜คํžˆ๋ ค ์ดํ•ด๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
์ง๊ด€์ ์œผ๋กœ ์ œ์ž‘ํ•œ PPT๋ฅผ ํ†ตํ•ด ์—ฌ๋Ÿฌ๋ถ„์ด ํ™•์‹คํžˆ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€๋“œ๋ฆฝ๋‹ˆ๋‹ค.

2. Express๋ฅผ ์‚ฌ์šฉํ•œ ์„œ๋ฒ„ ๊ฐœ๋ฐœ๐Ÿ’ป

REST API์— ๊ธฐ๋ฐ˜ํ•œ ์›น ์„œ๋ฒ„๋ฅผ ๊ฐœ๋ฐœํ•ด๋ด…๋‹ˆ๋‹ค.
๊น”๋”ํ•˜๊ณ  ํšจ์œจ์ ์ธ ์ฝ”๋“œ์™€ ๊ตฌ์กฐ๋ฅผ ์ ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ• ๋˜ํ•œ ๊ฐ€๋ฅด์ณ๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค!

3. SwaggerUI๋ฅผ ์ด์šฉํ•œ API ๋ช…์„ธ ์ •๋ฆฌ๐Ÿ—’

๋ฐฑ์—”๋“œ๋Š” ๊ฒฐ๊ตญ ํ”„๋ŸฐํŠธ์—”๋“œ์™€ ํ˜‘์—…์„ ์ง„ํ–‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
SwaggerUI๋ฅผ API ๋ช…์„ธ๋ฅผ ๊น”๋”ํ•˜๊ฒŒ ์ž‘์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๊ฐ€๋ฅด์ณ ๋“œ๋ฆฝ๋‹ˆ๋‹ค.

4. AWS๋ฅผ ํ™œ์šฉํ•œ ๋ฐฐํฌโœ…

๋ฐฐํฌ๋ฅผ ํ†ตํ•ด ์—ฌ๋Ÿฌ๋ถ„์˜ ์ปดํ“จํ„ฐ๋กœ ์ง์ ‘ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜์ง€ ์•Š์•„๋„,
๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์ด ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” ํ™˜๊ฒฝ์„ ๊ตฌ์ถ•ํ•ฉ๋‹ˆ๋‹ค.

์•—, ๋ชจ๋“  ๊ฑธ ์•Œ๋ ค๋“œ๋ฆฌ์ง„ ์•Š์•„์š”! ๐Ÿ˜ฑ

๊ฐ•์˜์—์„œ ๋ชจ๋“  ๋‚ด์šฉ์„ ์•Œ๋ ค์ฃผ๊ฒŒ ๋˜๋ฉด, ์—ฌ๋Ÿฌ๋ถ„๋“ค์€ ๊ฐ•์˜๋งŒ ๋“ฃ๊ณ  ๊ฒ€์ƒ‰ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ์–ป์ง€ ๋ชปํ•  ๊ฑฐ์˜ˆ์š”.
๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— ๋ชจ๋“  ๋‚ด์šฉ์„ ์•Œ๋ ค๋“œ๋ฆฌ์ง€๋Š” ์•Š๊ณ , ์‹ค์Šต ๊ณผ์ œ๋ฅผ ํ†ตํ•ด์„œ ์ง์ ‘ ๋ชธ์— ์ตํžˆ๋Š” ์‹œ๊ฐ„์„ ๊ฐ€์ง€๊ณ  ์žˆ์ฃ .

ํ•˜์ง€๋งŒ ๊ฑฑ์ •ํ•˜์ง€ ๋งˆ์„ธ์š”! ํ•ด์„ค ์ˆ˜์—… ๋˜ํ•œ ์ค€๋น„๋˜์–ด ์žˆ๊ณ , ์—ฌ๋Ÿฌ๋ถ„๋“ค์ด ๋งŒ๋“  ์ฝ”๋“œ๋“ค์„ ๋ฆฌ๋ทฐํ•ด๋“œ๋ฆด ๊ฑฐ์˜ˆ์š”! ์—ฌ๊ธฐ์— ๋””์Šค์ฝ”๋“œ๋ฅผ ์ด์šฉํ•ด์„œ ์ˆ˜์—…์„ ๊ฐ™์ด ๋“ฃ๋Š” ์‚ฌ๋žŒ๋“ค๊ณผ ๊พธ์ค€ํ•œ ์†Œํ†ต์„ ํ†ตํ•ด ๊ฐ™์ด ์‹ค๋ ฅ์„ ํ‚ค์›Œ๋‚˜๊ฐ€๋ฉด ์ข‹๊ฒ ๋„ค์š” :)


์˜ˆ์ƒ ์งˆ๋ฌธ Q&A ๐Ÿ’ฌ

๋ชจ๋ฅด๋Š” ๊ฒƒ์ด ์ƒ๊ธฐ๋ฉด ์–ด๋–กํ•˜๋‚˜์š”?

์„น์…˜ 0 ์˜์ƒ์— ๋””์Šค์ฝ”๋“œ ์ฝ”๋“œ๋ฅผ ๊ณต์œ ํ•ด ๋“œ๋ ธ์Šต๋‹ˆ๋‹ค.
๋””์Šค์ฝ”๋“œ๋ฅผ ํ†ตํ•ด ๋งˆ์Œ๊ป ์งˆ๋ฌธ์„ ์˜ฌ๋ ค์ฃผ์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.
ํ˜น์€ ์ธํ”„๋Ÿฐ์˜ ์ปค๋ฎค๋‹ˆํ‹ฐ๋ฅผ ํ†ตํ•ด ์งˆ๋ฌธ์„ ์ฃผ์‹œ๋ฉด ๋น ๋ฅด๊ฒŒ ๋‹ต๋ณ€ํ•ด๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค.

๊ฐœ๋ฐœ์„ ์•„์˜ˆ ๋ชจ๋ฅด๋Š”๋ฐ ๋ฐฐ์›Œ๋„ ๋˜๋‚˜์š”?

๋ฌผ๋ก ์ž…๋‹ˆ๋‹ค!
์ €ํฌ๋Š” Javascript๊ฐ€ ์ฒ˜์Œ์ธ ๋ถ„๋“ค์„ ์œ„ํ•ด โ€œ๋ฌด๋ฃŒโ€๋กœ Javascript ๊ฐ•์˜๋ฅผ ํ’€์–ด๋“œ๋ฆฌ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
Javascript ๊ฐ•์˜๋ฅผ ์ˆ˜๊ฐ•ํ•˜์‹œ๊ณ  ํ•ด๋‹น ๊ฐ•์˜๋ฅผ ์ˆ˜๊ฐ•ํ•˜์‹œ๋ฉด ๋” ๋น ๋ฅด๊ฒŒ ์‹ค๋ ฅ์„ ๋Š˜๋ฆด ์ˆ˜ ์žˆ๋‹ต๋‹ˆ๋‹ค.

๊ฐœ๋ฐœ์—๋„ ๊ณต๋ถ€ ๋ฐฉ๋ฒ•์ด ๋”ฐ๋กœ ์žˆ๋‚˜์š”?

๋„ค. ์žˆ์Šต๋‹ˆ๋‹ค!
๊ธฐ์กด์— ์—ฌ๋Ÿฌ๋ถ„๊ป˜์„œ ๋ฐฐ์šฐ์‹  ๋ฐฉ์‹๋Œ€๋กœ๋ผ๋ฉด, ๊ฐ•์˜๊ฐ€ ๋๋‚œ ์ดํ›„ ์—ฌ๋Ÿฌ๋ถ„์€ ๊ฐˆํ”ผ๋ฅผ ์žก์ง€ ๋ชปํ•˜๋Š” ์ƒํ™ฉ์— ๋ถ€๋‹ฅ์น˜์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์ €ํฌ๋Š” ์—ฌ๋Ÿฌ๋ถ„์ด ๊ฐ•์˜๊ฐ€ ๋๋‚œ ์ดํ›„๋กœ โ€œ๋‹ค์‹œโ€ ๊ฐ•์˜๋ฅผ ๋“ฃ์ง€ ์•Š์œผ์‹ค ์ˆ˜ ์žˆ๋„๋ก
์ €ํฌ๋งŒ์˜ ๋ฐฉ๋ฒ•์„ ๋…น์—ฌ ๋‚ด์šฉ์„ ์ „๋‹ฌํ•ด๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค..

์•ˆ๋…•ํ•˜์„ธ์š”, MayB์ž…๋‹ˆ๋‹ค.

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

์ €ํฌ์™€ ํ•จ๊ป˜๋ผ๋ฉด ์ฒ˜์Œ ๊ฐœ๋ฐœํ•˜๋Š” ๋ถ„๋„, ๊ฐœ๋ฐœ ๊ณต๋ถ€๊ฐ€ ์–ด๋ ต๊ณ  ์ง€์ณ์žˆ๋Š” ๋ถ„๋„ ๋ชจ๋‘ ์‰ฝ๊ณ  ์žฌ๋ฐŒ๊ฒŒ ๊ฐœ๋ฐœ ์‹ค๋ ฅ์„ ํ‚ค์šธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


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

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

  • ๋ฐฑ์—”๋“œ ํ•™์Šต์ด ์ฒ˜์Œ์ด์‹  ๋ถ„

  • Node.js ๋ฐ Express๋กœ ์„œ๋ฒ„ ๊ฐœ๋ฐœ์„ ํ•ด๋ณด๊ณ  ์‹ถ์œผ์‹  ๋ถ„

  • ๊ฐœ๋ฐœ์˜ ๊ณต๋ถ€ ๋ฐฉ๋ฒ•์„ ์•Œ๊ณ  ์‹ถ์œผ์‹  ๋ถ„

  • ํ˜ผ์ž ์„ฑ์žฅํ•˜๋Š” ๊ฐœ๋ฐœ์ž๊ฐ€ ๋˜๊ณ  ์‹ถ์œผ์‹  ๋ถ„

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

์ „์ฒด

81๊ฐœ โˆ™ (17์‹œ๊ฐ„ 29๋ถ„)

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

์ˆ˜๊ฐ•ํ‰

์•„์ง ์ถฉ๋ถ„ํ•œ ํ‰๊ฐ€๋ฅผ ๋ฐ›์ง€ ๋ชปํ•œ ๊ฐ•์˜์ž…๋‹ˆ๋‹ค.
๋ชจ๋‘์—๊ฒŒ ๋„์›€์ด ๋˜๋Š” ์ˆ˜๊ฐ•ํ‰์˜ ์ฃผ์ธ๊ณต์ด ๋˜์–ด์ฃผ์„ธ์š”!

๊ณต๊ฐœํ•˜์ง€ ์•Š๋Š” ๊ฐ•์˜๋กœ ์ˆ˜๊ฐ•์ด ์ œํ•œ๋ฉ๋‹ˆ๋‹ค.