매력적인 RxJava 프로그래밍 입문서
문화이야기/도서이야기☆

매력적인 RxJava 프로그래밍 입문서

유동환/박정준 님이 공동으로 집필한 <RxJava 프로그래밍>을 소개합니다. 이 글을 읽기 전에, 다음 링크[각주:1]에서 Reactive Extensions(Rx)의 역사와 Rx의 역할이 무엇인지 이해하고 이 글을 읽는 것을 추천합니다. 


RxJava는 JVM 환경에서 자바로 구현한 Reactive Extensions 라이브러리입니다. RxJava는 현재 두 버전으로 제공되고 있는데, 새로 학습하거나 프로젝트에 도입하는 분은 최신 버전인 2.0을 사용하는 것을 추천합니다. 참고로 <RxJava 프로그래밍>에서는 RxJava 2.1.3[각주:2]을 기준으로 소개합니다.


<RxJava 프로그래밍>은 필자가 꼭 읽고 싶었던 책이었는데, 한빛미디어에서 좋은 기회를 제공해주셔서 약간의 압박(?)감을 느끼고 집중해서 읽을 수 있었습니다.


The Book INSIDE

[제목] RxJava 프로그래밍

[평점] ★★★★


[저자] 유동환, 박정준 지음

[링크] 도서소개 | 미리보기


한빛미디어 | 2017-09-04

328쪽 | ISBN(13) : 9788968488658



유동환

생각을 즐기는 프로그래머. 연세대학교 정보대학원에서 경영정보학을 전공한 후, LG전자에서 안드로이드 앱을 개발했다. 최근에는 선행 플랫폼 개발팀으로 자리를 옮겨 IoT와 AI 관련 프로젝트를 진행하고 있다. 자바카페와 한국자바개발자협의회(JCO)에서 수년간 활동했다.


박정준

아주대학교에서 컴퓨터공학을 전공한 후 10년 이상 LG전자에서 안드로이드 앱을 개발했다. 불현듯 안드로이드만 다루는 것보다 더 넓은 자바 개발 세상도 경험하고 싶어 현재는 쿠팡에서 서버 사이드 개발을 하고 있다. 풀스택 엔지니어가 얼마나 대단한 사람인지 느끼는 나날을 보내고 있다. 다양한 언어의 함수형과 리액티브 프로그래밍에 관심이 많다. 백발에도 프로그래밍하는 개발자가 되고자 노력하고 있다.


이 책에서 다루는 내용은?

<RxJava 프로그래밍>은 모두 8개의 장으로 구성되어 있습니다. 먼저 RxJava를 소개하는 것부터 시작하여 RxJava의 기본을 학습하는데, 충분한 내용을 담고 있습니다[각주:3]. 처음 리액티브 프로그래밍 세계에 발을 내디디면, 대부분 프로그래머들은 기존 프로그래밍과 다른 접근 방법으로 혼란스러워합니다.


<RxJava 프로그래밍>은 저자가 직접 경험하며 좌충우돌하는 에피소드를 담아 처음 RxJava를 접했을 때의 경험담을 들려줍니다. 이 에피소드를 중심으로 RxJava를 이해하는 과정을 소개하고 있으며, 이 과정에서 얻은 통찰력을 기반으로 RxJava를 효과적으로 학습하는 방법을 소개하고 있습니다. 책의 순서도 소개하는 학습 순서와 거의 같습니다. 


먼저 마블 다이어그램을 소개하고 해석하는 방법을 소개합니다. 이후 주요 RxJava의 주요 클래스와 리액티브 연산자를 소개하고 간단한 예제를 활용하여 사용방법을 설명합니다. 기존에 자바 8을 사용하신 분이라는 큰 어려움 없이 코드를 이해할 수 있을 정도로 쉬운 간단한 예제로 구성되어 있습니다. 다음으로 RxJava에서 제공하는 주요 연산자를 활용하여 조금 복잡한 문제를 쉽게 해결하는 방법을 소개합니다. 이 단락을 통해 RxJava를 활용할 때 응용할 수 있는 영감을 얻을 수 있었습니다. 다음으로 RxJava에서 제공하는 주요 스케쥴러를 소개하며 각 스케쥴러의 장단점을 보여줍니다. RxJava의 주요 구성 요소에 대한 설명을 마치고, RxJava로 프로그래밍할 때 효율적인 디버깅과 예외 처리 방법, 최신의 JUnit 5를 활용한 테스팅 방법까지 소개하고 있습니다.


RxJava를 학습하거나 활용해야 하는 분들에게 최고의 기본서라고 생각합니다. RxJava를 학습하는데 가장 좋은 매뉴얼은 공식 홈페이지에서 제공하지만, 이 책을 통해 RxJava를 이해한 후 그 매뉴얼을 보면 이해도가 한층 더 높아질 것으로 확신합니다. 

마치면서...

<RxJava 프로그래밍>은 RxJava의 모든 것을 다루지는 않습니다. 리액티브 프로그래밍을 이해할 수 있도록 입문서 역할을 충실히 담당하고 있으며, 마블 다이어그램의 해석 방법, 주요 함수와 RxJava에서 제공하는 기능들을 쉽게 소개합니다. <RxJava 프로그래밍>을 통해 리액티브 프로그래밍 세계에 발을 쉽게 담글 수 있습니다. 이제 자유롭게 항해를 하기 위해서는 많은 경험과 지식을 필요할 것입니다. 

  1. 마이크로소프트는 ReactiveX를 왜 만들었을까? [본문으로]
  2. 2017년 11월 25일 기준으로 최신 버전은 2.1.6입니다. [본문으로]
  3. 6장에서는 안드로이드에서 RxJava를 활용하는 방법까지 소개하고 있습니다. [본문으로]