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

์ œ๋Œ€๋กœ ๋ฐฐ์šฐ๋Š” Express.js: Part1 ๊ธฐ์ดˆ๋ถ€ํ„ฐ ์‹ฌํ™”๊นŒ์ง€ [๊ธฐ์ดˆํŽธ]

๋ฌผ ํ๋ฅด๋“ฏ ๋”ฐ๋ผ๊ฐ€๋Š” Express.js ์ž…๋ฌธ๋ถ€ํ„ฐ ์‹ค์ „๊นŒ์ง€! ์„œ๋ฒ„ ๊ธฐ์ดˆ ๊ฐœ๋…๋ถ€ํ„ฐ CRUD ํ”„๋กœ์ ํŠธ ์™„์„ฑ๊นŒ์ง€ ์ง์ ‘ ๊ตฌํ˜„ํ•˜๋ฉฐ ์ œ๋Œ€๋กœ ์ตํžˆ๋Š” ๋ฐฑ์—”๋“œ ์—ฌ์ •.

(4.9) ์ˆ˜๊ฐ•ํ‰ 7๊ฐœ

์ˆ˜๊ฐ•์ƒ 40๋ช…

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

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

node.js
node.js
๋ฐฑ์—”๋“œ
๋ฐฑ์—”๋“œ
node.js
node.js
๋ฐฑ์—”๋“œ
๋ฐฑ์—”๋“œ

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

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

4.9

5.0

TAESUN

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

Part2 ๋“ฃ๊ธฐ ์ „์— ๋ถ€๋‹ด์—†์ด ๋น ๋ฅธ์‹œ๊ฐ„ ๋‚ด์— ์™„๊ฐ•ํ•  ์ˆ˜ ์žˆ์—ˆ์–ด์š” ํ•„์ˆ˜์ ์ธ ๊ฒƒ์€ ๋‹ค ๋‹ค๋ฃจ์—ˆ๊ณ  ์งˆ๋ฌธํ•˜๋ฉด ์ƒ์„ธํ•˜๊ฒŒ ๋‹ต๋ณ€ํ•ด์ฃผ์…”์„œ ๋„ˆ๋ฌด ์ข‹์•˜์Šต๋‹ˆ๋‹ค. ๋ณดํ†ต ๊ฐ•์˜๋ฅผ ๋น ๋ฅด๊ฒŒ ๋ณด๊ณ ๋‚˜์„œ ๊ฐ•์˜ ์ž๋ฃŒ๋กœ ๋นจ๋ฆฌ ํ›“์œผ๋ฉฐ ๋ณต์Šตํ•˜๋Š”๋ฐ ๊ฐ•์˜์™€ ๊ฐ•์˜ ์ž๋ฃŒ๊ฐ€ ์‚ด์ง ๋‹ค๋ฅธ ๋ถ€๋ถ„์ด ์žˆ๋Š” ๊ฑฐ ๊ฐ™์•„์„œ ์ด ๋ถ€๋ถ„๋„ ๋ณด์ถฉํ•ด์ฃผ์‹œ๋ฉด ๋„ˆ๋ฌด ์ข‹์„ ๊ฒƒ ๊ฐ™์•„์š”!

5.0

Edwards

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

2ํƒ„ ์‹ฌํ™”๊ณผ์ •์—์„œ ๋” ๋งŽ์ด ๋ฐฐ์šฐ๊ฒ ์Šต๋‹ˆ๋‹ค.

5.0

cylee9999

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

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

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

  • ์›น ์„œ๋ฒ„๊ฐ€ ์–ด๋–ป๊ฒŒ ์ž‘๋™ํ•˜๋Š”์ง€ ๊ทผ๋ณธ์ ์ธ ๊ฐœ๋… ์ดํ•ด

  • TCP, HTTP ๋“ฑ ๋„คํŠธ์›Œํฌ ๊ธฐ์ดˆ ์ •๋ฆฌ

  • Node.js๋กœ ์ˆœ์ˆ˜ ์›น ์„œ๋ฒ„ ์ง์ ‘ ๋งŒ๋“ค๊ธฐ

  • Express์˜ ๋ผ์šฐํŒ… ์‹œ์Šคํ…œ ์‹ค์Šต

  • ์ •์  ํŒŒ์ผ ์„œ๋น™๊ณผ Static ๋ฏธ๋“ค์›จ์–ด ์ดํ•ด

  • ์ปค์Šคํ…€ ๋ฏธ๋“ค์›จ์–ด ์„ค๊ณ„ ๋ฐ ํ™œ์šฉ๋ฒ•

  • URL Params, Query String ์ฒ˜๋ฆฌ

  • ํผ ๋ฐ์ดํ„ฐ์™€ JSON ์ฒ˜๋ฆฌ ๋ฐฉ์‹ ์‹ค์Šต

  • EJS ํ…œํ”Œ๋ฆฟ์œผ๋กœ ๋™์  ์›น ํŽ˜์ด์ง€ ๋งŒ๋“ค๊ธฐ

  • CRUD ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜๋Š” ์‹ค์ „ ๋ฐฑ์—”๋“œ ํ”„๋กœ์ ํŠธ ์™„์„ฑ

  • Express์˜ ๊ธฐ์ดˆ ๋ฐ ์‹ฌํ™” ๊ฐœ๋…: Express๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์›น ์„œ๋ฒ„๋ฅผ ๊ตฌ์ถ•ํ•˜๋Š” ๊ธฐ๋ณธ์ ์ธ ๋ฐฉ๋ฒ•๋ถ€ํ„ฐ ๊ณ ๊ธ‰ ๊ธฐ๋Šฅ๊นŒ์ง€ ๊นŠ์ด ์žˆ๋Š” ์ดํ•ด๋ฅผ ์–ป์Šต๋‹ˆ๋‹ค.

  • Middleware ๋ฐ ๋ผ์šฐํŒ…: Express์—์„œ์˜ Middleware ๊ฐœ๋… ๋ฐ ํ™œ์šฉ๋ฒ•, ๋ผ์šฐํŒ…์„ ํ†ตํ•œ ์š”์ฒญ๊ณผ ์‘๋‹ต ์ฒ˜๋ฆฌ ๋ฐฉ๋ฒ•์„ ํ•™์Šตํ•ฉ๋‹ˆ๋‹ค.

  • RESTful API ๊ฐœ๋ฐœ: Express๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ RESTful API๋ฅผ ์„ค๊ณ„ํ•˜๊ณ  ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ๋ฐฐ์›๋‹ˆ๋‹ค.

  • Express ๋‚ด๋ถ€ ๋™์ž‘ ๋ฉ”์ปค๋‹ˆ์ฆ˜: Express์˜ ๋‚ด๋ถ€ ๋™์ž‘ ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ํƒ๊ตฌํ•˜๊ณ , ํ”„๋ ˆ์ž„์›Œํฌ์˜ ์ž‘๋™ ์›๋ฆฌ๋ฅผ ์ดํ•ดํ•ฉ๋‹ˆ๋‹ค.

  • ๋‚˜๋งŒ์˜ Express ์—”์ง„ ๊ตฌ์ถ•: Express๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ž์ฒด์ ์ธ ์›น ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์„ค๊ณ„ํ•˜๊ณ  ๊ตฌํ˜„ํ•˜๋Š” ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๋ฉฐ, ๋” ๊นŠ์€ ์ˆ˜์ค€์˜ ์ดํ•ด๋ฅผ ์–ป์Šต๋‹ˆ๋‹ค.

๐Ÿ’ก์ œ๋Œ€๋กœ ๋ฐฐ์šฐ๋Š” Express.js: Part1 ๊ธฐ์ดˆ๋ถ€ํ„ฐ ์‹ฌํ™”๊นŒ์ง€

Node.js ๊ธฐ๋ฐ˜ ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์˜ ์ฒซ๊ฑธ์Œ์„ ๊ฐ€์žฅ ์ฒด๊ณ„์ ์œผ๋กœ ์ตํž ์ˆ˜ ์žˆ๋Š” Express.js ์ž…๋ฌธ ๊ฐ•์˜์ž…๋‹ˆ๋‹ค.
์„œ๋ฒ„์˜ ๊ธฐ์ดˆ ๊ฐœ๋…๋ถ€ํ„ฐ ๋ฏธ๋“ค์›จ์–ด, ๋ผ์šฐํŒ…, ํ…œํ”Œ๋ฆฟ, ์—๋Ÿฌ ์ฒ˜๋ฆฌ, ๊ทธ๋ฆฌ๊ณ  ์‹ค์ „ CRUD ํ”„๋กœ์ ํŠธ๊นŒ์ง€.
โ€œ์™œ ์ด๋ ‡๊ฒŒ ๋™์ž‘ํ•˜๋Š”๊ฐ€โ€๋ฅผ ์ค‘์‹ฌ์œผ๋กœ ์ง์ ‘ ์ฝ”๋“œ๋ฅผ ์งœ๋ณด๋ฉฐ ๋ฐฐ์›๋‹ˆ๋‹ค.

โœจ ์ด ๊ฐ•์˜๋Š” ์ด๋ ‡๊ฒŒ ๊ตฌ์„ฑ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค

๐Ÿงญ Section 1. ์—ฌ์ •์˜ ์‹œ์ž‘

  • ๊ฐ•์˜ ํ๋ฆ„ ์†Œ๊ฐœ, ๋ชฉํ‘œ ์„ค์ •

๐Ÿ— Section 2. Pre-Express: ์„œ๋ฒ„ ๊ธฐ์ดˆ๋ถ€ํ„ฐ ๋‹ค์ง€๊ธฐ

  • TCP์™€ UDP, HTTP ๋“ฑ ๊ธฐ๋ณธ ๋„คํŠธ์›Œํฌ ์›๋ฆฌ

  • Node.js๋กœ ์ˆœ์ˆ˜ HTTP ์„œ๋ฒ„ ์ง์ ‘ ๊ตฌํ˜„

  • ๋ผ์šฐํŒ…(routing) ๊ฐœ๋… ์ดํ•ด

  • ์ •์  ํŒŒ์ผ ์ง์ ‘ ์„œ๋น™ํ•˜๊ธฐ (HTML, CSS, JS)

  • Static ๋ฏธ๋“ค์›จ์–ด ๊ธฐ๋Šฅ๊นŒ์ง€ ์ง์ ‘ ๊ตฌํ˜„ํ•ด๋ณด๋ฉฐ ๊ฐœ๋… ์™„์ „ ์ •๋ณต

