์ค๋ ํ ๊ณต๋ถ ๐ง
- ๊ธฐ์ดํ๋ก์ ํธ ํ๋ก์ฐ ์ถ๊ฐ ๊ธฐ๋ฅ ๊ตฌํ
- ๊ธฐ์ด ํ๋ก์ ํธ ํ๋ก์ฐ ์ญ์ ๊ธฐ๋ฅ ๊ตฌํ
- ๊ธฐ์ด ํ๋ก์ ํธ ํน์ ๋ฉค๋ฒ์ ํ๋ก์ฐ ์ ์ฒด ์กฐํ ๊ธฐ๋ฅ ๊ตฌํ
- TIL ๋ธ๋ก๊ทธ ์์ฑ
์ค๋ ์ป์ ๋ด์ฉ ์ ๋ฆฌ โ๏ธ
๊ธฐ์ด ํ๋ก์ ํธ (๋ด์คํผ๋ ๋ง๋ค๊ธฐ ํ๋ก์ ํธ)
- ํ๋ก์ฐ ์ถ๊ฐ ๊ธฐ๋ฅ ๊ตฌํ
- Follow Entity ์์ฑ ํ ํ๋ก์ฐ๋ฅผ ์ถ๊ฐํ๋ ๊ธฐ๋ฅ์ ๊ตฌํํ๋ค.
- member_id(PathVariable)์ following_id)๋ฅผ ๋ฐ์ ํ๋ก์ฐ ๊ด๊ณ๋ฅผ ์์ฑํ๋ ๊ธฐ๋ฅ์ ๊ตฌํ ์ฑ๊ณตํ๋ค.
- ํ๋ก์ฐ ์ญ์ ๊ธฐ๋ฅ ๊ตฌํ
- member_id(PathVariable)์ follow_id(Pathvariable)๋ฅผ ๋ฐ์ ํ๋ก์ฐ ๊ด๊ณ๋ฅผ ์ญ์ ํ๋ ๊ธฐ๋ฅ์ ๊ตฌํ ์ฑ๊ณตํ๋ค.
- ํน์ ๋ฉค๋ฒ์ ํ๋ก์ฐ ์ ์ฒด ์กฐํ ๊ธฐ๋ฅ ๊ตฌํ
- member_id(PathVariable)๋ฅผ ๋ฐ์ ํ๋ก์ ๋ฉค๋ฒ๋ฅผ ์ ์ฒด ์กฐํํ๋ ๊ธฐ๋ฅ์ ๊ตฌํ ์ฑ๊ณตํ๋ค.
- ์ฝ๋ ๋ฆฌํฉํ ๋ง
- ์์ฑ ๊ธฐ๋ฅ: RequestBody๋ฅผ ํ์ฉํด following_id๋ฅผ ์ ๋ ฅ๋ฐ๋๋ก ์์ ํ๋ค.
- ์กฐํ ๊ธฐ๋ฅ: ํน์ ๋ฉค๋ฒ์ ํ๋ก์ฐ ์ ์ฒด ์กฐํ ์ ๋ฆฌ์คํธ๊ฐ ๋น์ด์๋ค๋ฉด ๋น ๋ฆฌ์คํธ๋ฅผ ๋ฐํํ๋๋ก ์์ ํ๋ค.
ํ๋ก์ ํธ๋ฅผ ์งํํ๋ฉด์ ๊ณ ๋ฏผํ๋ ๋ถ๋ถ
- PathVariable๋ก member_id๋ฅผ ๋ฐ๋ ๊ฒ์ด ์๋๋ผ ๋ก๊ทธ์ธ์ ํ ์ํ์ด๋๊น Session_id๋ฅผ ํ์ฉํ๋ค๋ฉด ์ด๋จ๊น??
- ํน์ ๋ฉค๋ฒ์ ํ๋ก์ฐ ์ ์ฒด ์กฐํ ์ ๋ฐํ๋๋ ๋ฐ์ดํฐ๊ฐ ์๋ค๋ฉด ๋น ๋ฆฌ์คํธ๋ก ๋ฐํํด์ผ ํ ๊น? ์๋๋ฉด ๋ฐํ๋๋ ๋ฐ์ดํฐ๊ฐ ์์ผ๋๊น Not Found๋ก ๋ฐํ๋๊ฒ ํด์ผ ํ ๊น?
- ํ๋ก์ ์๋ ๋ํ๋ผ ์ ์์ง ์์๊น??
ํธ๋ฌ๋ธ ์ํ
- ๋ฌธ์ ์ํฉ
- ํ์์ด Pull Request๋ฅผ ์์ฒญํ๊ณ , ์ด๋ฅผ ์๋ฝํ์ฌ Repository์ ๋ณ๊ฒฝ์ฌํญ์ด ์๊ฒผ๋ค.
๋ณ๊ฒฝ์ฌํญ์ ๋ฐ์ํ๊ธฐ ์ํด git pull origin dev ๋ช ๋ น์ด๋ฅผ ์คํํ ํ, ํ๋ก์ ํธ๋ฅผ ์คํํ๋ ค๊ณ ํ์ผ๋ java.lang.NullPointerException์ด ๋ฐ์ํ๋ค.
- ํ์์ด Pull Request๋ฅผ ์์ฒญํ๊ณ , ์ด๋ฅผ ์๋ฝํ์ฌ Repository์ ๋ณ๊ฒฝ์ฌํญ์ด ์๊ฒผ๋ค.
- ๋ฌธ์ ์์ธ
- Gradle ์ค์ ๋ฌธ์ ๋ก ์ธํด ๋ฐ์ํ ๊ฒ์ผ๋ก ๋ณด์ธ๋ค.
- Gradle ํ์ผ์ ์์กด์ฑ ์ค์ ์ด๋ ํ์ผ ๊ตฌ์กฐ์ ๋ฌธ์ ๊ฐ ์๋ ๊ฒฝ์ฐ, ๋น๋๊ฐ ์คํจํ๋ฉฐ NullPointerException์ด ๋ฐ์ํ ์ ์๋ค.
- ๋ณ๊ฒฝ์ฌํญ ๋ฐ์ ์ ์บ์ ๋ฌธ์ ๋ก ์ธํด ๋น๋ ํ๊ฒฝ์ด ์ ๋๋ก ๋๊ธฐํ๋์ง ์์์ ๊ฐ๋ฅ์ฑ๋ ์๋ค.
- ํด๊ฒฐ ๋ฐฉ๋ฒ
- ์บ์ ์ ๋ฆฌ๋ฅผ ํตํด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ค.
- IntelliJ์์ File > Invalidate Caches > Restart๋ฅผ ์ ํํ์ฌ ์บ์๋ฅผ ์ด๊ธฐํํ๋ค.
- ์บ์ ์ ๋ฆฌ ํ, ํ๋ก์ ํธ๋ฅผ ๋ค์ ๋น๋ํ๊ณ ์คํํ์ฌ ์ ์์ ์ผ๋ก ์๋ํจ์ ํ์ธํ๋ค.
- ์บ์ ์ ๋ฆฌ๋ฅผ ํตํด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ค.
- ๊ฒฐ๋ก
- ํ ํ๋ก์ ํธ์์๋ ๋ณ๊ฒฝ์ฌํญ์ ๋ฐ์ํ ํ, ๋น๋ ํ๊ฒฝ๊ณผ ์์กด์ฑ ์ค์ ์ ํญ์ ์ ๊ฒํด์ผ ํ๋ค๋ ์ ์ ๋ฐฐ์ ๋ค.
- Gradle๊ณผ ๊ฐ์ ๋น๋ ๋๊ตฌ์์ ๋ฐ์ํ๋ ๋ฌธ์ ๋ ์บ์๋ฅผ ์ด๊ธฐํํ๊ฑฐ๋ ์ค์ ํ์ผ์ ๊ฒํ ํ๋ ๊ฒ์ผ๋ก ํด๊ฒฐํ ์ ์๋ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค.
- ํ์ ์ค ๋ฐ์ํ ์ ์๋ ํ๊ฒฝ ์ค์ ๋ฌธ์ ์ ์ ์ฐํ๊ฒ ๋์ฒํ๋ ๋ฅ๋ ฅ์ด ์ค์ํ๋ค๋ ๊ฒ์ ๊นจ๋ฌ์๋ค.
๋์ค์ ์ถ๊ฐ์ ์ผ๋ก ์์ ํด์ผ ํ ๋ถ๋ถ
- ํ ์ฌ๋์ด ํ๋ก์ฐ๋ฅผ ์ฌ๋ฌ ๋ฒ ํ ์ ์๋ ์๋ฌ์ฌํญ์ ์์ ํด์ผ ํ๋ค.
MacBook์ ํฐ๋ฏธ๋์ oh-my-zsh ์ค์น ๋ฐ ์ ์ฉ ์๋ฃ
- ๊ธฐ๋ณธ์ ์ผ๋ก ์ฌ์ฉํ๋ ํฐ๋ฏธ๋์ ๋ธ๋์น์ ๋ค๋ฅธ ์ ๋ณด๋ค์ ์์๋ณด๊ธฐ ์ด๋ ค์์ ํ ๋ง๋ฅผ ์ค์ ํ๊ธฐ๋ก ํ๋ค.
- ๊ตฌ๊ธ๋ง๊ณผ ChatGPT์ ๋์์ ์ป์ด์ ์ฑ๊ณต์ ์ผ๋ก ํ ๋ง๋ฅผ ์ ์ฉ์์ผฐ๋ค.
์ค๋ ํ๋ฃจ ์ ๋ฆฌ โ๏ธ
๋๋์ด ๊ธฐ์ด ํ๋ก์ ํธ๋ฅผ ์ ๋๋ก ์์ํ๋ค!
์ฃผ๋ง ๋์ ํ์๋ถ์ด ํ์๊ฐ์ , ๋ก๊ทธ์ธ์ ๊ด๋ จ๋ ๊ธฐ๋ฅ๋ค์ ์์ฑ์์ผ ์ฃผ์ ์ git pull origin dev๋ฅผ ํตํด Pull Request ํ ์์ ์ฌํญ์ ๋ฐ์์๋ค. ํ์ง๋ง ์ฌ๊ธฐ์ java.lang.NullPointerException์ด ๋ฐ์ํ๋ค. ๊ฒ์ ๊ฒฐ๊ณผ Gradle ์ ์ฉํ๋๋ฐ ๋ฌธ์ ๊ฐ ์์ ์ ์๋ค๊ณ ํด์ ์๋ ค์ฃผ๋ ํด๊ฒฐ๋ฐฉ๋ฒ๋๋ก ์บ์๋ฅผ ์ด๊ธฐํํ๊ณ ๋ค์ ์คํํ๋๋ ์๋ฌ๊ฐ ์ฌ๋ผ์ง ๊ฒ์ ํ์ธํ ์ ์์๋ค.
๊ทธ ํ ์ค์ ๋์ ๋ด๊ฐ ๋ด๋นํ๊ธฐ๋ก ํ๋ ํ๋ก์ฐ ์ถ๊ฐ, ์ญ์ , ์กฐํ ๊ธฐ๋ฅ์ ๊ตฌํํ๋ค.
ํ๋ก์ฐ ์ถ๊ฐ ๊ธฐ๋ฅ์ ๋จผ์ ๊ตฌํํ๊ณ , ์ญ์ ๊ธฐ๋ฅ๊น์ง ๊ตฌํ์ ์๋ฃํ๋ค. Postman์ผ๋ก ํ์ธํ์ ๋ ๋ฌธ์ ๊ฐ ์์์ ํ์ธํ๊ณ ํน์ ๋ฉค๋ฒ์ ์ ์ฒด ํ๋ก์ฐ ์กฐํ ๊ธฐ๋ฅ์ ๊ตฌํํ๋ค. Postman์ ํตํด ํน์ ๋ฉค๋ฒ์ ๋ชจ๋ ํ๋ก์ฐ๊ฐ ์ ์์ ์ผ๋ก ํ์ธ๋๋ ๊ฒ์ ํ์ธํ๋ค!
์ ์ฌ์๊ฐ ์ดํ์๋ ์๋ก ์งํํ ์ํฉ์ ๊ณต์ ํ๋ค.
๋ด๊ฐ ์์ฑํ ์ฝ๋๋ฅผ ํจ๊ป ๋ณด๋ฉด์ ์์ ํ๋ฉด ์ข์ ๋ถ๋ถ๋ค์ ๋ฐ๊ฒฌํด์ ์ถ๊ฐ์ ์ผ๋ก ์์ ํ๋ค! ์๋ ํ๋ก์ฐ๋ฅผ ์ถ๊ฐํ ๋ @ReqeustParam์ ์ฌ์ฉํด์ following_id๋ฅผ ๋ฐ์์๋๋ฐ, @ReqeustBody๋ฅผ ์ฌ์ฉํด์ following_id๋ฅผ ๋ฐ์์ค๋ ๋ฐฉํฅ์ผ๋ก ์์ ํ๋ค! ๊ทธ ๋ค์ ํน์ ๋ฉค๋ฒ์ ์ ์ฒด ํ๋ก์ฐ ์กฐํ ๊ธฐ๋ฅ์์ ๋น ๋ฆฌ์คํธ๋ฅผ ๋ฐํํ ๋ 404 Not Found๊ฐ ๋ฐํ๋๋๋ก ํ๋๋ฐ, ๋น ๋ฆฌ์คํธ๊ฐ ๋ฐํ๋๋๋ก ์์ ์ ์๋ฃํ๋ค!
๊ทธ๋ฆฌ๊ณ ์ฒ์์ผ๋ก Pull Request๋ฅผ ํ๋ค!!! ๐๐๐๐๐๐
์ค๊ฐ์ ํ์์ ์์ ์ฌํญ์ ๋ฐ์๋ณด๋ ๊ฒ์ ์ฐ์ตํ๊ธฐ ์ํด์ Push ํ๊ธฐ ์ ์ fetch์ rebase๋ฅผ ํตํด์ ์์ ์ฌํญ์ ๋ฐ์์๋๋ฐ.... Push ํ ๋ ๋ณด๋๊น ์์ ์ฌํญ๊น์ง ๋ชจ๋ Push ๋๋ ๊ฒ์ ๋ณด๊ณ ํผ๋์ ๋น ์ก๋ค.. ์ฌ๊ธฐ์ ๋ด๊ฐ ๋ญ ์๋ชป ๊ฑด๋๋ฆฌ๋ฉด ์ ๋ ๊ฒ ๊ฐ์์ ํ์ฅ๋์ ๋์์ ๋ฐ์์ git push origin feature/follow-crud --force๋ฅผ ํตํด ๋ฌด์ฌํ push ๋ฐ Pull Request๊ฐ ์๋ฃ๋์๋ค! --force ๋ถ๋ถ์ ๋์ค์ ์ค๋ช
์ ๋ค์ด๋ณด๋ ๊ฐ์ ๋ก ํธ์ฌํ ์ ์๊ฒ ํด์ฃผ๋ ๋ช
๋ น์ด๋ผ๋ ๊ฒ์ ๋ค์๋ค. ์์ง Git์ ๊ด๋ จํด์ ๋ชจ๋ฅด๋ ๊ฒ์ด ๋๋ฌด ๋ง์์ ์ด๋ฒ ํ๋ก์ ํธ๋ฅผ ๊ณ์ ์งํํ๋ฉด์ ๋ฐฐ์์ผ๊ฒ ๋ค๋ ์๊ฐ์ด ๋ค์๋ค!
๋ด์ผ์ ๋์ ๊ธฐ๋ฅ๋ค์ ๊ตฌํ ์๋ฃํ๊ณ ์ค๊ฐ ์ ๊ฒ์ ํ๋ ๋ ์ด๋๊น ๋ด์ผ ์ญํ ๋ถ๋ด์ด ์๋ฃ๋๋ฉด ๋ด๊ฐ ๋งก์ ๋ถ๋ถ์ ์ ๋ง๋ฌด๋ฆฌํ ์ ์๋๋ก ๊ณต๋ถ๋ฅผ ๊ณ์ ํด์ผ๊ฒ ๋ค!!
ํ๋ก์ ํธ๊ฐ ์ ๋ง๋ฌด๋ฆฌ๋ ์ ์๋๋ก ๋ง์ง๋ง ๋ ๊น์ง ๊ธด์ฅ์ ๋์ง ๋ง๊ณ ์ด์ฌํ ํ์!! ํ์ดํ !!!!!
๋ด์ผ ๊ณํ โฐ
- ๊ธฐ์ด ํ๋ก์ ํธ ๋์ ๊ธฐ๋ฅ ์ญํ ๋ถ๋ด ํ ๋งก์ ๊ธฐ๋ฅ ๊ตฌํ
- ์์ค๋ณ ํ์ต๋ฐ ๋ฒ ์ด์ง๋ฐ ์ธ์ ๋ฃ๊ธฐ
- TIL ๋ธ๋ก๊ทธ ์์ฑ
+ ์ถ๊ฐ๋ก ๊ณํ์ด ๋ ์๊ธธ ์๋ ์์ด๋ค~_~
'Today I Learned(TIL) > ์คํ๋ฅดํ ๋ด์ผ๋ฐฐ์์บ ํ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๊ธฐ์ด ํ๋ก์ ํธ_Day 5 (0) | 2024.12.26 |
---|---|
๊ธฐ์ด ํ๋ก์ ํธ_Day 7 (2) | 2024.12.26 |
๊ธฐ์ด ํ๋ก์ ํธ_Day 1 (1) | 2024.12.20 |
์ฃผํน๊ธฐ ์ ๋ฌธ/์๋ จ_Day 20 (0) | 2024.12.18 |
์ฃผํน๊ธฐ ์ ๋ฌธ/์๋ จ_Day 19 (2) | 2024.12.17 |