- ์๋ ์๊ตฌ์ฌํญ์ ๋ด์ฉ์ ์ง์ ๊ธฐ์ ํ์ ๋ ์ข๊ณ , ๋งํฌ๋ก ๊ณต์ ํด์ฃผ์ ๋ ์ข์ต๋๋ค.
-
์ฝ๋์ปจ๋ฒค์ ๋ฌธ์๋ฅผ ๊ณต์ ํด์ฃผ์ธ์
-
๊น ๋ธ๋์น ์ ๋ต ๊ด๋ จ ๋ฌธ์๋ฅผ ๊ณต์ ํด์ฃผ์ธ์
- ์์ ์ ์์ํ๊ธฐ ์ issue(Todo)๋ฅผ ์์ฑํ๋ค.
- ์์ ์ ์์ํ๊ณ In Progress๋ก ์ด๋ํ๋ค.
- ์์
์ ๋ง์น ํ PR์ ํ๋ค.
- assignee(reviewer)๊ฐ ์๋ ๊ฒฝ์ฐ ๋ฆฌ๋ทฐ๋ฅผ ๋ฐ์ํด์ ๊ฐ์ ํ๋ค.
- assignee(reviewer) ์๋ ๊ฒฝ์ฐ ๋ค๋ฅธ ์ฌ๋์ ์ฝ๋๋ผ ์๊ฐํ๊ณ ์ ํ ๋ฆฌ๋ทฐ๋ฅผ ํ๋ค.
- Approve๊ฐ ๋์์ผ๋ฉด ์ค์ฟผ์ ๋จธ์ง์ ํจ๊ป issue๋ฅผ ๋ซ๋๋ค.
- ์ดํ ํด๊ฒฐํ ์ด์๋ฅผ Done์ผ๋ก ์ด๋ํ๋ค.
- Google Java Style Guide ๋ฅผ ๋ฐ๋ฅธ๋ค.
- AngularJS Git Commit Message Conventions ๋ฅผ ๋ฐ๋ฅธ๋ค.
- Git-flow ๋ฅผ ๋ฐ๋ฅธ๋ค.
- Restfulํ๊ฒ ์ค๊ณํ๋ค.
- ์์(Resource)๋ URI๋ก ํํํ๋ค.
- ํ์(Verb)๋ HTTP Method๋ก ํํํ๋ค.
- ์์(Resource)์ ๋ณต์ํ์ผ๋ก ํ์ํ๋ค.
- ์์)
/orders
- ์์)
- ์ฌ๋ฌ ๋จ์ด๋ก ์ด๋ฃจ์ด์ง ๊ฒฝ์ฐ ํ์ดํ์ ์ฌ์ฉํ๋ค. (Kebab Case)
- ์์)
/delivery-orders
- ์์)
- ์ปฌ๋ ์ ์ ํํฐ๋ง ํ ๊ฒฝ์ฐ ์ฟผ๋ฆฌ ํ๋ผ๋ฏธํฐ๋ฅผ ์ฌ์ฉํ๋ค.
-
DTO ๊ตฌ์ฑ
XXXRequest
,XXXResponse
ํํ๋ก ํด๋์ค๋ช ์ ์์ฑํ๋ค.
-
ํจํค์ง ์ค๊ณ ๊ธฐ์ค
- ๋ฐ์ด๋๋ ์ปจํ
์คํธ ๊ธฐ์ค์ผ๋ก ํจํค์ง๋ฅผ ๋ถ๋ฆฌํ๋ค. ์ปจํ
์คํธ๋ณ๋ก ์๋์ ๊ฐ์ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง๋ค.
- ui
- application
- domain
- infra
- exception
- dto
- Entity, Repository๋ domain layer์ ์์นํ๋ค.
- RepositoryImpl, ์ธ๋ถ์์ ํต์ ์ ์ํ Client ๋ฑ์ infra layer์ ์์นํ๋ค.
- exception์๋ ๊ฐ ์ปจํ ์คํธ์์ ์ฌ์ฉ๋ ์ปค์คํ ์์ธ๊ฐ ์์นํ๋ค.
- ๋ฐ์ด๋๋ ์ปจํ
์คํธ ๊ธฐ์ค์ผ๋ก ํจํค์ง๋ฅผ ๋ถ๋ฆฌํ๋ค. ์ปจํ
์คํธ๋ณ๋ก ์๋์ ๊ฐ์ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง๋ค.
-
๊ฐ์ฒด ์ฐธ์กฐ
- ๊ฐ์ aggregate๋ด์์๋ ๊ฐ์ฒด๋ฅผ ์ง์ ์ฐธ์กฐํ๋ค.
- ๋ค๋ฅธ aggregate์ ์ํฐํฐ๋ฅผ ์ง์ ์ฐธ์กฐํ์ง ์๊ณ ID๋ก ๊ฐ์ ์ฐธ์กฐํ๋ค.
- ์ฌ๋ฌ aggregate๋ฅผ ํ์๋ก ํ๋ ๋ก์ง์ ๋๋ฉ์ธ ์๋น์ค์์ ๊ตฌํํ๋ค.
- 1:N ๊ด๊ณ์์ ๋น์ฆ๋์ค ๋ก์ง ์ 1์์ N์ ์ ๊ทผํด์ผํ ๊ฒฝ์ฐ
@OneToMany
- cascade = CascadeType.PERSIST
- ophanRemoval = true
- ๊ทธ ์ธ์๋
@ManyToOne
์ ํตํด ์ฐ๊ด๊ด๊ณ๋ฅผ ์ค์ ํ๋ค.
- ์ด๋ฒคํธ์คํ ๋ฐ ๋ด์ฉ์ ๊ณต์ ํด์ฃผ์ธ์
challenage-course-1๊ธฐ ์ฌ๋ PR ์๋ฆผ ๋ฉ์์ง์ ๋๊ธ๋ก ๋งํฌ ๊ณต์ ํ์ต๋๋ค.
- challenage-course-1๊ธฐ ์ฌ๋ PR ์๋ฆผ ๋ฉ์์ง์ ๋๊ธ๋ก ๋งํฌ ๊ณต์ ํ์ต๋๋ค.