Вебня
4.68K subscribers
89 photos
2 videos
3 files
2.08K links
JS VMs, спецификации, пропозалы, встречи #TC39, #WebAssembly, #W3C, браузеры, нёрдство.
Download Telegram
В Microsoft обнаружили широкое распространение зловредного ПО Adrozek

Это malware, поражающая браузеры Edge, Chrome, Яндекс, Firefox на операционных системах Windows. Adrozek подменяет отдельные DLL чтобы вставлять рекламу в результаты поиска, а также отключает обновления, различные настройки безопасности, а вслучае с Firefox также крадёт данные учётной записи. Устанавливается малварь методом социальной инженерии — через просьбы установить испольняемый файл на компьютер жертвы.

https://www.microsoft.com/security/blog/2020/12/10/widespread-malware-campaign-seeks-to-silently-inject-ads-into-search-results-affects-multiple-browsers/
Вышел Deno 1.6

Главные изменения:
- теперь можно распространять приложение в виде бинарника (с некоторыми ограничениями)
- Language Server Protocol
- экспериментальная поддержка Apple Silicon
- TypeScript 4.1

https://deno.land/posts/v1.6
Спецификация The Screen Fold API опубликована в статусе First Publick Working Draft

Этот API позволяет веб-приложениям запрашивать угловое значение, до которого устройство может складываться, и, если это доступно, текущий угол. Кроме того, продоставляются соответствующие media queries.

https://www.w3.org/TR/2020/WD-screen-fold-20201217/#screen-fold-media-queries
Результаты 79 встречи TC39 (16 - 19 ноября)

Лучше поздно, чем никогда. Общие результаты ноябрьской встречи. Стенограммы на английском опубликованы тут.

🐥 Error Cause переходит на stage 2 (слайды)
🐣 новое предложение JS Module Blocks переходит на stage 1 (слайды)
🐣 новое предложение Extensions переходит на stage 1 (слайды)
🐣 новое предложение Grouped Accessors and Auto-Accessors переходит на stage 1 (слайды)

Не продвинулись на следующий stage по результатам встречи:
- Realms остаётся на stage 2 (слайды)
- Standardized Debug остаётся на stage 1
- JSON modules остаётся на stage 2 (слайды)

Обновления по пропозалам:
- Обратная связь от разработчиков движка JavaScriptCore о пропозале RegExp Matches Indices — stage 3 обновление (слайды)
.item() rename + revisit inclusion on String — stage 3 обновление (слайды)
(слайды)
- Import Assertions — stage 3 обновление (слайды)
(слайды)
- Temporal — stage 2 обновление (слайды)
- Intl Enumiration — stage 2 обновление (слайды)
- Vision for concurrent JS + constellations of proposals — презентация stage 0 пропозала (без запроса на продвижение) (слайды)
- Adopting Unicode behavior for set notation in regular expressions — презентация stage 0 пропозала (для продвижения было добавлено слишком поздно) (слайды)

Принятые нормативные изменения:
- Handling of NaN and side effects in Date.prototype.set* methods
- proto normative optional options
- IntegerIndexedElementSet should always indicate success
- Give %TypedArray% methods explicit algorithms
- Default constructors and spread operation

Другие доклады и обсуждения:
- Представлен календарь встреч на 2021 год (слайды)
- Отчёт редакторов ECMA262
- Отчёт редакторов ECMA402
- Изменения в составе группы председателей (слайды)
- Supporting MDN's documentation about in TC39's output
(слайды)
- Обновления процесса (слайды)
- Dealing with TC39 Data (слайды)
- Batch preloading (слайды)

Более подробные отчёты от меня по дням:
- 16 ноября
- 17 ноября
- 18 ноября
- 19 ноября
Вебня pinned «Результаты 79 встречи TC39 (16 - 19 ноября) Лучше поздно, чем никогда. Общие результаты ноябрьской встречи. Стенограммы на английском опубликованы тут. 🐥 Error Cause переходит на stage 2 (слайды) 🐣 новое предложение JS Module Blocks переходит на stage 1…»
В Wasmtime реализована поддержка wasi-nn

