Новости 512 #185

В этом выпуске: Chrome 93, музыкальный синтезатор на AssemblyScript, секреты оптимизаций в Safari, будущее автотестов, а также уязвимости в Python.

Интересные публикации

Rust — самый любимый, а Python — самый востребованный: на Stack Overflow опубликованы результаты ежегодного опроса Developer Survey. Золото в рейтинге популярности занял JavaScript, а React, jQuery и Express заняли призовой пьедестал в рейтинге веб-фреймворков. VSCode стал самой популярной IDE, а самые большие зарплаты получают разработчики, пишущие на Clojure, — говорит рейтинг.

Каллум Харт (Callum Hart) на Smashing Magazine написал статью о создании надежных веб-интерфейсов. Среди основных постулатов надежности Каллум выделяет: классификацию ошибок на основе их воздействия; принцип «предотвращай ошибки, а не реагируй на на них»; важность мультитулинга (привет Sentry, Grafana и Prometheus) для мониторинга ошибок, а также применения различных фоллбэков и откатов релизов.

В прошлом месяце в MDN Web Docs была добавлена функция автодополнения, которая позволяет быстро переходить прямо к документу, вводя части заголовка документа. Петер Бенгтссон (Peter Bengtsson) из Mozilla рассказывает о технических нюансах реализации такой фичи и связанных с этим приемах быстрого поиска и навигации внутри MDN.

Тадеу Загаллу (Tadeu Zagallo), разрабатывающий JavaScriptCore в Safari, рассказывает, как устроены оптимизации встроенных джавасктиптовых методов. На примере Function.prototype.toString он демонстрирует использование кеширования и абстрактной интерпретации для ускорения вызовов стандартных библиотечных функций.

«WebDriver BiDi — это будущее браузерных автотестов», — утверждает Максим Садым из Google. WebDriver BiDi — новый протокол автоматизации браузерных тестов, который можно использовать вместо WebDriver или Chrome DevTools Protocol. Из статьи Максима вы узнаете о текущих способах автоматизации браузерных тестов — WebDriver, CDP, Puppeteer, — их сильных сторонах и ограничениях, а затем подробнее погрузитесь в WebDriver BiDi, его цели, проблемы и текущий статус.

107 тысяч знаков, 38 блоков с кодом, 4 фиддла, 19 изображений и почти час на чтение — так можно описать статью «101 приём и совет по цифрой доступности». Охвачены вопросы aria-лейблов, HTML5-семантики, доступности таблиц и прогрессивного улучшения с помощью css. Возможно, самое исчерпывающее руководство для тех, кому надо вывести LightHouse в «зеленую» зону.

Завершает секцию публикаций статья в Manicord. Вы узнаете, как с помощью нового пакета Dart WASM создать синтезатор звука на основе Dart, используя существующую кодовую базу, разработанную на AssemblyScript. Эта разработка может служить рабочим примером того, как использовать код, написанный на AssemblyScript от Dart, и насколько он prod-ready.

Новости релизов

Начнем с релиза Node 16.6.0. Главной фичей стал новый метод массивов at, принимающий индекс и возвращающий элемент массива по этому индексу. Передача отрицательных индексов позволяет достучаться до элементов с конца. Так, вызов at(-1) вернет последний элемента массива.

В ESLint 7.32 появилась новая опция --exit-on-fatal-error. Её суть — в ловле ошибок синтаксического анализа или парсинга с последующим выбрасыванием exit code 2.

В 93 версии Chrome у класса AbortSignal появился метод abort, позволяющий прерывать промисы. По сути этот метод — более лаконичная версия уже знакомого приёма с прерываниями через Abort Controller. Для флексбоксов добавилась поддержка ключевых слов start, end, self-start, self-end, left и right. Из более высокоуровневых фичей стоит отметить Multi-Screen Window Placement API, которое позволяет размещать окна на любом дисплее, подключенном к вашему компьютеру, запоминать эту позицию и делать окно полноэкранным на любом дисплее. Это может быть полезно при работе с холстом и палитрой, слайдами и заметками к слайдам или же для просмотра разных биржевых котировок.

Завершают неделю релизов три security-фикса GitLab 14.1.2, 14.0.7 и 13.12.9. Фиксы содержат исправления 3 high-уязвимостей, 12 medium и 3 low. В анонсе релизов на GitLab есть подробное описание каждой из них.

Другие новости

197 тысяч, а это 46%, пакетов в репозитории PyPl содержат потенциально небезопасный код. Было выявлено почти 750 тысяч проблем, из них 80 тысяч помечены как опасные. Исследование было проведено разработчиками из Университета Турку, Финляндия. При этом сторонние разработчики заметили, что часть данных, использованных в выборке, была получена вне контекста применения тех или иных конструкций — это, в свою очередь, могло привести к большому числу ложных срабатываний.

Проблемами с уязвимостями на этой неделе отметилась и Node.js. Для трёх основных линеек были выпущены security-фиксы, закрывающие проблемы в модуле http2. Суть проблемы была в обращении к освобожденной области памяти во время выполнения интенсивных операций чтения, блокирующих запись.

Пишите нам и читайте

Telegram—канал CSSSR

Twitter CSSSR

Twitter новостей

Telegram ведущего

Twitter ведущего

Комментарии

Продолжая пользование данным Сайтом, вы даете свое согласие на сбор и обработку технической информации (cookies). Подробнее о cookies читайте вПолитике конфиденциальности.