내블로그 | 랜덤블로그 쪽지
폴라리스님의 블로그
http://blog.yes24.com/nanq
리스트 | RSS
태그 & 테마링 | 방명록
폴라리스
폴라리스님의 블로그
프로필 쪽지 친구추가
10월 스타지수 : 별414
댓글알리미 비글 : 사용안함
전체보기
기본 카테고리
문화생활이벤트
나의 리뷰
기본 카테고리
나의 메모
기본 카테고리
태그
제이쿼리 JQuery 피서 폭우 동굴 더위 얼음
2018 / 10
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
월별보기
나의 친구
최근 댓글
안녕하세요. 저자입니.. 
봄을 알리는 시네요. .. 
시가 너무 웃겨요ㅋㅋ.. 
쑥떡 맛있죠~ 
잘보고갑니다. 
새로운 글
오늘 12 | 전체 7280
2013-03-23 개설

전체보기
서버 만들기에 자신감을 가질듯 합니다. | 기본 카테고리 2018-09-30 14:33
http://blog.yes24.com/document/10718011 복사 Facebook 보내기 트위터 보내기

[도서]웹 서비스를 만들며 배우는 node.js 프로그래밍

정민석 저
제이펍 | 2018년 07월

내용     편집/구성     구매하기

서버 만들기에 자신감을 가질듯 합니다.

위 상품을 구매하면, 리뷰등록자에게 상품판매대금의 3%가 적립됩니다. (상품당 최대 적립금액 1,000원) 애드온 2 안내

- 이 책이 필요한 독자분은 누구일까?
이 책은 저자님이 소개글에 소개했듯이 먼저 눈으로 책을 쭉 읽은 후 실습을 하는 방법을 소개합니다. 이 방법은 제 생각에는 자바스크립트든 php든 프로그래밍 언어에 대충 어떤 기능이 있고 어떤 함수와 메소드가 있다는 정도의 프로그래밍 지식 체계가 대충 잡힌 경우 효과적인 학습 방법이라고 봅니다. 그래서 이 책은 비전공인데 지금 막 자바스크립트를 배우기 시작했거나 HTML을 배우는 등의 아직 초보자에게는 무리라 생각됩니다. 아마 프로그래밍에 대한 체계가 안잡혔다면 몇 장 넘기자마자 머리에 두통이 올 것입니다. 용어가 생소하고 이해가 어려우니까요. 반면에 무작정 따라하기 책이었다면 소스를 따라하면서 감을 잡아가며 되는데 이 책은 따라하기에 적합한 책은 아닙니다.
왜냐하면 이 책은 자바스크립트 es6의 소스를 사용합니다. function(){} 이런 함수가 아니라 ()=>{} 이런 es6의 함수를 사용합니다. 그래서 자바스크립트 es6에 대한 공부가 선행되어야 소스를 원할히 이해할 수 있습니다. 또한 소스에 dir등의 윈도우 명령어가 아닌 ls 를 사용하여 그 대상이 linux와 mac 사용자에게 적합합니다. 또한 5.6장 본문에 "중요한 함수 중심으로 다루기도 하고, 나머지는 nodejs.org에서 직접 확인바랍니다. 항상 강조하지만 기본 내용은 책을 통해 학습하고, 그 다음은 반드시 관련 레퍼런스 사이트를..."라는 내용에 있듯이 이 책은 자세한 내용을 레퍼런스를 통해 배우라고 말합니다. 레퍼런스 사이트를 볼 정도면 어느 정도 프로그래밍의 함수와 메소드에 대한 이해가 있는 사람이라 볼 수 있습니다. 즉 초보자가 아닙니다. 만약 초보자라고 하신다면 그 분은 nodejs에 초보자지 프로그래밍에 초보자는 아닐 것입니다.
더군다나 res.on('data', ()=>{ } )
res.on('end',()=>{})
이 코드를 이해하신다면 이미 nodejs의 기초 입문은 아닐 것입니다. 
 
- 그럼 이 책의 독자는 누구란 말일까?
nodejs의 책을 한 번 이상 본 사람, 자바스크립트 es6를 한 번쯤 학습한 사람이 제가 생각한 대상이며, 책의 뒷표지에 나왔듯이 스스로 서버를 만들기에 부담이 있었던 사람이 대상이라 봅니다. 제 생각에는 nodejs 따라하기 책을 보았던 경험이 있으나 따라하기 책이 주는 그 특유의 응용력 부족 유발 현상이랄까 그런 게 있는 분을 말하지 않을까 싶습니다.

 (무작정 따라하기 책이 좋은 것만은 아니었습니다. 하고 나서 무엇을 했는지 기억 못하는 경우도 많고, 경우에 따라 내실이 없는 경우도 있습니다. 그렇지만 완전 초보자에게 배움에 접근성이 좋은 것이 장점입니다. 그래서인지 이런 방법의 책은 굉장히 많은 편이었습니다. 그래서 제 입장에서는 무작정 따라하기보다는 이런 경험을 말하고 포인트를 짚어주는, 만나기 쉽지 않은 책은 이런 책이 반갑습니다. 다만 대상 독자 시장이 작아보여서 마케팅이 쉽지 않을듯 싶군요. 아니면 오히려 틈새 시장일까요?)
nodejs에 대한 책이 번역서 포함해서 여러 출판사에서 많이 나왔습니다. 그리고 제이펍에서도 나온 것으로 압니다만 오래 전에 나온 것으로 알아서 그 책까지는 제가 보지 못했습니다. 제이펍 책은 아니지만 오래된 책은 nodejs책은 node 버전이 많이 다르고 es5로 작성 되어있으며 npm 모듈들 역시 너무 많이 업그레이드 되어 명령어가 달라지거나, 더 좋은 다른 모듈이 등장하여 그 책에 나온 모듈이 오래되었거나 유지보수가 안되는 등의 여러 문제점이 있습니다.

