Node.js 실전 가이드
Node.js 기초부터 Express, 데이터베이스, 인증, 배포까지
🟢 Node.js 기초
Node.js 시작하기 - 환경 설정부터 모듈, 비동기까지
-
Node.js 시작하기 | 설치, 설정, Hello World
Node.js가 V8과 libuv로 JavaScript를 서버에서 실행하는 구조, 브라우저 환경과의 차이를 짚고 Windows·macOS·Linux 설치와 nvm 버전 관리, 첫 HTTP 서버와 라우팅, npm과 package.json scripts까지 다룹니다.
-
Node.js 모듈 시스템: CommonJS vs ES Modules, 모듈 캐싱, 순환 참조, 모듈 해석 규칙
Node.js 모듈 시스템 정리. CommonJS와 ES Modules의 차이, 내장 모듈, 모듈 캐싱, 순환 참조, 모듈 해석 규칙, package.json의 type·exports 필드를 예제로 다룹니다.
-
Node.js 비동기 프로그래밍 | Callback, Promise, Async/Await
에러 우선 콜백과 콜백 지옥, Promise 체이닝과 정적 메서드, async/await 병렬 처리와 에러 처리를 다루고, libuv 이벤트 루프 페이즈에서 process.nextTick과 Promise 마이크로태스크가 실행되는 순서를 예제로 설명합니다.
🌐 웹 개발
Express로 웹 서버 만들기
-
Express.js 기초: 라우팅, 미들웨어, REST API 구축, 요청·응답 처리, 보안 설정
Express 설치와 기본 서버, 경로 매개변수·쿼리 문자열 라우팅과 라우터 분리, 애플리케이션·내장·서드파티·커스텀 미들웨어, CRUD REST API와 상태 코드, 에러 처리 미들웨어를 블로그 API 예제로 구현합니다.
-
Node.js fs 모듈: 파일 읽기·쓰기, 디렉터리 관리, 스트림, 파일 감시, 에러 처리
Node.js fs 모듈의 동기·콜백·Promise API 차이와 인코딩, JSON 파일 읽기·쓰기, stat과 디렉터리 재귀 탐색, 스트림과 pipe를 이용한 대용량 파일 처리와 압축, fs.watch·chokidar 파일 감시를 예제로 설명합니다.
-
Node.js 데이터베이스 연동 | MongoDB, PostgreSQL, MySQL
Node.js에서 Mongoose로 MongoDB 스키마와 관계를, pg와 Sequelize로 PostgreSQL을, mysql2로 MySQL을 연동하고 Express REST API에 붙입니다. 인덱스, N+1 문제, 페이지네이션, 커넥션 풀 설정도 다룹니다.
-
Node.js 인증과 보안 | JWT, bcrypt, 세션, OAuth
bcrypt로 비밀번호를 해싱해 회원가입을 구현하고, JWT 발급·검증과 인증·권한 미들웨어, Refresh Token, express-session, Passport.js Google OAuth, Helmet·Rate Limiting·CORS·입력 검증 보안 설정을 다룹니다.
🚀 실전 & 최적화
테스팅, 배포, 성능 최적화
-
Node.js 테스트: Jest 기본과 Mock, Supertest API 테스트, DB 테스트, Mocha+Chai
Node.js 테스트 정리. Jest 기본과 비동기 테스트, Mock과 Spy, Supertest로 API 테스트, 데이터베이스와 통합 테스트, Mocha+Chai, 커버리지 측정을 예제로 다룹니다.
-
Node.js 배포 가이드 | PM2, Docker, AWS, Nginx
로컬에서 node app.js로 돌리던 것을 프로세스 관리(PM2)·리버스 프록시(Nginx)·컨테이너(Docker)까지 올리면, 재시작·로그·환경 분리·무중단 배포 같은 운영 요구를 맞출 수 있습니다.
-
Node.js 성능 최적화 | 클러스터링, 캐싱, 프로파일링
Cluster 모듈과 PM2 클러스터 모드로 CPU 코어를 활용하고, 인메모리·Redis 캐싱과 무효화, DB 인덱스와 커넥션 풀, 동시 실행 제한, 메모리 누수 방지, clinic.js·Chrome DevTools 프로파일링, autocannon 벤치마킹을 다룹니다.