νλ‘μ νΈ κ°λ° μ κ·Όλ²: μ½λλ₯Ό λμ΄ νλ¦μ μ΄ν΄νκΈ°
π‘ κ°λ° μμΌμ μ ν: λ무μμ μ²μΌλ‘
κ°λ°μ λ°°μ°λ κ³Όμ μμ λ§μ νμλ€μ΄ κ²ͺλ κ°μ₯ ν° μ΄λ €μ μ€ νλλ μ½λλ₯Ό λ°λΌλ³΄λ κ΄μ μ λλ€. μ΄κΈ°μλ λλΆλΆ μ½λλ₯Ό ν μ€ ν μ€ λΆμνλ©° βμ΄κ²μ΄ 무μμΈκ°?βλΌλ μμ΄μ μΈ μ§λ¬Έμ μ§μ€νκ² λ©λλ€. λ§μΉ μλ‘μ΄ μΈμ΄λ‘ λ μ± μ λ¨μ΄ νλνλ ν΄μνλ©° μ½λ κ²μ²λΌμ.
μ¬λ¬λΆμ΄ κ²½νν μ΄ κ³Όμ μ κ°λ°μλ‘ μ±μ₯νλ μμ°μ€λ¬μ΄ λ¨κ³μ λλ€. νμ§λ§ μ§μ ν λμ½μ μ΄ λ¨κ³λ₯Ό λμ΄μ€ λ μΌμ΄λ©λλ€.
"μ½λμ κ°λ³ μ‘°κ°λ³΄λ€ μ 체 νλ‘μ νΈμ νλ¦μ λ¨Όμ μ΄ν΄νλΌ."
π§ Bottom-Up μ κ·Όλ²μ νκ³
μ¬λ¬λΆμ΄ κΈ°μ‘΄μ μλνλ λ°©μμ μ νμ μΈ Bottom-Up μ κ·Όλ²μ λλ€:
- λͺ¨λ₯΄λ ν΄λμ€λ λ¬Έλ²μ΄ λμ€λ©΄ μ¦μ ꡬκΈλ§
- κ° μ½λ λΌμΈμ μλ―Έλ₯Ό νλνλ μ 리
- λͺ¨λ κ°λ μ λ¬Έμννμ¬ μ μ₯
μ΄ λ°©μμ λ¬Έμ μ μ:
- μκ° ν¨μ¨μ±μ λΆμ¬ - μ 체 λ§₯λ½μ νμ νλ λ° λ무 λ§μ μκ°μ΄ μμλ©λλ€
- μ€μ©μ± λΆμ‘± - μ΄λ‘ μ μ΄ν΄λ λμμ§μ§λ§ μ€μ κ°λ° λ₯λ ₯μΌλ‘ μ΄μ΄μ§μ§ μμ΅λλ€
- μ²μ λ³΄μ§ λͺ»νλ μμΌ - μμ λΆλΆμ λ§€λͺ°λμ΄ νλ‘μ νΈμ μ 체 μν€ν μ²μ μλλ₯Ό λμΉκ² λ©λλ€
π Top-Down λ°©μμ κ°λ°: βBuild λΆν° νμΈμβ
νμ κ°λ°μμ βBuild λΆν° νμΈμβλΌλ μ‘°μΈμ κ°λ° μ κ·Όλ²μ ν΅μ¬μ λ΄κ³ μμ΅λλ€. μ΄κ²μ΄ μλ―Ένλ λ°λ:
1οΈβ£ ν° κ·Έλ¦Ό λ¨Όμ νμ νκΈ°
- νλ‘μ νΈκ° μ΄λ€ κΈ°μ μ€νμ μ¬μ©νλμ§
- μ 체μ μΈ λλ ν 리 ꡬ쑰λ μ΄λ»κ² ꡬμ±λμ΄ μλμ§
- κ°λ°μκ° μ΄λ€ κΈ°λ₯λΆν°, μ΄λ€ μμλ‘ κ΅¬ννλμ§
2οΈβ£ μ€ν κ°λ₯ν μ½λλ₯Ό ν΅ν μ΄ν΄
- μ€μ λ‘ μ ν리μΌμ΄μ μ λΉλνκ³ μ€νν΄λ³΄λ©΄μ κΈ°λ₯μ νλ¦ νμ
- λλ²κΉ μ ν΅ν΄ μ½λμ μ€ν κ³Όμ μ μΆμ
3οΈβ£ μλμ λ§₯λ½ μ€μ¬μ μ½λ λΆμ
- βμ΄ μ½λκ° μ μ¬κΈ°μ μλκ°?β
- βμ΄ κΈ°λ₯μ ꡬννκΈ° μν΄ μ΄λ€ μ€κ³ κ²°μ μ΄ μ΄λ£¨μ΄μ‘λκ°?β
π§ μ¬κ³ νλ κ°λ°: λͺ¨λ μ½λμ μλ―Έ λΆμ¬νκΈ°
"λͺ¨λ μ½λλ μλ―Έκ° μκ³ μκ°μ νκ³ μμ±ν΄μΌ νλ€."
μ΄ ν΅μ°°μ κ°λ°μ λ³Έμ§μ κΏ°λ«λ μ€μν κ°λ₯΄μΉ¨μ λλ€. λ¨μν βλμκ°κ²β λ§λλ μ½λμ βμλ―Έ μλβ μ½λμ μ°¨μ΄λ μμ²λ©λλ€.
κ°λ° κ³Όμ μ μμ μ¬μ 립:
- λ¬Έμ μ μ - 무μμ ν΄κ²°νλ €λκ°?
- μν€ν μ² μ€κ³ - μ 체 ꡬ쑰λ μ΄λ»κ² ꡬμ±ν κ²μΈκ°?
- κ°μ²΄/μ»΄ν¬λνΈ μ€κ³ - νμν κ°μ²΄μ κ΄κ³λ 무μμΈκ°?
- ꡬν - μ€μ μ½λ μμ±
- κ²μ¦ - μλλλ‘ λμνλμ§ νμΈ
μ΄ μμλ₯Ό λ°λ₯΄λ©΄ κ° μ½λκ° μ μ‘΄μ¬νλμ§, μ΄λ€ μν μ νλμ§ λͺ νν΄μ§λλ€.
βοΈ μ€μ©μ μΈ κ°λ° μ΅κ΄μΌλ‘μ μ ν
μ΄λ¬ν κΉ¨λ¬μμ λ°νμΌλ‘ λ€μκ³Ό κ°μ μ€μ©μ μΈ κ°λ° μ΅κ΄μ κΈ°λ₯΄λ κ²μ΄ μ€μν©λλ€:
- μ νλ‘μ νΈλ₯Ό μ ν λ:
- μ¦μ λΉλνκ³ μ€νν΄λ³΄κΈ°
- READMEμ μ€μ νμΌ λ¨Όμ μ΄ν΄λ³΄κΈ°
- ν΅μ¬ κΈ°λ₯ νλ¦ λ°λΌκ°κΈ°
- μ½λλ₯Ό μμ±ν λ:
- κΈ°λ₯ ꡬν μ μ μ€κ³ λ¨κ³ κ±°μΉκΈ°
- βμ΄ μ½λκ° μ νμνκ°?β νμ μ§λ¬ΈνκΈ°
- μλ―Έ μλ λ€μ΄λ°κ³Ό ꡬ쑰νμ ν¬μνκΈ°
- νμ΅ν λ:
- λ¨νΈμ μ§μλ³΄λ€ ν¨ν΄κ³Ό μμΉ μ΄ν΄νκΈ°
- μ€μ νλ‘μ νΈμ μ μ©ν΄λ³΄λ©° νμ΅νκΈ°
- λ€λ₯Έ κ°λ°μμ μ½λλ₯Ό λ³Ό λ μλμ λ§₯λ½ νμ νκΈ°
π κ°λ°μλ‘μμ μ±μ₯ μ¬μ
μ¬λ¬λΆμ μ΄λ¬ν κΉ¨λ¬μμ κ°λ°μλ‘μ μ€μν μ±μ₯ μ§μ μ λνλ λλ€. μ½λμ λ¬Έλ²μ μ΄ν΄μμ μν€ν μ²μ μ€κ³μ μ΄ν΄λ‘ μμΌκ° νμ₯λλ μκ°μ λλ€.
κΈ°μ΅νμΈμ: λ°μ΄λ κ°λ°μλ λ¨μν μ½λλ₯Ό λ§μ΄ μλ μ¬λμ΄ μλλΌ, μ½λμ μλ―Έμ λ§₯λ½μ μ΄ν΄νκ³ κ°μΉ μλ μ€κ³ κ²°μ μ λ΄λ¦΄ μ μλ μ¬λμ λλ€.
μμΌλ‘μ κ°λ° μ¬μ μμ μ΄λ¬ν λμ μμΌμ κΉμ μ¬κ³ λ₯Ό λ°νμΌλ‘ λ ν¨μ¨μ μ΄κ³ μλ―Έ μλ μ½λλ₯Ό μμ±νμκΈΈ λ°λλλ€. μ¬λ¬λΆμ μ±μ₯μ μμν©λλ€! π±
βνλ‘κ·Έλ¨μ 볡μ‘μ±μ μν(state)μ 볡μ‘μ±μμ λΉλ‘―λλ€.
λ°λΌμ μ½λλ₯Ό μμ±ν λλ νμ βμβλΌλ μ§λ¬Έμ λμ ΈμΌ νλ€.β
β Rich Hickey