피드로 돌아가기
Version 0.7.6 (unstable)
Node.js BlogNode.js Blog
Backend

Node.js 0.7.6이 v8 3.9.17, npm 1.1.8로 업그레이드되며 TLS 인증서 파싱, 클러스터 네임드 파이프 지원, process.hrtime() 추가로 런타임 기능 확대

Version 0.7.6 (unstable)

2012년 3월 13일5intermediate

Context

Node.js 개발 단계에서 기본 런타임 엔진(v8), 패키지 관리자(npm), 그리고 네이티브 바인딩 처리에 대한 기능 개선이 필요했다.

Technical Solution

  • v8 엔진을 3.9.17 버전으로 업그레이드하여 자바스크립트 실행 성능 및 기능 향상
  • npm을 1.1.8으로 업그레이드하고 binding.gyp 파일이 있는 네이티브 패키지를 자동으로 node-gyp 처리
  • package.json에서 os/cpu 필드 지원 추가하여 플랫폼별 의존성 지정 가능
  • TLS 모듈에서 SSL 인증서의 동일 키에 대한 복수 값 파싱 지원
  • 클러스터 모듈에서 TCP 소켓 대신 네임드 파이프 전달 지원
  • 프로세스 모듈에 process.hrtime()을 추가하여 나노초 단위의 고해상도 타이밍 측정 기능 제공
  • net, http, https 모듈에 localAddress 옵션 추가로 바인딩할 로컬 주소 지정 가능
  • readline 모듈에 다중행 입력 지원 추가
  • HTTP 모듈에서 "SEARCH" 요청 메서드 지원 추가
  • process.versions에 zlib 및 http_parser 버전 노출
  • Windows 파일시스템 에러에 syscall 정보 포함
  • UNC 공유에서의 언팩 실패 및 리스팅 불가능한 디렉터리 생성 문제 해결

Key Takeaway

런타임 마이너 버전 업그레이드는 의존 라이브러리 버전 상향뿐 아니라 플랫폼별 호환성(Windows UNC 공유, 네임드 파이프), 성능 측정 도구(hrtime), 보안 기능(TLS 인증서 파싱)을 동시에 강화하는 통합적 개선이다.


Node.js 기반 서비스를 개발할 때 package.json의 os/cpu 필드를 명시하고 binding.gyp이 있는 네이티브 모듈을 의존시키면 자동 빌드로 크로스 플랫폼 배포 시간을 단축할 수 있으며, localAddress 옵션으로 특정 네트워크 인터페이스에 바인딩하면 다중 NIC 환경에서 트래픽 격리가 가능하다.

원문 읽기