JSer.info #612 - Deno 1.26 릴리스 됐다.
Cache API 지원, 새로운 퍼미션으로 --allow-sys
플래그가 추가됐다.
또, node_modules
디렉터리를 다루는 취급하는 --node-modules-dir
플래그를 추가하고 Node.js 와의 호환성 모드로 쓰이던 --compat
플래그를 삭제했다. 이제 compat
모드는 npm:
식별자에 의해 대체된다.
이어 Node.js 코어 모듈과의 호환성 개선, Deno.serve()
API 등 성능 개선, TypeScrtipt 4.8로 업데이트가 이뤄졌다.
HTTP 클라이언트 라이브러리 axios v1.0.0이 릴리스 됐다.
여러 큰 변경은 없다고 하며 아직 자세한 마이그레이션 가이드는 공개되지 않았다.
Optimize long tasks에서는 50ms 이상 소요되는 long tasks를 어떻게 최적화 할 수 있는지 소개하고 있다.
long task가 있는 경우 해당 task로 인해 어떤 사용자 입력이나 표시 갱신을 차단하는 경우가 발생한다.
이를 개선하기 위해 태스크를 분해하는 방법과 navigator.scheduling.isInputPending()
을 이용한 실행 타이밍 판정, schedulerpostTask
API 사용 방법 등을 소개한다.
헤드라인
Deno 1.26 Release Notes
Deno 1.26 릴리스.
Cache API 지원, --allow-sys
플래그 추가, node_modules
디렉터리를 취급하느 --node-modules-dir
플래그 추가하고 --compat
플래그 삭제.
또, Node.js 코어 모듈과의 호환성 개선, Deno.serve()
API 등 성능 개선, TypeScrtipt 4.8로 갱신 등
Astro 1.4.0 Release | Astro
Astro 1.4.0 릴리스.
Astro.cookies
추가, pnpm 지원 개선, CSS의 명시도(specificity)가 public / import / style 태그로 동일할 경우의 우선 순위 조정.
Vue에서 JSX 지원 등.
watch: add initial implementation for `node --watch` by MoLow · Pull Request #44366 · nodejs/node
github.com/nodejs/node/pull/44366
Node.js에 --watch
플래그가 추가 됐다.
nodemon 처럼 파일 변경 된 경우 프로세스를 재시작 한다.
Release v9.0.0-pre.3 · npm/cli
github.com/npm/cli/releases/tag/v9.0.0-pre.3
npm v9.0.0-pre.3 릴리스.
package.json
에 files
배열이 있는 경우 npm pack
은 root에 있는 gitignore와 npmignore를 무시하도록 변경됐다.
tools/CHANGELOG.md at main · rome/tools
github.com/rome/tools/blob/main/CHANGELOG.md#0100
Rome 0.10.0 릴리스.
성능 개선, ignore에 Glob을 이용할 수 있도록 변경, Formatter와 Linter 관련 규칙 및 기능 추가
Release v1.0.0 · axios/axios
github.com/axios/axios/releases/tag/v1.0.0
axios v1.0.0 릴리스.
Node v18.10.0 (Current) | Node.js
nodejs.org/en/blog/release/v18.10.0/
Node.js v18.10.0 릴리스.
ReadableByteStream.tee()
추가 등.
Electron 21.0.0 | Electron
www.electronjs.org/blog/electron-21-0
Electron 21.0.0 릴리스.
Chromium 106, Node.js 16.16.0, V8 10.6으로 업데이트.
webFrameMain.origin
와 WebContents.ipc
추가, NSPanel와 비슷한 동작 지원.또, V8 Memory Cage가 활성화 돼 off-heap을 가리키는 ArrayBuffers는 허용되지 않게 됐다.
아티클
Ten Years of TypeScript - TypeScript
devblogs.microsoft.com/typescript/ten-years-of-typescript/
TypeScript 10 주년 기념 기사.
TypeScript가 탄생한 이후 10년이 지났다. 초기의 분위기 부터 오늘날 까지 간략하게 회고하는 글.
Optimize long tasks
50ms 이상 소요되는 long tasks를 분해하여 사용자 입력이나 표시를 방해하지 않도록 최적화하는 방법을 소개하는 글.
태스크 분해 하기, navigator.scheduling.isInputPending()
을 이용한 실행 타이밍 판정, scheduler.postTask()
API 사용 방법 등을 소개한다.
Postgres WASM by Snaplet and Supabase
supabase.com/blog/postgres-wasm
PostgreSQL의 WebAssembly 빌드 버전 소개.
PostgreSQL 자체를 Wasm으로 빌드하는 것은 어려웠기 때문에 VM을 만들고 그것을 x86 애뮬레이터로 실행한다.
또, WebSockets을 사용한 Proxy나 시작 시간 및 이미지 크기 최적화 등에 대해서도 이야기 하고 있다.
Client-side WebAssembly WordPress with no server – Make WordPress Core
make.wordpress.org/core/2022/09/23/client-side-webassembly-wordpress-with-no-server/
WordPress의 WebAssembly 빌드 버전 소개.
PHP를 Wasm으로 빌드하고 Wordpress를 실행한다.
브라우저에서의 요청은 Service Worker로 Proxy 한다.
WordPress를 브라우저 상에서 확인할 수 있는 환경을 제공해 WordPress 개발 및 디버깅 등을 용이하게 하는데 목적이 있다.
Type-Level TypeScript — Introduction
TypeScript의 타입에 대한 튜토리얼 사이트
각 타입에 대한 설명과 챕터 당 풀어볼 수 있는 연습 문제를 제공한다.
Closing a 30 pixel gap between native and web - Microsoft Edge Blog
blogs.windows.com/msedgedev/2022/09/27/closing-pixel-gap-native-web-window-controls-overlay/
Window Controls Overlay를 소개하는 글.
브라우저 윈도우의 타이틀바 영역을 PWA 앱에서 조작할 수 있도록 하는 구조.
사이트, 서비스, 문서
Learn Accessibility
웹 접근성에 대해서 학습할 수 있는 튜토리얼 사이트.