서평을 시작하기 전 잡담 -
정말 오랜만에 희열을 느꼈다.
되도록이면 내 일에 관련된 분야의 책을 읽는 것을 자제하고 다른 분야의 책을 읽어보려고 노력을 하였다.
그러다 node.js라는 특이한 것에 관심이 생겨 궁금하기도 하여 읽어보기로 하였다.
그냥저냥 jquery같은 편리한 모듈이겠거니 하고 가벼운 마음으로 책을 넘겨보았다.
책 설명 -
이 책의 궁극적인 목적은 자바스크립트로 웹에 관련된 모든 것을 제어하게 되는 것!
책을 모두 읽고 나니 "하아~~" 라는 감탄사만 나온다.
물론 중간중간에 이런 감탄사는 챕터마다 나오게 될것이다.
책 앞의 문구에 있는 "페이스북, 월마트는 왜 노드제이에스를 선택했는가"에 대해
이해가 갈 것이다.
책의 아름다운 모습 -
독특하게 살구색으로 node.js라고 씌여져있고 예쁘게 개정판이라고 되어 있다.
노트라는 것으로 중간중간 이해를 돕고 있다.
이 책은 표, 그림, 코드로 예시가 이루어지고 노트로 부가설명을 넣어 구성되었다.
솔직히 말하면 노트에는 필요없는 부분이 있다.
이 책을 읽는 독자들은 최소한 jquery는 익히고 와야 하는 것으로 알고 있다.
하지만 jquery까지 익힌 독자가 포트라는 개념을 모를까?
노트 부분에 들어갈 내용을 약간만이라도 줄이고 다른 내용을 넣었으면 하는 바램이다.
예를 들어 보통 인터넷을 사용하는 환경이라면 공유기를 필수로 사용하는데
외부에서 공유기를 통하여 PC에 접근할때 DMZ를 지정해준다던지 포트포워딩을 해주어야 한다는
내용이 있었으면 하는 바램이다.
서평 -
보통 웹이라는 것을 설명할때 이렇게 설명하고는 하는데...
"처음에 클라이언트가 보는 화면은 html과 자바스크립트 정도로 되어있고 html을 꾸며주는 css도 있습니다.
이 클라이언트가 많아질수록 서버쪽의 언어를 해석하는데 부하가 많이 걸리게 되므로
이 부하를 줄여주기 위하여 자바스크립트로써 클라이언트의 행동을 제약해주어
우리가 원하는 행동을 하도록 하게 만들어서 필요없는 요청으로 인한 부하를 줄입니다.
그래서 자바스크립트는 클라이언트 사이드 언어라고 하고 php,asp,jsp같은 언어를 서버 사이드 언어라고 합니다."
그런데? 그런데......?
하하..... 이제는 어떻게 설명을 하여야 하나....?
"예전엔 그랬었는데 자바스크립트에서 jquery로 발전하게 되었고 이 jquery에서 node.js라는 서버언어로까지 발전되게 되었습니다.
그래서 자바스크립트로도 서버운영이 가능합니다. 다른건 필요도 없습니다."
이렇게 설명을 해야 할려나....
경력 10년 이상 되는 분들은 이 글을 읽으면 나의 멘붕상태가 이해가 될것 같다.
자바스크립트로 서버를 만들고 제어를 하다니?
소켓통신을 자바스크립트로? - 물론 그전에도 아작스 방식으로 통신을 할수는 있었다. 하지만 이렇게 획기적으로 간단히 할수는 없었다.
가히.. 혁명이라 부를만 하다.
이 책을 읽으려 한다면 되도록이면 웹으로 일한 경력이 있는 것이 좋다.
jquery까지 익히고 사용해보았고 웹언어(php, asp, java 등)로 프레임워크를 다루어 보았고
어떤 메커니즘으로 클라이언트의 요청을 받아들이며 서버가 어떻게 응답을 하는지
흐름을 아는 정도라면 술술 막힘없이 진심으로 재미있게 익힐 수 있는 책이다.
부록까지 474페이지 정도 되는 책이지만 책 자체가 워낙 구성도 잘 되어 있고 쉽게 읽히는 문체라서
금방 익힐 수가 있다.
개인적으로 좋아하는 구성인 코드를 중복해서 보여주는 구조라서 앞장을 다시 넘겨 기억해야 할 필요가 없다.
코드를 중복해서 보여주는 구조 - A라는 코드를 보여주고 그다음에 B를 보여주는 것이 아니라 A가 포함된 B코드를 보여주는 형식
딱~!!! 실무자를 위한 구성이라고 할수 있겠다.
서평을 마치며 -
이 책을 읽는데 딱 4일 걸렸다.
물론 지하철에서 읽고 퇴근해서도 읽고 자기전에도 읽고...
그만큼!! 정말 재미있었다.
책을 보고 새로운 기술을 익히면서 진심으로 감탄하면서 그 다음을 궁금해하며 보았던 것이 언제였던가...
이런 말을 하면 웃기지만 뭔가 보상받는 기분이었다.
책을 읽어보며 익히는 시간이 상당히 짧았지만 그만큼 웹에 대하여 이해하고 있기 때문에
막힘없이 읽을 수 있었고 바로 적용이 가능하였다는 점이 나 스스로에게 상을 주는 기분이었다.
프로그래머는 기본적으로 호기심이 많아 탐구적이지만 게으르고 관심이 없는 분야에는 눈길도 주지 않는다.
이 게으름때문에 프로그래머 스스로 죽어가는 경우가 많다.
항상 공부하고 적용해보고 노력하는 프로그래머는 끝없이 발전해가지만
자신이 바라볼수 있는 시야에만 안도하는 게으른 프로그래머는 죽어갈 것이라 생각한다.
책을 읽고 익히며 내가 느낀 안도감은 그나마 나는 전자이겠거니 하는 점이다.
이 서평을 읽는 프로그래머들은 당연히 전자라고 생각된다.
node.js라는 아직 버전 1도 나오지 않은 신기술에 대하여 관심이 없다면 이 서평도 읽지 않으리라 생각하며
스스로 항상 노력하는 프로그래머가 되기를 나 자신에게도 당신들에게도 바라는 바이다.
p.s :
몽상가와 현실주의자
즐겨보는 미드 모던패밀리의 시즌3의 에피소드 3에서 이런 말이 나온다.
There are dreamers, and there are realists in this world.
You'd think the dreamers would find the dreamers, and the realists would find the realists,
but more often than not, the opposite is true.
You see, the dreamers need the realists to keep them from soaring too close to the sun,
And the realists.. without the dreamers, they might not ever get off the ground.
세상엔 몽상가도 있고 현실주의자도 있다.
몽상가는 몽상가들끼리 현실주의자는 현실주의자들끼리 모일거라 생각할 수 있지만, 그 반대인 경우가 더 많다.
몽상가는 현실주의자가 태양에 너무 가까이 가지 않도록 해주고
현실주의자는 몽상가 없이는 하늘을 날아보지 못할 것이다.
프로그래머는 몽상가로 미래를 꿈꾸면서 현실주의자로 가진 것을 동원하여 만들어내야 하는 사람이다.
당신은 어떤 프로그래머인가?
'서평' 카테고리의 다른 글
[라즈베리 파이 활용백서]:실전 프로젝트 20 (0) | 2018.03.21 |
---|---|
[소프트웨어 객체의 생애 주기] (0) | 2018.03.16 |
[블록체인 무엇인가]전 세계 사람들이 주목하는 블록체인 입문서! (1) | 2018.03.06 |
[유쾌한 혁명을 작당하는 공동체 가이드북]행복은 타인으로부터 온다! (0) | 2018.03.02 |
[가장 좋은 사랑은 아직 오지 않았다.]인문고전에서 배우는 사랑의 기술 (0) | 2018.02.25 |