Β κ°μ²΄μ§ν₯ μΈμ΄κ° λ³λ ¬μ²λ¦¬κ° μ½νλ€λ 건 μ§μ§ κ°λ¬΄μν μ리μ§λ§ μ€λͺ μ΄ κΈ°λκΉ λμ΄κ°λ€.
ν¨μν μΈμ΄κ° λ³λ ¬μ²λ¦¬μ κ°μ μ΄ μλ 건 λ§μ.
κ·Έλ°λ° μ΄λ―Έ Reactive Programming μ΄λΌλ λ°λμ΄ λΆλ©΄μ κΈ°μ‘΄ μΈμ΄μμ ν¨μν μΈμ΄ μ₯μ λ§ μ λΉ¨μ λ¨Ήμλ¨λ€.
https://en.wikipedia.org/wiki/Reactive_programming
κ·Έλμ μ΄μ§κ°ν νλ μΈμ΄(java, c#, pytho, c++ λ±λ±)λΒ ν¨μν μΈμ΄ νλ΄λ₯Ό λ€ λΌ μ μλ μνλλ€.
μλ μ¬λμ λ€ μμμ μ΄λ―Έ λ§μ΄ μ°μ΄κ³ μλ¨λ€.
λκ° λ§νλ κ·Έ μ₯μ μ λͺ νλ‘κ·Έλλ° μΈμ΄μ λ€ μμ΄.
λκ° λ³΄κΈ°μ κ·Έκ² λ€ κ°μ²΄μ§ν₯ μΈμ΄λ‘ 보μ΄κ² μ§λ§ κ±λ€ λ€ μ’μ 보μ΄λ©΄ λ€ κ°μ Έλ€ μ°λ μ§¬λ½ μΈμ΄λλ€.
Rx κ° ν¨μν γ γ γ γ γ γ γ λ§κΈ΄νμ§ γ γ γ γ γ γ γ μ€νΌλ μ΄ν°κ° μμν¨μλκΉ κ·Όλ° γ γ γ γ γ γ γ ν¨μνμ ν¨μ μ°μ°μ μμκ° μ€μνμ§ μλ€ κ°μκ²λ μλλ° μ²΄μΈ μμ ν리면 λ»λλκ² ν¨μν γ γ γ γ γ γ γ
κ·Έλ¦¬κ³ μλΌμΌ Rx λ μ€μΌμ€λ¬ νλνλ λ€ μ§μ ν΄μ νλκ±΄λ° κ·Έκ² λ³λ ¬μ°μ°μ΄λ? γ γ γ γ γ γ γ κ·Έλ₯ μ°λ λ νμ μ‘΄λ μ€λ걸리λ ν¨μλ€ λͺ¨μ μ§μ΄λ£λκ±°μ§ ν¨μνμμ κ·Έ ν¨μλ€ λͺ¨μμ‘°μ°¨ λ³λ ¬μ΄μΌ μλΌμΌ γ γ γ γ γ γ γ
ν¨μν μΈμ΄λ μ°λ λ μμ΄ λ³λ ¬μ²λ¦¬λΌλ νλ? ν¨μν μΈμ΄κ° λ¬΄μ¨ λ§λ²μ μ§ν‘μ΄λΌλ λλ μ€ μλ λ°λ³΄λ€.
κ·ΈλκΉ λκ° λ± κ·Έμ λλ§ μλκ±°μ§ mul(add(x)) λΌλ μμ μ ν λ κ°μ²΄μ§ν₯ μΈμ΄λ€μ add ν νκ°λ κ°μ mul ν¨μμ λ£μ΄μΌμ§λ§ ν¨μν μΈμ΄λ€μ mul ν¨μ λ¨Όμ μ€νμ΄ κ°λ₯νλ€ κ·Έλ¦¬κ³ μ΄ ν©μ±ν¨μλ μ»΄νμΌλ¬μ μν΄ λ©λͺ¨μ΄μ μ΄μ λλ©° μ΄νμ mul(add()) κ° μλ κ³μ°λ κ° mul'(x) λ‘ μΉνμ΄ κ°λ₯ν΄μ§λ€ κΉκΈ°μ μ 곡λΆμ’ ν΄ γ γ γ γ γ γ γ
λ©μ²ν μΉκ΅¬μΌ. Rxκ° κ·Έκ±Έ νλ΄λ΄κ³ μλ€κ³ λ§ νλλ° νμ리 νλ. κ·Έλ¦¬κ³ κ·Έκ±° νλλ‘ λͺ¨λ κ² ν΄κ²° λλ κ² μλ. ν¨μν μΈμ΄μ μ₯μ μ΄ κ³΅μ§λ‘ μ»μ΄μ§λ κ² μλλλ€. κ·Έ λ¨μ λλ¬Έμ μ¬λλ€μ΄ μ μ°λ κ±°μΌ. μ₯μ λ§ λ³΄κ³ κ·Έκ² λ§λ²μ μ§ν‘μ΄λΌ μκ°νλ λ μμ€μ΄ μ€λ¬΄ κ²½νμ΄ μλ ν°κ° νν λλ€.
λ¨μ ? μμ§ ν¬κ² λκ°μ§ λ½μλ©΄ λ©λͺ¨λ¦¬ κ΄λ¦¬λ₯Ό μ μ μΌλ‘ μ»΄νμΌλ¬μκ² λ§‘κ²¨μΌ νλ€μ λΆμν¨κ³Ό μλ νλ‘κ·Έλ¨μ μκΈ° λλ¬Έμ λͺ¨λλλ‘ λ₯κΌ¬μΌ ν΄μΌνλ€κ° μμ§λ§ μΈλ¦¬μΌμ‘°μ°¨ λ©λͺ¨λ¦¬ κ΄λ¦¬λ μ»΄νμΌλ¬κ° ν΄μ£Όκ³ μκ³ λΆμν¨κ³Όλ‘ μΈν λ¬Έμ μ μ κ°μ²΄μ§ν₯μ΄ λ λ§κΈ°μ μ§κΈ κ°κ΄λ°κ³ μλ€λκ²λ λλ λͺ¨λ₯΄λκ±°μ§ γ γ γ γ γ γ γ
λμκ² μΆμ²νκ³ μΆμ λ€νκ° μλ€. "κ·Έλλ μ§κ΅¬λ νννλ€"