[ TIL ] ์ต์ข ํ๋ก์ ํธ_Day 1
์ค๋ ์งํํ ๋ด์ฉ๋ค ๐ง
์ต์ข ํ๋ก์ ํธ ๋ฐ์ ๋ฃ๊ธฐ
- ๊ธฐ๋ก์ด ์งฑ์งฑ ์ค์ํ๋ค!!!
- ํ๋ฉด ์บก์ฒ์ ์์ ์ดฌ์์ด ํ์์ ์ด๋ค.
- ๊ธฐ๋ฅ์ ํ๋ ๊ตฌํํ ๋๋ง๋ค ํน์ ๋งํ์ ๋ ๊ณ ๋ฏผ ์ฌํญ์ ์ ๊ธฐ๋กํด ๋์!
- 5๋ถ ๊ธฐ๋ก ๋ณด๋ ์ค์ํ๋ค.
- ๋ฏธ๋๋ฅผ ์ํด ๋ฌด์กฐ๊ฑด ๊ธฐ๋กํด๋์ผ ํ๋ค!
๋๋ฉ์ธ ์ ํ๊ธฐ
- ์ฒซ ๋ฒ์งธ ํ๋ณด: ๊ณ ๊ฐ์ผํฐ ๊ด๋ จ
- ๋ ๋ฒ์งธ ํ๋ณด: ์ทจ์ ์ฌ์ดํธ ๊ด๋ จ(์ฑํ)
S.A ์์ฑํ๊ธฐ
- ์์ด์ดํ๋ ์
- ERD ๋ค์ด์ด๊ทธ๋จ
- API ๋ช ์ธ์
- ๊ธฐ์ ๋ช ์ธ์
์ค์ผ๋ ํค ์ฝ๋ ์์ฑํ๊ธฐ
- ๊ฐ์ฅ ๋ฐ์ ์๋ ํจํค์ง: common, domain
- domain ์์ ๋ค์ด๊ฐ ํจํค์ง: auth, keyword, data, bookmark, user, history
- ๊ธฐ๋ณธ Entity๋ง ์์ฑํ ์ํ์ด๋ค!
์์ : ๋ก๊ทธ๋ฅผ ์ด๋์ ๋จ๊ฒจ์ผ ํ ๊น?
์์ : ๋ด๊ฐ ๋ด๋นํ ๊ธฐ๋ฅ์์ ExceptionHandler์์ ์ฒ๋ฆฌํ ์์ธ๋ ๋ญ๊ฐ ์์๊น?
์ค๋ ํ๋ฃจ ์ ๋ฆฌ โ๏ธ
๋๋์ด ์ต์ข ํ๋ก์ ํธ๊ฐ ์์๋์๋ค..!!! ์บ ํ๊ฐ ์์๋ ์ง ์ผ๋ง ์ ๋๋ค๊ณ ์๊ฐํ๋๋ฐ ๋ฒ์จ ์ต์ข ํ๋ก์ ํธ๋ผ๋..
๊ทธ๋๋ ํ ํธ์ฑ์ด ์์ฒญ ์๋ ๊ฒ ๊ฐ๋ค!! ์ข์ ํ์ฅ๋, ๋ถํ์ฅ๋๊ณผ ์ข์ ํ์๋ถ๋ค๊ณผ ์ต์ข ํ๋ก์ ํธ๋ฅผ ๋ถ์ ์ ์์ ๊ฒ ๊ฐ๋ค๋ ์๊ฐ์ด ๋ค์๋ค. (๋ฌผ๋ก ํ๋ก์ ํธ์ ๋ด๊ฐ ๋ถ์์ด์ง ์ ์์ง๋ง..)
์ค์ ์ด๋ ์คํ ์๊ฐ์ ํตํด์ ํ๋ก์ ํธ ๋๋ฉ์ธ ์๊ธฐ๋ฅผ ๊ณ์ํ๊ณ , ํํฐ๋๊ป ํผ๋๋ฐฑ๋ ๋ฐ๊ณ ํ๋ฉด์ ์ต์ข ์ ์ผ๋ก ๋๋ฉ์ธ์ ์ ํํ๊ฒ ๋์๊ณ ํ์ ๋ชจ๋๊ฐ ๋ง์กฑํ๋ ์ฃผ์ ๋ก ์ ํด์ก๋ค!
์ด์ด์ ์์ด์ดํ๋ ์์ ์์ฑํ๋ฉด์ ํ๋ก์ ํธ์ ํ์ํ ๊ธฐ๋ฅ๊ณผ ์ค์ฝํ๋ฅผ ์ผ๋ง๋ ์ง๋ฉด ์ข์์ง ์๋
ผํ๋ค.
์๊ฐ๋ณด๋ค ๊ฐ๋จํด ๋ณด์ด์ง๋ง ์ ๋ ๊ฐ๋จํ์ง ์์ ํ๋ก์ ํธ ์ค๊ณ๊ฐ ์์ฑ๋ ๋๋์ด์๋ค. ๋ญ๊ฐ ๋๋ ต๊ธฐ๋ ํ์ง๋ง ์ฑ์ฅ์ ๋ง์ด ํ ์ ์๋ ๊ธฐํ๊ฐ ๋ ๊ฒ์ด๋ผ๊ณ ์๊ฐํ๊ณ ์ญํ ๋ถ๋ด์ ์งํํ ๋ ์ด๋ค ๊ธฐ๋ฅ์ด๋ ๋งก์์ ์ต์ ์ ๋คํ ์๊ฐ์ผ๋ก ์ฐธ์ฌํ๋ค.
๋ด๊ฐ ๋งก์ ๊ธฐ๋ฅ์ ํ์ด์ง ์กฐํ(๊ฒ์ ํฌํจ), ๊ฒ์ ๊ธฐ๋ก ์กฐํ ๊ธฐ๋ฅ์ด์๋ค.
QueryDSL์ ์ด์ฉํด์ ๋์ ์ฟผ๋ฆฌ๋ฅผ ์์ฑํด์ผ ํ๋๋ฐ ์์ ํฌํจ๋๋ ๊ฒ์ ๊ธฐ๋ฅ์ด 7๊ฐ...? ์ ๋์ฌ์ ์ด๊ฑธ ์ด๋ป๊ฒ ์ ์ฉํ ์ ์์์ง์ ๋ํ ๊ณ ๋ฏผ์ด ๋ง์ด ํ์ํ ๊ฒ ๊ฐ๋ค๊ณ ์๊ฐํ๋ค.
์ญํ ๋ถ๋ด์ ๋๋ธ ํ, ํํฐ๋๊ป ์ต์ข
ํผ๋๋ฐฑ์ ๋ฐ์๊ณ ์ต์ข
์ ์ผ๋ก ํ๋ก์ ํธ ์ค๊ณ๋ฅผ ์ ๋ฆฌํ ํ ์ค์ผ๋ ํค ์ฝ๋๋ฅผ ๋ค ํจ๊ป ์์ฑํ๋ค.
ํจํค์ง๋ฅผ ๋๋๊ณ Entity๊น์ง ์์ฑํ๋ ๊ฑธ ๋์ผ๋ก ์ต์ข
ํ๋ก์ ํธ 1์ผ ์ฐจ๊ฐ ๋ง๋ฌด๋ฆฌ๋์๋ค.
๋ด์ผ๊น์ง ์์ ๋ฅผ ์ ์๊ฐํด์ ๋ค์ ์ด์ด์ ์งํํด์ผ ํ ๊ฒ ๊ฐ๋ค!
๋ด์ผ ๊ณํ โฐ
- MVP ๊ธฐ๋ฅ ๊ตฌํ ์์~~~!
- QueryDSL ๊ณต๋ถ๐ง
+ ์ถ๊ฐ์ ์ผ๋ก ๊ณต๋ถํด์ผ ํ ๊ฒ ์์ผ๋ฉด ๊ณต๋ถํด์ 5๋ถ ๊ธฐ๋ก ๋ณด๋๋ ์ด๋๋ ์ ๋ฆฌ!!