Есть множество кейсов для использования #WebAssembly для машинного обучения, но при этом надо решить несколько проблем. Wasi-nn создаёт высокоуровневый API для доступа к возможностям хоста по использованию специфических инструкций центрального и графического процессоров. В Wasmtime в качестве бекенда для wasm-nn используется OpenVINO.

В блоге Bytecode Alliance опубликованы две статьи, посвящённые этому:
- Machine Learning in WebAssembly: Using wasi-nn in Wasmtime
- Implementing a WASI Proposal in Wasmtime: wasi-nn
Рабочая группа WebGPU планирует дорожную карту проектирования спецификации

Для того, чтобы определить, что будет включено в версию спецификации v1, был опубликован документ, в котором члены рабочей группы отмечают какие из фич они хотели бы видеть в первой или последующих версиях.
Oriol Brufau рассказал о том, как добавлял поддержку псевдо-элемента ::marker в Chromium

Поддержка фичи появилась в Chromium 86. В других браузерах ::marker уже успешно работает. В статье описываются технические особенности реализации фичи в движке Blink.
Состоялся релиз Ruby 3.0

В языке появилось много значительных улучшений. Ruby 3.0 с использованием JIT в 3 раза быстрее, чем Ruby 2.0. Помимо этого появилась поддержка параллелизма (Ractor — экспериментальная модель акторов на уровне языка, Fiber Scheduler), паттерн-матчинг и статический анализ (RBS — язык описания типов, TypeProf — инструмент для статического анализа) и другие, менее значимые, но интересные изменения.

https://www.ruby-lang.org/en/news/2020/12/25/ruby-3-0-0-released/
W3C опубликовал CSS Snapshot 2020

В нём собраны воедино все спецификации, которые вместе формируют текущее состояние CSS по состоянию на 2020 год.

https://www.w3.org/TR/2020/NOTE-css-2020-20201222/#css
Вебня pinned «W3C опубликовал CSS Snapshot 2020 В нём собраны воедино все спецификации, которые вместе формируют текущее состояние CSS по состоянию на 2020 год. https://www.w3.org/TR/2020/NOTE-css-2020-20201222/#css»
Декабрьские релизы спецификаций от W3C

- Web Authentication: An API for accessing Public Key Credentials Level 2 (Candidate Recommendation)
- CSS Text Module Level 3 (Candidate Recommendation)
- CSS Box Model Module Level 3 (Candidate Recommendation)
- CSS Backgrounds and Borders Module Level 3 (Candidate Recommendation)
- CSS Cascading and Inheritance Level 3 (Proposed Recommendation)

А также совместная работа W3C и WHATWG — HTML Review Draft (Proposed Recommendation)
Сегодня прощаемся с Flash Player

Adobe больше не будет поддерживать Flash Player после 31 декабря 2020 года, а также будет блокировать запуск Flash-содержимого в Flash Player с 12 января 2021 года. Кстати, если вдруг кто-то не знал, то ActionScript 2.0+ был частичной имплементацией так и не выпущенной спецификации ECMAScript 4.

https://www.adobe.com/products/flashplayer/end-of-life.html
Команда React представила своё исследование серверных компонентов

Скорее всего Вы уже в курсе, но я на всякий случай расскажу об этом. Серверные компоненты — это новый тип компонентов React, которые имеют прямой доступ к данным бекенда и не отправляются в составе бандла на клиент. Они также могут быть sharable (одновременно клиентскими и серверными), позволяют автоматически разделять код на чанки. Обмен данными происходит в специальном компактном формате (представляющем JSX). Для реализации данного подхода был разработан экспериментальный плагин для Webpack. Дальнейшая разработка будет вестись совместно усилиями команд React и Next.js.

Запись в блоге React и видео: https://reactjs.org/blog/2020/12/21/data-fetching-with-react-server-components.html

Статья Addy Osmani из Google о серверных компонентах в React: https://addyosmani.com/blog/react-server-components/

Черновик RFC: https://github.com/josephsavona/rfcs/blob/server-components/text/0000-server-components.md
Выложен полный плейлист со всеми видео недавней онлайн конференции #WebAssembly Live! On Air

https://www.youtube.com/playlist?list=PL6TuxoG36L8lwmNrlIqGBXwlh1ejfk8xJ