์ฌ์ฉ์์ ๊ด์ฌ์ฌ๋ฅผ ํ์ตํ์ฌ ์ต์ ์ ์ ๊ธฐ๋๋ฌผ์ ์ถ์ฒํ๋ AI ๊ธฐ๋ฐ ๋งค์นญ ์๋น์ค
๋งค๋ ์ฝ 10๋ง ๋ง๋ฆฌ์ ์ ๊ธฐ๋๋ฌผ์ด ๋ฐ์ํ์ง๋ง ์ ์๋ฅ ์ 30% ๋ฏธ๋ง์ ๋๋ค. ์ ์ ํฌ๋ง์๊ฐ ์์ ์๊ฒ ๋ง๋ ๋๋ฌผ์ ์ฐพ๊ธฐ ์ด๋ ต๊ณ , ๋ณดํธ์๋ณ๋ก ์ ๋ณด๊ฐ ๋ถ์ฐ๋์ด ์ ๊ทผ์ฑ์ด ๋ฎ์ต๋๋ค.
์ด ํ๋ก์ ํธ๋ AI ์๋ฒ ๋ฉ ๊ธฐ๋ฐ ์ถ์ฒ ์์คํ ์ผ๋ก ์ฌ์ฉ์์ ํ๋ ํจํด์ ํ์ตํ์ฌ ๊ฐ์ธ์๊ฒ ์ต์ ํ๋ ์ ๊ธฐ๋๋ฌผ์ ์ถ์ฒํ๊ณ , ์ ๊ตญ ๋ณดํธ์ ์ ๋ณด๋ฅผ ํ ๊ณณ์์ ์กฐํํ ์ ์๊ฒ ํฉ๋๋ค.
์ฃผ์ ๊ธฐ๋ฅ:
-
์ฌ์ฉ์ ํ๋ ํ์ต ๊ธฐ๋ฐ AI ์ถ์ฒ
-
์ง์ญ/ํ์ข /๋์ด๋ณ ์ ๊ธฐ๋๋ฌผ ๊ฒ์
-
์ ์ ๊ด๋ จ RAG ์ฑ๋ด
-
์นด์นด์ค ์์ ๋ก๊ทธ์ธ
์ ์ฉํ ์ค๊ณ:
-
@RestControllerAdvice๋ก ์ ์ญ ์์ธ ์ฒ๋ฆฌ -
๋น์ฆ๋์ค ์์ธ(
GeneralException)์ ์์คํ ์์ธ ๊ตฌ๋ถ -
์ฌ์ฉ์ ์นํ์ ์ธ ์๋ฌ ๋ฉ์์ง ํต์ผ
์์ฝ(Summary)
PR ์ ํ
๊ณต์ ์ฌํญ to ๋ฆฌ๋ทฐ์ด
PR Checklist
์ ์ฉํ ๊ท์น:
feat/#์ด์๋ฒํธ: ๊ธฐ๋ฅ ์ถ๊ฐ
fix/#์ด์๋ฒํธ: ๋ฒ๊ทธ ์์
refactor/#์ด์๋ฒํธ: ๋ฆฌํฉํฐ๋ง
ํจ๊ณผ:
-
์ปค๋ฐ ํ์คํ ๋ฆฌ๋ง ๋ด๋ ํ๋ก์ ํธ ์งํ ์ํฉ ํ์ ๊ฐ๋ฅ
-
์ด์ ๋ฒํธ๋ก ๋งฅ๋ฝ ์ถ์ ์ฉ์ด
-
๋์ค์ ํน์ ๊ธฐ๋ฅ ์ฐพ์ ๋ ๊ฒ์ ํธ๋ฆฌ
๋ชฉํ: ๊ณ์ธต ๊ฐ ์์กด์ฑ์ ๋ช ํํ ํ์ฌ ์ ์ง๋ณด์์ฑ ํฅ์
์ ์ฉํ ๊ตฌ์กฐ:
api (Controller, DTO) <- ์ธ๋ถ ์ธํฐํ์ด์ค
application (Service) <- ๋น์ฆ๋์ค ๋ก์ง
domain (Entity, Repository) <- ํต์ฌ ๋๋ฉ์ธ
๊ฒฐ๊ณผ:
-
๊ฐ ๊ณ์ธต์ ์ฑ ์์ด ๋ช ํ
-
ํ ์คํธ ์์ฑ ์ฉ์ด
-
์๋ก์ด ๊ธฐ๋ฅ ์ถ๊ฐ ์ ์ํฅ ๋ฒ์ ์ต์ํ
- Java 21, Spring Boot 3.5.7
- JPA + QueryDSL
- Spring Security + JWT
- MySQL 8.0
- AWS EC2, S3
- Docker, GitHub Actions (CI/CD)
-
๊ณต๊ณต ๋ฐ์ดํฐ ํฌํธ (์ ๊ธฐ๋๋ฌผ API)
-
Upstage Solar (RAG)
-
Kakao OAuth 2.0
GET /api/animals # ์ ๊ธฐ๋๋ฌผ ๊ฒ์
GET /api/animals/{id} # ์์ธ ์กฐํ
POST /api/animals/interests # ์ฌ์ฉ์ ๊ด์ฌ ๊ธฐ๋ก
GET /api/recommendations # AI ์ถ์ฒ
POST /api/rag/chat # ์ฑ๋ด ๋ํ
GET /api/auth/kakao # ๋ก๊ทธ์ธ