์ต์ข
ํ๋ก์ ํธ์ ๋ค์ด๊ฐ๋ค. ๊ธฐ์กด ํ๋ค๊ณผ ๋ฌ๋ฆฌ S.A ๋ถํฐ ์์ฒญ ์ธ์ธํ๊ฒ ์งฐ๋๋ฐ, ์ด๋ ต๋ค... ๊ธฐ๋ฅ ๋ชฉ๋ก์ ๋จผ์ ์์ฑํ๊ณ → ์ํคํ
์ณ ๊ทธ๋ฆฌ๊ณ → ์์ด์ด ํ๋ ์ → ERD → API ๋ช
์ธ์ ์ด๋ฐ ์์ผ๋ก ์งํํ๋๋ฐ ์ฌ์ค API ๋ช
์ธ์ ์์ฑ์ ์ด๋ ค์์ด ๋ง์์ ์ค๊ฐ ์ค๊ฐ์ ๊ทธ๋ง๋๊ณ ์์ด์ด ํ๋ ์์ ๊ทธ๋ฆฌ๊ณ , ERD๋ฅผ ์ค๊ณํ ํ์ ์งํํ๋ค. ERD๋ฅผ ์ค๊ณํ ๋, ๊ฐ์ฅ ์ด๋ ค์ ๋ค. ๊ณต์ฐ์ฅ๊ณผ ์ข์์ ์ฐ๊ฒฐํ์ฌ ๊ตฌ์ฑํ๋๋ฐ, ์ฒ์์๋ ์ข์ ์์ ์ด ์ข์์ด ๊ฒฝ๋งค์์ธ์ง ์ ์ฐฉ์์ธ์ง๋ฅผ ํ๊ธฐํ๋ ์ปฌ๋ผ๊ณผ ๊ฐ๊ฒฉ ์ปฌ๋ผ์ด ๋ค์ด์์๋ค. ๊ทธ๋ฐ๋ฐ ์๊ฐ์ ๊ณฐ๊ณฐํ ํด๋ณด๋(๋ค๋ฅธ ํ์๋ถ์ด ใ
) ์ข์์ ๊ฐ๊ฒฉ, ํ๋งค ํ์
์ ๊ณต์ฐ์ฅ์ด ์๋๋ผ ๊ณต์ฐ์ ๋ฐ๋ผ ๋ณ๋๋๋ ๊ฐ์ด๊ธฐ ๋๋ฌธ์ ๊ณต์ฐ๊ณผ ์ข์์ ๋ณตํฉํค๋ก ๊ตฌ์ฑ๋ ๊ณต์ฐ ๋ณ ์ข์ ๊ฐ๊ฒฉ ํ
์ด๋ธ์ ์๋กญ๊ฒ ์์ฑํ์ฌ ๊ฐ๊ฒฉ๊ณผ ํ..
์ ์ฒด ๊ธ
๋ฐํ ํผ๋๋ฐฑ์์ GitHub Action Redis TTL ์ํคํ
์ณ ์ ๋ํด ๋ค์๋ค. ๊ณต๋ถํ์ ใ
๋ด์ผ....
CardService ํด๋์ค์ ๋ํ ํ
์คํธ ์ฝ๋๋ฅผ ์ง๋๋ฐ, ์๋ ์์กดํ๊ณ ์๋ ํด๋์ค๊ฐ ๋ง์ Mockito๋ฅผ ํ์ฉํ๊ธฐ๊ฐ ๋๋ฌด ์ด๋ ค์๋ค... given-willReturn ์ด ๋๋ฌด ๋ง์ด ์ฌ์ฉ๋๊ณ , ์์ ์ํฐํฐ์ id๋ฅผ ์ฐธ์กฐํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง๊ธฐ ๋๋ฌธ์, ์ฐจ๋ผ๋ฆฌ H2๋ฅผ ์ด์ฉํ์ฌ ์ค์ ๊ฐ์ ๋ฃ๋๋ก ์งํํ๋ค. ๊ฐ๋ค์ ์ ์ฅํ๋ ๊ฒ์ ๋ฌธ์ ๊ฐ Never ์์๋ค. ํ์ง๋ง!! โ ๏ธ ํ ๊ฐ์ ํ
์คํธ๊ฐ ๋๋ ๋๋ง๋ค ๋ฐ์ดํฐ ๊ฐ๋ค์ ๋ชจ๋ ์ง์์ค์ผ ํ๋๋ฐ ๋ค๋ฅธ ์ํฐํฐ์ repository๋ฅผ ์ง์ ์ฌ์ฉํ๋ ๊ฒ์ด ์๋๋ผ, service ๋จ์ ๊ฑฐ์ณ์ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ deleteAll ๋ฉ์๋๋ฅผ ์ฌ์ฉํ ์ ์์๋ค. ๊ทธ๋์ ๋ค์ mockito ๋ฅผ ์ ์ฉํด๋ณด๋ คํ๋ค ์ฅ๋ ฌํ ์คํจ....... ๋ค์ ๊ธฐ์กด์ผ๋ก ๋์์์ ์ฌ๋ฌ ์์น๋ฅผ ํด๋ณธ ๊ฒฐ๊ณผ Databas..
GIT ๊ป์ด๋ค ์ด์ ๋ถํฐ ๋๋ฅผ ๋์ง๊ธฐ๊ฒ ๊ดด๋กญํ๋ git ํนํ ์์ ์ค ๋ค๋ฅธ ๋ถ๋ค์ ์ฝ๋๋ฅผ pull ํ๋ฉด ์๊ธฐ๋ ์ด ๊ธ... ์ด๋ฒ์๋ ์ญ์๋,,,, ๊ฐ๋ฐ ์์ด ๋ง๋ค๋ณด๋ ๋์ฑ ๋ง์ด ๋น ๋ฅด๊ฒ ๋ฐ์ํ๋ค.. ์ฒ์์๋ ๊ทธ๋ฅ ์์ ํฌ๊ธฐํ๊ณ ์๋ก clone ํ๋ค. ์ดํ์ ๋ ๋ฐ์ํด์ ํ ๋ฒ ์๋ก์ด ๊ฒ์ ์๋ ๋ก์ปฌ develop ๋ธ๋์น์์ ๋จธ์ง๋ ์ฝ๋๋ฅผ pull ์์
์ค์ด ๋ธ๋์น์์ stash ํ์ฌ ์์
ํ๋ ๋ด์ฉ ์ ์ฅ git merge develop์ผ๋ก merge! git stash apply ๋ก ์ ์ฅํด๋์ ์ฝ๋ ๊ฐ์ ธ์ค๊ธฐ ์๋ฃ ์ฌ์ค ์ด๊ฒ ์ ๋๋์ง๋ ์๋ชจ๋ฅด๊ฒ ๋ค. ํ์ง๋ง ๋๋ ๊ฒ์ ์๋ฏธ๋ฅผ ๋ถ์ฌํด๋ณด์!ใ
์๋ฆฌ๋ ์ถํ ์๊ฒ์ด๋ค......ใ
์ค๋ JPA ์ฌํ : Spring Data ๊ตฌ์กฐ ๋ฐ JpaRepository ์๋ฆฌ Spring Data ๊ตฌ์กฐ ๊ธฐ๋ฅ ๋ชฉ๋ก ๊ฐ๋ ฅํ ๋ฆฌํฌ์งํ ๋ฆฌ ๋ฐ ์ฌ์ฉ์ ์ง์ ๊ฐ์ฒด ๋งคํ ์ถ์ํ ๋ฆฌํฌ์งํ ๋ฆฌ ๋ฉ์๋ ์ด๋ฆ์์ ๋์ ์ฟผ๋ฆฌ ํ์ ๊ธฐ๋ณธ ์์ฑ์ ์ ๊ณตํ๋ ๊ตฌํ ๋๋ฉ์ธ ๊ธฐ๋ณธ ํด๋์ค ๋ช
๋ฃํ ์ถ์ ๊ธฐ๋ฅ ์ง hyeyun.tistory.com ๊ฐ์๋ฅผ ๋ค์๋ค. ๋ด์ผ์ ๊ผญ ํ์ด์ง๋ค์ด์
๊น์ง ๊ณต๋ถํ์ ์์ง ์ ์ ๋ฐ ์ด์ ๋จ๊ณ๊ฐ ๋ ๊ตฌํ๋์ด์ ํ์ ์ ์งํํ๊ธฐ์ ์ด๋ ค์์ด ์์ด ์์ง ์ํ๋์ค ใ
์ฃผ๋ง ๋ฐ๋ฉํ๊ณ ๋นก์ธ๊ฒํด์ผ๊ฒ ๋ค ๐
Spring Data ๊ตฌ์กฐ ๊ธฐ๋ฅ ๋ชฉ๋ก ๊ฐ๋ ฅํ ๋ฆฌํฌ์งํ ๋ฆฌ ๋ฐ ์ฌ์ฉ์ ์ง์ ๊ฐ์ฒด ๋งคํ ์ถ์ํ ๋ฆฌํฌ์งํ ๋ฆฌ ๋ฉ์๋ ์ด๋ฆ์์ ๋์ ์ฟผ๋ฆฌ ํ์ ๊ธฐ๋ณธ ์์ฑ์ ์ ๊ณตํ๋ ๊ตฌํ ๋๋ฉ์ธ ๊ธฐ๋ณธ ํด๋์ค ๋ช
๋ฃํ ์ถ์ ๊ธฐ๋ฅ ์ง์(์์ฑ ์ผ์, ๋ง์ง๋ง ๋ณ๊ฒฝ ์ผ์, ์์ฑ์, ๋ง์ง๋ง ๋ณ๊ฒฝ์) ์ฌ์ฉ์ ์ง์ ๋ฆฌํฌ์งํ ๋ฆฌ ์ฝ๋ ํตํฉ ๊ฐ๋ฅ์ฑ JavaConfig ๋ฐ ์ฌ์ฉ์ ์ง์ XML ๋ค์์คํ์ด์ค๋ฅผ ํตํ ๊ฐํธํ Spring ํตํฉ Spring MVC ์ปจํธ๋กค๋ฌ์์ ๊ณ ๊ธ ํตํฉ ๊ต์ฐจ ์คํ ์ด ์ง์์ฑ์ ๋ํ ์คํ์ ์ง์ ์๋ฆฌ Repository ๋ MarkerInterface๋ก ํน๋ณํ ๊ธฐ๋ฅ์ ์๋ค. Repository ~ JpaRepository ๊น์ง๋ @NotRepositoryBean ์ด ๋ถ์ด์๋ ์ธํฐํ์ด์ค์ด๋ค. JpaRepository ๋ถ์ด๋ฉด ์๋ง์ ํ๋ก..
Cascade(์์์ฑ ์ ์) ์ฌ์ฉ ์์น ์ฐ๊ด๊ด๊ณ์ ์ฃผ์ธ ๋ฐ๋ํธ - ๋ถ๋ชจ ์ํฐํฐ(๋ค๋์ผ ์์ ์ผ) ์ฆ, @OneToMany๊ฐ ์๋ ์ชฝ ๋๋ @OneToOne๋ ๊ฐ๋ฅ ์ฌ์ฉ ์กฐ๊ฑด ์์ชฝ ์ํฐํฐ์ ๋ผ์ดํ ์ฌ์ดํด์ด ๋์ผํ๊ฑฐ๋ ๋น์ทํด์ผ ํ๋ค. ์๋ฅผ ๋ค์ด, ๊ฒ์๊ธ์ด ์ญ์ ๋๋ฉด ์ฒจ๋ถํ์ผ๋ ์ญ์ ๋์ด์ผ ํ๋ค. ๋์ ์ํฐํฐ๋ก์ ์์์ฑ ์ ์ด๋ ํ์ฌ ์ํฐํฐ์์๋ง ์ ์ด ๋์ด์ผ ํ๋ค. ์๋ฅผ ๋ค์ด, ์ฒจ๋ถ ํ์ผ์ ๊ฒ์๊ธ์ด ์๋ ๋ค๋ฅธ ๊ณณ์์ ์์์ฑ ์ ์ด๋ฅผ ํ๋ฉด ์๋๋ค. ์ต์
์ข
๋ฅ ALL : ์ ์ฒด ์ํ ์ ์ด PERSIST : ์ ์ฅ ์ํ ์ ์ด REMOVE : ์ญ์ ์ํ ์ ์ด MERGE : ์
๋ฐ์ดํฐ ์ํ ์ ์ด REFRESH : ๊ฐฑ์ ์ํ ์ ์ด DETACH : ๋น์์์ฑ ์ํ ์ ์ด orphanRemoval(๊ณ ์ ๊ฐ์ฒด ์ ๊ฑฐ) ์ฌ์ฉ ์์น @OneToM..
์๋ก์ด ํ๋ก์ ํธ ์์ ์ต์ข
์ ๋ง์ง๋ง ํํ ํธใ
์ดํ
! ํ์๋ค๊ณผ ๊ต์ฅํ ์๋ฐ์ด ์๋ง๋๋ฏ ๋ค๋ค ๋๋ฑ๋๋ฑ ์์ฑ! Trello ๊ฐ์ ํ์
ํด์ ๊ตฌํํ๋ ํ์ ๊ต์ฅํ ์์ธํ ๊ตฌ์ฒด์ ์ผ๋ก ์ ๋๋ด๋ค API ๋ช
์ธ์ ERD ์ด์ ๋ถํฐ ๋๋ฑ ๋๋ฑ ๋ง๋ค์ด๋ณด์