![]() |
![]() |
![]() |
![]() |
![]() |
| ๐๊ณฝ์ฐ์ | ๊น์ํฌ | ์๋ฏผ์ข | ์ด์๋ชจ | ์ตํ๋ฏผ |
- ๐ ON:DAM
- ๐จโ๐ป DEVELOPERS
- ๐ข ํ๋ก์ ํธ ๊ฐ์
- ๐ ๏ธ ๊ธฐ์ ์คํ
- ๐ช ์์คํ ์ํคํ ์ฒ
- ๐ก ์ฃผ์ ๊ธฐ๋ฅ
- ๐โโ๏ธ ์๊ตฌ์ฌํญ ๋ช ์ธ์
- ๐ WBS
- ๐ญ DDD ์ค๊ณ
- ๐๏ธ DB ๋ชจ๋ธ๋ง
- ๐ผ๏ธ ํ๋ฉด ์ค๊ณ
- ๐ API ๋ช ์ธ์
- ๐ฉ ๋จ์ ํ ์คํธ
- โ๐ป API TEST
- ๐ ๋ฐฐํฌ
- ๐ ํฅํ ํ์ฅ ๊ณํ
- ๐ฆ ํ๋ก์ ํธ ์๊ฐ
ON:DAM์ ์๋ด์ฌ๊ฐ ์๋ด ๋ด์ฉ์ ๋น ๋ฅด๊ฒ ๊ธฐ๋กํ๊ณ , ๋ด๋ด์์ ๊ฐ์ ์ AI๊ฐ ๋ถ์ํ์ฌ ์๊ฐํํด์ฃผ๋ ํ๋ซํผ์
๋๋ค.
์๋ด ๋ด์ฉ์ AI์๊ฒ ์ ๋ฌํ๋ฉด ์์ฝ๊ณผ ๊ฐ์ ํ๋ฆ ๋ถ์์ด ์๋์ผ๋ก ์ด๋ฃจ์ด์ง๋๋ค.
๋ํ, ์๋ด์ฌ๋ค๋ผ๋ฆฌ ๋๋ค ์ผ๊ธฐ๋ฅผ ํตํด ์๋ก ๊ต๋ฅํ๊ณ ์ ์์ ์ง์ง๋ฅผ ๋๋ ์ ์์ต๋๋ค.
๋ด๋ด์์ ๊ฐ์ ๋ฐ์ดํฐ์ ์๋ด ๋ด์ฉ์ ํ ๋๋ก ๋ ๋์ ์๋ด์ ์ด์ด๊ฐ ์ ์๋๋ก ๋์ต๋๋ค.
- ์๋ด ๊ธฐ๋ก๊ณผ ์ ๋ฆฌ์ ๋ํ ์๋ด์ฌ์ ๋ถ๋ด
- ๋ด๋ด์์ ๊ฐ์ ์ ๊ฐ๊ด์ ์ผ๋ก ํ์ ํ๊ธฐ ์ด๋ ค์
- ์๋ด์ฌ ๊ฐ ๊ต๋ฅ ๋ถ์กฑ์ผ๋ก ์ธํ ์ ์์ ์์ง
- ์๋ด ๊ธฐ๋ก์ ํจ๊ณผ์ ์ผ๋ก ๊ด๋ฆฌํ๊ณ ํ์ฉํ ์ ์๋ ์์คํ ํ์
-
AI ์๋ด ์์ฝ ๋ฐ ๊ฐ์ ๋ถ์
์๋ด ๋ด์ฉ์ AI๊ฐ ์๋์ผ๋ก ์์ฝํ๊ณ ๊ฐ์ ์ ๋ถ์ํด ๋ด๋ด์์ ๊ฐ์ ํ๋ฆ์ ์๊ฐํํ๋ฉฐ, ๋ฆฌํฌํธ๋ก ์ ๊ณตํด ์๋ด์ฌ์ ์ดํด์ ์๋ด ์ค๋น๋ฅผ ์ง์ -
์ ์์ ๊ต๋ฅ๋ฅผ ์ํ ๋๋ค ์ผ๊ธฐ
์๋ด์ฌ ๊ฐ ์ต๋ช ์ผ๊ธฐ๋ฅผ ํตํด ์๋ก ์์ฐ์ค๋ฝ๊ฒ ๊ต๋ฅํ๊ณ ์ ์์ ์ง์ง๋ฅผ ์ฃผ๊ณ ๋ฐ์ ์ ์๋ ๊ธฐ๋ฅ ์ ๊ณต -
์ธ์ฆ๋ ์๋ด์ฌ๋ง ์ฌ์ฉ ๊ฐ๋ฅ
์๊ฒฉ์ฆ ํ์ธ ์ ์ฐจ๋ฅผ ํตํด ๊ฒ์ฆ๋ ์๋ด์ฌ๋ง ํ๋ซํผ์ ์ด์ฉ ๊ฐ๋ฅ
- ์๋ด์ฌ์ ์ ๋ฌด ํจ์จํ ๋ฐ ์๋ด ํ์ง ํฅ์
- ๋ด๋ด์์ ์๋ด ๋ฐ์ดํฐ ๊ธฐ๋ฐ ๋ง์ถคํ ์๋ด ๊ฐ๋ฅ
- ์๋ด์ฌ ๊ฐ ๊ต๋ฅ๋ฅผ ํตํ ์์ง ๋ฐฉ์ง ๋ฐ ๋๋ฃ ์ง์ ๊ฐํ
- ์๋ด ๋ฐ์ดํฐ ์์ฐํ๋ฅผ ํตํ ์๋น์ค ๊ณ ๋ํ ๊ธฐ๋ฐ ๋ง๋ จ
- ์๋ด์ฌ๋ ์๋ด ๋ด์ฉ์ ์ง์ ์ ๋ ฅํ๊ณ ์ ์ฅํ ์ ์์ต๋๋ค.
- ๊ธฐ๋ก๋ ์๋ด ๋ฐ์ดํฐ๋ ๋ด๋ด์๋ณ๋ก ์ ๋ฆฌ๋์ด ์๋ด์ฌ๊ฐ ์ธ์ ๋ ์ฝ๊ฒ ํ์ธํ ์ ์์ต๋๋ค.
- ์๋ด ์ด๋ ฅ์ ํตํด ์๋ด ํ๋ฆ์ ํ์ ํ๊ณ , ์๋ด ์ค๋น ์๊ฐ์ ์ค์ผ ์ ์์ต๋๋ค.
- ์ ์ฅ๋ ์๋ด ๊ธฐ๋ก์ AI๊ฐ ์๋์ผ๋ก ์์ฝํฉ๋๋ค.
- AI๋ ์๋ด ๋ด์ฉ์ ๋ฐํ์ผ๋ก ๊ฐ์ ํค์๋๋ฅผ ์ถ์ถํ๊ณ ๊ฐ์ ์ ๋ถ์ํฉ๋๋ค.
- ๋ถ์ ๊ฒฐ๊ณผ๋ ์๊ฐํ๋์ด ๋ด๋ด์์ ๊ฐ์ ํ๋ฆ์ ํ๋์ ํ์ ํ ์ ์๋๋ก ์ง์ํฉ๋๋ค.
- AI๊ฐ ๋ถ์ํ ๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ์ฐจํธ ํํ๋ก ์ ๊ณตํฉ๋๋ค.
- ์๋ด์ฌ๋ ๋ด๋ด์์ ์๋ด ๊ณผ์ ์ค ๊ฐ์ ๋ณํ๋ฅผ ์ฝ๊ฒ ํ์ ํ ์ ์์ต๋๋ค.
- ์ด๋ฅผ ํตํด ์๋ด์ ๋ฐฉํฅ์ฑ์ ์ค์ ํ๊ณ ๋ณด๋ค ํจ๊ณผ์ ์ธ ์๋ด์ ์งํํ ์ ์์ต๋๋ค.
- ์๋ด์ฌ๋ค์ ์ต๋ช ์ผ๋ก ์ผ๊ธฐ๋ฅผ ์์ฑํ ์ ์์ต๋๋ค.
- ์์ฑ๋ ์ผ๊ธฐ๋ ๋ฌด์์๋ก ๋ค๋ฅธ ์๋ด์ฌ๋ค์๊ฒ ์ ๋ฌ๋์ด ๊ณต๊ฐ๊ณผ ๋ต์ฅ์ ๋ฐ์ ์ ์์ต๋๋ค.
- ์ด๋ฅผ ํตํด ์๋ด์ฌ ๊ฐ ์์ฐ์ค๋ฌ์ด ์ ์์ ๊ต๋ฅ์ ์ง์ง๋ฅผ ๊ฒฝํํ ์ ์์ต๋๋ค.
- ON:DAM์ ์ธ์ฆ๋ ์๋ด์ฌ๋ง ์ฌ์ฉํ ์ ์๋ ์ ์ฉ ์๋น์ค์ ๋๋ค.
- ์๊ฒฉ์ฆ ํ์ธ ์ ์ฐจ๋ฅผ ํตํด ์ ๋ฌธ์ฑ์ ๊ฒ์ฆํฉ๋๋ค.
- ์ด๋ฅผ ํตํด ์์ ํ๊ณ ์ ๋ขฐํ ์ ์๋ ์๋ด ํ๊ฒฝ์ ์ ๊ณตํฉ๋๋ค.
๐ ์๊ตฌ์ฌํญ ๋ช
์ธ์ ์์ธํ ๋ณด๊ธฐ