- 이 책의 독자가 얻을 이익을 소개하자면?
 2012년부터 nodejs를 해오신 경험이 우러나는 것으로 보입니다. 게다가 번역서가 아닌 흔치 않은 국내 저자님의 책입니다. 알찬 내용은 최우선적으로 서버만들기에 부담스러웠던 분께 도움이 될텐데 nodejs의 fs.write, fs.open, fs.createWriteStream의 뚜렷한 차이와 활용법을 확실히 익히지 못한 분, 그리고 res(response)와 req(request)를 다루는 방법을 확실히 모르는 분께 최우선 도움이 될 것입니다. 즉 서버 만드는 방법을 확실히 익힐 듯 합니다. 시중의 많은 책들처럼 nodejs의 npm 모듈인 express에 의존하는 것이 아니라 기본 nodejs로 서버를 만듦에 자신감을 갖게 해줄 것이라 생가합니다. 우선 5.6장까지 보면 책의 1/3 정도의 분량입니다. 그 부분인 간단한 크롤링 서버 만들기까지 익히면 서버 만드는 부분의 자신감은 거의 해소될 것으로 보입니다.
그 외 멀티프로세서 클러스터 , 로그인와 인증 구현 등도 도움이 되겠습니다.

- 그 외 이 책만의 특징이 더 있다면?
네트워크와 http 등에 대해 많은 내용이 많이 실린 것 같습니다. 네트워크 분야는 프로그램과는 또 다른 영역이랄까 해서 책이 별도로 나오는데요. 이처럼 책 속에서 상세히 함께 이야기되는 책은 여지껏 nodejs 책에서는 거의 보지 못했습니다. 4장까지 nodejs 웹서버 만드는 코드를 총체적으로 짚어보는데 이 때 nodejs의 req, res에 사용되는 네트웨크나 http에 대한 말씀이 나오는데 도움이 됩니다. 또한 HTTPS 보안 구현에 대한 이야기도 좋았습니다.


- 그 외에 장점이 있다면?
우선 책값이 적당합니다. 2만원이라 10%할인 받으면 18000원 정도니까요. 책 재질도 가벼운 편이고 무엇보다 두껍지 않어서 매우 좋습니다.
- 단점이나 의아한 부분이 있다면?
ES6를 쓰는데 콜백지옥 피하는 부분에 promise와 await를 잘 쓰지 않고 책에서 "단순 함수만을 쓰겠다"고 하셨고 콜백 지옥 피하기 부분에 배열에 함수를 넣어 for문으로 함수를 순차실행하는 방법은 옛날 방법이 아닌가요? es6나오며 제너레이터와 promise, await를 쓰는데 왜 굳이 이 방법을 쓰셨을까? 어쩌면 제너레이터와 프로미스는 과도기 기술이라 사라질 수 있으니 기본에 충실하자는 의도가 아닐가 싶기도 했습니다.

그리고 require 대신 import를 사용하도록 바벨 소개를 하지 않은 부분 등이 단점이라기보다 조금 의아했습니다. 하지만 이 부분은 nodejs가 아직 import를 지원하지 않아서 바벨을 붙여쓰는 별도 기술이기도 하고, 기존에 시중에 나온 nodejs나 책에 많이 소개된 부분이라서 굳이 쓸 필요는 없을테고 또 취향에 따라, 아니면 학습을 위해서 일부로 핵심에 집중하려 곁가지는 땐 게 아닌가 싶습니다.


- 출판사에 건의사항이 있다면?
소스코드와 글의 설명 부분에 번호를 먹이면 글을 읽다가 어느 부분의 설명인지 찾기 쉬운 면이 있는데요. 이 부분은 <웹크롤링 테크닉>책에 잘 되어 있습니다. 그런데 설명과 소스에 번호 넣는 게 의무는 아니고 책에 따라 흐름상 안넣을 수도 있겠지요. 친절이 계속되면 권리인줄 안다지요? 제가 친절한 책을 보았던 모양인데 이 책은 조금 스스로 학습을 유도하도록 한 면도 있어서 굳이 번호 넣을 필요는 없어보입니다. 왜냐하면 소스 부분 아래와 같은 취지의 주석을 다셨어요. '정규표현식 대신에 문자열함수로 프로그래밍을 합니다. 왜냐하면 문자열함수로 다루는 연습을 해야하기 때문입니다'. 저도 이 말씀에 공감합니다.  

 
- 오타가 있다면..
페이지48 소스 "//디렉토리 내의 파일 목록을 읽습니다" => "디렉토리 내의 파일을 삭제합니다" 가 맞다고 봅니다.

- 마지막으로 한마디 한다면
다른 책에는 흔치 않은 네트워크 서버에 대한 지식이 녹아 있는 것 같으며
이 책의 읽으면 nodejs의 네트워크 헤드 전송 방법 등 네트워크 정보를 서버에서 다루는 방법인 res(response) , req(request)를 다루는 방법을 확실히 익힐 수 있을 것으로 보입니다. 초보자 아닌 개발자에게 적절한 분량의 가볍고 좋은 책 같습니다. 그럼에도 불구하고 책표지의 글자체 디자인은 초보자에게 친근하게 보이는 것은 저만일까요? 사실 다른 출판사는 개발자 대상일 경우 글자도 반듯한 고딕체나 힘준 궁서체의 번역서를 참 많습니다.

이 글이 좋으셨다면 SNS로 함께 공감해주세요.
댓글(2) 트랙백(0)
이 리뷰를 | 추천 1        
진행중인 이벤트
나의 북마크
이벤트 세상