π [ λ νκ° ] 리ν©ν°λ§ 2νμ μ½κ³ ..
μ΄ μ±
μ κ°λ°κ³΅λΆλ₯Ό μμνλ©΄μ 무쑰건 ν λ²μ κΌ μ½κ² λ€κ³ μκ°ν μ±
μ΄λ€. κ·Έλ¬λ€κ° μ΄μ΄ μ’κ² μ¬λ΄ μ€ν°λμμ 리ν©ν°λ§ κ΄λ ¨ μ€ν°λλ₯Ό μ μ²νκ³ , μ€ν°λλ₯Ό μ΄ μ±
μΌλ‘ μ§ννκ² λλ©΄μ μ½μ μ±
μ΄λ€. λ
μ κΈ°κ°μ 23.05.01
λΆν° 23.06.17
μ΄λ©°, μ±
μ μ½ 550μͺ½μΌλ‘ ꡬμ±λμ΄ μλ€.
μ¬μ€ μ²μ μ΄ μ± μ μ½μ λλ κ΅μ₯ν κΈ°λκ°νκ³ μμλ€. (μ€μ€.. μ΄ μ± μ μ½μΌλ©΄ λ΄κ° μμ νκ³ μλ νλ‘μ νΈμ κΈ°κΉλκ² λ¦¬ν©ν°λ§μ μ μ©ν μ μκ² μ§..? ππ) κ·Έλ°λ°, μ€μ λ‘ μ½κ³ λλ κ·Έλ° κΈ°λκ°μ μ¬λΌμ‘λ€. μλλ©΄ μ± μμ μλ €μ£Όλ λ΄μ©μ νμ μ 곧λ°λ‘ μ μ©νκΈ°μλ λ¬΄λ¦¬κ° μμκΈ° λλ¬Έμ΄λ€. μ± μμ κ°μ‘°νλ contextμ μ€μ λ‘ λ΄κ° νμ μμ λ§μ£Όνκ³ μλ contextμ needsκ° μμ΄νκ³ μ΄λ€ μ½λλ κ΅³μ΄ λ¦¬ν©ν°λ§κΉμ§ νμν κΉ..?λΌλ λΆλΆλ μμλ€.
리ν©ν°λ§ 1νμ Javaλ‘ μ°μκ³ , 2νμ JavaScriptλ‘ μ°μλ€. 2νμ μ νν μ΄μ λ νλ‘ νΈμλμΈ λ΄κ² λ μ΅μν μΈμ΄λ JavaScriptκΈ° λλ¬Έμ΄λ€. 리ν©ν°λ§ 2νμ΄ μ‘°κΈ μμ¬μ λ μ΄μ λ ν¨μν μ»΄ν¬λνΈλ₯Ό μ£Όλ‘ μ¬μ©νλ λλ‘μλ μ μ΄λ 50%κ° λκ² ν΄λμ€ λ¬Έλ²μΌλ‘ μ°μΈ λ΄μ©μ κ³μ λ³΄λ€ λ³΄λ ν¨μνμΌλ‘ μμ±λ κ±Έ ν΄λμ€λ‘ λ€ λ°κΏμΌ νλ..?λΌλ μκ°μ΄ λ€ μ λλ‘ λ§ν΄ νμΈλ¬λ ν΄λμ€ λ¬Έλ²μ μ νΈνλ€. (μ€μ λ‘ μ± μ μ½λ€ 보면 ν΄λμ€λ₯Ό κΌ μ¨μΌλ§ νλ μ΄μ μ λν΄ μμ£Ό λμ¨λ€.)
λμμ΄ λ λΆλΆλ λ§μ΄ μμλ€. λ¬Έλ²μ μΈ λ΄μ©μ λ°°μ νκ³ κ°μ₯ μΈμμ λ¨μλ λ΄μ©μ 2.2 μ±ν°μ λ κ°μ λͺ¨μ ννΈμ΄λ€. ν΄λΉ ννΈλ₯Ό μμΆν΄μ μ€λͺ νμλ©΄, λ(λ§ν΄ νμΈλ¬)λ μννΈμ¨μ΄λ₯Ό κ°λ°ν λ λͺ©μ μ΄ κΈ°λ₯ μΆκ°λ, μλλ©΄ 리ν©ν°λ§μ΄λλ₯Ό λͺ νν ꡬλΆν΄ μμ νλ€. μΌνΈ λ°±μ μ΄λ₯Ό λ κ°μ λͺ¨μ(two hats)μ λΉμ νλ€. κΈ°λ₯μ μΆκ°ν λλ κΈ°λ₯ μΆκ° λͺ¨μλ₯Ό μ΄ λ€μ κΈ°μ‘΄ μ½λλ μ λ 건λλ¦¬μ§ μκ³ , μ κΈ°λ₯μ μΆκ°νκΈ°λ§ νλ€. λ°λ©΄ 리ν©ν°λ§ ν λλ 리ν©ν°λ§ λͺ¨μλ₯Ό μ΄ λ€μ κΈ°λ₯ μΆκ°λ μ λ νμ§ μκΈ°λ‘ λ€μ§ν λ€ μ€λ‘μ§ μ½λ μ¬κ΅¬μ±μλ§ μ λ νλ€.
μ΄μ μλ λ΄κ° μμ μ νλ©° κΈ°λ₯ μΆκ°(feature)μ 리ν©ν°λ§(refactoring)μ λ¬Άμ΄μ ν λ²μ νλ €λ κ²½ν₯μ΄ μμλ€. (κ·Έλ κ² νλ©΄ μμ μκ°μ΄ ν¨μ¬ λ¨μΆλλ―λ‘..?) λ¬Άμ΄μ μμ μ νλ€ λ³΄λ, λ‘μ§μ΄ μ½νλ κ²½μ°κ° μ’ μ’ μμλ€. κΈ°λ₯μΆκ°λ₯Ό ν μ½λλ₯Ό κ·Έ μ리μμ λ°λ‘ 리ν©ν°λ§μ νλ μ΄λμλΆν° λ€μ κΈ°λ₯μΆκ°λ₯Ό ν΄μΌ νλμ§ λ¬Έλ§₯νμ λ μ½μ§ μμλ€. κ·Έλ°λ° λ κ°μ λͺ¨μλ₯Ό μ½κ³ λμ μ΄λλ‘ ν΄λ³΄λ μμ μλλ μ‘°κΈ λ¦μ΄μ§λλΌλ 곧μ₯, λ΄κ° μ§μ€ν΄μΌ νλ λΆλΆμ λ°λ‘ μΊμΉν μ μμ΄ λ°λ‘λ°λ‘ λ‘μ§μ μμ±ν μ μμλ€. κΈ°λ₯μΆκ° μ΄ν 리ν©ν°λ§ λͺ¨μλ₯Ό μΌλ€κ³ μκ°νκ³ λ¦¬ν©ν°λ§ νλ λΆλΆλ§ μ΄ν΄λ³΄λ μ΄μ μλ μ§λμΉ μ μμλ μ½λκΉμ§ 리ν©ν°λ§ ν μ μμ΄ λμκ² μ’μ κ²½νμ μ£Όμλ€.
λν, 2.4 μ±ν°μ 3μ λ²μΉλ λ°°μ λλ°, μ΄κ²λ λμμ΄ λμλ€. λ΄μ©μ λ λ‘λ²μΈ (Don Roberts)κ° λ΄(λ§ν΄ νμΈλ¬)κ² μ μν κ°μ΄λμΈλ°
- μ²μμλ κ·Έλ₯ νλ€.
- λΉμ·ν μΌμ λ λ²μ§Έλ‘ νκ² λλ©΄(μ€λ³΅μ΄ μκ²Όλ€λ μ¬μ€μ λΉν©μ€λ½κ² μ§λ§), μΌλ¨ κ³μ μ§ννλ€.
- λΉμ·ν μΌμ μΈ λ²μ§Έ νκ² λλ©΄ 리ν©ν°λ§νλ€.
μΌκ΅¬λ₯Ό μ’μνλ μ¬λμ μ€νΈλΌμ΄ν¬ μΈ λ²μ΄λ©΄ 리ν©ν°λ§νλΌ(μΌμ§ 리ν©ν°λ§)λ‘ κΈ°μ΅νμ.λΌλ λ΄μ©μ΄λ€. μμ νλ€κ° 리ν©ν°λ§ ν΄μΌ νλ μμ μ νλ¨νλ μ£λλ‘ μ μ ν΄ λ³΄μ¬ ν¬μ€νΈμ μμ±νμ¬ μ± μμ λΆμ¬λμλ€.
μ¬νΌ 550μͺ½μ΄λ λλ λκΊΌμ΄ μ± μ λ€ μ½μλ€. (λμμ 리ν©ν°λ§ μ€ν°λλ μ΄λμ 8μ£Όκ° λμ΄κ°λ€. μ²μμ μ΄λ»κ² μ΄ μ± μ λ€ μ½μ§? νλ©° μμνλ€κ° μ€ν°λ λ°ν μ€λΉνλ©΄μ μ½κ³ , μλΉμ€ λ°°ν¬ μ€λΉνλ©΄μ 리ν©ν°λ§ μ΄λ»κ² νμ§?? νλ©΄μ μ½μλ€.)
μ΄ μ± μ JavaScript κΈ°λ°μΌλ‘ μμ±λμμ§λ§, λ°μ λκ² ν΄λμ€ λ¬Έλ²μΌλ‘ μ°μ¬μλ€κ³ ν΄μ ν¨μν μ»΄ν¬λνΈλ₯Ό μ£Όλ‘ μ¬μ©νλ κ°λ°μλ€μκ² μΆμ²νμ§ μλ? κ·Έλλ μΆμ²νλ€. μ΄λ»κ² 리ν©ν°λ§ νλμ§? λ μ€μνμ§λ§, μ΄λ‘ μ μΈ λ΄μ© μλ₯Ό λ€λ©΄, μΈμ / μ / 무μμ 리ν©ν°λ§μ νλκ°? μ κ°μ λ΄μ©λ κ°λ°μλ€μκ² μμ΄μ μ€μνλ€κ³ μκ°νκΈ° λλ¬Έμ΄λ€.
νμ μμ μμ ν λλ§λ€ 리ν©ν°λ§ μ΄λ‘ μ΄λ κΈ°λ²μ μμ΄κ° λ μ¦μμ κΊΌλ΄μ΄ μ½μΌλ©΄ μ§κΈ μ½μλ λ΄μ©μ΄ λ μ€λ₯΄μ§ μμκΉ νλ λ§μμ λ ΈνΈλΆ μμ λκΈ°λ‘ νλ€. μ΄νμ μ½μ μ± μ μΌλͺ λ§λ²μ¬λΌκ³ λΆλ¦¬λ μ± (μλ°μ€ν¬λ¦½νΈλ‘ λ°°μ°λ SICP)μΈλ° μ§μ§λ‘ λ§λ²μ¬κ° λΌμ νΈκ·ΈμνΈ μ΄λμ₯μ λ°μ μ μλμ§λ μ‘°λ§κ° νμΈν μ μμ κ² κ°λ€.
'λ μ' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[ λ νκ° ] 리μ€ννΈ(μΌλμ μ°½μ μ μ΄μμ§μ κ²½μ μΌκΈ°)λ₯Ό μ½κ³ .. (0) | 2023.06.06 |
---|---|
[ λ νκ° ] ν¨μν νλ‘κ·Έλλ°μ μ½κ³ .. (1) | 2023.04.27 |
[ λ νκ° ] μλ³Έμ¬(θ³ζ¬εΏ)μ μ½κ³ .. (2) | 2023.04.02 |
[ λ νκ° ] μ½λ μλ μκ³ λ¦¬μ¦κ³Ό λ°μ΄ν° ꡬ쑰λ₯Ό μ½κ³ .. (0) | 2023.03.20 |
[ λ νκ° ] κΈλ¦¬ νλ μμμ λΏμΈ λ°λ₯Ό μ½κ³ .. (0) | 2023.03.09 |
λκΈ