Home

0

WebAssembly 기술 동향

WebAssembly (WASM)웹어셈블리(WebAssembly 또는 Wasm)는 다양한 프로그래밍 언어와 많은 실행 환경 사이의 중간 계층으로, 30여 가지 이상의 언어로 작성된 코드를 .wasm 파일로 컴파일한 다음 브라우저나 다른 실행 환경에서 실행할 수 있다. 원래 웹에서 코드 실행 속도를 높이기 위해 개발되었지만 이제는 브라우저 이외의 다양한 환경

0

JavaScript Object의 생명주기 관리

Node.js Core 에서 JavaScript 생명주기를 관리하는 방법을 알기 위해서는 V8 API를 통해 메모리를 관리하는 컨셉을 이해할 필요가 있다. 모든 JavaScript 값은 V8 API를 통해 소위 핸들이라는 것을 통해 액세스된다. 이 핸들은 메모리 관점에서 Local과 Global이란 타입으로 나뉜다. 메모리 관리 타입v8::Localv8::

0

Node.js C++ Core Concept

JavaScript와 C++ 간의 효율적인 연결은 Node.js에서 중요한 문제 중 하나이다. 이러한 연결을 가능하기 위해 Node.js Core에서는 기본 C++ 클래스로 BaseObject 사용한다. BaseObject는 JavaScript 객체와 C++ 객체를 함께 묶는 주요 추상화 수단으로, 이를 통해 메모리 관리와 더불어 객체의 수명 주기를 관리할

0

Realm Class

2022년 Node.js 에는 Realm Class가 추가되었다. Realm은 주로 실행 환경을 정의하고 코드 간의 격리와 분리를 유지하기 위한 목적으로 사용된다. 기존 Node.js VM 모듈이 있으나 Node.js 자체 기능이고 JavaScript Object Graph가 노출될 가능성이 있다. 그에비해 새롭게 도입된 Realm은 보안측면에서 강화된

0

Server JavaScript Runtime 기술 동향

브라우저 외부에서 JavaScript를 사용할 수 있는 Node.js가 등장한 이후 산업전반에서 다양하게 활용되며 De-facto 표준으로 자리잡았다. 현재는 Node.js의 결점을 보완하거나, 각 회사에 최적화 된 자체 솔루션으로 대체하는 방향으로 JavaScript 런타임이 파편화되고 있으며, 개발자들에게 통합된 개발 API을 제공하기 위한 각 런타임

0

structuredClone in native

structuredClone은 객체를 deep copy 하는 API 이다. 만약 structuredClone 가 Node.js의 JavaScript 영역에 구현되어있다면 Native 영역으로 구현부를 이동시킬때 유의미한 성능향상이 있을 것이다. src: implement structuredClone 은 그런면에서 흥미로운 내용일 것이라 생각하고 리뷰해보았다

0

structureClone

JavaScript에서 값을 복사할때는 항상 얕은 복사 (shallow copy)를 수행한다. 따라서 primitive data type (string, number, bigint, boolean, undefined, symbol등) 이 아닌 경우 객체의 참조로 처리된다. 얕은 복사의 반대는 깊은 복사 (deep copy)인데, 이는 복사 중 다른 객체를

0

Iteration protocols

어떤 객체가 String, Array 같이 순회 (iteration) 할 수 있는 타입이 아니더라도, JavaScript에서 순회가 가능한 (iterable) 객체로 만드는 방법이 있다. 이를 Iteration protocol 이라하며 interable, iterator 를 만드는 2개의 규칙(protocol) 을 기술하고 있다. iterable 규약에 순

0

자바스크립트 컨테이너

컨테이너는 응용 프로그램과 그 실행 환경을 패키징하고 격리하는 데 사용되는 기술이다. 배포되는 서비스 소프트웨어의 운영체제 수준을 가상화하고, 응용 프로그램 및 시스템 종속성을 포함한 모든 것이 포함된 독립적인 환경을 제공한다. 이런 리눅스 컨테이너보다는 좀 더 높은 추상화 레벨이긴 하지만 유사한 형태의 격리환경은 브라우저의 JavaScript 환경이다.

0

Node.js 프로젝트 개요 1

본 문서는 그동안의 Node.js 기여 경험을 바탕으로 Node.js 프로젝트를 처음 시작하는 사람들을 위해 간략한 개요를 전달하고자 한다. 물론 프로젝트 내용은 지속적으로 변경되고 있으며 현 시점에서 유효한 내용이다. 그러나 어느 정도 견고하게 확정되어 오랫동안 통용되고 있는 내용에 대해 작성하고자 한다. Node.js Core의 용어Node.js 에서의