리액티브 프로그래밍은 비동기 데이터 스트림에 기반을 둔 프로그래밍입니다. 뭔가 대단해 보이는데 무슨 의미일까요. 개발을 하다 보면 동기 / 비동기 프로그래밍을 자연스럽게 경험하게 됩니다. 동기는 일반적인 프로그래밍 방식으로, 순차적으로 실행됩니다. 예를 들어 B함수에서 A 함수를 호출하면 A 함수가 실행되고, A 함수가 값을 반환하면 B함수 내에서 A함수를 호출한 위치에서 이어서 실행됩니다. 순차적이죠. 비동기 방식은 어떠한 이벤트가 일어나면 특정 행동을 취하는 방식입니다. AJAX 요청이 좋은 예입니다. 이벤트는 서버의 응답이 될 수도 있고, 유저의 특정 이벤트가 될 수도 있고 인터벌이 될 수도 있습니다. 그렇다면 프로그래밍을 대하는 관점을 바꿔봅시다. 개발자의 입장이 아닌 데이터의 입장에서 프로그램을..