๊ทธ๋์ ๋๋ ๊ทธ๊ฒ์ ์์ ๋ฃ์๊ณ ๋์ ์์ ์ด์ผ๊ธฐ๋ฅผ ๋๋ ์๊ฐ์ ์ฐพ์์ต๋๋ค.
ํ๋กค๋ก๊ทธ.
์ ๊ฐ 30 ์ด์ด๊ณ ์ฃผ์ ๊ต์ก์ ํํ ๊ณ ๋ฑ ๊ต์ก์ด๊ณ (์์ธํ ์ค๋ช ํ์ง ์๊ฒ ์ต๋๋ค) ๊ณต์ฅ์์ ๊ฑฐ์ 8 ๋ ๋์ ์ผํ๋ค๋ ์ฌ์ค๋ถํฐ ์์ํ๊ฒ ์ต๋๋ค. ๊ทธ ์ผ์ ์ฌ์ค ๊ฝค ํฅ๋ฏธ๋ก์ ์ง๋ง, ๋๋ฃ๋ค์ ๋ณด๋ฉด์ ๋๋ ์ํดํ๊ณ ์ถ์ง ์๊ณ ์ฌ๊ธฐ์ *20๋ ๋์ ์ผํ๊ณ ์ถ์ง ์๋ค๋ ๊ฒ์ ๊นจ๋ฌ์์ต๋๋ค. ๋๋ ์ธ์์ ์ด๋ ๊ฒ ๋ณด๋ด๊ณ ์ถ์ง ์์ต๋๋ค. ๋ํ ์ ๋ ๊ฐ์กฑ์ด ์๊ณ ๋ ์๋ (ํฐ ์์ด๋ 6์ด, ๋ง๋ด๋ 1์ด)๊ฐ ์๊ณ ๊ณ ์ ์ ๋ฐ๋ฅด๋ฉด ๋ชจ๊ธฐ์ง๊ฐ ์๋ค๋ ๊ฒ์ ๋ง๋ถ์ด๊ณ ์ถ์ต๋๋ค. ๋ง์นจ๋ด ์ ๋ ๊ธ์ฌ๊ฐ ๋ ๋๊ณ ๊ฒฝ๋ ฅ ์ฑ์ฅ์ด ๊ฐ๋ฅํ ๋ค๋ฅธ ๊ณณ, ๋ค๋ฅธ ๊ณต์ฅ์ผ๋ก ์ด๋ํ๊ธฐ๋ก ๊ฒฐ์ ํ์ต๋๋ค. ์ด๋ฏธ ๊ณต์ฅ์ ๋ฟ๋ฆฌ๋ฅผ ๋ด๋ ธ๊ณ , ๋ ๋๊ธฐ๊ฐ ํ๋ค์์ง๋ง ๊ทธ๋ ๊ฒ ํ๊ธฐ๋ก ๊ฒฐ์ ํ์ต๋๋ค. ์ํธํํ ๋ฅด๋ถ๋ฅดํฌ ์ฌํ์ ํ ๋ฌ ๋์ ์ง์๋์์ต๋๋ค. ๋๋ ๊ณต์์ ์ผ๋ก ์ผ์ฃผ์ผ ๋์ ๊ทธ๊ณณ์์ ์ผํ๊ณ ์ฐ๋ฆฌ๋๋ผ ๊ณต์ฅ ์ํฉ์ด ๋๋ถ๋ถ ์ฌํ๋ค๋ ๊ฒ์ ๊นจ๋ซ๊ณ ๊ณ ํฅ์ผ๋ก ๋์ ์์ต๋๋ค. ๋๋ ๋์๊ฐ๊ณ ์ถ์ง ์์๊ณ ์ด๊ฒ์ด ํ ๊ฑธ์ ๋ฌผ๋ฌ๋๋ ๊ฒ ๊ฐ์์ต๋๋ค. ๊ทธ๋ ๋๋ ๋ด ์ธ์์ ๋ฐ๊พธ๋ฉด ๊ทผ๋ณธ์ ์ผ๋ก ๋ฐ๊ฟ์ผ๊ฒ ๋ค๊ณ ๊ฒฐ์ฌํ์ต๋๋ค! ์ฝ ์ผ์ฃผ์ผ ๋์ ์ด๋ค ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ฅผ ์ ํํ ์ง ๊ณ ๋ฏผํ๋๋ฐ, ์ค์ ๋ก ์ ํ์ Java ๋ก ๋จ์ด์ก์ต๋๋ค . ๊ทธ ํ ๋๋ ๊ฐ์ข๋ฅผ ์ฐพ๊ธฐ ์์ํ๋ค. ์ฌ์ค ์ข์ ๊ฐ์ข๊ฐ ๋ง๊ณ ๊ทธ ์ค ์ผ๋ถ๋ ํฉ๋ฆฌ์ ์ธ ๊ฐ๊ฒฉ์๋ ์์ง๋ง ๋ฌธ์ ๊ฐ ์์์ต๋๋ค. ๊ณต๋ถํ ์์๊ณผ ์๊ฐ์ ๋ง์์ง๋ง ๊ฒฝ์ ์ ์ฌ์ ๋ ์ต๋ 3~4๊ฐ์์ด์์ต๋๋ค. . ๋ด๊ฐ ์ข์ํ๋ ๋ชจ๋ ๊ฐ์ข๋ ์ฃผ๋น 2ํ(๋๋ถ๋ถ) ์์ ์ผ๋ก 6๊ฐ์ ์ด์ ์ง์๋์์ต๋๋ค. ๊ทธ๋ฌ๋ ์ค ํ ์น๊ตฌ๊ฐ JavaRush๊ฐ ์์ฃผ ์ข์ ๋ฆฌ์์ค๋ผ๊ณ ๋ค์๋ค๋ฉฐ ์ ์๊ฒ ์ถ์ฒํด ์ฃผ์์ต๋๋ค. ๋๋ ํ์ํ ๋ชจ๋ ๊ฒ์ด ์ฌ๊ธฐ์ ์๋ค๋ ๊ฒ์ ์์์ต๋๋ค.- ์๋ฃ ๋ฐ ์์ ๊ตฌ๋ .
- ์๊ฐ ์ ํ ์์: ๋๋ ๋ด ์ผ์ ์ด ํ์ฉํ๋ ๋งํผ(๋ฌด๋ฃ์์ผ๋ฉฐ) ๋ด๊ฐ ์ํ๋ ๋งํผ(๊ทธ๋ฆฌ๊ณ ์์์ ์ด ๊ฒ์ฒ๋ผ ๊ณต๋ถ๋์ด ๋ง์์ต๋๋ค) ์ ํํ๊ฒ ๊ณต๋ถํ ์ ์์์ต๋๋ค.
1๋ถ: ์ง์์ ์ฐพ์์.
2019๋ 11์ 26์ผ์ ๊ตฌ๋ ์ ํ๊ณ ์์ ์ ์์ํ์ต๋๋ค. ๋๋ก๋ ์ต๋ 14์๊ฐ ๋์ ๊ณต๋ถํ๊ณ ๊ด๋ จ ๋งํฌ๋ฅผ ๋ชจ๋ ์ฝ๊ณ (๋์๋ง์ ๋ณด์ง ์๊ณ ) ๋ ์๋ฆ๋ค์ด ์๋ฃจ์ ์ ์ฐพ๋ ๋ ๋ ์์๋ค๊ณ ๋ฐ๋ก ๋ง์๋๋ฆฌ๊ฒ ์ต๋๋ค. ๋ด ์๋ฃจ์ ์ด ์ต์ ์ด๋ผ๊ณ ์๊ฐํ์ ๋๋ง ๋์๋ง์ ๋ณด์๊ณ ๋ ์๋ฆ๋ต๊ณ ๊ฐ๊ฒฐํ๊ฒ ํด๊ฒฐํ ์ ์์๋ค๋ ์ฌ์ค์ ์์ฃผ ๋๋์ต๋๋ค. 1์ ๋ง์ ๋ ๋ฒจ 17์ ๋๋ฌํ๋ฉด์ ์ ๋ ์ฌํ ๋ณต์ง ์๋น์ค์ ์ฐธ์ฌํ์ฌ ๊ธฐ์ ์ ํ๋ จํ๊ณ ์์ฅ์์ ์ผ๋ฐ์ ์ผ๋ก ์๊ตฌ๋๋ ๊ฒ์ด ๋ฌด์์ธ์ง ์์๋ณด๊ธฐ๋ก ๊ฒฐ์ ํ์ต๋๋ค. ์ฌ์ค, ์๋ฌด๋ ๋์๊ฒ ๋๋ตํ์ง ์์์ง๋ง ๋๋ฅผ ์กฐ๊ฑด๋ถ ๋ฌด๋ฃ ์ธํด์ญ์ ๋ฐ๋ ค๊ฐ๋ ์ฌ๋ฌด์ค์ด ํ๋ ์์์ต๋๋ค. ์ฒซ ๋ฌ์ ๋ฌด๋ฃ์๊ณ ๋ ๋ฒ์งธ์ ์ธ ๋ฒ์งธ ๋ฌ์ ์์ก์ ๋ด๊ธ์ ๋ฐ์์ต๋๋ค. ๋ค์์ผ๋ก 3๊ฐ์์ ๊ฒฐ๊ณผ์ ์ฑ๊ณต์ ์ธ ์๋ฃ ํ ๊ณ ์ฉ์ ๋ฐํ์ผ๋ก ์ฌํ ๋ณด์ฅ์ด ์ด๋ฃจ์ด์ก์ต๋๋ค.2๋ถ: ์ฐ๋ฆฌ๋ ์ ํฌ์ ๋์ ํฉ๋๋ค.
์ธํด์ญ์ ํ์ฌ ๋ด๋ถ ๋ถ์์ ์ผ์์ ์ธ ์์ ์ ์๋ํํ๊ธฐ ์ํด Java๋ก ๋ฐฑ์๋๋ฅผ ๊ฐ์ถ Chrome์ฉ ํ๋ฌ๊ทธ์ธ์ ์์ฑํ๋ ๊ฒ์ผ๋ก ๊ตฌ์ฑ๋์์ต๋๋ค. ๋ง์ ์ง์์ ๊ฐ์ถ ํ๋ฅญํ ๋ฉํ ๊ฐ ์์๋๋ฐ, ์ด๊ฒ๋ ์ค์ํ๋ค๊ณ ์๊ฐํฉ๋๋ค. ์ค์ ๋ก ์ก์ด์ ๋น ์ง์ง ์๊ธฐ ์ํด ์ด๋ค ์คํ์ด ์ฌ์ฉ๋์๋์ง ์ฆ์ ์์ฑํ๊ณ ๊ธฐ์ฌ ๋ ๋ถ๋ถ์์ ๋์๊ฒ ๋งค์ฐ ์ ์ฉํ ๋ช ๊ฐ์ง ๋งํฌ๋ฅผ ์ ๊ณตํ ๊ฒ์ ๋๋ค.์คํ:
Java 11(ํ๋ก์ ํธ๊ฐ ์ฒ์๋ถํฐ ์์ ํ ์์ฑ๋จ), Spring(๋ถํ , ๋ณด์, OAuth2); MongoDB๊ฐ ๋ฒ ์ด์ค๋ก ์ฌ์ฉ๋์์ต๋๋ค. ์๋ ํ ์คํธ๋ฅผ ๋ค๋ฃจ๊ธฐ ์ํด Assertj, Mockito, Spring-boot-starter-test๋ฅผ ์ฌ์ฉํ๊ณ ์๋นํ ์ธ๊ธฐ ์๋ GitHub Flow(์๋ณธ์ ๋ฌ์์์ด ๊ธฐ์ฌ)๋ฅผ ์ฌ์ฉ ํ์ฌ ์์ ํ์ต๋๋ค . ์ฌ๊ธฐ์๋ ์๋ณธ๊ณผ ๋ฒ์ญ๋ณธ์ ๋ํ ๋งํฌ๋ฅผ ์ ๊ณตํ๋ ค๊ณ ๋ ธ๋ ฅํ ๊ฒ์ ๋๋ค. ๋ฌผ๋ก ์๋ฌธ์ ์ฝ๋ ๊ฒ์ด ์ข์ง๋ง, ๋ถ๊ฐ๋ฅํ๋ค๋ฉด ๋ฒ์ญ๋ณธ์ ์ฝ์ด๋ณด์ธ์. ์ง๊ธ์ ์์ด ํ์ต์ ์ถ์ฒํ๋ ์๊ฐ์ ๋๋ค. ์ ๋ A2 ๋ ๋ฒจ์ด์ง๋ง ์์ด๋ก ๋ ๊ธฐ์ฌ๋ฅผ ์ฝ์ผ๋ ค๊ณ ๋ ธ๋ ฅํฉ๋๋ค(๋ฌผ๋ก ๋ฒ์ญ๊ธฐ๋ฅผ ์ฌ์ฉํ์ง ์๊ณ ๋ ์๋๋๋ค). ์ด๊ฒ์ด ๋ฐ๋ก ์ธํด์ญ ํ๋ก์ ํธ์์ ์ฒ์์ ๊ฐ์ฅ ํฐ ์ด๋ ค์์ด์์ต๋๋ค. ๋ชจ๋ ๋ฌธ์๊ฐ ์์ด๋ก ์์ฑ๋ ํ์ฌ CRM์ ์ฌ์ฉํ์ฌ ์์ ํด์ผ ํ๊ธฐ ๋๋ฌธ์ ๋๋ค. ๋ํ Spring์ผ๋ก ์์ ํ ๋ ์๋ณธ ๋ฌธ์๋ฅผ ์ฝ๋ ๊ฒ์ด ๋ ๋ซ์ต๋๋ค. ๋งค์ฐ ํ๋ฅญํ๊ณ ์์ธํ๋ฉฐ ๋ฌ์์์ด ๊ฐ์ด๋๋ ํ์ํ์ง ์์ผ๋ฉฐ ์ผ๋ฐ์ ์ผ๋ก ๊ฑฐ์ ๋ชจ๋ ๋ฌธ์๊ฐ ์์ด๋ก ๋์ด ์์ต๋๋ค(Captain์ ์ฝ๊ฐ์ ๋ด์ฉ) ๋ถ๋ช ํ). ๋ฉํ ๋๋ ๋ชจ๋ ์ฝ๋ ์ฃผ์๊ณผ API ๋ฌธ์๋ฅผ ์์ด๋ก ์์ฑํ๋ผ๊ณ ํ์ ์ ๋ค์ ํ ๋ฒ ๋ง์๋๋ฆฌ์ง๋ง, ์์ด๋ฅผ ๋ฐฐ์ฐ์ธ์! ์ธ๊ตญ ๊ณ ๊ฐ๊ณผ ์ผํ๊ฑฐ๋ ํด์ธ ์ฌํ์ ํ ์๊ฐ์ด ์๋๋ผ๋ ์ด ๊ธฐ์ ์ ํ์ต๊ณผ ๊ฐ๋ฐ์ ํฌ๊ฒ ๋จ์ํํ ๊ฒ์ ๋๋ค.3๋ถ: ํ๊ธฐ.
์ด ๋ถ๋ถ์ ํจ์ฌ ์งง์ ๊ฒ ๊ฐ์์ :) ์ธํด์ญ์ด ๋๋๊ณ ์ฌํ๋ณด์ฅ์ ๋์ ํฉ๊ฒฉํด์ ์ทจ์ ์ ํ๊ฒ ๋์๊ณ , ์ด ํ๋ก์ ํธ๋ฅผ ๊ณ์ํ๊ฒ ๋์ด์. ์ธํด์ญ์ ์ผํ์ผ๋ก ์ฒซ ๋ฒ์งธ ๋จ๊ณ๊ฐ ๊ตฌํ ๋ ์์ ์ด์๊ณ ์ด 3 ๋จ๊ณ๊ฐ ์์๋ค๊ณ ํ ์ ์์ต๋๋ค. ํฌ๋ฐ๋ฏน์ ์์์ผ๋ก ์ธํด ๋ง์ ์์ ํ๋ก์ ํธ๊ฐ ์ฌ๋ผ์ก๊ณ , ๋๋ ์ด ํ๋ก์ ํธ๋ฅผ ์ํด ๊ฐ์ง ์ ์์๋ ๋ชจ๋ ๋จ๊ณ์ ์์ด๋์ด/์ํ๋ ๊ฒ์ ๊ตฌํํ์ต๋๋ค. ๋ค๋ฅธ ์์ ์ด ์์์ง๋ง ๊ทธ๋ค์ด ๋งํ๋ฏ์ด ๊ทธ๊ฒ์ ๋ ๋ค๋ฅธ ์ด์ผ๊ธฐ์ ๋๋ค.4๋ถ: Happy End, ์์ง End์๋ ๊ฑฐ๋ฆฌ๊ฐ ๋ฉ์ง๋ง ;)
7์ ์ค์์ ๊ทธ๋ค์ ๋์๊ฒ ์ ํํด์ ์ผ์๋ฆฌ๋ฅผ ์ฐพ๊ณ ์๋์ง ๋ฌผ์๋ค. ์ด๋ ฅ์๋ ์ค๋ซ๋์ ์ ๋ฐ์ดํธ๋์ง ์์์ง๋ง hh์ ๊ฑธ๋ ค ์์์ต๋๋ค. ์ ๋ ์ค์ค๋ก ์ํํด ๋ณด๊ธฐ๋ก ๊ฒฐ์ฌํ๊ณ 3๋จ๊ณ๋ฅผ ๊ฑฐ์ณค์ต๋๋ค: ํ ์คํธ ์์ , ๊ธฐ์ ์ธํฐ๋ทฐ, ๊ฒฝ์์ง ์ธํฐ๋ทฐ, ๊ทธ๋ค์ ์ ์๊ฒ ์ ์์ ๋ณด๋๊ณ ... ๊ฑฐ์ ํ ์ ์๋ ์ ์์ด์์ต๋๋ค. ๊ทธ๊ฑด ๊ทธ๋ ๊ณ , ์ด๋ค ์ ํ์ ํ์ฌ๊ฐ ์๋์ง์ ๋ํ ๊ธฐ์ฌ๋ฅผ ๊ผญ ์ฝ๊ณ ์์ ์๊ฒ ๊ฐ์ฅ ์ ํฉํ ํ์ฌ๋ฅผ ์ ํํ์ญ์์ค. ๋ฌผ๋ก ๋๋ ์ฒ์ ๋ช ๋ฒ์ ๊ทธ๋ค์ด ๋น์ ์ ๋ฐ๋ ค๊ฐ๋ ๊ณณ์ผ๋ก ๊ฐ๋ ค๊ณ ๋ ธ๋ ฅํ ๊ฒ์ด๋ผ๋ ๊ฒ์ ์ดํดํฉ๋๋ค. ๋์ ์ฒซ ๋ฒ์งธ ์ง์ ์ ์ธ๊ทผ์ด์๊ณ ์ง๊ธ์ ์๋ฃํ์ ์์ ์ผํ๊ณ ์์ต๋๋ค. (์ด ๊ธ์ ์ฐ๋ ์์ ์์ ์ ๋ ๋์งธ ๋ ์๋ง ์ผํ๊ณ ์์ต๋๋ค.) ๊ทธ ์๋ฆฌ์ ํ๋ฐฐ๋ ๊ณ ์ฉํ๋๋ฐ, ์ง์๊ณผ ๋ ๋ชจ๋ ์ฑ์ฅํ ์ฌ์ง๊ฐ ์๊ธฐ ๋๋ฌธ์ ์ ํ ์์ํ์ง ์์ต๋๋ค.๋ฐ๋ฌธ.
๊ทธ๋ฌ๋ ์น๊ตฌ ์ฌ๋ฌ๋ถ, ๋๋ดํ์ง ๋ง์ญ์์ค. ๊ฐ์ฅ ์ค์ํ ๊ฒ์ ๊ฒฐ์ ํ๊ณ ๊ธธ์์ ๋ฒ์ด๋์ง ์๋ ๊ฒ์ ๋๋ค. ์ ๊ฒฝ์ฐ์๋ ๊ฐ์กฑ์ ๋ํ ํฐ ์ฑ ์์ด ์์๊ณ ์ ์ธ์์์ ๋ฌด์ธ๊ฐ๋ฅผ ๋ฐ๊พธ๊ณ ์ ๊ฐ ์ ๋ง ์ข์ํ๋ ์ผ์ ํ๊ณ ์ถ์ ์ด๋ง์ด ์์์ต๋๋ค. ์ด ๋ถ์ผ์ ํนํ ์ข์ ์ ์ ํ์ฌ์ ๊ณต์์ด ๋ง๋ , 20๋ ๋์ ์ผํ ํด์ง์๊ฐ ๋ ๋ฌ๋ , ์ค๋ฅผ ๋งํผ ํธ์ด ๋ง์ ํ์ด ์๋ ์๊ด์์ด ๊ฒฝ๋ ฅ ์ฌ๋ค๋ฆฌ๋ฅผ ์ค๋ฅผ ์ ์๋ค๋ ๊ฒ์ ๋๋ค. ๋น ๊ณณ. ์ฐ๋ฆฌ ๋ถ์ผ์์๋ ๋ชจ๋ ๊ฒ์ด ์ฐ๋ฆฌ ์์ ์์ต๋๋ค!๊ณต์ ํ๊ณ ์ถ์ ๊ธ:
- ๊ฑด์ถ์ ๋ํ ์ดํด( ๋ฌ์์์ด ๋ฐ ์๋ณธ ) ์ ๋ ๊ฐ์ธ์ ์ผ๋ก ๋ฏธ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ํคํ ์ฒ๋ฅผ ๊ฐ๋ฐํ๋ ์ค ์ด ๊ธฐ์ฌ๋ฅผ 4๋ฒ์ด๋ ์ฝ์์ต๋๋ค. ๋ฉํ ๊ฐ ๋ชจ๋ ๊ฒ์ ํ์ธํ๊ณ ๋ฐ๋ณต ํธ์ง์ ์ํด ๋ณด๋๊ธฐ ๋๋ฌธ์ ๋ณต์ํ์ผ๋ก ์์ฑํ๊ณ ์์ต๋๋ค(๊ทธ๋ ์ฝ๋ ๊ฒํ ๋ฅผ ํ์ต๋๋ค). ์ฒ์์๋ ์ ์ดํด๊ฐ ์ ๋๋๋ฐ, 3๊ฐ์ ๋ค์ ์ฝ์ด๋ณด๋ ์ ๊ทธ๋ฌ๋์ง ๋ฒ์จ ์ดํด๊ฐ ๋๋๋ผ๊ณ ์. ๊ทธ๋ฐ ๋ค์ ๋ชจ๋ ์ ๋ณด๋ฅผ ํตํฉํ๊ณ ์์ ํ ๋ํ์ํค๊ธฐ ์ํด ๋ ๋ฒ ๋ ์ฝ์์ต๋๋ค.
- Git ์์ ์ ๋ํ ๋ํํ ๊ต์ก์ ๋๋ค .
- ๋๋ ๋ชจ๋ ์ฌ๋์๊ฒ ์คํธ๋ฆผ ์์ ๋ฐฉ๋ฒ์ ๋ฐฐ์ฐ๋ผ๊ณ ์กฐ์ธํฉ๋๋ค. ์ด๊ฒ์ ์ ๋ง ๋ฉ์ง ์ผ์ ๋๋ค. ๋ง์ ์์ ๊ธ์ ์์ ์คํธ๋ฆผ์ผ๋ก ๋์ฒดํ ์ ์๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค. ์คํธ๋ฆผ ์์ ์ ๋ํด ์๊ธฐ์ํค๊ธฐ ์ํด ์ ๋ ํญ์ ์ด ๊ธ์ ์ด์ด๋์์ต๋๋ค .
- Spring ์์ ์ ๋ํ ์์ธํ ๋ฌธ์๊ฐ ์์ผ๋ฏ๋ก ๋งํฌ๋ฅผ ์ ๊ณตํ์ง ์๊ฒ ์ต๋๋ค. ๊ทธ๋ฌ๋ ์ด๋ค ์ด์ ๋ก Spring the Ripper ๋ผ๊ณ ๋ ์๋ ค์ง Evgeny Borisov๋ผ๋ ์ฌ๋์ ์ฆ์ ๋ง๋์ง ๋ชปํ์ต๋๋ค . ๋ค์์ ์ ์ฅ์ ์๋ ๋ฐฉ์ ๋ฑ์ ๋ํ ๋งค์ฐ ๋ฉ์ง ํ๋ฆฌ์ ํ ์ด์ ๊ณผ ๋ถ์ ์ ๋๋ค. ์ฆ์ ๋ฐ๊ฒฌํ์ง ๋ชปํ ๊ฒ์ด ์ ๋ง ํํ๋ฉ๋๋ค. ์ด๊ธฐ ๋จ๊ณ์์ ๋ง์ ๊ฒ์ด ๋ ๋ช ํํ์ ๊ฒ์ ๋๋ค. ํนํ ๋ฃ๋ ๊ฒ๋ฟ๋ง ์๋๋ผ ๋์์ ์ฝ๋๋ฅผ ์์ฑํ๊ณ ๋ชจ๋ ๊ฒ์ ๊ทผ์ก ๊ธฐ์ต์ ์ ์ฅํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
- ๊ธ์์, ์ ๋ ๋น๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ก ์์ ํ๊ณ ๋๋ถ๋ถ์ ํ์ฌ(ํนํ ๋๊ท๋ชจ ํ์ฌ)๋ SQL๋ก ์์ ํ๊ธฐ ๋๋ฌธ์ ์ฌ๊ฐ ์๊ฐ์๋ SQL ์ฟผ๋ฆฌ ์์ฑ๊ณผ ๊ด๋ จ๋ ์ ์ด๋ ๋ช ๊ฐ์ง ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ค๊ณ ๋ ธ๋ ฅํ์ต๋๋ค. ์ด์ ๋ํ ๋ค์ํ ์ฌ์ดํธ๊ฐ ์์ง๋ง ๋ฌธ์ ์ ํ์ต์ฉ ๊ต๊ณผ์๊ฐ ์๋ ์ด ์ฌ์ดํธ๊ฐ ๋ง์์ ๋ค์์ต๋๋ค.
- ๋ํ ํ ์คํธ ์์ฑ(Assertj, Mockito)์ ๋ํด ์ฝ์ด๋ณด๋ ๊ฒ์ด ์ข์ต๋๋ค. ํ์ง๋ง ์ข์ ๊ธฐ์ฌ๋ ๊ธฐ์ต๋์ง ์๊ณ ๋ฌธ์๋ง ๊ธฐ์ตํฉ๋๋ค.
- ๊ทธ๋ฆฌ๊ณ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฐ๋ฐํ ๋(๊ทธ๋ฌ๋ ์ด๊ฒ์ ์ค์ ๋ก ์ด๋ณด์๋ฅผ ์ํ ๊ฒ์ ์๋๋๋ค) ๋์์ธ ํจํด์ ์ฌ์ฉํด ๋ณด์ญ์์ค . ์ ์ด๋ ์๋ ค์ง ํจํด์ ๋ํด ๋๊ฐ์ ์ผ๋ก ์ต์ํด์ง๋ฉด ์ด๊ธฐ ๋จ๊ณ์์ ์ ์ฉํ ๊ฒ์ ๋๋ค.
GO TO FULL VERSION