โš™ Section 3. Express 101: ์›น ์„œ๋ฒ„ ๊ตฌ์ถ• ๊ธฐ๋ณธ๊ธฐ

  • Express์˜ ๊ธฐ๋ณธ ๊ตฌ์กฐ, ๋ผ์šฐํŒ… ์‹ค์Šต

  • Static ๋ฏธ๋“ค์›จ์–ด ํ™œ์šฉ

  • ์ปค์Šคํ…€ ๋ฏธ๋“ค์›จ์–ด ์ง์ ‘ ๋งŒ๋“ค๊ธฐ

  • req, res ๊ฐ์ฒด ํ๋ฆ„ ํŒŒ์•…

  • JSON๊ณผ Form ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ

  • Params, Query String ์‚ฌ์šฉ๋ฒ•

  • ์‹ค๋ฌด์—์„œ ์ž์ฃผ ์“ฐ๋Š” ๋ฏธ๋“ค์›จ์–ด ์˜ˆ์ œ ๋ชจ์Œ

๐Ÿ› Section 4. Express 201: ๋ทฐ ์—”์ง„๊ณผ ๋ผ์šฐํ„ฐ ๊ตฌ์กฐํ™”

  • CSR๊ณผ SSR์˜ ์ฐจ์ด, ๋™์ž‘ ํ๋ฆ„ ์ดํ•ด

  • EJS ํ…œํ”Œ๋ฆฟ์œผ๋กœ ๋™์  ํŽ˜์ด์ง€ ๋ Œ๋”๋ง

  • ์กฐ๊ฑด๋ฌธ, ๋ฐ˜๋ณต๋ฌธ, include ๋“ฑ EJS ๋ฌธ๋ฒ• ์‹ค์Šต

  • ๊ธฐ๋Šฅ ๋‹จ์œ„๋ณ„ ๋ผ์šฐํ„ฐ ๋ถ„๋ฆฌ ๋ฐ ๋ชจ๋“ˆํ™”

  • ๋‹ค์–‘ํ•œ ์‘๋‹ต ๋ฐฉ์‹ ์ •๋ฆฌ (send, json, status ๋“ฑ)

  • Cookie๋ฅผ ํ†ตํ•œ ์ƒํƒœ ๊ด€๋ฆฌ๊นŒ์ง€ ์ง์ ‘ ์‹ค์Šต

๐Ÿšจ Section 5. Express 301: ์—๋Ÿฌ ์ฒ˜๋ฆฌ์™€ ์˜ˆ์™ธ ๋Œ€์‘

  • 404, 500 ์—๋Ÿฌ ์ฒ˜๋ฆฌ ๋ฐฉ๋ฒ•

  • ์—๋Ÿฌ ๋ฏธ๋“ค์›จ์–ด ์„ค๊ณ„์™€ ์ ์šฉ

  • ์‹ค๋ฌด์—์„œ ์œ ์šฉํ•œ ์˜ˆ์™ธ ๋Œ€์‘ ๋ฐฉ์‹ ํ•™์Šต

๐Ÿ“ Section 6. Memo ํ”„๋กœ์ ํŠธ: CRUD๋กœ Express ์™„์ „ ์ •๋ณต

  • ์ „์ฒด ํด๋” ๊ตฌ์กฐ ์„ธํŒ…๋ถ€ํ„ฐ ์‹œ์ž‘

  • ํšŒ์›๊ฐ€์ž…, ๋กœ๊ทธ์ธ, ๋กœ๊ทธ์•„์›ƒ ๊ธฐ๋Šฅ ๊ตฌํ˜„

  • ๋กœ๊ทธ์ธ ์ƒํƒœ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ ๋ฉ”๋ชจ ๋ชฉ๋ก API ์ œ์ž‘

  • ๋ฉ”๋ชจ ์ƒ์„ฑ, ์ˆ˜์ •, ์‚ญ์ œ๊นŒ์ง€ CRUD ์ „ ๊ณผ์ • ์‹ค์Šต

  • ์ค‘๊ฐ„์ค‘๊ฐ„ ๋“ฑ์žฅํ•˜๋Š” ์ปค์Šคํ…€ ๋ฏธ๋“ค์›จ์–ด์™€ ์˜ˆ์™ธ์ฒ˜๋ฆฌ ๋กœ์ง๊นŒ์ง€ ํ•จ๊ป˜ ๊ตฌ์„ฑ

๐Ÿ“Œ ์ด ๊ฐ•์˜์˜ ํ•ต์‹ฌ ํŠน์ง•

๐Ÿ” ๊ฐœ๋… โ†’ ํ๋ฆ„๋„ โ†’ ์‹ค์Šต โ†’ ํ”„๋กœ์ ํŠธ๊นŒ์ง€, ๋ชจ๋“  ๋‹จ๊ณ„๊ฐ€ ์—ฐ๊ฒฐ๋œ ์„ค๊ณ„

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

โ€œ์™œ ์ด ์ฝ”๋“œ๊ฐ€ ํ•„์š”ํ•œ๊ฐ€?โ€๋ฅผ ๋๊นŒ์ง€ ๋”ฐ๋ผ๊ฐ€๋ฉฐ ๋ฐฐ์›๋‹ˆ๋‹ค.


๐Ÿ‘€ ๋ชจ๋“  ๊ฐœ๋…์„ ๋ˆˆ์œผ๋กœ ๋ณด๊ณ  ์ดํ•ดํ•˜๋Š” ์‹œ๊ฐ ์ค‘์‹ฌ ๊ฐ•์˜

์ด ๊ฐ•์˜์—์„œ ๋“ฑ์žฅํ•˜๋Š” ๋ชจ๋“  ๊ฐœ๋…โ€”
๋ผ์šฐํŒ…, ๋ฏธ๋“ค์›จ์–ด ์ฒด์ธ, HTTP ์š”์ฒญ ํ๋ฆ„, SSR/CSR ๊ตฌ์กฐ, ์—๋Ÿฌ ํ•ธ๋“ค๋ง, CRUD ๋กœ์ง๊นŒ์ง€โ€”
์ง์ ‘ ๋งŒ๋“  ๋„์‹๊ณผ ํ๋ฆ„๋„๋กœ ์™„์ „ํžˆ ์‹œ๊ฐํ™”ํ•˜์—ฌ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ“ท ํ๋ฆ„๋„ + ๊ฐœ๋… ์„ค๋ช… + ์ฝ”๋“œ ์‹ค์Šต = ์™„์ „ํ•œ ์ดํ•ด

์ถ”์ƒ์ ์ธ ์„ค๋ช…์€ ์ตœ์†Œํ™”ํ•˜๊ณ ,
๋ฐ์ดํ„ฐ๊ฐ€ โ€œ์–ด๋””์„œ ์™€์„œ, ์–ด๋””๋กœ ๊ฐ€๊ณ , ์–ด๋–ป๊ฒŒ ์ฒ˜๋ฆฌ๋˜๋Š”์ง€โ€
ํ•œ ๋ˆˆ์— ๋ณด์ด๊ฒŒ ๋งŒ๋“ค์–ด๋“œ๋ฆฝ๋‹ˆ๋‹ค.


๐Ÿ›  ์‹ค์Šต ์ค‘์‹ฌ, ์ฝ”๋“œ๋ฅผ ํ†ตํ•ด ์†์œผ๋กœ ์ตํžˆ๋Š” ๋ฐฑ์—”๋“œ ๊ฐ๊ฐ

์ด ๊ฐ•์˜๋Š” ๋‹จ์ˆœํžˆ ๋“ฃ๊ณ  ๋„˜๊ธฐ๋Š” ๊ฐ•์˜๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค.
๊ฐ•์˜์˜ ๋งŽ์€ ๋ถ€๋ถ„์ด ์ง์ ‘ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋ฉฐ ์‹ค์Šตํ•˜๋Š” ๊ตฌ์„ฑ์œผ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ์–ด,
๋‹จ๊ณ„๋งˆ๋‹ค ๋ฐฐ์šด ๋‚ด์šฉ์„ ๊ณง๋ฐ”๋กœ ์†์œผ๋กœ ๊ตฌํ˜„ํ•ด๋ณด๋ฉฐ ์‹ค๋ฌด ๊ฐ๊ฐ๊ณผ ์ž์‹ ๊ฐ์„ ์Œ“์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‹จ์ˆœํžˆ "๋˜๋Š” ์ฝ”๋“œ"๊ฐ€ ์•„๋‹Œ,
โ€œ์™œ ์ด๋ ‡๊ฒŒ ์ž‘์„ฑํ•˜๋Š”์ง€โ€๋ฅผ ์ดํ•ดํ•˜๋ฉฐ ์งœ๋Š” ์ฝ”๋“œ๋ฅผ ๋ชฉํ‘œ๋กœ ์„ค๊ณ„๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.


๐Ÿงฑ Express์˜ ๊ตฌ์กฐ๋ฅผ ๊ฒ‰ํ•ฅ๊ธฐํ•˜์ง€ ์•Š๊ณ  ๋‚ด๋ถ€ ๋™์ž‘๊นŒ์ง€ ๊นŠ๊ฒŒ ํŒŒ๊ณ ๋“ญ๋‹ˆ๋‹ค

Express.js๋Š” ๋‹จ์ˆœํ•œ ๋ผ์šฐํŒ… ๋„๊ตฌ๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค.
์ด ๊ฐ•์˜์—์„œ๋Š” Express.js๊ฐ€ ์š”์ฒญ์„ ๋ฐ›์•˜์„ ๋•Œ ๋‚ด๋ถ€์ ์œผ๋กœ ์–ด๋–ค ์ˆœ์„œ๋กœ ์‹คํ–‰๋˜๋Š”์ง€,
์–ด๋–ป๊ฒŒ req, res๊ฐ€ ์ „๋‹ฌ๋˜๊ณ  ๊ฐ€๊ณต๋˜๋Š”์ง€,
์—๋Ÿฌ๋Š” ์–ด๋–ป๊ฒŒ ํ๋ฆ„์„ ๋ฐ”๊พธ๋Š”์ง€ ๋“ฑ์„ ์ง์ ‘ ๊ตฌํ˜„ํ•˜๊ฑฐ๋‚˜ ์‹œ๊ฐํ™”ํ•˜์—ฌ ๊นŠ์ด ์žˆ๊ฒŒ ์ดํ•ดํ•ฉ๋‹ˆ๋‹ค.

๋‹จ์ˆœํžˆ โ€œ์‚ฌ์šฉ๋ฒ•โ€์„ ๋ฐฐ์šฐ๋Š” ๋ฐ ๊ทธ์น˜์ง€ ์•Š๊ณ ,
Express.js๋ผ๋Š” ํ”„๋ ˆ์ž„์›Œํฌ๊ฐ€ ์™œ ์ด๋ ‡๊ฒŒ ์„ค๊ณ„๋˜์—ˆ๋Š”์ง€,
ํ•ต์‹ฌ ๊ธฐ๋Šฅ๋“ค์„ ์ง์ ‘ ์†์œผ๋กœ ๊ตฌํ˜„ํ•˜๋ฉฐ ๊ตฌ์กฐ์  ์‚ฌ๊ณ ๋ฅผ ์ตํžˆ๋Š” ๊ฒƒ์— ์ดˆ์ ์„ ๋งž์ท„์Šต๋‹ˆ๋‹ค.

๐Ÿ“Œ ๊ทธ๋ฆฌ๊ณ  ์ด ๊ฐ•์˜๋Š” ์—ฌ๊ธฐ์„œ ๋์ด ์•„๋‹™๋‹ˆ๋‹ค.
์ด ์‹œ๋ฆฌ์ฆˆ์˜ Part2์—์„œ๋Š” ์ง€๊ธˆ๊นŒ์ง€ ํ•™์Šตํ•œ Express.js ๊ตฌ์กฐ๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ,
Express.js ์Šคํƒ€์ผ์˜ ๋‚˜๋งŒ์˜ ์›น ํ”„๋ ˆ์ž„์›Œํฌ ์—”์ง„์„ ์ง์ ‘ ์„ค๊ณ„ํ•˜๊ณ  ๊ตฌํ˜„
ํ•ด๋ด…๋‹ˆ๋‹ค.
ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ "์“ธ ์ค„ ์•„๋Š” ๊ฐœ๋ฐœ์ž"์—์„œ "๋งŒ๋“ค ์ค„ ์•„๋Š” ๊ฐœ๋ฐœ์ž"๋กœ ๋„์•ฝํ•˜๋Š” ๊ณผ์ •๊นŒ์ง€ ์ด์–ด์ง‘๋‹ˆ๋‹ค.


๐Ÿงญ ์‹ค์ œ ํ๋ฆ„์„ ๋”ฐ๋ผ๊ฐ€๋Š” ์‹ค๋ฌดํ˜• ํ”„๋กœ์ ํŠธ

์„น์…˜ 6์˜ ๋ฉ”๋ชจ์žฅ ํ”„๋กœ์ ํŠธ์—์„œ๋Š”
ํšŒ์›๊ฐ€์ž… โ†’ ๋กœ๊ทธ์ธ โ†’ ๋ฐ์ดํ„ฐ ์ €์žฅ โ†’ ์ˆ˜์ •/์‚ญ์ œ๊นŒ์ง€
ํ•˜๋‚˜์˜ ์›น ์„œ๋ฒ„๊ฐ€ ์–ด๋–ค ๊ตฌ์กฐ๋กœ ๊ตฌ์„ฑ๋˜์–ด์•ผ ํ•˜๋Š”์ง€ ์ฒ˜์Œ๋ถ€ํ„ฐ ๋๊นŒ์ง€ ํ๋ฆ„์œผ๋กœ ๋”ฐ๋ผ๊ฐ€๋ฉฐ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค.
๋ผ์šฐํ„ฐ ๋ถ„๋ฆฌ, ๋ฏธ๋“ค์›จ์–ด ์„ค๊ณ„, ์š”์ฒญ ์ธ์ฆ, CRUD ์ฒ˜๋ฆฌ ๋“ฑ ์‹ค๋ฌด์— ํ•„์š”ํ•œ ๋ชจ๋“  ์š”์†Œ๋ฅผ ๋‹ค๋ฃน๋‹ˆ๋‹ค.


๐Ÿง  ์ถ”์ƒ์ ์ธ ๊ฐœ๋… ๋Œ€์‹ , ๋จธ๋ฆฟ์†์— โ€˜๊ทธ๋ฆผ์ด ๊ทธ๋ ค์ง€๋Š”โ€™ ๊ฐ•์˜

์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ ์‚ฌ์ด์˜ ๋ณต์žกํ•œ ์ƒํ˜ธ์ž‘์šฉ,
๋ฏธ๋“ค์›จ์–ด ์ฒด์ธ์˜ ์ˆœ์„œ, ๋ Œ๋”๋ง ๊ตฌ์กฐ์˜ ์ฐจ์ด์  ๋“ฑ
๊ธฐ์กด์— ๋ง‰์—ฐํ•˜๊ฒŒ ๋А๊ปด์กŒ๋˜ ๊ฐœ๋…๋“ค์ด ๋ชจ๋‘ ์‹œ๊ฐ์  ์Šคํ† ๋ฆฌ๋กœ ์ •๋ฆฌ๋˜์–ด ๋จธ๋ฆฟ์†์— ๊ทธ๋ฆผ์ฒ˜๋Ÿผ ๋‚จ์Šต๋‹ˆ๋‹ค.

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

๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์„ ์ฒ˜์Œ ์‹œ์ž‘ํ•˜๋Š” ์ž…๋ฌธ์ž

Express.js์™€ Node.js๋ฅผ ํ†ตํ•ด ์›น ์„œ๋ฒ„ ๊ฐœ๋ฐœ์˜ ๊ธฐ์ดˆ๋ถ€ํ„ฐ ๋ฐฐ์šฐ๊ณ  ์‹ถ์€ ๋ถ„


JavaScript๋กœ ์„œ๋ฒ„๊นŒ์ง€ ๋‹ค๋ค„๋ณด๊ณ  ์‹ถ์€ ํ”„๋ก ํŠธ์—”๋“œ ๊ฐœ๋ฐœ์ž
ํ”„๋ก ํŠธ๋งŒ ์•Œ๊ณ  ์žˆ๋˜ ์›น ํ๋ฆ„์„, ๋ฐฑ์—”๋“œ ๊ตฌ์กฐ๊นŒ์ง€ ํ™•์žฅํ•˜๊ณ  ์‹ถ์€ ๋ถ„

Node.js๋Š” ์จ๋ดค์ง€๋งŒ ์‹ค์ œ ์›น ์„œ๋ฒ„ ๊ตฌ์ถ•์€ ์ฒ˜์Œ์ธ ๋ถ„
ํŒŒ์ผ ์ž…์ถœ๋ ฅ, npm์€ ์ต์ˆ™ํ•œ๋ฐ ๋ผ์šฐํŒ…๊ณผ ๋ฏธ๋“ค์›จ์–ด๋Š” ์ฒ˜์Œ์ธ ๋ถ„

HTTP ์š”์ฒญ/์‘๋‹ต๊ณผ ์„œ๋ฒ„ ๋™์ž‘ ํ๋ฆ„์ด ์ถ”์ƒ์ ์œผ๋กœ ๋А๊ปด์กŒ๋˜ ๋ถ„

์š”์ฒญ์ด ์–ด๋–ป๊ฒŒ ์ฒ˜๋ฆฌ๋˜๊ณ  ์‘๋‹ต์œผ๋กœ ์ด์–ด์ง€๋Š”์ง€ ์ œ๋Œ€๋กœ ์•Œ๊ณ  ์‹ถ์€ ๋ถ„


๊ธฐ๋Šฅ๋ณ„ ๋ผ์šฐํ„ฐ ๋ถ„๋ฆฌ์™€ RESTful API ์„ค๊ณ„๋ฅผ ์ตํžˆ๊ณ  ์‹ถ์€ ๋ถ„
์‹ค๋ฌดํ˜• ์„œ๋ฒ„ ๊ตฌ์กฐ๋ฅผ ์ง์ ‘ ์„ค๊ณ„ํ•˜๊ณ  ํ”„๋กœ์ ํŠธ์— ์ ์šฉํ•˜๊ณ  ์‹ถ์€ ๋ถ„

์‹ค์Šต ์œ„์ฃผ์˜ ๊ฐ•์˜๋กœ CRUD ํ”„๋กœ์ ํŠธ๊นŒ์ง€ ์™„์„ฑํ•˜๊ณ  ์‹ถ์€ ๋ถ„
์ง์ ‘ ๋™์ž‘ํ•˜๋Š” ์„œ๋ฒ„๋ฅผ ๋งŒ๋“ค์–ด๋ณด๋ฉฐ Express ํ๋ฆ„์„ ์ฒด๋“ํ•˜๊ณ  ์‹ถ์€ ๋ถ„


โœ… ์ˆ˜๊ฐ• ํ›„ ์—ฌ๋Ÿฌ๋ถ„์˜ ๋ณ€ํ™”

  • Express.js์˜ ์ž‘๋™ ๋ฐฉ์‹์ด ๋ˆˆ์— ๋ณด์ด๋“ฏ ๋ช…ํ™•ํ•ด์ง‘๋‹ˆ๋‹ค
    ์š”์ฒญ์ด ๋“ค์–ด์˜ค๊ณ  ์‘๋‹ต์ด ๋‚˜๊ฐ€๋Š” ๊ณผ์ •, ๋ฏธ๋“ค์›จ์–ด๊ฐ€ ์ค‘๊ฐ„์—์„œ ํ•˜๋Š” ์ผ๋“ค์ด ์‹œ๊ฐ์ ์ธ ํ๋ฆ„๊ณผ ์‹ค์Šต์„ ํ†ตํ•ด ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ์ดํ•ด๋ฉ๋‹ˆ๋‹ค.

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

  • ํผ ์ „์†ก, JSON ์ฒ˜๋ฆฌ, URL ํŒŒ๋ผ๋ฏธํ„ฐ, ์ฟ ํ‚ค ๋“ฑ ์„œ๋ฒ„์—์„œ ๋‹ค๋ฃจ๋Š” ์‹ค์ œ ๋ฐ์ดํ„ฐ ํ๋ฆ„์„ ์ž์œ ๋กญ๊ฒŒ ์ œ์–ดํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค
    ๋‹จ์ˆœํžˆ "๋˜๋Š” ์ฝ”๋“œ"๊ฐ€ ์•„๋‹ˆ๋ผ ์™œ ๊ทธ๋ ‡๊ฒŒ ํ˜๋Ÿฌ๊ฐ€๋Š”์ง€, ์—๋Ÿฌ๊ฐ€ ๋‚˜๋ฉด ์–ด๋–ป๊ฒŒ ๋Œ€์‘ํ•ด์•ผ ํ•˜๋Š”์ง€๊นŒ์ง€ ์Šค์Šค๋กœ ํŒ๋‹จํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ๋‚˜๋งŒ์˜ CRUD ๋ฐฑ์—”๋“œ ํ”„๋กœ์ ํŠธ๋ฅผ ์ง์ ‘ ์™„์„ฑํ•˜๊ณ  ํฌํŠธํด๋ฆฌ์˜ค๋กœ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค
    ๋‹จ์ˆœ ์˜ˆ์ œ๊ฐ€ ์•„๋‹ˆ๋ผ, ํšŒ์›๊ฐ€์ž… โ†’ ๋กœ๊ทธ์ธ โ†’ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ โ†’ ์ˆ˜์ •/์‚ญ์ œ๊นŒ์ง€ ์ด์–ด์ง€๋Š” ์‹ค์ œ ์„œ๋น„์Šค ๊ตฌ์กฐ๋ฅผ ์ง์ ‘ ๋งŒ๋“ค์–ด ๋ด…๋‹ˆ๋‹ค.

  • JavaScript๋กœ ํ”„๋ก ํŠธ์™€ ๋ฐฑ์„ ๋ชจ๋‘ ๋‹ค๋ฃฐ ์ˆ˜ ์žˆ๋Š” ํ’€์Šคํƒ ๊ฐ๊ฐ์ด ์ƒ๊น๋‹ˆ๋‹ค
    HTML/CSS/JS๋กœ ํด๋ผ์ด์–ธํŠธ ํ™”๋ฉด์„ ๋งŒ๋“ค๊ณ , Express๋กœ ์„œ๋ฒ„๋ฅผ ์„ค๊ณ„ํ•ด ์—ฐ๊ฒฐํ•˜๋Š” ๊ณผ์ •์„ ํ†ตํ•ด ์ „์ฒด ์›น ํ๋ฆ„์„ ํ•˜๋‚˜์˜ ์‹œ์•ผ๋กœ ๊ฟฐ๋šซ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

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

