피드로 돌아가기
Node.js 11.0.0 (Current)
Node.js BlogNode.js Blog
Backend

Node.js가 V8 7.0 업그레이드와 API 정책 변경으로 내부 성능 개선 및 표준 준수 강화

Node.js 11.0.0 (Current)

2018년 10월 23일5intermediate

Context

Node.js 10 이전 버전들은 V8 엔진 버전이 낮고, 비표준 내부 API(process.binding())에 의존하는 코드가 많았으며, 플랫폼별 지원 범위가 광범위해 유지보수 복잡도가 높았다.

Technical Solution

  • V8 엔진을 7.0으로 업그레이드하여 JavaScript 성능 개선
  • http, https, tls 모듈의 URL 파서를 WHATWG 표준으로 변경 (#20270)
  • fs.read() 메서드에 콜백 파라미터를 필수화하여 비동기 오류 처리 강제 (#22146)
  • windowsHide 옵션 기본값을 false에서 true로 변경하여 자식 프로세스 동작 통일 (#21316)
  • WHATWG TextEncoder와 TextDecoder를 전역 객체로 제공하여 별도 import 제거 (#22281)
  • util.inspect() 출력 크기 제한을 128MB로 설정하여 메모리 폭증 방지 (#22756)
  • process.binding() 사용 비권장화 및 내부 API 노출 감소
  • FreeBSD 10 지원 중단으로 유지보수 대상 축소
  • --expose-http2 플래그 제거로 기본 동작 간결화 (#20887)

Key Takeaway

Node.js 11은 내부 V8 업그레이드와 함께 표준 API 기반으로의 통합(WHATWG URL 파서, 전역 TextEncoder/Decoder)을 추진함으로써 장기적 호환성과 성능을 동시에 확보하는 전략을 취했다.


Node.js 11 이상으로 업그레이드하는 팀은 process.binding() 사용 코드를 공식 API로 마이그레이션하고, fs.read() 호출 시 콜백 함수를 명시적으로 전달해야 하며, http 모듈의 URL 파싱이 WHATWG 표준을 따르므로 쿼리 문자열 처리 로직을 재검증해야 한다.

원문 읽기