Fork me on GitHub

2021-06-15: React 18 α 릴리스, Deno 1.11(Docker Images), Plotly.js 2.0

Translator: U-Yeong Ju Edit on GitHub See Revisions

JSer.info #544 - React 18 알파 버전 릴리스 소식과 React 18에서 변경될 예정인 내용 공개.

React 18 알파 버전은 라이브러리의 유지보수 용이며 이와 함께 React 워킹 그룹도 개설됐다.
React 18에 대한 자세한 변경 예정 사항은 다음 Discussions에 정리 및 논의되고 있다.

React 18로의 변경은 기본적으로 ReactDOM.createRoot라는 새로운 API를 사용하는 것으로 즉, 옵트인 방식으로 제공.

전체적인 개요는 다음 스레드에 정리돼 있으니 참고.

주요 변경 사항에 대한 각 개요는 다음과 같다.


Deno 1.11 릴리스.

Docker Image 추가, Web Crypto APIs 개선, crypto.randomUUID 지원, Fetch API에서 AbortSignal 지원, deno lint가 Stable로 전환됨, deno compile에서 Dynamic Import 지원, Text{Encoder,Decodeer}Stream 지원.

그 외로 deno lsp의 개선이 이뤄졌고 Deno API가 file://이나 URL 객체를 지원한다.


헤드라인


Release v7.0.0 · d3/d3

github.com/d3/d3/releases/tag/v7.0.0

JavaScript SVG d3.js library ReleaseNote

D3.js v7.0.0 릴리스.
ESM에 대응, null에 대한 대응 변경, d3.selectAll등 에서 Array-like를 Array로 변경하여 다루도록 변경됐다.
추가된 가능으로는 d3.mode, d3.flatGroup, d3.flatRollup, transition.selectChild가 있다.


Release v0.7.0 · nextapps-de/flexsearch

github.com/nextapps-de/flexsearch/releases/tag/0.7.0

JavaScript search library ReleaseNote

JavaScript로 작성된 전문(글의 전체) 검색 엔진 flexsearch 0.7.0 릴리스.
처음부터 다시 작성한 버전이다.
메모리 사용량 및 성능 개선, Bidirectional Context 지원, Node.js의 worker_thread에 대응.


Deno 1.11 Release Notes | Deno Blog

deno.com/blog/v1.11

deno ReleaseNote

Deno 1.11 릴리스.
Docker Image 추가, Web Crypto APIs 개선, crypto.randomUUID 지원, Fetch API에서 AbortSignal 지원, deno lint가 Stable로 전환됨, deno compile에서 Dynamic Import 지원, Text{Encoder,Decodeer}Stream 지원.


Release 2.16.0 · qunitjs/qunit

github.com/qunitjs/qunit/releases/tag/2.16.0

JavaScript testing library ReleaseNote

QUnit 2.16.0 릴리스.
QUnit.test.each 메서드, failOnZeroTests 옵션, TAP 보고서 삭제.
QUnit.module에서 Promise를 반환한 경우 경고가 출력 되도록 개선.


🎉 Announcing Plotly.js 2.0! - Graphing Library / Plotly.js - Plotly Community Forum

community.plotly.com/t/announcing-plotly-js-2-0/53675

JavaScript chart library ReleaseNote

Plotly.js 2.0 릴리스.
IE 9/10 지원 종료, 비권장 API인 Plotly.plot()plotly.d3 등 삭제.
CSP의 usafe-eval에 대응, Custom Bundle 작성 방법 추가 등.


CSS Layout Generator

layout.bradwoods.io/

CSS Tools

CSS Grid Layout 제너레이터 도구.
CSS Grid의 프로퍼티를 수정해가면서 레이아웃이 어떻게 구성되는지 알 수 있다.


Release 5.0.0 · Unitech/pm2

github.com/Unitech/pm2/releases/tag/5.0.0

node.js Tools ReleaseNote

