본문 바로가기
Work/책 정리

[리뷰] RxJS 프로그래밍 - 75가지 핵심 문법과 예제로 익히는 RxJS 기초

by ★용호★ 2018. 10. 13.



들어가며

백엔드 개발자로 경력을 쌓아오던 중 그동안은 편의를 위한 간단한 운영툴 정도의 웹 개발만 해왔었기 때문에 jquery 외에는 다른 라이브러리들은 크게 고려하지 않고 개발을 진행해왔었다. 하지만 최근들어서는 서비스를 제공하기 위한 웹 개발을 하다보니 점차 기능도 많아지고 난이도 높은 개발들이 증가되고 있어서 프론트엔드 개발이 내 발목을 잡게 되었다. 자바스크립트에 대한 기본이 부족하고, 라이브러리 사용 경험 또한 적어서 공부의 필요성을 느끼고 강의도 다니며 자바스크립트 학습에 지속적으로 시간을 들이게 되었다.

프론트엔드 개발 중에 가장 고민되고 어려웠던 부분이 ajax를 사용하여 백엔드 서버와 데이터를 주고 받을 때 이 부분을 어떻게 하면 일관되게 처리하고, 버그가 발생하지 않도록 빈틈없이 처리를 할 수 있을까였다. 어떤 경우에는 동기식으로 서버의 처리 결과가 마무리 되는 것을 기다려야 할 때도 있었고, 비동기 식으로 프론트에서 주기적으로 상태를 체크해야하는 부분도 있었기 때문에 점차 로직이 복잡해지고 다양한 버그를 발생시켰다. 그러던 중 75가지 핵심 문법과 예제로 익히는 RxJS 기초 RX JS 프로그래밍을 알게 되었고, 여유 있을 때마다 카페에 와서 찬찬히 읽어보았다.


책을 읽으며

75가지 핵심 문법과 예제로 익히는 RxJS 기초 RX JS 프로그래밍 책을 읽으면서 이런 부분에서 매우 효과적으로 처리를 할 수 있겠다는 생각이 들었다. 하지만 곧바로 도입해서 사용하기에는 내용이 생각보다 많았고, 개념 또한 숙지해야할 부분들이 많아서 충분한 학습 시간이 필요할 것이라 생각이 들었다.

먼저 책에서 소개하는 RxJS는 ReactiveX 프로젝트에서 출발한 리액티브 프로그래밍을 지원하는 자바스크립트 라이브러리이다. 이를 이해하기 위해서는 리액티브 프로그래밍이라는 개념을 알아야하는데, 리액티브 프로그래밍은 비동기 프로그래밍 패러다임 중 하나이고, 자바스크립트에서 발생하는 이벤트를 비동기로 처리해서 변화에 유연하게 반응하는 것을 의미한다. 이 리액티브 프로그래밍은 자바스크립트에만 적용되는 것이 아니라 RxJava와 같이 다른 언어에서도 사용할 수 있는 프로그래밍 기법이라고 생각하면 좋을 것 같다. RxJS와 리액티브 프로그래밍에 대해서는 책의 도입부에서 자세하게 다루고 있으니 충분히 이해할 수 있을 것이라 생각된다.

책 제목처럼 각 개념들이 등장할 때마다 예제로써 독자들의 이해를 돕고 있다. 굉장히 자세하게 개념들을 하나씩 설명하고 있지만 개인적으로는 그림이 많이 포함되어 있었다면 이해가 더 쉽지 않았을까하는 아쉬운 마음이 들었다. 책을 읽어가며 글로는 잘 이해가 되지 않아 몇 번이나 다시 읽었던 적이 여러번이었기 때문이다. 그래도 여러번 읽고나면 이해에는 크게 무리가 없었다. 책 구성 또한 기본 이해부터 라이브러리의 각 요소들을 하나씩 풀어가며 설명하고 있기 때문에 읽는 재미가 있었다. 책의 주제가 RxJS이다 보니 RxJS에 대한 설명이 선행된 후 후반부에서 ES2015+에 대한 설명이 이어진다. 만약 ES2015+에 대한 기본 지식이 없는 경우에는 후반 부를 먼저 읽고 난 후에 앞부분을 읽는 다면 이해에 더 도움이 될 것이라 생각이 든다.


마치며

75가지 핵심 문법과 예제로 익히는 RxJS 기초 RX JS 프로그래밍 책은 비단 RxJS를 위한 것이 아니라 ES2015+에 대한 지식을 익히고 싶은 독자들에게도 충분히 도움이 될 것이라 생각한다. 나 또한 처음에는 RxJS라는 생소한 단어로 인해 뭔가 새로운 지식을 익혀야 한다는 부담감과 실무에 도입할 수 있을지에 대한 의구심 때문에 꺼려지는 부분이 있었는데 읽다보니 이는 라이브러리일 뿐이고 개발의 효율을 위해 얼마든지 도입할 수 있으며, 자바스크립트 기본과도 동떨어져 있지 않다는 것을 느꼈다. 이러한 이유로 자바스크립트를 사용하여 개발을 하고 있고, 실력 향상에 갈증을 느끼는 독자들이라면 꼭 한번 읽어볼만한 책이라고 생각한다.

댓글