CodeGym /Java Blog /๋ฌด์ž‘์œ„์˜ /30์„ธ ์ด์ƒ์˜ ๊ตฐ์ค‘์„ ์œ„ํ•œ ์ด์•ผ๊ธฐ
John Squirrels
๋ ˆ๋ฒจ 41
San Francisco

30์„ธ ์ด์ƒ์˜ ๊ตฐ์ค‘์„ ์œ„ํ•œ ์ด์•ผ๊ธฐ

๋ฌด์ž‘์œ„์˜ ๊ทธ๋ฃน์— ๊ฒŒ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค
๊ธ€์Ž„, ๋‚˜๋Š” ๋‚ด ์ž‘์€ ์ด์•ผ๊ธฐ๋ฅผ ๋‚˜๋ˆŒ ์‹œ๊ฐ„์„ ์ฐพ์•˜์Šต๋‹ˆ๋‹ค.

ํ”„๋กค๋กœ๊ทธ

์ œ๊ฐ€ 30์„ธ์ด๊ณ , ํ™”ํ•™์— ๋Œ€ํ•œ ๊ณ ๋“ฑ ๊ต์œก์„ ๋ฐ›์•˜์œผ๋ฉฐ(์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋‹ค๋ฃจ์ง€ ์•Š๊ฒ ์Šต๋‹ˆ๋‹ค), ๊ฑฐ์˜ 8๋…„ ๋™์•ˆ ๊ณต์žฅ์—์„œ ์ผํ–ˆ๋‹ค๋Š” ์‚ฌ์‹ค๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ๊ทธ ์ผ์€ ์‚ฌ์‹ค ๊ฝค ํฅ๋ฏธ๋กœ์› ์ง€๋งŒ ๋™๋ฃŒ๋“ค์„ ๋ณด๋ฉด์„œ ์€ํ‡ดํ•  ๋•Œ๊นŒ์ง€ 20๋…„ ๋™์•ˆ ์—ฌ๊ธฐ์„œ ์ผํ•˜๊ณ  ์‹ถ์ง€ ์•Š๋‹ค๋Š” ๊ฒƒ์„ ๊นจ๋‹ฌ์•˜์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ๋‚ด๊ฐ€ ์ธ์ƒ์„ ๋ณด๋‚ด๊ณ  ์‹ถ์€ ๋ฐฉ์‹์ด ์•„๋‹™๋‹ˆ๋‹ค. ๋˜ํ•œ ์ €๋Š” ๋‘ ๋ช…์˜ ์ž๋…€(ํฐ ์•„์ด๋Š” 6์‚ด, ๋ง‰๋‚ด๋Š” 1์‚ด)๋ฅผ ํฌํ•จํ•œ ๊ฐ€์กฑ์ด ์žˆ๊ณ  ์˜ˆ์ƒ๋Œ€๋กœ ๋ชจ๊ธฐ์ง€๊ฐ€ ์žˆ๋‹ค๋Š” ์ ๋„ ๋ง๋ถ™์ด๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ๋งˆ์นจ๋‚ด ๋‚˜๋Š” ๋” ๋†’์€ ๊ธ‰์—ฌ์™€ ์‹ค์งˆ์ ์ธ ๊ฒฝ๋ ฅ ์„ฑ์žฅ์ด ๊ฐ€๋Šฅํ•œ ๋‹ค๋ฅธ ๊ณต์žฅ, ๋‹ค๋ฅธ ๊ณณ์œผ๋กœ ์ด์‚ฌํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ฒซ ๋ฒˆ์งธ ๊ณต์žฅ์— ๋ฟŒ๋ฆฌ๋ฅผ ๋‚ด๋ ค ๋– ๋‚˜๊ธฐ ํž˜๋“ค์—ˆ์ง€๋งŒ ๋งˆ์Œ์„ ๊ตณํ˜”๋‹ค. ์ƒํŠธํŽ˜ํ…Œ๋ฅด๋ถ€๋ฅดํฌ๋กœ์˜ ์—ฌํ–‰์€ ํ•œ ๋‹ฌ ๋™์•ˆ ์ง€์†๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ๊ณต์‹์ ์œผ๋กœ ์ผ์ฃผ์ผ ๋™์•ˆ ๊ทธ๊ณณ์—์„œ ์ผํ•˜๋ฉด์„œ ์šฐ๋ฆฌ๋‚˜๋ผ ๊ณต์žฅ์˜ ์ƒํ™ฉ (Sviatoslav๋Š” ๋Ÿฌ์‹œ์•„ ์ถœ์‹ ์ž…๋‹ˆ๋‹ค. ํŽธ์ง‘์ž ์ฃผ)์ด ๋Œ€๋ถ€๋ถ„ ์•”์šธํ•˜๋‹ค๋Š” ๊ฒƒ์„ ๊นจ๋‹ฌ์•˜์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ๊ณ ํ–ฅ์œผ๋กœ ๋Œ์•„์™”๋‹ค. ๋‚˜๋Š” ์ด๊ฒƒ์ด ํ•œ ๊ฑธ์Œ ๋’ค๋กœ ๋ฌผ๋Ÿฌ๋‚˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์˜€๊ธฐ ๋•Œ๋ฌธ์— ๋Œ์•„๊ฐ€๊ณ  ์‹ถ์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ์ด ์‹œ์ ์—์„œ ๋‚˜๋Š” ๋‚ด ์ธ์ƒ์„ ๊ทผ๋ณธ์ ์œผ๋กœ ๋ฐ”๊พธ๋ฉด ์ข‹๊ฒ ๋‹ค๊ณ  ๊ฒฐ์‹ฌํ–ˆ์Šต๋‹ˆ๋‹ค! ์•ฝ ์ผ์ฃผ์ผ ๋™์•ˆ ๋‚˜๋Š” ์–ด๋–ค ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋ฅผ ์„ ํƒํ• ์ง€ ๊ณ ๋ฏผํ–ˆ๊ณ , ๊ฒฐ๊ตญ ์„ ํƒ์€ Java๋กœ ๋–จ์–ด์กŒ์Šต๋‹ˆ๋‹ค. ๊ทธ ์ดํ›„๋กœ ๊ฐ•์ขŒ๋ฅผ ์ฐพ๊ธฐ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค. ํ˜„์‹ค์€ ์ข‹์€ ๊ฐ•์ขŒ๊ฐ€ ๋งŽ๊ณ  ๊ทธ ์ค‘ ์ผ๋ถ€๋Š” ๊ฐ€๊ฒฉ๋„ ์ ๋‹นํ•˜์ง€๋งŒ ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์ €๋Š” ์˜์š•์ด ๋„˜์น˜๊ณ  ๊ณต๋ถ€ํ•  ์‹œ๊ฐ„์ด ๋งŽ์•˜์ง€๋งŒ ์žฌ์ •์  ์—ฌ์œ ๋Š” ๊ธฐ๊ปํ•ด์•ผ 3-4๋ถ„ ์ •๋„ ์ง€์†๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ฐœ์›”. ๋‚ด๊ฐ€ ์ข‹์•„ํ–ˆ๋˜ ๋ชจ๋“  ์ฝ”์Šค๋Š” ์ฃผ๋‹น 2๋ฒˆ์˜ ์ˆ˜์—…(๊ฐ€์žฅ ์ž์ฃผ)์œผ๋กœ ๋ฐ˜๋…„ ์ด์ƒ ์ง„ํ–‰๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ์นœ๊ตฌ๊ฐ€ CodeGym์ด ์•„์ฃผ ์ข‹์€ ๋ฆฌ์†Œ์Šค๋ผ๋Š” ๋ง์„ ๋“ฃ๊ณ  ๋‚˜์—๊ฒŒ ์ถ”์ฒœํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ์ด ๊ณผ์ •์— ๋‚˜์—๊ฒŒ ํ•„์š”ํ•œ ๋ชจ๋“  ๊ฒƒ์ด ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ์•˜์Šต๋‹ˆ๋‹ค.
  • ํ•™์Šต ์ž๋ฃŒ ๋ฐ ๊ณผ์ œ๊ฐ€ ํฌํ•จ๋œ ๊ตฌ๋…
  • ์‹œ๊ฐ„ ์ œํ•œ ์—†์Œ โ€“ ๋‚˜๋Š” ๋‚ด ์ผ์ •(ํ™œ๋ฐœํ•˜๊ฒŒ ์—ด๋ ค ์žˆ์Œ)๊ณผ ๋‚ด ์š•๊ตฌ(์œ„์—์„œ ๋งํ–ˆ๋“ฏ์ด, ๋‚˜๋Š” ๋งค์šฐ ์˜์š•์ด ๋„˜์ณค์Šต๋‹ˆ๋‹ค)๊ฐ€ ํ—ˆ์šฉํ•˜๋Š” ๋งŒํผ ๊ณต๋ถ€ํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

