ํฐ์คํ ๋ฆฌ ๋ทฐ
๐์ค๋ณต์ ํด์
ํ๋ก๊ทธ๋จ์ ๊ฐ๋ฐํ๋ ์ค์ ์ง์์ ์ค๋ณตํด ๋ฃ๋ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค ๊ทธ๋ ๊ฒ ๋๋ค๋ฉด ์ ํ๋ฆฌ์ผ์ด์ ์ด ์์ฑ๋๊ธฐ ์ ๋ถํฐ ์ ์ง๋ณด์์ ์ ๋ชฝ์ด ์์๋ ๊ฒ์ด๋ค.
์ํํธ์จ์ด๋ฅผ ์ ๋ขฐ์ฑ ๋๊ฒ ๊ฐ๋ฐํ๊ณ ๊ฐ๋ฐ์ ์ดํดํ๊ณ ์ ์ง ๋ณด์ํ๊ธฐ ์ฝ๊ฒ ๋ง๋๋ ์ ์ผํ ๊ธธ์ DRY์์น์ ๋ฐ๋ฅด๋ ๊ฒ์ด๋ค
DRY - ๋ฐ๋ณตํ์ง ๋ง๋ผ Don't Repeat Yourself
๋ชจ๋ ์ง์์ ์์คํ ๋ด์์ ๋จ์ผํ๊ณ ์ ๋งคํ์ง ์๊ณ ์ ๋ง๋ก ๋ฏฟ์๋งํ ํํ์์์ ๊ฐ์ ธ์ผ ํ๋ค.
DRY์์น์ ๋ฐ๋ฅด์ง ์๋๋ค๋ฉด ๋๊ฐ์ ๊ฒ์ 2๊ตฐ๋ฐ ์ด์ ํํํ์ ๊ฒฝ์ฐ ํ๋๋ฅผ ๋ฐ๊พผ๋ค๋ฉด ๋๋จธ์ง ํ๋๋ ๋ฐ๊ฟ์ผ ํจ์ ๊ธฐ์ตํด์ผ ํ๋ค.
- ์ด๊ฒ์ ๊ธฐ์ตํ๋๋ ๋ง๋๋์ ๋ฌธ์ ๊ฐ ์๋๋ค, ๋จ์ง ์ธ์ ์์ด๋ฒ๋ฆด ๊ฒ์ธ๊ฐ์ ๋ฌธ์ ์ด๋ค.
๐์ธ์ ์ค๋ณต์ด ์๊ธฐ๋๊ฐ?
- ๊ฐ์๋ ์ค๋ณต : ๊ฐ๋ฐ์๋ค์ ๋ค๋ฅธ ์ ํ์ด ์๋ค๊ณ ๋๋๋ค. ํ๊ฒฝ์ด ์ค๋ณต์ ์๊ตฌํ๋ ๊ฒ์ฒ๋ผ ๋ณด์ธ๋ค.
- ํ๋ก์ ํธ ํ์ค์ด ์ค๋ณต๋ ์ ๋ณด๊ฐ ๊ธฐ๋ก๋ ๋ฌธ์๋ฅผ ์๊ตฌํ๊ฑฐ๋ ์ฝ๋์ ์ค๋ณต ์ ๋ณด๊ฐ ์๊ธฐ๋ ๋ฌธ์๋ฅผ ์๊ตฌํ๋ ๊ฒฝ์ฐ
- ์ฌ๋ฌ ํ๋ซํผ์ ์ง์ํด์ผ ํ๋ ๊ฒฝ์ฐ
- ๊ฐ๊ฐ์ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด, ๋ผ์ด๋ธ๋ฌ๋ฆฌ, ๊ฐ๋ฐํ๊ฒฝ์ด ํ์ํ๊ณ ์ฌ๊ธฐ์ ๊ณต์ ๋ ์ ์์ ํ๋ก์์ ๋ค์ด ์ค๋ณต๋๋ ๊ฒฝ์ฐ
- ํ๋ก๊ทธ๋๋ฐ ์ธ์ด ์์ฒด๊ฐ ์ ๋ณด๊ฐ ์ค๋ณต๋๋ ์ด๋ค ๊ตฌ์กฐ๋ฅผ ์๊ตฌํ๋ ๊ฒฝ์ฐ
- ์ ๋ณด์ ๋ค์ํ ํํ์์
- ์๋ก ๋ค๋ฅธ ์ธ์ด๋ฅผ ์ฌ์ฉํ์ง๋ง ๊ณตํต๋ ๊ตฌ์กฐ๋ฅผ ์์ชฝ ๋ชจ๋์์ ํํํด์ผ ํ ๋๊ฐ ์๋ค. ex) ์๋ฒ - ํด๋ผ์ด์ธํธ
- ๊ฐ๋จํ ํํฐ๋ ์ฝ๋ ์์ฑ๊ธฐ๋ฅผ ์์ฑํ๋ ๊ฒ์ด ํด๋ต์ด๋ค.
- ๊ณต๋์ ๋ฉํ๋ฐ์ดํฐ ํํ์์ ์ฌ๋ฌ ๊ฐ์ ์ธ์ด์ ๊ฑธ์ณ์๋ ๊ตฌ์กฐ๋ฅผ ๋ง๋ค์ด ๋ผ ์ ์๋ค.
- ์ฝ๋ ๋ด์ ๋ฌธ์ํ
- ์ฃผ์์ ์์ฑํ๋ ๊ฒ์ ์ข๋ค ํ์ง๋ง ์งง์ ์ฝ๋์์๋ ์ฃผ์์ ์์ฑํ๋ ๊ฒ์ ์ข์ง ์๋ค.
- ๋์ ์ฝ๋๋ ๋ง์ ์ฃผ์์ ํ์๋ก ํ๋ค.
- ์ฝ๋๋ ์ฝ๋๋ก ๋ง์ ํ๋ค, ์ด๋ ค์ด ์ฝ๋๋ ์ดํด๋ฅผ ๋๊ธฐ ์ํด ์ฃผ์์ ์์ฑํด์ฃผ๋ฉด ์ข๋ค.
- ์ฃผ์์ ์์ฑํ๋ ๊ฒ์ ์ข๋ค ํ์ง๋ง ์งง์ ์ฝ๋์์๋ ์ฃผ์์ ์์ฑํ๋ ๊ฒ์ ์ข์ง ์๋ค.
- ๋ฌธ์ํ์ ์ฝ๋
- ์ฐ๋ฆฌ๋ ์ฃผ๋ก ๋ฌธ์๋ฅผ ์์ฑํ๊ณ ๋์ ์ฝ๋๋ฅผ ์์ฑํ๋ค.
- ๋ญ๊ฐ๋ฅผ ๋ฐ๊พธ๋ฉด ๋ฌธ์๋ฅผ ์์ ํ๊ณ ์ฝ๋๋ฅผ ๊ฐฑ์ ํ๋ค.
- ๋ฌธ์์ ์ฝ๋ ๋ ๋ค ๋์ผ ์ง์์ ๋ํ ํํ์ด๋ค.
- ๋ฐ์ ์๊ธฐ์๋ ์ฝ๋๋ง ๋ฐ๊พธ๊ณ ๋ฌธ์์ ๊ฐฑ์ ์ ๋ค๋ก ๋ฏธ๋ฃจ๊ฒ ๋๋ค.
- ๋ฌธ์๋ฅผ ์๋์ผ๋ก ๋ฐ๋๊ฒ ํ๋ ๊ฒ์ด ๊ฐ๋ฐ์ ์ ์ฅ์์ ์ข๋ค.
- ํค๋ ํ์ผ๊ณผ ๊ตฌํ ํ์ผ์ ์๋ ์ฃผ์์ ๋ํด ์๊ฐํด๋ด๋ผ
- ํจ์ ํน์ ํด๋์ค ํค๋ ์ฃผ์์ 2๊ฐ ํ์ผ์ ๊ฑธ์ณ ์ค๋ณตํ ์ด์ ๋ ์๋ค
- ํค๋ ํ์ผ์๋ ์ธํฐํ์ด์ค์ ๋ํ ์ฌํญ์ ๊ธฐ๋กํ๋ผ
- ๊ตฌํ ํ์ผ์๋ ๊ทธ ์ฝ๋์ ์ฌ์ฉ์๊ฐ ์ ํ์๊ฐ ์๋ ์์ธํ ๊ฒ๋ค์ ๊ธฐ๋กํด๋ผ
- ๋ถ์ฃผ์ํ ์ค๋ณต : ๊ฐ๋ฐ์๋ค์ ์์ ์ด ์ ๋ณด๋ฅผ ์ค๋ณตํ๊ณ ์๋ค๋ ๊ฒ์ ๊นจ๋ซ์ง ๋ชปํ๋ค. ์ด ํด๋์ค๋ ๊ทธ๋ด์ธํด ๋ณด์ด์ง๋ง๊ธธ์ด๋ ์์์ ๊ณผ ๋์ ์ผ๋ก ์ ์๊ฐ ๋๋ค, ๊ทธ์ค ํ๋๋ผ๋ ๋ฐ๋๋ฉด ๊ธธ์ด๋ ๋ฐ๋๊ฒ ๋๋ค, ๊ทธ๋ฌ๋๊น ๊ธธ์ด๋ ๊ณ์ฐ๋๋ ํ๋๋ก ๋ง๋๋ ๊ฒ์ด ๋ซ๋ค
- ํด๋์ค ๋ด์ ๋ฉ์๋๋ค๋ง ์ข ๊ณ ์ํ๋ฉด ๋๋ค.
- ์๋ฅผ ๋ค์ด Line์ด๋ผ๋ ํด๋์ค์ ์์์ , ๋์ , ๊ธธ์ด ๋ผ๋ ์์ฑ ๊ฐ์ด ์๋ค,
- ์ฐธ์์ฑ ์๋ ์ค๋ณต : ์ค๋ณต์ด ์ฌ์ ๋ณด์ด๊ธฐ ๋๋ฌธ์ ๊ฐ๋ฐ์๋ค์ด ๊ฒ์๋ฌ์ ธ์ ์ค๋ณต์ ํ๊ฒ ๋๋ค.
- ํ์ง๋ง ๋์ค์ ๊ณ ํต์ ํผํ๊ธฐ ์ํด์ ์๊ฐ์ ํฌ์ํด์ ์ค๋ณต์ ํ์ง ์์์ผ ํ๋ค.
- ๊ฐ๋ฐ์ ๊ฐ์ ์ค๋ณต : ํ ํ์ ์๋(ํน์ ๋ค๋ฅธ ํ์ ์๋) ์ฌ๋ฌ ์ฌ๋๋ค์ด ๋์ผํ ์ ๋ณด๋ฅผ ์ค๋ณตํ๋ค.
- ์ต์ ์ฑ
์ ๊ฐ๋ฐ์๊ฐ์ ์ ๊ทน์ ์ด๊ณ ๋น๋ฒํ ์ํต์ ์ฅ๋ คํ๋ ๊ฒ์ด๋ค.
- ๊ณตํต์ ๋ฌธ์ ๋ฅผ ๋ค๋ฃจ๊ธฐ ์ํ ํ ๋ก ์ฅ
- ์ต์ ์ฑ
์ ๊ฐ๋ฐ์๊ฐ์ ์ ๊ทน์ ์ด๊ณ ๋น๋ฒํ ์ํต์ ์ฅ๋ คํ๋ ๊ฒ์ด๋ค.
์ฌ์ฌ์ฉํ๊ธฐ ์ฝ๊ฒ ๋ง๋ค์ด๋ผ
- ๊ฐ๋ฐ์๋ค์ด ์กฐ์ฑํด์ผ ํ ํ๊ฒฝ์ ๋ญ๊ฐ๋ฅผ ์ง์ ๋ง๋๋ ๊ฒ๋ณด๋ค ๊ธฐ์กด์ ๊ฒ์ ์ฌ์ฌ์ฉํ๋ ํ๊ฒฝ์ด๋ค.
๐์ง๊ต ์ฑ
ํ๋๋ฅผ ๋ณ๊ฒฝํ ๋๋ง๋ค ๋ค๋ฅธ ๋ค ๊ฐ์ ๋ฌด์ธ๊ฐ๊ฐ ์ด์ํด์ง๋ค๋ฉด? ๋์ฐํ๋ค
์ค๊ณ, ๋น๋, ํ ์คํธ ๊ทธ๋ฆฌ๊ณ ํ์ฅํ๊ธฐ์ ์ฌ์ด ์์คํ ์ ๋ง๋๋ ๋ฐ์ ์์ด ์ง๊ต์ฑ์ ๋งค์ฐ ์ค์ํ ๊ฐ๋ ์ด๋ค.
์ง๊ต ์ฑ์ ์์น์ ์ ์ฉํ๋ ๊ฑธ ์ง์ ๋ฐฐ์ฐ๋ฉด ์ฌ๋ฌ๋ถ์ด ๋ง๋๋ ์์คํ ์ ์ง์ ์ฆ๊ฐ ๊ฐ์ ํ ์ ์์ ๊ฒ์ด๋ค.
์ง๊ต ์ฑ์ด๋?
์ปดํจํ ์์ ์ง๊ต ์ฑ์ด๋ ๋ชจ๋ ๊ฐ์ ๋ ๋ฆฝ์ฑ(independence)์ด๋, ๊ฒฐํฉ๋ ์ค์ด๊ธฐ(decoupling)์ ์๋ฏธํ๋ค.
์ง๊ต ์ฑ๊ณผ ๋ฐ๋๋๋ ๊ฐ๋ ์ ์ํธ์์กด์ ์ธ ๊ฒ์ด๋ค, ํน์ ๋ถ๋ถ์ ๋ณํ์ํค๋ฉด ๊ทธ๊ฒ๋ง ๋ณํ๋๋ ๊ฒ์ด ์๋ ์ํธ์์กด์ ์ธ ์ด๋ค ๊ฒ๋ ๊ฐ์ด ๋ณํ๊ธฐ ๋๋ฌธ์ ์ด๋ ํ ์๋ฌ๋ฅผ ๋ฐ์์ํฌ์ง ๋ชจ๋ฅธ๋ค.
๊ทธ๋ฌ๋๊น ์ด๋ ํ๋๋ฅผ ๋ฐ๊ฟ ๋ ๋๋จธ์ง ๊ฒ๋ค์ ๊ฑฑ์ ํ์ง ์์๋ ๋๋๋ก ์ค๊ณ๋ฅผ ํด์ผ ํ๋ค.
๊ด๋ จ ์๋ ๊ฒ๋ค ๊ฐ์ ์๋ก ์ํฅ์ด ์๋๋ก ํ๋ผ.
์ง๊ต ์ฑ์ ์ฅ์
- ์์์ฑ ํฅ์
- ๋ณํ๊ฐ ์ง์ญ์์๋ง ์ผ์ด๋์ ๊ฐ๋ฐ ์๊ฐ๊ณผ ํ ์คํธ ์๊ฐ์ด ์ค์ด๋ ๋ค.
- ์๋์ ์ผ๋ก ์์ ์ปดํฌ๋ํธ๋ฅผ ์์ฑํ๋ ๊ฒ์ด ํ๋์ ์ปค๋ค๋ ์ฝ๋ ๋ฉ์ด๋ฆฌ๋ฅผ ๋ง๋๋ ๊ฒ๋ณด๋ค ์ฝ๋ค.
- ๋ํ ์ง๊ต์ ์ธ ์ ๊ทผ๋ฒ์ ์ฌ์ฌ์ฉ์ ์ด์งํ๋ค.
- ์ปดํฌ๋ํธ๋ค์ด ๋ช ํํ๊ณ ์ ์ ์๋์ด ์๋ค๋ฉด ์ฝ๋๋ฅผ ๋ ์ง์ง ์๊ณ ๋ ์ ๊ฒฐํฉํ์ฌ ์ฌ์ฉํ ์ ์๋ค.
- ๋ฆฌ์คํฌ ๊ฐ์
- ์ง๊ต์ ์ธ ์ ๊ทผ๋ฒ์ ์ด๋ค ๊ฐ๋ฐ์๋ ์ ์ฌ์ ์ธ ๋ฆฌ์คํฌ๋ฅผ ๊ฐ์์์ผ ์ค๋ค.
- ๊ฐ์ผ๋ ์ฝ๋๋ฅผ ๊ฒฉ๋ฆฌ์ํค๊ณ ๊ทธ ์ฝ๋๋ง ๋๋ ค๋ด๊ณ ์๋กญ๊ฒ ์ฝ๋๋ฅผ ์ง๊ธฐ ์ฝ๋ค.
- ์ด๋ค ๋ถ๋ถ์ ์ฝ๊ฐ ๋ฐ๊พธ๊ณ ์๋ฆฌํด๋ ๊ฑฐ๊ธฐ์์ ์๊ธฐ๋ ๋ฌธ์ ์ ๋ค์ ๊ทธ ๋ถ๋ถ์ ํ์ ๋์ด ์๊ธฐ ๋๋ฌธ์ ์๋ฌ ์ฒ๋ฆฌํ๊ธฐ๋ ์ข๋ค.
์ง๊ต ์ฑ์ ์์น์ ์ผ์ ์ ์ฉํ๊ธฐ
ํ๋ก์ ํธํ
ํ ๋ด ์ ๋ฌด๊ฐ ๊ฒน์น๋ ์์ญ์ด ๋ง๋ค๋ฉด ๊ตฌ์ฑ์๋ค์ ์ฑ ์์์ญ์ ๋ํด ํผ๋ํ๊ฒ ๋๋ค, ๋ญ ํ๋ ๋ฐ๊พธ๋ ค๊ณ ํด๋ ๊ทธ๋ค ์ค ๋๊ตฌ๋ผ๋ ์ํฅ์ ๋ฐ์ ์ ์๊ธฐ ๋๋ฌธ์ ์ ์ฒด ํ์์ด ๋ชจ์ฌ์ผ ํ๋ค.
ํ ๊ตฌ์กฐ๋ฅผ ์ง๊ต์ ์ผ๋ก ๊ตฌ์ฑํด์ผ ํ๋ค ์ผ๋ง๋ ์ง๊ต ์ฑ์ ๊ฐ๋์ง ์ธก์ ํด๋ณผ ์ ์๋ ๊ฒ์ ์์ฒญ๋ ๊ฐ๋ณ ๋ณํ์ ๋ํ ํ ๋ก ์ ์ฐธ์ฌํ ํ์๊ฐ ์๋ ์ฌ๋์ด ๋ช ๋ช ์ธ๊ฐ๋ฅผ ๋ณด๋ ๊ฒ์ด๋ค.
์ซ์๊ฐ ํด์๋ก ๊ทธ๋ฃน์ ์ง๊ต ์ฑ์ ๋ฎ๋ค.
์ง๊ต์ ์ธ ํ์ด ๋ ํจ์จ์ ์์ด ๋ช ๋ฐฑํ๋ค.
์ค๊ณ
๊ฐ ๋ชจ๋์ ๋ค๋ฅธ ๋ถ๋ถ๊ณผ ๋ ๋ฆฝ์ ์ธ ๊ธฐ๋ฅ์ ๊ตฌํํด์ผ ํ๋ค.
๊ณ์ธต์ ์ ๊ทผ์ ์ง๊ต์ ์์คํ ์ ์ค๊ณํ๋ ๊ฐ๋ ฅํ ๋ฐฉ๋ฒ์ด๋ค.
๊ฐ ๊ณ์ธต์ ์๊ธฐ ๋ฐ์ ์๋ ๊ณ์ธต๋ค์ด ์ ๊ณตํ๋ ์ถ์ํ๋ง์ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ ์ฝ๋์ ์ํฅ์ ๋ผ์น์ง ์์ผ๋ฉด์ ์๋์ ์๋ ๋ค๋ฅธ ๊ตฌํ๋ค์ ๋ฐ๊พธ๋ ๋์ ์ ์ฐ์ฑ์ ์ป์ ์ ์๋ค.
๊ณ์ธต์ ๋๋ ๊ฒ์ ๋ํ ๋ชจ๋ ๊ฐ์ ์ข ์์ฑ์ด ๋ฐ๋ฆฌ ๋์ด๋๋ ์ํ์ ๊ฐ์์ํจ๋ค.
์ปดํฌ๋ํธ๋ฅผ ๋๋์์ ๋ ์ค์ค๋ก์๊ฒ ๋ฌผ์ด๋ณด๋ผ
'ํน์ ๊ธฐ๋ฅ์ ๋ํ ์๊ตฌ์ฌํญ์ ๊ทน์ ์ผ๋ก ๋ณ๊ฒฝํ์ ๊ฒฝ์ฐ, ๋ช ๊ฐ์ ๋ชจ๋์ด ์ํฅ์ ๋ฐ๋๊ฐ?'
- ์ง๊ต์ ์ธ ์์คํ ์์๋ ๋ต์ด 'ํ๋' ์ฌ์ผ ํ๋ค.
ํดํท๊ณผ ๋ผ์ด๋ธ๋ฌ๋ฆฌ
์จ๋ํํฐ ํดํท์ด๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๋์ ํ ๋, ์์คํ ์ ์ง๊ต ์ฑ์ ๋ณด์กดํ ์ ์๋์ง ์ฃผ์๊น๊ฒ ์ดํด๋ณด๊ณ ๊ธฐ์ ์ ํ๋ช ํ๊ฒ ์ ํํ๋ผ.
์ฝ๋ฉ
์์ ์ด ์์ฑํ๋ ์ฝ๋๋ฅผ ํญ์ ๋นํ์ ์ผ๋ก ๊ฒํ ํด๋ณด๋ ์ต๊ด์ ๊ธฐ๋ฅด๊ธธ ๋ฐ๋๋ค.
๊ธฐํ๊ฐ ์์ ๋๋ง๋ค ์ฝ๋์ ๊ตฌ์กฐ์ ์ง๊ต์ฑ์ ํฅ์ํ๋๋ก ๋ ธ๋ ฅํด๋ผ.
์ด๋ฌํ ํ๋ก์ธ์ค๋ฅผ ๋ฆฌํฉํ ๋ง(refactoring)์ด๋ผ๊ณ ๋ถ๋ฅด๋ฉฐ ๋งค์ฐ ์ค์ํ๋ค.
์ง๊ต ์ฑ์ ์ ์งํ๊ธฐ ์ํ 3๊ฐ์ง ๊ธฐ๋ฒ
- ์ฝ๋์ ๊ฒฐํฉ๋๋ฅผ ์ค์ฌ๋ผ ๊ฐ์ฒด์, ์ํ๋ฅผ ๋ฐ๊ฟ ํ์๊ฐ ์๋ค๋ฉด, ๊ฐ์ฒด ์ค์ค๋ก๊ฐ ๊ทธ๋ฌํ ์ผ์ ์ํํ๊ฒ ๋ง๋ค์ด๋ผ.
- ๋ถํ์ํ ์ด๋ค ๊ฒ๋ ๋ค๋ฅธ ๋ชจ๋์ ๋ณด์ฌ์ฃผ์ง ์์ผ๋ฉฐ ๋ค๋ฅธ ๋ชจ๋์ ๊ตฌํ์ ์์กดํ์ง ์๋ ์ฝ๋๋ฅผ ์์ฑํ๋ผ
- ์ ์ญ ๋ฐ์ดํฐ๋ฅผ ํผํ๋ผ ์ฝ๊ธฐ ์ ์ฉ ๋ชฉ์ ์ผ๋ก ์ ์ญ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ๋ค ํ๋๋ผ๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์๋ค.
- ์ฝ๋๊ฐ ์ ์ญ ๋ฐ์ดํฐ๋ฅผ ์ฐธ์กฐํ ๋๋ง๋ค, ์ฝ๋๋ ํด๋น ๋ฐ์ดํฐ๋ฅผ ๊ณต์ ํ๋ ๋ค๋ฅธ ์ปดํฌ๋ํธ์ ๋ฌถ์ด๊ฒ ๋๋ค.
- ์ ์ฌํ ํจ์๋ฅผ ํผํ๋ผ
- ์ข ์ข ์ ์ฌํด ๋ณด์ด๋ ํจ์์ ์งํฉ์ ๊ตฌํํด์ผ ํ ๋๊ฐ ์๋ค.
ํ ์คํธ
์ง๊ต์ ์ผ๋ก ์ค๊ณ, ๊ตฌํํ ์์คํ ์ ํ ์คํธํ๊ธฐ ๋ ์ฝ๋ค.
์์คํ ์ปดํฌ๋ํธ ๊ฐ์ ์ํธ์์ฉ์ด ํ์ํ๋๊ณ ์ ํ๋์๊ธฐ ๋๋ฌธ์ ์์คํ ํ ์คํธ์ ๋ ๋ง์ ๋ถ๋ถ์ ๊ฐ๊ฐ์ ๋ชจ๋ ์์ค์์ ์ํํ ์ ์๊ธฐ ๋๋ฌธ์ด๋ค.
์ด๋ ๋ชจ๋(๋จ์) ์์ค์ ํ ์คํธ๊ฐ ํตํฉ ํ ์คํธ๋ณด๋ค ํ ์คํธ ์ผ์ด์ค๋ฅผ ๋ง๋ค๊ณ ์ํํ๊ธฐ ํจ์ฌ ์ฝ๋ค๋ ์ ์์ ์ข์ ์์์ด๋ค.
์ฐ๋ฆฌ๋ ๋ชจ๋ ๋ชจ๋์ด ์์ ๋ง์ ๋จ์ ํ ์คํธ๋ฅผ ์ํ ํ ์คํธ์ผ์ด์ค๋ฅผ ๊ฐ๊ณ ํ ์คํธ๊ฐ ์ ๊ท ๋น๋ ๊ณผ์ ์ ์ผ๋ถ๋ก ์ํ๋์ด์ผ ํ๋ค๊ณ ์๊ฐํ๋ค.
๋จ์ ํ ์คํธ๋ฅผ ๋ง๋ ๋ค๋ ๊ฒ ์์ฒด๊ฐ ์ง๊ต ์ฑ์ ํ ์คํธํด๋ณผ ์ ์๋ ํฅ๋ฏธ๋ก์ด ์์ ์ด๋ค.
๋ฌธ์ํ
์ ๋ง๋ก ์ง๊ต์ ์ธ ๋ฌธ์๋ผ๋ฉด ๋ด์ฉ ๋ณํ ์์ด ํํ์ ๊ทน์ ์ผ๋ก ๋ฐ๊ฟ ์ ์๋ค.
ํ๋์ ์๋ ํ๋ก์ธ์๋ ์ด๋ฅผ ๋์์ฃผ๋ ์คํ์ผ์คํธ์ ๋งคํฌ๋ก๋ฅผ ์ ๊ณตํ๋ค.
์ง๊ต์ ์ผ๋ก ์ด๊ธฐ
DRY์์น๊ณผ ๋งค์ฐ ๋ฐ์ ํ ๊ด๊ณ๊ฐ ์๋ค ์์คํ ๋ด๋ถ์ ์ค๋ณต์ ์ต์ํ์ํค๊ณ ์ง๊ต ์ฑ์ ์์คํ ์ปดํฌ๋ํธ ๊ฐ์ ์ํธ์์กด๋๋ฅผ ์ค์ธ๋ค.
๋น์ฐํ ๋ง์ด๊ฒ ์ง๋ง DRY์์น์ผ๋ก ๋ฌด์ฅํ๊ณ ์ง๊ต์ฑ ์๋ฆฌ๋ฅผ ์ถฉ์คํ ์ฌ์ฉํ๋ค๋ฉด ๊ฐ๋ฐํ๊ณ ์๋ ์์คํ ์ด ๋ ์ ์ฐํ๊ณ , ์ดํดํ๊ธฐ ์ฝ๊ณ ๋ํ ๋๋ฒ๊ทธ, ํ ์คํธ ์ ์ง๋ ์ฌ์์ง ๊ฒ์ด๋ค.
๐๊ฐ์ญ์ฑ
๊ฐ์ญ์ฑ์ด๋?
๋ฌผ์ง์ด ์ด๋ค ์ํ๋ก ๋ณํ์๋ค๊ฐ ๋ณธ๋ ์ํ๋ก ๋๋์๊ฐ ์ ์๋ ์ฑ์ง.
๊ฒฐ์ ์ด ๋์ ์๊ฒจ์ง๋ ๊ฒ์ด๋ผ๊ณ ์๊ฐํ๊ณ ๋ฐ์ํ ์ง๋ ๋ชจ๋ฅผ ์ฐ์ฐํ ์ฌ๊ฑด๋ค์ ๋ํด ์ค๋นํ์ง ์๋ ๋ฐ์์ ์ค์๊ฐ ๋์จ๋ค.
๊ฒฐ์ ์ด ๋์ ์๊ฒจ์ง ๊ฒ์ด ์๋๋ผ ํด๋ณ๊ฐ์ ๋ชจ๋ ์์ ์ฐ์ธ ๊ธ์จ๋ผ๊ณ ์๊ฐํด๋ณด๋ผ, ์ธ์ ๋ ์ง ํฐ ํ๋๊ฐ ๊ธ์จ๋ฅผ ์ง์๋ฒ๋ฆด ์ ์๋ค.
์ต์ข ๊ฒฐ์ ์ด๋ ์๋ค.
ํญ์ ๊ฐ๊ด์ ์ผ๋ก ํ๋จํ์ฌ ๋ฌธ์ ๊ฐ ์์ ๊ฒ์ธ์ง ํ๋จํด์ ๋ค๊ฐ์ฌ ์ ์ข์ ๋ฏธ๋๋ฅผ ๋์ฒํ๊ธฐ ์ํ ๋ฐฉ์์ ์ธ์์ผ ํ๋ค.
๐์๊ดํ
์ด๋ ์์์ ์๊ดํ์ ๋ฃ๊ณ ์ด์ ์๋ฉด ๊ทธ ์์ ๋ ์ธ ์ฑ๋ถ์ด ๋ฐํํ์ฌ ์ด์์ ๊ถค์ ์ ๋ณด์ฌ์ค๋ค.
์ด๋ ์์์ ์ด์ ์๋ ๋ฐฉ๋ฒ์ 2๊ฐ์ง์ด๋ค.
- ๋ชฉํ๋ฌผ์ ๋ํด์ ์ ํํ ๊ณ์ฐํ๋ ๊ฒ
- ์๊ดํ์ ์ฌ์ฉํ๋ ๊ฒ
์๊ดํ์ ์ฌ์ฉํ๋ฉด ์ฆ๊ฐ์ ์ธ ๋ฐ์์ ํตํด์ ์กฐ์ค์ ๋ค์ ํ๋ค๋๊ฐ ๋น ๋ฅด๊ฒ ์กฐ์นํ ์ ์๊ธฐ ๋๋ฌธ์ด๋ค.
์๋ก์ด ํ๋ก์ ํธ์์๋ ๋ง์ฐฌ๊ฐ์ง๋ก ์๊ดํ์ฒ๋ผ ํด์ผ ํ๋ค.
์ต์ํ์ง ์์ ์๊ณ ๋ฆฌ์ฆ, ๋ง๋งํ ์๊ตฌ์ฌํญ ๋ฑ ์๋ง์ ๋ฏธ์ง์ ๊ฒ๋ค๊ณผ ์กฐ์ฐ๋ฅผ ํ๊ฒ ๋๋ค ๊ทธ๋ด ๋ ๋ชจ๋ ๋ค ์ ํํ ๊ณ์ฐํด์ ์ผ์ ์ฒ๋ฆฌํ๋ค๋ ๊ฒ์ ๋งค์ฐ ์ด๋ ค์ด ์ผ์ด๋ค.
๊ทธ๋์ ์ค์ฉ์ฃผ์ ํ๋ก๊ทธ๋๋จธ๋ ์๊ดํ์ ์ ํธํ๋ค.
๋ชฉํ๋ฌผ์ ์ฐพ๊ธฐ ์ํด ์๊ดํ์ ์จ๋ผ.
์๊ดํ์ ์๊ตฌ์ฌํญ๋ถํฐ ์ต์ข ์์คํ ๊น์ง ๋์ ๋ณด์ด๊ณ , ๋น ๋ฅด๊ฒ ๋๋ฌํด์ค ์ ์๋ค.
์๊ดํ์ ์ฅ์
- ์ฌ์ฉ์๋ค์ ๋ญ๊ฐ ์๋๋๋ ๊ฒ์ ์ผ์ฐ๋ถํฐ ๋ณด๊ฒ ๋๋ค.
- ๊ฐ๋ฐ์๋ค์ ๋ค์ด๊ฐ์ ์ผํ ์ ์๋ ๊ตฌ์กฐ๋ฅผ ์ป๋๋ค.
- ์๋ฌด๊ฒ๋ ์ฐ์ฌ์์ง ์์ ๋ฐฑ์ง๊ฐ ๊ฐ์ฅ ์ฑ์ฐ๊ธฐ ์ด๋ ต๋ค.
- ํตํฉ์์ ์ ์ํํ ๊ธฐ๋ฐ์ด ์๊ธด๋ค.
- ๋ณด์ฌ์ค ๊ฒ์ด ์๊ธด๋ค.
- ํ๋ก์ ํธ ํ์์๋ ๊ณ ์์ธต ์ธ์ฌ๋ค์ ๋์ผ๋ก ํ์ธ์ ํ๊ณ ์ถ์ด ํ๋ค.
- ์ง์ ์ํฉ์ ๋ํด ๋ ์ ํํ๊ฒ ๊ฐ์ ์ก์ ์ ์๋ค.
- ๋ง์ฝ ํ๋ฆฐ ๋ฐฉํฅ์ผ๋ก ๊ฐ๋๋ผ๋ ์กฐ์ค์ ๋ค์ ํ ์ ์๋ค.
์๊ดํ๊ณผ ํ๋กํ ํ์ดํ์ด ๋ค๋ฅธ ์
ํ๋กํ ํ์ดํ์ ๋๊ตฐ๊ฐ์๊ฒ ๋ณด์ฌ์ฃผ๋ ค๊ณ ๋์ถฉ ๋ง๋ค๊ณ ๋ฒ๋ฆฌ๋ ์ฝ๋์ด๋ค.
์๊ดํ์ ๋์ค์ ๋ฒ๋ฆฌ๋ ค๊ณ ๋ง๋๋ ๊ฒ์ด ์๋๋ผ ๊ณ์ํด์ ์ฌ์ฉํ ์ฝ๋์ด๋ค.
๐ํ๋กํ ํ์ ๊ณผ ํฌ์คํธ์
๊ผญ ์ฝ๋๊ฐ ์๋๋ผ๋ ํ์ดํธ๋ณด๋์ ํฌ์คํธ์์ผ๋ก ํ๋กํ ํ์ ์ ๋ง๋ค ์ ์๋ค.
ํ๋กํ ํ์ ์ ๋์
- ์ํ์ ์๋ฐํ๋ ๋ชจ๋ ๊ฒ
- ์ด์ ์ ํด๋ณธ ์ ์ด ์๋ ๊ฒ
- ์ต์ข ์์คํ ์์ ๋งค์ฐ ์ค์ํ ๊ฒ
ํ๋กํ ํ์ ์ ํตํด ํ์ตํ๋ผ
ํ๋กํ ํ์ ์ ๋ง๋ค ๋ ๋ฌด์ํด๋ ์ข์ ์ธ๋ถ์ฌํญ
- ์ ํ์ฑ : ๊ฐ์ง ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํด๋ ๋๋ค.
- ์์ ์ฑ : ์์ ํ์ง ์์ ๊ธฐ๋ฅ์ด๊ณ ์ ํ๋ ๊ธฐ๋ฅ๋ง ์ ๊ณตํด๋ ๋๋ค.
- ์์ ์ฑ : ์๋ฌ ๊ฒ์ฌ๊ฐ ๋ถ์์ ํ ์ ์๊ณ ์ํ๋ ๋ฐ๋ก ์๋ํ์ง ์์ ์ ์๋ค.
- ์คํ์ผ : ํ๋กํ ํ์ ์ ๋ํ ๋ฌธ์๋ฅผ ๋ง์ด ๋ง๋ค์ง ์์๋ ๋๋ค.
๐๋๋ฉ์ธ ์ธ์ด
์ธ์ด์ ํ๊ณ๊ฐ ๊ณง ์๊ธฐ ์ธ๊ณ์ ํ๊ณ์ด๋ค. -๋ฃจํธ๋นํ ๋นํธ๊ฒ์ํ์ธ-
๋๋ฉ์ธ์ด๋ ์ ๋ฌธ๋ถ์ผ์์ ์ด๋ ํ ๊ฒ์ ๋ํ ์ง์์ ๋ฒ์๋ฅผ ๋งํ๋ค.
์๋๋ ๋ฐฐ์ถ๊น์น๋ฅผ ์๊ฐํ๊ณ ๊น์น๋ฅผ ๋งํด๋ ๋๋ ํ๊น์น๋ผ๊ณ ์๊ฐํ ์ ์๋ค.
์ด๋ฐ ์์ผ๋ก ์๋์ ๋์ ๋๋ฉ์ธ์ ๋ง์ถฐ๊ฐ๋ ์์ ์ ๋งค์ฐ ์ค์ํ๋ค.
์ด๋ค ์์คํ ์ ์ ์ํ๋ ์ฌ์ฉ์์ ๋ง์ ๋ฃ๋ค ๋ณด๋ฉด ๊ทธ๋ค์ด ์ ํํ ์์คํ ์ด ์ด๋ป๊ฒ ๋์ํด์ผ ํ๋์ง ์ฐ๋ฆฌ์๊ฒ ๋งํด์ฃผ๋ ๊ฒฝ์ฐ๊ฐ ์๋ค.
๊ทธ๋ฐ ๊ฒฝ์ฐ์ ๊ทธ๋ค์ด ์ํ๋ ๋ด์ฉ๋๋ก ์ฝ๋๋ฅผ ์์ฑ์ ํ๋ ๊ฒ์ด๋ค.
๋ฌธ์ ๋๋ฉ์ธ์ ๊ฐ๊น๊ฒ ํ๋ก๊ทธ๋๋ฐํ๋ผ.
๐์ถ์
์ถ์ ์ ํตํด ๋๋์ ํผํ๋ผ.
์ด๋ค ์๋ฏธ์์ ๋ชจ๋ ๋ต์ ์ถ์ ์น์ด๋ค,
์ง๋ฌธ์๊ฐ ๋งค์ฐ ๋์ ์ ํ๋์ ๋ต์ ์๊ตฌํ๋๊ฐ? ์๋๋ฉด ๋จ์ํ ํฐ ๊ทธ๋ฆผ๋ง์ ์๊ตฌํ๋๊ฐ?
์ธ์ ์ฏค ๋์ฐฉํ๋๊ณ ๋ฌผ์ด๋ณด์๋ ํ ๋จธ๋, ์๋ง๋ ์ ์ฌ์ ์ค๋นํ์ค์ง, ์ ๋
์ ์ค๋นํ์ค์ง์ ๋ํ ๊ฒ์ด๋ค,
๋น์ ์ด ์ฌ๊ณ ๋ฅผ ๋นํ ๋ค์ด๋ฒ๋ผ๋ฉด ๊ตฌ์กฐ๋์๊ฒ ์ ํํ ์ธ์ ๋์ฐฉํ ๊ฒ์ธ์ง์ ๋ํด ์ด ๋จ์๊น์ง ๊ด์ฌ์ด
์์ ๊ฒ์ด๋ค.
์ ๋ฌํ๋ ค๋ ์ ํ๋๋ฅผ ๊ณ ๋ คํ์ฌ ๋ต๋ณ์ ๋จ์๋ฅผ ์ ํํ๋ ๊ฒ์ด ์ค์ํ๋ค.
์ข์ ์ถ์ ๊ธฐ์ ์ ์ด๋ฏธ ๊ทธ ์ผ์ ํด๋ณธ ์ฌ๋์๊ฒ ๋ฌผ์ด๋ณด๋ผ๋ ๊ฒ์ด๋ค.
์ถ์ ์น๊ฐ ์๋ชป๋์๋๋ผ๋ ์์ธ ๋ฆฌ๊ฑฐ๋ ๋๋ง๊ฐ์ง ๋ง๋ผ.
์ฌ๋ฌ๋ถ์ ์ถ์ธก๊ณผ ์ค์ ๊ฐ์ด ๋ฌ๋ผ์ก๋์ง ์์ธ์ ์ฐพ์์ผ ํ๋ค.
๋๊ตฐ๊ฐ ์ถ์ ์ ๋ํด ๋ฌผ์ผ๋ฉด?
์ ์๋ "๋์ค์ ์ ํ๋๋ฆด๊ฒ์"๋ผ๊ณ ๋งํ๋ค๊ณ ํ๋ค.
์ํ๊ธฐ ์์์ ๋งํ ์ถ์ ์น๋ ์ฌ๋ฌ๋ถ์๊ฒ ํด๋ฅผ ๋ผ์น ๊ฒ์ด๋ผ๊ณ ๋งํ๋ค.
'์๊ธฐ๊ฐ๋ฐ > Book' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
5์ฅ : ๊ตฌ๋ถ๋ฌ์ง๊ฑฐ๋ ๋ถ๋ฌ์ง๊ฑฐ๋ (0) | 2022.04.01 |
---|---|
4์ฅ : ์ค์ฉ์ฃผ์ ํธ์ง์ฆ (0) | 2022.04.01 |
3์ฅ : ๊ธฐ๋ณธ์ ์ธ ๋๊ตฌ (0) | 2022.04.01 |
1์ฅ : ์ค์ฉ์ฃผ์ ์ฒ ํ (0) | 2022.04.01 |
์ค์ฉ์ฃผ์ ํ๋ก๊ทธ๋๋จธ ์์ฝ(๊ฐ์) (0) | 2022.04.01 |
- editor
- ๊ถ๊ธ์ฆ
- HTTP
- ๋๋ฉ์ธ
- SSG
- ์น ์ ๊ทผ์ฑ
- NextJS
- Section
- IP
- base64
- ์ฑ๋ฅ์ต์ ํ
- toast
- React
- SSR
- styled component
- Typescript
- Next
- CSR
- lazyloading
- s3
- ์ฒ ํ
- Proxy
- ํ๋ก ํธ์๋
- ์ ์ธ์ ํ๋ก๊ทธ๋๋ฐ
- https
- ๋ ธ์
- ๋ธ๋ผ์ฐ์
- ์ค์ฉ์ฃผ์ ํ๋ก๊ทธ๋๋จธ
- Next.js
- server
- Total
- Today
- Yesterday
์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |