์๋ ํ์ธ์! ์ ๋ ๋ฐฑ์๋ ๊ฐ๋ฐ์ ๊น๋ํฌ์ ๋๋ค. Spring Framework, JPA, QueryDSL ๋ฑ์ ํ์ฉํ์ฌ ํจ์จ์ ์ธ ์์คํ ์ ๊ตฌ์ถํ๊ณ , ์ฌ๋ฌ ํ๋ก์ ํธ์์ CI/CD ํ๊ฒฝ ๊ตฌ์ถ, MSA ์ ํ, ๋ณด์ ๊ฐํ, ๊ฒ์ ์ต์ ํ ๋ฑ์ ๊ฒฝํํ์ต๋๋ค.
ํ์ฌ๋ Java์ Spring Boot๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ ๋ฐฑ์๋ ๊ฐ๋ฐ์ ์ฃผ๋ ฅํ๋ฉฐ, ๋ค์ํ ๊ธฐ์ ์ ํ์ฉํ์ฌ ์ต์ ํ๋ ์๋น์ค๋ฅผ ์ ๊ณตํ๋ ๋ฐ ๊ด์ฌ์ด ๋ง์ต๋๋ค.
Backend:
- Java
- Spring Boot
- Spring Security
- JPA
- QueryDSL
- Thymeleaf
DevOps:
- Git
- Jenkins
- Docker
Database:
- MySQL
- MongoDB
- PostgreSQL
Cloud:
- Naver Cloud (Object Storage)
- AWS (๊ณต๋ถ ์ค...)
Frontend (๊ธฐ๋ณธ ์ดํด):
- React
- ๋ณด์ ๊ฐํ: Spring Security๋ฅผ ์ฌ์ฉํ์ฌ ๊ถํ๋ณ ์ ๊ทผ ์ ์ด ๋ฐ ์ธ์ฆ ์์คํ ๊ตฌ์ถ
- ๊ฒ์ ์ต์ ํ: QueryDSL์ ์ฌ์ฉํด ๋์ ์ฟผ๋ฆฌ ์์ฑ ๋ฐ N+1 ๋ฌธ์ ํด๊ฒฐ
- ํ์ด์ง๋ค์ด์ ๊ฐ์ : ๊ธฐ์กด Slice ๋ฐฉ์์ ๊ฐ์ ํ์ฌ ๋์ ๊ฒ์ ํํฐ ๋ฐฉ์์ผ๋ก ์ ํ
- ์ํ ๋ฐ ๋ง์ดํ์ด์ง ์๋น์ค ๊ฐ๋ฐ: JPA Repository๋ฅผ ํ์ฉํ์ฌ ์ํ, ๊ฒฝ๋งค, ์ฌ์ฉ์ ๊ด๋ จ ์ํฐํฐ ๋ฐ CRUD API ์ค๊ณ
- MSA ์ ํ: ์๋น์ค ๋ถ๋ฆฌ ๋ฐ DB ์ค๊ณ ์์ , ์ฑ๋ฅ ๊ฐ์ ์ ํตํ ๋ง์ดํฌ๋ก์๋น์ค ์ํคํ ์ฒ๋ก์ ์ ํ
- CI/CD ๊ตฌ์ถ: Jenkins, GitHub, Docker๋ฅผ ์ฌ์ฉํ์ฌ ์๋ํ๋ ๋ฐฐํฌ ํ๊ฒฝ ๊ตฌ์ถ
- OAuth ๋ก๊ทธ์ธ: ์์ ๋ก๊ทธ์ธ์ ํตํ ์ธ์ฆ ์์คํ ๊ฐํ
- SSR ํ๊ฒฝ ์ต์ ํ: Thymeleaf ๊ธฐ๋ฐ ์๋ฒ ์ฌ์ด๋ ๋ ๋๋ง ์ต์ ํ
- ํ ์คํธ ์ฝ๋ ์์ฑ: JUnit๊ณผ Mockito๋ฅผ ํ์ฉํ ๋จ์ ํ ์คํธ ๋ฐ Mock ๊ฐ์ฒด ๊ธฐ๋ฐ ํ ์คํธ
์ ํ๋ก์ ํธ์ ์์ ๋ฌผ์ GitHub์์ ํ์ธํ์ค ์ ์์ต๋๋ค:
- ์ด๋ฉ์ผ: kimdohee58@gmail.com
- LinkedIn: linkedin.com/in/kimdohee
์ ๋ ํญ์ ํจ์จ์ ์ด๊ณ ํ์ฅ ๊ฐ๋ฅํ ์์คํ ์ ๊ตฌ์ถํ๋ ค ๋ ธ๋ ฅํฉ๋๋ค. ์๋ก์ด ๊ธฐ์ ์ ๋ฐฐ์ฐ๊ณ , ๊ธฐ์กด ์์คํ ์ ๊ฐ์ ํ๋ฉฐ, ๋ ๋์ ๊ฐ๋ฐ ํ๊ฒฝ์ ๋ง๋๋ ๋ฐ ์ด์ ์ ๊ฐ์ง๊ณ ์์ต๋๋ค.


