메뉴 바로가기 검색 및 카테고리 바로가기

한빛미디어

독자리뷰

RxJS 프로그래밍: 75가지 핵심 문법과 예제로 익히는 RxJS 기초

hji7***

|

2020-09-22

RxJS 프로그래밍: 75가지 핵심 문법과 예제로 익히는 RxJS 기초

이 책은 RxJS를 이용해 자바스크립트로 리액티브 프로그래밍에 입문할 수 있게 도와준다. 다양한 웹 서비스에 RxJS를 적용해온 두 저자가 리액티브 프로그래밍의 개념, 연산자, 스케줄러, 앵귤러/리액트/리덕스 활용, ES2015+ 문법 소개 등 RxJS를 시작하는 데 꼭 필요한 핵심 개념과 기법을 소개한다.

  • 저자 : 이종욱 , 안재하
  • 출간 : 2018-09-10

 

이 책은 2018년 말에 처음 읽었던 책입니다. 당시 일하던 회사에서는 angular를 사용하고 있어서, angular와 함께 사용하기 위한 관점에서 이 책을 읽었다면, 이번에는 React와 함께 사용하기 위해서, 다시 보게 되었습니다.

책을 읽는 내내 저자들이 참 정성스럽게 책을 썼다는 생각을 지울수 없었습니다. 내용을 전개함에 있어서, 단순히 A는 B이다가 아니라 A의 배경에 대해서도 설명 하려는 노력을 하고 있거든요.

특히 2018년 말에는 관심을 갖지 않아서 이 책에 그 내용이 있는 줄도 몰랐던 redux-observable 챕터는 솔직히 많이 반가웠습니다.

사실 근래 react 상태관리에 대해서 의문을 가지기 시작했습니다.
물론 redux가 진리이고, redux thunk가 표준이라고 생각하며 그대로 흘러가도 무방하겠지만, 저도 모르게 퀘스쳔 마크를 찍고 있네요.
먼저, 상태관리 영역 자체가 글로벌 변수 다발이 되어 버리는 문제가 있었습니다. 물론, 글로벌 변수 다발이라고 생각하지 않고, 데이터 영역 또는 layer라고 생각하면 좋겠지만, 사실 react 코드를 따라가다 보면 그런 느낌이 아닙니다.
철저하게 나눠서 테스트를 하고 layer를 관리하는게 아닌 이상, 그건 그냥 글로벌 변수를 예쁘게 포장한 것 같습니다. 한동안 디자인 패턴에 많은 사람들이 매몰되면서, singleton 패턴은 마구 쓰는 상황이 발생했었는데요. 그때 상황이 오버랩됩니다. (디자인패턴이 나쁘다는 의미는 아닙니다. singleton 남발이 나쁜거죠)

게다가 redux를 쓰는건 의외로 군더더기 코드를 많이 넣어야 한다는 문제가 있습니다. 상태 자체보다 이를 접근하는 코드가 더 많이 필요한 상황인데요. 이렇게 되면, 코드가 직관적이지 못합니다. 그래서 진입장벽이 발생하는데, 이는 단순히 redux만의 진입장벽일 뿐 아니라, 회사 코드에서 redux를 쓰면서 그 단순 코드를 정리하겠다고 넣는 코드가 또다른 wrapper되고 그 wrapper도 알아야 하는 상황이 발생합니다.

나머지 하나는 비동기 처리 부분에 있습니다. 통신중 에러에 대해서 민감하지 못하고 다수 비동기 처리에 대한 대책이 미비하다는 겁니다. redux-saga를 사용하면 비동기 처리가 쉽다고는 하지만 그 역시 결국은 promise입니다. promise는 근본적으로 비동기 처리 중간에 예외가 발생할 경우, 그리고 비동기 처리 다수를 운영해야 할 경우, 불편합니다.

그래서, 결론적으로 다시 rxjs에서 힌트를 얻고 싶은 마음이 생기네요. 때문에 이 책이 또다른 출발점이 될 수 있지 않을까 기대하면서 다시 읽게 되었습니다.  

 

 

 

 

 

 

 

 

 

 

 

 

닫기

해당 상품을 장바구니에 담았습니다.이미 장바구니에 추가된 상품입니다.
장바구니로 이동하시겠습니까?