์ฑ„๋„ํ†ก ์•„์ด์ฝ˜

Node.js ์›น๊ฐœ๋ฐœ๋กœ ์•Œ์•„๋ณด๋Š” ๋ฐฑ์—”๋“œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ์ดํ•ด

Node.js,์˜ ํ•ต์‹ฌ๊ธฐ๋Šฅ์„ ๋‹ค๋ฃจ๋ฉด์„œ ๋ฐฑ์—”๋“œ์—์„œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๊ฐ€ ์–ด๋–ป๊ฒŒ ๋™์ž‘ํ•˜๋Š”์ง€๋ฅผ ์•Œ์•„๋ณด๊ณ , Angular๋‚˜ React์™€ ๊ฐ™์€ ๋ณต์žกํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ(SPA)์— ํ•„์š”ํ•œ back-end ํ•ต์‹ฌ ์š”์†Œ๋ฅผ ๋‹ค๋ฃน๋‹ˆ๋‹ค. ๊ฐ„๊ฒฐํ•œ ๋™์˜์ƒ๋“ค๋กœ ํ•ต์‹ฌ์ ์ธ ๋‚ด์šฉ๋“ค์„ ๋น ๋ฅด๊ณ  ์ค‘์š”ํ•˜๊ฒŒ ๋‹ค๋ค„ ๊ฐœ๋ฐœ์˜ ํ๋ฆ„์„ ์ตํžˆ๊ณ , ๋”ฐ๋ผํ•˜๋Š” ์‹ค์Šต์œผ๋กœ ๊ฐœ๋ฐœ ๊ฒฝํ—˜์„ ์Œ“์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Thumbnail

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

1. ๊ฐ•์ขŒ์†Œ๊ฐœ

JavaScript์–ธ์–ด๋Š” Node.js, ๋ฅผ ํ†ตํ•ด์„œ Back-end์—์„œ๋„ ๋งŽ์ด ํ™œ์šฉ๋˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

๋ณธ ๊ฐ•์ขŒ์—์„œ๋Š” Node.js,์˜ ํ•ต์‹ฌ๊ธฐ๋Šฅ์„ ๋‹ค๋ฃจ๋ฉด์„œ ๋ฐฑ์—”๋“œ์—์„œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๊ฐ€ ์–ด๋–ป๊ฒŒ ๋™์ž‘ํ•˜๋Š”์ง€๋ฅผ ์•Œ์•„๋ณด๊ณ , Angular๋‚˜ React์™€ ๊ฐ™์€ ๋ณต์žกํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ(SPA)์— ํ•„์š”ํ•œ back-end ํ•ต์‹ฌ ์š”์†Œ๋ฅผ ๋‹ค๋ฃน๋‹ˆ๋‹ค. SPA(Single Page Application) ๊ฐœ๋ฐœ์—์„œ๋Š” Template ์กฐ์ž‘๊ณผ Routing ์ฒ˜๋ฆฌ๋ฅผ ํด๋ผ์ด์–ธํŠธ์™€ ๋ฐฑ์—”๋“œ์—์„œ ๋‚˜๋ˆ  ํ•˜๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ๋ฐฑ์—”๋“œ์—์„œ๋Š” RESTful API๋ฅผ ์ œ๊ณตํ•˜๋Š” ์—ญํ• ์„ ์ฃผ๋กœ ํ•˜๋Š” ๊ฒฝ์šฐ๋„ ์žˆ์Šต๋‹ˆ๋‹ค. 

์ด๋Ÿฐ ์ถ”์„ธ์—์„œ Node.js,๋Š” ๊ฝค ์ ์ ˆํ•œ ๋ฐฑ์—”๋“œ ๊ธฐ์ˆ ์ด๋ผ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ SPA๋ฅผ ๊ฐœ๋ฐœํ•  ๋•Œ ํ•„์š”ํ•œ ํ•„์ˆ˜ ๋ฐฑ์—”๋“œ ๊ธฐ์ˆ ์ด ๋ฌด์—‡์ด๊ณ , ์–ด๋–ป๊ฒŒ ํด๋ผ์ด์–ธํŠธ์™€ ์ƒํ˜ธ์ž‘์šฉ์„ ํ•˜๋Š”์ง€ ์ดํ•ดํ•˜๋Š” ๊ฒƒ์€ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ฐ•์˜์—์„œ๋Š” ํ’€์Šคํƒ ๊ฐœ๋ฐœ์ž๊ฐ€ ์•„๋‹ˆ๋”๋ผ๋„, ํ”„๋ก ํŠธ์—”๋“œ ์ „๋ฌธ ๊ฐœ๋ฐœ์ž๊ฐ€ ์•Œ์•„๋‘๋ฉด ์œ ์šฉํ•œ ์ง€์‹๊ณผ ๊ธฐ์ˆ ์„ ๋‹ค๋ฃน๋‹ˆ๋‹ค. ๋ณธ ๊ณผ์ •์„ ํ†ตํ•ด์„œ ์›น์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋™์ž‘๋ฐฉ์‹์„ ์ข€๋” ์ดํ•ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฐฐ์šฐ๋Š” ๊ฒƒ๋“ค

