피드로 돌아가기
Node.js BlogBackend
원문 읽기
Node.js가 async_hooks, crypto, cluster, http2, n-api, perf_hooks, tls, util 등 8개 핵심 모듈을 개선하고 npm 6.4.1, libuv 1.19.2로 업그레이드해 LTS 8.12.0 릴리스
Node.js 8.12.0 (LTS)
AI 요약
Context
Node.js 8.x LTS 버전은 프로덕션 환경에서 안정성과 기능성을 필요로 하는 애플리케이션의 장기 지원을 제공해야 한다.
Technical Solution
- async_hooks: PromiseWrap.parentId를 rename하고 runtime deprecation 제거, unsafe emit{Before,After} deprecate 처리
- cluster: cluster.settings에 cwd 옵션 추가, workers에 windowsHide 옵션 지원
- crypto: IV가 null로 전달 가능하도록 허용 (필수가 아닌 경우)
- deps: npm을 6.4.1로 업그레이드, libuv를 1.19.2로 업그레이드, node-inspect를 1.11.5로 업그레이드
- fs/net: stringToFlags()에 as, as+ 플래그 지원, fs streams와 sockets에서 'ready' 이벤트 emit
- http/http2: http.createServer()에 옵션 추가, 103 Early Hints 상태 코드 지원
- n-api: 실험 단계 제거 및 stable API로 승격
- perf_hooks: timeline에 너무 많은 entries가 있을 때 경고 추가
- tls: TLSSocket에서 Finished messages 노출
- util: util.getSystemErrorName() 함수 구현
- src: NodePlatform 관리를 위한 public API 추가, NODE_OPTIONS에 --perf-(basic-)?prof 플래그 허용, postmortem metadata 추가
- trace_events: 파일 패턴 CLI 옵션 추가
Key Takeaway
Node.js LTS 버전의 주요 업데이트는 API 안정화(n-api의 experimental 제거), 의존성 최신화(npm, libuv), 그리고 기존 모듈의 기능 확장을 통해 프로덕션 안정성과 개발자 경험을 동시에 향상시킨다.
실천 포인트
Node.js
8.x 기반 서비스를 운영 중인 팀에서
8.
1
2.0으로 업데이트하면, n-api를 통한 네이티브 모듈 개발이 stable하게 지원되며, cluster 워커의 cwd와 windowsHide 옵션으로 멀티 프로세싱 구성을 더 유연하게 제어할 수 있고, crypto 모듈의 null IV 지원으로 암호화 코드의 조건부 로직을 단순화할 수 있다.