CONTENTS
목차
읽음 표시는 직접 선택하며 자동 완료되지 않습니다.
- 01Node.js 런타임과 모듈 - ESM import 와 CommonJS require 차이 (Node.js API 1단원)
브라우저와 Node.js 가 무엇이 같고 다른지 직접 출력해 보고, import/export 와 require 를 섞을 때 나는 오류와 import.meta.dirname 을 익힌다.
- 02Node.js 비동기와 이벤트 루프 - Promise async await 실행 순서 체감하기 (Node.js API 2단원)
코드 순서와 실행 순서가 다른 이유, 동기 계산이 서버 전체를 멈추는 이유, Promise.all 과 allSettled, await 누락과 처리되지 않은 거부를 실행 결과로 확인한다.
- 03Node.js 파일 입출력 - fs/promises 로 JSON 읽고 쓰기와 원자적 저장, 스트림 (Node.js API 3단원)
파일이 없을 때와 깨졌을 때를 구분해 JSON 을 읽고, 임시 파일과 rename 으로 안전하게 저장한다. 실행 위치에 따라 달라지는 상대 경로 함정과 큰 파일 줄 단위 읽기를 다룬다.
- 04Node.js http 서버와 라우팅 - 프레임워크 없이 GET API 만들기 (Node.js API 4단원)
node:http 로 메모 목록 API 를 띄우고 URL 로 경로와 쿼리를 나눠 라우팅한다. JSON 응답 헤더와 200·404, fetch 로 서버를 시험하는 법을 익힌다.
- 05Node.js JSON 요청 본문 읽기와 입력 검증 - 400 413 415 422 구분 (Node.js API 5단원)
조각으로 오는 요청 본문을 크기 제한과 함께 모으고, 문법 오류와 값 오류를 다른 상태 코드로 알려 준다. 허락한 필드만 골라 저장하고 201 과 location 으로 답한다.
- 06Node.js API 상태 코드와 오류 처리 - HttpError 로 404 405 500 한곳에서 (Node.js API 6단원)
오류를 던지는 곳과 응답하는 곳을 나누고 오류 응답 모양을 통일한다. 라우팅 표, PATCH·DELETE 와 204, 404 와 405 의 차이, 내부 정보를 숨기는 500 을 만든다.
- 07Node.js JSON 파일 저장소와 동시성 - 동시 요청에 데이터가 사라지는 이유 (Node.js API 7단원)
동시에 20번 저장하면 1개만 남는 갱신 손실을 재현하고, Promise 대기열로 쓰기를 한 줄로 세운다. 파일 먼저 쓰고 메모리는 나중에 바꾸는 순서와 저장소 주입을 다룬다.
- 08Node.js 환경변수와 설정 - process.env 검증과 --env-file, 비밀값 다루기 (Node.js API 8단원)
문자열뿐인 환경변수를 한곳에서 읽어 검증하고, 잘못된 설정은 시작 전에 모두 알려 준다. 내장 --env-file, 비밀값 가리기, 쓰기 요청 토큰 확인을 붙인다.
- 09Node.js 실무: JSON 설정 파일을 읽고 잘못된 값은 초기에 거절하기
Node.js의 비동기 파일 읽기와 JSON 파싱을 분리하고 타입·범위 검증으로 잘못된 설정이 런타임까지 흘러가지 않게 한다.
- 10Node.js 로깅 - JSON 한 줄 로그와 요청 id, 비밀값 가리기 (Node.js API 9단원)
로그 수준이 있는 JSON Lines 로거를 만들고 요청마다 번호와 걸린 시간을 남긴다. 토큰·비밀번호를 자동으로 가리고, 500 의 원인을 요청 번호로 찾는다.
- 11Node.js 테스트 - node:test 와 assert 로 단위 테스트와 API 통합 테스트 (Node.js API 10단원)
설치 없이 node:test 로 검증 함수 단위 테스트, 임시 폴더 저장소 테스트, 빈 포트에 서버를 띄우는 통합 테스트를 쓰고 실패 출력을 읽는다.
- 12Node.js 배포 전 점검 - SIGTERM 그레이스풀 종료와 프레임워크로 옮길 때 (Node.js API 11단원)
배포 때 요청이 끊기는 문제를 재현하고, 처리 중인 요청과 파일 쓰기를 마친 뒤 끝나는 종료 처리를 만든다. 배포 전 점검표와 Express 같은 프레임워크와의 대응을 정리한다.
이 책은 Devin.KR 원고를 참조합니다. 원고의 원래 주소와 저작자 표기를 유지하며 같은 글을 다시 등록하지 않습니다. 수정된 원고는 읽기 화면에서 재검수 상태를 확인할 수 있습니다.