개발
[Node.js] Node.js와 V8 (with. ECMAScript)
Node.js 뿐만 아니라 자바스크립트에서 가장 중요한 개념 중 JS 엔진이 있다. JS 엔진 중 가장 유명하고 자주 사용되는 것이 V8 엔진이다. V8 엔진과 Node.js의 관계, 그리고 ECMAScript와 JavaScript의 관계가 어떻게 되는 것일까? ECMAScript vs JavaScript우리는 일반적으로 JavaScript를 사용해서 프로그래밍 한다고 표현한다. JavaScript를 다루다 보면 ES6, ES2024와 같은 것을 볼 수 있다. 대표적으로 ES6의 경우 일반적으로 JavaScript에서 많이 사용되는 const, let 등이 추가된 버전이다. 그렇다면 ECMAScript와 JavaScript의 관계는 어떻게 될까?ECMAScript의 경우 JavaScript의 표준이다. ..
[Node.js 기여하기] 3. path 모듈 resolve 함수 성능 올리기
https://github.com/nodejs/node/pull/54835 path: remove repetitive conditional operator in `posix.resolve` by HBSPS · Pull Request #54835 · nodejs/nodeconfidence improvement accuracy (*) (**) (***) path/resolve-posix.js n=100000 paths='' *** 7.32 % ±2.03% ±2.70% ±3.51% path/resolve-po...github.com 저번과 유사하게 path 모듈의 성능을 올릴 수 있었다.어떻게 보면 첫 번째 PR과 유사한 방식으로 개선한 것 같다.resolve(...args) { let resolvedP..
[Node.js 기여하기] 2. for...of 대신 인덱스 사용하기
https://github.com/nodejs/node/pull/54474 stream: change stream to use index instead of `for...of` by HBSPS · Pull Request #54474 · nodejs/nodeRefs: https://github.com/nodejs/node/blob/main/doc/contributing/primordials.md#unsafe-array-iteration confid...github.com 저번에 이어 이번이 두 번째 기여가 되었다.(4번의 시도 중 두 번이 merge 되었다) 이번에 수정할 부분은 아래와 같다.for (const key of ObjectKeys(streamReturningOperators)) { const..
[Node.js 기여하기] 1. path 모듈 join 함수 성능 올리기
https://github.com/nodejs/node/pull/54331 path: change `posix.join` to use array by HBSPS · Pull Request #54331 · nodejs/nodeChange posix.join to use array.join instead of additional assignment. confidence improvement accuracy (*) (**) (***) path/join-posi...github.com 이번에 Node.js에 첫 기여를 해볼 수 있었다. 코드를 확인하던 중 아래와 같은 부분이 있었다./** * @param {...string} args * @returns {string} */ join(...args) { ..