개발
[2024 하반기] 2024 하반기 회고
2024년이 끝났다. 2024년은 유난히 긴 한 해가 되었던 것 같다. 아쉬운 점상반기에는 프로젝트가 무산되는 등 힘든 일이 많았지만 하반기에는 그래도 좋은 일이 많이 있었던 것 같다. 우선, 현장실습 인턴으로 미리디에 입사하여 약 4개월간 서비스 유지보수 및 고도화 작업을 할 수 있었다. 이와 함께 상반기부터 하던 공모전과 오픈소스 컨트리뷰션도 함께 참여했기 때문에 바쁜 하반기가 되었다. 이번 하반기에 아쉬웠던 점으로는 체력 관리와 규칙적인 생활 패턴을 유지하지 못했던 것이다. 8시부터 11시 사이에 출근하면 되는 자율 출퇴근제를 운영하는 회사였지만 나는 일찍 퇴근하는 것이 좋아 8시 30분에 출근을 하고자 했다. 이렇게 되면 퇴근은 5시 30분에 하기 때문에 집에 와서는 개인적인 공부와 다른 작업들을..
[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..