๐ค Chapter 2: ์ค์ฉ์ฃผ์ ์ ๊ทผ๋ฒ
๐ญ Topic 8. ์ข์ ์ค๊ณ์ ํต์ฌโ
Tip 14. ์ข์ ์ค๊ณ๋ ๋์ ์ค๊ณ๋ณด๋ค ๋ฐ๊พธ๊ธฐ ์ฝ๋ค.
์ด๋ค ๊ฒ ์ ์ค๊ณ๋์๋ค๋ ๊ฑด ๊ทธ ๋ฌผ๊ฑด์ด ์ฌ์ฉํ๋ ์ฌ๋์๊ฒ ์ ์ํ์ฌ ๋ง์ถฐ์ง๋ค๋ ๊ฒ์ด๋ค. ์ด ๋ง์ ์ฝ๋์ ์ ์ฉํด ๋ณด๋ฉด, ์ ์ค๊ณ๋ ์ฝ๋๋ ๋ฐ๋์ผ๋ก์จ ์ฌ์ฉํ๋ ์ฌ๋์๊ฒ ๋ง์ถฐ์ ์ผ ํ๋ค. ๊ทธ๋์ ์ฐ๋ฆฌ๋ ETC ์์น์ ๋ฐ๋ฅธ๋ค. ๋ฐ๊พธ๊ธฐ ๋ ์ฝ๊ฒ(Easier to Change, ETC). ์ด๊ฒ ์ ๋ถ๋ค.
์ฐ๋ฆฌ๊ฐ ์๋ ํ ์ธ์์ ๋ชจ๋ ์ค๊ณ ์์น์ ETC์ ํน์ํ ๊ฒฝ์ฐ๋ค.
์ ๊ฒฐํฉ๋๋ฅผ ์ค์ด๋ฉด ์ข์๊ฐ? ๊ด์ฌ์ฌ๋ฅผ ๋ถ๋ฆฌํจ์ผ๋ก์จ ๊ฐ๊ฐ์ด ๋ ๋ฐ๊พธ๊ธฐ ์ฌ์์ง๊ธฐ ๋๋ฌธ์ด๋ค. ETC.
์ ๋จ์ผ ์ฑ
์ ์์น์ด ์ ์ฉํ๊ฐ? ์๊ตฌ ์ฌํญ์ด ๋ฐ๋๋๋ผ๋ ๋ชจ๋ ํ๋๋ง ๋ฐ๊ฟ์ ๋ฐ์ํ ์ ์๊ธฐ ๋๋ฌธ์ด๋ค. ETC.
์ ์ด๋ฆ ์ง๊ธฐ๊ฐ ์ค์ํ๊ฐ? ์ด๋ฆ์ด ์ข์ผ๋ฉด ์ฝ๋๊ฐ ์ฝ๊ธฐ ์ฌ์์ง๊ณ , ์ฝ๋๋ฅผ ๋ฐ๊พธ๋ ค๋ฉด ์ฝ๋๋ฅผ ์ฝ์ด์ผ ํ๊ธฐ ๋๋ฌธ์ด๋ค. ETC!
๐ฅ ETC๋ ๊ท์น์ด ์๋๋ผ ๊ฐ์นโ
๊ฐ์น๋ ์ฌ๋ฌ๋ถ์ด ๊ฒฐ์ ์ ๋ด ๋ฆฌ๊ฒ ๋์์ ์ฃผ๋ ๊ฒ์ด๋ค. ์ํํธ์จ์ด๋ผ๋ ํ์์ ์๊ฐํด ๋ณด๋ฉด ETC๋ ์ ํ์ ๊ฐ๋ฆผ๊ธธ์์ ๋์์ ์ฃผ๋ ์๋ด์๋ค.
ETC์๋ ์๋ฌต์ ์ธ ์ ์ ๊ฐ ์๋ค. ๋ฐ๋ก ์ฌ๋ฌ ๊ธธ ์ค ์ด๋ค ๊ธธ์ด ๋ฏธ๋์ ๋ณ๊ฒฝ์ ์ฝ๊ฒ ๋ง๋๋์ง ์ ์ ์๋ค๋ ๊ฒ์ด๋ค. ์์์ด ๋๊ฐ ํตํ ํ ๊ณ , ์ฌ๋ฌ๋ถ์ ์ง์์ ๋ฐํ์ผ๋ก ์ถ์ธกํ ์ ์์ ๊ฒ์ด๋ค. ํ์ง๋ง ๊ฐ๋์ ์๋ฌด ์ค๋ง๋ฆฌ๊ฐ ์์ ์๋ ์๋ค. ๊ทธ๋๋ ๊ด์ฐฎ๋ค. ์ด๋ฐ ๊ฒฝ์ฐ ๋ค์ ๋ ๊ฐ์ง๋ฅผ ํด ๋ณด๋ผ.
์ฒซ ๋ฒ์งธ๋ก, ์์ผ๋ก ์ด๋ค ๋ชจ์ต์ผ๋ก ๋ฐ๋์ง ์ ๋ชจ๋ฅด๊ฒ ์ ๋ ์ธ์ ๊ฑด ๊ถ๊ทน์ "๋ฐ๊พธ๊ธฐ ์ฝ๊ฒ"๋ผ๋ ๊ธธ์ ์ ํํ๋ค. ๋ฐ๋ก ์ฌ๋ฌ๋ถ์ด ์์ฑํ๋ ์ฝ๋๋ฅผ ๊ต์ฒดํ๊ธฐ ์ฝ๊ฒ ๋ง๋ค๋๋ก ๋ ธ๋ ฅํ๋ ๊ฒ์ด๋ค. ๊ต์ฒด ๊ฐ๋ฅํ๊ฒ ์์ฑํ๋ผ๋ ๋ง์ ์ฝ๋์ ๊ฒฐํฉ๋๋ฅผ ๋ฎ์ถ๊ณ ์์ง๋๋ฅผ ๋์ด๋ผ๋ ์ด์ผ๊ธฐ์ผ ๋ฟ์ด๋ค.
๋ ๋ฒ์งธ๋ ์ด๋ฐ ๊ฒฝ์ฐ๋ฅผ ์ฌ๋ฌ๋ถ์ ์ง๊ด์ ๋ฐ์ ์ํค๋ ๊ธฐํ๋ก ์ผ์ผ๋ผ๋ ๊ฒ์ด๋ค.
๐ญ Topic 9. DRY: ์ค๋ณต์ ํด์ โ
์ง์์ ๋ณํํ๋ค. ๋๋ก๋ ๊ธ๊ฒฉํ๊ฒ ๋ณํํ๋ค. ํ๋ก๊ทธ๋๋จธ๋ ๋ ์ ์ง ๋ณด์ ๋ชจ๋์ ์๋ค. ์ฐ๋ฆฌ์ ์ดํด๋ ๋ ๋ง๋ค ๋ฐ๋๋ค. ์ฐ๋ฆฌ๊ฐ ํ๋ก์ ํธ์ ์ด์คํด ์๋ ๋์์๋ ์๋ก์ด ์๊ตฌ ์ฌํญ์ด ๋์ฐฉํ๊ณ ๊ธฐ์กด ์๊ตฌ ์ฌํญ์ ์งํํ๋ค.
์ํํธ์จ์ด๋ฅผ ์ ๋ขฐ์ฑ ๋๊ฒ ๊ฐ๋ฐํ๋ ์ ์ผํ ๊ธธ, ๊ฐ๋ฐ์ ์ดํดํ๊ณ ์ ์ง ๋ณด์ํ๊ธฐ ์ฝ๊ฒ ๋ง๋๋ ์ ์ผํ ๊ธธ์ ์ฐ๋ฆฌ๊ฐ DRY๋ผ ๋ถ๋ฅด๋ ์์น์ ๋ฐ๋ฅด๋ ๊ฒ์ด๋ผ ์๊ฐํ๋ค. DRY ์์น์ ๋ค์๊ณผ ๊ฐ๋ค.
๋ชจ๋ ์ง์์ ์์คํ
๋ด์์ ๋จ ํ ๋ฒ๋ง, ์ ๋งคํ์ง ์๊ณ , ๊ถ์ ์๊ฒ ํํ๋์ด์ผ ํ๋ค.
Tip 15. DRY: ๋ฐ๋ณตํ์ง ๋ง๋ผ(Don't Repeat Yourself)
DRY๋ฅผ ๋ฐ๋ฅด์ง ์์ผ๋ฉด ๋๊ฐ์ ๊ฒ์ด ๋ ๊ตฐ๋ฐ ์ด์์ ํํ๋ ๊ฒ์ด๋ค. ํ๋๋ฅผ ๋ฐ๊พธ๋ฉด ๋๋จธ์ง๋ ๋ฐ๊ฟ์ผ ํจ์ ๊ธฐ์ตํด์ผ ํ๋ค. ์ฐ๋ฆฌ๋ DRY๊ฐ "์ค์ฉ์ฃผ์ ํ๋ก๊ทธ๋๋จธ"์ ๋๊ตฌ ์์์์ ๊ฐ์ฅ ์ค์ํ ๋๊ตฌ ์ค ํ๋๋ผ๊ณ ์๊ฐํ๋ค.
๐ฅ DRY๋ ์ฝ๋ ๋ฐ์์๋โ
๋ง์ ์ฌ๋๋ค์ด DRY๊ฐ ์ฝ๋์๋ง ํด๋นํ๋ค๊ณ ๋ฐ์๋ค์๋ค. "์์ค ์ฝ๋๋ฅผ ๋ณต์ฌ-๋ถ์ฌ๋ฃ๊ธฐ ํ์ง ๋ง๋ผ."๋ก ์ดํดํ ๊ฒ์ด๋ค.
๊ทธ๊ฒ๋ DRY์ ์ผ๋ถ์ธ ๊ฒ์ ๋ง๋ค. ํ์ง๋ง ์์ฃผ ์๊ณ ์๋ช ํ ๋ถ๋ถ์ผ ๋ฟ์ด๋ค. DRY๋ ์ง์์ ์ค๋ณต, ์๋์ ์ค๋ณต์ ๋ํ ๊ฒ์ด๋ค. ๋๊ฐ์ ๊ฐ๋ ์ ๋ค๋ฅธ ๊ณณ ๋ ๊ตฐ๋ฐ์์ ํํํ๋ฉด ์ ๋๋ค๋ ๊ฒ์ด๋ค. ๊ฒฝ์ฐ์ ๋ฐ๋ผ์ ์ค๋ณต ํํ์ด ๋ ๊ฐ์ง ์์ ํ ๋ค๋ฅธ ๋ฐฉ์์ผ๋ก ์ด๋ฃจ์ด์ง ์๋ ์๋ค.
๐ฅ ๋ชจ๋ ์ฝ๋ ์ค๋ณต์ด ์ง์์ ์ค๋ณต์ ์๋๋คโ
def validate_age(value):
validate_type(value, :integer)
validate_min_integer(value, 1)
def validate_quantity(value):
validate_type(value, :integer)
validate_min_integer(value, 1)
์ฝ๋๋ ๋์ผํ์ง๋ง ๋ ํจ์๊ฐ ํํํ๋ ์ง์์ ๋ค๋ฅด๋ค. ๋ ํจ์๋ ๊ฐ๊ฐ ์๋ก ๋ค๋ฅธ ๊ฒ์ ๊ฒ์ฆํ๊ณ ์์ง๋ง, ์ฐ์ฐํ ๊ท์น์ด ๊ฐ์ ๊ฒ๋ฟ์ด๋ค. ์ด๊ฒ์ ์ฐ์ฐ์ด์ง ์ค๋ณต์ด ์๋๋ค.
๐ฅ ๋ฌธ์ํ ์ค๋ณตโ
์์ธ์ง๋ ๋ชจ๋ฅด๊ฒ ์ง๋ง ๋ชจ๋ ํจ์์ ์ฃผ์์ ๋ฌ์์ผ ํ๋ค๋ ๋ฏธ์ ์ด ์๊ฒจ๋ฌ๋ค. ํ ๋ฒ์ ์ฃผ์์ผ๋ก, ๋ ํ ๋ฒ์ ์ฝ๋๋ก ํจ์์ ์๋๋ ๋ ๋ฒ ํํ๋๋ค.
์ฐ๋ฆฌ๋ ์์ ์ฌํญ์ด ์๊ธฐ๋ฉด ๋ ๊ตฐ๋ฐ๋ฅผ ํจ๊ผ ๊ณ ์ณ์ผ ํ๋ค. ์๊ฐ์ด ์ง๋จ์ ๋ฐ๋ผ ์ฃผ์๊ณผ ์ฝ๋์ ๋ด์ฉ์ด ์๋ก ์ด๊ธ๋๊ฒ ๋ ๊ฑฐ๋ผ๊ณ ๊ฑฐ์ ํ์คํ ์ฅ๋ดํ ์ ์๋ค.
์ฐ๋ฆฌ๊ฐ ๋ณด๊ธฐ์๋ ์ด๋ฆ์ด๋ ์ฝ๋ ๊ตฌ์กฐ์ ๋ถ์คํจ์ ๋ฉ๊พธ๋ ์ญํ ์ ํ ๋ฟ์ด๋ค. ํจ์ ์ด๋ฆ์ด ํจ์๊ฐ ํ๋ ์ผ์ ์๋ ค์ค๋ค. ๋ ์์ธํ ๊ฒ์ ์๊ณ ์ถ๋ค๋ฉด ์์ค ์ฝ๋๋ฅผ ๋ณด๋ฉด ๋๋ค. ์ด๊ฒ์ด DRY๋ค!
๐ฅ ํํ์์ ์ค๋ณตโ
์ฌ๋ฌ๋ถ์ ์ฝ๋๋ ๋ฐ๊นฅ์ธ์๊ณผ ์ฐ๊ฒฐ๋๋ค. ๋ค๋ฅธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์๋ API๋ก, ๋ค๋ฅธ ์๋น์ค์๋ ์๊ฒฐ ํธ์ถ์ด๋ ์ธ๋ถ ์ ์ฅ์์ ๋ฐ์ดํฐ ๋ฑ์ผ๋ก ์ฐ๊ฒฐ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด๋ ๊ฒ ์ฐ๊ฒฐ๋ ๋๋ง๋ค ์ผ์ข ์ DRY ์๋ฐ์ ํ๊ฒ ๋๋ค. ์ธ๋ถ์ ๋ฌด์ธ๊ฐ์ ํํ๋ ์ง์์ธ API๋ ์คํค๋ง, ์๋ฌ ์ฝ๋์ ์๋ฏธ ๋ฑ์ ์ฌ๋ฌ๋ถ์ ์ฝ๋๋ ์์์ผ๋ง ํ๋ ๊ฒ์ด๋ค. ์ฌ๊ธฐ์๋ ์ฐ๊ฒฐ์ ํํํ๋ ์ง์์ ์ฌ๋ฌ๋ถ์ ์ฝ๋์ ์ธ๋ถ์ ์กด์ฌ ์์ชฝ์ด ๋ชจ๋ ์์์ผ ํ๊ธฐ ๋๋ฌธ์ ์ค๋ณต์ด ์๊ธด๋ค. ํ์ชฝ์์๋ง ๋ฐ๊พธ๋ฉด ๋ค๋ฅธ ์ชฝ์ ๋ง๊ฐ์ง ๊ฒ์ด๋ค.
์ด๋ฐ ์ค๋ณต์ ์์ ํผํ ์๋ ์์ง๋ง ๋ค์ ์ํํ ์๋ ์๋ค.
๋ด๋ถ API์์ ์๊ธฐ๋ ์ค๋ณตโ
์ธ์ด๋ ๊ธฐ์ ์ ์ค๋ฆฝ์ ์ธ ํ์์ผ๋ก ๋ด๋ถ API๋ฅผ ์ ์ํ ์ ์๋ ๋๊ตฌ๋ฅผ ์ฐพ์๋ณด๋ผ. ์ด๋ฐ ๋๊ตฌ๋ ์ผ๋ฐ์ ์ผ๋ก ๋ฌธ์์ ๋ชฉ API, ๊ธฐ๋ฅ ํ ์คํธ๋ฅผ ์์ฑํด ์ฃผ๊ณ , API ํด๋ผ์ด์ธํธ๋ ์ฌ๋ฌ ๊ฐ์ง ์ธ์ด๋ก ์์ฑํด ์ค๋ค. ์ด์์ ์ผ๋ก๋ ์ด ๋๊ตฌ๋ฅผ ์ด์ฉํ์ฌ ๋ชจ๋ API ์ ์๋ฅผ ์ค์ ์ ์ฅ์์ ๋ฃ์ด ๋๊ณ ์ฌ๋ฌ ํ์ด ๊ณต์ ํ ์ ์๊ฒ ํ๋ฉด ์ข๋ค.
์ธ๋ถ API์์ ์๊ธฐ๋ ์ค๋ณตโ
๊ณต๊ฐ API๋ฅผ OpenAPI ๊ฐ์ ํ์์ผ๋ก ์๋ฐํ๊ฒ ๋ฌธ์ํํ๋ ๊ฒฝ์ฐ๊ฐ ์ ์ ๋ง์์ง๊ณ ์๋ค. ์ด๋ฐ ํ์์ API ๋ช ์ธ๋ฅผ ์ฌ๋ฌ๋ถ์ API ๋๊ตฌ๋ก ๋ถ๋ฌ์์ ์ฌ์ฉํ๋ฉด ๋์ฑ ์ ๋ขฐ์ฑ ์๊ฒ ํด๋น ์๋น์ค๋ฅผ ์ฐ๋ํ ์ ์๋ค.
๋ฐ์ดํฐ ์ ์ฅ์์์ ์ค๋ณตโ
๋ง์ ๋ฐ์ดํฐ ์ ์ฅ์๊ฐ ๋ฐ์ดํฐ ์คํค๋ง ๋ถ์ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ค. ์ด๋ฐ ๊ธฐ๋ฅ์ ์ด์ฉํ๋ฉด ๋ฐ์ดํฐ ์ ์ฅ์์ ์ฝ๋ ๊ฐ์ ์ค๋ณต์ ๋ง์ด ์ ๊ฑฐํ ์ ์๋ค.
๐ฅ ๊ฐ๋ฐ์ ๊ฐ์ ์ค๋ณตโ
์๋ง ๋ฐ๊ฒฌํ๊ฑฐ๋ ์์ ๊ธฐ ๊ฐ์ฅ ์ด๋ ค์ด ์ ํ์ ์ค๋ณต์ ๊ฐ์ ํ๋ก์ ํธ์์ ์ผํ๋ ๊ฐ๋ฐ์๋ค ์ฌ์ด์์ ๋ฐ์ํ ๊ฒ์ด๋ค. ๋๊ฐ์ ์ผ์ ํ๋ ์ฝ๋๊ฐ ์ฐ์ฐํ ์ค๋ณต์ผ๋ก ์ถ๊ฐ๋ ์ ์๊ณ , ์ด๋ฐ ์ค๋ณต์ ์๋
๋์ ๋ฐ๊ฒฌ๋์ง ์์ ์ ์๋ค.
๊ฐ๋ฐ์๋ค์ ์ฐ์ถ๋ฌผ ๊ฐ์ ์ค๋ณต์ ๋์ฒํ๋ ค๋ฉด ํฌ๊ฒ๋ ์์ฌ์ํต์ ์ํ๋ ํผํผํ๊ณ ์ ๋๊ฐ ๋๋
ํ ํ์ ๋ง๋ค์ด์ผ ํ๋ค. ์ฐ๋ฆฌ๊ฐ ๋๋ผ๊ธฐ์ ์ต์ ์ฑ
์ ๊ฐ๋ฐ์ ๊ฐ์ ์ ๊ทน์ ์ด๊ณ ๋น๋ฒํ ์ํต์ ์ฅ๋ คํ๋ ๊ฒ์ด๋ค.
์ผ์ผ ์คํฌ๋ผ ์คํ ๋์
๋ฏธํ
์ ์ด์ํด ๋ณผ ์ ์๋ค. ์ฌ๋ ์ฑ๋๊ฐ์ด ๊ณตํต์ ๋ฌธ์ ๋ฅผ ๋ค๋ฃจ๊ธฐ ์ํ ๊ณต๊ฐ์ ๋ง๋ค๋ผ. ์ด๋ฐ ์ํํธ์จ์ด๋ฅผ ์ฌ์ฉํ๋ฉด ๋ชจ๋ ๋ํ ๊ธฐ๋ก์ ๋ณด์กดํ ์ ์๊ณ , ๋ฐฉํด๋ฅผ ์ต์ํํ๋ฉด์ ์์ฌ์ํต์ด ๊ฐ๋ฅํ๋ค.
ํ์ ํ ์ฌ๋์ ํ๋ก์ ํธ ์ฌ์๋ก ์๋ช ํ๋ผ. ํ๋ก์ ํธ ์ฌ์์ ์ญํ ์ ์ง์ ๊ตํ์ ๋๋ ๊ฒ์ด๋ค. ๊ทธ๋ฆฌ๊ณ ์ผ์์ ์ผ๋ก๋ ์ฝ๋ ๋ฆฌ๋ทฐ๋ฅผ ํตํด์๋ ๋ค๋ฅธ ์ฌ๋์ ์์ค ์ฝ๋์ ๋ฌธ์๋ฅผ ๋ฐ๋์ ์ฝ์ด๋ผ. ๋ค๋ฅธ ์ฌ๋์ ๊ฒ์ ๊ธฐ์๊ฑฐ๋ฆฌ๋ ๊ฒ ์๋๊ณ , ๊ฑฐ๊ธฐ์ ๋ฐฐ์ฐ๋ ๊ฒ์ด๋ค. ๊ทธ๋ฆฌ๊ณ ๊ธฐ์ตํ๋ผ. ์ ๊ทผ์ ์ํธ์ ์ด๋ค. ๋ค๋ฅธ ์ฌ๋์ด ์ฌ๋ฌ๋ถ์ ์ฝ๋๋ฅผ ๋ค์ฌ๋ค๋ณด๊ณ ๊ฑด๋๋ฆฐ๋ค๊ณ ํด์ ๊ธฐ๋ถ ๋๋น ํ์ง ๋ง ์ผ์ด๋ค.
Tip 14. ์ฌ์ฌ์ฉํ๊ธฐ ์ฝ๊ฒ ๋ง๋ค์ด๋ผ.
์ฌ๋ฌ๋ถ์ ๋ญ๊ฐ๋ฅผ ์ง์ ๋ง๋๋ ๊ฒ๋ณด๋ค ๊ธฐ์กด์ ๊ฒ์ ์ฐพ์๋ด๊ณ ์ฌ์ฌ์ฉํ๊ธฐ ์ฌ์ด ํ๊ฒฝ์ ์กฐ์ฑํด์ผ ํ๋ค. ์ฌ๋๋ค์ ์ฝ์ง ์์ผ๋ฉด ํ์ง ์์ ๊ฒ์ด๋ค. ๊ทธ๋ฆฌ๊ณ ์ฌ์ฌ์ฉ์ ์คํจํ๋ค๋ฉด ์ง์ ์ค๋ณต์ ์ํ์ ๊ฐ์ํด์ผ ํ๋ค.
๐ญ Topic 10. ์ง๊ต์ฑโ
์ง๊ต์ฑ(orthogonality)์ ์ค๊ณ์ ๋น๋, ํ ์คํธ, ํ์ฅ์ด ์ฌ์ด ์์คํ ์ ๋ง๋๋ ๋ฐ์ ์์ด ๋งค์ฐ ์ค์ํ ๊ฐ๋ ์ด๋ค.
๐ฅ ์ง๊ต์ฑ์ด๋โ
์ปดํจํฐ ๊ณผํ์์ ์ด ์ฉ์ด๋ ์ผ์ข ์ ๋ ๋ฆฝ์ฑ์ด๋, ๊ฒฐํฉ๋ ์ค์ด๊ธฐ๋ฅผ ์๋ฏธํ๋ค. ํ๋๊ฐ ๋ฐ๋์ด๋ ๋๋จธ์ง์ ์ด๋ค ์ํฅ๋ ์ฃผ์ง ์์ผ๋ฉด ์๋ก ์ง๊ตํ๋ค๊ณ ํ ์ ์๋ค. ์ ์ค๊ณ๋ ์์คํ ์์๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฝ๋๊ฐ ์ฌ์ฉ์ ์ธํฐํ์ด์ค์ ์๋ก ์ง๊ตํ ๊ฒ์ด๋ค.
๐ฅ ์ง๊ต์ฑ์ ์ฅ์ โ
๋น์ง๊ต์ ์ธ ์์คํ ์ ๋ณธ์ง์ ์ผ๋ก ๋ณ๊ฒฝ๊ณผ ์กฐ์ ์ด ๋ ๋ณต์กํ๋ค. ์์คํ ์ ์ปดํฌ๋ํธ๋ค์ด ๊ณ ๋๋ก ์ํธ ์์กด์ ์ธ ๊ฒฝ์ฐ ํน์ ๋ถ๋ถ๋ง ๊ตญ์ง์ ์ผ๋ก ์์ ํ๋ ๋ฐฉ๋ฒ์ด๋ ์๋ค.
Tip 17. ๊ด๋ จ ์๋ ๊ฒ๋ค ๊ฐ์ ์๋ก ์ํฅ์ด ์๋๋ก ํ๋ผ.
์ฐ๋ฆฌ๊ฐ ์ค๊ณํ๊ณ ์ถ์ ๊ฒ์ ์์กฑ์ ์ธ ์ปดํฌ๋ํธ, ์ฆ ๋จ์ผํ๊ณ ์ ์ ์๋ ๋ชฉ์ ์ ๊ฐ์ง ๋ ๋ฆฝ์ ์ธ ์ปดํฌ๋ํธ๋ค. ์ปดํฌ๋ํธ๋ค์ด ๊ฐ๊ธฐ ๊ฒฉ๋ฆฌ๋์ด ์์ผ๋ฉด ์ด๋ ํ๋๋ฅผ ๋ฐ๊ฟ ๋ ๋๋จธ์ง ๊ฒ๋ค์ ๊ฑฑ์ ํ์ง ์์๋ ๋๋ค. ํด๋น ์ปดํฌ๋ํธ์ ์ธ๋ถ ์ธํฐํ์ด์ค๋ฅผ ๋ฐ๊พธ์ง ์๋ ํ ์ ์ฒด ์์คํ ์ผ๋ก ํผ์ ธ ๋๊ฐ๋ ๋ฌธ์ ๋ฅผ ์ผ์ผํค์ง๋ ์์ผ๋ฆฌ๋ผ๊ณ ํ์ ํ ์ ์๋ค.
์ง๊ต์ ์ธ ์์คํ ์ ์์ฑํ๋ฉด ๋ ๊ฐ์ง ํฐ ์ฅ์ ์ด ์๋ค. ๋ฐ๋ก ์์ฐ์ฑ ํฅ์๊ณผ ๋ฆฌ์คํฌ ๊ฐ์๋ค.
์์์ฑ ํฅ์โ
- ๋ณํ๋ฅผ ๊ตญ์ํํด์ ๊ฐ๋ฐ ์๊ฐ๊ณผ ํ ์คํธ ์๊ฐ ์ด ์ค์ด๋ ๋ค. ์๋์ ์ผ๋ก ์๊ณ , ์์กฑ์ ์ธ ์ปดํฌ๋ํธ๋ค์ ์์ฑํ๋ ๊ฒ์ด ํ๋์ ์ปค๋ค๋ ์ฝ๋ ๋ฉ์ด๋ฆฌ๋ฅผ ๋ง๋๋ ๊ฒ๋ณด๋ค ๋ ์ฝ๋ค. ๊ฐ๋จํ ์ปดํฌ๋ํธ๋ ์ค๊ณํ๊ณ , ์ฝ๋ฉํ๊ณ , ํ ์คํธํ๊ณ , ๊ทธ๋ฌ๊ณ ๋ ์์ด๋ฒ๋ฆด ์ ์๋ค. ์๋ก์ด ์ฝ๋๋ฅผ ์ถ๊ฐํ ๋๋ง๋ค ๊ธฐ์กด์ ์ฝ๋๋ฅผ ๊ณ์ ๋ฐ๊พธ์ง ์์๋ ๋๋ค.
- ์ง๊ต์ ์ธ ์ ๊ทผ๋ฒ์ ์ฌ์ฌ์ฉ๋ ์ด์ง๋๋ค. ์ปดํฌ๋ํธ์ ๋ช ํํ๊ณ ์ ์ ์๋ ์ฑ ์์ด ํ ๋น๋์ด ์์ผ๋ฉด ์ ์ด์ ๊ตฌํ์๊ฐ ์์ํ์ง ๋ชปํ ๋ฐฉ์์ผ๋ก ์๋ก์ด ์ปดํฌ๋ํธ์ ๊ฒฐํฉํ ์ ์๋ค. ์์คํ ์ด ๋ ๋์จํ๊ฒ ๊ฒฐํฉ๋์ด ์์์๋ก ์ฌ์กฐํฉํ๊ณ ๊ฐ๋ํ๊ธฐ ์ฝ๋ค.
- ์ง๊ต์ ์ธ ์ปดํฌ๋ํธ๋ค์ ๊ฒฐํฉํ๋ ๊ฒฝ์ฐ ์ป์ ์ ์๋ ๊ฝค ๋ฏธ๋ฌํ ์์ฐ์ฑ ํฅ์ ์์๊ฐ ์๋ค. ์ปดํฌ๋ํธ ํ๋๊ฐ M๊ฐ์ง ์๋ก ๋ค๋ฅธ ์ผ์ ํ๊ณ ๋ ๋ค๋ฅธ ์ปดํฌ๋ํธ ํ๋๊ฐ N๊ฐ์ง ์ผ์ ํ๋ค๊ณ ๊ฐ์ ํ์. ๋ง์ฝ ๋ ์ปดํฌ๋ํธ๊ฐ ์ง๊ต์ ์ด๋ผ๋ฉด ๊ฒฐํฉํ์ ๋ ๊ฒฐ๊ณผ๋ฌผ์ M x N๊ฐ์ง ์ผ์ ํ๋ค.
๋ฆฌ์คํฌ ๊ฐ์โ
์ง๊ต์ ์ธ ์ ๊ทผ๋ฒ์ ๋ชจ๋ ๊ฐ๋ฐ ์์ ์ ์กด์ฌํ ์๋ฐ์ ์๋ ์ํ์ ํฌ๊ธฐ๋ฅผ ๊ฐ์์์ผ ์ค๋ค.
- ๊ฐ์ผ๋ ์ฝ๋๊ฐ ๊ฒฉ๋ฆฌ๋์ด ์๋ค.
- ์์คํ ์ด ์ ๊นจ์ง์ง ์๋๋ค. ์ด๋ค ๋ถ๋ถ์ ๊ณจ๋ผ์ ์ฝ๊ฐ ๋ฐ๊พธ๊ณ ๊ณ ์ณค์ ๋ ํน์ ๋ฌธ์ ๊ฐ ์๊ธฐ๋๋ผ๋ ๋ฌธ์ ์ ์ ๊ทธ ๋ถ๋ถ์ผ๋ก ํ์ ๋ ๊ฒ์ด๋ค.
- ์ง๊ต์ ์ธ ์์คํ ์ ๊ทธ ์์ ์ปดํฌ๋ํธ๋ค์ ๋ํด ํ ์คํธ๋ฅผ ์ค๊ณํ๊ณ ์คํํ๊ธฐ ํจ์ฌ ์ฝ๊ธฐ ๋๋ฌธ์, ์๋ฌด๋๋ ํ ์คํธ๋ฅผ ๋ ๋ง์ด ํ๊ฒ ๋๋ค.
- ํน์ ์ ์ฒด๋ ์ ํ, ํ๋ซํผ์ ๋ ์ข ์๋ ๊ฒ์ด๋ค.