Archive: 2023

0

Node.js V8 Options

Node.js V8 Build Option Node.js는 기본적으로 JavaScript Runtime이다. JavaScript Runtime은 JavaScript를 실행시킬수 있는 환경을 뜻하며 코드를 해석하고 실행하는 핵심 역할을 담당한다. Node.js 에서 여러 JavaScript 엔진중에서 구글이 개발한 V8 엔진을 사용하고 있는데, Node.js

0

V8 Fast API에 대하여 2

V8 Fast API 사용이전 Post에 이어 본 페이지에서는 V8 Fast API 를 코드 상에서 어떻게 사용하는 확인하고 어떻게 기존 API와 다른지 확인해본다. 1. Add functions for Fast APISlow API의 경우 FunctionCallbackInfo를 인자로 받는것에 비해 Fast API는 입력값 자체를 파라미터로 받는다.

0

V8 Fast API에 대하여 1

V8 Fast API V8 JavaScript 엔진은 JIT 컴파일을 수행할 수 있는 JavaScript 엔진이다. 그런데, 이런 JIT에서 얻을 수 있는 최적화 장점이 C++ Binding에는 적용되기 어렵다. 그래서 매번 C++ 과 JS를 오가며 변환, 설정 과정이 수반되는 Call을 불러야했다. 그로인한 성능의 저하가 있었다. JIT(Just-In-

0

Mechanism over Policy

Node.js의 dotenv 기능과 관련된 최근 Pull Request 리뷰를 진행하다 Ben Noordhuis의 견해로부터 작은 깨달음을 얻었습니다. 그는 해당 기능이 정책에 과도한 초점을 두면서 유연성을 잃을 수 있다고 우려했습니다. 처음에는 그의 의견을 완전히 이해하기 어려웠지만, 점차 고민해보면서 그의 의도를 파악할 수 있었습니다. 소프트웨어 디자

0

Transferable 객체의 새로운 정의 방법

컨텍스트 간 사용자 정의 객체 전달MessagePort는 서로 다른 컨텍스트 간에 메시지를 교환하기 위한 메커니즘입니다. V8 자바스크립트 엔진은 기본 객체들의 컨텍스트 간 이동 시 직렬화와 역직렬화 방법을 제공하며, 사용자 객체에 대해서도 직렬화와 역직렬화를 위한 인터페이스를 제공합니다. 그러나 V8이 기존에 제공하던 이러한 인터페이스에는 문제점이 있어,

0

Linux I/O 성능 혁신 - io_uring

2019년에 소개된 io_uring은 Linux 커널을 위한 비동기 I/O 인터페이스입니다. 기존 인터페이스인 epoll/kqueue와 aio 대비하여 뛰어난 성능과 간결하고 직관적인 API 사용성을 제공합니다. io_uring은 비동기 I/O, 시스템 콜의 다중 배치 처리, 유연한 버퍼 관리 등을 통해 Linux I/O

0

Node.js 활용 사례 - Netflix

2009년 Node.js가 등장한 이래 Node.js는 현대 소프트웨어 개발에서 매우 중요한 역할을 하고 있습니다. 그러한 역할은 산업 전반의 다양한 활용 사례를 통해 입증되고 있습니다. 이 글은 그 활용 사례중 한 도입 사례를 한 발 더 깊이 연구해봅니다. 무엇이 문제였는지, 그리고 그 문제 해결에 어떻게 도움이 되었는지 확인해 봄으로서 Node.js의

0

ChatGPT

최근 ChatGPT가 너무나 충격적이어서 나의 언어로 이것이 무엇인지 기술해보기로 했다. 아래는 내가 정리해본 내용이다. ChatGPT는 OpenAI에서 개발한 대화형 인공지능 모델인 GPT를 기반으로 한 챗봇입니다. GPT 모델은 자연어 처리 기술을 활용하여 다양한 언어 작업을 수행하는 데 사용되며, 그 중에는 자연스러운 대화 또한 포함된다. 현재 최신