--- id: [[P-Reinforce|P-Reinforce]]-AUTO-REPR-001 category: "10_Wiki/πŸ’‘ Topics/AI" confidence_score: 0.96 tags: [auto-reinforced, software-engineering, rx, asynchronous, event-driven] last_reinforced: 2026-04-20 --- # [[Reactive-Programming|Reactive-Programming]] ## πŸ“Œ ν•œ 쀄 톡찰 (The Karpathy Summary) > "λ°μ΄ν„°μ˜ 흐름에 λͺΈμ„ 맑겨라: λ³€ν™”κ°€ 일어날 λ•ŒκΉŒμ§€ 기닀리지 μ•Šκ³ , λ°μ΄ν„°λΌλŠ” '슀트림'이 흐λ₯Ό λ•Œλ§ˆλ‹€ μ—°κ²°λœ λ‘œμ§λ“€μ΄ μžλ™μœΌλ‘œ λ°˜μ‘ν•˜κ²Œ λ§Œλ“œλŠ” 선언적 비동기 ν”„λ‘œκ·Έλž˜λ° νŒ¨λŸ¬λ‹€μž„." ## πŸ“– κ΅¬μ‘°ν™”λœ 지식 (Synthesized Content) λ¦¬μ•‘ν‹°λΈŒ ν”„λ‘œκ·Έλž˜λ°(Reactive Programming)은 데이터 슀트림과 λ³€κ²½ μ „νŒŒλ₯Ό μ€‘μ‹¬μœΌλ‘œ ν•˜λŠ” ν”„λ‘œκ·Έλž˜λ° νŒ¨λŸ¬λ‹€μž„μž…λ‹ˆλ‹€. 1. **핡심 κ°œλ…**: * **Streams (Observable)**: μ‹œκ°„μ΄ 지남에 따라 λ°œμƒν•˜λŠ” μ΄λ²€νŠΈλ“€μ˜ 연속적인 흐름. * **Obversers**: μŠ€νŠΈλ¦Όμ„ κ΄€μ°°ν•˜λ‹€κ°€ 값이 λ“€μ–΄μ˜€λ©΄ 둜직 μ‹€ν–‰. * **[[Opera|Opera]]tors**: μŠ€νŠΈλ¦Όμ„ 필터링, λ³€ν˜•, κ²°ν•©ν•˜λŠ” ν•¨μˆ˜ (Map, Filter, Merge λ“±). 2. **ν”„λ‘œκ·Έλž˜λ° μŠ€νƒ€μΌ**: * **Imperative (λͺ…λ Ήν˜•)**: "A = B + C" (λ‚˜μ€‘μ— Bλ‚˜ Cκ°€ λ°”λ€Œμ–΄λ„ AλŠ” κ·ΈλŒ€λ‘œ). * **Reactive (λ°˜μ‘ν˜•)**: "AλŠ” μ–Έμ œλ‚˜ B + C의 결과이닀" (Bλ‚˜ Cκ°€ λ°”λ€Œλ©΄ A도 μ¦‰μ‹œ μ—…λ°μ΄νŠΈλ¨). 3. **μž₯점**: * **비동기 처리 κ°„μ†Œν™”**: 콜백 μ§€μ˜₯(Callback Hell) νƒˆμΆœ. * **λ°˜μ‘μ„± ν–₯상**: μœ μ € μΈν„°λž™μ…˜μ΄λ‚˜ λ„€νŠΈμ›Œν¬ μš”μ²­μ΄ λ§Žμ€ ν™˜κ²½μ—μ„œ λΆ€λ“œλŸ¬μš΄ UX 제곡. * **탄λ ₯μ„±**: 데이터 λΆ€ν•˜ 급증 μ‹œ λ°°μ••(Backpressure) μ‘°μ ˆμ„ 톡해 μ‹œμŠ€ν…œ μ•ˆμ •μ„± μœ μ§€. ## ⚠️ λͺ¨μˆœ 및 μ—…λ°μ΄νŠΈ (Contradictions & RL Update) - **κ³Όκ±° λ°μ΄ν„°μ™€μ˜ 좩돌**: μ΄μ „μ—λŠ” 정적인 μƒνƒœ κ΄€λ¦¬λ§ŒμœΌλ‘œ μΆ©λΆ„ν–ˆμœΌλ‚˜, μ‹€μ‹œκ°„ μ„œλΉ„μŠ€μ™€ λ³΅μž‘ν•œ ν”„λ‘ νŠΈμ—”λ“œ ν™˜κ²½μ΄ λŒ€μ„Έκ°€ 되며 λ¦¬μ•‘ν‹°λΈŒ 방식이 λŒ€κ·œλͺ¨ μ‹œμŠ€ν…œ μ„€κ³„μ˜ ν•„μˆ˜κ°€ 됨. - **μ •μ±… λ³€ν™”(RL Update)**: κ³ μ„±λŠ₯ μ„œλ²„ ν™˜κ²½μ—μ„œ μžμ›μ„ λ‚­λΉ„ν•˜λŠ” 전톡적 [[Blocking|Blocking]] 방식 λŒ€μ‹ , μžμ›μ„ 효율적으둜 μ μœ ν•˜λŠ” 'Non-blocking λ¦¬μ•‘ν‹°λΈŒ μ„ μ–Έλ¬Έ'을 ν‘œμ€€ μ½”λ”© κ·œμ•½μœΌλ‘œ μ±„νƒν•˜λŠ” 정책이 확산됨. ## πŸ”— 지식 μ—°κ²° (Graph) - [[Software-Design-Principles|Software-Design-Principles]], [[Event-Driven-Architecture|Event-Driven-Architecture]], [[Functional Programming|Functional Programming]], User Experience (UX) - **Modern Tech/Tools**: RxJS, React ([[State|State]]-driven UI), Project Reactor, Akka. ---