node.js

DND 5๊ธฐ 2์ฃผ์ฐจ - ์„ธ๋ถ€ ๊ธฐ์ˆ  ์Šคํƒ & ์•„ํ‚คํ…์ณ ์„ค๊ณ„๋„

dev_summer 2021. 7. 12. 18:08

 

์š”์ฆ˜ ์ฐธ ๋ฐ”์˜๋‹ค.

DND ํ”„๋กœ์ ํŠธ๋„ ์ง„ํ–‰ํ•˜๋ฉด์„œ ์ด์ง์ค€๋น„์ค‘์ด๋ผ ํ‹ˆํ‹ˆํžˆ ๋ฉด์ ‘์„ ๋ณด๋Ÿฌ ๋‹ค๋‹Œ๋‹ค.

๊ฒฐ๋ก ์€ ์ˆจ์‰ฌ๋“ฏ ์ž๊ดด๊ฐ์„ ๋Š๋ผ๋Š” 7์›”์ด๋‹ค.

์ง„์งœ ๊ฑฐ์ง“๋ง 1๋„ ์•ˆ๋ณดํƒœ๊ณ  ์ˆจ์‰ฌ๋“ฏ ์ž๊ดด๊ฐ์ด ๋Š๊ปด์ง„๋‹ค.

๊ทผ๋ฐ ๋ณ€ํƒœ์ฒ˜๋Ÿผ ์ด๋Ÿฐ ์ž๊ดด๊ฐ์ด ์‹ซ์ง€๋งŒ์€ ์•Š๋‹ค.

(๋ˆ„๊ฐ€ ๊ทธ๋žฌ๋‹ค ๊ฐœ๋ฐœ์€ ๋ณ€ํƒœ์ฒ˜๋Ÿผ ํ•ด์•ผํ•œ๋‹ค๊ณ )

๋‚ด๊ฐ€ ์›ํ–ˆ๋˜๊ฒŒ ์ด๊ฑฐ์ง€ ๋‚ด ์„ฑ์žฅ๋™๋ ฅ

์—ด์‹ฌํžˆ ์ž๊ดด๊ฐ๋Š๋ผ๊ณ  ๊ทน๋ณตํ•ด์•ผ์ง€

DND๊ฐ€ ๋๋‚ ๋•Œ์ฏค์—” ๋˜ ๋‹ค๋ฅธ ๊ณณ์—์„œ ๋‚˜์˜ ๊ฐœ๋ฐœ์ž๋กœ์„œ์˜ ์„ฑ์žฅ์ด ์žฌ์‹œ์ž‘ ๋˜์—ˆ๊ธธ ๋ฐ”๋ผ๋ณธ๋‹ค.

 

1์ฃผ์ฐจ ๊ณผ์ œ์ธ ๊ธฐํš์„œ๊ฐ€ ์™„์„ฑ์ด ๋˜๋ฉด ์„ธ๋ถ€๊ธฐ์ˆ ์Šคํƒ๊ณผ ์•„ํ‚คํ…์ณ๋ฅผ ์„ค๊ณ„ํ•œ๋‹ค.

 

1. ์–ธ์–ด

์šฐ๋ฆฌ์กฐ์˜ ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์ž ์Šคํƒ์ด ์Šคํ”„๋ง๋ถ€ํŠธ์™€ ๋…ธ๋“œ์ธ๋ฐ ๋‚˜๋Š” ๋…ธ๋“œ๋ฅผ ์ข‹์•„ํ•˜๋Š” ๊ฐœ๋ฐœ์ž์ด๊ธฐ๋•Œ๋ฌธ์— ์–ธ์–ด๋Š” nodejs๋กœ ์ •ํ•ด์กŒ๋‹ค.

์‚ฌ์‹ค์€ ํ”„๋กœ์ ํŠธ์˜ ํŠน์„ฑ์— ๋งž๊ฒŒ ์–ธ์–ด๋ฅผ ์„ ํƒํ•ด์•ผ๋˜๋Š”๊ฑฐ์ง€๋งŒ ๋‚˜๋Š” ๊ฐœ๋ฐœ์ฝ”์ฐ”์ฐŒ๋ฆฌ๊ธฐ๋–„๋ฌธ์— ๋…ธ๋“œ๋กœ ํ•˜๊ธฐ๋กœ ํ–ˆ๋‹ค.

 

