ํ๋ก์ ํธ ๊ฐ๋ฐ ์ ๊ทผ๋ฒ: ์ฝ๋๋ฅผ ๋์ด ํ๋ฆ์ ์ดํดํ๊ธฐ
๐ก ๊ฐ๋ฐ ์์ผ์ ์ ํ: ๋๋ฌด์์ ์ฒ์ผ๋ก
๊ฐ๋ฐ์ ๋ฐฐ์ฐ๋ ๊ณผ์ ์์ ๋ง์ ํ์๋ค์ด ๊ฒช๋ ๊ฐ์ฅ ํฐ ์ด๋ ค์ ์ค ํ๋๋ ์ฝ๋๋ฅผ ๋ฐ๋ผ๋ณด๋ ๊ด์ ์ ๋๋ค. ์ด๊ธฐ์๋ ๋๋ถ๋ถ ์ฝ๋๋ฅผ ํ ์ค ํ ์ค ๋ถ์ํ๋ฉฐ โ์ด๊ฒ์ด ๋ฌด์์ธ๊ฐ?โ๋ผ๋ ์์ด์ ์ธ ์ง๋ฌธ์ ์ง์คํ๊ฒ ๋ฉ๋๋ค. ๋ง์น ์๋ก์ด ์ธ์ด๋ก ๋ ์ฑ ์ ๋จ์ด ํ๋ํ๋ ํด์ํ๋ฉฐ ์ฝ๋ ๊ฒ์ฒ๋ผ์.
์ฌ๋ฌ๋ถ์ด ๊ฒฝํํ ์ด ๊ณผ์ ์ ๊ฐ๋ฐ์๋ก ์ฑ์ฅํ๋ ์์ฐ์ค๋ฌ์ด ๋จ๊ณ์ ๋๋ค. ํ์ง๋ง ์ง์ ํ ๋์ฝ์ ์ด ๋จ๊ณ๋ฅผ ๋์ด์ค ๋ ์ผ์ด๋ฉ๋๋ค.
"์ฝ๋์ ๊ฐ๋ณ ์กฐ๊ฐ๋ณด๋ค ์ ์ฒด ํ๋ก์ ํธ์ ํ๋ฆ์ ๋จผ์ ์ดํดํ๋ผ."
๐ง Bottom-Up ์ ๊ทผ๋ฒ์ ํ๊ณ
์ฌ๋ฌ๋ถ์ด ๊ธฐ์กด์ ์๋ํ๋ ๋ฐฉ์์ ์ ํ์ ์ธ Bottom-Up ์ ๊ทผ๋ฒ์ ๋๋ค:
- ๋ชจ๋ฅด๋ ํด๋์ค๋ ๋ฌธ๋ฒ์ด ๋์ค๋ฉด ์ฆ์ ๊ตฌ๊ธ๋ง
- ๊ฐ ์ฝ๋ ๋ผ์ธ์ ์๋ฏธ๋ฅผ ํ๋ํ๋ ์ ๋ฆฌ
- ๋ชจ๋ ๊ฐ๋ ์ ๋ฌธ์ํํ์ฌ ์ ์ฅ
์ด ๋ฐฉ์์ ๋ฌธ์ ์ ์:
- ์๊ฐ ํจ์จ์ฑ์ ๋ถ์ฌ - ์ ์ฒด ๋งฅ๋ฝ์ ํ์ ํ๋ ๋ฐ ๋๋ฌด ๋ง์ ์๊ฐ์ด ์์๋ฉ๋๋ค
- ์ค์ฉ์ฑ ๋ถ์กฑ - ์ด๋ก ์ ์ดํด๋ ๋์์ง์ง๋ง ์ค์ ๊ฐ๋ฐ ๋ฅ๋ ฅ์ผ๋ก ์ด์ด์ง์ง ์์ต๋๋ค
- ์ฒ์ ๋ณด์ง ๋ชปํ๋ ์์ผ - ์์ ๋ถ๋ถ์ ๋งค๋ชฐ๋์ด ํ๋ก์ ํธ์ ์ ์ฒด ์ํคํ ์ฒ์ ์๋๋ฅผ ๋์น๊ฒ ๋ฉ๋๋ค
๐ Top-Down ๋ฐฉ์์ ๊ฐ๋ฐ: โBuild ๋ถํฐ ํ์ธ์โ
ํ์ ๊ฐ๋ฐ์์ โBuild ๋ถํฐ ํ์ธ์โ๋ผ๋ ์กฐ์ธ์ ๊ฐ๋ฐ ์ ๊ทผ๋ฒ์ ํต์ฌ์ ๋ด๊ณ ์์ต๋๋ค. ์ด๊ฒ์ด ์๋ฏธํ๋ ๋ฐ๋:
1๏ธโฃ ํฐ ๊ทธ๋ฆผ ๋จผ์ ํ์ ํ๊ธฐ
- ํ๋ก์ ํธ๊ฐ ์ด๋ค ๊ธฐ์ ์คํ์ ์ฌ์ฉํ๋์ง
- ์ ์ฒด์ ์ธ ๋๋ ํ ๋ฆฌ ๊ตฌ์กฐ๋ ์ด๋ป๊ฒ ๊ตฌ์ฑ๋์ด ์๋์ง
- ๊ฐ๋ฐ์๊ฐ ์ด๋ค ๊ธฐ๋ฅ๋ถํฐ, ์ด๋ค ์์๋ก ๊ตฌํํ๋์ง
2๏ธโฃ ์คํ ๊ฐ๋ฅํ ์ฝ๋๋ฅผ ํตํ ์ดํด
- ์ค์ ๋ก ์ ํ๋ฆฌ์ผ์ด์ ์ ๋น๋ํ๊ณ ์คํํด๋ณด๋ฉด์ ๊ธฐ๋ฅ์ ํ๋ฆ ํ์
- ๋๋ฒ๊น ์ ํตํด ์ฝ๋์ ์คํ ๊ณผ์ ์ ์ถ์
3๏ธโฃ ์๋์ ๋งฅ๋ฝ ์ค์ฌ์ ์ฝ๋ ๋ถ์
- โ์ด ์ฝ๋๊ฐ ์ ์ฌ๊ธฐ์ ์๋๊ฐ?โ
- โ์ด ๊ธฐ๋ฅ์ ๊ตฌํํ๊ธฐ ์ํด ์ด๋ค ์ค๊ณ ๊ฒฐ์ ์ด ์ด๋ฃจ์ด์ก๋๊ฐ?โ
๐ง ์ฌ๊ณ ํ๋ ๊ฐ๋ฐ: ๋ชจ๋ ์ฝ๋์ ์๋ฏธ ๋ถ์ฌํ๊ธฐ
"๋ชจ๋ ์ฝ๋๋ ์๋ฏธ๊ฐ ์๊ณ ์๊ฐ์ ํ๊ณ ์์ฑํด์ผ ํ๋ค."
์ด ํต์ฐฐ์ ๊ฐ๋ฐ์ ๋ณธ์ง์ ๊ฟฐ๋ซ๋ ์ค์ํ ๊ฐ๋ฅด์นจ์ ๋๋ค. ๋จ์ํ โ๋์๊ฐ๊ฒโ ๋ง๋๋ ์ฝ๋์ โ์๋ฏธ ์๋โ ์ฝ๋์ ์ฐจ์ด๋ ์์ฒญ๋ฉ๋๋ค.
๊ฐ๋ฐ ๊ณผ์ ์ ์์ ์ฌ์ ๋ฆฝ:
- ๋ฌธ์ ์ ์ - ๋ฌด์์ ํด๊ฒฐํ๋ ค๋๊ฐ?
- ์ํคํ ์ฒ ์ค๊ณ - ์ ์ฒด ๊ตฌ์กฐ๋ ์ด๋ป๊ฒ ๊ตฌ์ฑํ ๊ฒ์ธ๊ฐ?
- ๊ฐ์ฒด/์ปดํฌ๋ํธ ์ค๊ณ - ํ์ํ ๊ฐ์ฒด์ ๊ด๊ณ๋ ๋ฌด์์ธ๊ฐ?
- ๊ตฌํ - ์ค์ ์ฝ๋ ์์ฑ
- ๊ฒ์ฆ - ์๋๋๋ก ๋์ํ๋์ง ํ์ธ
์ด ์์๋ฅผ ๋ฐ๋ฅด๋ฉด ๊ฐ ์ฝ๋๊ฐ ์ ์กด์ฌํ๋์ง, ์ด๋ค ์ญํ ์ ํ๋์ง ๋ช ํํด์ง๋๋ค.
โ๏ธ ์ค์ฉ์ ์ธ ๊ฐ๋ฐ ์ต๊ด์ผ๋ก์ ์ ํ
์ด๋ฌํ ๊นจ๋ฌ์์ ๋ฐํ์ผ๋ก ๋ค์๊ณผ ๊ฐ์ ์ค์ฉ์ ์ธ ๊ฐ๋ฐ ์ต๊ด์ ๊ธฐ๋ฅด๋ ๊ฒ์ด ์ค์ํฉ๋๋ค:
- ์ ํ๋ก์ ํธ๋ฅผ ์ ํ ๋:
- ์ฆ์ ๋น๋ํ๊ณ ์คํํด๋ณด๊ธฐ
- README์ ์ค์ ํ์ผ ๋จผ์ ์ดํด๋ณด๊ธฐ
- ํต์ฌ ๊ธฐ๋ฅ ํ๋ฆ ๋ฐ๋ผ๊ฐ๊ธฐ
- ์ฝ๋๋ฅผ ์์ฑํ ๋:
- ๊ธฐ๋ฅ ๊ตฌํ ์ ์ ์ค๊ณ ๋จ๊ณ ๊ฑฐ์น๊ธฐ
- โ์ด ์ฝ๋๊ฐ ์ ํ์ํ๊ฐ?โ ํญ์ ์ง๋ฌธํ๊ธฐ
- ์๋ฏธ ์๋ ๋ค์ด๋ฐ๊ณผ ๊ตฌ์กฐํ์ ํฌ์ํ๊ธฐ
- ํ์ตํ ๋:
- ๋จํธ์ ์ง์๋ณด๋ค ํจํด๊ณผ ์์น ์ดํดํ๊ธฐ
- ์ค์ ํ๋ก์ ํธ์ ์ ์ฉํด๋ณด๋ฉฐ ํ์ตํ๊ธฐ
- ๋ค๋ฅธ ๊ฐ๋ฐ์์ ์ฝ๋๋ฅผ ๋ณผ ๋ ์๋์ ๋งฅ๋ฝ ํ์ ํ๊ธฐ
๐ ๊ฐ๋ฐ์๋ก์์ ์ฑ์ฅ ์ฌ์
์ฌ๋ฌ๋ถ์ ์ด๋ฌํ ๊นจ๋ฌ์์ ๊ฐ๋ฐ์๋ก์ ์ค์ํ ์ฑ์ฅ ์ง์ ์ ๋ํ๋ ๋๋ค. ์ฝ๋์ ๋ฌธ๋ฒ์ ์ดํด์์ ์ํคํ ์ฒ์ ์ค๊ณ์ ์ดํด๋ก ์์ผ๊ฐ ํ์ฅ๋๋ ์๊ฐ์ ๋๋ค.
๊ธฐ์ตํ์ธ์: ๋ฐ์ด๋ ๊ฐ๋ฐ์๋ ๋จ์ํ ์ฝ๋๋ฅผ ๋ง์ด ์๋ ์ฌ๋์ด ์๋๋ผ, ์ฝ๋์ ์๋ฏธ์ ๋งฅ๋ฝ์ ์ดํดํ๊ณ ๊ฐ์น ์๋ ์ค๊ณ ๊ฒฐ์ ์ ๋ด๋ฆด ์ ์๋ ์ฌ๋์ ๋๋ค.
์์ผ๋ก์ ๊ฐ๋ฐ ์ฌ์ ์์ ์ด๋ฌํ ๋์ ์์ผ์ ๊น์ ์ฌ๊ณ ๋ฅผ ๋ฐํ์ผ๋ก ๋ ํจ์จ์ ์ด๊ณ ์๋ฏธ ์๋ ์ฝ๋๋ฅผ ์์ฑํ์๊ธธ ๋ฐ๋๋๋ค. ์ฌ๋ฌ๋ถ์ ์ฑ์ฅ์ ์์ํฉ๋๋ค! ๐ฑ
โํ๋ก๊ทธ๋จ์ ๋ณต์ก์ฑ์ ์ํ(state)์ ๋ณต์ก์ฑ์์ ๋น๋กฏ๋๋ค.
๋ฐ๋ผ์ ์ฝ๋๋ฅผ ์์ฑํ ๋๋ ํญ์ โ์โ๋ผ๋ ์ง๋ฌธ์ ๋์ ธ์ผ ํ๋ค.โ
โ Rich Hickey