Fork me on GitHub

2019-10-29: Node.js 13.0.0, Firefox 70.0, Electron 7.0.0

Translator: U-Yeong Ju Edit on GitHub See Revisions

JSer.info #459 - Node.js 13이 릴리스됐습니다.

13.x는 이른바 개발판 메이저 버전으로 LTS(Long Term Support)가 아닙니다.

V8 7.8로 갱신됐고 Node.js 자체의 빌드 환경이 변경됐습니다.

Node.js 13.x에서는 full-icu를 기본으로 지원합니다. 따라서 util.TextDecoderIntl 등을 영어 외의 언어로도 사용할 수 있습니다.

Node.js 12 까지는 Node.js 빌드 시 --with-intl를 지정하거나 RunTime 시 full-icu를 추가할 필요가 있었습니다.

이 변경에 의해 Node.js 자체의 바이너리 파일 크기가 약 10-20MB 정도 증가합니다.
Node.js의 빌드시에 --with-intl을 지정하면 지금과 마찬가지로 small-icu를 사용할 수도 있습니다.


Firefox 70.0이 릴리스됐습니다.

Third-Party Tracking Cookies를 막는(blocking) Enhanced Tracking Protection (ETP)이 기본으로 활성화됐습니다.

개발자 도구에는 코드 수정 차이를 표현하는 Change Panel이 추가됐고 WebSocket Inspector 개선 등이 이뤄졌습니다.
또, ECMAScript Proposal(Stage 3)의 Numeric separators가 대응됐고 Worker 스크립트를 불러올 때에 MIME type을 확인하도록 변경됐으며 Web Audio API 구현이 사양에 맞춰 변경됐습니다.


Electron 7.0.0이 릴리스됐습니다.

이번에도 Chrome(78)과 V8(7.8)으로의 갱신이 함께 진행됐습니다.

Windows on Arg(64bit) 대응, 비동기 IPC ipcRenderer.invoke()ipcMain.handle() 추가, nativeTheme API 추가 등이 이뤄졌습니다.

또, Electron은 세 가지의 안정 버전을 지원하도록 돼 있습니다.
따라서 7.x가 릴리스됐기 때문에 Electron 4.x는 지원 종료됩니다.


공지사항

GitHub Sponsors의 모집 페이지를 공개했습니다.

현재 GitHub Sponsors는 월 정액 구독 방식으로만 등록할 수 있습니다. 지원에 흥미가 있는 분은 살펴봐 주시길 바랍니다.
(아마도) 기업을 대상으로 하는 JSer.info Sponsor 가이드도 작성하고 있습니다.


헤드라인


Node v13.0.0 (Current) | Node.js

nodejs.org/en/blog/release/v13.0.0/

node.js ReleaseNote

개발 버전 Node.js 13이 릴리스됐습니다.
V8 7.8으로 갱신, Full ICU를 기본 적용, Node.js 자체의 빌드 환경 변경 등이 이뤄졌습니다.


Release v1.0 Final! · reduxjs/redux-starter-kit

github.com/reduxjs/redux-starter-kit/releases/tag/v1.0.0

React redux ReleaseNote library

Redux Starter Kit 1.0이 릴리스됐습니다.
Redux의 래퍼로, 보일러플레이트 코드를 줄이거나 쉽게 이용할 수 있도록 하는데 목적을 두고 있는 도구 세트입니다.
개발자는 현재 Redux 메인테이너 중 한 명인 3markerikson 입니다.


New in Chrome 78  |  Web  |  Google Developers

developers.google.com/web/updates/2019/10/nic78

Chrome ReleaseNote

Chrome 78이 릴리스 됐습니다.
CSS.registerProperty 지원, importScripts()로 가져온 Service Worker 스크립트도 바이트 단위로 갱신 검사가 이뤄지도록 변경됐습니다.
Origin Trial로써 Native File System, SMS Receiver를 지원합니다.
이 외로 XSS Auditor가 삭제됐습니다.


Announcing TypeScript 3.7 RC | TypeScript

devblogs.microsoft.com/typescript/announcing-typescript-3-7-rc/

TypeScript ReleaseNote

TypeScript 3.7RC가 릴리스됐습니다.
Optional Chaining, Nullish Coalescing, Assertion Functions을 지원합니다.
never를 반환하는 함수를 호출한 경우의 타입 추론 개선, --declaration--allowJs 속성 조합 지원, // @ts-nocheck 추가 등이 이뤄졌습니다.


Release v2.0.0 · GoogleChrome/puppeteer

github.com/GoogleChrome/puppeteer/releases/tag/v2.0.0

Chrome ReleaseNote library

Puppeteer 2.0.0이 릴리스됐습니다.
Chromium 79으로 갱신, Node 6 이하 버전 지원 종료, page.screenshot를 Viewport에 맞추도록 변경됐습니다.
또, page.emulateTimezone, page.emulateMediaType, page.emulateMediaFeatures 등이 추가됐습니다.


Electron 7.0.0 | Electron Blog

electronjs.org/blog/electron-7-0

Electron ReleaseNote

Electron 7.0.0이 릴리스됐습니다.
Windows on Arg(64bit) 대응, 비동기 IPC ipcRenderer.invoke()ipcMain.handle() 추가, nativeTheme API 추가 등이 이뤄졌습니다.
Electron 4.x는 지원 종료됩니다.


Firefox 70.0, See All New Features, Updates and Fixes

www.mozilla.org/en-US/firefox/70.0/releasenotes/

Firefox ReleaseNote

Firefox 70이 릴리스됐습니다.
Enhanced Tracking Protection (ETP)이 활성화됐고 개발자 도구와 WebSocket Inspector가 개선됐습니다.
ES Proposal의 Numeric separators가 대응됐고 Worker 스크립트를 불러올 때에 MIME type을 확인하도록 변경 됐으며 Web Audio API가 사양에 맞춰 수정됐습니다.


아티클


Preparing for the Future with React Prereleases – React Blog

reactjs.org/blog/2019/10/22/react-release-channels.html

React article

React 릴리스 채널을 주제로한 글입니다.
Latest(Stable), Next(저장소의 master와 동일), Experimental(master에 실험적인 기능 포함) 세 가지 채널에 대해서 이야기합니다.
각 채널의 이용 방법과 목적에 대해서 작성돼 있으며 RFC와 Experimental에 대해서도 소개합니다.


Time to First Byte: What It Is and Why It Matters – CSS Wizardry – CSS Architecture, Web Performance Optimisation, and more, by Harry Roberts

csswizardry.com/2019/08/time-to-first-byte-what-it-is-and-why-it-matters/

browser performance article

Time to First Byte (TTFB)를 설명하는 글입니다.
TTFB에 포함되는 처리 종류와 이를 명시할 수 있는 Server-Timing 헤더에 대해서 이야기합니다.


슬라이드, 영상


Prototype Pollution in Kibana

slides.com/securitymb/prototype-pollution-in-kibana

JavaScript security slide

Kibana에 있던 Prototype pollution 취약점을 활용해 RCE에 대해 설명하는 슬라이드입니다.
__proto__.env에서 임의의 환경 변수를 읽어들여 spawn 하는 방법을 발견. NODE_OPTIONS/proc/self/environ을 사용해 환경변수에 코드를 주입하여 실행시키는 수법에 대해서 정리돼 있습니다.


WebAuthN 실제 도입해서 어땠는가(일본어)

kasecato.github.io/web-study-webauthn-nulab/

WebAuthentication slide

Web Authentication API를 주제로한 슬라이드입니다.
보안 디바이스 등록에 있어 설계, Chrome이나 macOS의 Touch ID에 있어 집중할 부분(프로파일에 연결하는 등) 등에 대해서 이야기합니다.


도서


Functional Design Patterns for Express.js by Jonathan Lee Martin | The Pragmatic Bookshelf

pragprog.com/book/d-jmexpress/functional-design-patterns-for-express-js

node.js book 함수형 프로그래밍

함수형 프로그래밍 패턴과 Express를 주제로한 도서입니다.


JavaScript Promise 책 v2 릴리스, ES2015+에 대응, Async Function 장 추가 | Web Scratch(일본어)

efcl.info/2019/10/23/promises-book-v2/

JavaScript book

JavaScript Promise책 v2가 릴리스됐습니다.
샘플 코드가 ES2015 기반으로 변경됐고 Async Function 장과 Promise#finally에 대한 설명이 추가됐습니다.


JavaScript: The Definitive Guide, 7th Edition - O'Reilly Media

shop.oreilly.com/product/0636920048633.do

JavaScript book

2019년 7월에 출간된 Oreilly의 JavaScript 책(코뿔소 책) 제7판입니다.


Pull Request to this article
記事を紹介する