본문 바로가기

RX

Reactive Extenstion(Rx) - 2 언제 Rx를 사용해야하는가 Rx의 장점 전통적인 방법으로 데스크탑 혹은 웹 기반 프로그램을 작성할 때, 가끔씩은 비동기 프로그래밍을 해야하는 경우가 있다. 데스크탑 어플리케이션은 입출력 또는 다른 활동적인 쓰레드를 블럭시킬 수 있는 UI 쓰레드를 가지고 있다. 실버라이트는 그 어떤 블럭도 허용하지 않으며 오직 비동기 프로그래밍만 가능하다. 그러나 요즘의 비동기 프로그래밍 모델의 사용자들은 수동으로 예외와 이벤트들의 취소를 관리해야만 한다. 이벤트를 더하고 빼기 위해, 사용자는 해독하기 어렵고 유지보수하기 힘든 코드를 작성해야만 한다. 게다가, 어플리케이션이 여러 곳의 데이터들과 상호작용한다면, 전통적인 방법으로는 각 데이터 스트림마다 이벤트 핸들러를 구현해야한다. 예를 들어, 사용자가 문자를 입력하자마자.. 더보기
Reactive Exntenstion(Rx) - 1 Reactive Extensions(Rx)란 무엇인가? Reactive Extensions (이하 Rx)는 observable sequence와 LINQ형식의 쿼리문, 비동기 이벤트-기반 프로그래밍으로 구성된 라이브러리다.Data sequences는 파일, 웹 서비스, 웹 서비스 요청, 시스템 알림 또는 유저 입력같은 일련의 이벤트들 처럼 많은 형식을 취할 수 있다. Rx는 위에서 언급된 모든 데이터들을 observable sequence로 나타낼 수 있다.새로운 데이터가 도착할 때 비동기적으로 알림을 받기 위해, 어플리케이션들은 observable sequence들을 구독한다. Pulling vs. Pushing Data 인터랙티브 프로그래밍에서, 어플리케이션은 순서대로 나열된 데이터에서, 활발히 데이.. 더보기