๊ฒŒ์‹œ๊ธ€ ํŽ˜์ด์ง€

 

ํ”„๋กœ์ ํŠธ: ๊ฒŒ์‹œ๊ธ€ ํŽ˜์ด์ง€

์„ค๋ช…: ๊ฒŒ์‹œ๊ธ€ ๋ชฉ๋ก ์กฐํšŒ, ๋“ฑ๋ก, ์ˆ˜์ • ์‚ญ์ œ์˜ ๊ธฐ๋Šฅ ๊ตฌํ˜„์„ ์—ฐ์Šต์„ ์œ„ํ•ด ์ œ์ž‘๋˜์—ˆ์Šต๋‹ˆ๋‹ค. 

์ œ์ž‘: 2022.03.18 ~2022.03.24

 

์‹œ์—ฐ์˜์ƒ: https://youtu.be/hJivoIls7AQ

๊นƒํ—ˆ๋ธŒ: https://github.com/moonhjang/node_1

 


 

์‚ฌ์šฉ ๊ธฐ์ˆ 
  • Server: AWS EC2 (Ubuntu 18.04 LTS)
  • Framework: Express, Mongoose (Node.js)
  • Database: MongoDB
  • front-end: HTML5, CSS3, Javascript, Jquery, bootstrap

 


 

ํ•ต์‹ฌ ๊ธฐ๋Šฅ
  • ๊ฒŒ์‹œ๊ธ€ ๋ชฉ๋ก์กฐํšŒํŽ˜์ด์ง€
    • ์ œ๋ชฉ, ์ž‘์„ฑ์ž๋ช…, ์ž‘์„ฑ๋‚ ์งœ ์กฐํšŒ
    • ์ž‘์„ฑ ๋‚ ์งœ ๊ธฐ์ค€์œผ๋กœ ๋‚ด๋ฆผ์ฐจ์ˆœ ์ •๋ ฌ
    • ํŠน์ • ๊ฒŒ์‹œ๊ธ€ ์„ ํƒ์‹œ ๊ฒŒ์‹œ๊ธ€ ์กฐํšŒํŽ˜์ด์ง€๋กœ ์ด๋™
  • ๊ฒŒ์‹œ๊ธ€ ์ž‘์„ฑํŽ˜์ด์ง€
    • ์ œ๋ชฉ, ์ž‘์„ฑ์ž๋ช…, ๋น„๋ฐ€๋ฒˆํ˜ธ, ์ž‘์„ฑ๋‚ด์šฉ ์ž…๋ ฅ ํ›„ ์ €์žฅ
    • ์ž…๋ ฅ๋ž€์ด ๋น„์–ด์žˆ์„ ์‹œ, "์ž…๋ ฅํ•ด์ฃผ์„ธ์š”" ์•Œ๋žŒ๋„์šฐ๊ธฐ
  • ๊ฒŒ์‹œ๊ธ€ ์กฐํšŒํŽ˜์ด์ง€
    • ์ œ๋ชฉ, ์ž‘์„ฑ์ž๋ช…, ์ž‘์„ฑ๋‚ ์งœ, ์ž‘์„ฑ ๋‚ด์šฉ ์กฐํšŒ
  • ๊ฒŒ์‹œ๊ธ€ ์ˆ˜์ •/์‚ญ์ œํŽ˜์ด์ง€
    • ์ž…๋ ฅ๋ž€์ด ๋น„์–ด์žˆ์„ ์‹œ, "์ž…๋ ฅํ•ด์ฃผ์„ธ์š”" ์•Œ๋žŒ๋„์šฐ๊ธฐ
    • ๋น„๋ฐ€๋ฒˆํ˜ธ๊ฐ€ ์ผ์น˜ํ•  ์‹œ, ์ˆ˜์ •/์‚ญ์ œ ๊ฐ€๋Šฅ
    • ๋น„๋ฐ€๋ฒˆํ˜ธ๊ฐ€ ์ผ์น˜ํ•˜์ง€ ์•Š์„ ์‹œ, "๋น„๋ฐ€๋ฒˆํ˜ธ ๋ถˆ์ผ์น˜" ์•Œ๋žŒ๋„์šฐ๊ธฐ

 


 

Trouble Shooting 

 

Node.js์˜ ์‹œ์Šคํ…œ์„ ์™„์ „ํžˆ ์ดํ•ดํ•˜์ง€ ๋ชปํ•œ์ฑ„ ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค. 1~2์ผ์ฐจ์€ Node.js์— ๋Œ€ํ•ด์„œ ๋ฐฐ์› ๊ณ , 3~4์ผ์ฐจ์—๋Š” ์›น์‚ฌ์ดํŠธ์˜ ๋ฐฑ์—”๋“œ ์—ญํ• ์— ์ง‘์ค‘ํ•˜์˜€๋‹ค. 5~7์ผ์ฐจ์—๋Š” ํ”„๋ก ํŠธ์™€ ๋ฐฑ์—”๋“œ์— ์—ฐ๊ฒฐ์— ์ง‘์ค‘ํ•˜์—ฌ ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜์˜€๋‹ค. Node.js์˜ ์งง์€ ์ดํ•ด์™€ ์งง์€ ์‹œ๊ฐ„๋™์•ˆ ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜์˜€๊ธฐ์— ์™„์„ฑ๋„๋Š” ๋–จ์–ด์ง€์ง€๋งŒ, ๋ชฉํ‘œํ•˜๋Š” ๊ธฐ๋Šฅ๊ตฌํ˜„์€ ์™„์„ฑํ•˜์˜€๋‹ค. 

 

