[React] πŸ“– reactive programming

μž„μ§€μ„ Β·2023λ…„ 8μ›” 17일
post-thumbnail

❓ Reactive Programming

비동기 데이터 μŠ€νŠΈλ¦Όμ„ μ‚¬μš©ν•˜λŠ” ν”„λ‘œκ·Έλž˜λ°μ„ μ˜λ―Έν•œλ‹€.
μƒνƒœλ₯Ό κ΄€μ°°ν•˜κ³  λ³€ν™”κ°€ λ°œμƒν•  경우 μ—°κ΄€λœ κ³³μ—μ„œ 연산이 μˆ˜ν–‰λ˜λŠ” 것을 μ˜λ―Έν•˜λ©°,
이런 λ°©μ‹μœΌλ‘œ ν”„λ‘œκ·Έλž˜λ°λ˜λŠ” 것이 reactive programming 이닀.

좜처 : https://www.westagilelabs.com/blog/five-interesting-facts-about-reactive-programming-frameworks/

πŸ“— μ½”λ“œ μ˜ˆμ‹œ

  • impreative programming
b = 27
c = 33
a = b + c
print(a) // a = 60
c = 40
print(a) // a = 60
  • reactive programming
b = 27
c = 33
a = b + c
print(a) // a = 60
c = 40
print(a) // a = 67

πŸ“— Reactive

  • 응닡성 : μ‹œμŠ€ν…œμ΄ κ°€λŠ₯ν•œ μ¦‰κ°μ μœΌλ‘œ μ‘λ‹΅ν•΄μ•Όν•œλ‹€.
  • 탄λ ₯μ„± : μ‹œμŠ€ν…œ μž₯μ• κ°€ λ°œμƒν•˜μ—¬λ„ 응닡성을 μœ μ§€ν•œλ‹€.
  • μœ μ—°μ„± : μ‹œμŠ€ν…œμ΄ μž‘μ—…λŸ‰μ΄ λ³€ν™”ν•˜λ”λΌλ„ 응닡성을 μœ μ§€ν•œλ‹€.
  • λ©”μ‹œμ§€ ꡬ동 : 비동기 λ©”μ‹œμ§€ 전달에 μ˜μ‘΄ν•˜μ—¬ ꡬ성 μš”μ†Œμ‚¬μ΄μ— λŠμŠ¨ν•œ κ²°ν•©, 격리, μœ„μΉ˜ 투λͺ…성을 보μž₯ν•œλ‹€.

πŸ“š κ²°λ‘ 

  • reactive programming 은 둜직과 데이터 흐름을 톡해 더 높은 생산성을 κ°€λŠ₯ν•˜κ²Œ ν•œλ‹€.
  • reactive system 은 탄λ ₯μ„±κ³Ό ν™•μž₯μ„± λͺ¨λ‘λ₯Ό κ°œμ„ ν•  수 μžˆλ‹€.



πŸ”– μš©μ–΄ 정리

❓ 비동기(Asynchronous)

λ™μ‹œμ— μΌμ–΄λ‚˜μ§€ μ•ŠλŠ”λ‹€λ₯Ό μ˜λ―Έν•œλ‹€.(μš”μ²­κ³Ό κ²°κ³Όκ°€ λ™μ‹œμ— μΌμ–΄λ‚˜μ§€ μ•ŠμŒ)
μš”μ²­ν•œ κ·Έ μžλ¦¬μ—μ„œ κ²°κ³Όκ°€ μ£Όμ–΄μ§€μ§€ μ•ŠμœΌλ©°,
λ…Έλ“œ μ‚¬μ΄μ˜ μž‘μ—… 처리 λ‹¨μœ„λ₯Ό λ™μ‹œμ— λ§žμΆ”μ§€ μ•Šμ•„λ„ λœλ‹€.

좜처 : https://adrianmejia.com/asynchronous-vs-synchronous-handling-concurrency-in-javascript/

μž₯점 : κ²°κ³Όκ°€ μ£Όμ–΄μ§€λŠ”λ° μ‹œκ°„μ΄ 걸리더라도 κ·Έ μ‹œκ°„ λ™μ•ˆ λ‹€λ₯Έ μž‘μ—…μ„ ν•  수 μžˆμœΌλ―€λ‘œ μžμ›μ„ 효율적으둜 μ‚¬μš©ν•  수 μžˆλ‹€.
단점 : 동기와 λΉ„κ΅ν–ˆμ„ λ•Œ 섀계가 λ³΅μž‘ν•˜κ³  직관적이지 μ•Šλ‹€.

❓ 슀트림(Stream)

λ°μ΄ν„°μ˜ 흐름이라고 μ΄ν•΄ν•˜λ©΄ νŽΈν•˜λ‹€. μΆ”κ°€λ‘œ μ„€λͺ…ν•˜λ©΄ μ‹œκ°„μ΄ 지남에 따라 μˆœμ„œλŒ€λ‘œ λ°œμƒν•˜λŠ” 일련의 μ΄λ²€νŠΈλΌκ³ λ„ ν•  수 μžˆλ‹€.

profile
μ„±μž₯ν•˜λŠ” ν”„λ‘ νŠΈμ—”λ“œ κ°œλ°œμžμž…λ‹ˆλ‹€.

1개의 λŒ“κΈ€

comment-user-thumbnail
2023λ…„ 8μ›” 17일

쒋은 κΈ€ κ°μ‚¬ν•©λ‹ˆλ‹€. 자주 μ˜¬κ²Œμš” :)

λ‹΅κΈ€ 달기