Node 프로세스 관리 도구 pm2 5.0.0 릴리스.
로컬 시스템 모니터링이 개편됐고 서버 지표(메트릭스) 표시가 추가됐다.
pm2.io 로 송신하는 데이터를 JSON Patch 기반으로 차분하는 것으로 데이터 전송량을 줄이도록 개선됐다.


Introducing Astro: Ship Less JavaScript

astro.build/blog/introducing-astro

JavaScript Tools ReleaseNote performance

자바스크립트를 전혀 포함하지 않는 정적 사이트를 생성할 수 있는 SSG 도구.
Island Architecture와 같이 상호작용이 필요한 부분은 자바스크립트를 포함한 컴포넌트만 로드해 사용하도록 돼 있다.


The Plan for React 18 – React Blog

reactjs.org/blog/2021/06/08/the-plan-for-react-18.html

React ReleaseNote

React 18의 알파 버전 릴리스와 함께 변경될 예정인 내용 정리.
Automatic batching과 flushSync 추가, Suspense의 SSR 지원 및 pipeToNodeWritable 추가, Concurrent 모드를 옵트인으로 지원.
새로운 render API인 createDOM 추가, 버그를 조기에 발견하기 위해 StrictMode에서는 컴포넌트를 이중으로 렌더링 하게됨.
또, React의 Working Group 저장소도 공개됐다.


Release v0.153.0 · facebook/flow

github.com/facebook/flow/releases/tag/v0.153.0

flowtype ReleaseNote

Flow 0.153.0 릴리스.
this를 사용하는 클래스의 메서드를 변수에 넣은 후 this의 bind를 해제하는 경우가 감지되면 에러가 되도록 개선, flow fix 명령어로 자동 수정을 실행할 수 있도록 변경.


아티클


Introducing libSquoosh

web.dev/introducing-libsquoosh/

node.js Image library article

리사이즈 등 이미지 압축 처리에 활용할 수 있는 Squoosh를 노드 라이브러리로 만든 libSquoosh 소개 글.


Introducing the Memory Inspector - Chrome Developers

developer.chrome.com/blog/memory-inspector/

Chrome article

Chrome 91의 DevTools에 추가된 Memory Inspector 소개 글.
ArrayBuffers 바이트의 엔디언을 선택해 살펴 볼 수 있음. 또, DWARF를 사용하여 C++이나 Wasm의 메모리도 볼 수 있다.


Stryker를 사용해 TypeScript에서 Mutation Testing 하기(일본어)

zenn.dev/daikik/articles/8cd20776991a9c

JavaScript testing article

Stryker-js를 사용한 Mutation Testing 소개.


Securing Your Website With Subresource Integrity | CSS-Tricks

css-tricks.com/securing-your-website-with-subresource-integrity/

security JavaScript article

JavaScript를 배포하는 CDN이나 S3 bucket 등이 변조 됐을 경우에 웹 사이트에서 오염된 리소스 로드를 방지하기 위한 Subresource Integrity (SRI) 개념과 사용 방법 소개.
실제 비슷한 보안 문제 사례를 소개하면서 이야기를 풀어간다.


What's coming in ESLint v8.0.0 - ESLint - Pluggable JavaScript linter

eslint.org/blog/2021/06/whats-coming-in-eslint-8.0.0

ESLint article

ESLint v8.0.0에서 변경될 예정인 내용 정리.
비호환 변경 사항으로 Node 10 지원 종료, meta.hasSuggestionsmeta.fixable이 각각 필수 속성으로 변경, CLIEngine 삭제.
또, ES2022 지원, 사용하지 않는 비활성화 지시문(directives)을 자동으로 제거할 수 있도록 --fix에 대응.


도서


From AVIF to WebP: A New Smashing Book By Addy Osmani — Smashing Magazine

www.smashingmagazine.com/2021/06/image-optimization-book-release/

Image book

이미지 포멧, 이미지 압축, 불러오기 방법, 렌더링, Core Web Vitals 등을 소개하는 글.


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