2. ์ธํ”„๋ผ 

์ •๋ง ๋‹คํ–‰์Šค๋Ÿฝ๊ฒŒ๋„ ์ฃผ๋ง๋งˆ๋‹ค ๋ชจ๊ฐ์ฝ”๋ฅผ ํ•จ๊ป˜ํ•ด์ฃผ์‹œ๋Š” ๋ณ€ํƒœ๊ฐ™์€ ๊ฐœ๋ฐœ์ž๋‹˜๋“ค ๋•๋ถ„์— ์ข‹์€ ๊ฟ€ํŒ์„ ์–ป๋Š”๋‹ค.

๋ณดํ†ต ๋ฐฐ์› ์„๋•Œ๋‚˜ ์‹ค๋ฌด์—์„œ aws๋ฅผ ์‚ฌ์šฉํ•˜๋Š”๋ฐ aws๋Š” ์•„์ด๋”” ์ƒ์„ฑ ํ›„ 1๋…„๊ฐ„ ๋ฌด๋ฃŒ์ด๊ณ  ๊ทธ ๋ฌด๋ฃŒ์—๋„ ๋ฆฌ๋ฐ‹์ด ์žˆ์–ด ์ถ”๊ฐ€์š”๊ธˆ์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค. 

 ๊ทธ์—๋น„ํ•ด ์˜ค๋ผํดํด๋ผ์šฐ๋“œ๋Š” ํ‰์ƒ๋ฌด๋ฃŒ ์ธ์Šคํ„ด์Šค๋ฅผ 2๊ฐœ๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค.

 ์ด๋ฒˆ ํ”„๋กœ์ ํŠธ์—์„œ ์˜ค๋ผํดํด๋ผ์šฐ๋“œ๋ฅผ ๋„์ž…ํ•ด๋ณด๋ ค๊ณ  ํ•˜์˜€์œผ๋‚˜ ์‹คํŒจ

 ์„œ๋ฒ„๋Š” ์ƒ์„ฑํ•˜์˜€๋Š”๋ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์ƒ์„ฑ์—์„œ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ด์„œ ์ด๊ฒƒ์ €๊ฒƒ ํ•ด๋ณด๋‹ค๊ฐ€ ๋ฐฐํฌ๋‚˜ cicd๋•Œ์—๋„ ์ด๋Ÿฐ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ๊ฒƒ ๊ฐ™์•„ 8์ฃผ๋ผ๋Š” ๊ธฐ๊ฐ„๋™์•ˆ ์™„์„ฑํ•˜๊ธฐ์—” ๋ฆฌ์ŠคํŠธ๊ฐ€ ์ข€ ์žˆ์„ ๊ฒƒ ๊ฐ™์•„ 

์ผ๋‹จ aws๋กœ ์ธํ”„๋ผ๋ฅผ ๊ตฌ์„ฑํ•˜๊ณ  ์˜ค๋ผํดํด๋ผ์šฐ๋“œ๋ฅผ ๋ฐฐ์šฐ๋ฉด์„œ ์˜ค๋ผํด๋กœ ์„œ๋ฒ„๋ฅผ ์˜ฎ๊ธธ์ˆ˜์žˆ์œผ๋ฉด ์˜ฎ๊ฒจ๋ณผ ์ƒ๊ฐ์ด๋‹ค.

aws-ec2, aws-rds ์ด๋ ‡๊ฒŒ ๋‘๊ฐœ์˜ aws ์„œ๋น„์Šค๋ฅผ ์ด์šฉํ•ด๋ณผ ์˜ˆ์ •์ด๋‹ค.

 

3. ๋ชจ๋“ˆ ๋ฐ ๊ธฐ์ˆ  ๊ตฌํ˜„

 ์šฐ๋ฆฌ์กฐ์˜ ํ•ต์‹ฌ ๊ธฐ๋Šฅ์€ ์ฒซ๋ฒˆ์งธ ์‹œ๊ฐ„ ๊ณต์œ ์— ๋Œ€ํ•œ ๊ธฐ๋Šฅ, ๊ณต๊ฐ„ ์„ ์ •์— ๋Œ€ํ•œ ๊ธฐ๋Šฅ์ด๋‹ค.

 ์‹œ๊ฐ„๊ณต์œ ๊ฐ™์€ ๊ฒฝ์šฐ๋Š” ์‹ค์‹œ๊ฐ„์œผ๋กœ ํŒ€์›์ด ์„œ๋ธŒ๋ฐ‹ํ•œ ์‹œ๊ฐ„์„ ๋‹ค๋ฅธ ์‚ฌ์šฉ์ž๊ฐ€ ์‹ค์‹œ๊ฐ„์œผ๋กœ ๋ณผ์ˆ˜์žˆ๋„๋ก ์†Œ์ผ“์„ ์ด์šฉ ํ•˜๊ธฐ๋กœ ํ–ˆ๋‹ค. 

 ๋‘๋ฒˆ์งธ ๊ณต๊ฐ„์„ ์ •์— ๋Œ€ํ•œ ๊ฒฝ์šฐ๋Š” ํŒ€์›๋“ค์˜ ์ค‘๊ฐ„์ง€์ ์„ ์ฐพ์•„ ๊ทผ์ฒ˜ ์ง€ํ•˜์ฒ ์—ญ์„ ์ถ”์ฒœํ•ด์ฃผ๊ณ  ์ถ”์ฒœํ•˜๋Š” ์ง€ํ•˜์ฒ ์—ญ์„ ํฌํ•จํ•˜์—ฌ ์—ฌ๋Ÿฌ ํ›„๋ณด์ง€์—ญ๋“ค์„ ํˆฌํ‘œํ•˜์—ฌ ์ง€์—ญ์„ ์ •์— ๋„์›€์„ ์ค„ ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค.

 ํŒ€์›, ์Šค์ผ€์ฅด, ์ง€์—ญ์˜ ์œ„๋„ ๊ฒฝ๋„๋ฅผ ์ €์žฅํ•  ๋ฐ์ดํ„ฐ๋“ค์€ mysql ์— ์ €์žฅ์ด ๋˜๊ณ  ๋น„๋ฐ€๋ฒˆํ˜ธ๋“ฑ์€ bcrypt ๋‹จ๋ฐฉํ–ฅ์•”ํ˜ธํ™”๋ฐฉ์‹์„ ์‚ฌ์šฉํ•  ์˜ˆ์ •์ด๋‹ค. ๋˜ํ•œ Joi(์œ ํšจ์„ฑ์ฒดํฌ), pm2(๋ฌด์ค‘๋‹จ๋ฐฐํฌ), socket(์‹ค์‹œ๊ฐ„ํ†ต์‹ ), typescript(์ •์ ์ธ js์˜ ํ•œ๊ณ„์— ๋„์›€) ๋“ฑ์„ ์‚ฌ์šฉ ํ•  ์˜ˆ์ •์ด๋‹ค.

 

 

4. git branch & convention ์ „๋žต

 ํ‰์†Œ์— ์™ธ๋กญ๊ณ  ์™ธ๋กœ์šด ์„ ์ž„์—†๋Š” ํšŒ์‚ฌ์—์„œ ์ผ์„ ํ–ˆ๊ธฐ๋•Œ๋ฌธ์— git์„ ํ˜ผ์ž์„œ ์‚ฌ์šฉํ•ด์„œ ์ „๋žต์ด ์•„์ฃผ ๋‚ฏ์„ค์—ˆ์ง€๋งŒ DND์—์„œ ์˜จ๋ผ์ธ ์„ธ๋ฏธ๋‚˜๋ฅผ ์—ด์–ด์ฃผ์…”์„œ ๋ธŒ๋žœ์น˜์— ๋Œ€ํ•œ ๊ฐœ๋…์€ ์ •๋ฆฌ๊ฐ€ ์ž˜ ๋˜์—ˆ๋‹ค. ๋ธ”๋กœ๊ทธ์— ๊ธ€์„ ์˜ฌ๋ฆฐ ๋‚ด์šฉ์ด ์žˆ๋‹ค. ํ—คํ—ท

๋ธŒ๋žœ์น˜์— ๋Œ€ํ•œ ๊ฐœ๋…์€ ์žกํ˜”๋Š”๋ฐ fork๋ฅผ ํ–ˆ์„๋•Œ์— ๊ฐœ์ธ๋ ˆํฌ์˜ develop branch์— ๋ณ‘ํ•ฉํ•˜๊ณ  ์ด๊ฑธ ํŒ€ ๋ ˆํฌ๋กœ ๋ณ‘ํ•ฉํ•˜๋Š”๊ฐ€? ์ด ๋ถ€๋ถ„์ด ๋˜๊ฒŒ ํ—ท๊ฐˆ๋ ธ๋Š”๋ฐ ํ•œ๋งˆ๋””๋กœ ๊ฐœ์ธ๋ ˆํฌ์˜ feature/๊ธฐ๋Šฅ์—์„œ ํŒ€๋ ˆํฌ์˜ develop๊ฐ€์ง€๋กœ pr ๋‚ ๋ฆฌ๊ณ  ์ž‘์—…๋ฌผ ๋ฐ˜์˜์€ fetch+rebase๋กœ ํ•œ๋‹ค!

์ปค๋ฐ‹ ๋ฉ”์„ธ์ง€๋Š” ์•„๋ž˜์˜ ๊ธฐ์ค€์œผ๋กœ ์•ž์— ๋‚ด์šฉ์„ ์˜ฌ๋ฆฌ๊ณ  ์ œ๋ชฉ์€ ์˜์–ด๋กœ, ๋‚ด์šฉ์€ ์„ ํƒ์‚ฌํ•ญ์œผ๋กœ ๋‚จ๊ธฐ๊ธฐ๋กœ ํ–ˆ๋‹ค.  

feat : ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ ์ถ”๊ฐ€

fix : ๋ฒ„๊ทธ ์ˆ˜์ •

improvement : ํ˜ธํ™˜์„ฑ, ํ…Œ์ŠคํŠธ ์ปค๋ฒ„๋ฆฌ์ง€, ์„ฑ๋Šฅ, ๊ฒ€์ฆ ๊ธฐ๋Šฅ, ์ ‘๊ทผ์„ฑ ๋“ฑ ํ–ฅ์ƒ

docs : ๋ฌธ์„œ ์ˆ˜์ •

style : ์ฝ”๋“œ ํฌ๋งทํŒ…, ์„ธ๋ฏธ์ฝœ๋ก  ๋ˆ„๋ฝ ๋“ฑ

refactor : ๊ธฐ์กด ์ฝ”๋“œ์— ๋Œ€ํ•œ ๋ฆฌํŒฉํ† ๋ง ์ง„ํ–‰

pr์„ ๋‚ ๋ฆด๋–„์—๋Š” ์ œ๋ชฉ์€ ๋™์ผํ•˜๊ธฐ feat : ๊ฐ„๋‹จํ•œ ์„ค๋ช… / ๋‚ด์šฉ์€ ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ ์ฝ”๋ฉ˜ํŠธ๋กœ ์ •๋ฆฌํ•˜์˜€๋‹ค.

 

3๊ธฐ์—๋Š” ๊ธฐ์—ฌ๋„๊ฐ€ ๋งŽ์ด ์—†์–ด์„œ ๋งŽ์ด ์•„์‰ฌ์› ๋Š”๋ฐ ์ด๋ฒˆ์—๋Š” ํŒ€์›์„ ์ž˜ ๋งŒ๋‚œ๊ฒƒ ๊ฐ™๋‹ค ๋„ˆ๋ฌด ์ข‹๋‹ค:-)