1๋ถ€: ์ง€์‹์„ ์ฐพ์•„์„œ

2019๋…„ 11์›” 26์ผ์— ๋“ฑ๋กํ•˜๊ณ  ๊ณต๋ถ€๋ฅผ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค. 14์‹œ๊ฐ„ ๋™์•ˆ ๊ณ„์† ์•‰์•„ ๊ณต๋ถ€ํ•˜๊ณ  ๊ด€๋ จ ๋งํฌ๋ฅผ ๋ชจ๋‘ ์ฝ๊ณ  (๋„์›€๋ง์„ ์—ฟ๋ณด์ง€ ์•Š๊ณ ) ๋” ์•„๋ฆ„๋‹ค์šด ํ•ด๊ฒฐ์ฑ…์„ ์ฐพ์œผ๋ ค๊ณ  ๋…ธ๋ ฅํ•œ ๋‚ ์ด ์žˆ์—ˆ๋‹ค๊ณ  ๋ฐ”๋กœ ๋ง์”€๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค. ๋‚ด ์†”๋ฃจ์…˜์ด ์ตœ๊ณ ๋ผ๊ณ  ์ƒ๊ฐํ–ˆ์„ ๋•Œ๋งŒ ๋„์›€๋ง์„ ๋ณด์•˜์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ํ›จ์”ฌ ๋” ์•„๋ฆ„๋‹ต๊ณ  ๊ฐ„๊ฒฐํ•œ ์†”๋ฃจ์…˜์— ์ข…์ข… ๋†€๋ž์Šต๋‹ˆ๋‹ค. 1์›” ๋ง, ๋ ˆ๋ฒจ 17์ด ๋˜์ž ์ €๋Š” ์ธํ„ฐ๋ทฐ์— ์ฐธ์„ํ•˜๊ณ , ์ œ ๋Šฅ๋ ฅ์„ ๋ฐœํœ˜ํ•˜๊ณ , ์‹œ์žฅ์ด ๋ฌด์—‡์„ ์›ํ•˜๋Š”์ง€ ์‚ดํŽด๋ณด๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ณต๊ต๋กญ๊ฒŒ๋„ ๋‚˜์—๊ฒŒ ์‹ค์ œ๋กœ ์‘๋‹ตํ•˜๋Š” ์‚ฌ๋žŒ์€ ์•„๋ฌด๋„ ์—†์—ˆ์ง€๋งŒ ๋‚˜๋ฅผ ๋ฌด๊ธ‰ ์ˆ˜์Šต ์ธํ„ด์œผ๋กœ ๊ณ ์šฉํ•œ ์‚ฌ๋ฌด์‹ค์ด ํ•˜๋‚˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์ฒซ ๋ฒˆ์งธ ๋‹ฌ์€ ๋ฌด๊ธ‰์ด์—ˆ๊ณ  ๋‘ ๋ฒˆ์งธ์™€ ์„ธ ๋ฒˆ์งธ ๋‹ฌ์—๋Š” ์•ฝ๊ฐ„์˜ ๋ด‰๊ธ‰์ด ํฌํ•จ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ ๋‹ค์Œ์—๋Š” 3๊ฐœ์›” ํ›„ ๋‚ด ์„ฑ๊ณผ๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ๋˜ ๋‹ค๋ฅธ ์ธํ„ฐ๋ทฐ๋ฅผ ํ•˜๊ณ , ์ธํ„ด์‹ญ์ด ์„ฑ๊ณต์ ์ด๋ฉด ์ทจ์—…์„ ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

