웹 애플리케이션 (웹사이트, 단일 페이지 애플리케이션, REST API 및 기타)을 작성하기 위한 가장 빠른 방법은 무엇일까? 이 책에서 소개 하고 있는 것은 Node.js 의 Express  이다.

 

Node.js 는 기본 언어로 자바스크립트를 사용 하기 때문에 프론트엔드에서 사용하던 언어로  서버 프로그램을 개발 할 수 있기 때문에 진입 장벽이 낮다.

 

거기에 Express 라는 웹 애플리케이션 개발 최적화 되고 배울것이 최소한인 프레임워크를 제공 하기 때문에 (최소한의 프레임워크를 제공하고 사용자가 기능 중에서 필요한 것만 추가하여 사용할 수 있도록 한다.)  빠르게 개발을 시작 하고 끝낼 수 있다.

 

책은 Node.js 및 Express 에 대한 간단한 소개로 시작해서 “메도라크 여행사 웹사이트” 라는 예제 (웹사이트 및 API 제공) 를 작성하며 웹사이트를 개발는 전반적인 내용과 그에 따라 Express 의 기능을 사용 하는 방법을 배운다. 

 

- 요청과 응답 객체 다루기

- 템플릿 엔진 핸들바 (handlebars) 사용하기

- 서버로 데이터(및 파일) 전송하기

- 쿠키와 세션 다루기

- 데이터베이스 다루기

- 이메일 다루기

 

또한 Express 의 사실상 모든것이라고 할 수 있는 미들웨어 대해 다룬다. (익스프레스 애플리케이션은 미들웨어의 조합이다.) 

 

미들웨어란 간단하게 말하면 요청과 응답 과정에 중간에서 원하는 작업을 처리 하는 함수이다. 함수의 매개변수로 다음 처리될 함수를 줄 수 있어서 작업을 정해진 순서대로 처리할 수 있도록 한다. 책에서는 미들웨어에 대한 정의와 널리 쓰이는 미들웨어를 소개 한다.

 

마지막으로 사이트 오픈 및 오픈이후의 유지보수에 대한 내용을 간략히 소개한다. 짧은 내용이지만 반드시 실천해야할 내용을 담고 있다.

 

전반적인 웹에 관한 내용을 다루지만 그렇게 어렵지는 않은 책이다. 다만 너무 기초가 없으면 곤란한 부분이 존재한다. 자바스크립트는 책을 보기전에 미리 공부하는 것이 좋겠고, 웹의 구조등에 대해서는 책을 보면서 모르는 단어가 나올 때 마다 찾아보며 함께 공부하면 편하다.

 

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

 

 

 

자바스크립트를 지원 하는 백엔드 런타임인 Node.js 가 나온지도 벌써 11년이다. 그동안 다수의 버전이 릴리즈 되었고 (현재 최신 버전은 15.14) , NPM 에는 100만개 이상의 패키지가 등록 되어 있지만 노드의 아버지인 라이언 딜은 2020년 5월 새로운 백엔드 기술을 개발했다.

 

 

 

이름은 NODE 를 뒤집어 놓은듯한 DENO.

 

책에서는 라이언 딜이 DENO 를 탄생시킨 배경과 설치 부터 시작 하는 주요 사용법, 또한 DENO 의 주 언어인 타입스크립트에 대해서 소개 하고 있다. 

 

가장 흥미롭게 읽은 부분은 DENO 의 보안 강화 부분이다.

스크립트를 실행하는 OS 가 보안을 처리하도록 하지 않고 사용자가 직접 허용할 권한을 지정하도록 강제 하는 부분은 아이폰의 개인 정보 보호 기능을 통해서 익숙한 내용인데, 서버에서 스크립트를 실행 하는 과정에서도 이에 대한 제약을 할 수 있는 부분이 아주 흥미로웠다. 내가 잘 알지못하는 모듈들이 내가 허용하지 않은 작업을 하지 못하게 하는 것은 사실상 왜 여태까지 그런 제약이 없었는지 싶을 정도 이다. 그리고 실행방법도 아주 간단하다. 단순히 스크립트 시작 부분에 플래그를 추가 하기만 하면 된다.

 

DENO 가 Node.js 를 대신할지에 대한 여부는 여러 내용들을 읽어봐도 알기가 어렵다. 하지만 백엔드 런타임을 새로 배워야 한다면 DENO 로 시작 하는 것도 나쁘지 않을듯 하다.

 

책의 마지막에서 언급 하지만 이 책을 번역하는 2021년 1월에는 DENO 의 버전이 1.7.1 이었다. 현재 이 리뷰를 쓰는 시점의 DENO 의 버전은 1.9.0 이다.

 

DENO 개발팀은 얼마나 열심히 일하고 있는 것인가.



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

 

+ Recent posts