CONTENTS
목차
읽음 표시는 직접 선택하며 자동 완료되지 않습니다.
- 01스트림 기초 - 큰 파일을 메모리에 올리지 않고 처리하기
Readable/Writable/Transform, 한 번에 읽기와 스트림 메모리 비교, pipeline 과 오류 전파, readline 으로 줄 단위 처리
- 02배압(backpressure) - 느린 쪽에 속도를 맞추기
write 반환값과 drain, highWaterMark, 배압 무시 시 메모리 증가 재현, pipeline 이 해주는 일, 비동기 이터레이터로 스트림 읽기
- 03Buffer 와 인코딩 - 바이트와 문자열 사이
Buffer 할당, UTF-8 경계에서 글자 깨짐, StringDecoder, 바이너리 헤더 파싱, base64·hex
- 04이벤트 루프 단계와 블로킹 찾기
timers/poll/check 단계, setImmediate 와 setTimeout 순서, process.nextTick 과 마이크로태스크, 이벤트 루프 지연 측정(perf_hooks monitorEventLoopDelay)
- 05worker_threads 로 CPU 작업 나누기
CPU 작업이 서버를 막는 재현, Worker 생성과 메시지, 작업 풀 만들기, SharedArrayBuffer 는 언제, 스레드 수 정하기
- 06child_process 와 cluster - 프로세스로 확장하기
spawn/execFile 과 셸 주입 위험, 표준 입출력 스트림 연결, cluster 로 코어 활용, 무중단 재시작 개념
- 07HTTP 성능 - keep-alive·타임아웃·압축
keep-alive 와 에이전트, 서버 타임아웃 설정(headersTimeout, requestTimeout), gzip 압축 스트림, 큰 응답 스트리밍, 간단한 부하 측정 스크립트
- 08메모리 누수 찾기 - 힙 스냅샷과 흔한 원인
process.memoryUsage 관찰, 전역 캐시·리스너·클로저 누수 재현, --inspect 와 힙 스냅샷 비교 절차, WeakMap/WeakRef
- 09CPU 프로파일링 - 느린 함수 찾기
--cpu-prof 로 프로파일 저장, 플레임 그래프 읽는 법, 정규식·JSON 처리 병목 예, 측정 전후 비교 원칙
- 10관측 가능성 - 구조화 로그·지표·추적 ID
JSON 구조화 로그, 요청 ID 를 AsyncLocalStorage 로 전달, 처리 시간 지표 집계, /healthz 와 /metrics 엔드포인트
- 11운영 보안 기본 - 입력 한도·권한·비밀값
본문 크기 제한, 경로 조작 방지(path.resolve 검사), 비밀값을 로그에 남기지 않기, npm audit 와 의존성 최소화, 권한 낮춘 실행 사용자
- 12배포와 프로세스 관리 - 정상 종료부터 무중단 교체까지
SIGTERM 처리와 연결 정리, 프로세스 관리자(systemd·PM2) 비교, 로그 회전, 준비 상태 확인(readiness), 롤백 절차
이 책은 Devin.KR 원고를 참조합니다. 원고의 원래 주소와 저작자 표기를 유지하며 같은 글을 다시 등록하지 않습니다. 수정된 원고는 읽기 화면에서 재검수 상태를 확인할 수 있습니다.