nodeJS + Express ์›น์„œ๋ฒ„ ์„ค์ • Request,Response ์ฒ˜๋ฆฌ Database ์—ฐ๋™ Router ๊ฐœ์„  - ๋ชจ๋“ˆํ™” DB์— ๋ฐ์ดํ„ฐ์ถ”๊ฐ€ ํŒจ์ŠคํฌํŠธ๊ธฐ๋ฐ˜ ์ธ์ฆ ๋กœ์ง ๊ตฌํ˜„ (ํšŒ์›๊ฐ€์ž…, ๋กœ๊ทธ์ธ, ๋กœ๊ทธ์•„์›ƒ) RESTful API

2. ๋„์›€๋˜๋Š” ๋ถ„๋“ค

  • ๋ฐฑ์—”๋“œ ๊ธฐ์ˆ ์ด ๊ถ๊ธˆํ•œ ์›นํ”„๋ก ํŠธ์—”๋“œ ๊ฐœ๋ฐœ์ž.
  • ๋ฐฑ์—”๋“œ๊ฐœ๋ฐœ์€ ์ต์ˆ™ํ•˜์ง€๋งŒ JavaScript๋‚˜ nodeJS ๊ฒฝํ—˜์ด ์—†๋Š” ๊ฐœ๋ฐœ์ž.
  • Javascript ์˜ ์“ฐ์ž„์ƒˆ๋ฅผ ์ข€ ๋” ์ž˜ ์ดํ•ดํ•˜๊ณ  ์‹ถ์€ ๊ฐœ๋ฐœ์ž
  • ์›นํ”„๋ก ํŠธ์—”๋“œ์™€ ๋ฐฑ์—”๋“œ ๊ฐ„์˜ ๊ธฐ์ˆ ์ ์ธ ์ƒํ˜ธ์ž‘์šฉ์ด ๊ถ๊ธˆํ•œ ์ดˆ๋ณด๊ฐœ๋ฐœ์ž.

3. ๊ฐ•์ขŒํŠน์ง•

  • ์›น๊ฐœ๋ฐœ ์ดˆ๊ธ‰๋‚œ์ด๋„ ๊ณผ์ •.
  • Node.js, Express๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ ์›น์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ตฌ์ถ•.
  • Template Engine
  • Ajax์™€ JSON์„ ํ™œ์šฉํ•œ RESTful API ๊ธฐ๋ฐ˜ ์›น ์„œ๋น„์Šค ๊ธฐ์ดˆ.
  • Passport๊ธฐ๋ฐ˜์˜ ์ธ์ฆ์ฒ˜๋ฆฌ ๋ฐฉ๋ฒ•.

4. ๊ฐ•์‚ฌ์†Œ๊ฐœ

์œค์ง€์ˆ˜

- ํ˜„์žฌ ์ฝ”๋“œ์Šค์ฟผ๋“œ ์›นํ”„๋ก ํŠธ์—”๋“œ ๋งˆ์Šคํ„ฐ.
- SKํ”Œ๋ž˜๋‹› ์›นUI ๋งˆ์Šคํ„ฐ.
- NHN NEXT ์›นUI ์ „์ž„๊ต์ˆ˜.
- ๋„ค์ด๋ฒ„ ์›นUI ๊ฐœ๋ฐœํŒ€์žฅ.
- <๊ฐœ์ธ์œ ํŠœ๋ธŒ ์ฑ„๋„>

5. ์†Œ์Šค์ฝ”๋“œ

์‹ค์Šต์—์„œ ์‚ฌ์šฉํ•œ ์ฝ”๋“œ๋Š” ์—ฌ๊ธฐ์žˆ์Šต๋‹ˆ๋‹ค.
https://github.com/crongro/node_server_inflearn
์ฝ”๋“œ์Šค์ฟผ๋“œ

์ฝ”๋“œ์Šค์ฟผ๋“œ
๊ฐœ๋ฐœ์ž ์ถœ์‹ ์˜ ๊ต์œก ์ „๋ฌธ๊ฐ€๋“ค์ด ๋งŒ๋“  ์ตœ๊ณ ํ’ˆ์งˆ์˜ ์†Œํ”„ํŠธ์›จ์–ด ๊ต์œก๊ธฐ๊ด€
http://codesquad.kr

์•ˆ๋…•ํ•˜์„ธ์š”
์œค์ง€์ˆ˜์ž…๋‹ˆ๋‹ค.

๊ณต๋™ ์ง€์‹๊ณต์œ ์ž

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

์ „์ฒด

30๊ฐœ โˆ™ (4์‹œ๊ฐ„ 27๋ถ„)

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

์ˆ˜๊ฐ•ํ‰

์ „์ฒด

173๊ฐœ

4.6

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

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

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

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