๐ฅ 1์ฐจ ํ๋ก์ ํธ ์งํํ๋ฉด์ ๋ฐ์ ํผ๋๋ฐฑ ์ ๋ฆฌ
1์ฐจ ํ๋ก์ ํธ: fruitz_company
scope: ํ์์กฐํ/pagination views.py
1-1
pull request๋ ํญ์ ํ ๊ฐ์ง ๊ธฐ๋ฅ๋ง ํฌํจ
ํ ๊ฐ์ง ๊ธฐ๋ฅ์ด๋ = ํ๋์ ํจ์ (def post 1๊ฐ, def get 1๊ฐ ๋ฑ๋ฑ)
๋ง์ฝ get/post/delete ๋ฑ์ ํ๋ฒ์ ํด์ ์ฌ๋ฆฌ๋ฉด, get์ okํ๋๋ฐ post ์ชฝ ์ฝ๋๊ฐ ์ด์ํ๋ฉด get์ ๋ค ์์ฑ์ด ๋๋๋ฐ๋ ๊ณ์ ok ์๋ ์ํ๋ก ๋จธ๋ฌผ๋ฌ ์์ด์ผ
์ด๋ ๊ฒ ํด์ผ๋ง ์ฝ๋ฉ ๋ฆฌ๋ทฐ - ๋จธ์ง ๊ณผ์ ์ ์์ฐ์ฑ์ด ์ฌ๋ผ๊ฐ
1-2
git conflict
git์ ๊ธฐ๋ณธ์ ์ผ๋ก ๋ณ๊ฒฝ์ฌํญ์ ์ถ์ ํ๋๋ฐ, ๊ทธ๊ฒ์ ์์น๋ก ํ์
ํ๋ค
๋ง์ฝ ํ๋์ ํด๋์ค์ ๋ํด get์ด ๊ตฌํ๋ PR๊ณผ post๊ฐ ๊ตฌํ๋ PR์ ์ฌ๋ฆฌ๋ฉด ๋ฐ๋์ conflict๊ฐ ๋๊ฒ ๋์ด ์์
-> ๋ด๊ฐ feature/users-view๋ฅผ ์์ฑํ๋ ๋์ ๋ค๋ฅธ ๋๊ธฐ์ ์ฝ๋๊ฐ ์๋กญ๊ฒ main์ merge๋์ด PR ์ฌ๋ ธ๋๋ conflict ๋ฐ์
-> main ๋ธ๋์น๋ก ์ฎ๊ฒจ์ ๋จผ์ git pull origin main
-> feature/users-view๋ก ์ด๋
-> git merge main, ๊ทธ๋ผ conflict์ ๋ํ ๋ฉ์ธ์ง๊ฐ ๋ค์ ๋ธ
-> code๋ฅผ ์ด์ด์ ํด๋น ๋ด์ฉ ์ค ์ต์ ๋ฒ์ (main ๋ด์ฉ)์ผ๋ก ์ ํํ๊ณ ๋๋จธ์ง๋ ์ญ์ ํจ
-> git status
, git diff
๋ก ๋ณ๊ฒฝ์ฌํญ ํ์ธ
-> git add, commit ์งํ ํ push origin ์งํ
2
git diff๋ฅผ ํตํด ํญ์ ํ์ธํ๊ณ PR ์ฌ๋ฆด ๊ฒ
๋ ์ค์ํ ๊ฒ์ ๋ด๊ฐ ๋ฌด์์ ์์ ํ๋๊ฐ๋ฅผ ํ์ธํด์ PR ์ฌ๋ ค์ผ ํ๋ค๋ ๊ฒ !
3
์๋ํฌ์ธํธ
ํ๋ก ํธ๊ฐ ์ฌ์ฉ์์๊ฒ ๋ณด์ฌ์ฃผ๋ url๊ณผ ์๋ฒ๊ฐ ํ๋ก ํธ์ ๋ณด๋ด๋ url์ด ๋ค๋ฅด๋ค.
์๋ฒ๊ฐ ๋ณด๋ผ ๋๋, url์ ํญ์ ๋ฆฌ์์ค ๊ธฐ์ค์ผ๋ก ์ ์ ๋ด๋ฆฐ๋ค
ํ์์ ๋ณดํ์ด์ง๋ผ ์น๋ฉด, mypage
-> users
๋ก ๋ฐ๊ฟ์ผ ํจ
4
๋ชจ๋ธ๋ง์ด ๋ฐ๋๋ฉด ํญ์ migration์ ํด์ผ ํ๋ค
column์ด ๋ฐ๋๋ฉด ํญ์ migrate๋ฅผ ํด์ค์ผ ์๋ฌ๊ฐ ๋ฐ์ํ์ง ์๊ณ , ๋ง์ฝ ๋ฐ์ํ์ ๊ฒฝ์ฐ ํต์์ ์ผ๋ก๋ main์ ์๋ migration ํ์ผ์ ํผ์ณ๋๊ณ ์ต์ ๊ฒ๋ถํฐ 0001๋ฒ์ ๊น์ง ํ๊ณ ์ฌ๋ผ๊ฐ์ ์์ ํด์ผ ํ๋ค. (์ด๋ฐ ๊ฒฝ์ฐ์๋ ๊ธฐ์กด ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๊ฐ์ด ๋น๊ตํด๊ฐ๋ฉฐ ํด์ผ.. ์ด ๊ณผ์ ์ด ๋งค์ฐ ๊น๋ค๋ก์. ๊ทธ๋ฆฌ๊ณ db ์์์๋ django_migration์ ํตํด ๋ชจ๋ ๋ฒ์ ์ ๊ธฐ๋กํ๊ณ ์์. ์ฌ๋ฌ๊ฐ์ง ์ด์ ๋ก ์ผ๋ฐ์ ์ผ๋ก ์ฃผ๋์ด๋คํํ
๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ จํด์ ์์
์ํค์ง ์์)
5
์ฟผ๋ฆฌํ๋ผ๋ฏธํฐ ์๋ฌ
ํ๋ก ํธ๋ก๋ถํฐ category_id
์ page_id
๋ ๋ค ๋ฐ์์ผ ํ๋ค๊ณ ํ ๋, page_id
๊ฐ ์
๋ ฅ๋์ด ์์ง ์์ ๋ฐ์ํ๋ ์๋ฌ๋ ์ฒ๋ฆฌ๋ฅผ ๋ฐ๋ก ํ์ง ์์.
-> ํ๋ก ํธ์์ ๋ฌด์กฐ๊ฑด ์์๋๋ก ์ ๋ฌํด์ค์ผ ํ๋ ๊ฒ์ด๋ผ ์๋ฒ์์ ๊ณ ๋ คํด์ผ ํ case๊ฐ ์๋
6
paginationํ ๋๋ offset/limit ์ฌ์ฉ
๋ง์ฝ ์ฒ์์ ๋ด๊ฐ ์์ 10๊ฐ ์ด๋ฐ์์ผ๋ก ์ก์์ ๊ทธ ๋๋ฒ๋ฅผ ๋ฐ๋ ์์ผ๋ก ํ๋ฉด, ํ ํ์ด์ง์ 10๊ฐ๊ฐ ์๋๋ผ ๊ฐ์๋ฅผ ๋ค๋ฅด๊ฒ ๋ฐ๊ณ ์ถ๋๋ก ๋ณ๊ฒฝํ ๋ ๋ณ๊ฒฝํ๊ธฐ ์ด๋ ค์ด ๋ฌธ์ ๊ฐ ์๊น.
์ ๋์ฑ์ ์ํด์, offset/limit์ผ๋ก ์จ์ผ ํ๋ค.
๊ด๋ จ library๊ฐ ์๊ธด ํจ (ํ์ง๋ง ์ฌ์ฉํ๋ ๊ฒ์ ํ์ฌ ๋จ๊ณ์์ ๋น์ถ)
offset์ ์์์ ์ด๊ณ , Limit์ ๋๋๋ ์ง์
์ฌ์ฉ์ ์
์ฅ์์ ์๊ฐํด๋ณด๋ฉด, ์๋์ผ๋ก 1~50, 1~100๊น์ง ์ค์ ๋์ด ๋ณด์ฌ์ง๋ ๊ฒ์ ์ ์ ์๋ค. ๊ทธ๋ฆฌ๊ณ 2ํ์ด์ง๋ก ๋์ด๊ฐ๋ฉด 51~100, 101~200 ์ด๋ฐ ์์ผ๋ก.
์ฆ, slicing์ ํด์ค ๋ [offset:offset+limit]
์ ํด์ผ ์์ ๊ฐ์ด ์ ์ ์๋ํ๋ค. ๊ทธ๋ฆฌ๊ณ limit์ ์์๋ก ์ค์ (10๊ฐ์ฉ ๋ณด์ฌ์ค๊ฑฐ๋ฉด 10).
๋ง์ฝ [offset:limit]
์ผ๋ก ํด๋ฒ๋ฆฌ๋ฉด, 2ํ์ด์ง๋ก ๋์ด๊ฐ์ ๋ 51~100 ์ด๋ ๊ฒ ๋๋๊ฒ ์๋๋ผ 51~10์ด ๋์ด ๋ฒ๋ฆฐ๋ค.