Опубликовано обновление CSS Syntax Module Level 3 (Candidate Recommendation)
Ключевые изменения:
- Идентификаторы могут начинаться с двойного тире (влияние custom properties, но подобное именование может добавиться и в прелюдиях директив, например, в @property)
- Убрали <unicode-range-token>, вместо него добавлен <urange> микросинтаксис (из-за проблем в раборе селекторов с комбинатором
- Добавили определение производных типов <declaration-value> и <any-value>, которые можно встретить в других спеках
- @charset теперь официально не правило, хотя выглядит похоже (это деректива, которая не представлена в CSSOM отдельным объектом, как другие)
И множество других правок и дополнений.
Так совпало, что в недавнем обновлении парсера css-tree, большая часть изменений уже поддержана (тогда изменения были в черновике) – на специальном стенде можно посмотреть как разбиваются значения на токены и матчатся на синтаксисы
Ключевые изменения:
- Идентификаторы могут начинаться с двойного тире (влияние custom properties, но подобное именование может добавиться и в прелюдиях директив, например, в @property)
- Убрали <unicode-range-token>, вместо него добавлен <urange> микросинтаксис (из-за проблем в раборе селекторов с комбинатором
+, реальный баг в Firefox)- Добавили определение производных типов <declaration-value> и <any-value>, которые можно встретить в других спеках
- @charset теперь официально не правило, хотя выглядит похоже (это деректива, которая не представлена в CSSOM отдельным объектом, как другие)
И множество других правок и дополнений.
Так совпало, что в недавнем обновлении парсера css-tree, большая часть изменений уже поддержана (тогда изменения были в черновике) – на специальном стенде можно посмотреть как разбиваются значения на токены и матчатся на синтаксисы
GitHub
[css-properties-values-api] Add @property. by andruud · Pull Request #847 · w3c/css-houdini-drafts
This adds basic support for @property, without solving any of the potentially complicated issues, like #845 and #846.
Resolves #137, at least partially.
Resolves #137, at least partially.
Статья: Font-size: An Unexpectedly Complex CSS Property
Про то как работает CSS свойтво
Про то как работает CSS свойтво
font-size с точки зрения спецификаций и сложности его имплементации в stylo (подпроект Servo, подсистемы Firefox). Хоть статье уже два года, она не теряет своей актуальности – полезно для понимания насколько CSS непростой с точки зрения браузера.manishearth.github.io
font-size: An unexpectedly complex CSS property
font-size is the worst. It’s a CSS property probably everyone who writes CSS has used at some point. It’s pretty ubiquitous. And it’s super complicated. “But it’s just a number”, you say. “How can …
Unicode Technical Committee (UTC) рассматривает механизм добавления цветов для emoji, что может позволить добавить, например, белое вино или чёрную кошку.
https://blog.unicode.org/2019/07/unicode-technical-committee-considers.html
https://blog.unicode.org/2019/07/unicode-technical-committee-considers.html
blog.unicode.org
Unicode Technical Committee Considers Emoji Color Mechanism
The Unicode Technical Committee (UTC) is discussing a mechanism for color changes to existing emoji characters. Such a mechanism could be u...
Alon Zakai, создатель Emscripten и Binaryen о том, как сделать #WebAssembly код асинхронным в userspace с помощью новой фичи в Binaryen — Asyncify.
https://kripken.github.io/blog/wasm/2019/07/16/asyncify.html
https://kripken.github.io/blog/wasm/2019/07/16/asyncify.html
kripken.github.io
Pause and Resume WebAssembly with Binaryen's Asyncify
Pausing and resuming code can be useful for various things, like implementing coroutines, async/await, limiting how much CPU time untrusted code gets, and so...
Skia (опенсурсная библиотека для 2D графики, основа графического движка используемого в Google Chrome, Firefox, Android и др) портирована на WebAssembly. Порт получил название CanvasKit. Основное применение — использовать в вебе, в том числе для апробации новых Canvas и SVG API, что должно помочь ускорить развитие этих технологий.
Все 3 спецификации #WebAssembly 18 июля перешли на стадию Candidate Recommendation:
- WebAssembly Core Specification
- WebAssembly JavaScript Interface
- WebAssembly Web API
- WebAssembly Core Specification
- WebAssembly JavaScript Interface
- WebAssembly Web API
Специалист по компьютерной безопасности Patrick Ventuzelo описывает реверс инжиниринг #WebAssembly модуля в сервисе заметок Google Keep.
https://webassembly-security.com/google-keep-webassembly-module-analysis/
https://webassembly-security.com/google-keep-webassembly-module-analysis/
FuzzingLabs
Analysis Of Google Keep WebAssembly Module | FuzzingLabs
Blogpost about Google Keep wasm module analysis and WebAssembly reversing techniques | Fuzzing Labs
Уже сегодня в 17:00 UTC / 10:00 PDT (в 20:00 по Москве / Киеву / Минску) начнется 71 заседание #TC39, которое пройдет в Редмонде, где эту встречу примет компания Microsoft. Встреча будет проходить с 23 по 25 июля. Повестку дня можно найти как всегда на GitHub https://github.com/tc39/agendas/blob/master/2019/07.md.
GitHub
agendas/2019/07.md at main · tc39/agendas
TC39 meeting agendas. Contribute to tc39/agendas development by creating an account on GitHub.
Changing a way we’re viewing JSON in a browser
Статья про JsonDiscovery – полезное расширение (плагин) для Chrome и Firefox для просмотра (и не только) JSON. Расширение пилит Денис Колесников. В статье рассказно о фичах, с картинками и короткими видео, которые могут вам зайти и оказаться полезными
Статья про JsonDiscovery – полезное расширение (плагин) для Chrome и Firefox для просмотра (и не только) JSON. Расширение пилит Денис Колесников. В статье рассказно о фичах, с картинками и короткими видео, которые могут вам зайти и оказаться полезными
Medium
JsonDiscovery: Changing a way we’re viewing JSON in a browser
A short overview of JsonDiscovery, a browser’s extension for viewing JSON. It has several cool features you will love, just take a look…
1 августа мы делаем уже второй WebAssembly Moscow meetup, на котором выступят Илья Черторыльский из Райффайзен банк, Николай Вольф из Parity, а также Dan Gohman из Mozilla (доклад будет читаться на английском языке в режиме телеконференции). Dan является автором WASI и председателем соответствующей подгруппы в #WebAssembly CG.
Все подробности по ссылке:
https://webassembly-moscow.timepad.ru/event/1025337/
Если у Вас есть что рассказать на следующих митапах, то пишите мне в личку @chicoxyzzy или ищите в @webassembly_ru
Все подробности по ссылке:
https://webassembly-moscow.timepad.ru/event/1025337/
Если у Вас есть что рассказать на следующих митапах, то пишите мне в личку @chicoxyzzy или ищите в @webassembly_ru
Основные результаты первого дня июльской встречи #TC39.
- Nullish Coalescing переходит на stage 3 (слайды)
- доклад и обсуждение Explicit Resource Management вышли за указанные временные рамки, обсуждение продолжится позже (слайды)
- Symbol.reverse and related methods for Array, Map, and Set переходит на stage 1 с предложением не имплементировать
- ECMA402 предложение Intl.DisplayNames было убрано чемпионом из повестки дня в связи с обнаруженными проблемами и остается на stage 2
- у
- так и не представленное комитету предложение Annex B — HTML Attribute Event Handlers было решено сделать неактивным
- Nullish Coalescing переходит на stage 3 (слайды)
- доклад и обсуждение Explicit Resource Management вышли за указанные временные рамки, обсуждение продолжится позже (слайды)
- Symbol.reverse and related methods for Array, Map, and Set переходит на stage 1 с предложением не имплементировать
Symbol.reverse, а просто добавить соответствующие методы к коллекциям- ECMA402 предложение Intl.DisplayNames было убрано чемпионом из повестки дня в связи с обнаруженными проблемами и остается на stage 2
- у
function.sent новый чемпион, который будет помогать двигать пропозал дальше- так и не представленное комитету предложение Annex B — HTML Attribute Event Handlers было решено сделать неактивным
Основные результаты второго дня июльской встречи #TC39.
- Promise.allSettled переходит на stage 4, а значит попадет в ES2020 (слайды)
- Promise.any переходит на stage 2 (слайды)
- предложение String.prototype.replaceAll не нашло консенсуса (по поведению
- RegExp Match array offsets отправляется на stage 3 (слайды)
- предложение Iterator Methods отправляестся на stage 2 (слайды)
- Built-in modules снова не переходят на stage 2 и остаются на stage 1 (слайды)
- пропозал Collection Normalization получил некоторое обновление и остается на stage 2 (слайды)
- function implementation hiding также обновился и остается на stage 2 (слайды)
- Promise.allSettled переходит на stage 4, а значит попадет в ES2020 (слайды)
- Promise.any переходит на stage 2 (слайды)
- предложение String.prototype.replaceAll не нашло консенсуса (по поведению
/g, возможно будут фиксить и matchAll позже) и остается на stage 2 (слайды)- RegExp Match array offsets отправляется на stage 3 (слайды)
- предложение Iterator Methods отправляестся на stage 2 (слайды)
- Built-in modules снова не переходят на stage 2 и остаются на stage 1 (слайды)
- пропозал Collection Normalization получил некоторое обновление и остается на stage 2 (слайды)
- function implementation hiding также обновился и остается на stage 2 (слайды)
Вышел Safari Technology Preview 88. Основные изменения:
- ECMA402 пропозалы Intl.PluralRules и Intl.NumberFormat.prototype.formatToParts теперь включены по умолчанию
- исправления в таких API как WebRTC, XHR, Pointer Events
- улучшения рендерера, доступности и веб инспектора
- очередные наработки WebGPU
Весь список изменений:
https://webkit.org/blog/9445/release-notes-for-safari-technology-preview-88/
- ECMA402 пропозалы Intl.PluralRules и Intl.NumberFormat.prototype.formatToParts теперь включены по умолчанию
- исправления в таких API как WebRTC, XHR, Pointer Events
- улучшения рендерера, доступности и веб инспектора
- очередные наработки WebGPU
Весь список изменений:
https://webkit.org/blog/9445/release-notes-for-safari-technology-preview-88/
Основные результаты третьего дня июльской встречи #TC39.
- Optional Chaining переходит на stage 3 (слайды)
- Dynamic Import Host Adjustment переходит на stage 1 (слайды)
- Dynamic Code Brand Checks остается на stage 1 (у комитета сомнения насчет абстрактной операции
- новое предложение
- новое предложение Infix bang было воспринято с большим сомнением, как я и предсказывал, и пока что никуда не переходит
- Explicit Resource Management, который не успели обсудить в первый день, после продолжения обсуждений переходит на stage 2
- Optional Chaining переходит на stage 3 (слайды)
- Dynamic Import Host Adjustment переходит на stage 1 (слайды)
- Dynamic Code Brand Checks остается на stage 1 (у комитета сомнения насчет абстрактной операции
IsCodeLike) (слайды)- новое предложение
Map.prototype.updateOrInsert переходит на stage 1 (слайды)- новое предложение Infix bang было воспринято с большим сомнением, как я и предсказывал, и пока что никуда не переходит
- Explicit Resource Management, который не успели обсудить в первый день, после продолжения обсуждений переходит на stage 2
⚡️⚡️⚡️
Июльская встреча #TC39 в Microsoft закончена. Результаты можно посмотреть в записях выше по дням (первый, второй, третий). Самое главное — Promise.allSettled переходит на stage 4 и попадает в ES2020, а предложения Nullish Coalescing и Optional Chaining переходят на stage 3, а значит скоро их можно ждать в движках и TypeScript (плагины для Babel уже есть). Следующуя встреча пройдет в Нью-Йорке с 1 по 3 октября. Принимающей компанией станет Bloomberg.
Июльская встреча #TC39 в Microsoft закончена. Результаты можно посмотреть в записях выше по дням (первый, второй, третий). Самое главное — Promise.allSettled переходит на stage 4 и попадает в ES2020, а предложения Nullish Coalescing и Optional Chaining переходят на stage 3, а значит скоро их можно ждать в движках и TypeScript (плагины для Babel уже есть). Следующуя встреча пройдет в Нью-Йорке с 1 по 3 октября. Принимающей компанией станет Bloomberg.
На Hexlet вышла статья “Стоит ли учить JavaScript: перспективы, ситуация на рынке труда, мнения экспертов”, в которой есть мнения ведущих этого канала, а также GraphQL гуру Павла Черторогова, опытнейшего дизайнера и разработчика в одном лице — Андрея Оконечникова и архитектора из Tinkoff Александра Казаченко.
ru.hexlet.io
Что такое JavaScript: зачем он нужен, как выучить JS с нуля и найти работу
Рассказываем, что это за язык программирования — JavaScript, где его используют, насколько он популярен и с чего начать изучение JavaScript.
Предложение Frozen Realms (stage 1), которое не обновлялось с марта 2018, было переименовано в Secure ECMAScript (SES)
GitHub
GitHub - tc39/proposal-ses: Draft proposal for SES (Secure EcmaScript)
Draft proposal for SES (Secure EcmaScript). Contribute to tc39/proposal-ses development by creating an account on GitHub.
Вебня
1 августа мы делаем уже второй WebAssembly Moscow meetup, на котором выступят Илья Черторыльский из Райффайзен банк, Николай Вольф из Parity, а также Dan Gohman из Mozilla (доклад будет читаться на английском языке в режиме телеконференции). Dan является автором…
Регистрация на митап закроется завтра утром, поэтому если еще не зарегистрировались и хотите попасть, то сделайте это сегодня.
https://webassembly-moscow.timepad.ru/event/1025337/
https://webassembly-moscow.timepad.ru/event/1025337/
webassembly-moscow.timepad.ru
WebAssembly Moscow meetup #2 / События на TimePad.ru
Второй московский митап, полностью посвящённый технологии WebAssembly. Огромное спасибо Райффайзенбанк и компании Fluence Labs за помощь в проведении. Будет организована трансляция на youtube и выложены записи докладов.
Стандарт для арифметики с плавающей точкой IEEE 754-2008, используемый в JavaScript, C++ и многих других языках, истек. Ему на смену пришел IEEE 754-2019. Основные изменения можно найти здесь: https://754r.ucbtest.org/background/
JavaScript движок XS для интернета вещей недавно обновился до версии 9.0.0 и получил поддержку таких фич как:
- Class Fields
- Private Methods
- Static Class Features
- Numeric separators
- Dynamic Import
- Import Metadata
- globalThis
- String.prototype.matchAll
- Promise.allSettled
- Hashbang Grammar
Также в XS появилась экспериментальная поддержка SES (stage 1) для возможности дать ранний фидбек по пропозалу.
- Class Fields
- Private Methods
- Static Class Features
- Numeric separators
- Dynamic Import
- Import Metadata
- globalThis
- String.prototype.matchAll
- Promise.allSettled
- Hashbang Grammar
Также в XS появилась экспериментальная поддержка SES (stage 1) для возможности дать ранний фидбек по пропозалу.
Moddable Tech
XS: Secure, Private JavaScript for Embedded IoT
The latest release of our XS JavaScript engine puts in place fundamental new capabilities to advance Moddable's mission of safely opening IoT products to third party software. These new capabilities are implementations of proposals on track for standardization…