제이슨의 개발이야기
Rx 자바 란 무엇일까?? 본문
Rx 는 Reactive X의 줄임말 로 java rx는 리엑티브 한 자바를 지원하는 라이브러리이다
그렇다면 리액티브 란 무엇일까?
일단 리액티브 프로그래밍은 데이터 흐름과 전달 관한 프로그래밍 패러다임 이다
기존의 명령형 프로그래밍은 주로 컴퓨터 하드웨어를 대상으로 프로그래머가 작성한 코드가 정해진 절차에 따라 순서대로 실행된다
그러나 리액티브 프로그래밍은 데이터 흐름을 먼저 정의 하고 데이터가 변경되었을 떄 연관되는 함수나 수식이 업데이트 되는 방식이다
명령형 프로그래밍 방식은 데이터가 변경된다면 그 데이터로 인해 값이 다른 값에 영향을 주려면 새로 다시 계산하는 방식(pull) 방식이다
그러나 리액티브 프로그래밍 방식은 데이터 소스가 변경된 데이터를 밀어주는 (push) 방식이다 일종의 옵서버 패턴이라고 생각하면 이해하기 쉽다!
- 리액티브 프로그래밍은 데이터 흐름과 변화의 전달에 관한 프로그래밍 패러다임이다!-
자바 언어와 리액티브 프로그래밍은 대략 두 가지 관계가 있다고 정리 할 수 있다
1. 기존 pull 방식의 프로그래밍 개념을 push 방식의 프로그래밍 개념으로 바꾼다.
2. 함수형 프로그래밍의 지원을 받는다
RxJava 를 만들게 된 이유???
왜 RxJava 를 만들었을까?
RxJava는 2013년 2월 넷플릭스 의 기술 블로그 에서 처음 소개되었다 그 당시 넷플릭스는 REST 기반의 서비스 API 호출 횟수와 서비스의 전반적인 성능을 개선하는 프로젝트를 진행 했고 그 결과 .NET 환경의 리액티브 확장 라이브러리 를 JVM 에 포팅하여 RxJava를 만들었다고 한다 넷플릭스에서 RxJava를 만들게 된 핵심적인 이유는 다음과 밝힘
동시성을 적극적으로 끌어안을 필요가 있다
자바 Future 를 조합하기 어렵다는 점을 해결해야한다
콜백 방식의 문제점을 개선해야한다
이것으로 Rx 자바 란 무엇일까?? 의 작성을 마치고 리액티브 프로그래밍의 핵심 개념을 충분히 숙지하고 rx 공부를 하기 바랍니다
'Rx' 카테고리의 다른 글
RxJava fromXXX 함수에 대하여 2탄 (0) | 2021.02.28 |
---|---|
RxJava 함수에 대하여(fromXXX()) fromXXX함수계열!! (0) | 2021.02.26 |
RxJava 함수에 대해서(create())! (0) | 2021.02.25 |
RxJava Observable 클래스 와 just 함수 (0) | 2021.02.24 |