JSer.info #442 - 잠시동안 beta인 채로 릴리스가 멈춰있던 npm 6.9.1이 릴리스됐습니다.
npm token create
나 npm --global outdated
버그가 수정됐습니다.
또, 6.9.1에 문제가 있어 이어서 6.9.2도 릴리스됐습니다.
- Release: [email protected] - 📣 announcements - npm forum
- npm 6.9.1 is broken due to .git folder in published tarball - 🐞 bugs - npm forum
6.9.x에는 .git
내에 있는 파일도 main
필드의 파일명과 일치하면 npm publish에 포함되는 문제가 있었으나 6.10.0에서 수정된 것으로 보입니다.
Ecma latest news에 따르면
"ECMA-262 10th edition - ECMAScript® 2019 Language Specification"(ES2019)가 Ecma 총회에서 승인돼 정식 릴리스됐다고 합니다.
The 117th General Assembly held in Geneva, June 26, 2019, approved 8 new editions of Standards and a new Technical Report. Ecma International also welcomed 3 new members (more info on https://t.co/pmvsh7rYED).
— Ecma International (@EcmaIntl) June 26, 2019
이 ES2019는 스냅샷 느낌의 사양으로 최신 사양은 GitHub에서 공개 / 갱신되고 있습니다.
Hello Darkness, My Old Friend | web.dev에는 Dark Mode는 어떤 이점을 갖고 있는지 작성돼 있습니다.
접근성 도구로써의 긍정적 효과와 배터리 소비전력과의 관계 그리고 각 OS에서 Dark Mode를 설정하는 방법, 웹 사이트에서 Dark Mode를 어떻게 대응할 수 있는지 등에 대해 이야기합니다.
Media Query를 사용한 판정과 prefers-color-scheme
를 활용한 Dark Mode 대응, Dark Mode에 맞춰 이미지를 최적화하는 방법 등에 대해서도 소개돼 있습니다.
헤드라인
Release: [email protected] - 📣 announcements - npm forum
npm.community/t/release-npm-6-9-1/8435
npm 6.9.1이 릴리스됐습니다.
npm token create
버그와 npm --global outdated
가 동작하지 않는 문제가 수정됐습니다.
하지만 6.9.1에서 문제가 발견돼 [email protected]도 이이서 릴리스됐습니다.
Node v12.5.0 (Current) | Node.js
nodejs.org/en/blog/release/v12.5.0/
Node.js 12.5.0이 릴리스됐습니다.
V8 스냅샷을 기본적으로 활성화하고 기동(startup) 시간이 최적화 됐습니다. 또, V8과 OpenSSL의 버전이 갱신됐고 worker.terminate()
가 Promise를 반환하도록 변경됐습니다.
Release Notes for Safari Technology Preview 86 | WebKit
webkit.org/blog/9375/release-notes-for-safari-technology-preview-86/
Safari Technology Preview 86이 릴리스됐습니다.
String.prototype.matchAll
괖 CSS의 tab-size
프로퍼티를 지원하며 Web High Level Shading Language(WHLSL)을 실험적으로 지원합니다.
Yarn support for security alerts - The GitHub Blog
github.blog/2019-07-02-yarn-support-for-security-alerts/
GitHub Security Alert에서 yarn.lock을 지원합니다.
Ecma latest news
www.ecma-international.org/news/index.html
ECMAScript 2019가 Ecma 총회에서 승인돼 릴리스됐습니다.
아티클
The Secret of Good Electron Apps
jlongster.com/secret-of-good-electron-apps
Electron 애플리케이션 패턴에 대한 글입니다.
메모리 소비를 줄이기 위해서 백그라운드 서버를 만들어 필요한 데이터를 불러와 반환하도록 하는 구조와 개발 시엔 디버깅을 효율적으로 하기 위해 백그라운드 서버 대신 다른 윈도우를 사용하는 방법이 작성돼 있습니다.
The Layout Instability API | web.dev
web.dev/layout-instability-api
Chrome 74에 실험적으로 구현돼 Layout Instability API를 소개합니다. 이 API는 의도하지 않은 레이아웃의 변화를 감지합니다.
문서를 불러온 후 비동기 타이밍으로 요소의 위치가 변경되는 현상을 감지할 수 있습니다.
Hello Darkness, My Old Friend | web.dev
Dark Mode를 소개하는 글입니다.
접근성 도구로써의 긍정적 효과와 배터리 소비전력과의 관계 그리고 각 OS에서 Dark Mode를 설정하는 방법, 웹 사이트에서 Dark Mode를 어떻게 대응할 수 있는지 등에 대해 이야기합니다.
Media Query를 사용한 판정과 prefers-color-scheme
를 활용한 Dark Mode 대응, Dark Mode에 맞춰 이미지를 최적화하는 방법 등에 대해서도 소개돼 있습니다.
Object.fromEntries · V8
v8.dev/features/object-fromentries
ES2019에 추가된 Object.fromEntries
를 소개하는 글입니다.
fromEntries
는 Iterable한 데이터에서 Object를 생성해 반환하는 API입니다.
Map과 Object 간 변환에 이용할 수 있습니다.
The cost of JavaScript in 2019 · V8
v8.dev/blog/cost-of-javascript-2019
V8의 JavaScript 파싱 비용에 대한 소개 글입니다.
Main Thread와 Worker Thread, JSON 파싱 비용 등 다양한 관점에서 이야기합니다.
Reinventing Firefox for Android: a Preview - Future Releases
blog.mozilla.org/futurereleases/2019/06/27/reinventing-firefox-for-android-a-preview/
GeckoView를 탑재한 Android 용 Firefox Preview가 공개됐습니다.
Firefox for Android와 비교해 성능이 개선됐으며 Tracking Protection이 기본적으로 활성화 됐습니다.
슬라이드, 영상
Analysis of an Exploited NPM Package || Jarrod Overson - YouTube
www.youtube.com/watch?v=2cyib2MgvdM
[email protected]
과 flatmap-stream
등 npm 패키지에 악성 코드가 포함된 사건을 주제로 한 발표 영상입니다.
어떤 공격 코드가 포함돼 있었는지 시간적으로 변화를 관찰하여 얻은 것과 영향 범위 등에 대해서 이야기합니다.
- event-stream vulnerability explained - Zach Schneider
- The npm Blog — Details about the event-stream incident
AbemaTV의 CSS is too fragile 문제 풀이 / Solution of "CSS is too fragile" by AbemaTV - Speaker Deck(일본어)
speakerdeck.com/kubosho/solution-of-css-is-too-fragile-by-abematv
CSS Modules에서 디렉터리 변경으로 발생하는 문제와 해결 방법을 주제로 한 슬라이드입니다.
불러오는 순서를 명시적으로 정의하여 불러오는 순서에 따라 스타일이 바뀌는 문제를 해결하는 방법을 소개합니다.
사이트, 서비스, 문서
mixer/webpack-bundle-compare: A tool for comparing webpack bundle stats
github.com/mixer/webpack-bundle-compare
webpack의 bundle 파일을 분석하는 도구입니다.
webpack plugin으로 출력한 stats 파일을 불러와 분석하고 결과를 표현하는 대시보드 도구입니다.
소프트웨어, 도구, 라이브러리
adobe/ferrum: Features from the rust language in javascript: Provides Traits/Type classes & an advanced library for working with sequences/iterators in js
Rust에 영감을 받아 Symbol을 사용해 구현한 객체 시퀀스 / 이터레이터 라이브러리입니다.
Traits/Typeclasses 등을 제공합니다.