Новости 512 #162

В этом выпуске: security-обновления Node.js, prototype pollution, Tailwind CSS 2.1, Ruby 3.0.1, Cypress 7.0 и победа Google над Oracle.

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

Никита Ступин на Хабре написал статью про вид уязвимости prototype pollution. При эксплуатации prototype pollution злоумышленники изменяют прототип базовых объектов, чтобы вызвать исполнение внедряемого таким образом кода. Никита подробно описывает механизм атаки на клиенте и сервере, а также показывает примеры поиска и эксплуатации prototype pollution и дает советы по защите. Получилось очень информативно.

Джейк Арчибальд (Jake Archibald) продолжает разбираться с производительностью сайтов Формулы-1. Это шестая и седьмая статьи серии, в них он обратил внимание на сайты Ferrari и Haas. Основная проблема Ferrari — большое количество JS-файлов, блокирующих загрузку, а сайт Haas в целом дублирует проблемы сайтов из предыдущих частей. Если вы еще не знакомы с этой серией статей, у вас есть задачи на производительность, и вы хотите в них разобраться, то очень стоит посмотреть.

Стефани Эклз (Stephanie Eckles) опубликовала статью о том, как писать CSS с заделом на будущее. На примере компонента с тредом комментариев она рассматривает вопросы, связанные с длиной контента, переполнением, доступностью, мультиязычностью и непредсказуемыми медиа-параметрами.

Ещё одна статья Стефани — о генераторе статических сайтов Eleventy. Она отмечает исключительную скорость генератора, а самой крутой фишкой считает то, что он поддерживает 10 разных языков шаблонов, которые еще и можно использовать одновременно. Также она рассказывает о концепциях и приемах, которые используются в Eleventy, и показывает, как стартовать на нём проект.

Дэвид Эглин (David Eglin) на SmashingMagazine написал обзор headless CMS. При таком подходе CMS, в отличие от обычных, напрямую не отвечают за фронтенд и отделены от него. В статье есть небольшой экскурс в историю возникновения подхода, советы, как принять решение, нужна вам headless CMS или нет, а также обзор существующих решений.

Эмбер Уилсон (Amber Wilson) на css-tricks написала статью о том, почему важно правильно подружить инпуты и их лейблы. В целом — по многим причинам: от банальной понятности интерфейса до доступности. Эмбер показывает, как правильно создать пару лейбл и инпут, делится лучшими практиками и подводными камнями, а также приводит пример из реальной жизни.

Тим Кадлец (Tim Kadlec) выпустил статью о генерации страниц с оценкой производительности на каждый деплой. Используются GitHub, Eleventy и Netlify. Суть в том, что при каждом успешном деплое прогоняется WebPageTest и сохраняется ссылка на результат. Как это реализовать Тим рассказывает в своей статье.

Завершает рубрику коллекция сниппетов кода на чистом JS на SmashingMagazine. Это коллекция разнообразных ресурсов, на которых можно найти готовые решения типовых задач, полифилы, микробиблиотеки, хелперы и много чего другого. Посмотрите, возможно, что-нибудь пригодится.

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

Как и было анонсировано, 6 апреля вышли апрельские security-релизы Node.js. Обновления получили все поддерживаемые версии, а именно: десятая, двенадцатая, четырнадцатая и пятнадцатая. Стало известно больше подробностей об устраненных уязвимостях: две из них связаны с уязвимостями OpenSSL, третья — с модулем, который может быть атакован с использованием prototype pollution. Версия этого модуля была обновлена, всем трем уязвимостям был присвоен высокий уровень опасности.

Вышла версия Ruby 3.0.1. Это пока не багфиксы или новые фичи, а security-релиз, в котором были устранены две уязвимости.

Tailwind CSS, который в последнее время мелькает везде и всюду, отметился обновлением 2.1. Наверное, самое большое нововведение — это JIT-компилятор CSS. Кроме того, добавили ряд новых утилит.

Вышел Cypress 7.0. Появилась первая реализация нового тест-раннера для компонентов, это отдельный от e2e-раннера движок. Их можно использовать вместе или по отдельности. Фишка в том, что тесты компонентов прогоняются примерно с той же скоростью, что у Jest или Mocha, и требуют меньшей инфраструктуры. Пока это альфа-версия, но звучит неплохо.

Также отмечу релизы фреймворка Laravel 8.36 и NativeScript 8.

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

Верховный суд США в итоге встал на сторону Google в споре с Oracle. Напомню, Oracle подавала в суд на Google за неправомерное использование Java API в платформе Android. В итоге тяжба длилась 11 лет и состояла из нескольких апелляций с разных сторон. Суд признал использование Java API честным, потому что позаимствовано было 11 тысяч строк кода из почти 3 миллионов, а сделано это было для расширения возможностей других разработчиков на смартфонах.

Продолжилось расследование атаки на git-сервер PHP. В итоге стало известно, что злоумышленник смог закоммитить изменения с использованием HTTPS и доступа с использованием логина/пароля. Также подозревается, что утекла база сайта PHP. По сути достоверно установить что-либо не удалось и было решено усилить меры безопасности. PHP полностью переедет на GitHub, свой git-сервер поддерживаться больше не будет, также будет усилена безопасность самого сайта PHP.

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

Telegram—канал CSSSR

Twitter CSSSR

Twitter новостей

Telegram ведущего

Twitter ведущего

Комментарии

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