한 권으로 끝내는 Node & Express : 모던 웹을 위한 서버 사이드 자바스크립트의 모든 것 - 2판
이선 브라운 지음, 한선용 옮김 / 한빛미디어 / 2021년 5월
평점 :
장바구니담기


블로그에서 긁어왔습니다. 원문을 보시려면 여기로 들어가셔서 보시면 됩니다.


※ 한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.

선천적으로 Strict한 C, C++, Delphi나 스크립트 언어지만 빡빡한(?) C#만 접해봐서인지 Java Script, Action Script 등을 사용하다보면 대략 정신이 아득해짐을 느끼는 경우가 많습니다. 와~?! 이게 된다고?! 와~ 이게 안된다고?! 하면서 말이죠. 근데 후자보다는 전자를 더 많이 느끼게 되는 것 같습니다.

특히나 Action Script로 Scaleform 작업을 할 때에는(게다가 Action Script 2.0) 정말 정신이 아득해지는 것을 느꼈습니다. 도대체 디버깅도 제대로 되는 것인지도 모르겠고... 자유로움보다는 방임에 가깝게 느껴지는 이러한 상황이 되려 더 불편하게 느껴졌던 것 같네요.

하지만 최근에는 Type Script도 나오고 하면서 조금씩은 저도 적응하기 편한 방식도 나오는 것 같아서 환영입니다.

어째꺼나 Node는 Js 환경 하에서의 프레임워크에 가깝고, Express 또한 동일합니다. 이 둘을 혼합하니 아주 간단하게 웹 서버를 만들 수 있다는 사실은 상당히 놀라웠습니다.

C++이나, 좀 더 나아가 C#으로도 웹 페이지 하나를 띄워주는 웹 서버를 만들려면 include나 import를 할 것도 많고, 다양한 함수들을 초기 설정부터 시작해서 접속방법 등등을 다 세팅해줘야만 하죠. 게다가 하나하나 제대로 작동하는지도 테스트하려는 단계까지 생각한다면 역시나 정신이 대략 아득해집니다.

그런데 Express와 Node를 이용하니 대단히 간략하게 서버 하나를 뚝딱 만들 수 있더군요.

const express = requier('express') const app = express() const port = process.env.PORT || 3000 app.listen(port, () => console.log( 'Express started on http://localhost:${port}; '+ 'press Ctrl+C to terminate.'))

책의 극 초반부에 나오는 예제 소스입니다. 줄바꿈을 넉넉히 했음에도 딸랑 6줄이면 localhost로 접속하면 "Express started..."로 시작하는 문장을 만날 수 있습니다. 와...!! 세상이 이렇게 편해도 되나 싶을만큼 간단하더군요.

그래서인지 더더욱 흥미롭게 책을 보기는 했습니다만, 뒤로 갈수록 대충 어떻게 돌아가는지는 알겠지만... 각 모듈이나 디테일한 것들을 설명해주지는 않다보니 이게 도대체 왜 이렇게 되는 것인지 궁금한 것이 많았습니다.

특히나

const port = process.env.PORT || 3000

는 도대체 어떻게 port에 3000번이 할당이 되는 것인지도 잘 모르겠더군요. 뭐 디테일함은 따지지 않고 넘어가도 되기야 하겠지만, 모르니깐 책을 보는 내내 답답함이 존재하는 것은 어쩔 수 없었던 것 같습니다.

이미 하나의 거대한 생태계가 되어 있는 것을 수박 겉핥듯 빠르게 익히기 위해서는 희생을 해야할 것이 필연적으로 많이 생길 수 밖에는 없는 것 같습니다. 결과적으로 프론트엔드 쪽은 여전히 저의 기반 지식이 부족하여 접근하기에는 많이 힘든 것 같습니다.

그래서 뒤로 갈수록 책을 읽어가는 속도가 현저히 줄어들기는 했습니다. 하지만 초중반즈음에 챕터 하나를 만나고 나서는 다시 탄력을 받았는데, 바로 Quality Assurance에 대한 내용을 다룬 5장 때문입니다. 대부분의 책들은 그냥 만드는 법을 알려주는데, 이렇게 유닛 테스트를 하는 방법과 필요성에 대해서 역설을 하고 있는 모습이 대단히 인상 깊었습니다. C++도 유닛 테스트 메뉴가 있길래 몇번 해보려고 시도한 적은 있지만 생각보다 부족한 정보량에 관성적으로 그냥 해오던대로 작업을 진행하고 있습니다. C#에서는 한번 적극적으로 도입을 해보려고 책도 구입을 해봤습니다만, 생각보다 난이도가 높아서 제대로 습득을 못해서 결과적으로는 성공하지는 못했습니다.

물론 이 책에서도 많은 내용을 할애할 수는 없기에 간단히 언급만 하고 넘어가지만, 적어도 이런 부분을 이야기해준 도서는 처음봤기에 꽤 인상이 깊었던 것 같습니다.

이후 뒤의 내용들을 보면서 역자들에게 감사함을 보내고 싶었습니다. 특히나 8장에서 따라하다가 막히는 부분이 발생했는데, 이 부분을 역자가 추가로 부록으로 내용을 보충해둬서 실제로 따라하는데에 큰 막힘이 없어서 좋았습니다. 사실 git page를 보면서 빠진 부분을 보충하면 되기야 하겠지만, 지식이 없는 사람에게는 이 부분마저도 힘들 수 있는데, 부족한 부분을 잘 메워줘서 무척 고마웠던 책이었습니다.

js를 이용하여 백엔드쪽 지식을 빠르게 쌓고, 무언가 간단한 것이라도 결과물을 내어보고 싶은 분이 있다면 이 책을 추천드릴 수 있을 것 같습니다. 다만, 코드에서는 바뀐 부분에 대해서만 언급을 하기 때문에 실제로 내용을 잘 따라가야만 적용을 해볼 수 있습니다. 물론 예제 소스를 다운받아볼 수 있기에 이 소스를 보면서 하셔도 좋겠지만, 백문이불여일타 아니겠습니까? 저는 최대한 책을 보면서 타이핑을 하는 형식으로 해서인지, 더더욱 부족한 부분에 대한 부록이 너무 맘에 들었던 것 같습니다.



댓글(0) 먼댓글(0) 좋아요(0)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo