JSer.info #405 - Node.js v10.12.0을 릴리스했습니다.
util.inspect
에 sorted
옵션을 추가했습니다.
이것은 assert.deepStrictEqual
등의 Diff 출력을 개선하기 위해 도입됐습니다.
- assert.deepStrictEqual diff confusion · Issue #22763 · nodejs/node
- util: add sorted option by BridgeAR · Pull Request #22788 · nodejs/node
fs.mkdir
에 recursive
옵션을 추가했으며 nghttp2
의 버전을 업데이트하여 WebSockets over HTTP/2를 지원합니다.
이어 module.createRequireFromPath(filename)
을 추가했고 URL
과 Path를 상호 변환할 수 있는 url.fileURLToPath(url)
과 url.pathToFileURL(path)
를 url
모듈에 추가했습니다.
- module: add createRequireFunction method by devsnek · Pull Request #19360 · nodejs/node
- Discussion: File URLs in Node.js · Issue #22502 · nodejs/node
React와 같은 API를 제공하는 UI 라이브러리 Inferno v6.0.0을 릴리스했습니다.
스타일 프로퍼티의 명명 규칙을 낙타표기법에서 케밥표기법으로 변경했습니다. 지금까지는 domStyle[style] = value
와 같이 스타일을 지정했기 때문에 낙타표기법 명명 규칙을 사용해 왔으나 앞으로는 CSS Custom Properties를 설정하기 위해 CSSStyleDeclaration.setProperty()를 사용하기 때문에 낙타표기법에서 케밥표기법으로 변경한 것 입니다.
inferno-compat
에서는 낙타표기법을 그대로 사용할 수 있도록 reactStyles
와 같은 옵션도 추가했습니다(기본적으로 유효).
backgroundColor
=>background-color
- Setting css variables by a style object - style.setProperty is needed · Issue #1375 · infernojs/inferno
- Using CSS custom properties (variables) - CSS: Cascading Style Sheets | MDN
또, React의 라이프 사이클 이벤트와의 호환성을 향상하기 위해 getDerivedStateFromProps
과 getSnapshotBeforeUpdate
를 추가했습니다.
이어 String refs를 삭제했고 CreateRef/ForwardRef API를 추가했으며 Fragments를 지원합니다.
마이그레이션 가이드도 함께 공개했으니 참고하세요.
메이저 브라우저가 TSL 1.0과 TLS 1.1의 지원 종료 또는 기본적으로 비활성화 계획을 공개했습니다.
- Google Online Security Blog: Modernizing Transport Security
- Removing Old Versions of TLS | Mozilla Security Blog
- Modernizing TLS connections in Microsoft Edge and Internet Explorer 11 - Microsoft Edge Dev BlogMicrosoft Edge Dev Blog
- Deprecation of Legacy TLS 1.0 and 1.1 Versions | WebKit
각각 안정 버전에서 다음 계획에 의해 TSL 1.0과 TLS 1.1의 지원을 종료 또는 기본적으로 무효화할 계획입니다.
- IE/MSEdge: 2020년 전반
- Firefox: 2020년 3월
- Chrome: 2021년 1월
- Safari: 2020년 3월
헤드라인
Node v10.12.0 (Current) | Node.js
nodejs.org/en/blog/release/v10.12.0/
Node.js 10.12.0이 릴리스했습니다.
util.inspect
에 sorted
옵션 추가, fs.mkdir
에 recursive
옵션 추가, WebSockets over HTTP/2를 지원합니다.
module.createRequireFromPath(filename)
이 추가됐으며 URL
과 Path 간 상호 변환할 수 있는 메서드를 url
모듈에 추가했습니다.
- module: add createRequireFunction method by devsnek · Pull Request #19360 · nodejs/node
- Discussion: File URLs in Node.js · Issue #22502 · nodejs/node
ESLint v5.7.0 released - ESLint - Pluggable JavaScript linter
eslint.org/blog/2018/10/eslint-v5.7.0-released
ESLint v5.7.0이 릴리스했습니다.
no-tabs
규칙에 allowIndentationTabs
옵션과 camelcase
규칙에 ignoreList
옵션을 추가했습니다.
Release v4.0.1 · reduxjs/redux
github.com/reduxjs/redux/releases/tag/v4.0.1
Redux 4.0.1이 릴리스했습니다.
.mjs
를 지원하며 package.json
에 unpkg 필드를 추가했습니다.
Release Inferno v6.0.0 · infernojs/inferno
github.com/infernojs/inferno/releases/tag/v6.0.0
Inferno v6.0.0이 릴리스했습니다.
hydrate
를 별도 패키지로 분리했으며 스타일 프로퍼티 명명 규칙을 케밥표기법으로 변경했습니다. 또, React 라이프 사이클 이벤트와 호환성을 위해 관련 라이프 사이클 API를 변경했습니다.
Release Notes for Safari Technology Preview 67 | WebKit
webkit.org/blog/8419/release-notes-for-safari-technology-preview-67/
Safari Technology Preview 67을 릴리스했습니다.
Pointer Events를 시험적으로 지원하며 H264 Simulcast를 활성화했습니다. 또, CSS.registerProperty
의 initialValue
프로퍼티를 지원합니다.
V8 release v7.0 · V8
V8 7.0을 릴리스했습니다.
Embedded builtins에서의 메모리 소비량을 절약했고 WebAssembly Threads를 Origin Trial로 공개했습니다. 또 Array#sort
의 알고리즘을 QuickSort에서 TimSort으로 변경하여 안정적 변경했습니다.
lolex/History.md at master · sinonjs/lolex
github.com/sinonjs/lolex/blob/master/History.md#300--2018-10-08
Sinon.js에서도 사용하고 있는 Fake Timer 라이브러리 Lolex 3.0을 릴리스했습니다. Clock#countTimers
를 추가했고 negative tick은 예외를 발생시키도록 변경했습니다.
아티클
What's New In DevTools (Chrome 71) | Web | Google Developers
developers.google.com/web/updates/2018/10/devtools
Chrome 71 개발자 도구의 변경 사항에 대해 정리돼 있습니다.
DOM node를 global variable로 저장할 수 있도록 변경했고 HAR 파일에 _initiator
와 _priority
칼럼을 추가했습니다. 또 PiP(Picture-in-Picture)의 breakpoint를 지원합니다.
AddyOsmani.com - Start Performance Budgeting
addyosmani.com/blog/performance-budgets/
performance budget란 무엇인지 설명합니다. performance budget로써 사용할 일이 있는 지표와 설정에 대해 작성돼 있습니다.
새로운 기능을 개발할 때에 이해관계자와의 커뮤니케이션 케이스와 트레이드오프에 관해서도 이야기합니다.
What’s New in Create React App 2.0 Video Series – Elijah Manor – Medium
medium.com/@elijahmanor/whats-new-in-create-react-app-2-0-video-series-4ffaaa7cb7df
예제와 스크린케스트 기반으로 Create React App 2.0를 소개합니다.
Webpack v3 → v4移行パッケージ対照表 - Qiita
qiita.com/shimarin/items/17707fa575744ca0bd89
webpack3에서 4로의 마이그레이션에 있어 옵션이나 플러그인 등의 대응 관계나 변경점에 대해 정리돼 있습니다.
슬라이드, 영상
SinnerSchrader Tech Session '18 - 2018 - The Year of Web Components - Speaker Deck
speakerdeck.com/dkundel/sinnerschrader-tech-session-18-2018-the-year-of-web-components
Web Components에 관해 정리돼 있는 슬라이드입니다.
Web Components를 구성하는 사양 소개, 툴이나 프레임워크 등에 대해 이야기합니다.
npm and the future of JavaScript
slides.com/seldo/npm-future-of-javascript#/
npm과 JavaScript의 에코시스템에 대해 소개하는 슬라이드입니다.
프런트엔드 프레임워크나 백엔드 프레임워크의 변화, 어디에서 npm을 사용하고 있는지 등에 대해 이야기합니다.
사이트, 서비스, 문서
smooth-code/loadable-components: React code splitting made easy ✂️✨
github.com/smooth-code/loadable-components
Dynamic Import나 Code Splitting, SSR에 대응한 React 컴포넌트의 동적 로딩을 다루는 라이브러리입니다.
소프트웨어, 도구, 라이브러리
JavaScript Visualizer
JavaScript 코드 실행을 각 스템마다 인터프리터적으로 실행해보면서 실행 컨텍스트가 어떻게 변화하고 있는지 살펴볼 수 있는 도구입니다.
문서
입문 JavaScript 프런트엔드 엔지니어가 되기 위한 기본과 실천 스킬 | 타마가와 준 | 책 | 통신 판매 | Amazon
www.amazon.co.jp/dp/4798153907/(일본어)
2018년 11월 28일에 출간 예정인 자바스크립트를 주제로 한 초심자 용 도서입니다.