업무에 활용하는 Node.js - 맥락을 보는 웹 개발 여정

최관수·2024년 7월 19일
0

서평

목록 보기
6/20

프론트엔드 개발자로 JavaScript를 다루다 보면 Node.js를 자연스럽게 접하게 되고, 브라우저와 서버에서 각각 JavaScript가 다르게 동작한다는 걸 알게 된다. 프론트엔드 개발자라고 해서 화면만 구성하고 컴포넌트 설계만 하는 것이 아니라 서버 구성에 대한 이해 또한 있어야 한다고 생각하는데, 그걸 위해선 결국 하나의 웹 프로덕트 전체를 만들어보는 경험이 중요하다고 느낀다. 이 책을 읽다 보면 익숙한 JavaScript가 서버에서 어떻게 다르게 작동하는지, REST API 등 서버 영역에서 어떤 작업을 어떻게 처리하는지 간접적으로 접할 수 있다. 같은 언어지만 다른 맥락에서 작동하는 점이 흥미롭다.

책의 첫 장에서는 비동기나 이벤트 주도와 같은 Node.js의 주요 특징을 설명한다. 싱글 스레드나 논블로킹 I/O와 같은 JavaScript 자체의 특징을 Node.js 내부에서 어떻게 활용되는지 설명한다. 2장에서는 JavaScript를 처음 접하는 사람들을 위한 기초 문법을 다루고, 3장은 ECMAScript 모듈이나 시맨틱 버저닝과 같은 전반적인 지식에 대한 설명이 이어진다. 4장부터 Node.js 내부적으로 어떻게 JavaScript가 활용되는지 다루기 시작하고, 비동기 처리와 밀접한 관련이 있는 callback, Promise, async/await 등이 어떻게 활용되는지 설명한다. 5장은 실질적으로 CLI 도구를 통해 내부적으로 실제 코드를 어떻게 작성하고 동작하는지에 대한 내용이고, 6장은 Express를 통해 REST API를 구성하는 것에 대한 내용이 이어진다. 레디스를 활용해서 DB와 연동하고, API 호출에 맞게 사용자 정보를 반환하는 예제와 같이 실질적으로 서버 내에서 API 구성을 하고 페이징 처리를 하는 등 실무와 비슷한 구성이 마음에 들었다. 7장에는 왜 React와 같은 라이브러리를 사용하는지에 대한 이유와 기본적인 컴포넌트 구성, 문법 등에 대한 설명이 나와 있기 때문에, 이미 React를 실무에 사용 중인 프론트엔드 개발자라면 기존 실무에서의 작업과 비교하면서 봐도 좋을 내용이다. 특히 클라이언트 사이드 라우팅 같은 내용은 평소 어렴풋이 알고 있던 내용이라 더 흥미로웠고 명확하게 이해하는 데에 도움이 되었다. 8장은 패키지 버전 업데이트 등 실제 애플리케이션을 운영하면서 주의해야 할 점과 개선해야 해야 할 점을 다루며 내용을 더하고 있다.

꽤 많은 부분이 도식화되어 있어서 이해하기 수월했다. 주제가 Node.js 여서 백엔드 영역만 다루겠거니 했는데, 웹 개발 전반을 다루고 있어 프론트엔드, 백엔드 영역을 떠나서 웹 개발에 종사하거나 지망하는 사람이라면 개괄적인 웹 개발 흐름에 대해 알 수 있는 책이었다. 예컨대 React에서 어떻게 API를 호출하고, Node.js에서 어떻게 API 설계해서 값을 넘겨줄지, 다시 React에서 그 값을 받아 처리하는 과정을 실무에 가깝게 순차적으로 설명한다. 폭넓게 웹 개발 전반을 다루고 있다 보니 특정 파트에 대한 딥다이브를 기대하기는 어렵다. 다만 주니어 개발자 입장에서는 쏟아져 들어오는 지식이 파편적으로 나뉘어 있고 정리가 안 되는 기분이 들어서 내가 뭘 알고 있는지, 내가 뭘 더 알아야 하는지에 대한 고민을 하게 된다. 그런 파편적으로 나뉜 지식을 정리하고 전체적인 흐름을 이해하는 데 큰 도움이 되지 않을까 싶다. 웹 개발의 전체적인 맥락을 이해하고, 프론트엔드와 백엔드를 아우르는 경험을 쌓고자 한다면 이 책은 좋은 선택이라는 생각이 든다.

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

profile
평소엔 책과 영화와 음악을 좋아합니다. 보편적이고 보통사람들을 위한 서비스 개발을 꿈꾸고 있습니다.

0개의 댓글