Node.js - 19์ผ์ฐจ๐ŸŒท

์ด์ •์ธยท2023๋…„ 11์›” 4์ผ
0

Node.js

๋ชฉ๋ก ๋ณด๊ธฐ
19/21


๐ŸŒท 19์ผ์ฐจ (2023/10/31 ~ 2023/11/02)๐ŸŒท

โœ…๋ผ์šฐํ„ฐ ๋ถ„๋ฆฌํ•˜๊ธฐ
โœ…๋„Œ์ ์Šค ํ…œํ”Œ๋ฆฟ ์—”์ง„
โœ…MYSQL ์„ค์น˜ํ•˜๊ธฐ
โœ…ํ…Œ์ด๋ธ” ๋งŒ๋“ค๊ธฐ
โœ…์นผ๋Ÿผ์˜ ์˜ต์…˜๋“ค
โœ…CRUD ์ž‘์—…ํ•˜๊ธฐ
โœ…์‹œํ€„๋ผ์ด์ฆˆ ์‚ฌ์šฉํ•˜๊ธฐ
โœ…์‹œํ€„๋ผ์ด์ฆˆ ๋ชจ๋ธ ๋งŒ๋“ค๊ธฐ


๐Ÿ“Œ๋ผ์šฐํ„ฐ ๋ถ„๋ฆฌํ•˜๊ธฐ

โœจ Router ๊ฐ์ฒด๋กœ ๋ผ์šฐํ„ฐ ๋ถ„๋ฆฌํ•˜๊ธฐ

  • app.use ๊ฐ™์€๊ฑฐ ์ค‘์—์„œ ํŠน๋ณ„ํžˆ ๋ฉ”์„œ๋“œ๋ž‘ url ์žˆ๋Š” ๊ฒƒ
  • app.js๊ฐ€ ๊ธธ์–ด์ง€๋Š” ๊ฒƒ์„ ๋ง‰์„ ์ˆ˜ ์žˆ์Œ
  • :id ๋ฅผ ๋„ฃ์œผ๋ฉด req.params.id๋กœ ๋ฐ›์„ ์ˆ˜ ์žˆ์Œ
  • 404 ๋ฏธ๋“ค์›จ์–ด
    -> ์š”์ฒญ๊ณผ ์ผ์น˜ํ•˜๋Š” ๋ผ์šฐํ„ฐ๊ฐ€ ์—†๋Š” ๊ฒฝ์šฐ๋ฅผ ๋Œ€๋น„ํ•ด 404 ๋ผ์šฐํ„ฐ ๋งŒ๋“ค๊ธฐ

โœจ ๋ผ์šฐํ„ฐ ๊ทธ๋ฃนํ™”ํ•˜๊ธฐ

  • ์ฃผ์†Œ๋Š” ๊ฐ™์ง€๋งŒ ๋ฉ”์„œ๋“œ๊ฐ€ ๋‹ค๋ฅธ ์ฝ”๋“œ๊ฐ€ ์žˆ์„ ๋•Œ

    -> router.route ๋กœ ๋ฌถ์Œ

โœจ req ๊ฐ์ฒด

  • req.app : req ๊ฐ์ฒด๋ฅผ ํ†ตํ•ด app ๊ฐ์ฒด์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ์Œ. req.app.get('port')์™€ ๊ฐ™์€ ์‹์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Œ
  • req.body : body-parser ๋ฏธ๋“ค์›จ์–ด๊ฐ€ ๋งŒ๋“œ๋Š” ์š”์ฒญ์˜ ๋ณธ๋ฌธ์„ ํ•ด์„ํ•œ ๊ฐ์ฒด
  • req.cookies : cookie-parser ๋ฏธ๋“ค์›จ์–ด๊ฐ€ ๋งŒ๋“œ๋Š” ์š”์ฒญ์˜ ์ฟ ํ‚ค๋ฅผ ํ•ด์„ํ•œ ๊ฐ์ฒด
  • req.ip : ์š”์ฒญ์˜ ip ์ฃผ์†Œ๊ฐ€ ๋‹ด๊ฒจ ์žˆ์Œ
  • req.params : ๋ผ์šฐํŠธ ๋งค๊ฐœ๋ณ€์ˆ˜์— ๋Œ€ํ•œ ์ •๋ณด๊ฐ€ ๋‹ด๊ธด ๊ฐ์ฒด
  • req.query : ์ฟผ๋ฆฌ์ŠคํŠธ๋ง์— ๋Œ€ํ•œ ์ •๋ณด๊ฐ€ ๋‹ด๊ธด ๊ฐ์ฒด
  • req.signedCookies : ์„œ๋ช…๋œ ์ฟ ํ‚ค๋“ค์€ req.cookies ๋Œ€์‹  ์—ฌ๊ธฐ์— ๋‹ด๊น€
  • req.get(ํ—ค๋” ์ด๋ฆ„) : ํ—ค๋”์˜ ๊ฐ’์„ ๊ฐ€์ ธ์˜ค๊ณ  ์‹ถ์„ ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ๋ฉ”์„œ๋“œ

โœจ res ๊ฐ์ฒด

  • res.app : req.app ์ฒ˜๋Ÿผ res ๊ฐ์ฒด๋ฅผ ํ†ตํ•ด app ๊ฐ์ฒด์— ์ ‘๊ทผํ•จ
  • res.cookie(ํ‚ค, ๊ฐ’, ์˜ต์…˜) : ์ฟ ํ‚ค๋ฅผ ์„ค์ •ํ•˜๋Š” ๋ฉ”์„œ๋“œ
  • res.clearCookie(ํ‚ค, ๊ฐ’, ์˜ต์…˜) : ์ฟ ํ‚ค๋ฅผ ์ œ๊ฑฐํ•˜๋Š” ๋ฉ”์„œ๋“œ
  • res.end() : ๋ฐ์ดํ„ฐ ์—†์ด ์‘๋‹ต ๋ณด๋ƒ„
  • res.json(JSON) : JSON ํ˜•์‹์˜ ์‘๋‹ต ๋ณด๋ƒ„
  • res.redirect(์ฃผ์†Œ) : ๋ฆฌ๋‹ค์ด๋ ‰ํŠธํ•  ์ฃผ์†Œ์™€ ํ•จ๊ป˜ ์‘๋‹ต ๋ณด๋ƒ„
  • res.render(๋ทฐ, ๋ฐ์ดํ„ฐ) : ๋‹ค์Œ ์ ˆ์—์„œ ๋‹ค๋ฃฐ ํ…œํ”Œ๋ฆฟ ์—”์ง„์„ ๋žœ๋”๋งํ•ด์„œ ์‘๋‹ตํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ๋ฉ”์„œ๋“œ
  • res.send(๋ฐ์ดํ„ฐ) : ๋ฐ์ดํ„ฐ์™€ ํ•จ๊ป˜ ์‘๋‹ต ๋ณด๋ƒ„. ๋ฐ์ดํ„ฐ๋Š” ๋ฌธ์ž์—ด์ผ ์ˆ˜๋„ ์žˆ๊ณ  HTML ์ผ ์ˆ˜๋„ ์žˆ์œผ๋ฉฐ, ๋ฒ„ํผ์ผ ์ˆ˜๋„ ์žˆ๊ณ  ๊ฐ์ฒด๋‚˜ ๋ฐฐ์—ด์ผ ์ˆ˜๋„ ์žˆ์Œ
  • res.sendFile(๊ฒฝ๋กœ) : ๊ฒฝ๋กœ์— ์œ„์น˜ํ•œ ํŒŒ์ผ์„ ์‘๋‹ตํ•จ
  • res.set(ํ—ค๋”, ๊ฐ’) : ์‘๋‹ต์˜ ํ—ค๋”๋ฅผ ์„ค์ •ํ•จ
  • res.status(์ฝ”๋“œ) : ์‘๋‹ต ์‹œ์˜ HTTP ์ƒํƒœ ์ฝ”๋“œ ์ง€์ •ํ•จ

๐Ÿ“Œ๋„Œ์ ์Šค ํ…œํ”Œ๋ฆฟ ์—”์ง„

โœจ ๋„Œ์ ์Šค

  • Pug์˜ ๋ฌธ๋ฒ•์— ์ ์‘๋˜์ง€ ์•Š๋Š”๋‹ค๋ฉด ๋„Œ์ ์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ข‹์Œ

โœจ ๋„Œ์ ์Šค - ๋ณ€์ˆ˜


โœจ ๋„Œ์ ์Šค - ๋ฐ˜๋ณต๋ฌธ

โœจ ๋„Œ์ ์Šค - ์กฐ๊ฑด๋ฌธ


๐Ÿ“ŒCRUD ์ž‘์—…ํ•˜๊ธฐ


๐Ÿ“Œ์‹œํ€„๋ผ์ด์ฆˆ ์‚ฌ์šฉํ•˜๊ธฐ

profile
๋‘‰์ด๋‹

0๊ฐœ์˜ ๋Œ“๊ธ€

๊ด€๋ จ ์ฑ„์šฉ ์ •๋ณด