JSer.info #525 - WebRTC 1.0이 W3C Recommendation 및 IETF 표준이 됐다.
- Web Real-Time Communications (WebRTC) transforms the communications landscape; becomes a World Wide Web Consortium (W3C) Recommendation and multiple Internet Engineering Task Force (IETF) standards
- IETF | WebRTC: Marking a milestone in real-time communications
W3C 사양에는 JavaScript API가 정의돼 있고, IETF 사양에는 프로토콜이 정의돼 있다.
이미 브라우저 상에 JavaScript API가 구현돼 있고, 많은 WebRTC 구현체가 존재하기 때문에 이용할 수 있고 또, 이용하고 있는 상태다.
이번 발표는 WebRTC 사양이 1.0을 달성, 안정화 된 것을 의미한다.
다음 사양 개선은 WebRTC is now a W3C and IETF standard에 작성돼 있듯 WebRTC Next Version Use Cases등으로 활용 사례를 모아가며 정리할 것으로 보인다.
Firefox 85가 릴리스 됐다.
- January brings us Firefox 85 - Mozilla Hacks - the Web developer blog
- Firefox 85.0, See All New Features, Updates and Fixes
Flash 지원이 종료됐다.
Prefix 없이 CSS의 :focus-visible
지원, <link rel="preload">
를 기본적으로 지원한다.
ES Proposal Stage 3의 Top-Level await 지원, at()
메서드 지원 등이 추가됐다.
또, 캐시 등을 사용한 트래킹을 방지하기 위해 Network partitioning이 도입됐다.
- Firefox 85 Cracks Down on Supercookies - Mozilla Security Blog
- Gaining security and privacy by partitioning the cache | Web
Chrome 89 베타가 릴리스 됐다.
WebHID API, Web NFC, Web Serial API 기본적으로 활성화, 데스크탑 웹에서 Web Sharing이 활성화 됐다.
또, Cross-origin opener policy reporting API, Manifast에 display_override
가 추가됐다.
그 외로 performance.measureUserAgentSpecificMemory()
추가, Streams API가 Byte Streams을 지원한다.
파이어폭스와 마찬가지로 Top-Level await 지원이 추가됐다.
아티클
January brings us Firefox 85 - Mozilla Hacks - the Web developer blog
hacks.mozilla.org/2021/01/january-brings-us-firefox-85/
Firefox 85 릴리스.
Flash 지원 종료.
Prefix 없이 CSS의 :focus-visible
지원, <link rel="preload">
지원.
ES Proposal Stage 3의 Top-Level await 지원, at()
메서드 지원.
또, Network partitioning이 도입됐다.
- Firefox 85.0, See All New Features, Updates and Fixes
- Firefox 85 Cracks Down on Supercookies - Mozilla Security Blog
- Gaining security and privacy by partitioning the cache | Web
- Firefox 85 for developers - Mozilla | MDN
Release Notes for Safari Technology Preview 119 | WebKit
webkit.org/blog/11525/release-notes-for-safari-technology-preview-119/
Safari Technology Preview 119 됐다.
SpeechRecognition API 활성화, CSS aspect-ratio
프로퍼티 지원 개선, prefers-contrast: more
지원 등.
WebAssembly에서 memory.copy
, memory.init
, memory.fill
을 플러그를 붙여 지원한다.
- bulk-memory-operations/Overview.md at master · WebAssembly/bulk-memory-operations
- Media Queries Level 5
Release v7.5.0 · npm/cli
github.com/npm/cli/releases/tag/v7.5.0
npm 7.5.0 릴리스.
npm 패키지의 Diff를 얻을 수 있는 npm diff
커맨드 추가.
Chromium Blog: Chrome 89 Beta: Advanced Hardware Interactions, Web Sharing on Desktop, and More
blog.chromium.org/2021/01/chrome-89-beta-advanced-hardware.html
Chrome 89 베타 릴리스.
WebHID API, Web NFC, Web Serial API 기본적으로 활성화하고 데스크탑에서 Web Sharing을 활성화 했다.
Cross-origin opener policy reporting API, Manifast에 display_override
추가.
performance.measureUserAgentSpecificMemory()
추가, Streams API에서 Byte Streams을 지원. Top-Level await 지원.
WebRTC 1.0 is a W3C Recommendation | W3C News
www.w3.org/blog/news/archives/8897
WebRTC 1.0이 W3C Recommendation이 됐다.
- Web Real-Time Communications (WebRTC) transforms the communications landscape; becomes a World Wide Web Consortium (W3C) Recommendation and multiple Internet Engineering Task Force (IETF) standards
- WebRTC is now a W3C and IETF standard
TOAST UI Chart 4.0 is here! | TOAST UI :: Make Your Web Delicious!
ui.toast.com/weekly-pick/en_20210126
그래프 라이브러리 TOAST UI Chart v4.0 릴리스.
의존 모듈 정리하고 파일 크기를 줄였다. 반응형 지원, 라이브 갱신에 대응한 그래프 추가, 테마 옵션 개선.
v3에서의 마이그레이션 가이드도 함께 공개 됐다.
CKEditor 5 v25.0.0 with flexible annotations, improved text blocks handling and performance fixes
CKEditor 5 v25.0.0 릴리스.
ReDoS 문제 수정. 켄텐츠 블록의 동작 개선, 대량 텍스트 포맷 성능 개선, 이미지 관리 개선 등
Release v5.3.4 · vuejs/vue-devtools
github.com/vuejs/vue-devtools/releases/tag/v5.3.4
Vue DevTools 5.3.4 릴리스.
Universal XSS 취약점 수정.
Babel 8 Release Plan · Issue #10746 · babel/babel
github.com/babel/babel/issues/10746
Babel 8의 Roadmap Issue
아티클
When to use HTTPS for local development
web.dev/when-to-use-local-https/
로컬 개발에서도 HTTPS가 필요한 경우와 localshot
에 대해.
또, 로컬 개발에 사용해야 하는 TLD 소개.
Visitor pattern in TypeScript | Writing | Kirill Vasiltsov
www.kirillvasiltsov.com/writing/visitor-pattern-typescript/
TypeScript의 interface를 사용한 Visitor Pattern 구현 방법 소개
Cypress vs Selenium vs Playwright vs Puppeteer speed comparison | Checkly blog
blog.checklyhq.com/cypress-vs-selenium-vs-playwright-vs-puppeteer-speed-comparison/
테스트 프레임워크 실행 속도 비교 글.
Puppeteer, Playwright, WebDriverIO, Selenium, Cypress를 몇 개의 테스트 시나리오를 이용해 비교한다.
`undefined` vs. `null` revisited
2ality.com/2021/01/undefined-null-revisited.html
undefined
과 null
에 대해서.
undefined
과 null
의 역사, undefined
과 null
이 언어적으로 발생하는 경우, 언어적으로 특별히 취급되는 경우, 어떤 것을 값이 없는 경우로 사용할 것인지 이야기한다.
소프트웨어, 도구, 라이브러리
azu/express-lazy-router: Lazy loading for express router
github.com/azu/express-lazy-router
express의 Router를 지연 로드하는 라이브러리.
ts-node-dev나 @babel/register로 runtime compile 하는 경우에 동작 시 전체 컴파일하는 게 아닌 분산 컴파일 가능하도록 하는데 목적을 두고 있다.
WebReflection/linkedom: A triple-linked lists based DOM implementation.
github.com/WebReflection/linkedom
Node.js 용의 HTML/DOM 구현 라이브러리.
기본적인 활용 사례로 HTML 문자열을 토대로한 경로 탐색, DOM API 등을 일정한 성능으로 실행할 수 있게 하는데 목적을 두고 있다.
shinyoshiaki/werift-webrtc: WebRTC Implementation for TypeScript (Node.js)
github.com/shinyoshiaki/werift-webrtc
Node.js에서의 WebRTC 구현.
STUN, TURN, ICE, DataChannel, MediaChannel 등을 구현한다.
willmendesneto/perf-marks: The isomorphic, simplest, and lightweight solution for User Timing API in Javascript - 🚀 only 208B 🚀. Tree-shaking and entry points built-in. Simple as that!
github.com/willmendesneto/perf-marks
User Timing API의 래퍼 라이브러리.
브라우저와 Node.js(perf_hooks
)에서 사용할 수 있다.
User Timing API의 래퍼, 지원하는지 판단, 함수 프로파일링 기능 등을 제공한다.
alesgenova/post-me: 📩 Use web Workers and other Windows through a simple Promise API
Worker, Window(iframe)간의 메시징 라이브러리.
Promise 기반의 API로 Window와 Worker 사이에서 메시지를 주고 받을 수 있다.