๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
ํ”„๋กœ์ ํŠธ/ํŒ€ ํ”„๋กœ์ ํŠธ

[ ํŒ€ KPT ํšŒ๊ณ  ] ์•„์›ƒ์†Œ์‹ฑ ํ”„๋กœ์ ํŠธ

by carrot0911 2025. 1. 13.

์•„์›ƒ์†Œ์‹ฑ ํ”„๋กœ์ ํŠธ

 

Keep: ์ด๋ฒˆ ๊ณผ์ œ์—์„œ ์œ ์ง€ํ–ˆ์œผ๋ฉด ํ•˜๋Š” ๋ถ€๋ถ„

  • ์†Œํ†ต ๊ด€๋ จ
    • ํŒ€์› ๊ฐ„์˜ ์›ํ™œํ•œ ์†Œํ†ต ๋•๋ถ„์— ์ถฉ๋Œ์„ ์ตœ์†Œํ™”ํ•˜๊ณ  ํ”„๋กœ์ ํŠธ๋ฅผ ์ˆœ์กฐ๋กญ๊ฒŒ ์ง„ํ–‰ํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.
    • ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜์ด ํŽธ์•ˆํ•ด์„œ ์˜๊ฒฌ์„ ์ œ์•ˆํ•˜๊ฑฐ๋‚˜ ๋‹ค๋ฅธ ์‚ฌ๋žŒ์˜ ์˜๊ฒฌ์„ ์ˆ˜์šฉํ•˜๋Š” ๊ณผ์ •์ด ๋งค์šฐ ๊ธ์ •์ ์ด์—ˆ๋‹ค.
  • ํ”„๋กœ์ ํŠธ ์ ๊ทน์„ฑ
    • ๋ชจ๋‘๊ฐ€ ํ”„๋กœ์ ํŠธ์— ์ ๊ทน์ ์œผ๋กœ ์ฐธ์—ฌํ•˜๋ฉฐ ์ฑ…์ž„๊ฐ์„ ๋ณด์—ฌ์ฃผ์—ˆ๋‹ค.
  • GitHub
    • Fork๋ฅผ ์‚ฌ์šฉํ•ด ๊ฐ์ž Repository์—์„œ ์ž‘์—…ํ•œ ๋’ค Pull Request๋กœ ํ•ฉ์น˜๋Š” ์ „๋žต์ด ํ˜‘์—…์— ํšจ๊ณผ์ ์ด์—ˆ๋‹ค.
  • ์ฝ”๋“œ ์ปจ๋ฒค์…˜
    • ์ •ํ•ด์ง„ ์ฝ”๋“œ ์ปจ๋ฒค์…˜์„ ์ฒ ์ €ํžˆ ์ค€์ˆ˜ํ•ด ์ฝ”๋“œ ๋ฆฌ๋ทฐ์™€ ์ดํ•ด๊ฐ€ ์ˆ˜์›”ํ–ˆ๋‹ค.

 

Problem: ๊ฐœ์„ ์ด ํ•„์š”ํ•œ ๋ถ€๋ถ„

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

 

Try: ๋‹ค์Œ ๊ณผ์ œ๋ฅผ ์œ„ํ•ด ํ•ด์•ผ ํ•  ๋…ธ๋ ฅ

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

 

Feel: ๋Š๋‚€ ์ 

๐Ÿ‘‘ํŒ€์žฅ๋‹˜:

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

๐Ÿ˜ŽํŒ€์›1:

์ด๋ฒˆ ํ”„๋กœ์ ํŠธ๋ฅผ ์‹œ์ž‘ํ•  ๋•Œ๋งŒ ํ•ด๋„ ๊ฑฑ์ •์ด ๋งŽ์ด ์•ž์„ฐ์ง€๋งŒ ์ฐจ๊ทผ์ฐจ๊ทผ ์ง„ํ–‰ํ•˜๊ณ  ๋„์›€์„ ๋ฐ›์œผ๋ฉฐ ์ง„ํ–‰ํ•˜๋‹ค ๋ณด๋‹ˆ ์กฐ๊ธˆ ๋” ์„ฑ์žฅํ•  ์ˆ˜ ์žˆ๋Š” ํ”„๋กœ์ ํŠธ๊ฐ€ ๋œ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค!

๐Ÿ˜ŽํŒ€์›2:

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

๐Ÿ˜ŽํŒ€์›3:

ํ”„๋กœ์ ํŠธ๋ฅผ ์‹œ์ž‘ํ•˜๋ฉฐ ๊ฑฑ์ •์ด ์•ž์„ฐ์ง€๋งŒ ํŒ€์›๋ถ„๋“ค๊ณผ ์†Œํ†ตํ•˜๊ณ  ๋„์›€๋„ ๋ฐ›์œผ๋ฉฐ ์ˆ˜์›”ํ•˜๊ฒŒ ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.
์ฝ”๋“œ์™€ GitHub์— ๋Œ€ํ•ด์„œ๋„ ๋‹ค๋ฅธ ๊ด€์ ๊ณผ ์ƒˆ๋กœ์šด ๋ฐฉ๋ฒ•์„ ๋ฐฐ์šธ ์ˆ˜ ์žˆ์–ด ์Šค์Šค๋กœ๋„ ๋ฐœ์ „ํ•  ์ˆ˜ ์žˆ๋Š” ์‹œ๊ฐ„์ด ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
๋ชจ๋‘ ์ˆ˜๊ณ ํ•˜์…จ์Šต๋‹ˆ๋‹ค!