๐ง๐ป๐ป Sku-Deview (๊ฐ๋ฐ์ ์ปค๋ฎค๋ํฐ ์น ์๋น์ค)
โ๏ธ๊ฐ๋ฐ ์๊ธฐ: 2023.05.14 ~ 2023.09.30โ๏ธ
์ฌํด ์ด, ํ์ด์ ํ๋ก์ ํธ ์ฃผ์ ์ ์ ์์ ๋จ์ด์ก์๋ค,,
ํ์
๊ฒฝํ์ ๋๋ฌด ํ๊ณ ์ถ์๊ธฐ์ ํด๋น ํ์์์ ํ๋ช
์ ํ์๊ณผ ์ฐ๋ฝ์ ์ฃผ๊ณ ๋ฐ์ 2์ธ์ผ๋ก ํ ํ๋ก์ ํธ๋ฅผ ์งํํ ์ ์์๋ค. (์ด์ด ์ข์๋ค!)
์ด๊ธฐ์ ์ฐ๋ฆฌ๋ ํ์ด์ ํ๋ก์ ํธ ์ฃผ์ ์๋ TikTok์ ๋ ํผ๋ฐ์ค๋กํ ๊ฐ๋ฐ์ ์ปค๋ฎค๋ํฐ ์น ์๋น์ค๋ฅผ ๋ง๋๋ ๊ฒ์ด ๋ชฉํ์๋ค. ํ์ง๋ง 2๋ช ๋ชจ๋ ๊ฐ๋ฐ ๊ฒฝํ์ด ๋ถ์กฑํ์๊ณ , ํด๋น ์๋น์ค๋ฅผ ๋ง๋ค๊ธฐ์ ๋ฌด๋ฆฌ๋ผ๊ณ ๋๊ผ๊ธฐ์ ์ฐ์ ์ ์ผ๋ก ๊ฐ๋ฐ์ ์ปค๋ฎค๋ํฐ ์น ์๋น์ค๋ฅผ ๊ตฌํํ๊ธฐ๋ก ํ๋ค. ์ถํ ๋ฆฌํฉํ ๋ง ํด์ค ๋ ์์์ฒ๋ฆฌ ๋ถ๋ถ์ ์ถ๊ฐํ์ฌ ํ์ด์ ํ๋ก์ ํธ ์ฃผ์ ๋ฅผ ๊ตฌํํ๊ธฐ๋ก ํ์๋ค.
์์ ๋งํ๋ฏ ์ฐ์ 1์ฐจ์ ์ผ๋ก ์๋ฃํ ํ๋ก์ ํธ์ด๊ณ , ๋ฐฐํฌ์ ๊ฒ์ํ์์์ ๋์์ ์ฒ๋ฆฌ๋ฅผ ์ํ S3๋ฅผ ๋์
ํ๊ธฐ ์ ์ฝ๋์ ๊ฐ์ ์ฌํญ์ด ๋๋ฌด ๋ง์ ๋ณด์ฌ์ ํ์ฌ๋ ์ค์งํ์๊ณ ๋ฆฌํฉํ ๋ง์ ์ฌํด ๋ง ๋ถํฐ ๋ค์ ์์ํด์ค ์์ ์ด๋ค!..
๋ ์์ ์ ๋ถ์กฑํจ์ ๋๋ฌด ๋ง์ด ๋๋ผ๋ ๊ณ๊ธฐ๊ฐ ๋์๋ค.. ๐
https://github.com/soohykeee/Sku-Deview
GitHub - soohykeee/Sku-Deview
Contribute to soohykeee/Sku-Deview development by creating an account on GitHub.
github.com
โ๐ป ํ๋ก์ ํธ ํ๊ณ
๐๐ปโ๏ธํ๋ก์ ํธ๋ฅผ ์งํํ๋ฉฐ ๋ง์กฑํ๋ ๋ถ๋ถ๊ณผ ๊ณ์ ์ด์ด๋๊ฐ ์ฌํญ
- ์ปค๋ฐ ๊ท์น์ ์ ํ์๋ ๊ฒ์ด ์ข์๋ค. ํ ์คํฐ๋๋ฅผ ์งํํ๋ฉฐ ์ปค๋ฐ ๊ท์น์ ๋ํด ๋ค์๋ ์ ์ด ์์๊ธฐ์ ์ด๋ฅผ ์ ์ฉํด์ฃผ๊ธฐ ์ํด์ ์ปค๋ฐ ๊ท์น์ ์ ํ์์๋ค. (์งํค๊ธด ์ด๋ ค์ ๋ค..)
- ๊ฐ์ ํ๊ต์ด๊ณ , 2์ธ์ด๋ผ๋ ์๊ท๋ชจ ํ ํ๋ก์ ํธ์๊ธฐ์ ํ๋ก์ ํธ ์ค๊ฐ๋ถํฐ๋ ๋๋ฉด์ผ๋ก ํ์๋ฅผ ์งํํ์๋ค. ๋น๋๋ฉด์ผ๋ก ์งํํ ๋์๋ ๋ค๋ฅด๊ฒ ํ์์ ํ๋ฆฌํฐ๋ ๋์ฑ ์ฌ๋ผ๊ฐ๊ฒ ๋์๊ณ , ํผ์์ ํด๊ฒฐํ์ง ๋ชปํ๋ ๋ถ๋ถ์ ๋๋ฉด์ผ๋ก ์งํํ๋ ํด๊ฒฐํ๊ธฐ ๋์ฑ ์์ํ๋ค. (๋น๋๋ฉด์ผ ๋๋ ํ์๋ฅผ ์ผ๋ฅธ ๋ง์น๊ธฐ์ ๊ธ๊ธํ์๊ณ , ๋ฏธ๋ฃจ๊ฑฐ๋ ๊น๋จน๋ ์ผ์ด ๋ง์์๋ค..)
- ์๊ฒฌ ์กฐ์จ ์ ๋ํ๋ฅผ ํตํด ํด๊ฒฐํ์๋ค. ์ด๋ ํ ์๊ฒฌ์ด ๋์์ ๋ ์๋ก ๊ฐ์์ ์ผ๋ก ๋๊ฐ๋ ๋ถ๋ถ ์์ด ์ถฉ๋ถํ ํ์๋ฅผ ํตํด ์งํํ์๋ค.
ํนํ ์ง๋ฌธ'๋ ์ด๊ฑฐ์ ๋ํด์ ์ด๋ป๊ฒ ์๊ฐํด?' ๋ผ๋ ์ง๋ฌธ์ ์์๋ก ๋์ง๋ฉฐ ์๊ฒฌ ์กฐ์จํ๊ธฐ๊ฐ ์์ํ๋ค. - ์ง๋ฌธ์ ๋๋ ค์ํ์ง ์์๋ค. ํ ํ๋ก์ ํธ๋ฅผ ์งํํ ๋ ๋ชจ๋ฅด๋ ๋ถ๋ถ์ด ์๊ฑฐ๋ ์์ ์ด ์ต๋ํ ์ง์ ๊ณต์ ์ ๋ํด ์๊ทน์ ์ผ๋ก ๋์ฒํ์ง ์์๋ค. ๋์ ํ์ ๋ชจ๋ ๊ฐ๋ฐํ๋ค ๋งํ์ ๋ ์ด๋ค ์ ๋๋ฌธ์ ์ด๋ ค์ด์ง, ๋ฌด์์ ์ ๋ชจ๋ฅด๊ฒ ๋์ง์ ๋ํด ์๋ก ์ํตํ์๋ค. ํผ์ ํด๊ฒฐํ๋ ค ๋๋๊ฑฐ๋ฆฌ์ง ์์๋ ๋ถ๋ถ์ผ๋ก ์ธํด ๊ฐ๋ฐ์ ์๋๋ ๋์ฑ ์ฌ๋ผ๊ฐ์๋ค.
๐ ๐ปโ๏ธํ๋ก์ ํธ๋ฅผ ์งํํ๋ฉฐ ๋ถํธํ๋ ๋ถ๋ถ๊ณผ ๊ฐ์ ์ด ํ์ํ ์ฌํญ
- ์์ ์ปค๋ฐ ๊ท์น์ ์ ํ์๋ค๊ณ ํ์ง๋ง ์ด๋ฅผ ์งํค๊ธฐ๋ ์ฝ์ง ์์๋ค. ๊ทธ๋ ๊ธฐ์ ๊ท์น์ ์ ํด์ ๊ฐ์๊ฐ ๊ฐ๋ฐํ๋ ๋ด์ฉ์ ๋ํด ์ถ์ ํ๊ฑฐ๋ ์ด๋ ํ ์ปค๋ฐ์ด ์ด๋ฃจ์ด์ก๋์ง ๋ช
ํํ๊ฒ ํ์
ํ๊ธฐ ํ๋ค์๋ค. (์ด์คํ๊ฒ ์ฌ์ฉํด์ฃผ๋ ค๋ค ๋์ฑ ํผ๋๋ง ์์๋ค..) ๋ํ git ํ์๊ด๋ฆฌ์ ๋ํ ์ดํด ๋ถ์กฑ์ผ๋ก ์ธํ ์ถฉ๋ ํด๊ฒฐ ๋ฅ๋ ฅ ๋ถ์กฑ๊ณผ branch๋ฅผ ํจ์จ์ ์ผ๋ก ์ฌ์ฉํ์ง ๋ชปํ์๋ค.
- ๋๋ฆฐ ํผ๋๋ฐฑ, ๋๋ค ํ์์ด๊ณ ์ฐ์ ์์๊ฐ ํ๊ต ์์
๊ณผ ๊ณผ์ ์ ๋ ์ด์ ์ด ๋ง์ถฐ์ ธ ์์๊ธฐ์ ๊ฐ๋ฐ ์๋๊ฐ ๋๋ ๋ค. ๋ํ PR์ ๋ํ ์๋๊ฐ ๋๋ฌด ๋๋ ธ๋ค. ๋ค๋ฅธ ํ ํ๋ก์ ํธ๋ฅผ ์งํํ๋ ์ฌ๋๋ค์ ์กฐ์ธ์ ๋ค์ด๋ณด๋, PR์ ๋ํ ๋ฆฌ๋ทฐ๋ฅผ ํ๋ฃจ, ๋๋ ๋ช์๊ฐ ๋ด๋ก ์ฌ๋ ค์ฃผ๊ธฐ๋ก ํฉ์๋ฅผ ๋ณด์๋ค๊ณ ํ์๋ค. ์ด๋ฐ ์์ผ๋ก ์ฝ์์ ์ ํ๋ค๋ฉด ๋์ฑ ํจ์จ์ ์ธ ๊ฐ๋ฐ์ ์งํํ ์ ์์ ๊ฒ ๊ฐ๋ค.
- ๊ฐ๋ฐ ์ค๋ ฅ ๋ถ์กฑ์ผ๋ก ์ธํ ์๋ชป๋ ์ค๊ณ๋ฅผ ํ์๋ค. @OneToMany์ ์ฌ์ฉ์ผ๋ก ์ธํด N+1 ๋ฌธ์ ๊ฐ ๋ฐ์ํ์๋ค. ์ ์ด์ ์ค๊ณ๋ฅผ ์งํํ ๋ @OneToMany์ ์ฌ์ฉํด์ฃผ๊ธฐ๋ก ํ์๊ธฐ์ ๋ฐ์ํ๋ ๋ฌธ์ ์๋ค. ์ด๋ฅผ ํด๊ฒฐํด์ฃผ๊ธฐ ์ํด์ ๊ฐ๋ฐ ์งํ์ค์ @ManyToOne์ผ๋ก ์ฐ๊ดํ
์ด๋ธ์ ์ถ๊ฐ๋ก ์์ฑํ์ฌ ์ค๊ณ๋ฅผ ๋ฐ๊ฟจ์๋ค. ์ค๊ฐ์ ์ค๊ณ๋ฅผ ๋ฐ๊พธ๋ฉฐ ์ฝ๋๋ฅผ ์์ ํ๋๋ฐ ๋ง์ ์์์ ์๊ฒ ๋์๋ค.
- PO์ ๊ฐ์ ์ค์ฌ์์ ํ์์ฑ์ ๋๋ผ๊ฒ ๋์๋ค. 2์ธ์ด๋ผ๋ ์๊ท๋ชจ ํ๋ก์ ํธ์์์๋ ์๊ฒฌ ์ถฉ๋์ด ์์๋ค. ์ ๋ง ์ฌ์ํ ๊ฒ์๋ ์๊ฒฌ ์กฐ์จ์ด ํ์ํ๋ค. ๋ช๊ฐ์ง๋ฅผ ์ด์ผ๊ธฐํด๋ณด๋ฉด ๋ค์๊ณผ ๊ฐ๋ค. 'ํด๋์ค ๋ฐ ํจ์ ๋ช
๋ช
๊ท์น', 'service์ ๊ฒฝ์ฐ interface์ impl์ ๊ตฌ๋ถํ์ฌ ์ฌ์ฉํ ๊ฒ์ธ์ง ์๋์ง์ ๊ทธ์ ๋ํ ์ด์ ', 'dto์ entity๊ฐ ๋งคํ ํจ์๋ฅผ ์ด๋์ ์ ์ธํ์ฌ ์ฌ์ฉํด์ค ๊ฒ์ธ์ง', '์ฃผ์ ์์ฑ' ๋ฑ ์์์ด ๋ง์๋ค.
์ด๋ฌํ ์๊ฒฌ ์ถฉ๋์ด ๋ฐ์ํ์ ๋, 2์ธ ํ๋ก์ ํธ์๊ธฐ์ ์งํ๋ฐฉํฅ์ ๋ค์๊ฒฐ๋ก ์ ํ ์ ์์๊ธฐ์ ํ์์ ์๋ ์๊ฐ์ด ๋ง์์๋ค.
๐คท๐ปโ๏ธ๊ฐ์ ์ด ํ์ํ๋ค๊ณ ๋๋ ์ฌํญ์ ๋ํ ํด๊ฒฐ์ฑ
- ์ฐ์ git ํ์๊ด๋ฆฌ์ ๋ํด ๊ณต๋ถ์ ์ ์คํจ์ ๋๋ผ๊ฒ ๋์๋ค. git์ ๋ํด ๊ณต๋ถํ๋ ํธ์ด ์ข๋ค๋ ์กฐ์ธ์ ๋ง์ด ๋ค์์๊ณ , ์ค์ฒํ๊ธฐ ์ํด์ ๊ฐ์๋ฅผ ๊ฒฐ์ ํ์ง๋ง ๋ฏธ์ฒ ๋ค ๊ณต๋ถํ์ง ๋ชปํ๊ณ ํ๋ก์ ํธ๋ฅผ ์งํํ์๋ค. ('ํ๋ก์ ํธ๋ฅผ ์งํํ๋ฉฐ ๋ถ๋ชํ๋ฉฐ ํด๊ฒฐ๋์ง ์์๊น?' ๋ผ๋ ์์ผํ ์๊ฐ์ ํ์๋ค.๐)
- ์ค๊ณ์ ์ค์์ฑ์ ๋ค์ ํ๋ฒ ๊นจ๋ซ๊ฒ ๋์๋ค. ์ ๊ณต ์๊ฐ์ entity ๊ตฌ์กฐ๋ฅผ ๊ฐ๋ฐ ์ค์ ๋ณ๊ฒฝํ๊ฒ ๋๋ค๋ฉด ํฐ ์ด๋ ค์๊ณผ ์์๋ญ๋น๊ฐ ์์ ๊ฑฐ๋ผ ์๋ ์์ด ๋ฐฐ์ ์๋ค. ํด๋น ์ค์์ฑ์ ์ง์ ์ฒดํํด๋ณด๋ฉฐ ๋ผ์ ๋ฆฌ๊ฒ ๋๋ผ๊ฒ ๋์๋ค.
- ๋น ๋ฅธ ํผ๋๋ฐฑ์ด ํ์ํ๋ค๊ณ ๋๊ผ๋ค. ์์์ ๋งํ๊ฒ์ฒ๋ผ PR์ ๋ํ ๋ฆฌ๋ทฐ๊ฐ ๋น ๋ฅด๊ฒ ์ด๋ฃจ์ด์ง์ง ์์ผ๋ ๊ฐ๋ฐ์ ์๋์ ์ฐจ์ง์ด ์์๋ค. ์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด PR์ ๋ํ ์๋ฆผ์ ์ผ๋๊ณ ํ๋ฃจ ๋๋ ๋ช์๊ฐ ๋ด๋ก ๋ฆฌ๋ทฐ๋ฅผ ๋ฌ์์ฃผ๊ธฐ๋ก ํ์๊ฐ์ ์ฝ์์ ์ ํด์ผ๊ฒ ๋ค.
- PO๋ฅผ ๋ฝ์ ์๊ฒฌ ์กฐ์จ์ด ํ์ํ๋ค๊ณ ๋๊ผ๋ค. ์๋ฌด๋ฆฌ 2์ธ ํ๋ก์ ํธ์ฌ๋ PO๋ฅผ ๋ฝ์ ์๊ฒฌ์ ์ ํ ๋ ๋์ฑ ์ ์ํ๊ฒ ์ ํ ์ ์๋๋ก ํด์ค์ผ๊ฒ ๋ค.
๐ค๋๋์
์ฃผ์์ ๊ฐ๋ฐ์๋ค์ด๋, ๊ธฐ์
์์ ํ์
์ ๋ํ ์ธ๊ธ์ ์์ฃผ ํ๋ ์ด์ ๋ฅผ ๊นจ๋ฌ์ ์ ์์๋ค!! ๋จ๋ค์ฒ๋ผ 4์ธ, 5์ธ์ฒ๋ผ ๋ค์์ ์ธ์์ผ๋ก ์งํํ ํ๋ก์ ํธ๊ฐ ์๋์์์๋ ๋ถ๊ตฌํ๊ณ ์ฆ์ ์๊ฒฌ ์ถฉ๋๊ณผ ๊ฐ๋ฐ์ ๋ํ ์คํธ๋ ์ค๊ฐ ๋ง์๋ค. ์ทจ์งํ๊ฒ ๋์ด ํ์ฌ์ ๋ค๋๊ฒ ๋๋ค๋ฉด ์ด๋ฐ ์ด๋ ค์ด ์ ์ ์ ๋ง ์๋ฌด๊ฒ๋ ์๋ ๊ฒ์ด๋ค. ์ด๋ด ๋ ํด๊ฒฐํ ์ ์๋ ๋ฅ๋ ฅ๋ ๊ธธ๋ฌ์ผํจ์ ๋๋ผ๊ฒ ๋์๋ค.
๋ํ ํผ์์ ๊ฐ๋ฐํ ๋์๋ ๋ฌ๋ฆฌ ์ ๋ง ๋น ๋ฅด๊ณ ํจ์จ์ ์ธ ๊ฐ๋ฐ ์๋๋ฅผ ๊ฒฝํํ ์ ์์๋ค. ํผ์์ ๊ฐ๋ฐํ๊ฒ ๋๋ฉด ์ค์ค๋ก์๊ฒ ๋ค์๊ณผ ๊ฐ์ ๋ง์ ํ๋ฉฐ ํํํ๊ฒ ๋๋ ๊ฒฝ์ฐ๊ฐ ๋ง์๋ค. ('์ค๋์ ์ด์ฏค์ด๋ฉด ๋๋ค.', '์ด์ ์ด์ฌํ ํ์ผ๋ ์ข ์ด๊น?', '์ด๋ฐ ๊ฒ๊น์ง ์ ์ฉ์ ํด์ค์ผ ํ ๊น? ๋๋ฌด ์ด๋ ค์ฐ๋ ๋บ๊น?' ๋ฑ ์ ๋ง ํํํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์์๋ค..๐ฉ) ํ์ง๋ง ํ์๊ณผ ๊ฐ๋ฐ์ ๋ฒ์, ์๊ฐ๊ณผ ๊ณํ์ ์ธ์ฐ๊ฒ ๋๋ ์ฑ
์๊ฐ์ด ์๊ฒจ ํํํ ์ ์์๋ค. ๋ํํจ์ ์์ ๊ธฐ ์ํ ์ข์ ์กฑ์์๋ค๊ณ ๋๊ผ๋ค!
๊ทธ๋ฆฌ๊ณ ๋ฐฐ์์ ๊ณต์ ์ ๋งํ๋ ๋ถ๋ถ์ ๋ํด ๊ฐ์ด ๊ณ ๋ฏผํ๊ณ ํด๊ฒฐํด์ค ์ ์๋ ์ฌ๋์ด ์๊ฒจ์ ์ข์๋ค. ์ฌ๋๋ง๋ค ์๊ฐํ๋ ๊ฒ์ด ๋ค๋ฅด๊ธฐ์, ๋ฌธ์ ์ ์ง๋ฉดํ์ ๋ ๊ณ ๋ฏผ์ ํตํด ๋ค๋ฐฉ๋ฉด์ผ๋ก ํด๊ฒฐ๋ฐฉ๋ฒ์ ์ฐพ์ ์ ์์๋ค. ๋ ํผ์์๋ ์๊ฐ์ด ๋ง์ด ์์๋์ ๋ฌธ์ ๋ค์ ๋น ๋ฅด๊ฒ ํด๊ฒฐํ ์ ์์๋ค.
์ ๋ง ํ์ ์ ์คํธ๋ ์ค๊ฐ ๋ง์ด ๋ฐ๋ ์ผ์ด์ง๋ง ์ด๋ณด๋ค ์ทจํ ์ ์๋ ๋์ด ๋๋ฌด๋๋ฌด ๋ง์ ์ผ์ด๋ผ๊ณ ๋๊ผ๋ค.