2๋ถ€: ์ „ํˆฌ์— ๋Œ์ž…

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

๊ธฐ์ˆ  ์Šคํƒ:

Java 11(ํ”„๋กœ์ ํŠธ๊ฐ€ ์ฒ˜์Œ๋ถ€ํ„ฐ ์™„์ „ํžˆ ์ž‘์„ฑ๋จ), Spring(๋ถ€ํŒ…, ๋ณด์•ˆ, OAuth2); ์ €๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋กœ MongoDB๋ฅผ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค. ์ž๋™ํ™”๋œ ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•ด AssertJ, Mockito ๋ฐ Spring-boot-starter-test๋ฅผ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค. ์ €๋Š” ์ƒ๋‹นํžˆ ์ธ๊ธฐ ์žˆ๋Š” GitHub ํ๋ฆ„์„ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค( ์ด ๊ธฐ์‚ฌ ์ฐธ์กฐ ). ๊ทธ๋Ÿฐ๋ฐ, ๋งŒ์•ฝ ๋‹น์‹ ์ด ์˜์–ด๋กœ ์–ด๋ ค์›€์„ ๊ฒช๊ณ  ์žˆ๋‹ค๋ฉด, ์ง€๊ธˆ์ด ๋‹น์‹ ์—๊ฒŒ ์˜์–ด๋ฅผ ๋ฐฐ์šฐ๋ผ๊ณ  ์กฐ์–ธํ•  ๋•Œ์ž…๋‹ˆ๋‹ค. ์ œ ์œ ์ฐฝ์„ฑ ์ˆ˜์ค€์€ A2์ด์ง€๋งŒ ํ•ญ์ƒ ์˜์–ด๋กœ ๋œ ๊ธฐ์‚ฌ๋ฅผ ์ฝ์œผ๋ ค๊ณ  ๋…ธ๋ ฅํ•ฉ๋‹ˆ๋‹ค(๋ฌผ๋ก  ๋ฒˆ์—ญ๊ธฐ๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ ). ์ด๊ฒƒ์ด ์ œ๊ฐ€ ์ธํ„ด์‹ญ ํ”„๋กœ์ ํŠธ๋ฅผ ์‹œ์ž‘ํ•˜๋ฉด์„œ ๊ฐ€์žฅ ํฐ ์–ด๋ ค์›€์ด์—ˆ์Šต๋‹ˆ๋‹ค. ํƒ€์‚ฌ CRM์„ ์‚ฌ์šฉํ•˜์—ฌ ์ž‘์—…ํ•ด์•ผ ํ–ˆ๊ณ , ๋ชจ๋“  ๋ฌธ์„œ๊ฐ€ ์˜์–ด๋กœ ๋˜์–ด ์žˆ์—ˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ๋˜ํ•œ Spring์œผ๋กœ ์ž‘์—…ํ•  ๋•Œ๋Š” ์›๋ณธ ๋ฌธ์„œ๋ฅผ ์ฝ๋Š” ๊ฒƒ์ด ๊ฐ€์žฅ ์ข‹์Šต๋‹ˆ๋‹ค. ๋งค์šฐ ์ข‹๊ณ  ์ƒ์„ธํ•ฉ๋‹ˆ๋‹ค. ๊ฒŒ๋‹ค๊ฐ€ ๊ฑฐ์˜ ๋ชจ๋“  ๋ฌธ์„œ๊ฐ€ ์˜์–ด๋กœ ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค(Captain Obvious์˜ ์ผ๋ถ€). ๋˜ํ•œ ๋ฉ˜ํ† ๋‹˜์ด ์ฝ”๋“œ์™€ API ๋ฌธ์„œ์˜ ๋ชจ๋“  ์ฃผ์„์„ ์˜์–ด๋กœ ์ž‘์„ฑํ•˜๋ผ๊ณ  ํ•˜์…”์„œ ๋‹ค์‹œ ํ•œ ๋ฒˆ ๋ฐ˜๋ณตํ•ฉ๋‹ˆ๋‹ค. ์›์–ด๋ฏผ์ด ์•„๋‹ˆ๋”๋ผ๋„ ์˜์–ด๋ฅผ ๋ฐฐ์šฐ์„ธ์š”! ์™ธ๊ตญ ๊ณ ๊ฐ๊ณผ ์ผํ•˜๊ฑฐ๋‚˜ ํ•ด์™ธ ์—ฌํ–‰์„ ๋– ๋‚˜์ง€ ์•Š๋”๋ผ๋„ ์ด ๊ธฐ์ˆ ์€ ํ•™์Šต๊ณผ ๊ฐœ๋ฐœ์„ ํฌ๊ฒŒ ๋‹จ์ˆœํ™”ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

