Fork me on GitHub

2021-12-08: Rust + Node-API를 이용한 패키지 공개, #WebSpeedHackathon, The 2021 Web Almanac

Translator: U-Yeong Ju Edit on GitHub See Revisions

JSer.info #569 - Rust + Node-API을 이용해 크로스 플랫폼 용 npm 패키지를 공개한다 - 별로 힘들지 않는 블로그(일본어)에는 Rust와 napi-rs를 사용해 작성한 코드를 Node.js에서 사용하는 방법이 소개 돼 있다.

패키지로 공개할 경우, Node.js의 Node-API를 사용하기 때문에 네이티브 모듈로서 설치할 필요가 있다.

그 경우, 설치 후에 postinstall에서 바이너리를 다운로드 & 빌드 하는 게 아니라 optionalDependencies를 사용해 아키텍처 별로 패키지를 설치할 수 있도록 하는 방법을 함께 소개하고 있다.


#WebSpeedHackathon 2021년 버전이 개최됐습니다.

무거운 웹 사이트 성능을 개선하는 해커톤의 소재로 활용하기 위해서 만들어진 애플리케이션. 참가자를 해당 앱의 성능을 개선 것이 과제다.
2022년 1월 3일 까지 개최하며 스코어는 GitHub Actions로 측정하는 구조도 공개돼 있다.
웹 사이트 성능 개선에 흥미가 있다면 한번 다뤄보길 바란다.


HTTP Archive 데이터를 기반으로 웹의 현황을 정리하는 Web Almanac의 2021년 버전이 공개됐다.

브라우저의 기술 현황이나 웹의 상태를 가늠할 수 있는 보고서로 총 24 장으로 구성돼 있다.


헤드라인


Node v17.2.0 (Current) | Node.js

nodejs.org/en/blog/release/v17.2.0/

node.js ReleaseNote

Node.js 17.2.0 릴리스.
async_hooks 모듈에 asyncWrapProviders 추가, AbortSignal에 reason 추가.


아티클


Rust + Node-API으로 크로스 플랫폼 용 npm 패키지를 공개한다 - 별로 힘들지 않는 블로그(일본어)

shisama.hatenablog.com/entry/2021/12/03/054437

Rust node.js article

Rust로 작성된 코드를 napi-rs를 사용하여 Node.js의 native modules로 사용하는 방법 소개.
postinstall 대신 optionalDependencies를 활용하여 아키텍쳐 별 바이너리를 publish 하는 방법도 다루고 있다.


react-router를 만드는 방법(일본어)

zenn.dev/stin/articles/how-to-develop-react-router

React history library article

react-router가 내부적으로 사용하고 있는 history 라이브러리를 사용해 라우터를 만드는 방법을 소개한다.


무거운 사이트를 가볍게! 연말 연시는 #WebSpeedHackathon 2021에 도전해보자 | CyberAgent Developers Blog(일본어)

developers.cyberagent.co.jp/blog/archives/32747/

performance example article

웹 성능 개선을 주제로 한 해커톤 개요와 참가자 과제 공개.


Web Performance Calendar » HTTP compression

calendar.perfplanet.com/2021/http-compression/

HTTP performance article

무손실 데이터 압축 시 압축 레벨과 속도와의 밸런스에 대해 작성돼 있다.
gzip, brotli, zstd 등의 압축 레벨에서 발생하는 트레이트 오프에 대해서 이야기하며 바이너리 콘텐츠의 이중 압축 문제 등도 다루고 있다.


WebAssembly and Back Again: Fine-Grained Sandboxing in Firefox 95 - Mozilla Hacks - the Web developer blog

hacks.mozilla.org/2021/12/webassembly-and-back-again-fine-grained-sandboxing-in-firefox-95/

WebAssembly security article

Firefox 95에 포함될 RLBox라는 WebAssembly를 이용한 Sandbox 구조를 소개한다.
프로세스 분리는 오버헤드가 발생하기 쉽다. 그래서 분리 하고싶은 코드를 Wasm으로 변환 한 후 Wasm을 wasm2c으로 C언어로 변환하여 네이티브 코드로 이용한다.
Wasm을 경유하는 방법으로 지정 외 메모리 공간에 접근할 수 없는 것을 보장할 수 있다.


슬라이드, 영상


JSConf JP 2021 Track A - YouTube

www.youtube.com/playlist?list=PL42hYWKFRfN7cg6c3uM4_tAxbybVzG3ao

JavaScript Conference video

JSConf JP 2021 영상 목록이 공개됐다.


Svelte Summit Fall 2021 - YouTube

www.youtube.com/playlist?list=PL8bMgX1kyZTg2bI9IOMgfBc8lrU3v2itt

Svelte video Conference

Svelte Summit Fall 2021의 발표 영상이 공개됐다.


사이트, 서비스, 문서


primo-af/primo: a simpler, all-in-one way to develop and manage websites

github.com/primo-af/primo

Svelte CMS OpenSource software

정적 사이트를 관리, 개발하기 위한 CMS 애플리케이션.
Svelte 기반으로 만들어져 있으며 데스크탑 애플리케이션으로 사이트를 편집할 수 있다. 또, Supabase 기반의 백엔드 솔루션도 함께 공개돼 있다.


Online CSS Analyzer - Project Wallace

www.projectwallace.com/analyze-css

CSS Tools webservice

URL을 지정하면 해당 사이트가 이용하고 있는 CSS를 해석해주는 도구.
사이즈, 셀렉터 수, 상세도(specificity), 색상, 폰트, 복잡도 등에 대한 분석 결과를 제공한다.


소프트웨어, 도구, 라이브러리


denoland/dnt: Deno to npm package build tool.

github.com/denoland/dnt

deno node.js Tools library

Deno 용으로 작성된 모듈을 Node.js로 사용할 수 있도록 변환하는 도구.


Open Props: sub-atomic styles

open-props.style/

CSS library

CSS custom properties를 전면적으로 사용해 설계한 라이브러리.


BuilderIO/mitosis: Write components once, run everywhere. Compiles to Vue, React, Solid, Angular, Svelte, and more.

github.com/BuilderIO/mitosis

jsx JavaScript library

JSX 기반 컴포넌트를 정의하고 그것을 React / Angular / Vue / Solid / Svelte 등의 각 프레임워크에 적합한 코드로 변환할 수 있는 도구.
UI 프레임워크의 중간 언어 느낌.


plentico/plenti: Static Site Generator with Go backend and Svelte frontend

github.com/plentico/plenti

Svelte Tools golang

Svelte와 Go 언어를 사용해 개발된 정적 사이트 제너레이터.


도서


The 2021 Web Almanac

almanac.httparchive.org/en/2021/

book browser HTTP

HTTP Archive의 데이터를 기반으로 정리한 보고서 Web Almanac의 2021년 버전.
브라우저의 기술 현황이나 웹의 상태를 확인할 수 있는 자료다.


The Jamstack Book

www.manning.com/books/the-jamstack-book

Jamstack book

2022년 4월 26일에 출간 예정인 Jamstack을 주제로한 도서


Pull Request to this article
JSer.info Slackに参加する