๋ณธ๋ฌธ์œผ๋กœ ๊ฑด๋„ˆ๋›ฐ๊ธฐ

๐Ÿค 25๋…„ 8์›” ํšŒ๊ณ 

์•ฝ 12๋ถ„
Ju young Lee
A contribution-driven developer

๋“ค์–ด๊ฐ€๋ฉฐโ€‹

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

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

์ผ์ •์ด ๋ฐ€๋ฆฌ๋Š” ์›์ธ์€ ๋ณตํ•ฉ์ ์ด๋‹ค. ์ด ๊ธ€์—์„œ๋Š” ์ด์Šˆ ํŠธ๋ฆฌ(Issue Tree)๋ฅผ ํ™œ์šฉํ•ด ๋ฌธ์ œ๋ฅผ ๊ตฌ์กฐ์ ์œผ๋กœ ๋ถ„์„ํ•ด๋ณด๊ณ , ์ด๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ 9์›”์— ์–ด๋–ป๊ฒŒ ์„ฑ์žฅํ•ด ๋‚˜๊ฐˆ์ง€ ๊ณ„ํš์„ ๊ณต์œ ํ•˜๊ณ ์ž ํ•œ๋‹ค.

1. Git, ์ด๋ก ์—์„œ ์‹ค์ „์œผ๋กœโ€‹

์ด์ „์—๋„ Git์„ ์‚ฌ์šฉํ•ด๋ดค์ง€๋งŒ, ์ด๋ฒˆ ๋‹ฌ์ฒ˜๋Ÿผ ๊ทธ ์ค‘์š”์„ฑ๊ณผ ๊นŠ์ด๋ฅผ ์ฒด๊ฐํ•œ ์ ์€ ์—†์—ˆ๋‹ค. ์ด๋ก ์œผ๋กœ๋งŒ ์•Œ๋˜ ๊ฐœ๋…๋“ค์ด ์‹ค์ œ ํ˜‘์—… ๊ณผ์ •์—์„œ ์–ด๋–ป๊ฒŒ ์ž‘๋™ํ•˜๋Š”์ง€ ๊นจ๋‹ซ๊ฒŒ ๋œ ํ•œ ๋‹ฌ์ด์—ˆ๋‹ค.

์˜คํ”ˆ ๋‹ฅํ„ฐ์˜ ๋ธŒ๋žœ์น˜ ์ „๋žต ๋ฐ ๋ณ‘ํ•ฉ ๋ฐฉ์‹

img alt="model"

์šฐ๋ฆฌ ํŒ€์€ git-flow ์ „๋žต์„ ๊ฐ„์†Œํ™”ํ•˜์—ฌ ํ™œ์šฉํ•˜๊ณ  ์žˆ๋‹ค.

  • main: ์‹ค์ œ ์šด์˜ ์ค‘์ธ ํ”„๋กœ๋•ํŠธ์˜ ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ๊ด€๋ฆฌํ•œ๋‹ค.
  • develop: ๋‹ค์Œ ๋ฐฐํฌ ๋ฒ„์ „์— ํฌํ•จ๋  ๊ธฐ๋Šฅ๋“ค์ด ์Œ“์—ฌ์žˆ๋Š” ๋ธŒ๋žœ์น˜๋‹ค.
  • feature: ์—ฌ๋Ÿฌ ๊ธฐ๋Šฅ์ด ์กฐํ•ฉ๋œ ํฐ ๊ทœ๋ชจ์˜ ์ž‘์—…์„ ์ง„ํ–‰ํ•  ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด 'ํŠน์ • ํŽ˜์ด์ง€ ๋””์ž์ธ ๊ฐœํŽธ'์ฒ˜๋Ÿผ ์ปดํฌ๋„ŒํŠธ, ๋ ˆ์ด์•„์›ƒ, ๊ธฐ๋Šฅ ๊ตฌํ˜„์ด ๋ชจ๋‘ ํ•„์š”ํ•œ ๊ฒฝ์šฐ ๋ณ„๋„์˜ feature ๋ธŒ๋žœ์น˜๋ฅผ ์ƒ์„ฑํ•˜๊ณ , ๊ทธ ์•ˆ์—์„œ feat/, fix/ ๋“ฑ์˜ ์ž‘์€ ๋ธŒ๋žœ์น˜๋ฅผ ๋งŒ๋“ค์–ด ์ž‘์—…ํ•œ๋‹ค.

๊ฐœ๋ณ„ ์ž‘์—… ๋ธŒ๋žœ์น˜๋Š” ์ฝ”๋“œ ๋ฆฌ๋ทฐ๋ฅผ ๊ฑฐ์นœ ํ›„, feature ๋˜๋Š” develop ๋ธŒ๋žœ์น˜๋กœ ๋ณ‘ํ•ฉ๋œ๋‹ค. ์ดํ›„ ์ •ํ•ด์ง„ ์‹œ๊ฐ„์— develop์˜ ์ฝ”๋“œ๋ฅผ main์œผ๋กœ ๋ณ‘ํ•ฉํ•˜์—ฌ ์ตœ์ข… ๋ฐฐํฌ๋ฅผ ์ง„ํ–‰ํ•œ๋‹ค.

์‹ค์ˆ˜ ๋•๋ถ„์— ์•Œ๊ฒŒ ๋œ git reflog์˜ ์†Œ์ค‘ํ•จ

์ตœ๊ทผ 3์ผ๊ฐ„ ์ž‘์—…ํ–ˆ๋˜ ๋‹ฌ๋ ฅ ์ปดํฌ๋„ŒํŠธ์™€ ๊ด€๋ จ ๊ธฐ๋Šฅ์„ ํ†ต์งธ๋กœ ๋‚ ๋ ค๋ฒ„๋ฆฌ๋Š” ์•„์ฐ”ํ•œ ์‹ค์ˆ˜๋ฅผ ํ–ˆ๋‹ค. ๊ผฌ์ธ ๋ธŒ๋žœ์น˜๋ฅผ ์ •๋ฆฌํ•˜๋Š” ๊ณผ์ •์—์„œ ์‹ค์ˆ˜๋กœ ์ž‘์—… ๋ธŒ๋žœ์น˜๋ฅผ ์‚ญ์ œํ•ด๋ฒ„๋ฆฐ ๊ฒƒ์ด๋‹ค. ์ ˆ๋ง์ ์ธ ์ˆœ๊ฐ„, git reflog๋ผ๋Š” ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด ์ฃฝ๋‹ค ์‚ด์•„๋‚ฌ๋‹ค.

git reflog๋Š” HEAD ํฌ์ธํ„ฐ๊ฐ€ ๋ณ€๊ฒฝ๋  ๋•Œ๋งˆ๋‹ค(์˜ˆ: ์ปค๋ฐ‹ ์ƒ์„ฑ, ๋ธŒ๋žœ์น˜ ๋ณ€๊ฒฝ, reset ๋“ฑ) ๊ทธ ๊ธฐ๋ก์„ ๋กœ์ปฌ์— ๋‚จ๊ฒจ๋‘๋Š” ๋ช…๋ น์–ด๋‹ค. ๋•๋ถ„์— ์‹ค์ˆ˜๋กœ ์‚ฌ๋ผ์ง„ ์ปค๋ฐ‹์˜ '๋ฐœ์ž์ทจ'๋ฅผ ์ถ”์ ํ•˜๊ณ  ๋ณต๊ตฌํ•  ์ˆ˜ ์žˆ๋‹ค.

์˜ˆ์‹œ: ์‹ค์ˆ˜๋กœ ๋™๋ฃŒ์˜ ์ปค๋ฐ‹์„ ๋‚ ๋ ธ์„ ๋•Œ

$ git log --pretty=oneline
fdf4fc3344e67ab068f836878b6c4951e3b15f3d ๋™๋ฃŒ์˜ ์ปค๋ฐ‹
cac0cab538b970a37ea1e769cbbde608743bc96d ๋‚ด ์ปค๋ฐ‹

๋™๋ฃŒ์˜ ์ปค๋ฐ‹์„ ์‹ค์ˆ˜๋กœ ์‚ญ์ œํ•ด๋ฒ„๋ ธ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด๋ณด์ž.

$ git log --pretty=oneline
cac0cab538b970a37ea1e769cbbde608743bc96d ๋‚ด ์ปค๋ฐ‹

reflog๋ฅผ ํ™œ์šฉํ•ด์„œ ์‚ญ์ œ ํ˜น์€ ๋ˆ„๋ฝ๋œ ์ปค๋ฐ‹์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

$ git reflog
1a410ef HEAD@{0}: reset: moving to cac0cab
fdf4fc3 HEAD@{1}: commit: ๋™๋ฃŒ์˜ ์ปค๋ฐ‹

HEAD@1์— ๋™๋ฃŒ์˜ ์ปค๋ฐ‹(fdf4fc3)์ด ๊ธฐ๋ก๋˜์–ด ์žˆ๋Š” ๊ฒƒ์„ ํ™•์ธํ•˜๊ณ , git switch -c <๋ณต๊ตฌํ• -๋ธŒ๋žœ์น˜๋ช…> fdf4fc3 ๋ช…๋ น์–ด๋กœ ํ•ด๋‹น ์ปค๋ฐ‹์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ ์ƒˆ ๋ธŒ๋žœ์น˜๋ฅผ ๋งŒ๋“ค์–ด ์ž‘์—…์„ ๋˜์‚ด๋ฆด ์ˆ˜ ์žˆ๋‹ค. ์ด ๋ฐฉ๋ฒ•์œผ๋กœ 3์ผ๊ฐ„์˜ ์ž‘์—…์„ ๋ฌด์‚ฌํžˆ ๋ณต๊ตฌํ–ˆ๋˜ ๊ฒฝํ—˜์€ Git ๋ช…๋ น์–ด์˜ ์ค‘์š”์„ฑ์„ ๋‹ค์‹œ ํ•œ๋ฒˆ ๊นจ๋‹ซ๊ฒŒ ํ•ด์ฃผ์—ˆ๋‹ค. git merge์™€ Rebase์˜ ๋™์ž‘ ์›๋ฆฌ๋‚˜ ๋‹ค๋ฅธ ์‹ค์ˆ˜๋“ค์€ ๋ณ„๋„์˜ ๊ธฐ์ˆ  ํฌ์ŠคํŠธ๋กœ ์ž์„ธํžˆ ๋‹ค๋ค„๋ณผ ์˜ˆ์ •์ด๋‹ค.

2. ์ผ์ • ์˜ˆ์ธก ์‹คํŒจ, ์›์ธ์„ ํŒŒ๊ณ ๋“ค๋‹คโ€‹

"์™œ ๋‚˜๋Š” ์ผ์ •์„ ์ง€ํ‚ค๊ธฐ ์–ด๋ ค์šธ๊นŒ?"๋ผ๋Š” ์งˆ๋ฌธ์— ๋‹ต์„ ์ฐพ๊ธฐ ์œ„ํ•ด, ์˜จ๋ณด๋”ฉ ๊ต์œก์—์„œ ๋ฐฐ์šด ์ด์Šˆ ํŠธ๋ฆฌ(Issue Tree)๋ฅผ ํ™œ์šฉํ•ด ์›์ธ์„ ๋ถ„์„ํ•ด ๋ณด์•˜๋‹ค.

img alt=&quot;model&quot;

๋ฌธ์ œ๋ฅผ ํฌ๊ฒŒ '๊ณ„ํš'๊ณผ '์‹คํ–‰' ๋‹จ๊ณ„๋กœ ๋‚˜๋ˆ„์–ด ๋‚ด๊ฐ€ ๋†“์น˜๊ณ  ์žˆ๋˜ ๋ถ€๋ถ„์„ ํŒŒ์•…ํ–ˆ๋‹ค.

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

์ด ๋ถ„์„์„ ํ†ตํ•ด ์–ป์€ 4๊ฐ€์ง€ ํฌ์ธํŠธ๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ, ๋‹ค์Œ ์Šคํ”„๋ฆฐํŠธ์—์„œ๋Š” ๋” ์ •ํ™•ํ•˜๊ฒŒ ์ผ์ •์„ ์‚ฐ์ •ํ•˜๊ณ  ์‹คํ–‰์˜ ์™„์„ฑ๋„๋ฅผ ๋†’์—ฌ๋ณด๋ ค ํ•œ๋‹ค. ํŒ€ ํšŒ๊ณ ์—์„œ PO๋‹˜๊ป˜์„œ "๊ฐœ๋ฐœ์ž๊ฐ€ ์˜ˆ์ƒํ•œ ์‹œ๊ฐ„์˜ 2๋ฐฐ, ์ต์ˆ™ํ•˜์ง€ ์•Š๋‹ค๋ฉด 3๋ฐฐ๊นŒ์ง€ ์—ฌ์œ ๋ฅผ ๋‘๊ณ  ์ผ์ •์„ ์‚ฐ์ •ํ•˜๋ฉฐ ๊ทธ ๊ฐ„๊ทน์„ ์ค„์—ฌ๋‚˜๊ฐ€๋ผ"๋Š” ํ˜„์‹ค์ ์ธ ์กฐ์–ธ์„ ์ฃผ์…จ๋‹ค. ์ด ํŒ์„ ์ ๊ทน์ ์œผ๋กœ ํ™œ์šฉํ•ด ๋ณผ ๊ฒƒ์ด๋‹ค.

