최근 한빛리더스4기에 참여할 수 있는 기회가 생겨 "모던웹을 위한 Node.js프로그래밍" 책을 리뷰하게 되었습니다.
크롬의 등장으로 자바스크립트의 실행속도가 서버에서 실행해도 될만큼 빨라지자 웹브라우저를 벗어나 서버상에서 자바스크립트를 구동할 수 있도록 해주는 node.js가 탄생하였습니다.
node.js는 이벤트기반 비동기 네트웍 입출력을 통해 빠른 처리를 가능케하고, 외부모듈을 쉽게 사용할 수 있다는 점에서 현재 많은 인기를 얻고 있습니다.
이 책은 node.js의 활용에 대한 전반적인 내용을 담고 있으면서도, jsp나 php같은 서버측 웹프로그래밍경험이 없는 사람들도 바로 따라하면서 배울수 있도록 간결하고 쉬운 설명과 실행했던 스크린샷을 담고 있습니다.
각 장의 구성은
예제가 나오기 전에 소스파일들의 폴더구조를 알려주고,
설명중간중간 알아야 할 내용이 있으면 바로 알려주는 대신 굵은 글씨로 질문을 한 번 던진 후에 설명을 해주고 있으며
각 장의 끝엔 남은 과제라 해서 예제를 확장할 수 있는 질문들을 던져서 다시한번 배운내용을 생각해볼 수 있도록 한 점이 좋았습니다.
책의 구성은 앞에서 나온 내용을 계속 활용할 수 있도록 되어 있습니다.
- 외부모듈을 사용하는 절이 있으면, 뒤에 http모듈을 이용해 간단한 웹서버를 만드는 예제설명이 나오고,
- 같은 역할을 하는 예제로 node.js에 대한 코드형태에 익숙하게 하면서 외부모듈을 이용해서 웹서버 기능들을 확장하면서 웹어플리케이션에 필요한 페이지들을 작성할 수 있게 설명하며,
- database에 대한 설치 및 기본적인 설명과 함께 database 웹연동 예제들이 나오고
- socket.io 모듈설명과 이벤트에 대한 설명후에 웹채팅예제를 설명하고
마지막엔 이를 모두 활용하는 데모예제(http://www.hanb.co.kr/demo/1888/)로 구성되어 있어서 node.js를 익히기에 좋게 되어있습니다.
데모에 나온 실시간 영화예약과 쇼핑카드,온라인 공유 그림판(소켓통신), 위치 추적(구글맵+데이타베이스) 에 대한 설명까지 읽고나면
기존 자바스크립트로 UI만 다루던 역할에서 벗어나 아 저런 어플리케이션까지 만들 수 있겠구나 한번 해봐야지 하는 느낌을 받으실 수 있습니다.
참고로 7장의 connect모듈관련 예제는 책이 출간된 이후 connect 모듈이 2.0으로 업그레이드 되어서 동작하지 않습니다.
따라서 http://www.hanb.co.kr/exam/1888/%ED%95%84%EB%8F%85%EC%82%AC%ED%95%AD.txt 참조하셔서
connect 1.8.5버전을 설치 후 사용하셔야 합니다.
좀 더 바라는 점은 디버깅이나 유닛테스팅같은 정보가 포함되었으면 하는 점과
코드예제에 파일명이 있는게 있고, 없는게 있고 그런데 웬만하면 모두 포함되어 있었으면 좋겠습니다.
그리고 후반부예제는 코드가 긴 편인데 이벤트기반 클라이언트/서버구조의 소스이므로, 서로 어떤 메소드(혹은 이벤트)들을 주고 받는지에 대한 그림이 포함되어 있었으면 코드이해에 좀 더 도움이 될 거 같습니다. ^^
따끈따끈한 최신기술인 node.js의 책을 번역서가 아닌 직접 저술하신 책으로 접할 수 있어서 좋았으며, 이 책을 계기로 더 많은 국내 node.js 개발자들이 생겨났으면 좋겠습니다.