Вебня
⚡️ Пропозал Module attributes не смог перейти на stage 2, но возможно к этой теме ещё вернутся завтра.
⚡️ Сегодня была вторая попытка для продвижения пропозала Module attributes (первая была вчера) иии stage 2 взят!
Инженеры, работающие над SpiderMonkey, написали о том, как они обновляли свой движок для регулярных выражений в коллаборации с командой V8.
https://hacks.mozilla.org/2020/06/a-new-regexp-engine-in-spidermonkey/
https://hacks.mozilla.org/2020/06/a-new-regexp-engine-in-spidermonkey/
Mozilla Hacks – the Web developer blog
A New RegExp Engine in SpiderMonkey
Regular expressions – commonly known as RegExps – are a powerful and heavily used tool for manipulating strings in JavaScript. This post describes how we updated the RegExp engine in ...
Исследователь безопасности Bhavuk Jain написал об обнаруженной им уязвимости нулевого дня в способе аутентификации Sign-in with Apple.
https://bhavukjain.com/blog/2020/05/30/zeroday-signin-with-apple/
https://bhavukjain.com/blog/2020/05/30/zeroday-signin-with-apple/
Результаты четвёртого дня июньской встречи #TC39 (первый день здесь, второй здесь, третий тут)
Пропозал: Realms (stage 2 обновление)
Слайды: https://docs.google.com/presentation/d/1TfVtfolisUrxAPflzm8wIhBBv_7ij3KLeqkfpdvpFiQ
Кажется наконец-то этот важный пропозал начинает уверенное движение к stage 3. Перед этим необходимо согласовать дизайн с рабочей группой HTML и W3C TAG.
Пропозал: Smart Unit Preferences in Intl.NumberFormat (stage 0 -> stage 1)
Слайды: https://bit.ly/intl-number-format-usage
Эта фича позволит использовать локализованные единицы измерения, например, километры для измерения расстояния в России и мили для США. Отдельно интересно, что докладчику был задан вопрос о том, как пользователь сможет переопределить единицы измерения. На этот вопрос ответил председатель TG2 Shane Carr, который, как оказалось, готовит черновик пропозала для пользовательских предпочтений. Интересно! Ну а smart unit preferences взяли stage.
Пропозал: Intl.Segmenter (stage 2 обновление)
Слайды: https://docs.google.com/presentation/d/1Pe9eVhgK93cgB3KCufTQvzqCjIYj3RRxJaOeNIbWN_A
Вообще этот пропозал собирался брать stage 3, но чемпион не успел заявить его на продвижений до дедлайна (10 дней до начала встречи TC39). Но кажется пропозал требует уточнения, и возможно не продвинулся бы в любом случае. Надеюсь, что скоро всё же увидим Intl.Segmenter на stage 3, потому что в своей работе не раз испытывал необходимость в таком API.
Пропозал: Generic Comparison (stage 0 -> stage 1)
Слайды: https://docs.google.com/presentation/d/1OO3QwtP4S0SOXGW9m4pdgG_CHo2eCz0sA6u3NXAgb9M/edit?usp=sharing
Переходит на stage 1, но с условием, что он будет покрывать только массивы
Пропозал: .item() (stage 0 -> stage 1)
Слайды: https://docs.google.com/presentation/d/1vRjhR1Vl9GeOeXno-s8DkQppeZFE3xx59Od91HG6db4/edit
Пропозал для того, чтобы брать элементы массива с конца, который все ждут много лет, переходит на stage 1.
Обсуждение: Incubation call chartering
Слайды: <отсутствуют>
Не так давно в рамках TC39 стали проводить отдельные созвоны, позволяющие решить какие-то важные вопросы по конкретным пропозалам или затрагивающие несколько пропозалов. Это должно позволить решать различные проблемы еще до встречи TC39. Созвоны проводятся в течение часа раз в две недели. к участию были приглашены чемпионы пропозалов, которые столкнулись с критикой или недопониманием и все заинтересованные делегаты и приглашенные эксперты.
Пропозал: Module attributes (stage 1 -> stage 2)
Слайды: https://docs.google.com/presentation/d/1MOVBh0gw7-tqEx-maEvS2HsgwXd5X5pcwL80V67xCIg/edit#slide=id.g8634fc5940_28_0
Короткая презентация о решении проблем, озвученных в третий день встречи (ограничение возможностей атрибутов) всё же привела к консенсусу и stage 2.
Обсуждение: Editorial Direction
Слайды: https://docs.google.com/presentation/d/14NsIoRhr-z7HvRG0laq_F2c4iNPHF-Ld17-Yibshdo0
Редакторы спецификации предложили уточнить использование терминологии относительно хоста и имплементации. Дискуссия остаётся открытой.
Пропозал: Realms (stage 2 обновление)
Слайды: https://docs.google.com/presentation/d/1TfVtfolisUrxAPflzm8wIhBBv_7ij3KLeqkfpdvpFiQ
Кажется наконец-то этот важный пропозал начинает уверенное движение к stage 3. Перед этим необходимо согласовать дизайн с рабочей группой HTML и W3C TAG.
Пропозал: Smart Unit Preferences in Intl.NumberFormat (stage 0 -> stage 1)
Слайды: https://bit.ly/intl-number-format-usage
Эта фича позволит использовать локализованные единицы измерения, например, километры для измерения расстояния в России и мили для США. Отдельно интересно, что докладчику был задан вопрос о том, как пользователь сможет переопределить единицы измерения. На этот вопрос ответил председатель TG2 Shane Carr, который, как оказалось, готовит черновик пропозала для пользовательских предпочтений. Интересно! Ну а smart unit preferences взяли stage.
Пропозал: Intl.Segmenter (stage 2 обновление)
Слайды: https://docs.google.com/presentation/d/1Pe9eVhgK93cgB3KCufTQvzqCjIYj3RRxJaOeNIbWN_A
Вообще этот пропозал собирался брать stage 3, но чемпион не успел заявить его на продвижений до дедлайна (10 дней до начала встречи TC39). Но кажется пропозал требует уточнения, и возможно не продвинулся бы в любом случае. Надеюсь, что скоро всё же увидим Intl.Segmenter на stage 3, потому что в своей работе не раз испытывал необходимость в таком API.
Пропозал: Generic Comparison (stage 0 -> stage 1)
Слайды: https://docs.google.com/presentation/d/1OO3QwtP4S0SOXGW9m4pdgG_CHo2eCz0sA6u3NXAgb9M/edit?usp=sharing
Переходит на stage 1, но с условием, что он будет покрывать только массивы
Пропозал: .item() (stage 0 -> stage 1)
Слайды: https://docs.google.com/presentation/d/1vRjhR1Vl9GeOeXno-s8DkQppeZFE3xx59Od91HG6db4/edit
Пропозал для того, чтобы брать элементы массива с конца, который все ждут много лет, переходит на stage 1.
Обсуждение: Incubation call chartering
Слайды: <отсутствуют>
Не так давно в рамках TC39 стали проводить отдельные созвоны, позволяющие решить какие-то важные вопросы по конкретным пропозалам или затрагивающие несколько пропозалов. Это должно позволить решать различные проблемы еще до встречи TC39. Созвоны проводятся в течение часа раз в две недели. к участию были приглашены чемпионы пропозалов, которые столкнулись с критикой или недопониманием и все заинтересованные делегаты и приглашенные эксперты.
Пропозал: Module attributes (stage 1 -> stage 2)
Слайды: https://docs.google.com/presentation/d/1MOVBh0gw7-tqEx-maEvS2HsgwXd5X5pcwL80V67xCIg/edit#slide=id.g8634fc5940_28_0
Короткая презентация о решении проблем, озвученных в третий день встречи (ограничение возможностей атрибутов) всё же привела к консенсусу и stage 2.
Обсуждение: Editorial Direction
Слайды: https://docs.google.com/presentation/d/14NsIoRhr-z7HvRG0laq_F2c4iNPHF-Ld17-Yibshdo0
Редакторы спецификации предложили уточнить использование терминологии относительно хоста и имплементации. Дискуссия остаётся открытой.
Microsoft начал распространять обновление для Windows 10, в котором Edge Legacy будет заменён новым Edge на основе Chromium.
https://support.microsoft.com/en-us/help/4541302/the-new-microsoft-edge-is-available
https://support.microsoft.com/en-us/help/4541302/the-new-microsoft-edge-is-available
Microsoft
The new Microsoft Edge is available for Windows 10, version 1903 and 1909
Describes that the new Microsoft Edge is available for Windows 10, version 1903 and 1909.
Патч с приватными полями классов только что был добавлен в кодовую базу WebKit!
https://bugs.webkit.org/show_bug.cgi?id=206431#c57
https://bugs.webkit.org/show_bug.cgi?id=206431#c57
Несколько статей с обсуждением нового (на самом деле не такого уж и нового) тренда — сканирование портов, которое используется в основном сайтами электронной коммерции и банками для проверки безопасности (удалённое подключение), антифрауда и/или сбора информации (фингерпринтинга) пользователей.
https://nullsweep.com/why-is-this-website-port-scanning-me/
https://blog.nem.ec/2020/05/24/ebay-port-scanning/
https://nullsweep.com/why-is-this-website-port-scanning-me/
https://blog.nem.ec/2020/05/24/ebay-port-scanning/
Axel Rauschmayer продолжает свой цикл статей о TypeScript. На этот раз он написал о type assertions как о самом крайнем способе точечно подменить тип.
https://2ality.com/2020/06/type-assertions-typescript.html
https://2ality.com/2020/06/type-assertions-typescript.html
⚡️ На 77й встрече #TC39, которая пройдёт 20-23 июля, уже как минимум два пропозала будут представлены к переходу на stage 4. Это Promise.any & AggregateError и WeakRefs 🔥
Вероятнее всего к ним присоединится также Logical Assignment Operators
Обновление от 9.06.2020: пропозал Logic Assignment также запросит stage 4 на 77й встрече TC39
Вероятнее всего к ним присоединится также Logical Assignment Operators
Обновление от 9.06.2020: пропозал Logic Assignment также запросит stage 4 на 77й встрече TC39
GitHub
agendas/07.md at main · tc39/agendas
TC39 meeting agendas. Contribute to tc39/agendas development by creating an account on GitHub.
Protect your resources from web attacks with Fetch Metadata — статья о том, как избежать различных cross-origin атак, правильно используя метаданные заголовков fetch.
https://web.dev/fetch-metadata/
https://web.dev/fetch-metadata/
web.dev
Protect your resources from web attacks with Fetch Metadata | Articles | web.dev
Fetch Metadata is a new web platform feature designed to allow servers to protect themselves from cross-origin attacks.
Experimenting with QuicTransport — статья о новом экспериметальном API, обеспечивающем двунаправленный обмен сообщениями с низкой задержкой (как без гарантий порядка сообщений, так и с ним). QuicTransport доступен в Chromium под origin trial.
https://web.dev/quictransport/
https://web.dev/quictransport/
TypeScript: narrowing types via type guards and assertion functions — очередня статья от Axel Rauschmayer. В этот раз об уточнении типов.
https://2ality.com/2020/06/type-guards-assertion-functions-typescript.html#assertion-functions
https://2ality.com/2020/06/type-guards-assertion-functions-typescript.html#assertion-functions
WeakRefs (stage 3) только что были включены по умолчанию в Firefox Nightly 79, ждём билд.
https://bugzilla.mozilla.org/show_bug.cgi?id=1639246#c8
https://bugzilla.mozilla.org/show_bug.cgi?id=1639246#c8
bugzilla.mozilla.org
1639246 - Ship weak refs
ASSIGNED (jcoppeard) in Core - JavaScript: GC. Last updated 2020-06-09.
Прямо сейчас Yulia Startsev из Mozilla снова ведёт стрим, в этот раз о прошедшей встрече #TC39 и о работе комитета
https://www.twitch.tv/codehag
https://www.twitch.tv/codehag
Twitch
codehag - Twitch
Hi everyone! This channel is an experiment, to see if this format works well for people. My name is yulia, aka YSV aka codehag AKA ioctaptceb. I work on Firefox's SpiderMonkey Compiler and I want to help people learn about compilers and standards, so I created…
Новый ECMAScript пропозал await.ops (stage 0), добавляющий синтаксический сахар для работы с массивами промисов. Будет представлен комитету в июле.
GitHub
GitHub - tc39/proposal-await.ops: Introduce await.all / await.race / await.allSettled / await.any to simplify the usage of Promises
Introduce await.all / await.race / await.allSettled / await.any to simplify the usage of Promises - tc39/proposal-await.ops
Вчера прошла встреча #WebAssembly CG, на которой проголосовали за обобщения пропозала Module Types в Module Linking и перевода его на stage 1 (вот слайды). Также был представлен новый пропозал Numeric Values in WAT Data Segments и обсуждалась возможность убрать аннотации типов для ref.is_null.
GitHub
meetings/CG-06-09.md at main · WebAssembly/meetings
WebAssembly meetings (VC or in-person), agendas, and notes - meetings/CG-06-09.md at main · WebAssembly/meetings
Валидация внешних данных на TypeScript. Очередная статья из серии про TypeScript от Axel Rauschmayer.
https://2ality.com/2020/06/validating-data-typescript.html
https://2ality.com/2020/06/validating-data-typescript.html
В SpiderMonkey добавлена поддержка dateStyle и timeStyle для Intl.DateTimeFormat API (stage 3)
https://bugzilla.mozilla.org/show_bug.cgi?id=1557718#c7
https://bugzilla.mozilla.org/show_bug.cgi?id=1557718#c7
GitHub
GitHub - tc39/proposal-intl-datetime-style: dateStyle and timeStyle options for DateTimeFormat
dateStyle and timeStyle options for DateTimeFormat - tc39/proposal-intl-datetime-style