๐Ÿ’ก ์ด๋Ÿฐ ๋‚ด์šฉ์„ ๋ฐฐ์›Œ์š”

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

๐Ÿ— Pre-Express: ์„œ๋ฒ„๋Š” ์–ด๋–ป๊ฒŒ ์ž‘๋™ํ• ๊นŒ?

  • ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์š”์ฒญ์„ ๋ณด๋ƒˆ์„ ๋•Œ, ์„œ๋ฒ„๋Š” ์–ด๋–ค ์ˆœ์„œ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ• ๊นŒ?

  • TCP vs UDP, HTTP์˜ ๊ตฌ์กฐ๋ฅผ ํŒจํ‚ท ํ๋ฆ„๊ณผ ํ•จ๊ป˜ ์‹œ๊ฐํ™”

  • Node.js์˜ ๊ธฐ๋ณธ HTTP ์„œ๋ฒ„๋กœ Express ์—†์ด ์„œ๋ฒ„์˜ ์ตœ์†Œ ๊ตฌ์กฐ๋ฅผ ์ง์ ‘ ๊ตฌํ˜„

[์‚ฌ์šฉ์ž ์š”์ฒญ] โ”€โ”€โ–ถ "/style.css" โ”‚ โ–ผ path.join("public", "/style.css") โ”‚ โ–ผ fs.readFile("public/style.css") โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ–ผ โ–ผ [ํŒŒ์ผ ์žˆ์Œ] [์—๋Ÿฌ ๋ฐœ์ƒ] โ”‚ โ”‚ โ–ผ โ–ผ [MIME ํƒ€์ž… ๊ฒฐ์ •] โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ โ”‚ENOENT (404)โ”‚ โ–ผ โ””โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ [res.writeHead(200)] โ–ผ [res.end(data)] res.writeHead(404 or 500) res.end("<h1>์—๋Ÿฌ</h1>")

โš™ Express 101: ๋ผ์šฐํŒ…๊ณผ ๋ฏธ๋“ค์›จ์–ด์˜ ํ๋ฆ„์€ ์–ด๋–ป๊ฒŒ ๋Œ์•„๊ฐˆ๊นŒ?

  • ์‚ฌ์šฉ์ž์˜ ์š”์ฒญ์ด ์–ด๋–ป๊ฒŒ ๋ผ์šฐํŒ…๋˜๊ณ , ์–ด๋–ค ์ˆœ์„œ๋กœ ๋ฏธ๋“ค์›จ์–ด๋ฅผ ํ†ต๊ณผํ•˜๋Š”์ง€

  • ์š”์ฒญ-์‘๋‹ต ์‚ฌ์ด์—์„œ ๋ฏธ๋“ค์›จ์–ด๊ฐ€ ์–ด๋–ป๊ฒŒ ์ž‘๋™ํ•˜๋Š”์ง€๋ฅผ ํ๋ฆ„๋„๋กœ ์ตํž˜

  • req, res ๊ฐ์ฒด๊ฐ€ ์‹ค์ œ๋กœ ์–ด๋–ค ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ง€๊ณ  ํ๋ฅด๋Š”์ง€ ์Šคํƒ์ฒ˜๋Ÿผ ์ถ”์ ํ•˜๋ฉฐ ํ•™์Šต

auto ๐Ÿ’ป ํด๋ผ์ด์–ธํŠธ ์š”์ฒญ โ†’ GET /delivery โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ [1๋‹จ๊ณ„] ์ƒํ’ˆ์ด ๋„์ฐฉํ–ˆ์Šต๋‹ˆ๋‹ค. โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ–ผ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ [2๋‹จ๊ณ„] ์ƒํ’ˆ์ด ์ž…๊ณ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ–ผ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ [3๋‹จ๊ณ„] ์žฌ๊ณ  ๊ด€๋ฆฌ๋ฅผ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค. โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ–ผ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ [4๋‹จ๊ณ„] ์ฃผ๋ฌธ ์ฒ˜๋ฆฌ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ–ผ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ [5๋‹จ๊ณ„] ๋ฌผ๋ฅ˜ ๋ฐฐ์†ก์ด ์‹œ์ž‘๋˜์—ˆ์Šต๋‹ˆ๋‹ค. โ”‚ โ”‚ ๋ผ์šฐํ„ฐ๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค. โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ–ผ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ [๋ผ์šฐํ„ฐ] GET /delivery โ”‚ โ”‚ โ†’ console.log("๐Ÿšš ๋ฌผ๋ฅ˜ ๋ฐฐ์†ก ์‹œ์ž‘") โ”‚ โ”‚ โ†’ res.send("<h1>๋ฌผ๋ฅ˜ ๋ฐฐ์†ก ์‹œ์ž‘</h1>") โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

๐Ÿ› Express 201: ํ…œํ”Œ๋ฆฟ ์—”์ง„๊ณผ ๋ผ์šฐํ„ฐ ๊ตฌ์กฐ๋Š” ์–ด๋–ป๊ฒŒ ์„ค๊ณ„๋ ๊นŒ?

  • CSR vs SSR ๋ Œ๋”๋ง ์ฐจ์ด๋ฅผ ์›น ๋™์ž‘ ์‹œ๋‚˜๋ฆฌ์˜ค๋กœ ์™„์ „ ์‹œ๊ฐํ™”

  • EJS ํ…œํ”Œ๋ฆฟ ์—”์ง„์—์„œ ๋ฐ์ดํ„ฐ๊ฐ€ ์–ด๋–ป๊ฒŒ ํŽ˜์ด์ง€๋กœ ์ฃผ์ž…๋˜๋Š”์ง€

  • ๊ธฐ๋Šฅ ๋‹จ์œ„ ๋ผ์šฐํ„ฐ ๋ถ„๋ฆฌ ๊ตฌ์กฐ๋ฅผ ๋งˆ์น˜ ๋ฐฑํ™”์  ๊ตฌ์กฐ์ฒ˜๋Ÿผ ์„ค๊ณ„ํ•˜๊ณ  ์‹œ๊ฐํ™”

[1] ์ด ์›น์‚ฌ์ดํŠธ๋Š” ์ฝ˜ํ…์ธ  ์ค‘์‹ฌ์ธ๊ฐ€์š”? (๋‰ด์Šค, ๋ฌธ์„œ ๋“ฑ) โ†’ YES โ†’ SSR ์ถ”์ฒœ โ†’ NO โ†“ [2] ์‚ฌ์šฉ์ž์™€ ์ž์ฃผ ์ƒํ˜ธ์ž‘์šฉํ•˜๋‚˜์š”? (๋Œ“๊ธ€, ์ฑ„ํŒ…, ์‹ค์‹œ๊ฐ„ ๊ฐฑ์‹  ๋“ฑ) โ†’ YES โ†’ CSR ์ถ”์ฒœ โ†’ NO โ†“ [3] ๊ฒ€์ƒ‰์—”์ง„ ๋…ธ์ถœ์ด ์ค‘์š”ํ•œ๊ฐ€์š”? โ†’ YES โ†’ SSR ์ถ”์ฒœ โ†’ NO โ†’ CSR๋„ OK

๐Ÿšจ Express 301: ์—๋Ÿฌ ์ฒ˜๋ฆฌ, ์–ธ์ œ ์–ด๋–ป๊ฒŒ ์ž‘๋™ํ•˜๋Š”๊ฐ€?

  • ์กด์žฌํ•˜์ง€ ์•Š๋Š” URL๋กœ ์š”์ฒญํ•  ๋•Œ(404), ๋‚ด๋ถ€ ์ฝ”๋“œ ํ๋ฆ„์€ ์–ด๋–ป๊ฒŒ ๋˜๋Š”์ง€

  • ์„œ๋ฒ„ ๋กœ์ง ์ค‘ ์˜ˆ์™ธ๊ฐ€ ๋ฐœ์ƒํ–ˆ์„ ๋•Œ(500), ์–ด๋–ค ๋ฏธ๋“ค์›จ์–ด๊ฐ€ ์ฒ˜๋ฆฌํ•˜๋Š”์ง€

  • ์—๋Ÿฌ ์ฒ˜๋ฆฌ ๋ฏธ๋“ค์›จ์–ด์˜ ์ „๋‹ฌ ๊ตฌ์กฐ๋ฅผ ๋ˆˆ์œผ๋กœ ์ง์ ‘ ํ™•์ธ

๐Ÿง ์‚ฌ์šฉ์ž: /wrong-page ์š”์ฒญ โ†’ ์ž˜๋ชป๋œ ํŽ˜์ด์ง€ โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ โ†“ ๐Ÿ“ฆ ์„œ๋ฒ„: - 404 ์—๋Ÿฌ ๋ฐœ์ƒ - 404 ํŽ˜์ด์ง€ ๋ Œ๋”๋ง (404.ejs) - ์ž˜๋ชป๋œ URL๊ณผ ์•ˆ๋‚ด ๋ฉ”์‹œ์ง€ ์ œ๊ณต ๐Ÿง ์‚ฌ์šฉ์ž: 404 ํŽ˜์ด์ง€์—์„œ ํ™ˆํŽ˜์ด์ง€๋กœ ๋Œ์•„๊ฐ€๊ธฐ โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ โ†“ ๐Ÿ“ฆ ์„œ๋ฒ„: - ์‚ฌ์šฉ์ž ํ™ˆํŽ˜์ด์ง€๋กœ ๋ฆฌ๋””๋ ‰์…˜

๐Ÿ“ Memo ํ”„๋กœ์ ํŠธ: ์‹ค์ „ CRUD ํ๋ฆ„์„ ์ฒ˜์Œ๋ถ€ํ„ฐ ๋๊นŒ์ง€ ๋”ฐ๋ผ๊ฐ€๊ธฐ

  • ํšŒ์›๊ฐ€์ž… โ†’ ๋กœ๊ทธ์ธ โ†’ ๋ฉ”๋ชจ ์ž‘์„ฑ/์ˆ˜์ •/์‚ญ์ œ๊นŒ์ง€ ์ „์ฒด API ํ๋ฆ„์„ ์‹œ๊ฐํ™”

  • ์ธ์ฆ๊ณผ ์ƒํƒœ๊ด€๋ฆฌ (Session or Cookie)์˜ ํ๋ฆ„์„ ์ธ๋ฌผ ์ค‘์‹ฌ ์Šคํ† ๋ฆฌ๋กœ ํ‘œํ˜„

  • ์‹ค๋ฌด ์ˆ˜์ค€์˜ RESTful API ์„ค๊ณ„๋ฅผ ๋„์‹ํ™”๋œ ๋ช…์„ธ๋„์™€ ํ•จ๊ป˜ ์™„์„ฑ