๐ WBS ์์ธํ ๋ณด๊ธฐ

Details
๐ Ingress ์ค์ (ondam-ingress)
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: ondam-ingress
namespace: ondam
annotations:
nginx.ingress.kubernetes.io/ssl-redirect: "false"
spec:
ingressClassName: nginx
rules:
- http:
paths:
- path: /api
pathType: Prefix
backend:
service:
name: ondam-back-ser
port:
number: 8080
- path: /
pathType: Prefix
backend:
service:
name: ondam-front-ser
port:
number: 80๐ Backend Deployment (ondam-back-dep)
apiVersion: apps/v1
kind: Deployment
metadata:
name: ondam-back-dep
namespace: ondam
spec:
replicas: 1
selector:
matchLabels:
app: ondam-backend
template:
metadata:
labels:
app: ondam-backend
spec:
containers:
- name: ondam-backend
image: morris235/ondam-backend:latest
imagePullPolicy: Always
ports:
- containerPort: 8080๐ง Backend Service (ondam-back-ser)
apiVersion: v1
kind: Service
metadata:
name: ondam-back-ser
namespace: ondam
spec:
type: NodePort
selector:
app: ondam-backend
ports:
- protocol: TCP
port: 8080
targetPort: 8080
nodePort: 30083๐ Frontend Deployment (ondam-front-dep)
apiVersion: apps/v1
kind: Deployment
metadata:
name: ondam-front-dep
namespace: ondam
spec:
replicas: 1
selector:
matchLabels:
app: ondam-frontend
template:
metadata:
labels:
app: ondam-frontend
spec:
containers:
- name: ondam-frontend
image: morris235/ondam-frontend:latest
imagePullPolicy: Always
ports:
- containerPort: 80๐ง Frontend Service (ondam-front-ser)
apiVersion: v1
kind: Service
metadata:
name: ondam-front-ser
namespace: ondam
spec:
selector:
app: ondam-frontend
type: NodePort
ports:
- port: 80
targetPort: 80
nodePort: 30080๐งฉ CI/CD ๊ตฌ์ฑ ๊ฐ์
- ๋ฉํฐ ๋ ํฌ ๊ตฌ์ฑ:
frontend/,backend/๋ฅผ Git Submodule๋ก ๊ด๋ฆฌ - CI (Jenkins): ๋ณ๊ฒฝ๋ ์๋น์ค๋ง ๋น๋ ๋ฐ Docker Hub์ ์ด๋ฏธ์ง ํธ์
- CD (Argo CD): Git ์ํ์ Kubernetes ํด๋ฌ์คํฐ ์๋ ๋๊ธฐํ
- Docker: Apple Silicon ๋์ multi-arch ์ด๋ฏธ์ง ๋น๋
- Kubernetes: ๋ฌด์ค๋จ ๋ฐฐํฌ๋ฅผ ์ํ
rollout restart์ ๋ต ์ ์ฉ
๐๏ธ ์ด๊ธฐ ์๋ ๋ฐฐํฌ โ Jenkins ์๋ํ ์ ํ
build-*.sh,deploy-*.sh์ ๊ฐ์ ์คํฌ๋ฆฝํธ๋ฅผ ์ง์ ๋ง๋ค์ด ์คํ- ๋ฐ๋ณต ์์ ๊ณผ ์ค์ ๋ฐ์ ํ๋ฅ ์ค์
- ๋ช ๋ น์ด ๋ฌธ์ํ ํจ๊ณผ๋ก ์ถํ ๋ฆฌ๋ง์ธ๋ ๊ฐ๋ฅ
- Webhook ๊ธฐ๋ฐ ์๋ ํธ๋ฆฌ๊ฑฐ
- ๋ณ๊ฒฝ๋ ์๋น์ค๋ง ์ ํ์ ์ผ๋ก ๋น๋/๋ฐฐํฌ
- ๋ฌด์ค๋จ ๋ฐฐํฌ (
rollout restart) ์ง์ .yml์์ ๊น์ง ํฌํจํ์ฌ Argo CD์ ๋ฐ์ ๊ฐ๋ฅ
โ๏ธ Jenkins + Argo CD ํ์ดํ๋ผ์ธ ํ๋ฆ
- GitHub Webhook ๊ธฐ๋ฐ ํธ๋ฆฌ๊ฑฐ (main ๋ธ๋ ์น)
- ํ๋์ webhook ์ ํธ๋ก ์๋ธ๋ชจ๋๋ณ ๋ณ๊ฒฝ ๊ฐ์ง โ ํ๋ก ํธ์ ๋ฐฑ์๋ ๊ฐ๊ฐ ๋ฐฐํฌ
- Docker ์ด๋ฏธ์ง ๋น๋ ๋ฐ Push
k8s/*.yml์ด๋ฏธ์ง ํ๊ทธ ์ ๋ฐ์ดํธ ํ Git push
- Git ์ํ ๊ฐ์ง โ ํด๋ฌ์คํฐ ์ํ ์๋ ๋๊ธฐํ
- UI๋ก ๋ฐฐํฌ ์ํ ๋ชจ๋ํฐ๋ง ๋ฐ ๋กค๋ฐฑ ์ง์
๐งฑ ๋ฉํฐ๋ ํฌ ๊ตฌ์ฑ์ ์ฅ๋จ์
-
๋ ๋ฆฝ์ ์ธ ๋น๋ ๋ฐ ๋ฐฐํฌ ๊ฐ๋ฅ
- ํ๋ก ํธ ๋ณ๊ฒฝ ์ โ
frontend๋ง ๋น๋/๋ฐฐํฌ - ๋ฐฑ์๋ ๋ณ๊ฒฝ ์ โ
backend๋ง ๋น๋/๋ฐฐํฌ - Jenkins๋ ๋ฉ์ธ ๋ ํฌ ๊ธฐ์ค์ผ๋ก ํ๋์ Webhook์ ๋ฐ์ git diff๋ก ๋ณ๊ฒฝ ๊ฐ์ง ํ ํด๋น ์๋ธ๋ชจ๋๋ง ๋น๋ & ๋ฐฐํฌ
- ํ๋ก ํธ ๋ณ๊ฒฝ ์ โ
-
ํ์ ํจ์จ ์ฆ๊ฐ
- ํ์ ๊ฐ ์ฝ๋ ์ถฉ๋ ์ต์ํ
- ๊ฐ๋ฐ๊ณผ ๋ฐฐํฌ์์ ์ ๋ณ๋ ฌ์ ์ผ๋ก ์ฒ๋ฆฌ ๊ฐ๋ฅ
-
submodule ๋๊ธฐํ ์ด์
- git submodule update, status, ์ปค๋ฐ ๋๋ฝ ๋ฑ์ ์ค์ ๋ฐ์ ๊ฐ๋ฅ
- ํ๋ก ํธ/๋ฐฑ์ ์์ ํ ๋ค ๋ฉ์ธ ๋ ํฌ์์ ์ปค๋ฐ ํฌ์ธํฐ๋ฅผ ๊ฐฑ์ ํด์ผ ํ๋ ์์ ์ค๋ฒํค๋ ๋ฐ์
-
๊ตฌ์กฐ์ ๋ฌธ์
- Github Actions๋ฑ ๋ค๋ฅธ CI๋ฅผ ์ฐ๊ธฐ ์ด๋ ต๊ณ , Jenkins ์ค์ฌ ๊ตฌ์กฐ๊ฐ ๊ณ ์ฐฉ๋จ
- submodule์ด ๋์ด ๋ ์๋ก ์ ์ง๋ณด์๊ฐ ์ด๋ ค์์ง (2~3๊ฐ๊ฐ ํ๊ณ)
- ํ๋์ ํ์ดํ๋ผ์ธ์ผ๋ก N๊ฐ ์ด์์ ์๋น์ค๋ฅผ ๋ฐฐํฌํ๊ธฐ ๋๋ฌธ์ ๋ณต์ก์ฑ์ด ์ฆ๊ฐํ๊ณ ์ด๋ ฅ๊ด๋ฆฌ๊ฐ ์ด๋ ค์
๐ Argo CD๋ฅผ ํตํ ๋ฌด์ค๋จ ๋ฐฐํฌ
main๋ธ๋์น์k8s/*.yml์ด ๋ณ๊ฒฝ๋๋ฉด Argo CD๊ฐ ์๋ ๊ฐ์งkubectl rollout restart๋ช ๋ น๊ณผ ํจ๊ป ์ฌ์ฉํ๋ฉด,
Pod ๊ต์ฒด ๊ณผ์ ์์ ๊ธฐ์กด ํธ๋ํฝ์ ์ ์ง๋๋ฏ๋ก ๋ฌด์ค๋จ ๋ฐฐํฌ๊ฐ ๊ฐ๋ฅ
โ ์คํ ๊ฒฐ๊ณผ ์์ฝ
- GitHub โ
main๋ธ๋์น์ push ๋ฐ์ - Jenkins Webhook ํธ๋ฆฌ๊ฑฐ โ ํ์ดํ๋ผ์ธ ์คํ
- ๋ณ๊ฒฝ๋ ์๋น์ค๋ง ๋น๋ ๋ฐ Docker ์ด๋ฏธ์ง ์์ฑ
- DockerHub ํธ์ +
k8s/*.yml์์ ๋ฐ Git push - Argo CD๊ฐ ์๋ ๊ฐ์ง โ ํด๋ฌ์คํฐ ๋๊ธฐํ
- frontend/back ๊ฐ๊ฐ์ ๋ณ๊ฒฝ์ ๋ํด ๋ ๋ฆฝ์ , ๋ฌด์ค๋จ ๋ฐฐํฌ ์คํ
๐ฟ ๋ธ๋์น ์ ๋ต ๋ฐ ๋ฐฐํฌ ํ๋ฆ
develop: ๊ธฐ๋ฅ ๊ฐ๋ฐ ๋ฐ ํตํฉ ํ ์คํธ ์งํdeploy/dev-snapshot: ๋ฐฐํฌ ์ง์ ๋จ๊ณ์ ๊ฒ์ฆ ๋ธ๋์น
frontend/,backend/๋ ๊ฐ๊ฐ ๋ณ๋์ ๋ ๋ฆฝ ๋ ํฌ๋ก ์ด์๋จ- ๋ฉ์ธ ๋ ํฌ์ธ
be14-4th-piveguyz-ondam์๋ ๋ ๋ ํฌ๊ฐ Git Submodule๋ก ์ฐ๊ฒฐ๋์ด ์์ - ๋ธ๋์น ์ ๋ต์ ์๋ธ๋ชจ๋์์๋ ๋์ผํ๊ฒ ์ ์ฉ๋๋ฉฐ,
developโdeploy/dev-snapshotโ ๋ฉ์ธ ๋ ํฌ์ main ๋ธ๋ ์น์ ๋ฐ์ โ jenkins, Argo CD ๋ฐฐํฌ ํ๋ฆ์ผ๋ก ์ด์ด์ง
- ๊ธฐ๋ฅ์ ๊ฐ ์๋น์ค ๋ ํฌ์
develop๋ธ๋์น์์ ๊ฐ๋ฐ - ๊ธฐ๋ฅ ์๋ฃ ์
deploy/dev-snapshot๋ก ๋จธ์งํ์ฌ ๋ฐฐํฌ ๋์ ํ์ - ๋ฉ์ธ ๋ ํฌ์งํ ๋ฆฌ์ Submodule์ ์
๋ฐ์ดํธํ์ฌ
main๋ธ๋์น๋ก ์ปค๋ฐ - Jenkins โ Argo CD๋ก ์ด์ด์ง๋ ์๋ํ ๋ฐฐํฌ ํธ๋ฆฌ๊ฑฐ
- ์๋ด ์ค AI์๊ฒ ์๋ด ๋ด์ฉ์ ์ค์๊ฐ์ผ๋ก ์ ๋ฌํ๊ณ ์ฆ์ ๊ฐ์ ๋ถ์ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ์๋ณผ ์ ์๋๋ก ๊ธฐ๋ฅ์ ํ์ฅํ ๊ณํ์ ๋๋ค.
- ์ด๋ฅผ ํตํด ์๋ด์ฌ๋ ๋ด๋ด์์ ๊ฐ์ ์ํ๋ฅผ ์๋ด ์ค ๋ฐ๋ก ํ์ ํ๊ณ ํจ๊ณผ์ ์ธ ๋์์ด ๊ฐ๋ฅํด์ง๋๋ค.
- ์๋ด ๋ด์ฉ์ ์์ฑ์ผ๋ก ์ ๋ ฅํ๋ฉด ์๋์ผ๋ก ํ ์คํธ๋ก ๋ณํํ๋ ๊ธฐ๋ฅ์ ๋์ ํ ์์ ์ ๋๋ค.
- ์๋ด์ฌ๊ฐ ๋ฉ๋ชจ ์์ด ์๋ด์ ์ง์คํ ์ ์์ผ๋ฉฐ, ์ฒญ๊ฐ์ฅ์ ์๋ด์ฌ๋ ์ค์๊ฐ ์๋ด ๋ด์ฉ์ ์ฝ๊ฒ ํ์ธํ ์ ์์ต๋๋ค.
- ์๋ด ์ค ์์ฑํ ๋ฉ๋ชจ๋ ๋
ธํธ๋ฅผ ์ฌ์ง์ผ๋ก ์
๋ก๋ํ๋ฉด
AI๊ฐ ์ด๋ฏธ์ง ๋ด ํ ์คํธ๋ฅผ ์ธ์ํ์ฌ ์๋ด ๊ธฐ๋ก์ผ๋ก ์๋ ์ ๋ฆฌํ๋ ๊ธฐ๋ฅ์ ์ถ๊ฐํ ์์ ์ ๋๋ค. - ์๋ด์ฌ์ ๊ธฐ๋ก ๋ถ๋ด์ ๋์ฑ ์ค์ฌ์ฃผ๊ณ ๊ธฐ๋ก์ ์ผ๊ด์ฑ์ ๋์ผ ์ ์์ต๋๋ค.
- ์ถ์ ๋ ์๋ด ๋ฐ์ดํฐ๋ฅผ ๋ฐํ์ผ๋ก ๋ด๋ด์๋ณ ๊ฐ์ ๋ณํ ํจํด ๋ถ์๊ณผ ์๋ด ๋ฆฌํฌํธ ๊ธฐ๋ฅ์ ๊ฐํํ ์์ ์ ๋๋ค.
- ์ด๋ฅผ ํตํด ์๋ด์ฌ๋ ๋ ์ ๊ตํ๊ณ ๋ง์ถคํ๋ ์๋ด ์ ๋ต์ ์๋ฆฝํ ์ ์์ต๋๋ค.
- ๋๋ค ์ผ๊ธฐ๋ฅผ ๋์ด, ์๋ด์ฌ ๊ฐ ์๊ฒฌ ๊ตํ๊ณผ ์ง์์ ๋๋ ์ ์๋ ์ปค๋ฎค๋ํฐ ๊ธฐ๋ฅ์ ๋์ ํ ๊ณํ์ ๋๋ค.
- ์ํธ ์ง์ง๋ฅผ ํตํด ์ ์์ ์์ ๊ณผ ์ ๋ฌธ์ฑ ํฅ์์ ๋์ธ ์ ์์ต๋๋ค.
- ํ๋ก ํธ์๋ ๊ตฌํ
- ํผ๊ทธ๋ง๋ฅผ ํ์ฉํด UI/UX ๊ธฐํ ๋ฐ ์ค๊ณ
- ์๋ด ์ผ์ง ํ์ด์ง, ๋ฉ์ธ ํ์ด์ง, ์์ธ ํ์ด์ง ๋ฑ ๊ตฌํ
- ๋ฐฑ์๋ ๊ตฌํ
- GPT API๋ฅผ ์ฐ๋ํด ์๋ด ๋ถ์ ๋ก์ง ๊ตฌํ
- GPT ์๋ต ๋ฐ์ดํฐ ํ์ฑ ๋ฐ ๋ฐ์ดํฐ ์ ์ฅ
- ๊ฐ์ ๊ด๋ จ ์ ๋ณด ์ ์ฅ ๋ฐ ์์ , ์ญ์ ๊ตฌํ
- GPT API๋ฅผ ํ๋ก์ ํธ์ ์ฑ๊ณต์ ์ผ๋ก ์ฐ๋ํ๊ณ ํด๋น ๊ฒฐ๊ณผ๋ฅผ ํ๋ก ํธ ์์์ ๊ฐ๋ ์ฑ ์๊ฒ ํํํ์
- ExceptionHandler์ ์ฌ์ฉํด ์๋ฌ ์ฒ๋ฆฌ๋ฅผ ์ค์ํํด ๋ฐ๋ณต๋๋ ์๋ฌ ์ฒ๋ฆฌ ์ฝ๋๋ฅผ ๊ฐ๊ฒฐํํจ
- ํ๋ก์ ํธ ํ์, ๊ธฐํ์ ๋ฑ์ ๋ฌธ์ํ๋ก ๋ง๋ค์ด ํ์๋ค๊ณผ ๊ณต์ ํจ
- ๋ด๋น ์์ ์ ๋๋ธ ํ ๊ณตํต์ผ๋ก ์ํํด์ผ ํ ์์ ์ ๋จผ์ ๋์์ ์์ฑํจ
- ๊ธฐ๋ฅ์ ๊ฐ๋ฐํ ๋ ์ฌ์ ์ ์ค๊ณํ์ง ์๊ณ ๊ฐ๋ฐ์ ์งํํด ๊ธฐ๋ฅ์ ์์ฑํ์์๋ ์ฝ๋๋ฅผ ๋ฆฌํฉํ ๋งํ๋ ์ผ์ด ์ฆ์์
- ํ์๋ค๋ผ๋ฆฌ ์์ ์ค์ธ ์ฌํญ์ ์ค์๊ฐ์ผ๋ก ๊ณต์ ํ์ง ๋ชปํ ๊ฒ์ด ์์ฌ์ ์
- ISSUE๋ฅผ ๊ผผ๊ผผํ๊ฒ ์์ฑํ์ง ๋ชปํ ์ ์ด ์์ฌ์ ์
- ๊ธํ๊ฒ ๊ฐ๋ฐ์ ์งํํ๋ ๊ฒ๋ณด๋ค ๊ธฐํ๊ณผ ์ค๊ณ๋ฅผ ๊ผผ๊ผผํ๊ฒ ์ํํ๋ ๊ฒ์ด ์ค์ํจ์ ๋ฐฐ์ ์
- API๋ฅผ ํ์ฉํ๋ฉด์ ๋น๋๊ธฐ ์ฒ๋ฆฌ์ ์บ์ฑ์ ์ค์์ฑ์ ๋ํด ๋ฐฐ์ธ ์ ์์์
- yml ํ์ผ๋ก ๊ด๋ฆฌํ ๋ฐ์ดํฐ์ ํด๋น ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ๋ํด ๋ฐฐ์ธ ์ ์์์
- 'Jira'๋ 'Trello'๋ฅผ ์ฌ์ฉํ ์ผ์ ๊ด๋ฆฌ
- ์ ์ฒด ์์ ๋ชฉ๋ก์ ๊ณต์ ํ๊ณ ์ค์๋๋ฅผ ์ค์ ํ ํ์ ํ๋ก์ ํธ ์งํ
- ํ์ ์ ์ํ PR ์ ๋ต ์๋ฆฝ
- ์ ์ง ๋ณด์์ฑ๊ณผ ๊ฐ๋ ์ฑ์ ๊ณ ๋ คํ ์ฝ๋ ๊ตฌํ























































































































