3.์„ฑ์žฅ์˜ ๋ฐ‘๊ฑฐ๋ฆ„, ๋™๋ฃŒ๋“ค์˜ ํ”ผ๋“œ๋ฐฑโ€‹

์ž…์‚ฌ ํ•œ ๋‹ฌ์ด ์กฐ๊ธˆ ์ง€๋‚œ ์‹œ์ ์— ์ˆ˜์Šต ์ค‘๊ฐ„ ํ”ผ๋“œ๋ฐฑ์„ ๋ฐ›๋Š” ์‹œ๊ฐ„์ด ์žˆ์—ˆ๋‹ค. ๊ฐœ์ธ์ ์œผ๋กœ ํ”ผ๋“œ๋ฐฑ์„ ๋‘๋ ค์›Œํ•˜์ง€ ์•Š๊ณ  ์„ฑ์žฅ์˜ ๊ธฐํšŒ๋กœ ์‚ผ๋Š” ์ ์„ ๋‚˜์˜ ํฐ ์žฅ์ ์œผ๋กœ ์ƒ๊ฐํ•œ๋‹ค.

PO๋‹˜๊ป˜์„œ ๋งŒ๋“ค์–ด์ฃผ์‹  ๋ถ€๋“œ๋Ÿฌ์šด ๋ถ„์œ„๊ธฐ ์†์—์„œ, ๋™๋ฃŒ๋“ค์ด ํ•œ ๋ช…์”ฉ ๋Œ์•„๊ฐ€๋ฉฐ CSS(Continue / Stop / Start) ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ท€ํ•œ ํ”ผ๋“œ๋ฐฑ์„ ๋‚˜๋ˆ ์ฃผ์—ˆ๋‹ค.

img alt=&quot;model&quot;

์ด๋Ÿฐ ๊ท€ํ•œ ํ”ผ๋“œ๋ฐฑ์„ ๋ฐ›์„ ์ˆ˜ ์žˆ์—ˆ๋‹ค. ํ˜ผ์ž ์ผํ•˜๋ฉด์„œ ๊ฐ„์ ˆํ–ˆ๋˜ ํ”ผ๋“œ๋ฐฑ์„ ์ด๋ ‡๊ฒŒ ๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค๋‹ˆ ์ง„์‹ฌ์œผ๋กœ ๊ฐ์‚ฌํ–ˆ๋‹ค. ์œ„์˜ ํ”ผ๋“œ๋ฐฑ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์—…๋ฌด ์ฒดํฌ๋ฆฌ์ŠคํŠธ๋ฅผ ๋งŒ๋“ค๋ฉด ๋˜๊ฒ ๋‹ค๋Š” ์ธ์‚ฌ์ดํŠธ๊ฐ€ ์žˆ์—ˆ๊ณ  ๊ทธ๋ž˜์„œ ๋งŒ๋“ค์–ด๋ดค๋‹ค. ์•ž์œผ๋กœ ๋” ๋งŽ์€ ํ”ผ๋“œ๋ฐฑ์ด ์žˆ๊ฒ ์ง€๋งŒ ์—…๋ฌด ์ฒดํฌ๋ฆฌ์ŠคํŠธ๋งŒ ์ž˜ ๊ด€๋ฆฌํ•˜๋ฉด ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์ง€ ์•Š์„๊นŒ ์‹ถ์–ด ๊ณต์œ ํ•ด๋ณธ๋‹ค.

ํ˜ผ์ž ์ผํ•  ๋•Œ๋Š” ๊ฒฐ์ฝ” ์–ป์„ ์ˆ˜ ์—†์—ˆ๋˜, ๊ฐ„์ ˆํ–ˆ๋˜ ํ”ผ๋“œ๋ฐฑ์ด์—ˆ๋‹ค. ์ด ํ”ผ๋“œ๋ฐฑ์„ ๋†“์น˜์ง€ ์•Š๊ณ  ์‹ค์ œ ํ–‰๋™์œผ๋กœ ์˜ฎ๊ธฐ๊ธฐ ์œ„ํ•ด ๊ณง๋ฐ”๋กœ ์—…๋ฌด ์ฒดํฌ๋ฆฌ์ŠคํŠธ๋ฅผ ๋งŒ๋“ค์—ˆ๋‹ค.