POST /users/register - ์ž…๋ ฅ: username, password - ๋™์ž‘: ์ƒˆ๋กœ์šด ์‚ฌ์šฉ์ž ๋“ฑ๋ก - ์ถœ๋ ฅ: ์„ฑ๊ณต/์‹คํŒจ ๋ฉ”์‹œ์ง€ POST /users/login - ์ž…๋ ฅ: username, password - ๋™์ž‘: ๋กœ๊ทธ์ธ, JWT ๋ฐœ๊ธ‰ - ์ถœ๋ ฅ: JWT ํ† ํฐ (์ฟ ํ‚ค์— ์ €์žฅ) GET /users/logout - ์ž…๋ ฅ: ์—†์Œ - ๋™์ž‘: JWT ์‚ญ์ œ (๋กœ๊ทธ์•„์›ƒ ์ฒ˜๋ฆฌ) - ์ถœ๋ ฅ: ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€๋กœ ๋ฆฌ๋‹ค์ด๋ ‰ํŠธ [Express ์„œ๋ฒ„ ์„ค์ •] - ์„œ๋ฒ„๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ 3000๋ฒˆ ํฌํŠธ์—์„œ ์‹คํ–‰ - \`express.static\` ๋ฏธ๋“ค์›จ์–ด๋ฅผ ํ†ตํ•ด ์ •์  ํŒŒ์ผ ์„œ๋น™ - JWT ์ธ์ฆ ๋ฏธ๋“ค์›จ์–ด: \`authenticateUser\` (๋กœ๊ทธ์ธ๋œ ์‚ฌ์šฉ์ž๋งŒ ์ ‘๊ทผ ํ—ˆ์šฉ) - ํŒŒ์ผ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ ๋ฏธ๋“ค์›จ์–ด: \`ensureDataFileExists\` (๋ฐ์ดํ„ฐ ํŒŒ์ผ์ด ์—†์œผ๋ฉด ์ƒ์„ฑ) [๋ผ์šฐํ„ฐ ์—ฐ๊ฒฐ] - ์‚ฌ์šฉ์ž ๊ด€๋ จ ๋ผ์šฐํŠธ: \`/users\` - ๋ฉ”๋ชจ ๊ด€๋ จ ๋ผ์šฐํŠธ: \`/memos\`

๐Ÿ’ฌ ๊ฐ•์˜ ์ค‘ ๋“ฑ์žฅํ•˜๋Š” ๋ชจ๋“  ํ๋ฆ„๋„๋Š” ์‹ค์ œ ์ˆ˜์—… ์ž๋ฃŒ์— ํฌํ•จ๋˜์–ด ์žˆ์œผ๋ฉฐ,
์‹œ๊ฐํ™”๋œ ์ž๋ฃŒ์™€ ํ•จ๊ป˜ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋ฉฐ ๊ฐœ๋…์„ ์™„์ „ํžˆ ๋‚ด ๊ฒƒ์œผ๋กœ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์บก์ณ ์ด๋ฏธ์ง€์™€ ํ•จ๊ป˜ ์ œ๊ณต๋˜๋Š” ์ž๋ฃŒ๋Š” ๋”ฐ๋กœ ์ •๋ฆฌํ•ด๋“œ๋ฆด ์˜ˆ์ •์ด์—์š”.

์•ˆ๋…•ํ•˜์„ธ์š”, ์šฐ๋ฆฌ ๋™๋„ค ์ฝ”๋”ฉ ์ŠคํŠœ๋””์˜ค์— ์˜ค์‹  ๊ฒƒ์„ ํ™˜์˜ํ•ฉ๋‹ˆ๋‹ค!

์šฐ๋ฆฌ๋™๋„ค์ฝ”๋”ฉ ์ŠคํŠœ๋””์˜ค๋Š” ์นด๋„ค๊ธฐ ๋ฉœ๋ก , ์›Œ์‹ฑํ„ด, ํ† ๋ก ํ† , ์›Œํ„ฐ๋ฃจ ๋“ฑ ๋ถ๋ฏธ์˜ ์ฃผ์š” ๋Œ€ํ•™์—์„œ ์ปดํ“จํ„ฐ๊ณตํ•™์„ ์ „๊ณตํ•˜๊ณ , Google, Microsoft, Meta ๋“ฑ ๊ธ€๋กœ๋ฒŒ IT ๊ธฐ์—…์—์„œ ์‹ค๋ฌด ๊ฒฝํ—˜์„ ์Œ“์€ ๊ฐœ๋ฐœ์ž๋“ค์ด ํ•จ๊ป˜ ๋งŒ๋“  ๊ต์œก ๊ทธ๋ฃน์ž…๋‹ˆ๋‹ค.

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

โ€œ์šฐ๋ฆฌ๊ฐ€ ๊ณต๋ถ€ํ•˜๋˜ ์ด ๋ฐฉ์‹, ๊ทธ๋Œ€๋กœ ๋‹ค๋ฅธ ์‚ฌ๋žŒ์—๊ฒŒ๋„ ์ „ํ•˜๋ฉด ์–ด๋–จ๊นŒ?โ€

๊ทธ ๋ฌผ์Œ์ด ๋ฐ”๋กœ ์šฐ๋ฆฌ ๋™๋„ค ์ฝ”๋”ฉ ์ŠคํŠœ๋””์˜ค์˜ ์ถœ๋ฐœ์ ์ด์—ˆ์Šต๋‹ˆ๋‹ค.

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

โ€œ์ง„์งœ ๊ฐœ๋ฐœ์ž๋Š”, ์ง„์งœ ๊ฐœ๋ฐœ์ž์—๊ฒŒ ๋ฐฐ์›Œ์•ผ ํ•ฉ๋‹ˆ๋‹ค.โ€

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

์šฐ๋ฆฌ์˜ ์ฒ ํ•™์€ ๋ถ„๋ช…ํ•ฉ๋‹ˆ๋‹ค.
"์ง„์ •ํ•œ ๋ฐฐ์›€์€ ์‹ค์ฒœ์—์„œ ์˜ค๊ณ , ์„ฑ์žฅ์€ ํ•จ๊ป˜ํ•  ๋•Œ ์™„์„ฑ๋œ๋‹ค."

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

์ด์ œ, ํ˜ผ์ž ๊ณ ๋ฏผํ•˜์ง€ ๋งˆ์„ธ์š”.
์šฐ๋ฆฌ๋™๋„ค์ฝ”๋”ฉ ์ŠคํŠœ๋””์˜ค๊ฐ€ ์—ฌ๋Ÿฌ๋ถ„์˜ ์„ฑ์žฅ์„ ํ•จ๊ป˜ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.


Welcome to Neighborhood Coding Studio!

Neighborhood Coding Studio was founded by a team of developers who studied computer science at top North American universities such as Carnegie Mellon, the University of Washington, the University of Toronto, and the University of Waterloo, and went on to gain hands-on experience at global tech companies like Google, Microsoft, and Meta.

It all began as a study group formed by computer science students across the U.S. and Canada, created to grow together by sharing knowledge, solving problems, and learning from one another.
Though we were attending different schools in different time zones, the experience was so meaningful that it led us to one simple thought:

โ€œWhat if we shared this way of learning with others?โ€

That thought became the foundation of Neighborhood Coding Studio.

Today, we are a team of around 30 active developers and computer science students, each taking responsibility for their area of expertiseโ€”designing and delivering a curriculum that spans from foundational knowledge to real-world development.
Weโ€™re not just here to teachโ€”weโ€™re here to help you see through the lens of real developers and grow together.

โ€œTo become a real developer, you must learn from real developers.โ€

Our courses take you through the entire web development journeyโ€”from start to finishโ€”focused on hands-on practice, real-world projects, and practical feedback.
We care deeply about each learnerโ€™s growth and are committed to supporting your path every step of the way.

Our philosophy is simple but powerful:
"True learning comes from doing, and true growth happens together."

Whether you're just getting started, preparing for your first job, or exploring your future in tech,
Neighborhood Coding Studio is here to be your launchpadโ€”and your trusted companion on the journey.

You donโ€™t have to do it alone.
Let Neighborhood Coding Studio walk with you toward your future in development.

๐Ÿ›  ์‹ค์Šต ํ™˜๊ฒฝ ์•ˆ๋‚ด

  • ์šด์˜์ฒด์ œ: Windows, macOS, Linux ๋ชจ๋‘ ๊ฐ€๋Šฅ

  • ๊ฐœ๋ฐœ ๋„๊ตฌ: VS Code ๊ธฐ์ค€ ์„ค๋ช… (๋‹ค๋ฅธ ์—๋””ํ„ฐ๋„ ๊ฐ€๋Šฅ)

  • Node.js + npm ํ•„์š”

  • ์ˆ˜์—… ์ž๋ฃŒ: ์‹ค์Šต ์ฝ”๋“œ ๋ฐ ์ž๋ฃŒ๋Š” ๋…ธ์…˜ ๋งํฌ ๋˜๋Š” GitHub๋กœ ์ œ๊ณต

  • ์‹ค์Šต ๋„์ค‘ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ์˜ค๋ฅ˜๋‚˜ ์ด์Šˆ๋Š” Q&A๋กœ ๋น ๋ฅด๊ฒŒ ์‘๋‹ต

๐Ÿ“˜ ์ˆ˜๊ฐ•์— ํ•„์š”ํ•œ ์„ ์ˆ˜ ์ง€์‹

  • JavaScript์˜ ๊ธฐ์ดˆ ๋ฌธ๋ฒ• (๋ณ€์ˆ˜, ํ•จ์ˆ˜, ์กฐ๊ฑด๋ฌธ ๋“ฑ)

  • Node.js ์„ค์น˜ ๋ฐ npm ์‚ฌ์šฉ, ๊ฐ„๋‹จํ•œ CLI ์กฐ์ž‘

  • HTML/CSS์— ๋Œ€ํ•œ ๊ธฐ๋ณธ์ ์ธ ๊ตฌ์กฐ ๊ฐœ๋…

  • API๋‚˜ ์„œ๋ฒ„ ๊ฐœ๋…์— ๋Œ€ํ•œ ๊ด€์‹ฌ๊ณผ ํ•™์Šต ์˜์ง€

โ€œ์ œ๋Œ€๋กœ ๋ฐฐ์šฐ๋Š” Express.js: Part1 ๊ธฐ์ดˆ๋ถ€ํ„ฐ ์‹ฌํ™”๊นŒ์ง€โ€
์ง€๊ธˆ ์‹œ์ž‘ํ•ด ๋ณด์„ธ์š”. Express์˜ ๊ตฌ์กฐ๊ฐ€ ๋จธ๋ฆฟ์†์— ๋ช…ํ™•ํ•˜๊ฒŒ ์žกํžˆ๊ณ ,
๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์˜ ํฐ ๊ทธ๋ฆผ์ด ๋ณด์ด๊ธฐ ์‹œ์ž‘ํ•  ๊ฒ๋‹ˆ๋‹ค.

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

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

  • ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์„ ์ฒ˜์Œ ์‹œ์ž‘ํ•˜๋ ค๋Š” ์ž…๋ฌธ์ž

  • Express.js๊ฐ€ ๊ถ๊ธˆํ•œ ํ”„๋ก ํŠธ์—”๋“œ ๊ฐœ๋ฐœ์ž

  • ์‹ค๋ฌด ๋ฐฑ์—”๋“œ ํ๋ฆ„์„ ์ฒดํ—˜ํ•ด๋ณด๊ณ  ์‹ถ์€ ๋น„์ „๊ณต์ž

  • ์›น ์„œ๋ฒ„ ๋™์ž‘ ๋ฐฉ์‹์ด ์ถ”์ƒ์ ์œผ๋กœ ๋А๊ปด์ง€๋Š” ๋ถ„

  • Node.js๋ฅผ ์จ๋ดค์ง€๋งŒ ์‹ค์ œ ์„œ๋ฒ„๋Š” ์ฒ˜์Œ์ธ ๋ถ„

  • ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋กœ ์ „์ฒด ์›น ํ๋ฆ„์„ ๊ฒฝํ—˜ํ•˜๊ณ  ์‹ถ์€ ๋ถ„

  • ๊ธฐ๋Šฅ๋ณ„ ๋ผ์šฐํ„ฐ ๋ถ„๋ฆฌ ๊ตฌ์กฐ๋ฅผ ์•Œ๊ณ  ์‹ถ์€ ๋ถ„

  • RESTful API ์„ค๊ณ„ ๊ฐ๊ฐ์„ ์ตํžˆ๊ณ  ์‹ถ์€ ๋ถ„

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

  • JavaScript ๋ณ€์ˆ˜, ํ•จ์ˆ˜, ์กฐ๊ฑด๋ฌธ ๋“ฑ ๊ธฐ์ดˆ ๋ฌธ๋ฒ•

  • npm ์„ค์น˜, Node.js ์‹คํ–‰ ์ •๋„์˜ ๊ฐ„๋‹จํ•œ CLI ์‚ฌ์šฉ ๊ฒฝํ—˜

  • HTML/CSS์˜ ๊ตฌ์กฐ์  ๊ฐœ๋… (์‹ฌํ™” ์ง€์‹์€ ๋ถˆํ•„์š”)

  • API, ์„œ๋ฒ„ ๋“ฑ์˜ ๊ฐœ๋…์— ๋Œ€ํ•œ ๊ด€์‹ฌ ๋˜๋Š” ํ•™์Šต ์˜์ง€

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

1,265

๋ช…

์ˆ˜๊ฐ•์ƒ

65

๊ฐœ

์ˆ˜๊ฐ•ํ‰

28

๊ฐœ

๋‹ต๋ณ€

4.8

์ 

๊ฐ•์˜ ํ‰์ 

16

๊ฐœ

๊ฐ•์˜

์•ˆ๋…•ํ•˜์„ธ์š”, ์šฐ๋ฆฌ๋™๋„ค์ฝ”๋”ฉ ์ŠคํŠœ๋””์˜ค์— ์˜ค์‹  ๊ฒƒ์„ ํ™˜์˜ํ•ฉ๋‹ˆ๋‹ค!

์šฐ๋ฆฌ๋™๋„ค์ฝ”๋”ฉ ์ŠคํŠœ๋””์˜ค๋Š” ์นด๋„ค๊ธฐ ๋ฉœ๋ก , ์›Œ์‹ฑํ„ด, ํ† ๋ก ํ† , ์›Œํ„ฐ๋ฃจ ๋“ฑ ๋ถ๋ฏธ์˜ ์ฃผ์š” ๋Œ€ํ•™์—์„œ ์ปดํ“จํ„ฐ๊ณตํ•™์„ ์ „๊ณตํ•˜๊ณ , Google, Microsoft, Meta ๋“ฑ ๊ธ€๋กœ๋ฒŒ IT ๊ธฐ์—…์—์„œ ์‹ค๋ฌด ๊ฒฝํ—˜์„ ์Œ“์€ ๊ฐœ๋ฐœ์ž๋“ค์ด ํ•จ๊ป˜ ๋งŒ๋“  ๊ต์œก ๊ทธ๋ฃน์ž…๋‹ˆ๋‹ค.

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

โ€œ์šฐ๋ฆฌ๊ฐ€ ๊ณต๋ถ€ํ•˜๋˜ ์ด ๋ฐฉ์‹, ๊ทธ๋Œ€๋กœ ๋‹ค๋ฅธ ์‚ฌ๋žŒ์—๊ฒŒ๋„ ์ „ํ•˜๋ฉด ์–ด๋–จ๊นŒ?โ€

๊ทธ ๋ฌผ์Œ์ด ๋ฐ”๋กœ ์šฐ๋ฆฌ๋™๋„ค์ฝ”๋”ฉ ์ŠคํŠœ๋””์˜ค์˜ ์ถœ๋ฐœ์ ์ด์—ˆ์Šต๋‹ˆ๋‹ค.

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

โ€œ์ง„์งœ ๊ฐœ๋ฐœ์ž๋Š”, ์ง„์งœ ๊ฐœ๋ฐœ์ž์—๊ฒŒ ๋ฐฐ์›Œ์•ผ ํ•ฉ๋‹ˆ๋‹ค.โ€

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

๐ŸŽฏ ์šฐ๋ฆฌ์˜ ์ฒ ํ•™์€ ๋ถ„๋ช…ํ•ฉ๋‹ˆ๋‹ค.
"์ง„์ •ํ•œ ๋ฐฐ์›€์€ ์‹ค์ฒœ์—์„œ ์˜ค๊ณ , ์„ฑ์žฅ์€ ํ•จ๊ป˜ํ•  ๋•Œ ์™„์„ฑ๋œ๋‹ค."

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

์ด์ œ, ํ˜ผ์ž ๊ณ ๋ฏผํ•˜์ง€ ๋งˆ์„ธ์š”.
์šฐ๋ฆฌ๋™๋„ค์ฝ”๋”ฉ ์ŠคํŠœ๋””์˜ค๊ฐ€ ์—ฌ๋Ÿฌ๋ถ„์˜ ์„ฑ์žฅ์„ ํ•จ๊ป˜ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.


Welcome to Neighborhood Coding Studio!

Neighborhood Coding Studio was founded by a team of developers who studied computer science at top North American universities such as Carnegie Mellon, the University of Washington, the University of Toronto, and the University of Waterloo, and went on to gain hands-on experience at global tech companies like Google, Microsoft, and Meta.

It all began as a study group formed by computer science students across the U.S. and Canada, created to grow together by sharing knowledge, solving problems, and learning from one another.
Though we were attending different schools in different time zones, the experience was so meaningful that it led us to one simple thought:

โ€œWhat if we shared this way of learning with others?โ€

That thought became the foundation of Neighborhood Coding Studio.

Today, we are a team of around 30 active developers and computer science students, each taking responsibility for their area of expertiseโ€”designing and delivering a curriculum that spans from foundational knowledge to real-world development.
Weโ€™re not just here to teachโ€”weโ€™re here to help you see through the lens of real developers and grow together.

โ€œTo become a real developer, you must learn from real developers.โ€

Our courses take you through the entire web development journeyโ€”from start to finishโ€”focused on hands-on practice, real-world projects, and practical feedback.
We care deeply about each learnerโ€™s growth and are committed to supporting your path every step of the way.

๐ŸŽฏ Our philosophy is simple but powerful:
"True learning comes from doing, and true growth happens together."

Whether you're just getting started, preparing for your first job, or exploring your future in tech,
Neighborhood Coding Studio is here to be your launchpadโ€”and your trusted companion on the journey.

You donโ€™t have to do it alone.
Let Neighborhood Coding Studio walk with you toward your future in development.

๋”๋ณด๊ธฐ

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

์ „์ฒด

47๊ฐœ โˆ™ (2์‹œ๊ฐ„ 31๋ถ„)

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

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

์ˆ˜๊ฐ•ํ‰

์ „์ฒด

7๊ฐœ

4.9

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

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

    ์ˆ˜๊ฐ•ํ‰ 2

    โˆ™

    ํ‰๊ท  ํ‰์  5.0

    5

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

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

    • nhcodingstudio
      ์ง€์‹๊ณต์œ ์ž

      ์•ˆ๋…•ํ•˜์„ธ์š”, cylee9999๋‹˜. ์ง€์‹๊ณต์œ ์ž์ž…๋‹ˆ๋‹ค. ์šฐ์„  <์ œ๋Œ€๋กœ ๋ฐฐ์šฐ๋Š” Express.js: Part1 ๊ธฐ์ดˆ๋ถ€ํ„ฐ ์‹ฌํ™”๊นŒ์ง€ [๊ธฐ์ดˆํŽธ]> ๊ฐ•์˜๋ฅผ ์ˆ˜๊ฐ•ํ•ด ์ฃผ์‹œ๊ณ , ์†Œ์ค‘ํ•œ ์ˆ˜๊ฐ•ํ‰์„ ๋‚จ๊ฒจ์ฃผ์…”์„œ ์ง„์‹ฌ์œผ๋กœ ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค. cylee9999๋‹˜๊ป˜์„œ ๋‚จ๊ฒจ์ฃผ์‹  ๊ธ์ •์ ์ธ ํ”ผ๋“œ๋ฐฑ์€ ์ €์—๊ฒŒ ์ •๋ง ํฐ ํž˜์ด ๋ฉ๋‹ˆ๋‹ค. ๋ณด์•ˆ ์ปจ์„คํŒ… ์‹ค๋ ฅ ์ฆ์ง„์„ ์œ„ํ•ด ์ง์ ‘ ์—ฐ์Šต์šฉ ์›น์„ ์ œ์ž‘ํ•˜์‹œ๋ ค๋Š” ๋ชฉํ‘œ๊ฐ€ ๋งค์šฐ ์ธ์ƒ์ ์ž…๋‹ˆ๋‹ค. ํƒ„ํƒ„ํ•œ ๊ธฐ์ดˆ๊ฐ€ ๋’ท๋ฐ›์นจ๋  ๋•Œ ๋”์šฑ ๊ฒฌ๊ณ ํ•œ ๋ณด์•ˆ ์„ค๊ณ„๊ฐ€ ๊ฐ€๋Šฅํ•œ ๋งŒํผ, ๋ณธ ๊ฐ•์˜๊ฐ€ cylee9999๋‹˜์˜ ๋ฉ‹์ง„ ๋ชฉํ‘œ๋ฅผ ๋‹ฌ์„ฑํ•˜์‹œ๋Š” ๋ฐ ์‹ค์งˆ์ ์ธ ๋ฐ‘๊ฑฐ๋ฆ„์ด ๋˜๊ธฐ๋ฅผ ์ง„์‹ฌ์œผ๋กœ ๋ฐ”๋ž๋‹ˆ๋‹ค. ์—ด์ •์ ์œผ๋กœ ํ•™์Šตํ•˜์‹œ๋Š” cylee9999๋‹˜์„ ์‘์›ํ•˜๋Š” ๋งˆ์Œ์„ ๋‹ด์•„ ์ž‘์€ ํ˜œํƒ์„ ๋“œ๋ฆฌ๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค. ํ˜น์‹œ ์ €ํฌ ๊ต์œก ๊ณผ์ • ์ค‘ ์ถ”๊ฐ€์ ์œผ๋กœ ์ˆ˜๊ฐ•์„ ํฌ๋งํ•˜์‹œ๋Š” ๊ฐ•์˜๊ฐ€ ์žˆ์œผ์‹œ๋‹ค๋ฉด, ์•„๋ž˜ ์ด๋ฉ”์ผ๋กœ ํŽธํ•˜๊ฒŒ ์—ฐ๋ฝํ•ด ์ฃผ์‹ญ์‹œ์˜ค. ํ™•์ธ ํ›„ ์ฆ‰์‹œ ํ• ์ธ ์ฟ ํฐ์„ ์ „๋‹ฌํ•ด ๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค. ๋ฌธ์˜ ์ด๋ฉ”์ผ: jeony0535@naver.com ๋‹ค์‹œ ํ•œ๋ฒˆ ๊ท€ํ•œ ์‹œ๊ฐ„ ๋‚ด์–ด ๋”ฐ๋œปํ•œ ๋ง์”€ ๋‚จ๊ฒจ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. cylee9999๋‹˜์˜ ์„ฑ์žฅ์„ ๋๊นŒ์ง€ ์‘์›ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค:D

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

    ์ˆ˜๊ฐ•ํ‰ 18

    โˆ™

    ํ‰๊ท  ํ‰์  5.0

    ์ˆ˜์ •๋จ

    5

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

    2ํƒ„ ์‹ฌํ™”๊ณผ์ •์—์„œ ๋” ๋งŽ์ด ๋ฐฐ์šฐ๊ฒ ์Šต๋‹ˆ๋‹ค.

    • nhcodingstudio
      ์ง€์‹๊ณต์œ ์ž

      ์•ˆ๋…•ํ•˜์„ธ์š”, Edwards๋‹˜. ์ง€์‹๊ณต์œ ์ž์ž…๋‹ˆ๋‹ค. ์šฐ์„  <์ œ๋Œ€๋กœ ๋ฐฐ์šฐ๋Š” Express.js: Part1 ๊ธฐ์ดˆ๋ถ€ํ„ฐ ์‹ฌํ™”๊นŒ์ง€ [๊ธฐ์ดˆํŽธ]> ๊ฐ•์˜๋ฅผ ์ˆ˜๊ฐ•ํ•ด ์ฃผ์‹œ๊ณ , ์†Œ์ค‘ํ•œ ์ˆ˜๊ฐ•ํ‰์„ ๋‚จ๊ฒจ์ฃผ์…”์„œ ์ง„์‹ฌ์œผ๋กœ ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค. Edwards๋‹˜๊ป˜์„œ ๋‚จ๊ฒจ์ฃผ์‹  ๊ธ์ •์ ์ธ ๋ฉ”์‹œ์ง€๋Š” ์ €์—๊ฒŒ ์ •๋ง ํฐ ํž˜์ด ๋ฉ๋‹ˆ๋‹ค. ๊ธฐ์ดˆํŽธ์—์„œ ๋‹ค์ง„ ๋‚ด์šฉ์„ ๋ฐ”ํƒ•์œผ๋กœ ์ด์–ด์ง€๋Š” 2ํƒ„ ์‹ฌํ™” ๊ณผ์ •์—์„œ๋„ Edwards๋‹˜๊ป˜ ์‹ค์งˆ์ ์ธ ๋„์›€์ด ๋  ์ˆ˜ ์žˆ๋Š” ๊นŠ์ด ์žˆ๋Š” ์ง€์‹๋“ค์„ ๋งŽ์ด ์–ป์–ด ๊ฐ€์‹œ๊ธฐ๋ฅผ ์ง„์‹ฌ์œผ๋กœ ๋ฐ”๋ž๋‹ˆ๋‹ค. ํ•™์Šตํ•˜์‹œ๋‹ค ์–ด๋ ค์šด ์ ์ด ์žˆ๋‹ค๋ฉด ์–ธ์ œ๋“  ํŽธํ•˜๊ฒŒ ์งˆ๋ฌธ ๋‚จ๊ฒจ์ฃผ์‹ญ์‹œ์˜ค. Edwards๋‹˜์˜ ์—ด์ •์ ์ธ ํ•™์Šต์„ ์‘์›ํ•˜๋Š” ๋งˆ์Œ์„ ๋‹ด์•„ ์ž‘์€ ํ˜œํƒ์„ ๋“œ๋ฆฌ๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค. ํ˜น์‹œ ์ €ํฌ ๊ต์œก ๊ณผ์ • ์ค‘ ์ถ”๊ฐ€์ ์œผ๋กœ ์ˆ˜๊ฐ•์„ ํฌ๋งํ•˜์‹œ๋Š” ๊ฐ•์˜๊ฐ€ ์žˆ์œผ์‹œ๋‹ค๋ฉด, ์•„๋ž˜ ์ด๋ฉ”์ผ๋กœ ์—ฐ๋ฝํ•ด ์ฃผ์‹ญ์‹œ์˜ค. ํ™•์ธ ํ›„ ์ฆ‰์‹œ ํ• ์ธ ์ฟ ํฐ์„ ์ „๋‹ฌํ•ด ๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค. ๋ฌธ์˜ ์ด๋ฉ”์ผ: jeony0535@naver.com ๋‹ค์‹œ ํ•œ๋ฒˆ ๊ท€ํ•œ ์‹œ๊ฐ„ ๋‚ด์–ด ๋”ฐ๋œปํ•œ ๋ง์”€ ๋‚จ๊ฒจ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. Edwards๋‹˜์˜ ์„ฑ์žฅ์„ ์ง„์‹ฌ์œผ๋กœ ์‘์›ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค:D

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

    ์ˆ˜๊ฐ•ํ‰ 5

    โˆ™

    ํ‰๊ท  ํ‰์  5.0

    5

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

    • nhcodingstudio
      ์ง€์‹๊ณต์œ ์ž

      ์•ˆ๋…•ํ•˜์„ธ์š”, ์ฝ”๋”ฉ๋‹˜. ์ง€์‹๊ณต์œ ์ž์ž…๋‹ˆ๋‹ค. ์šฐ์„  <์ œ๋Œ€๋กœ ๋ฐฐ์šฐ๋Š” Express.js: Part1 ๊ธฐ์ดˆ๋ถ€ํ„ฐ ์‹ฌํ™”๊นŒ์ง€ [๊ธฐ์ดˆํŽธ]> ๊ฐ•์˜๋ฅผ ์ˆ˜๊ฐ•ํ•ด ์ฃผ์‹œ๊ณ , ์ด๋ ‡๊ฒŒ ์†Œ์ค‘ํ•œ ์ˆ˜๊ฐ•ํ‰์„ ๋‚จ๊ฒจ์ฃผ์…”์„œ ์ง„์‹ฌ์œผ๋กœ ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค. ์ฝ”๋”ฉ๋‹˜๊ป˜์„œ ๋‚จ๊ฒจ์ฃผ์‹  ์†Œ์ค‘ํ•œ ํ”ผ๋“œ๋ฐฑ์€ ์ €์—๊ฒŒ ์ •๋ง ํฐ ํž˜์ด ๋ฉ๋‹ˆ๋‹ค. ๋ณธ ๊ฐ•์˜๋ฅผ ํ†ตํ•ด ๋‹ค์ง„ ๊ธฐ์ดˆ๊ฐ€ ์ฝ”๋”ฉ๋‹˜์˜ ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ ์—ฌ์ •์— ํƒ„ํƒ„ํ•œ ๋ฐ‘๊ฑฐ๋ฆ„์ด ๋˜๊ธฐ๋ฅผ ์ง„์‹ฌ์œผ๋กœ ๋ฐ”๋ž๋‹ˆ๋‹ค. ํ•™์Šตํ•˜์‹œ๋ฉด์„œ ๊ถ๊ธˆํ•œ ์ ์ด ์ƒ๊ธฐ์‹œ๋ฉด ์–ธ์ œ๋“  ์งˆ๋ฌธ ๋‚จ๊ฒจ์ฃผ์‹ญ์‹œ์˜ค. ์ฝ”๋”ฉ๋‹˜์˜ ์—ด์ •์ ์ธ ํ•™์Šต์„ ์‘์›ํ•˜๋Š” ๋งˆ์Œ์„ ๋‹ด์•„ ์ž‘์€ ํ˜œํƒ์„ ๋“œ๋ฆฌ๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค. ํ˜น์‹œ ์ €ํฌ ๊ต์œก ๊ณผ์ • ์ค‘ ์ถ”๊ฐ€์ ์œผ๋กœ ์ˆ˜๊ฐ•์„ ํฌ๋งํ•˜์‹œ๋Š” ๊ฐ•์˜๊ฐ€ ์žˆ์œผ์‹œ๋‹ค๋ฉด, ์•„๋ž˜ ์ด๋ฉ”์ผ๋กœ ํŽธํ•˜๊ฒŒ ์—ฐ๋ฝํ•ด ์ฃผ์‹ญ์‹œ์˜ค. ํ™•์ธ ํ›„ ์ฆ‰์‹œ ํ• ์ธ ์ฟ ํฐ์„ ์ „๋‹ฌํ•ด ๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค. ๋ฌธ์˜ ์ด๋ฉ”์ผ: jeony0535@naver.com ๋‹ค์‹œ ํ•œ๋ฒˆ ๊ท€ํ•œ ์‹œ๊ฐ„ ๋‚ด์–ด ๋”ฐ๋œปํ•œ ๋ง์”€ ๋‚จ๊ฒจ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ์ฝ”๋”ฉ๋‹˜์˜ ์„ฑ์žฅ์„ ์ง„์‹ฌ์œผ๋กœ ์‘์›ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค :D

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

    ์ˆ˜๊ฐ•ํ‰ 20

    โˆ™

    ํ‰๊ท  ํ‰์  4.8

    5

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

    • nhcodingstudio
      ์ง€์‹๊ณต์œ ์ž

      ์•ˆ๋…•ํ•˜์„ธ์š” GoHome ๋‹˜ ๐Ÿ˜Š ์†Œ์ค‘ํ•œ ํ›„๊ธฐ ๋‚จ๊ฒจ์ฃผ์…”์„œ ์ง„์‹ฌ์œผ๋กœ ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค! ๐Ÿ™ ์ด๋ฒˆ [์ œ๋Œ€๋กœ ๋ฐฐ์šฐ๋Š” Express.js Part 1]์„ ํ†ตํ•ด ๋ฐฑ์—”๋“œ์˜ ๊ธฐ์ดˆ๋ฅผ ํƒ„ํƒ„ํžˆ ๋‹ค์ง€์…จ์œผ๋ฆฌ๋ผ ๋ฏฟ์Šต๋‹ˆ๋‹ค. ๊ธฐ์ดˆ๋ฅผ ๋„˜์–ด์„œ, ์šฐ๋ฆฌ๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” ํ”„๋ ˆ์ž„์›Œํฌ๊ฐ€ ๋‚ด๋ถ€์ ์œผ๋กœ ์–ด๋–ป๊ฒŒ ์„ค๊ณ„๋˜์—ˆ๊ณ  ๋™์ž‘ํ•˜๋Š”์ง€ ๊ทธ ๊นŠ์€ ์›๋ฆฌ๊นŒ์ง€ ํŒŒํ—ค์ณ๋ณด๊ณ  ์‹ถ์œผ์‹œ๋‹ค๋ฉด [Node.js ์„œ๋ฒ„ ์—”์ง„ ๋งŒ๋“ค๊ธฐ โ€“ Express.js ํด๋ก ์œผ๋กœ ๋ฐฐ์šฐ๋Š” ํ”„๋ ˆ์ž„์›Œํฌ ์„ค๊ณ„] ๊ฐ•์˜๋ฅผ ๊ฐ•๋ ฅํžˆ ์ถ”์ฒœ๋“œ๋ฆฌ๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค! (๊ฐ•์˜ ๋งํฌ: https://inf.run/crQUa) ๋‹จ์ˆœํžˆ ์‚ฌ์šฉํ•˜๋Š” ๋ฒ•์„ ๋„˜์–ด '๋งŒ๋“œ๋Š” ๋ฒ•'์„ ๊ณ ๋ฏผํ•ด ๋ณด๋Š” ๊ณผ์ •์ด GoHome ๋‹˜์˜ ์„ฑ์žฅ์— ํฐ ์ „ํ™˜์ ์ด ๋  ๊ฑฐ์˜ˆ์š”. ๋‹˜์˜ ์—ด์ •์ ์ธ ํ•™์Šต์„ ์‘์›ํ•˜๋Š” ๋งˆ์Œ์œผ๋กœ, ์ด๋ฉ”์ผ ์ฃผ์†Œ๋ฅผ ๋‚จ๊ฒจ์ฃผ์‹œ๋ฉด ํ•ด๋‹น ๊ฐ•์˜๋ฅผ ๊ธฐ๋ถ„ ์ข‹๊ฒŒ ์‹œ์ž‘ํ•˜์‹ค ์ˆ˜ ์žˆ๋„๋ก ํ• ์ธ ์ฟ ํฐ์„ ๋ณด๋‚ด๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค. ๐ŸŽ ์•ž์œผ๋กœ๋„ ๋” ๊นŠ์ด ์žˆ๋Š” ๋ฐฐ์›€์˜ ์—ฌ์ •์— ์ œ๊ฐ€ ํ•จ๊ป˜ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ์˜ค๋Š˜๋„ ์ข‹์€ ํ•˜๋ฃจ ๋ณด๋‚ด์‹œ๊ณ , ๊ถ๊ธˆํ•œ ์ ์€ ์–ธ์ œ๋“  ํŽธํ•˜๊ฒŒ ๋ง์”€ํ•ด ์ฃผ์„ธ์š”! ๐ŸŒฟ ๐Ÿ‘‰ https://open.kakao.com/o/gC10Fnoh

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

    ์ˆ˜๊ฐ•ํ‰ 5

    โˆ™

    ํ‰๊ท  ํ‰์  5.0

    5

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

    Part2 ๋“ฃ๊ธฐ ์ „์— ๋ถ€๋‹ด์—†์ด ๋น ๋ฅธ์‹œ๊ฐ„ ๋‚ด์— ์™„๊ฐ•ํ•  ์ˆ˜ ์žˆ์—ˆ์–ด์š” ํ•„์ˆ˜์ ์ธ ๊ฒƒ์€ ๋‹ค ๋‹ค๋ฃจ์—ˆ๊ณ  ์งˆ๋ฌธํ•˜๋ฉด ์ƒ์„ธํ•˜๊ฒŒ ๋‹ต๋ณ€ํ•ด์ฃผ์…”์„œ ๋„ˆ๋ฌด ์ข‹์•˜์Šต๋‹ˆ๋‹ค. ๋ณดํ†ต ๊ฐ•์˜๋ฅผ ๋น ๋ฅด๊ฒŒ ๋ณด๊ณ ๋‚˜์„œ ๊ฐ•์˜ ์ž๋ฃŒ๋กœ ๋นจ๋ฆฌ ํ›“์œผ๋ฉฐ ๋ณต์Šตํ•˜๋Š”๋ฐ ๊ฐ•์˜์™€ ๊ฐ•์˜ ์ž๋ฃŒ๊ฐ€ ์‚ด์ง ๋‹ค๋ฅธ ๋ถ€๋ถ„์ด ์žˆ๋Š” ๊ฑฐ ๊ฐ™์•„์„œ ์ด ๋ถ€๋ถ„๋„ ๋ณด์ถฉํ•ด์ฃผ์‹œ๋ฉด ๋„ˆ๋ฌด ์ข‹์„ ๊ฒƒ ๊ฐ™์•„์š”!

    • nhcodingstudio
      ์ง€์‹๊ณต์œ ์ž

      ์•ˆ๋…•ํ•˜์„ธ์š”, TAESUN๋‹˜. ์ง€์‹๊ณต์œ ์ž์ž…๋‹ˆ๋‹ค. ์šฐ์„  <์ œ๋Œ€๋กœ ๋ฐฐ์šฐ๋Š” Express.js: Part1 ๊ธฐ์ดˆ๋ถ€ํ„ฐ ์‹ฌํ™”๊นŒ์ง€ [๊ธฐ์ดˆํŽธ]> ๊ฐ•์˜๋ฅผ ์ˆ˜๊ฐ•ํ•ด ์ฃผ์‹œ๊ณ , ์†Œ์ค‘ํ•œ ์ˆ˜๊ฐ•ํ‰์„ ๋‚จ๊ฒจ์ฃผ์…”์„œ ์ง„์‹ฌ์œผ๋กœ ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค. TAESUN๋‹˜๊ป˜์„œ ๋‚จ๊ฒจ์ฃผ์‹  ์ •์„ฑ์Šค๋Ÿฌ์šด ํ”ผ๋“œ๋ฐฑ์€ ์ €์—๊ฒŒ ์ •๋ง ํฐ ํž˜์ด ๋ฉ๋‹ˆ๋‹ค. Part 2๋กœ ๋„˜์–ด๊ฐ€์‹œ๊ธฐ ์ „, ํšจ์œจ์ ์œผ๋กœ ๊ธฐ์ดˆ๋ฅผ ๋‹ค์ง€์…จ๋‹ค๋‹ˆ ์ •๋ง ๋‹คํ–‰์ž…๋‹ˆ๋‹ค. ํŠนํžˆ ๊ฐ•์˜ ์ž๋ฃŒ์™€ ์‹ค์ œ ๊ฐ•์˜ ๋‚ด์šฉ ๊ฐ„์˜ ์ฐจ์ด์— ๋Œ€ํ•ด ์ฃผ์‹  ์†Œ์ค‘ํ•œ ์˜๊ฒฌ์€ ๋” ๋‚˜์€ ๊ต์œก ํ™˜๊ฒฝ์„ ๋งŒ๋“œ๋Š” ๋ฐ ํฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค. ๋ง์”€ํ•ด ์ฃผ์‹  ๋ณด์ถฉ์ด ํ•„์š”ํ•œ ๋ถ€๋ถ„๋“ค์€ ๊ผผ๊ผผํžˆ ๊ฒ€ํ† ํ•˜์—ฌ ์ˆ˜๊ฐ•์ƒ๋ถ„๋“ค์ด ๋ณต์Šตํ•˜์‹œ๋Š” ๋ฐ ๋ถˆํŽธํ•จ์ด ์—†๋„๋ก ๊ฐœ์„ ํ•ด ๋‚˜๊ฐ€๊ฒ ์Šต๋‹ˆ๋‹ค. TAESUN๋‹˜์˜ ์—ด์ •์ ์ธ ํ•™์Šต์„ ์‘์›ํ•˜๋Š” ๋งˆ์Œ์„ ๋‹ด์•„ ์ž‘์€ ํ˜œํƒ์„ ๋“œ๋ฆฌ๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค. ํ˜น์‹œ ์ €ํฌ ๊ต์œก ๊ณผ์ • ์ค‘ ์ถ”๊ฐ€์ ์œผ๋กœ ์ˆ˜๊ฐ•์„ ํฌ๋งํ•˜์‹œ๋Š” ๊ฐ•์˜๊ฐ€ ์žˆ์œผ์‹œ๋‹ค๋ฉด, ์•„๋ž˜ ์ด๋ฉ”์ผ๋กœ ํŽธํ•˜๊ฒŒ ์—ฐ๋ฝํ•ด ์ฃผ์‹ญ์‹œ์˜ค. ํ™•์ธ ํ›„ ์ฆ‰์‹œ ํ• ์ธ ์ฟ ํฐ์„ ์ „๋‹ฌํ•ด ๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค. ๋ฌธ์˜ ์ด๋ฉ”์ผ: jeony0535@naver.com ๋‹ค์‹œ ํ•œ๋ฒˆ ๊ท€ํ•œ ์‹œ๊ฐ„ ๋‚ด์–ด ๋”ฐ๋œปํ•œ ๋ง์”€๊ณผ ์œ ์ตํ•œ ํ”ผ๋“œ๋ฐฑ ๋‚จ๊ฒจ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. TAESUN๋‹˜์˜ ์„ฑ์žฅ์„ ์ง„์‹ฌ์œผ๋กœ ์‘์›ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค :D

nhcodingstudio๋‹˜์˜ ๋‹ค๋ฅธ ๊ฐ•์˜

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

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

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

์›” โ‚ฉ95,063

5๊ฐœ์›” ํ• ๋ถ€ ์‹œ

โ‚ฉ22,000