저작권 안내: 저작권자표시 Yes 상업적이용 No 컨텐츠변경 No

스프링5 입문

JSP 2.3

JPA 입문

DDD Start

인프런 객체 지향 입문 강의

"5 Things to Know About Reactive Programming" 글 요약(원문은 여기 참고)


1. 리액티브 프로그래밍은 비동기 데이터 스트림을 이용한 프로그래밍

  • 리액티브 프로그래밍 사용시, 데이터 스트림이 어플리케이션의 뼈대가 됨
  • 이벤트, 메시지, 호출, 실패를 데이터 스트림으로 전달
  • 이 스트림을 Observe(Subscrive)하고, 값을 발생(emit)할 때 반응
  • 모든 것이 스트림: 클릭 이벤트, HTTP 요청, 유입 메시지, 변수 변경, 세선 값 등 바뀌거나 발생할 수 있는 모든 것 (이는 본질적으로 비동기와 관련)
2. 콜드(Cold) vs 핫(Hot)
  • 콜드 스트림 : 누군가 Observe를 시작할 때까지 아무것도 안 함. 스트림이 소비될 때 동작하기 시작. 여러 subscriber가 공유하지 않음. 예) 파일 다운로드
  • 핫 스트림 : 소비 전에 활성. 개별 subscriber에 독립적으로 데이터 생성. 구독하기 시작한 이후의 데이터 수신. 예) 실시간 주식 주가, 센서 데이터
3. 비동기 오용 주의
  • 비동기는 리액티브 프로그래밍에서 중요한 단어
  • 중요한 세 가지 : 부수 효과, 쓰레드, 블록
    • 부수 효과 : 불필요한 부수 효과를 피할 것. 부수 효과 없는 함수 -> 쓰레드 안정성
    • 쓰레드 : 너무 많은 쓰레드 사용을 피할 것. 다중 쓰레드는 동기화 문제 위험
    • 블록 : 쓰레드를 소유하지 않으므로 쓰레드를 절대 블록하지 말 것
4. 단순
  • 다른 개발자가 읽을 코드임을 잊지 말 것
5. 리액티브 프로그래밍 != 리액티브 시스템


Posted by 최범균 madvirus

댓글을 달아 주세요