โ–ถ DB์ €์žฅ์‹œ, ๊ฐ ํฌ์ŠคํŒ…์— ๋Œ€ํ•ด์„œ postsid๋ฅผ ์ง€์ •ํ–ˆ๋Š”๋ฐ, 1๊ฐœ ์ดํ›„๋กœ postsid ์ค‘๋ณต๊ด€๋ จ ์—๋Ÿฌ๊ฐ€ ๋‚˜์˜ค๋ฉด์„œ ์ €์žฅ๋˜์ง€ ์•Š์•˜๋‹ค.

postsid๋ฅผ ์ž‘์„ฑ๋‚ ์งœ์— ์—ฐ๊ด€ํ•ด์„œ ๋„˜๋ฒ„๋ง ํ•ด์ฃผ๋‹ˆ ๋ฌธ์ œ์—†์ด ์ €์žฅ๋จ

 

โ–ถ MongoDB๋ฅผ ์ด์šฉํ–ˆ์„๋•Œ์™€ ๋‹ค๋ฅด๊ฒŒ Mongoose๋Š” ์•„์ด๋””์™€ ๋น„๋ฐ€๋ฒˆํ˜ธ๊ฐ€ ์—†์–ด๋„ Robo3T์—์„œ DB๋‚ด์šฉ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.  ํ•˜์ง€๋งŒ, ๋„๋ฉ”์ธ๊ณผ ์—ฐ๊ฒฐ ํ›„ Robo3T์— ์ €์žฅ๋œ ๋‚ด์šฉ๊ณผ ์—ฐ๊ฒฐ๋˜์ง€ ์•Š๊ณ  ์ž์ฒด DB๋ฅผ ๋งŒ๋“ค์–ด ์‹คํ–‰๋˜์—ˆ๋‹ค. ์–ด๋””์— ์ €์žฅ๋˜๊ณ  ์žˆ๋Š”์ง€ ์•„์ง๋„ ์˜๋ฌธ์ด ๋“ ๋‹ค. DB๋‚ด์šฉ ์กฐํšŒ๋‚˜ ๊ด€๋ฆฌํ•˜๊ธฐ๊ฐ€ ๋ถˆํŽธํ•  ๊ฒƒ๊ฐ™์•„ ํ”„๋กœ์ ํŠธ ๋งˆ์ง€๋ง‰๋‚  ์†Œ์œ ํ•˜๊ณ ์žˆ๋Š” MongoDB๋กœ ๊ฒฝ๋กœ๋ฅผ ๋ณ€๊ฒฝํ•˜๋ ค๊ณ  ํ•˜์˜€์Œ.

→ ๋„๋ฉ”์ธ์— ์—ฐ๊ฒฐ๋œ ์ž์ฒด DB๋Š” ๊ป๋‹ค ์ผœ๋„ ๊ฐ™์€ DB์— ์—ฐ๊ฒฐ๋˜์–ด์„œ ์•„์ง๋„ ์‚ฌ์šฉํ•ด๋„๋˜๋Š”์ง€ ์˜๋ฌธ์ด ๋“ฆ.

ํ•ด๋‹น๋ถ€๋ถ„์€ ์ถ”ํ›„ ์Šคํ„ฐ๋””๊ฐ€ ํ•„์š”ํ•จ.

 

โ–ถ ๋น„๋ฐ€๋ฒˆํ˜ธ ์ €์žฅ์‹œ, ์•”ํ˜ธํ™”์ฒ˜๋ฆฌ๊ฐ€ ์–ด๋ ค์› ๋‹ค.

→ ๊ฒŒ์‹œ๊ธ€ ์ž‘์„ฑ์‹œ ์•”ํ˜ธํ™” ์ฒ˜๋ฆฌ๋œ ๋น„๋ฐ€๋ฒˆํ˜ธ๋กœ ์ €์žฅ์ด ๊ฐ€๋Šฅํ•จ. ํ•˜์ง€๋งŒ, ์‚ญ์ œ ๋ฐ ์ˆ˜์ •ํŽ˜์ด์ง€์—์„œ ๋น„๋ฐ€๋ฒˆํ˜ธ ํ™•์ธ์‹œ ์ž‘์„ฑ๋œ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์•”ํ˜ธํ™” ์‹œํ‚จ๊ฒƒ๊ณผ ์ €์žฅ๋œ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ๋น„๊ตํ–ˆ์„๋•Œ ๊ฐ™์€ ๊ฐ’์ด ์•„๋‹˜. ๋˜ํ•œ, ์•”ํ˜ธํ™” ์ฒ˜๋ฆฌ๋œ ๋น„๋ฐ€๋ฒˆํ˜ธ๊ฐ€ '$'์™€ ๊ฐ™์€ ๊ธฐํ˜ธ๊ฐ€ ์žˆ์–ด Schema์—์„œ ๋น„๋ฐ€๋ฒˆํ˜ธ๋Š” 'String' ์ง€์ •๋œ ์ƒํƒœ์™€ ๋‹ฌ๋ผ์„œ ์˜ค๋ฅ˜๋ฅผ ๋ƒ„. ๋˜ํ•œ, ๋น„๋ฐ€๋ฒˆํ˜ธ ์•”ํ˜ธํ™”์ฒ˜๋ฆฌ๋ฅผ ์œ„ํ•œ ์ถฉ๋ถ„ํ•œ ์‹œ๊ฐ„์ด ์—†์–ด์„œ ์ถ”ํ›„ ๋‹ค์‹œ ๋„์ „ํ•  ์˜ˆ์ •์ž„.

 

 

+ Recent posts