기획자 본인만큼 잡다한 블로그

greentec.egloos.com

포토로그




<러닝 리액트> - 알렉스 뱅크스 & 이브 포셀로 지음, 오현석 옮김 독서








나는 예전 회사에서 자바스크립트로 게임데이터 관련 툴을 만드는 일을 했었다. 추가 구현이 많아질수록 구조적 프로그래밍과 객체지향 프로그래밍 사이의 어중간한 영역에 있었던 코드는 점점 길어지고 관리 불가능해져갔다. 기능 단위로 툴을 쪼개도 기본 패러다임은 동일했기 때문에 하나의 수정사항을 반영하려면 여러 부분을 들여다보고 서로 영향을 끼치는 부분을 계속 조정해야 했다.

이직한 회사에서 리액트, 그리고 ES6 의 문법을 처음 접했을 때 처음에는 너무 적응이 되지 않았다. 익숙했던 방법으로 웹툴을 만들어갔을 때 TD님이 하신 말씀은 '기존 툴 안에서도 충분히 만들 수 있을 것 같으니, 다시 해보라.' 는 것이었다. 예전에도 리액트 책을 본 적은 있었지만 제대로 정리되지 않는 부분이 많았다. prop 과 state 는 왜 다른지, 왜 가능하면 let 대신 const 를 써야 하는지, 애초에 함수형 언어는 왜 쓰는지... 등의 의문은 계속 남아 있었다.

반 년 정도 시간이 지나며 기존에 작성되어 있던 코드들을 트래킹하면서 어느 정도 문법에는 익숙해졌지만, 동작 원리에 대해서는 아직 의문이 많은 상태였다. 이때 한빛미디어의 '나는 리뷰어다'에 응모했고, 기대했던 <러닝 리액트> 책에 당첨되었다.

책을 보니 의문점이 많이 해소되었다. 물론 지금까지 현업에서 관련된 코드를 접했기 때문에 이해가 빠른 것일수도 있다. 하지만 일단 그런 점을 제쳐두고라도 2장 '최신 자바스크립트', 3장 '자바스크립트를 활용한 함수형 프로그래밍'은 지금까지 접했던 대여섯 권의 책들 중 가장 간결하면서도 정확하게 문법에 대해서 설명해주고 있었다. 실무에서 리액트를 안 쓰더라도 ES6 가 필요하다면 이 부분만 참고해도 도움이 될 듯 하다.

그 뒤의 내용은 리액트에 대해 본격적으로 설명하고 있다. 4-6장 초반은 요리 레시피, 6장 중반-10장은 색 관리 리스트라는 주제로 하나의 프로그램이 어떻게 개선될 수 있는지를 꾸준히 설명하고 있다. 가끔씩 설명이 없으면 엄청 헷갈릴 수 있는 문법이 있는데 (jsx 의 props를 스프레드 연산자를 사용해서 넘기는 부분 등) 그런 부분들에 대해서도 빠짐없이 설명이 되어 있어서 저자들의 꼼꼼함을 느끼게 한다.

예제 코드도 github 에 올라와 있고, 한글판에 대해서는 역자가 별도로 repo 를 만들고 추가로 자세하게 설명을 해놓고 있어서 하나하나 트래킹해볼 사람에게는 많은 도움이 될 것 같다. 오래된 책들의 예제 코드를 보면 최신판과 맞지 않는 점도 많은데 한글판 repo 는 리액트16 에 따라 원래 repo 의 코드를 수정한 부분도 있다. 그리고 번역에 이상한 단어가 없고 순수 한글을 고집하지 않으며 일반적으로 통용되는 용어를 사용해서 매끄럽게 읽히는 것도 장점이다.

리액트에 대해서 본격적으로 공부하려면 더 두껍고 내용이 많은 책과 예제가 필요할 것 같지만, 입문서로는 꽤 괜찮아보인다. 사실 책 한 권을 읽고 어떤 내용에 대해서 모든 것을 알기는 힘든 일이다. 그래도 가이드가 필요하다면 이 책은 꽤 안정적인 선택일 것 같다.

핑백

덧글

댓글 입력 영역

애드센스