λ°˜μ‘ν˜•

λ¦¬μ•‘ν‹°λΈŒ ν”„λ‘œκ·Έλž˜λ°

λ³€ν™”μ˜ μ „νŒŒμ™€ 데이터 흐름과 κ΄€λ ¨λœ 선언적 ν”„λ‘œκ·Έλž˜λ° νŒ¨λŸ¬λ‹€μž„

  • λ³€ν™”μ˜ μ „νŒŒμ™€ 데이터 흐름: 데이터가 변결될 λ•Œ λ§ˆλ‹€ 이벀트λ₯Ό λ°œμƒμ‹œμΌœμ„œ 데이터λ₯Ό κ³„μ†μ μœΌλ‘œ 전달
  • 선언적 ν”„λ‘œκ·Έλž˜λ°: μ‹€ν–‰ν•  λ™μž‘μ„ ꡬ체적으둜 λͺ…μ‹œν•˜λŠ” λͺ…λ Ήν˜• ν”„λ‘œκ·Έλž˜λ°κ³Ό 달리 μ„ μ–Έν˜• ν”„λ‘œκ·Έλž˜λ°μ€ λ‹¨μˆœνžˆ λͺ©ν‘œλ₯Ό μ„ μ–Έ.
  • 데이터 λ°œν–‰(Observable), 가곡(Operator), ꡬ독(Subscribe) νλ¦„μœΌλ‘œ ꡬ성
  • λ©€ν‹°μŠ€λ ˆλ”© ν™˜κ²½μ—μ„œ λ‘˜ μ΄μƒμ˜ μŠ€λ ˆλ“œκ°€ ν•˜λ‚˜μ˜ λ³€μˆ˜λ₯Ό μ‚¬μš©ν•˜λ©΄μ„œ λ°œμƒν•˜λŠ” 이슈λ₯Ό λ°©μ§€ν•˜μ—¬ 개발이 κ°€λŠ₯함. (stream..)

 

λ¦¬μ•‘ν‹°λΈŒμ˜ κ°œλ…μ΄ 적용된 예

  Push 방식: λ°μ΄ν„°μ˜ λ³€ν™”κ°€ λ°œμƒν–ˆμ„λ•Œ 변경이 λ°œμƒν•œ κ³³μ—μ„œ 데이터λ₯Ό λ³΄λ‚΄μ£ΌλŠ” 방식 (λ¦¬μ•‘ν‹°λΈŒ ν”„λ‘œκ·Έλž˜λ° 방식)

  • RTC, μ†ŒμΌ“ν”„λ‘œκ·Έλž˜λ°, DB Trigger, Spring의 ApplicationEvent, μ•΅κ·€λŸ¬ 바인딩, ν‘Έμ‹œλ©”μ„Έμ§€

  Pull 방식: λ³€κ²½λœ 데이터가 μžˆλŠ”μ§€ μš”μ²­μ„ 보내 μ§ˆμ˜ν•˜κ³  λ³€κ²½λœ 데이터λ₯Ό κ°€μ Έμ˜€λŠ” 방식

  • ν΄λΌμ΄μ–ΈνŠΈ μš”μ²­ & μ„œλ²„ 응닡 λ°©μ‹μ˜ μ• ν”Œλ¦¬μΌ€μ΄μ…˜
  • Java와 같은 μ ˆμ°¨ν˜• ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄

 

λ¦¬μ•‘ν‹°λΈŒ ν”„λ‘œκ·Έλž˜λ°μ„ μœ„ν•΄ μ•Œμ•„μ•Ό 될 것듀

  • Observable: 데이터 μ†ŒμŠ€
  • λ¦¬μ•‘ν‹°λΈŒ μ—°μ‚°μž(Operators): 데이터 μ†ŒμŠ€λ₯Ό μ²˜λ¦¬ν•˜λŠ” ν•¨μˆ˜
  • μŠ€μΌ€μ€„λŸ¬(Scheduler): μŠ€λ ˆλ“œ κ΄€λ¦¬μž
  • Subscriber: Observable이 λ°œν–‰ν•˜λŠ” 데이터λ₯Ό κ΅¬λ…ν•˜λŠ” κ΅¬λ…μž
  • ν•¨μˆ˜ν˜• ν”„λ‘œκ·Έλž˜λ°: RxJavaμ—μ„œ μ œκ³΅ν•˜λŠ” μ—°μ‚°μž(Operator) ν•¨μˆ˜λ₯Ό μ‚¬μš©.

 

λ¦¬μ•‘ν‹°λΈŒX 

  • λ¦¬μ•‘ν‹°λΈŒ ν”„λ‘œκ·Έλž˜λ°μ„ κ°€λŠ₯ν•˜λ„λ‘ ν•˜λŠ” 라이브러리
  • λ‹€μ–‘ν•œ μ–Έμ–΄ 지원

.....

μ°Έκ³ 
https://www.youtube.com/watch?v=2McwNWO8MIw&list=PLr-ObTx8qMl9APSlvIhAah1mq3tyD1AYN

λ°˜μ‘ν˜•

+ Recent posts