-
Notifications
You must be signed in to change notification settings - Fork 0
๐ BE ๊ฐ๋ฐ ์ปจ๋ฒค์ v1.4
Projects
์์ ์ด์๋ฅผ ์์ฑํ๋ค.
---
name: ์๋ก์ด ๊ธฐ๋ฅ
about: feat
title: "[BE-FEAT]"
labels: BE_FEAT
assignees: ''
---
โจ Description
---
- ๊ธฐ๋ฅ์ ๋ํ ํ ์ค ์ค๋ช
์ ์์ฑ ํด์ฃผ์ธ์.
โจ Task
---
- [ ] ๊ธฐ๋ฅ ์ธ๋ถ ์๊ตฌ ์ฌํญ์ ๋ํด ์์ฑ ํด์ฃผ์ธ์.
โจ Time
---
- ์์ ์์ ์๊ฐ์ ์์ฑ ํด์ฃผ์ธ์.
---
name: "๋ฒ๊ทธ ์์ \\U0001F41C "
about: fix
title: "[BE-FIX]"
labels: BE_FIX
assignees: ''
---
๐ description
---
- ํด๋น ๋ฒ๊ทธ์ ๋ํ ์ค๋ช
์ ํ ์ค๋ก ์์ฑํด์ฃผ์ธ์.
๐ file
---
- ๋ฒ๊ทธ์ ๊ด๋ จ๋ ์บก์ณ ๋ฐ ์ธ๋ถ ์ค๋ช
์ ์ถ๊ฐ์ ์ผ๋ก ํ์ํ๋ค๋ฉด ์์ฑํด์ฃผ์ธ์.
๐ time
---
- ๊ณ ์น๊ธฐ๊น์ง ์์ ์์ ์๊ฐ
## ๐ PR ํ์ธ ์ฌํญ
PR์ด ๋ค์ ์๊ตฌ ์ฌํญ์ ์ถฉ์กฑํ๋์ง ํ์ธํ์ธ์. :
- [ ] API ๋ช
์ธ์๊ฐ ์
๋ฐ์ดํธ ํน์ ์์ฑ์ด ๋์ด ์๋์?
## ํ์ฌ ์์
์ ์ด๋ค ์ด์๋ฅผ ํด๊ฒฐํ ๊ฒ์ธ์ง ์ค๋ช
ํด์ฃผ์ธ์.
> Issue Number: {๋ฒํธ}
- ์ด์์ ์๋ ํ์คํฌ ๋ค์ ๋ถ์ฌ๋ฃ์ด์ฃผ์ธ์.
## ๊ธฐ์กด ์ฝ๋์ ๋ฌ๋ผ์ง ์ ์ด ์๋ค๋ฉด ์ค๋ช
ํด์ฃผ์ธ์.
- [ ] ์์
- [ ] ์์
๐ฅ ํ์์๊ฒ PR์ ์์ฑํ์์ ์๋ ค์ฃผ์ธ์!
๋ฐ๋์ PR์ ์์ฑ ํ์ ๊นํ๋ธ์์ ๋ฆฌ๋ทฐ ์์ฒญ์ ๋ ๋ฆฐ ํ,
PR ์๋ฆผ ํ
ํ๋ฆฟ
์ ๋ง์ถฐ์ backend-hook
์ ๋ชจ๋์๊ฒ ์๋ ค์ฃผ์ธ์!
Assignees
: ๊ธฐ๋ฅ์ ๊ตฌํํ ๋ณธ์ธ์ ํ๊ทธํ๋ค.
Label
: ๊ธฐ๋ฅ ํ์
(BE-Feat
, BE-fix
โฆ ํ์ํ๋ค๋ฉด BE-{ํ๊ทธ}
์ด๋ฆ์ผ๋ก ์ถ๊ฐ)
๐ PR์ด ๋์ฐฉํ์ด์!
๊ธฐ๋ฅ ๋ด์ฉ :
(PR ๋งํฌ)[]
- ์ปค๋ฐ์ ๊ธฐ๋ฅ ๋จ์๋ก ์งํํ๋ค.
- ๊ธฐ๋ฅ์ ์ต๋ํ ์๊ฒ ํ๋ค.
- ์ปค๋ฐ์ ํด๋น ๊ธฐ๋ฅ์ ๋ํ ํ ์คํธ๋ฅผ ํฌํจํ๋ค.
- ์ปค๋ฐ ๋ฉ์์ง๋ ์๋์ ํ์์ ๋ฐ๋ฅธ๋ค.
feat: {๊ตฌํํ ๊ธฐ๋ฅ์ ๋ํ ์ค๋ช
} ๊ธฐ๋ฅ
docs: {์์ฑํ ํ์ผ์ ๋ํ ์ค๋ช
} ์์ฑ/์์
- ํ๊ทธ๋ ์๋๋ฅผ ์ฐธ๊ณ ํ๋ค.
Tag Name | Description |
---|---|
feat | ์๋ก์ด ๊ธฐ๋ฅ์ ์ถ๊ฐ |
fix | ๋ฒ๊ทธ ์์ |
hotfix | ๊ธํ๊ฒ ์น๋ช ์ ์ธ ๋ฒ๊ทธ๋ฅผ ๊ณ ์ณ์ผํ๋ ๊ฒฝ์ฐ |
style | ์ฝ๋ ํฌ๋งท ๋ณ๊ฒฝ, ์ธ๋ฏธ ์ฝ๋ก ๋๋ฝ |
refactor | ํ๋ก๋์ ์ฝ๋ ๋ฆฌํฉํ ๋ง |
docs | ๋ฌธ์ ์์ (๋ฆฌ๋๋ฏธ ๋ฑ) |
test | ํ ์คํธ ์ฝ๋, ๋ฆฌํํ ๋ง ํ ์คํธ ์ฝ๋ ์ถ๊ฐ, Production Code(์ค์ ๋ก ์ฌ์ฉํ๋ ์ฝ๋) ๋ณ๊ฒฝ ์์ |
rename | ํ์ผ ํน์ ํด๋๋ช ์ ์์ |
remove | ํ์ผ์ ์ญ์ ํ๋ ์์ ๋ง ์ํํ ๊ฒฝ์ฐ |
build | yml, gradle๊ณผ ๊ฐ์ |
๋น๋ ๊ด๋ จ ํ์ผ ์์ | ย |
chore | ์ด๋์ ๋ฃ๊ธฐ๋ ์ ๋งคํ ์ก์ผ (ํ์ผ ์ด๋) |
- ์ด๋ฏธ ๋ง๋ค์ด์ง
BE-Work-Board
๋ฅผ ํ์ฉํ๋ค. -
Issue
๋ฅผ ์์ฑ ํ, ํด๋น ๊ธฐ๋ฅ์ ๊ฐ๋ฐํ๊ณ ์์ ๊ฒฝ์ฐInProgress
๋ก ์ฎ๊ธด๋ค.
๋ฐ๋์ be/**
๋ฐฉ์์ผ๋ก ์ฌ์ฉํ๋ค.
be/{ํ๊ทธ}/#{์ด์๋ฒํธ}-{CRUD}-{๋๋ฉ์ธ์ด๋ฆ}-api
ex) be/feat/#123-post-pokemon-api
, be/fix/#124-post-pokemon-api
๐ฅ
main
,be-develop
,be-feat/
์ด ์กด์ฌํ๋ค.
be-develop
์์ ์์
๋ธ๋์น๋ฅผ ์์ฑํ๋ค.
branch
๋ฅผ ์์ฑํ์ฌ ์์
ํ๋ ๊ฒฝ์ฐ ์ด์ ๊ฐ์ ๊ณผ์ ์ ๋ฐ๋ฅธ๋ค.
-
branch
๋ฅผ ์์ฑํ๊ธฐ ์ git pull
์ ํตํดdevelop
์ ์ ๋ฐ์ดํธ ํ๋ค. - ๋ธ๋์น๋ฅผ ๋ค์ด๋ฐ์ ๋ง๊ฒ ์์ฑํ๋ค.
-
git fetch
๋ฅผ ํตํ์ฌ ๋ฐ์ํ๋conflict
๋ฅผ ํ์ธํ๋ค. -
git pull --rebase [์๊ฒฉ ์ ์ฅ์] [๋ธ๋์น]
๋ช ๋ น์ด๋ฅผ ํตํด ๋ฆฌ๋ฒ ์ด์ค ํ์ฌ ํด๊ฒฐํ๋ค. - ๋ณ๊ฒฝ์ฌํญ๋ค์
commit
ํ์push
ํ๋ค. -
merge
ํ ๋จธ์ง๋ ๋ธ๋์น๋ฅผdelete
ํ๋ค.
- ๋น ๋ฅธ ๋ฆฌ๋ทฐ๋ฅผ ์ํด ์ง์ค์ ์ผ๋ก ์์ฑํ๋ค.
- ์ฌ๋ฌ๊ฐ๋ฅผ ๋ค๋ ๊ฒฝ์ฐ
pending
ํ ํ๋ฒ์ ๋ณด๋ธ๋ค. - ๋ฆฌ๋ทฐ๋ ์ต๋
24
์๊ฐ, ์ฃผ๋ง์ด ๋ผ์ด์๋ ๊ฒฝ์ฐ36
์๊ฐ ์์ ์งํํ๋ค. - ๋ฆฌ๋ทฐ๋ ํ์ ๋ชจ๋์๊ฒ ๋ฐ๋๋ค. ์ฝ๋์ ๋ฌธ์ ๊ฐ ์๊ธธ ๊ฒฝ์ฐ ๋ชจ๋์ ์ฑ ์์ผ๋ก ํจ๊ป ํด๊ฒฐํ๋ค.
๋จ, ๋ฌธ์ ์ง์ ์ ๋ฐ๋์ ๋ฌธ์ ์์ธ๊ณผ ๊ทธ ๋์์ ๊ฐ์ด ์์ฑํ๋ค.
๋ํ ์ด๋ชจ์ง๋ฅผ ํ๋ ์ด์ ํฌํจํ๋๋ก ํ๋ค.
๐ฅ ๋จ ๋ฐ๊ณผ ๊ฐ์ ์์๋ ์ด๋ชจ์ง๋ก ์ทจ๊ธํ์ง ์๋๋ค.
ex) ๐ด๐โญ๏ธ๐ฅ๐ย ๋น์ ์ฝ๋ ๊ตฌ๋ ค์ ๐๐ธ๐ซ๐๐ ๐ย ๊ตฌ๋ ค์
- ํฐ ๋๋ฉ์ธ์ ์ค์ฌ์ผ๋ก ํด๋๋ฅผ ๊ตฌ๋ถํ๋ค. (pokemon, ability, type ....)
-
์ฒ์์๋ ์์ฑ์๋ง ์ฌ์ฉํ๋ค
- ์ดํ Builder๊ฐ ํ์ํ๋ค๋ฉด**, ํ์๊ณผ ์ ๋ถ ํฉ์ ํ** ๋ฆฌํฉํ ๋งํ๋ค.
-
์ ์ ํฉํ ๋ฆฌ ๋ฉ์๋๋ ์ธ ์ ์์ง๋ง,
Dto
์๋ง ์ฌ์ฉํ๋ ๊ฒ์ ๊ถ์ฅํ๋ค.๋ง์ฝ ์ํฐํฐ์ ์ฐ๊ธฐ ์์ํ๋ค๋ฉด ์ด๋ **ํ์๊ณผ ์ ๋ถ ํฉ์**ํ๋ค.
-
Record
๋Dto
์์๋ง ์ฌ์ฉํ๋ค. - ์ด๋ ธํ ์ด์ ์ ๊ธด ๊ฒ์ด ๊ฐ์ฅ ๋ฐ์ ๊ฐ๋๋ก ์ ๋ ฌํ๋ค.
- ๋ค๋ง `@Override` ๊ฐ์ ์ด๋ ธํ ์ด์ ๋ค์ ๊ฐ์ฅ ์์ ๊ฐ๋๋ก ์ ๋ ฌํ๋ค.
- ๋งค๊ฐ๋ณ์์ ๊ธธ์ด๊ฐ | ํ์ ์ ์ ๋์ด๊ฐ๋ ๊ฒฝ์ฐ ๋งค๊ฐ๋ณ์ ์ฌ์ด์ ํ์นธ์ฉ ๋๋ค.
-
private
๋ฉ์๋๋ ์ฌ์ฉํ๋ ๊ณณ ๋ฐ๋ก ์๋์ ๋๋ค.- ๋จ, ํด๋น ๋ฉ์๋๊ฐ ์ฌ๋ฌ ๊ณณ์์ ๊ณตํต์ผ๋ก ์ฌ์ฉ๋๋ ๊ฒฝ์ฐ ํด๋์ค ์ ์ผ ํ๋จ๋ถ์ ๋๋ค.
-
- ๊ฐํ์
return
๋ฌธ ์ ์ ๋ฐ๋์ ํ์นธ ๋์ด๋ค.- ๊ทธ๋ฌ๋ ๋ฉ์๋ ๋ด๋ถ๊ฐ
return
๋ฌธ ํ๋ ๋ฟ์ด๋ผ๋ฉด ํ์นธ์ ๋์ฐ์ง ์๋๋ค.
- ๊ทธ๋ฌ๋ ๋ฉ์๋ ๋ด๋ถ๊ฐ
- ์ฒ์ ๋ฉ์๋๋ฅผ ์์ํ ๋๋ ๊ฐํ์ ์ฌ์ฉํ์ง ์๋๋ค.
- ์ฒซ ๋ผ์ธ์ ๊ฐํ์ ํ๋ค.
- ๋ง์ง๋ง ๋ผ์ธ์ ๊ฐํ์ ํ์ง ์๋๋ค.
- ์ด๋ ธํ ์ด์ ์ด ๋ถ์ ํ๋ ์ฌ์ด์์๋ ๊ฐํ์ ํ๋ค.
- ์ด๋ ธํ ์ด์ ์ด ์๋ถ์ ํ๋ ์ฌ์ด์์๋ ๊ฐํ์ ํ๋ค.
- ๋ฉ์๋ ์ฌ์ด์ ๊ฐํ์ ํ๋ค.
- ์ํ ์ฝ๋ ๋ณ๋ก ๊ฐํ์ ํ๋ค.
-
Dev
-
None
์Default
๋ก ํด๋๋๋ค. -
๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ณ๊ฒฝ์ฌํญ์ด ์๋ ๊ฒฝ์ฐ, ์ฟผ๋ฆฌ๋ก ์ง์ ์์ฑํ์ฌ ๋ฐ์ํ ํ ์ฝ๋์๋ ๋ฐ์ํ๋ค.
- ์ดํ
Validation
์ผ๋ก ๋ณ๊ฒฝ ํ ์ฝ๋์์ ์ฐจ์ด๊ฐ ์๋ ๊ฒ์ ํ์ธ ํNone
์ผ๋ก ๋ณ๊ฒฝํ๋ค. - ๋ฐ๋์ ํด๋น ์์ ์ ์งํํ ํ ํ์์๊ฒ ์๋ฆฐ๋ค.
- ์ดํ
-
-
Test
- ์ํ๋ ์ค์ ๊ฐ์ ์ฌ์ฉํ๋ค.
- ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ๋ก์ปฌ์์ ๊ฐ์์ MySQL์ ์ฌ์ฉํ๋ค.
๐ฅ ๊นํ๋ธ ์๋ธ ๋ชจ๋์ ์ฌ์ฉํ๋ค.
๋ฏธ์์ ์ค๋ช ์ ๋ฃ๊ณ 4์ธ ํ์ด์์ ์ค์ต ํ ์ต์ข ๊ฒฐ์ ํ๋ค.
-
DisplayName
ํ๊ธ, ๋ฉ์๋ ์ด๋ฆ ์์ด- ๊ธฐ๋ฅ์ด ํ๋ ์ผ์ ์์ธํ๊ฒ ์ค๋ช ํ๋ค.
-
~ํ๋ค.
๋ผ๋ ์ด๋ฆ์ผ๋ก ๋๋ธ๋ค.- ์ด๋ฆ : ํ ์คํธํ๋ ค๋ ๋ฉ์๋ ์ด๋ฆ์ ์ฐ๊ณ ์กฐ๊ฑด์ด ์๋ค๋ฉด ๊ทธ ๋ค์ When ์ ๋ถ์ธ๋ค.
-
TDD ๋ ํ์ง ์๋๋ค
- ๋๋ฉ์ธ์ ๋ฐ๋์ ํ ์คํธ ํ๋ค.
- ๊ฒ์ฆ ๋ก์ง ๋ฐ ์์ธ ์ฒ๋ฆฌ๋ ํ ์คํธ๋ฅผ ํ๋ค.
- Service ๋ก์ง์ ํ
์คํธ ํ๋ค.
- ๊ฒ์ฆ ๋ก์ง์ด ์์ ๊ฒฝ์ฐ == ๊ฐ๋ฐ์์ ๊ฐ์ ์ด ์์ ๊ฒฝ์ฐ ์์ฑํ๋ค.
- ์์ ๊ฐ์ ์ผ์ด์ค๊ฐ ์๋๋๋ผ๋ ์ํ๋ ๊ฒฝ์ฐ ์์ฑํด๋ ์ข๋คใ ฃ.
- Controller๋ @Valid ๋ง (์์กด์ฑ์ Mockito, @WebMvcTest)
- ์ธ์ + ํตํฉ ํ ์คํธ (์์์ ํ๋จํ์ญ์์ค.)
- Repository๋ ํ
์คํธ๋ฅผ ๋ณธ์ธ์ด ์ง์ ์ฟผ๋ฆฌ๋ฅผ ์ฐ๋ ๊ฒฝ์ฐ ํ
์คํธ (@DataJpaTest)
- ํจ๊ป ํ ์คํธ ํ ์ ์๋ค๋ฉด ํ ๋ฉ์๋์์ ํ ์ค๋ฅผ ์งํํ๋ค. (ํด๋จผ ์๋ฌ, ์ฟผ๋ฆฌ ์ ์ ์๋, ๋ฐ์ดํฐ ์์ )
- ๋ฐ์ดํฐ์ ๋ฐ๋ผ ๋๋ ์ ์๋ ์ฃ์ง ์ผ์ด์ค๋ ๋ฐ๋ก ์์ฑํ๋ค.