피드로 돌아가기
Node.js BlogBackend
원문 읽기
Node.js 15.13.0 버전에서 Buffer API에 btoa/atob 구현, HTTP ClientRequest에 getRawHeaderNames() 추가, child_process에 timeout 파라미터 도입으로 표준 웹 호환성 및 프로세스 관리 기능 확대
Node.js 15.13.0 (Current)
AI 요약
Technical Solution
- Buffer 모듈에 btoa와 atob 함수 구현: 문자열과 바이너리 데이터 간 인코딩/디코딩 표준화 (SEMVER-MINOR)
- HTTP ClientRequest에 getRawHeaderNames() 메서드 추가: HTTP 헤더명의 원본 형식 조회 기능 (SEMVER-MINOR)
- child_process.spawn()과 fork()에 timeout 옵션 추가: 자식 프로세스 실행 시간 제한 설정 가능 (SEMVER-MINOR)
- stream.pipeline()이 Buffer를 첫 번째 인자로 허용: 스트림 파이프라인의 입력 형식 확장 (SEMVER-MINOR)
- perf_hooks.Performance 클래스를 EventTarget 상속으로 변경: 성능 측정 API의 이벤트 처리 기능 강화 (SEMVER-MINOR)
- npm을 7.7.6으로 업그레이드: 패키지 관리 도구 개선
- V8 엔진 백포트 2건: 자바스크립트 엔진 성능 및 안정성 개선
- 암호화 모듈 5건의 버그 수정: DiffieHellman 인자 검증, SignTraits 에러 처리, crypto.verify 콜백 호출 개선
- HTTP/2 프레임 처리 개선: 비-EOF 빈 프레임을 잘못된 프레임으로 처리
- Node-API 2건의 안정성 개선: 종료 중 GC 중지, 파이널라이제이션 크래시 수정
- AbortSignal 관련 3건 수정: 중복 등록 제거, 타입 검증 추가, 리소스 정리 개선
실천 포인트
Node.js 애플리케이션을 개발할 때
1
5.
1
3.0 이상으로 업그레이드하면 Buffer.btoa/atob로 웹 표준 호환성을 확보할 수 있으며, child_process 실행 시 timeout 옵션을 사용하여 좀비 프로세스 방지와 리소스 누수 제어가 가능해진다. 또한 HTTP 헤더의 원본 케이싱을 getRawHeaderNames()로 조회할 수 있어 헤더 민감도가 필요한 프로토콜 구현에서 호환성이 향상된다.