img alt=&quot;model&quot;

์ฃผ๋ณ€์—์„œ๋Š” ๋‚˜๋ฅผ 'ํŒŒ์›Œ J'๋ผ๊ณ  ํ•˜์ง€๋งŒ, ์ด๋ ‡๊ฒŒ ๊ตฌ์ฒด์ ์ธ ์žฅ์น˜๋ฅผ ๋งˆ๋ จํ•˜์ง€ ์•Š์œผ๋ฉด ๊ธฐ์กด์˜ ์Šต๊ด€์„ ๊ณ ์น˜๊ธฐ ์–ด๋ ต๋‹ค๊ณ  ๋А๊ผˆ๋‹ค.

ํ•˜๋ฐ˜๊ธฐ ๋™์•ˆ ์ด ์ฒดํฌ๋ฆฌ์ŠคํŠธ๋ฅผ ๊พธ์ค€ํžˆ ๋‹ค๋“ฌ์œผ๋ฉฐ, ํ•จ๊ป˜ ์ผํ•˜๊ธฐ ํŽธํ•œ ๋™๋ฃŒ๋กœ ์„ฑ์žฅํ•ด ๋‚˜๊ฐ€๊ธฐ๋กœ ๋‹ค์งํ•œ๋‹ค.


๋งˆ์น˜๋ฉฐโ€‹

8์›”์€ ์ˆ˜๋งŽ์€ ์‹œํ–‰์ฐฉ์˜ค๋ฅผ ํ†ตํ•ด ํŒ€ ์•ˆ์—์„œ ํ•จ๊ป˜ ์ผํ•˜๋Š” ๋ฐฉ์‹์„ ๋ฐฐ์šฐ๊ณ  ์ตํžˆ๋Š” ๊ท€์ค‘ํ•œ ์‹œ๊ฐ„์ด์—ˆ๋‹ค. ๋„์›€์„ ์ค€ ๋™๋ฃŒ๋“ค์—๊ฒŒ ๋‹ค์‹œ ํ•œ๋ฒˆ ๊ฐ์‚ฌํ•˜๋ฉฐ, 9์›”์—๋Š” ๋” ๋‚˜์€ ๋™๋ฃŒ๊ฐ€ ๋˜๊ธฐ๋ฅผ ๊ธฐ๋Œ€ํ•ด๋ณธ๋‹ค.

  • 9์›” ์•ก์…˜ ํฌ์ธํŠธ

๊ฐœ๋ฐœ ๊ด€๋ จ

  • ์‚ฌ๋‚ด ์‹  ์†”๋ฃจ์…˜์œผ๋กœ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ๊ธฐ๋Šฅ ๋น ๋ฅด๊ฒŒ ์ณ๋‚ด๊ธฐ (10์›” ๊ตฌ์†”๋ฃจ์…˜ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ธฐ ์œ„ํ•ด ๋‹ฌ๋ฆฌ์ž)
  • ํ† ์Šค ํด๋ฆฐ ์ฝ”๋“œ ๊ณต์‹๋ฌธ์„œ 1ํšŒ๋… (9์›”)
  • CLAUDE.MD๋‚˜ .cursorrule ๊ฐ™์€ ์„ค์ • ๊ด€์‹ฌ๊ฐ€์ง€๊ณ  ์‚ฌ์šฉํ•ด๋ณด๊ธฐ

๊ทธ์™ธ (์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜)

  • ์Šคํ”„๋ฆฐํŠธ ์‹œ์ž‘ ๋ฏธํŒ… ์ „์— ๋ช…ํ™•ํ•œ ์ผ์ • ๊ณต์œ ๋ฅผ ์œ„ํ•ด ์—…๋ฌด ์ชผ๊ฐœ๋Š” ๊ณผ์ •์ด ์‹คํ–‰ ์‹œ๋„
  • ๋ฐ”๋ฐ”๋ผ ๋ฏผํ†  ๋…ผ๋ฆฌ์˜ ๊ธฐ์ˆ  ์ฝ๊ณ  9์›”์— ๋А๋‚€์  ์ •๋ฆฌ
  • ํ•จ๊ป˜ ์ž๋ผ๊ธฐ ์ฑ… ์ฝ๊ณ  ํ•œ ๊ฐ€์ง€ ์ธ์‚ฌ์ดํŠธ ์ ์šฉํ•ด๋ณด๊ธฐ