피드로 돌아가기
Node.js BlogBackend
원문 읽기
Node.js 10.10.0이 child_process, fs, http2 모듈을 확장하고 http2를 정식 지원으로 변경
Node.js 10.10.0 (Current)
AI 요약
Context
Node.js 런타임의 주요 모듈들이 입력 타입 제약과 기능 부족으로 인해 개발자 생산성을 제한하고 있었다. http2 모듈이 여전히 실험적 상태에 머물러 있어 프로덕션 환경의 도입에 장애가 있었다.
Technical Solution
- child_process 모듈의 execFileSync, spawnSync에 TypedArray와 DataView 값 입력 지원 추가: 바이너리 데이터를 직접 전달 가능 (#22409)
- fs 모듈의 read, readSync, write, writeSync, writeFile, writeFileSync 메서드가 TypedArray와 DataView 객체 수용: 메모리 효율적인 바이너리 작업 지원 (#22150)
- fs.readdir, fs.readdirSync에 withFileTypes 옵션 추가: 반환값을 디렉토리 엔트리 객체로 제공하여 fs.stat 호출 없이 파일 타입 식별 가능 (#22020)
- http2 모듈 정식 지원 전환: 실험적 상태 종료 (#22466)
- os 모듈에 os.getPriority, os.setPriority 메서드 추가: 프로세스 스케줄링 우선순위 조작 가능 (#22407)
- process.allowedNodeEnvironmentFlags 객체 추가: NODE_OPTIONS 환경 변수에서 허용된 플래그를 프로그래매틱하게 검증 및 나열 (#19335)
- vm.compileFunction 메서드 추가: 소스 바디로부터 새로운 JavaScript 함수 생성 지원
- V8 네이티브 코드 커버리지를 NODE_V8_COVERAGE 환경 변수로 지정한 디렉토리에 출력: 커버리지 정보 수집 자동화 (#22527)
- npm 버전을 6.4.1로 업그레이드 (#22591)
Key Takeaway
런타임 버전 업그레이드는 개별 모듈의 API 확장(TypedArray 지원, 새 옵션 추가)과 함께 실험 기능의 정식화(http2)를 통해 점진적인 에코시스템 성숙화를 이루며, 동시에 내부 인터페이스 정리(deprecated C++ API)로 미래 유지보수성을 확보한다.
실천 포인트
Node.js 애플리케이션 개발팀이
1
0.
1
0.0으로 업그레이드할 때, fs 모듈의 TypedArray 지원을 활용하면 바이너리 스트림 처리 시 추가 복사 단계를 제거할 수 있고, withFileTypes 옵션으로 디렉토리 순회 성능을 개선할 수 있으며, http2를 프로덕션 환경에 안정적으로 도입할 수 있다.