◆ ESSAY
네번째 책을 쓰고 있습니다. 이번에는 Node.js 입니다.
V8의 hidden class가 깨지면 성능에 무슨 일이 생기는지, AsyncLocalStorage가 async/await 체인을 어떻게 추적하는지, Prototype Pollution이 실제로 어떻게 RCE까지 이어지는지 — 이런 질문들에 코드와 소스 레벨에서 답을 찾아보는 책입니다.
현재 전체 10개 파트 중 Part 1 ~ 5 집필이 완료되었고, Part 6 ~ 10을 작성 중입니다. 현재까지 작성된 분량만으로도 전작 <<Web Performance Deep Dive>>의 약 65% 수준이라, 완성되면 전작보다 분량이 많아질 것으로 예상됩니다.
| 파트 | 주제 | 진행 |
|---|---|---|
| Part 0 | 시작하기 전에 | ✅ |
| Part 1 | Node.js 런타임의 심장 — V8, libuv, 이벤트 루프, Task Queue, 네이티브 바인딩 | ✅ |
| Part 2 | 모듈 시스템 — CommonJS, ESM, Dual Package Hazard, Custom Loaders | ✅ |
| Part 3 | 메모리와 스트림 — V8 GC, Buffer, Stream 배압, Web Streams | ✅ |
| Part 4 | 네트워크 — TCP/IP, HTTP 프로토콜의 진화, TLS/SSL, DNS, WebSocket | ✅ |
| Part 5 | 보안 — Permission Model, vm 모듈, Prototype Pollution, 비밀번호·토큰 검증 | ✅ |
| Part 6 | 동시성 — Worker Threads, AsyncLocalStorage, Child Process, 동시성 제어 패턴 | ✅ |
| Part 7 | 에러와 프로세스 — 에러 전파, uncaughtException, Cluster, 시그널, Graceful Shutdown | 🚧 |
| Part 8 | 성능 진단 — 이벤트 루프 지연 측정, CPU 프로파일링, 메모리 누수 진단, async_hooks, diagnostics_channel | 🚧 |
| Part 9 | 배포 환경 — 컨테이너, 서버리스, Edge Runtime | 🚧 |
집필 과정에서 목차가 변경될 수 있습니다.
전작 <<Web Performance Deep Dive>>에서는 베타 리딩 기간과 출판 일정이 겹치면서 소중한 의견을 일부밖에 반영하지 못했습니다. 그게 꽤 아쉬웠습니다.
이번에는 베타 리더분들의 피드백을 모두 꼼꼼히 반영한 다음에 출판사에 원고를 넘길 예정입니다. 일정에 쫓겨서 의견을 흘려보내는 일은 없고자 합니다. 그래서 모든 장에 걸쳐 의견을 남겨주시면 감사하겠습니다.
자격: Node.js를 사용해본 경험이 있는 중고급 개발자라면 누구나. 연차는 상관 없습니다.
방법: root@yceffort.kr 에 [베타리더신청] 말머리로 메일을 보내주세요.
베타 리더 소개에 어떤 분인지 적어야 해서 수집하게 되었습니다. 그 이외의 용도로는 사용하지 않습니다.
모집 기간: 상시 모집
인원: 최대 10명
감사합니다 🙇🏻♂️