๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐ŸŒˆ ํƒ€๋ฏธ๋…ธํŠธ

ํ˜‘์—…ํ•˜๋ฉฐ ๋งž์ถฐ๋ณธ ์ž๊ทธ๋งˆํ•œ ์ปจ๋ฒค์…˜ ๋ชจ์Œ zip

by Tamii 2021. 12. 19.
๋ฐ˜์‘ํ˜•

๋ˆˆ๋ฉ์ด ๊ธฐ์ˆ ๋ถ€์ฑ„

์ฝ”๋“œ๋ฅผ ๊ตฌํ˜„ํ•˜๋‹ค ๋ณด๋ฉด ์ •๋ง ๋ง๋„์•ˆ๋˜๊ฒŒ ์ž‘์€ ์ผ์ธ๋ฐ ์ •ํ•˜์ง€ ์•Š๊ณ  ๋„˜์–ด๊ฐ€๋ฉด ํ”ผ๊ณคํ•œ ๋ˆˆ์—ฃ๊ฐ€์‹œ๊ฐ™์€ ๊ทœ์น™๋“ค์ด ์žˆ๋‹ค..

ํ”„๋กœ์ ํŠธ์˜ ๊ทœ๋ชจ๋Š” ์ ์  ์ปค์ง€๋Š”๋ฐ.. ์ด๋Ÿฐ ๊ฒƒ๋“ค์„ ๋ˆˆ๊ฐ๊ณ  ์ง€๋‚˜๊ฐ€๋‹ˆ.. ๋ˆˆ๋ฉ์ด์ฒ˜๋Ÿผ ๋ถˆ์–ด๋‚˜๊ธฐ ๋•Œ๋ฌธ์— ๋‹จํŒ์„ ์ง€์–ด์•ผ ํ•œ๋‹ค!

๊ฐ™์ด ๊ฐœ๋ฐœํ•˜๋ฉฐ ๋งž์ถ”๋ฉด ์ข‹์€ ์‚ฌ์†Œํ•œ ๊ฒƒ๋“ค์„ ๊ฒฝํ—˜์„ ๊ธฐ๋ฐ˜ํ•ด ์„ค๋ช…ํ•˜๊ณ ์ž ํ•œ๋‹ค. 

 


 

1. git commit ๊ณผ & PR ์ปจ๋ฒค์…˜

git convention

git commit ์‹œ ์œ ๋ช…ํ•œ prefix๊ฐ€ ๋ช‡๊ฐ€์ง€ ์žˆ์–ด์„œ ์•Œ์•„์„œ ์‚ฌ์šฉํ•˜๋Š” ๋Š๋‚Œ์ด์—ˆ๋‹ค.

ํ‘œ์ค€ prefix์—์„œ ํŒ€์ด ์‚ฌ์šฉํ•  ๋ช‡๊ฐ€์ง€๋งŒ ๋ช…์‹œํ•˜๊ณ , commit ์ •์ฑ…์„ ๋””ํ…Œ์ผํ•œ ์˜ˆ์‹œ์™€ ํ•จ๊ป˜ ์ •๋ฆฌํ–ˆ๋‹ค.

feature ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ commit
fix ์ˆ˜์ •์— ๊ด€ํ•œ commit
style ์ฝ”๋“œ ์Šคํƒ€์ผ์— ๊ด€ํ•œ commit
refactor ์ฝ”๋“œ ๋ฆฌํŒฉํ† ๋ง์— ๋Œ€ํ•œ commit
test test code ์ž‘์—… ๋ฐ ์ˆ˜์ •์— ๋Œ€ํ•œ commit
[type] : ์ปค๋ฐ‹ ์ œ๋ชฉ # Issue No.
// ๋„์–ด์“ฐ๊ธฐ ํ•˜๋‹จ ์ƒ๋žต ๊ฐ€๋Šฅ
- ๋‚ด์šฉ
- ๋‚ด์šฉ

๊ธฐ์กด Issue No. ๊ธฐ์ค€์œผ๋กœ ํ•˜๋˜ commit ์ œ๋ชฉ์„ ํ–‰์œ„ prefix๋กœ ๋ณ€๊ฒฝํ•˜์—ฌ ํ•œ๋ˆˆ์— commit์˜๋„๋ฅผ ์•Œ์•„๋ณด๊ฒŒ๋” ํ•˜๊ณ 
์ƒ์„ธ ๋‚ด์šฉ์€ ๋„์–ด์“ฐ๊ธฐ ํ›„ ์ž‘์„ฑํ•ด log tree๋กœ ๊น”๋”ํžˆ ํ™•์ธ ๊ฐ€๋Šฅํ•˜๋„๋ก ํŒ€์›๋“ค๊ณผ ํ˜‘์˜ํ–ˆ๋‹ค.

 

 

PR ์ •์ฑ…

๊ฐœ๋ฐœ ๋ถ€์„œ์ „์ฒด ๊ณต๋™์œผ๋กœ์‚ฌ์šฉํ•˜๋Š” PR ์ •์ฑ…์ด ์žˆ์—ˆ์œผ๋‚˜, QA๊ฐ€ ๋ถ€๋ถ„์ ์œผ๋กœ ๋ฌถ์—ฌ ์ง„ํ–‰๋˜๋Š” ์ , ๊ทธ๋กœ ์ธํ•œ QA๋ถ„๊ธฐ ์ฒ˜๋ฆฌ๊ฐ€ ์–ด๋ ค์›€ ๋“ฑ์œผ๋กœ ์ธํ•ด ํŒ€๋งŒ์˜ ๋ธŒ๋žœ์น˜ ์ •์ฑ…์„ ๋งŒ๋“ค๊ณ  PR์„ ์ง„ํ–‰ํ–ˆ๋‹ค.

 

๐Ÿ™‹‍โ™€๏ธPR → ๐Ÿ™‹‍โ™‚๏ธ ๐Ÿ™‹ ์ฝ”๋“œ๋ฆฌ๋ทฐ → ๐Ÿ’‍โ™€๏ธ ๋Œ€์‘ → ๐Ÿ™†‍โ™‚๏ธ ๐Ÿ™† ๋™์˜ → ๐Ÿ™†‍โ™€๏ธ merge

 

์ง„ํ–‰ํ•˜๋Š” ํ”„๋กœ์ ํŠธ์— ๋Œ€ํ•œ ์ฝ”๋“œ๋ฆฌ๋ทฐ ๊ฐ€์ด๋“œ๊ฐ€ ๋”ฐ๋กœ ์—†์–ด ๊ตฌ๋‘๋กœ ์„ค๋ช…, ์Šน์ธ ํ›„ mergeํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žฆ์•˜๋‹ค.

์ด๋Ÿฌํ•œ ์Šต๊ด€์€ ์ฝ”๋“œ ๋ฆฌ๋ทฐ ์ ์ฒด์™€ ํœด๋จผ ์—๋Ÿฌ ์ฆ๊ฐ€ ์ฆํญ๊ธฐ์—ˆ๋‹ค.

 

๋”ฐ๋ผ์„œ ๋‚˜๋ฆ„์˜ ๊ทœ์น™์„ ๋งŒ๋“ค์–ด ์‹คํ–‰ํ•ด๋ณด์ž ์ œ์•ˆํ–ˆ๋Š”๋ฐ ๋„ˆ๋ฌด ๊ฐ์‚ฌํ•˜๊ฒŒ๋„ ํŒ€์› ๋ชจ๋‘๊ฐ€ ์ข‹์•„ํ•˜๊ณ  ์ดํ•ดํ•˜๋Š” ๊ทœ์น™์ด ๋˜์—ˆ๋‹ค.

์‚ฌ์‹ค ๊ฐ„๋‹จํ•œ๊ฑฐ์ง€๋งŒ ๋ช…์‹œํ•ด๋†“์œผ๋‹ˆ ๋” ์‹ ๊ฒฝ์“ฐ๊ฒŒ ๋˜์—ˆ๋‹ค.

  • ํ”„๋กœ์ ํŠธ ์ง„ํ–‰ ์ธ์›์€ PR code review๋ฅผ ์ง„ํ–‰ ๊ถŒ๊ณ 
  • PR ๋‹น์‚ฌ์ž๋Š” code review ์‹œ ๋Œ€์‘ ๊ฐœ์„  ์ž‘์—… ํ›„ merge ๊ฐ€๋Šฅ
  • PR ์ „ ๋ฐ˜๋“œ์‹œ master์„ Pullํ•˜๋Š” ์ตœ์‹ ํ™” ์ž‘์—… ํ•„์ˆ˜
  • ํ”„๋กœ์ ํŠธ ์ง„ํ–‰์ž 50% ์˜ approve ๋ฅผ ํ†ตํ•ด์„œ ๋จธ์ง€ ๊ฐ€๋Šฅ

 

 

2. ๋ฌธ์ œ์  & ๊ฐœ์„ ๊ณต์œ  Board ๋งŒ๋“ค๊ธฐ

์ฝ”๋“œ๋ฅผ ๋ฐ”์˜๊ฒŒ ๊ตฌํ˜„ํ•˜๋ฉฐ ์ž๊พธ๋งŒ ์ž‘์€ ๋ฌธ์ œ๋“ค์ด ์Œ“์ด๊ธฐ ์‹œ์ž‘ํ–ˆ๋‹ค. ์ฒ˜์Œ์—”  ์‚ฌ์†Œํ–ˆ์ง€๋งŒ ๋ฌธ์ œ๋Š” ์ฐจ์ฐจ ์Œ“์ด๊ณ  ์žŠํ˜€์กŒ๋‹ค.

์žŠํ˜€์ง€๋Š” ๋ฌธ์ œ๋“ค์˜ ํŠน์ง•์„ ๋ณด๋‹ˆ

  • ์ „์ฒด ๊ตฌ์กฐ์ ์ธ ๋ณ€๊ฒฝ์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ
  • ํ˜น์€ ์•„์ฃผ ์‚ฌ์†Œํ•ด์„œ ์žŠ์–ด๋ฒ„๋ฆฌ๋Š” ๊ฒฝ์šฐ
  • ์ƒํ˜ธ๊ฐ„์˜ ํ˜‘์˜๊ฐ€ ํ•„์š”ํ•œ ๊ฒฝ์šฐ

๊ฒฐ๋ก ์ ์œผ๋กœ ์‚ฌ์†Œํ•˜๊ฑฐ๋‚˜, ์ „์ฒด์ ์ด๊ฑฐ๋‚˜ , ํ˜‘์˜๊ฐ€ ํ•„์š”ํ•œ๊ฑฐ๋‚˜ ํ•œ ๋ฌธ์ œ๋ฅผ  ํ•œ ๋ฐ ๋ชจ์„ ๊ณต๊ฐ„์ด ํ•„์š”ํ–ˆ๋‹ค!

์ด๋ฅผ ์ค‘์•™์ง‘์ค‘์ ์œผ๋กœ ๊ด€๋ฆฌํ•˜๊ณ  ํ˜„ํ–‰ํ™” ํ•˜๊ธฐ ์œ„ํ•ด ์šฐ๋ฆฌ๋งŒ์˜ Board๋ฅผ ๋งŒ๋“ค๊ณ  ๊ทœ์น™์„ ๋งŒ๋“ค์—ˆ๋‹ค.

 

 

Board๋Š” ํ”„๋กœ์ ํŠธ ์ฐธ์—ฌ์ธ์›์ด rotation์œผ๋กœ ๊ด€๋ฆฌํ•˜๊ธฐ๋กœ ํ•˜๋ฉฐ

1์ฃผ๋งˆ๋‹ค ๋ฐ”๋€Œ๋Š” ์ด์œ  = ์ฐธ์—ฌ ์ธ์› ๋ชจ๋‘ ํ”„๋กœ์ ํŠธ ์ „๋ฐ˜์— ๋Œ€ํ•œ ์ดํ•ด๋ฅผ ๋†’์ด๊ธฐ ์œ„ํ•ด ๋ฐ˜๋ณต์„ฑ์„ ๋ถ€์—ฌํ•œ ๊ฒƒ์ด๋‹ค.

 

 

 

 

 

 

๋‚˜๋ฆ„ ํฐ ์ฒดํฌ๋ฆฌ์ŠคํŠธ๋ฅผ ๋งŒ๋“  ๊ฒƒ๊ณผ ๊ฐ™์•˜๋Š”๋ฐ 

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

 

 

 

 

3.  ๋””์ž์ธ ์‹œ์Šคํ…œ ๊ณต์œ 

๋””์ž์ธ ์‹œ์Šคํ…œ์„ ๊ณต์œ ํ•˜๊ฒŒ ๋œ ๊ณ„๊ธฐ๋Š” ํŒ€ ํŠน์„ฑ์ƒ ํ”„๋กœ์ ํŠธ In -Out์ด ์ฃผ๊ธฐ์ ์œผ๋กœ ์ผ์–ด๋‚ฌ๋Š”๋ฐ,

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

์ด๋Ÿฌํ•œ ์ •๋ณด๋˜ํ•œ ์ฃผ๊ธฐ์ ์œผ๋กœ ๊ด€๋ฆฌ๋˜์–ด์•ผ ํ•œ๋‹ค๊ณ  ํŒ๋‹จํ–ˆ๋‹ค.

 

์ž˜ ๊ด€๋ฆฌ๋˜๊ณ  ๊ณต์œ ๋˜์—ˆ์œผ๋ฉด ํ•˜๋Š” ๋‚ด์šฉ 4๊ฐ€์ง€ ์ •๋„๋ฅผ ๋ฝ‘์•„ ๊ณต์œ ํ•˜๊ธฐ๋กœ ๊ฒฐ์‹ฌํ–ˆ๋‹ค! 

 

- ๋””๋ ‰ํ† ๋ฆฌ ๊ตฌ์กฐ

- ๋ผ์šฐํŠธ ๊ตฌ์กฐ

- API ํ†ต์‹ ๊ณผ hook

- Type ์ •์˜

 

์ด ๋ฌธ์„œ๋ฅผ ๋ณด๊ณ  ํ”„๋กœ์ ํŠธ์˜ ๊ตฌ์กฐ ์ „๋ฐ˜์„ ์ดํ•ดํ•ด ๊ฒฐ๊ตญ ์ฝ”๋“œ ํŒŒ์•…์˜ ์‹ ์†์„ฑ์„ ๋†’์ผ ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™์•˜๊ณ , 

๋ฌด์—‡๋ณด๋‹ค ์ด๋Ÿฌํ•œ ํŒ€์˜ ๊ณ ๋ฏผ๊ณผ ํ”์ ์ด ๋‚จ๊ธฐ๋ฅผ ๋ฐ”๋žฌ๋‹ค.โค๏ธ

 

 

 


 

๐Ÿฅณ ๋ฐฐ์šฐ๊ณ  ๋Š๋‚€ ์ 

์ฒ˜์Œ ์ด๋Ÿฐ ๊ฒƒ๋“ค์„ ์ œ์•ˆํ•˜๊ธฐ๊นŒ์ง€ ์–ด๋Š์ •๋„ ๊ณ ๋ฏผ์ด ์žˆ์—ˆ๋‹ค.

ํŒ€์˜ ์‚ฌ์ •๊ณผ ํžˆ์Šคํ† ๋ฆฌ๋ฅผ ์ •ํ™•ํžˆ ๋ชฐ๋ž๊ณ , ์ด๋Ÿฐ ์ž๋ฃŒ๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ๊ณต์œ ํ•˜๋Š” ๊ฒƒ ๋˜ํ•œ ๋ฆฌ์†Œ์Šค ํˆฌ์ž…์ด๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

ํ•˜์ง€๋งŒ, ์ด๋Ÿฐ ๊ฒƒ๋“ค์„ ๋ง์„ค์ด๋Š”๊ฒŒ ์˜ณ์€๊ฐ€? ํ•˜๋ฉด ์•„๋‹ˆ๋ผ๋Š” ๊ฒฐ๋ก ์ด ํ™•์‹คํ–ˆ๊ธฐ์—!! ๊พธ์ค€ํžˆ ๋‘๋“œ๋ ค ๋ณด๋Š”๊ฒŒ ์ค‘์š”ํ•˜๋‹ค.

ํŒ€์—์„œ๋„ ์ด๋Ÿฐ ๋ฌธํ™”์™€ ์ •๋ฆฌ๊ฐ€ ๋งŒ๋“ค์–ด์ง์„ ๋ฐ”๋žฌ์ง€๋งŒ ์ผ์ด๋ฐ”๋น ์„œ, ์šด์˜์ด์Šˆ ๋งˆ๊ฐ ๋“ฑ์˜ ์ด์œ ๋กœ ๋‚˜์„œ์ง€ ๋ชปํ•œ ๊ฒƒ์ด๋ผ๋Š” ์˜ˆ์ธก์ด ๋“ ๋‹ค.

๊ทธ๋Ÿฌ๋ฏ€๋กœ ๋‚˜๋Š” ์˜ค๋Š˜๋„ ๋‹ค์งํ•œ๋‹ค. ๋‚˜์˜ ์—ญํ• ์„ ํ•ด์•ผ์ง€, ์—ด์‹ฌํžˆ ์ด ํƒœ๋„๋ฅผ ์œ ์ง€ํ•ด์•ผ์ง€!

 

๋Œ“๊ธ€