Java/Spring ์ฃผ๋์ด ๊ฐ๋ฐ์๋ฅผ ์ํ ์ค๋ต๋ ธํธ
์คํ๋ง์ด๋ JPA๋ฅผ ์กฐ๊ธ ๋ค๋ฃฐ ์ค ์๊ฒ ๋ ๋น์ , ์์ผ๋ก ์ฑ์ฅํ๊ธฐ ์ํด ๋ฌด์์ ์ด๋ป๊ฒ ๊ณต๋ถํด์ผ ํ ๊น์? ํน์ ์ค๊ณ ๊ณต๋ถ๋ฅผ ํด๋ณด๊ฒ ๋ค๊ณ ๋์์ธ ํจํด์ ๊ณต๋ถํ๋ฉด์ ํจํด๋ค์ ๋ฌด์์ ์๊ธฐํ๊ณ ๊ณ์์ง ์์ผ์ ๊ฐ์? ์ ๊ฐ ๋์๋๋ฆด๊ฒ์!
์๊ฐ์ 1,267๋ช
๋์ด๋ ์ด๊ธ
์๊ฐ๊ธฐํ ๋ฌด์ ํ

์๋ ํ์ธ์. ๊น์ฐ๊ทผ์ ๋๋ค.
๊ฐ์๋ฅผ ๊ฐ์คํ ์ง ์ด๋๋ง 6๊ฐ์์ด ๋ค๋์ด๊ฐ๋๋ค. ๋ค๋ฆ์ด ์๋๊ณ ํด๋น ๊ฐ์์ ๋ํด์ ๋ช ๊ฐ์ง ๊ณต์ ํด ๋๋ฆด ์ฌ์ค์ด ์์ด์ ๊ธ์ ์ฐ๊ฒ ๋์์ต๋๋ค.
๊ฐ์์ ๋ณด๊ฐ์ด ์ถ๊ฐ๋์์ต๋๋ค.
๋ณธ ๊ฐ์๋ 6์ 9์ผ๋ถ๋ก ๊ฐ๊ฒฉ์ ์ธํํ๊ณ ์ ํฉ๋๋ค. (59,400์. ์์ ์ผ์ด๊ณ ๋ณ๋์ด ์์ ์ ์์ต๋๋ค) ๊ฐ์๋ฅผ ์์ง ์๊ฐํ์ง ์์ผ์ ๋ถ๋ค์ด ๊ณ์ ๋ค๋ฉด, ์๊ฐ ์ ์ฐธ๊ณ ํด ์ฃผ์๊ธฐ ๋ฐ๋๋๋ค.
์ ๊ฐ ์ฒ์ ๊ฐ์๋ฅผ ๊ธฐํํ์ ๋น์์๋ ๋์ ๋ ์๊ฐ 1๋ ~2๋ ์ฐจ ์ค๋ฌด๋ฅผ ํ๊ณ ์๋ ์ฃผ๋์ด๋ค์ด์์ต๋๋ค. ๋ฌผ๋ก ์ฃผ๋์ด์ ํ์์ ๊ฒฝ๊ณ๊ฐ ๋ชจํธํ๊ธฐ ๋๋ฌธ์, โํ์๋ถ๋ค๋ ๋ช ๋ถ ๋ค์ ์ ์๊ฒ ๋คโ๋ผ๋ ์๊ฐ๋ ํ์์ต๋๋ค. ํ์ง๋ง ์ฃผ์ ๋์ ๋ ์๊ฐ ์๋ฌด๋๋ ์ง์ฅ์ธ์ด์๊ธฐ์, โ์๊ฐ ๋ถ์กฑํ ์ง์ฅ์ธ๋ค์ด, ์ฃผ๋ง ํ๋ฃจ~์ดํ์ ๋ ํฌ์ํด์ ์๊ฐํ ์ ์๋ ๊ทธ๋ฐ ๊ฐ์๋ฅผ ๋ง๋ค์ด๋ณด์โ๋ผ๊ณ ์๊ฐํ์๊ณ ์. ๊ทธ๋ฆฌ๊ณ ์ฃผ๋ง ์ด์ฉํด์ ์ธ๋ฏธ๋๋ฅผ ๋ฃ๊ณ ์จ๋ค๋ ๊ฐ๋ ์ด๋ผ๋ฉด, โ์ง์ฅ์ธ์ ๊ฒฝ์ ๋ ฅ์ ๊ณ ๋ คํ์ ๋, ์ธ๋ฏธ๋ ์ฐธ์๋น 8๋ง ์? ์ ๋๋ฉด ๊ด์ฐฎ์ง ์๋?โ๋ผ๋ ์๊ฐํ๋ ๊ฑฐ์ฃ .
๊ทธ๋ฐ๋ฐ ์ด ๊ฐ์๊ฐ ํ์ ์ฌ๋ฌ๋ถ๋ค์๊ฒ ์ด๋ ๊ฒ ํฐ ๊ด์ฌ์ ๋ฐ์ ์ค ๋ชฐ๋์ต๋๋ค. ๊ทธ๋์, ์ฐ์ ๋๋ฌด๋ ๊ฐ์ฌํฉ๋๋ค. ํ์๋ถ๋ค ์ ์ฅ์์๋ 8๋ง ์์ด๋ผ๋ ๊ธ์ก์ด ๊ฒฐ์ฝ ์ ์ ๊ธ์ก์ด ์๋๋ผ๋ ๊ฒ์ ์๊ณ ์๊ธฐ์, ์ ๋ง ๊ณผ๋ถํ ๊ด์ฌ์ด๋ผ๋ ๊ฒ์ ์๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด๋ ์๊ฐ ๊ทธ๋ฐ ์๊ฐ์ด ๋ค์์ต๋๋ค. ์ด๋ ๊ฒ๊น์ง ํ์๋ถ๋ค์ด ๋ง์ด ๋ค์ด์ฃผ์ ๋ค๋ฉด, โ์ด๋ฏธ ๊ฒฐ์ ํด ์ฃผ์ ๋ถ๋ค์ ์ํด์๋ผ๋ ๊ฐ์ ๋ด์ฉ์ ์กฐ๊ธ์ด๋ผ๋ ๋ ๋ณด๊ฐํ๊ณ , ์์ผ๋ก ์๊ฐํด์ฃผ์ค ๋ถ๋ค์ ์ํด ๊ฐ๊ฒฉ ๋ถ๋ด์ ์กฐ๊ธ์ด๋ผ๋ ๋ฎ์ถฐ๋๋ฆฌ๋๊ฒ ๋ง์ง ์์๊น?โ๋ผ๋ ์๊ฐ์ด์.
๋ค, ๊ทธ๋์ ๊ฐ์ ๋ด์ฉ์ ์กฐ๊ธ๋ง ๋ ๋ณด๊ฐํ๊ณ , ๊ฐ๊ฒฉ์ ์ธํํ๊ธฐ๋ก ๊ฒฐ์ ํ์์ต๋๋ค. ๋ฌผ๋ก ์ด๋ฐ ๊ฒฐ์ ์ ํ๊ฒ ๋ ๋ฐ์๋ ์์ ์ค๋ช ํด ๋๋ฆฐ ์ด์ ์ธ์๋ ๋ช๊ฐ์ง ๋ค์ํ ์ด์ ๊ฐ ๋ ์์ง๋ง, ์ฌ์กฑ์ด๋ผ ์๊ฐ๋์ ๋์ด ๊ฐ๊ฒ์.
๋ณด๊ฐ์ ๊ธ์ผ ์๋ฒฝ์ ์ถ๊ฐํ์์ต๋๋ค. 40๋ถ์ ๋์ ์งง์ ๋ถ๋์ด์ง๋ง, ๋ฃ์๊น ๋ง๊น ๊ณ ๋ฏผํ๋ค๊ฐ ์ฌ๋ฌ ์ด์ ๋ก ์ธํด ๋บ ๋ด์ฉ๋ค์ ์ถ๊ฐํ์์ต๋๋ค. ๊ทธ๋์ ์ง๊ธ ๋ฐ๋ก ๋ค์ผ์ค ์ ์๋ ์ํ์ด๊ณ ์. ๋ค๋ง ๊ฐ๊ฒฉ ์ธํ๋ ํ ๋ฌ ๋ค์ธ 6์ 9์ผ(์์ )๋ถํฐ ์ ์ฉ๋ ์์ ์ ๋๋ค. ๊ฐ๊ฒฉ ์ธํ๋ฅผ ๋ฐ๋ก ํ์ง ์๋ ์ด์ ๋, ์ด ๊ณต์ง๊ฐ ๋๊ฐ๊ธฐ ์ ์ ์ด๋ฏธ ๊ฒฐ์ ํด์ฃผ์ ๋ถ๋ค์ด ๊ณ์๊ธฐ ๋๋ฌธ์ด๋ฉฐ, ์ด ๋ถ๋ค๊ณผ ํ์ ๊ฒฐ์ ํด์ฃผ์ค ๋ถ๋ค ์ฌ์ด์ ์ฝ๊ฐ์ ์๊ฐ ๊ฐ๊ฒฉ์ ๋๋ ๊ฒ ๋ง๋ค๋ ์๊ฐ์ด ๋ค์๊ธฐ ๋๋ฌธ์ ๋๋ค. ๋์ ๊ทธ ์ด์ ๊น์ง๋ ์ธํ๋ฐ์ ํ ์ธ ์ ์ฑ ์ ๋ฐ๋ผ ํ ์ธ ํญ๊ณผ ๊ธฐ๊ฐ์ ์ต๋ํ ๊ธธ๊ฒ ์ ์ฉํ๋๋ก ํ๊ฒ ์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ ์๋ก์ด ์์์ ์ ๋ฌํด ๋๋ฆฌ์๋ฉด 6์ 9์ผ์ ํ ์คํธ๋ฅผ ์ฃผ์ ๋กํ๋ ์๋ก์ด ๊ฐ์๊ฐ ์คํ๋ฉ๋๋ค. ๋ณธ ๊ฐ์๊ฐ ์๋ก ์ ์ธ ๋ด์ฉ์ ๋ค๋ฃฌ๋ค๋ฉด, ํ ์คํธ ๊ฐ์์์๋ ์คํ๋ง ํ๋ก์ ํธ์ ํ ์คํธ๋ฅผ ๋ฃ๋ ์ค์ฒ์ ์ธ ๋ฐฉ๋ฒ์ ๋ค๋ฃจ๊ณ ์๋ค๊ณ ๋ณด์๋ฉด ๋ฉ๋๋ค. ๊ทธ๋ฐ๋ฐ, ์์งํ ์ด์ผ๊ธฐ๋ก, ํด๋น ๊ฐ์๋ฅผ ์ด๋ฏธ ์๋ ํ์๊ณ ์ฒด๋ํ์ ๋ถ๋ค์ด๋ผ๋ฉด, ์ ๊ท ๊ฐ์๋ฅผ ๋ค์ ํ์๋ ์๋ค๊ณ ์๊ฐ๋๋ค์. ์๋๋ ์ ๊ท ๊ฐ์์ ์ฌ์ฉ๋๋ ํ ์ด ํ๋ก์ ํธ์ธ๋ฐ, ๋ฆด๋ฆฌ์ฆ ์ซ์๊ฐ์ ์ ์ด๋ป๊ฒ ๋ณํ๋๋์ง ํ ๋ฒ ์ฝ์ด๋ณด๊ธฐ๋ง ํด๋ ์ถฉ๋ถํ์ง ์์๊น ์ถ์ต๋๋ค. (์ฐธ๊ณ : https://github.com/kok202/test-code-with-architecture) ๊ทธ๋๋ ํน์๋ผ๋ ๊ด์ฌ์ด ์๋ ์๊ฐ์๋ถ๋ค์ด ๊ณ์๋ค๋ฉด, ์ด์ฉ์ ์ฐธ๊ณ ๋ถํ๋๋ฆฝ๋๋ค.
์ฒ์ ๊ฐ์๋ฅผ ๊ฐ์คํ์ ๋์๋ 1๋ ์ 100๋ถ๋ง ์๊ฐํด ์ฃผ์ ๋ ๋คํ์ด๋ผ ์๊ฐํ๊ณ ์์์ต๋๋ค. ๊ณผ๋ถํ ๊ด์ฌ์ ๊ฐ์ฌ๋๋ฆฝ๋๋ค. ์ข์ ํ๋ฃจ ๋์๊ธธ ๋ฐ๋๋๋ค :)