3๋ถ€: ๊ฒฐ๊ณผ

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

4๋ถ€: ํ•ดํ”ผ์—”๋”ฉ์ด์—ˆ์ง€๋งŒ ์•„์ง ๋๋‚˜๋ ค๋ฉด ๋ฉ€์—ˆ์Šต๋‹ˆ๋‹ค ;)

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

๋ฐœ๋ฌธ

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

์ œ๊ฐ€ ๊ณต์œ ํ•˜๊ณ  ์‹ถ์€ ๊ธฐ์‚ฌ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • ๊ฑด์ถ•์˜ ์ดํ•ด . ์ €๋Š” ๊ฐœ์ธ์ ์œผ๋กœ ๋ฏธ๋ž˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์•„ํ‚คํ…์ฒ˜๋ฅผ ์—ฐ๊ตฌํ•˜๋Š” ๋™์•ˆ ์ด ๊ธฐ์‚ฌ๋ฅผ 4๋ฒˆ์ด๋‚˜ ์ฝ์—ˆ์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” "์šฐ๋ฆฌ"๋ผ๋Š” ๋‹จ์–ด๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์™œ๋ƒํ•˜๋ฉด ๋‚˜์˜ ๋ฉ˜ํ† ๊ฐ€ ๋ชจ๋“  ๊ฒƒ์„ ํ™•์ธํ•˜๊ณ  ์ˆ˜์ •์„ ์œ„ํ•ด ๋‹ค์‹œ ๋ณด๋ƒˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค(์ฆ‰, ๊ทธ๋Š” ์ฝ”๋“œ ๊ฒ€ํ† ๋ฅผ ํ–ˆ์Šต๋‹ˆ๋‹ค). ์ฒ˜์Œ์—๋Š” ๋งŽ์ด ์ดํ•ดํ•˜์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‹ค๊ฐ€ 3๊ฐœ์›” ํ›„์— ๊ทธ ์ฑ…์„ ์ฝ์—ˆ๊ณ  ๊ทธ์ œ์„œ์•ผ ๊ทธ ์ด์œ ๋ฅผ ์ดํ•ดํ•˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋‚˜์ค‘์— ๋ชจ๋“  ์ •๋ณด๋ฅผ ํ™•๊ณ ํžˆ ํ•˜๊ณ  ์™„์ „ํžˆ ๋™ํ™”์‹œํ‚ค๊ธฐ ์œ„ํ•ด ๋‘ ๋ฒˆ ๋” ์ฝ์—ˆ์Šต๋‹ˆ๋‹ค.
  • ๋Œ€ํ™”ํ˜• Git ํ•™์Šต .
  • ๋‚˜๋Š” ๋ชจ๋“  ์‚ฌ๋žŒ์ด ์ŠคํŠธ๋ฆผ ์ž‘์—… ๋ฐฉ๋ฒ•์„ ๋ฐฐ์›Œ์•ผ ํ•œ๋‹ค๊ณ  ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค. ์ •๋ง ์˜๊ด‘์Šค๋Ÿฝ์Šต๋‹ˆ๋‹ค. ์—„์ฒญ๋‚œ ์–‘์˜ ์ฝ”๋“œ๋ฅผ ์ž‘์€ ์ŠคํŠธ๋ฆผ์œผ๋กœ ๋Œ€์ฒดํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค.
  • ์Šคํ”„๋ง ๋ฌธ์„œ.
  • ์ €๋Š” ๋น„๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋กœ ์ž‘์—…ํ–ˆ๊ณ  ๋Œ€๋ถ€๋ถ„์˜ ํšŒ์‚ฌ(ํŠนํžˆ ๋Œ€๊ทœ๋ชจ ํšŒ์‚ฌ)๋Š” SQL๋กœ ์ž‘์—…ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ์—ฌ๊ฐ€ ์‹œ๊ฐ„์—๋Š” SQL ์ฟผ๋ฆฌ ์ž‘์„ฑ๊ณผ ๊ด€๋ จ๋œ ์ ์–ด๋„ ๋ช‡ ๊ฐ€์ง€ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋ ค๊ณ  ๋…ธ๋ ฅํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด์— ๋Œ€ํ•œ ๋‹ค์–‘ํ•œ ์›น์‚ฌ์ดํŠธ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋˜ํ•œ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ(Assertj, Mockito)์— ๋Œ€ํ•ด ์ฝ์–ด ๋ณด๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ข‹์€ ๊ธฐ์‚ฌ๋Š” ๊ธฐ์–ต๋‚˜์ง€ ์•Š๊ณ  ๋ฌธ์„œ๋งŒ ๊ธฐ์–ตํ•ฉ๋‹ˆ๋‹ค.
  • ๊ทธ๋ฆฌ๊ณ  ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ฐœ๋ฐœํ•  ๋•Œ(๊ทธ๋Ÿฌ๋‚˜ ์ง€๊ธˆ์€ ์ดˆ๋ณด ์ˆ˜์ค€์„ ๋„˜์–ด์„ฐ์Šต๋‹ˆ๋‹ค) ๋””์ž์ธ ํŒจํ„ด์„ ์‚ฌ์šฉํ•ด ๋ณด์‹ญ์‹œ์˜ค . ์ ์–ด๋„ ์ž˜ ์•Œ๋ ค์ง„ ํŒจํ„ด์„ ์ž ๊น ์‚ดํŽด๋ณด์„ธ์š”. ์ด๋Š” ์‹œ์ž‘ํ•  ๋•Œ ์œ ์šฉํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.
๋‹ค์‹œ ํ•œ ๋ฒˆ, ์—ฌ๋Ÿฌ๋ถ„ ๋ชจ๋‘์˜ ๊ฟˆ์„ ํ–ฅํ•ด ํ–‰์šด์ด ๊นƒ๋“ค๊ธฐ๋ฅผ ๊ธฐ์›ํ•ฉ๋‹ˆ๋‹ค!
์ฝ”๋ฉ˜ํŠธ
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION