기본기를 다루다NestJS 도입과 타입스크립트로의 전환두 개의 실전 프로젝트이 책이 필요한 사람들 |
|
본 도서는 출판사로부터 도서를 제공받아 주관적인 리뷰로 작성하였습니다. 오랜만에 Node.js 관련해서 정말 알차고 핫한 책 한 권이 나왔네요. 이미 그전에 들어알고 있는 베스트셀러 『Node.js 교과서』의 개정 4판입니다. 이번에는 최신 노드 생태계의 변화에 발맞춰 NestJS와 TypeScript까지 한 번에 아우르는 내용으로 출판되었네요. 개정 4판에서는, - Node.js 25판 기반 - npm 패키지 버전 업데이트 - NestJS 도입 - Drizzle 사용 - AI 프로젝트가 추가되었습니다. 책을 읽으면서 인상 깊었던 핵심 요점들을 몇 가지 나누어 볼게요. 1. 노드의 핵심 개념을 직관적인 그림과 설명으로 비동기, 이벤트 기반, 논블로킹 I/O, 싱글 스레드 등 노드를 다룰 때 꼭 알아야 하는 기본 개념들이 있잖아요. 이걸 말로만 장황하게 설명하지 않고 그림과 상세한 원리 해석을 덧붙여서 자바스크립트 초급자분들도 서버의 작동 방식을 쉽게 이해할 수 있게 풀어줬어요. 2. 백엔드에서 TypeScript와 최신 Drizzle ORM의 활용! 요즘 백엔드 개발에서 타입스크립트 도입은 거의 필수 코스가 되었죠. 책 중간에서 기존 노드 코드를 타입스크립트 프로젝트로 직접 포팅하고 전환하는 과정을 순서대로 실습해 볼 수 있어서 실무에서 어떻게 타입안정성을 챙기는지 확실히 감이 왔어요. 게다가 전통적인 Sequelize 대신 최신 트렌드로 떠오른 **Drizzle ORM**을 접목해서 MySQL과 연동하는 부분도 트렌디해서 정말 신선하고 마음에 들더라고요. 3. Express에서 대세인 NestJS 프레임워크로의 진화! 가장 핵심적인 변화는 단연 NestJS 파트입니다! 보통 노드로 서버를 만들 때 처음엔 Express로 자유롭게 만들지만, 프로젝트 규모가 커지면 구조를 잡기가 참 어렵잖아요. 이 책은 체계적인 프레임워크인 NestJS를 도입해서 데코레이터 패턴이나 의존성 주입(DI) 같은 엔터프라이즈급 아키텍처 구조를 자연스럽게 익힐 수 있게 도와줍니다. 4. 트렌디한 실무 지향 실전 프로젝트! 책에 나오는 두 개의 프로젝트가 정말 매력적이에요. Express를 활용해 회원가입, 로그인, 이미지 업로드, 팔로우, 해시태그 검색 기능이 포함된 실전 SNS 서비스를 만들고, NestJS 파트에서는 무려 GPT, Claude, Gemini 같은 LLM API를 연동한 AI 비서 웹앱을 개발합니다. 요즘 시대에 유행하는 AI 실습을 직접 할 수 있어서 개발 공부가 훨씬 즐겁고 동기부여가 잘 되더라고요 5. 클라우드 AWS 배포까지 올인원 가이드! 로컬 환경에서만 잘 돌아가는 프로그램은 반쪽짜리겠죠? AWS(Amazon Web Services)에 실제로 내 서버를 올리고 도메인을 연결해서 서비스하는 실제 배포 단계까지 하나하나 친절하게 안내해 줘서 좋았어요. 이런 분들께 강력히 추천해요! 자바스크립트나 타입스크립트는 조금 쓸 줄 아는데, 제대로 된 서버 개발에 입문해 보고 싶은 프론트엔드 개발자분들 Node.js로 Express 기반 개발은 해봤지만, 대규모 아키텍처와 NestJS로 레벨업하고 싶은 주니어 개발자분들 단순한 코드 복사 붙여넣기를 넘어, AI 연동 백엔드 실무의 전체적인 설계를 체득하고 싶은 분들 두꺼운 분량의 실습서인 만큼 처음부터 다 외우려 하기보다는 노트북 옆에 두고 타이핑하며 직접 구현해 보시는 걸 권해 드려요. 올 여름 에어컨밑으로 피서를 즐기면서 개발 공부하신다면 이책을 꼭 추천드려요. #node.js교과서 #next.js교과서 #길벗#Drizzle |
|
나는 예전에 《Node.js 교과서 3판》 베타리딩에 참여한 적이 있다. 그래서 자연스럽게 개정판인 4판에도 관심을 갖게 되었다. 어느 날 제로초(조현영)님의 쇼츠를 보다가 개정판이 나온다는 소식을 접했고, 오랫동안 채널을 구독해온 입장에서 기대감을 가지고 읽게 되었다. 무엇보다 서평단에 참여할 수 있다는 사실 자체가 개인적으로는 꽤 의미 있는 일이었다. 사실 나는 현재 Python을 주력으로 사용하고 있다. AI 열풍과 함께 Python의 수요는 더욱 늘어났고, 실제 업무에서도 다양한 방식으로 활용하고 있다. 하지만 한편으로는 Python이라는 익숙한 영역에만 머물러서는 안 된다는 생각도 계속 가지고 있었다. 개발자로서 살아남으려면 결국 무기를 하나 더 가져야 한다. 개인적으로 Java를 특별히 좋아하는 편은 아니다. 그렇다면 최소한 Node.js와 JavaScript, TypeScript 기반의 웹 개발 생태계 정도는 이해해야겠다고 생각했다. 마침 회사에서도 JavaScript를 접할 일이 많아졌다. 백엔드 위주로 일하던 내가 바닐라 JavaScript 코드를 직접 수정하기 시작했고, 현재는 Mediasoup 기반 화상상담 서비스를 운영하면서 Node.js를 접하고 있다. 문제는 서비스를 관리하고는 있지만 내부 동작 원리를 제대로 이해하지 못해 답답함을 느끼는 경우가 많았다는 점이다. 그래서 이번 《Node.js + NestJS 교과서 4판》은 단순히 새로운 기술을 배우기 위한 책이 아니라, 내가 부족하다고 느끼던 영역을 채우기 위한 책이기도 했다.
책은 설치부터 시작하지만 불필요하게 많은 스크린샷으로 지면을 채우지 않는다. 필요한 부분만 간결하게 설명하고 빠르게 본론으로 넘어간다. 그리고 초반부터 싱글 스레드, 논블로킹 I/O, 이벤트 루프, 버퍼, 스레드 풀 같은 Node.js의 핵심 원리를 설명한다. 솔직히 쉬운 내용은 아니다. 하지만 오히려 이런 내용이 중요하다. 예전에 나 역시 점심시간에 노트에 그림을 그려가며 이벤트 루프와 비동기 처리 원리를 공부했던 기억이 있다. 최근 바이브 코딩과 AI 코딩이 유행하고 있지만, 이런 기초 개념을 이해하지 못한 채 서비스를 만들게 되면 문제가 발생했을 때 결국 AI에게만 의존할 수밖에 없다. 저자가 서문에서 "AI 시대이기 때문에 오히려 Node.js를 더 제대로 배워야 한다"고 말한 이유도 여기에 있다고 생각한다. 이후에는 Express를 활용해 HTTP 서버를 만들고 MySQL을 학습한다. 특히 MySQL Workbench를 활용한 실습이 인상적이었다. 단순히 Node.js 코드만 작성하는 것이 아니라 SQL을 직접 실행하고 결과를 확인하면서 데이터베이스를 이해할 수 있도록 구성되어 있다. 템플릿 엔진인 Nunjucks를 다루는 부분도 흥미로웠다. Python을 사용해 본 사람이라면 Jinja2와 상당히 유사한 문법을 가지고 있다는 사실을 금방 알아차릴 수 있다. 이미 익숙한 개념과 연결되다 보니 어렵지 않게 읽을 수 있었고, 언어는 달라도 웹 개발의 기본 개념은 상당 부분 공유된다는 점을 다시 한 번 느끼게 되었다. 이번 개정판에서 가장 눈에 띄는 변화는 TypeScript와 NestJS의 도입이다. 특히 TypeScript를 별도의 장에서 다루며 JavaScript 프로젝트를 TypeScript로 전환하는 과정을 설명하는 구성이 인상적이었다. 물론 한 챕터만으로 TypeScript 전체를 설명할 수는 없다. 저자 역시 이를 인정하며 추가 학습 자료를 소개한다. 하지만 적어도 왜 TypeScript를 사용해야 하는지에 대해서는 충분히 설득력 있게 설명한다. 저자의 의견은 명확하다. 가능하다면 처음부터 TypeScript로 개발하라는 것이다. 생산성 때문이 아니라 에러를 줄이기 위해서다. 최근 AI가 코드를 생성하는 시대가 되었지만, 그럴수록 정적 타입 검사의 중요성은 더 커지고 있다. 이 부분은 상당히 공감이 갔다. 그리고 요즘 Node.js 생태계에서 가장 주목받고 있는 NestJS도 본격적으로 등장한다. 특히 기존 Express 기반 SNS 프로젝트를 NestJS 기반으로 전환하는 과정이 흥미로웠다. 개인적으로 NestJS에 관심을 가졌던 이유는 객체지향 프로그래밍 때문이다. Python을 사용하면서도 객체지향 설계 역량이 기대만큼 늘지 않는다는 아쉬움이 있었는데, TypeScript와 객체지향 개념을 적극적으로 활용하는 NestJS를 통해 간접적으로라도 설계 방식을 배워보고 싶었다. 또한 ORM 역시 기존 Sequelize 대신 최근 주목받고 있는 Drizzle ORM을 사용한다. Node.js 최신 생태계의 흐름을 반영하려는 저자의 고민이 느껴지는 부분이었다. 무엇보다 좋았던 점은 이 책이 문법 위주로 흘러가지 않는다는 것이다. 최근 안드레 카파시 역시 비슷한 이야기를 한 적이 있다. 문법을 전부 공부한 뒤 프로젝트를 시작하는 것이 아니라, 실제 서비스를 만들면서 필요한 지식을 배우라는 것이다. 이 책 역시 같은 철학을 가지고 있다. 실제로 마지막에는 지금 시대에 가장 어울리는 프로젝트가 등장한다. GPT, Claude, Gemini 같은 여러 LLM을 하나의 웹 애플리케이션에서 활용할 수 있는 AI 비서 서비스를 직접 만들어 보는 것이다.
최근에는 AI API를 연동하는 서비스가 급격히 늘어나고 있다. 그렇기 때문에 이 프로젝트는 단순한 예제가 아니라 현실적인 의미가 크다. Python 기반 AI 서비스는 많이 접해봤지만, Node.js 생태계에서는 어떤 방식으로 AI 서비스를 설계하고 구현하는지 궁금했던 나에게 특히 흥미로운 장이었다. 마지막으로 AWS 배포까지 다루는 점도 마음에 들었다. 많은 입문서가 로컬 환경에서 프로그램을 실행하는 것으로 끝난다. 하지만 실제 서비스는 배포되는 순간부터 시작이다. AWS를 이용해 서비스를 직접 배포하는 과정까지 경험할 수 있다는 점은 초보자들에게도 큰 도움이 될 것이라 생각한다. 《Node.js + NestJS 교과서 4판》은 단순히 Node.js 문법을 설명하는 책이 아니다. Node.js의 동작 원리부터 시작해 Express, MySQL, TypeScript, NestJS, Drizzle ORM, AI 서비스 개발, AWS 배포까지 현대적인 Node.js 개발자가 알아야 할 내용을 폭넓게 다루고 있다. 한마디로 요약하자면, Node.js 문법을 알려주는 책이라기보다 AI 시대에 웹 서비스를 만들기 위해 필요한 기반 체력을 길러주는 책에 가깝다. Python이라는 익숙한 영역에서 한 걸음 더 나아가고 싶었던 나에게 좋은 자극이 되었고, Node.js를 처음 배우는 사람은 물론 다른 언어를 사용해 온 개발자들에게도 충분히 추천할 만한 책이다.
* 본 서평은 출판사로부터 책을 지원받아 작성되었습니다. |
|
『Node.js + NestJS 교과서』는 Node.js의 기초부터 NestJS를 활용한 실전 백엔드 개발까지 폭넓게 다루는 책이다. 단순히 문법을 설명하는 데 그치지 않고 실제 서비스를 개발하는 과정을 중심으로 구성되어 있어, 백엔드 개발의 전체 흐름을 이해하는 데 많은 도움이 되었다. 특히 인상적이었던 점은 Node.js의 동작 원리와 비동기 처리 방식을 비교적 자세하게 설명한다는 것이다. 이벤트 루프, 비동기 프로그래밍, 모듈 시스템 등 Node.js의 핵심 개념을 단순 암기가 아닌 이해 중심으로 설명하여, 왜 이러한 방식으로 동작하는지 자연스럽게 파악할 수 있었다. 또한 Express를 활용한 서버 개발 과정을 통해 웹 애플리케이션의 구조를 다시 한번 정리할 수 있었다. 후반부에 다루는 NestJS는 대규모 프로젝트를 고려한 구조 설계와 유지보수 방법을 배울 수 있다는 점에서 특히 유익했다. 기존에 Spring Framework를 사용해 본 경험이 있는 개발자라면 모듈, 컨트롤러, 서비스, 의존성 주입 등의 개념이 익숙하게 느껴질 수 있으며, NestJS가 왜 기업 환경에서 선호되는지 이해할 수 있었다. 또한 TypeScript를 기반으로 개발을 진행하기 때문에 코드의 안정성과 생산성을 높일 수 있다는 점도 장점으로 느껴졌다. 실습 예제 역시 단계적으로 구성되어 있어 학습 내용을 바로 적용해 볼 수 있었다. 단순히 기능을 따라 만드는 것이 아니라 프로젝트를 완성해 나가는 과정 속에서 실제 개발 업무와 유사한 경험을 제공한다. AWS 배포와 AI 서비스 활용 사례까지 다루고 있어 최신 개발 트렌드를 함께 접할 수 있다는 점도 긍정적이었다. 다만 이 책은 입문자를 대상으로 하지만 다루는 범위가 상당히 넓고 분량도 많은 편이어서, 프로그래밍 경험이 전혀 없는 독자라면 다소 어렵게 느껴질 수 있다. 반면 Java, Spring, Python 등 다른 언어와 프레임워크를 경험해 본 독자라면 기존 지식을 Node.js 생태계로 확장하는 데 매우 유용한 책이라고 생각한다. 『Node.js + NestJS 교과서』는 단순히 Node.js 사용법을 배우는 책이 아니라 현대적인 백엔드 개발의 흐름과 실무적인 개발 방식을 익힐 수 있는 책이다. 웹 백엔드 개발에 관심이 있거나 새로운 기술 스택을 학습하고자 하는 개발자에게 추천할 만한 도서라고 생각한다. #협찬 #길벗협찬 |
|
최근 생성형 AI와 프론트엔드 프레임워크가 워낙 좋아지다 보니, 혼자서 외형을 갖춘 웹 서비스를 만드는 일은 그리 어렵지 않다. Gemini나 AI Studio 같은 도구에 프롬프트 몇 줄만 입력해도 그럴듯한 기능이 뚝딱 완성된다. 하지만 서비스 규모가 조금만 커지고 유저 데이터가 쌓이기 시작하면 곧바로 한계에 부딪힌다. AI가 짜준 파편화된 백엔드 코드는 기능이 추가될 때마다 스파게티처럼 꼬이기 일쑤였다. 결국 기초가 없으면 사상누각이겠다는 생각이 들어 아키텍처의 기본기부터 다시 다지기로 마음먹었다. 그렇게 선택한 책이 바로 길벗출판사의 《Node.js + NestJS 교과서(개정 4판)》다. 국내 노드 생태계의 대표 격인 조현영(ZeroCho) 저자의 책인 만큼 믿고 펼칠 수 있었다. 1.뼈대를 모르고 AI에게 코드를 요구했던 날들의 반성 책의 도입부인 1장부터 4장까지는 Node.js의 핵심 기본기를 다룬다. 최신 자바스크립트 문법부터 이벤트 루프, 논블로킹 I/O 같은 노드의 심장 메커니즘을 파고드는데, 이 구간을 지나며 그동안 내가 얼마나 아슬아슬하게 개발해 왔는지 깨달았다. AI는 돌아가는 코드를 빠르게 뱉어내지만, 왜 그 코드가 동작하는지, 대용량 트래픽이 몰릴 때 왜 서버가 멈추는지 원인까지 먼저 짚어주지는 않는다. 책을 통해 async/await의 내부 동작 원리와 내장 모듈의 백그라운드 처리 과정을 명확히 이해하고 나니, 비동기 작업에서 발생하는 병목 현상을 스스로 추적하고 디버깅할 수 있는 눈이 생겼다. 마법처럼 쓰던 기술을 비로소 온전히 제어하게 된 기분이었다. 2.Epress로 밑바닥을, DB 연동으로 실전을 채우다 5장에서 8장으로 이어지는 구간은 Node.js의 표준 프레임워크인 Express와 데이터베이스 연동을 다룬다. 단순히 개념만 나열하는 게 아니라 MySQL(Sequelize)과 MongoDB(Mongoose)라는 관계형, 비관계형 데이터베이스를 모두 경험하도록 매끄럽게 설계되어 있다. 이 파트에서 웹 보안의 핵심인 쿠키와 세션 관리, JWT 토큰 인증의 정석을 학습했다. 데이터 모델링의 기초를 잡고 프론트엔드와 데이터를 주고받는 REST API의 올바른 설계를 직접 코드로 구현해 보면서, 그동안 AI에게 "로그인 기능 만들어줘"라고 막연하게 요청하던 비효율적인 방식에서 벗어날 수 있었다. 대규모 서비스를 위한 진화, 왜 NestJS인가 책의 후반부인 13장부터 16장까지는 이 책의 하이라이트인 NestJS를 다룬다. 앞선 장에서 Express로 'NodeBird'라는 SNS 서비스를 직접 밑바닥부터 구현해 보았기 때문에, 대망의 NestJS 파트로 넘어왔을 때의 체감이 훨씬 컸다. Express는 자유도가 높아서 개발자 취향에 따라 폴더 구조가 중구난방이 되기 쉽다. 반면 NestJS는 모듈(Module), 컨트롤러(Controller), 서비스(Service) 구조와 의존성 주입(DI) 아키텍처를 강력하게 규격화한다. 이 흐름을 따라가다 보면 "아, 이래서 규모가 큰 기업들이 NestJS를 도입하는구나"라는 탄성이 절로 나온다. 구조가 명확해지니 타입스크립트 기반의 코드 안정성이 극대화되고, 유지보수와 테스트가 눈에 띄게 편해졌다. 책을 완독한 지금은 AI에게 프롬프팅을 할 때도 "NestJS 아키텍처와 TypeORM 엔티티 규격에 맞춰서 서비스 로직을 분리해 줘"라고 훨씬 정교하고 수준 높은 지시를 내리고 있다. 이런 개발자에게 추천한다 AI로 웹 개발을 시작한 주니어: AI가 짜주는 코드를 대략 이해는 하지만, 백엔드 로직을 스스로 커스텀하거나 아키텍처를 설계하는 데 두려움이 있는 사람 기술 스택 업그레이드가 필요한 노드 개발자: Express를 활용한 토이 프로젝트 경험은 있지만, 실무 채널에서 가장 요구도가 높은 NestJS와 TypeORM으로 포트폴리오 수준을 높이고 싶은 사람 풀스택을 지향하는 프론트엔드 개발자: 익숙한 자바스크립트/타입스크립트 생태계 안에서 서버 인프라부터 데이터베이스, 배포까지 올인원으로 끝내고 싶은 사람 탄탄한 아키텍처를 위한 완벽한 지침서 《Node.js + NestJS 교과서》는 유행하는 기술을 단순히 따라 치는 흔한 클론 코딩 서적이 아니다. 특정 에러가 발생하는 근본적인 이유를 짚어주고, 왜 지금 이 시점에 이 디자인 패턴을 써야 하는지 논리적으로 설득하는 진짜 '교과서'다. 빠르게 변하는 개발 트렌드 속에서 맹목적으로 도구에 휘둘리지 않고, 나만의 단단한 백엔드 중심을 잡고 싶은 모든 웹 개발자에게 이 책을 권하고 싶다. |
|
AI 서비스를 만들고 싶은데 백엔드에서 막히는 사람이라면, 이 책이 그 벽을 허문다. Node.js v25 최신 기준에 NestJS 구조까지, 입문서라는 이름이 무색하게 실무 밀착형 커리큘럼이 촘촘하다. 특히 Drizzle ORM 도입과 AI 프로젝트 연동까지 한 권에 담은 건 이 책이 처음이다. 모듈·컨트롤러·서비스 구조를 코드로 체득하고 나면, 혼자 만드는 도구가 아니라 함께 유지보수할 수 있는 코드를 쓰는 습관이 생긴다. 백엔드 입문서 중 가장 현실적인 선택. |