ํ์ ๊ฐ์์ ์ฝ๋ ๋ฆฌ๋ทฐ ์คํ์ผ์ ์ ์ด์ฃผ์ธ์ 
1. ํ์ ๊น ๋ ํฌ์งํ ๋ฆฌ๋ฅผ ํ๋์ ๋ณผ ์ ์๊ฒ ๋งํฌ ์์ฑํ๊ธฐ
2. ๋ณธ์ธ์ด ์๊ฐํ๋ ์ฝ๋ ๋ฆฌ๋ทฐ ํต์ฌ์ด ๋ฌด์์ธ์ง ๊ณ ๋ฏผํ๊ธฐ
3. ์ด๋ค ์ ์ ์ค์ ์ผ๋ก ์ฝ๋ ๋ฆฌ๋ทฐ์ ์ํ ๊ฒ์ธ์ง ๋ฑ์ ์์ฑํด์ฃผ์ธ์!
GitLab Repository
์กฐ์์ง | @coastbyn | |
๊นํฌ์ | @hjx66 | |
๋ฐฑ์น๊ทผ | @geunnseung | |
์กฐ๋ฌธ์ฃผ | @mooonju | |
์ด์ํ | @tkdtkd975 | |
๊น๋ฏผ๊ฒฝ | @minry20415 |
์กฐ์์ง
์กฐ๋ฌธ์ฃผ
๊นํฌ์
์ด์ํ
๊น๋ฏผ๊ฒฝ
๋ฐฑ์น๊ทผ
์ฐ๋ฆฌ ํ์ ์ฝ๋ ๋ฆฌ๋ทฐ ๊ฐ์ด๋๋ฅผ ์ธ์๋ด ์๋ค!
์ฐธ๊ณ ์๋ฃ1) https://tech.kakao.com/2022/03/17/2022-newkrew-onboarding-codereview/
์ฐธ๊ณ ์๋ฃ2) https://2jinishappy.tistory.com/337
์ฐธ๊ณ ์๋ฃ3) https://techblog.woowahan.com/2712/
์๋จ ์๋ฃ๋ค์ ์ฐธ๊ณ ํ์ฌ ์ฐ๋ฆฌ ํ๋ง์ ์ฝ๋ ๋ฆฌ๋ทฐ ๊ฐ์ด๋๋ฅผ ์์ฑํด์ฃผ์ธ์!
ย Check-List
๋ณ์, ํด๋์ค, ๋ฉ์๋ ๋ฑ์ ์ด๋ฆ์ ์๋๊ฐ ๋ช
ํํ๋ค.
์ฃผ์์ผ๋ก ์ถฉ๋ถํ ์ดํดํ ์ ์๋ค.
์ค๋ณต, ๋ถํ์ํ ์ฝ๋๋ ์ฃผ์, ์คํ๊ฐ ์๋ค.
๋ฉ์๋, ํด๋์ค๊ฐ ๋
๋ฆฝ์ ์ด๋ฉฐ, ์ฌ๋ฐ๋ฅด๊ฒ ์ฌ์ฉ๋๊ณ ์๋ค.
๋ฒ๊ทธ, ์ฑ๋ฅ, ๋ณด์์ ๋ฌธ์ ๋์ง ์๋๋ค.
ย ๋ฆฌ๋ทฐ์ด์ ์์ธ
1.
์๋ก๋ฅผ ๋ฆฌ์คํํ๋ ๋ง์์ ๊ฐ์ง๋ค.
2.
์ง์ ๊ณต์ ๋ฅผ ๋ชฉํ๋ก ํ๋ค.
3.
์ฌ์ํ ์๊ฒฌ์ด๋ผ๋ ์์ ๋กญ๊ฒ ์๊ฒฌ์ ์ ์ํ๋ค.
a.
์ค์ค๋ก ์๊ฐํ ์ ์๋๋ก ํผ๋๋ฐฑ์ ์ค๋ค.
b.
๊ทผ๊ฑฐ ๋๋ ์์๋ฅผ ๊ฐ์ด ์ ์ํ๋ค.
4.
์ฌ์ํ ์นญ์ฐฌ๋ ์๋์์ด ํ๋ค.
5.
์๋๋ฐฉ์ ์ฝ๋์ ๊ถ๊ธํ ์ ์ ํธํ๊ฒ ์ง๋ฌธํ๋ค.
6.
๋ณธ์ธ์ ์ฝ๋์ ์ด๋ ค์ด ๋ถ๋ถ ๋๋ ์ง์คํ ๋ถ๋ถ์ ์๋ ค์ค๋ค.
PR ์คํ์ผ ๊ฐ์ด๋
## โฃ๏ธ Motivation
-
<br>
## ๐ Key Changes
-
<br>
## ๐ฅ To Reviewers
-
Markdown
๋ณต์ฌ
โข
๋ฌด์จ ์ด์ ๋ก ์ฝ๋๋ฅผ ๋ณ๊ฒฝํ๋์ง
โข
์ด๋ค ์ํ์ด๋ ์ฅ์ ๊ฐ ๋ฐ๊ฒฌ๋์๋์ง
โข
์ด๋ค ๋ถ๋ถ์ ๋ฆฌ๋ทฐ์ด๊ฐ ์ง์คํ๋ฉด ์ข์์ง
โข
๊ด๋ จ ์คํฌ๋ฆฐ์ท
โข
ํ
์คํธ ๊ณํ ๋๋ ์๋ฃ ์ฌํญ
โข
๋๋ฌด ํ๋ฒ์ ๋ง์ด ์ฌ๋ฆฌ๋ฉด ๋ฆฌ๋ทฐํ๊ธฐ๊ฐ ํ๋ค์ด์ง๋ค.
โข
ํ๋์ ๊ธฐ๋ฅ ๊ตฌํ์ด๋ผ๋ ํ๋์ PR์ ์ฝ๋๋์ด ๋ง์์ง์ง ์๊ฒ ์๋ฏธ ์์ ๋๋ง๋ค ์๋ผ์ ์ฌ๋ฆฌ๊ธฐ
โข
์๋ฏธ์๋ ์ปค๋ฐ ๋ถ๋ฆฌํ๊ธฐ : ์ค๋ณต ์ ๊ฑฐ, ๋ถํ์ํ ์ฝ๋ ์ ๊ฑฐ, ํฌ๋งท ๋ณ๊ฒฝ ๋ฑ ์๋ฏธ ์๋ ๋ณ๊ฒฝ์ ์ปค๋ฐ์ ๋ฐ๋ก ๋ด์ด์ฃผ๊ธฐ
๋๋ฅ๋ฝ์์ ์ฝ๋๊ฐ์ด๋
DTO์ ์ฌ์ฉ
โข
๋ฒ์
โฆ
controller
ย sevice
โข
๋ค์ด๋ฐ, ๋ถ๊ธฐํ๋ ๊ธฐ์ค
โ ํ๋ก์ ํธ์ ๋ฐ๋ผ ๋ค๋ฅผ ๋ฏ
โข
Entity์์ ๋ณํ ๋ฉ์๋ ์์น
โฆ
DTO์ ๋ฃ๊ธฐ
ํ๋ก์ ํธ ๊ตฌ์ฑ
โข
ํจํค์ง ๊ตฌ์กฐ
โฆ
configuration
โฆ
domain
โช
entity
โช
dto
โข
user
โข
post
โข
response
โฆ
controller
โฆ
service
โฆ
repository
โฆ
security
โฆ
exception
โฆ
utils
์ฐ๋ฆฌ ํ์ 1์ธ๋น ์ฝ๋ ๋ฆฌ๋ทฐ ์ต์ ์๊ฐ์?
์ด๋ค ์์ผ๋ก ์ฝ๋๋ฆฌ๋ทฐ๋ฅผ ์งํํ ๊ฒ์ธ์ง ๋จ๊ณ๋ณ๋ก ๊ณ ๋ฏผํ์ฌ ์ฝ๋ ๋ฆฌ๋ทฐ ์๊ฐ์ ์ ํด์ฃผ์ธ์!
โข
1์ธ๋น 50๋ถ (30๋ถ ์ฝ๋ ๋ฆฌ๋ทฐ ๋๊ธ ์์ฑ + 15๋ถ ๋งํ๊ธฐ)
โข
12/28 :
๋ฆฌํฌ์งํ ๋ฆฌ ํ๋ ํ์ ์ ์ฒด๋ฅผ ์ฌ๋ฆฌ๊ณ commit์ ๋๊ธ ๋ฆฌ๋ทฐ ๋จ๊ธฐ๊ธฐ
โข
์์นจ 11์ : ๋งค์ผ 1์๊ฐ
โข
1์ธ๋น 10๋ถ๋ด์ธ
โข
PR์ด ์ฌ๋ผ์ค๋ฉด ๋ค์๋ ์์นจ ๋ฆฌ๋ทฐ์๊ฐ ์ ๊น์ง ๋ฆฌ๋ทฐ๋ฅผ ์์ฑํ๋ค.
โข
PR ๋ง๊ฐ ์๊ฐ : ์ค์ 9์
์ฝ๋ ๋ฆฌ๋ทฐ ์๋ฃ ํ์ธ์ ์ด๋ป๊ฒ ์งํํ ๊น์?
1. ์ด๋ค ํ๋ซํผ์ ์ฌ์ฉํด์ ์ด๋ป๊ฒ ์ํตํ ์ง
2. ํ์ธ ์์ฒญ ๋ฉ์์ง๋ ์ด๋ป๊ฒ ๊ตฌ์ฑํ ์ง
3. ํ์ธ ํ ์ฝ๋ ๋ฆฌํฉํ ๋ง์ ์ด๋ป๊ฒ ์งํํ ์ง ๋ฑ์ ๊ณ ๋ฏผํ์ฌ ์์ฑํด์ฃผ์ธ์!
1.
GitLab
a.
issue ์์ฑ
2.
template
โ ์ถํ ๋
ผ์ ํ ํ
ํ๋ฆฟ ๊ฒฐ์ ์์
3.
์ฝ๋ ๋ฆฌํฉํ ๋ง
โข
3๋ช
ํ์ผ๋ก ๋ฆฌํฉํ ๋ง ํ ํ์ธ
โข
UPDATE : saveAndFlush()
โฆ
save()๋ ์์์ฑ ์ปจํ
์คํธ์ ์ ์ฅ๋๊ณ , saveAndFlush()๋ DB์ ๋ฐ๋ก ๋ฐ์๋จ (save() + flush())
โข
@PrePersist
โข
@Index(name = "post_id_idx", columnList = "post_id") // ์ด๊ฑด ๋ญ๊น?
@Table(name = "comment", indexes = {
@Index(name = "post_id_idx", columnList = "post_id")
}
Java
๋ณต์ฌ
โข
CommentRequest์์๋ง @NoArgsConstructor๊ฐ ํ์ํ ์ด์
โฆ
ํฌ์คํธ๋ ์ ์ ๋ ์์ด๋ ๋จ
โข