ย  ย 

๐Ÿ˜ฒ ๊ฐœ๋ฐœ ํšจ์œจ 2๋ฐฐ UP! ๊ฐœ๋ฐœํ†ฑ๊น๊ธฐ ์‚ฌ์šฉ๋ฒ•, ์ง€๊ธˆ ๋ฐ”๋กœ ํ™•์ธํ•˜์„ธ์š”!

์•ˆ๋…•ํ•˜์„ธ์š”, ๊ฐœ๋ฐœ์ž ์—ฌ๋Ÿฌ๋ถ„! ํ˜น์‹œ โ€œ๊ฐœ๋ฐœํ†ฑ๊น๊ธฐโ€๋ผ๋Š” ๋‹จ์–ด๋ฅผ ๋“ค์–ด๋ณด์…จ๋‚˜์š”? ์ฒ˜์Œ ๋“ฃ๋Š” ๋ถ„๋“ค๋„ ๊ณ„์‹ค ๊ฑฐ๊ณ , ์ด๋ฏธ ์‚ฌ์šฉํ•˜๊ณ  ๊ณ„์‹  ๋ถ„๋“ค๋„ ์žˆ์„ ํ…๋ฐ์š”. ์˜ค๋Š˜์€ ๊ฐœ๋ฐœ ํšจ์œจ์„ ๊ทน๋Œ€ํ™”ํ•˜๋Š” ์ˆจ๊ฒจ์ง„ ๋ฌด๊ธฐ, ๋ฐ”๋กœ โ€œ๊ฐœ๋ฐœํ†ฑ๊น๊ธฐโ€์— ๋Œ€ํ•ด ์†์†๋“ค์ด ํŒŒํ—ค์ณ ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

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

๋ชฉ๋ก ์ˆจ๊ธฐ๊ธฐ

๊ฐœ๋ฐœํ†ฑ๊น๊ธฐ๋ž€ ๋ฌด์—‡์ธ๊ฐ€?

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

์ข€ ๋” ์‰ฝ๊ฒŒ ์„ค๋ช…ํ•˜์ž๋ฉด, ๊ฐœ๋ฐœ์ž๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” ๋ชจ๋“  ์ข…๋ฅ˜์˜ ์ƒ์‚ฐ์„ฑ ํ–ฅ์ƒ ๋„๊ตฌ์™€ ๊ธฐ์ˆ ์„ โ€œ๊ฐœ๋ฐœํ†ฑ๊น๊ธฐโ€๋ผ๊ณ  ๋ถ€๋ฅผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์ž๋™ ์ฝ”๋“œ ์™„์„ฑ ๊ธฐ๋Šฅ์ด ๋›ฐ์–ด๋‚œ IDE, ํšจ์œจ์ ์ธ ๋””๋ฒ„๊น… ๋„๊ตฌ, ์ฝ”๋“œ ๋ฆฌ๋ทฐ๋ฅผ ๋•๋Š” ๋ฆฐํ„ฐ, ๊ทธ๋ฆฌ๊ณ  ์ž๋™ํ™”๋œ ๋นŒ๋“œ ๋ฐ ๋ฐฐํฌ ์‹œ์Šคํ…œ ๋“ฑ์ด ๋ชจ๋‘ โ€œ๊ฐœ๋ฐœํ†ฑ๊น๊ธฐโ€์— ํ•ด๋‹นํ•ฉ๋‹ˆ๋‹ค.

์™œ ๊ฐœ๋ฐœํ†ฑ๊น๊ธฐ๊ฐ€ ์ค‘์š”ํ• ๊นŒ?

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

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

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

๊ฐœ๋ฐœํ†ฑ๊น๊ธฐ์˜ ํ•ต์‹ฌ ์š”์†Œ

๊ฐœ๋ฐœํ†ฑ๊น๊ธฐ๋Š” ๋‹ค์–‘ํ•œ ์š”์†Œ๋กœ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค. ๊ทธ ์ค‘์—์„œ๋„ ํ•ต์‹ฌ์ ์ธ ์š”์†Œ๋“ค์„ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

์ž๋™ํ™”

์ž๋™ํ™”๋Š” ๊ฐœ๋ฐœํ†ฑ๊น๊ธฐ์˜ ํ•ต์‹ฌ์ž…๋‹ˆ๋‹ค. ๋ฐ˜๋ณต์ ์ธ ์ž‘์—…, ์˜ˆ๋ฅผ ๋“ค์–ด ๋นŒ๋“œ, ํ…Œ์ŠคํŠธ, ๋ฐฐํฌ ๋“ฑ์„ ์ž๋™ํ™”ํ•จ์œผ๋กœ์จ ๊ฐœ๋ฐœ ์‹œ๊ฐ„์„ ๋‹จ์ถ•ํ•˜๊ณ , ํœด๋จผ ์—๋Ÿฌ๋ฅผ ์ค„์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. CI/CD(Continuous Integration/Continuous Deployment) ํŒŒ์ดํ”„๋ผ์ธ์„ ๊ตฌ์ถ•ํ•˜๋Š” ๊ฒƒ์ด ๋Œ€ํ‘œ์ ์ธ ์˜ˆ์‹œ์ž…๋‹ˆ๋‹ค.

์ฝ”๋“œ ํ’ˆ์งˆ

์ฝ”๋“œ ํ’ˆ์งˆ์€ ๊ฐœ๋ฐœํ†ฑ๊น๊ธฐ์˜ ์ค‘์š”ํ•œ ๊ธฐ์ค€์ž…๋‹ˆ๋‹ค. ๊น”๋”ํ•˜๊ณ  ๊ฐ€๋…์„ฑ์ด ์ข‹์€ ์ฝ”๋“œ๋Š” ๋””๋ฒ„๊น…๊ณผ ์œ ์ง€๋ณด์ˆ˜๋ฅผ ์šฉ์ดํ•˜๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค. ๋ฆฐํ„ฐ(Linter)์™€ ์ฝ”๋“œ ํฌ๋งคํ„ฐ(Code Formatter)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ฝ”๋“œ ์Šคํƒ€์ผ์„ ์ผ๊ด€์„ฑ ์žˆ๊ฒŒ ์œ ์ง€ํ•˜๊ณ , ์ž ์žฌ์ ์ธ ์˜ค๋ฅ˜๋ฅผ ์‚ฌ์ „์— ๋ฐœ๊ฒฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ˜‘์—…

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

๋„๊ตฌ ํ™œ์šฉ

๋‹ค์–‘ํ•œ ๊ฐœ๋ฐœ ๋„๊ตฌ๋ฅผ ๋Šฅ์ˆ™ํ•˜๊ฒŒ ํ™œ์šฉํ•˜๋Š” ๊ฒƒ์€ ๊ฐœ๋ฐœํ†ฑ๊น๊ธฐ์˜ ๊ธฐ๋ณธ์ž…๋‹ˆ๋‹ค. IDE(Integrated Development Environment)๋Š” ์ฝ”๋“œ ์ž‘์„ฑ, ๋””๋ฒ„๊น…, ํ…Œ์ŠคํŠธ ๋“ฑ ๋‹ค์–‘ํ•œ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๋ฉฐ, ๊ฐœ๋ฐœ ์ƒ์‚ฐ์„ฑ์„ ํ–ฅ์ƒ์‹œํ‚ค๋Š” ๋ฐ ํฐ ๋„์›€์„ ์ค๋‹ˆ๋‹ค. ๋˜ํ•œ, ๋ฒ„์ „ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ(Git)์„ ์‚ฌ์šฉํ•˜์—ฌ ์ฝ”๋“œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ถ”์ ํ•˜๊ณ , ํ˜‘์—…์„ ์šฉ์ดํ•˜๊ฒŒ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฐœ๋ฐœํ†ฑ๊น๊ธฐ ์ ์šฉ ์‚ฌ๋ก€

์‹ค์ œ๋กœ ๊ฐœ๋ฐœํ†ฑ๊น๊ธฐ๋ฅผ ์ ์šฉํ•˜์—ฌ ์„ฑ๊ณต์„ ๊ฑฐ๋‘” ์‚ฌ๋ก€๋Š” ๋ฌด์ˆ˜ํžˆ ๋งŽ์Šต๋‹ˆ๋‹ค. ๋ช‡ ๊ฐ€์ง€ ๋Œ€ํ‘œ์ ์ธ ์‚ฌ๋ก€๋ฅผ ์†Œ๊ฐœํ•ฉ๋‹ˆ๋‹ค.

๋„ทํ”Œ๋ฆญ์Šค (Netflix)

๋„ทํ”Œ๋ฆญ์Šค๋Š” Spinnaker๋ผ๋Š” ์˜คํ”ˆ ์†Œ์Šค CI/CD ํ”Œ๋žซํผ์„ ๊ฐœ๋ฐœํ•˜์—ฌ ๋ฐฐํฌ ํŒŒ์ดํ”„๋ผ์ธ์„ ์ž๋™ํ™”ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ํ•˜๋ฃจ์— ์ˆ˜๋ฐฑ ๋ฒˆ์˜ ๋ฐฐํฌ๋ฅผ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ๊ณ , ๊ฐœ๋ฐœ ์†๋„๋ฅผ ํš๊ธฐ์ ์œผ๋กœ ํ–ฅ์ƒ์‹œ์ผฐ์Šต๋‹ˆ๋‹ค.

๊ตฌ๊ธ€ (Google)

๊ตฌ๊ธ€์€ Code Review๋ฅผ ํ†ตํ•ด ์ฝ”๋“œ ํ’ˆ์งˆ์„ ์œ ์ง€ํ•˜๊ณ , ์ง€์‹ ๊ณต์œ ๋ฅผ ํ™œ์„ฑํ™”ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋ชจ๋“  ์ฝ”๋“œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์€ ๋ฐ˜๋“œ์‹œ ์ฝ”๋“œ ๋ฆฌ๋ทฐ๋ฅผ ๊ฑฐ์ณ์•ผ ํ•˜๋ฉฐ, ์ด๋ฅผ ํ†ตํ•ด ์ฝ”๋“œ์˜ ์•ˆ์ •์„ฑ๊ณผ ์œ ์ง€๋ณด์ˆ˜์„ฑ์„ ํ™•๋ณดํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

์Šฌ๋ž™ (Slack)

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

๊ฐœ๋ฐœํ†ฑ๊น๊ธฐ, ์–ด๋–ป๊ฒŒ ์‹œ์ž‘ํ•ด์•ผ ํ• ๊นŒ?

๊ฐœ๋ฐœํ†ฑ๊น๊ธฐ๋ฅผ ์‹œ์ž‘ํ•˜๋Š” ๊ฒƒ์€ ์–ด๋ ต์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ž‘์€ ๊ฒƒ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜์—ฌ ์ ์ง„์ ์œผ๋กœ ๊ฐœ์„ ํ•ด ๋‚˜๊ฐ€๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค.

ํ˜„์žฌ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ ๋ถ„์„

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

๊ฐœ์„  ๋ชฉํ‘œ ์„ค์ •

๋ถ„์„ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ๊ฐœ์„  ๋ชฉํ‘œ๋ฅผ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, โ€œ๋นŒ๋“œ ์‹œ๊ฐ„์„ 50% ๋‹จ์ถ•ํ•œ๋‹คโ€, โ€œ์ฝ”๋“œ ๋ฆฌ๋ทฐ๋ฅผ ์ฃผ 1ํšŒ ์ด์ƒ ์‹ค์‹œํ•œ๋‹คโ€, โ€œ๋ฆฐํŠธ ๋„๊ตฌ๋ฅผ ๋„์ž…ํ•˜์—ฌ ์ฝ”๋“œ ์Šคํƒ€์ผ์„ ๊ฐœ์„ ํ•œ๋‹คโ€ ๋“ฑ์˜ ๋ชฉํ‘œ๋ฅผ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ ์ง„์ ์ธ ๊ฐœ์„ 

๋ชฉํ‘œ๋ฅผ ๋‹ฌ์„ฑํ•˜๊ธฐ ์œ„ํ•ด ์ ์ง„์ ์œผ๋กœ ๊ฐœ์„ ํ•ด ๋‚˜๊ฐ‘๋‹ˆ๋‹ค. ํ•œ ๋ฒˆ์— ๋ชจ๋“  ๊ฒƒ์„ ๋ฐ”๊พธ๋ ค๊ณ  ํ•˜๊ธฐ๋ณด๋‹ค๋Š”, ์ž‘์€ ๊ฒƒ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜์—ฌ ํšจ๊ณผ๋ฅผ ํ™•์ธํ•˜๊ณ , ์ ์ฐจ ๋ฒ”์œ„๋ฅผ ํ™•๋Œ€ํ•ด ๋‚˜๊ฐ€๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

์ง€์†์ ์ธ ํ•™์Šต

๊ฐœ๋ฐœ ๊ธฐ์ˆ ์€ ๋Š์ž„์—†์ด ๋ณ€ํ™”ํ•ฉ๋‹ˆ๋‹ค. ์ƒˆ๋กœ์šด ๋„๊ตฌ์™€ ๊ธฐ์ˆ ์„ ํ•™์Šตํ•˜๊ณ , ์ž์‹ ์˜ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์— ์ ์šฉํ•˜๋Š” ๋…ธ๋ ฅ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ ์ปค๋ฎค๋‹ˆํ‹ฐ์— ์ฐธ์—ฌํ•˜์—ฌ ๋‹ค๋ฅธ ๊ฐœ๋ฐœ์ž๋“ค๊ณผ ์ •๋ณด๋ฅผ ๊ณต์œ ํ•˜๊ณ , ๊ฒฝํ—˜์„ ๋‚˜๋ˆ„๋Š” ๊ฒƒ๋„ ์ข‹์€ ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.

๊ฐœ๋ฐœํ†ฑ๊น๊ธฐ๋ฅผ ์œ„ํ•œ ์ถ”์ฒœ ๋„๊ตฌ

๊ฐœ๋ฐœํ†ฑ๊น๊ธฐ๋ฅผ ์œ„ํ•œ ๋‹ค์–‘ํ•œ ๋„๊ตฌ๋“ค์ด ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. ๋ช‡ ๊ฐ€์ง€ ์ถ”์ฒœ ๋„๊ตฌ๋ฅผ ์†Œ๊ฐœํ•ฉ๋‹ˆ๋‹ค.

* IDE: Visual Studio Code, IntelliJ IDEA, Eclipse
* ๋ฒ„์ „ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ: Git, GitHub, GitLab
* CI/CD: Jenkins, Travis CI, CircleCI, GitLab CI
* ๋ฆฐํ„ฐ: ESLint, Stylelint, Pylint
* ์ฝ”๋“œ ํฌ๋งคํ„ฐ: Prettier, Black
* ์ฝ”๋“œ ๋ฆฌ๋ทฐ: GitHub Pull Requests, GitLab Merge Requests, Bitbucket Pull Requests

๋งˆ๋ฌด๋ฆฌ

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

์ด์ œ ๋‹น์‹ ์˜ ํ†ฑ์„ ๊ฐˆ ์‹œ๊ฐ„์ž…๋‹ˆ๋‹ค!

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

์ง€๊ธˆ ํ™•์ธํ•˜์ง€ ์•Š์œผ๋ฉด ๋†“์น  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐœ๋ฐœํ†ฑ๊น๊ธฐ์— ๋Œ€ํ•ด ๋” ๋งŽ์€ ํ•ต์‹ฌ ์ •๋ณด ์•Œ์•„๋ณด๊ธฐ!

๐Ÿ‘‰ ์ง€๊ธˆ ๋ฐ”๋กœ ํ™•์ธํ•˜๊ธฐ
์œ„๋กœ ์Šคํฌ๋กค