피드로 돌아가기
Node.js BlogBackend
원문 읽기
Node.js 10.5.0에서 crypto.scrypt(), fs.stat BigInt 지원, Worker Threads 실험 기능 추가로 암호화·파일 시스템·멀티스레딩 기능 확장
Node.js 10.5.0 (Current)
AI 요약
Technical Solution
- crypto 모듈에 scrypt() 및 scryptSync() 메서드 추가: OpenSSL의 scrypt 함수를 Node.js 애드온에 노출
- fs.stat과 fs.watchFile에 BigInt 지원 추가: 매우 큰 파일 크기 및 타임스탬프 값 처리 가능
- fs 모듈의 mode 인자 검증 완화: 0o777보다 큰 값에 대한 예외 발생 제거
- Worker Threads 모듈에 --experimental-worker 플래그로 멀티스레딩 기능 추가: 실험 단계 기능으로 breaking changes 가능성 명시
- fs의 closed event watcher 크래시 수정: #20297 이슈 해결
- crypto의 createCipher wrap 모드 동작 수정: #21287 커밋으로 개선
- randomBytes(), pbkdf2() 메서드 리팩토링: DRY 원칙에 따른 타입 체크 개선
- OpenSSL CVE-2018-0732 보안 패치 적용: deps에서 ea7abee float
- V8 엔진을 6.7.288.46 버전으로 업그레이드: #21260 커밋으로 성능 향상
실천 포인트
Node.js 애플리케이션에서 강력한 암호화가 필요한 환경에서 crypto.scrypt()를 도입하면 OpenSSL 네이티브 함수를 직접 활용할 수 있다. Worker Threads를 --experimental-worker 플래그로 활성화하면 CPU 집약적 작업을 별도 스레드에서 처리하여 이벤트 루프 블로킹을 방지할 수 있으나, 실험 단계 기능이므로 프로덕션 환경에서는 breaking changes에 대비해야 한다.