Новости 512 #153

В этом выпуске: вводный туториал по Rollup, CSS-in-JS в DevTools, тени и псевдоэлементы ::before/::after, Safari Technology Preview 121, Laravel 8.29 и отчет прозрачности от GitHub.

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

Нолан Лоусон (Nolan Lawson) в своем блоге рассказал о некоторых характеристиках производительности JavaScript, за которыми стоит следить для улучшения UX. Кроме размера бандла важно обращать внимание на время парсинга, компиляции и исполнения кода, на объем потребляемой памяти и потребление энергии. Конечно же, Нолан рассказывает и о том, как измерить все эти показатели, а также приводит небольшие примеры.

Следующий материал — о бандлере Rollup. Если вы давно хотели попробовать другой бандлер или именно Rollup, то этот гайд очень даже подойдет. Крейг Баклер (Craig Buckler) написал туториал по Rollup, который покрывает установку и базовую настройку, создание конфигурации, использование плагинов, обработку нескольких бандлов и другие фичи.

В новом выпуске HTTP 203 Джейк Арчибальд (Jake Archibald) и Сурма (Surma) разбираются с тасками в JS. Речь пойдет о планировании тасков в нашем любимом языке (я про JavaScript). Сурма отталкивается от доклада Джейка об Event Loop с JSConf.Asia и старается восполнить пробелы. Кстати, доклад тоже хороший, приложу ссылку.

Chrome DevTools теперь поддерживают CSS-in-JS. Об этом написал статью Алекс Руденко — разработчик из команды Chrome DevTools. Теперь CSS-in-JS можно редактировать, для этого внутреннее представление стали преобразовывать в текст и добавили механизм, который передает изменения в стилях. Подробнее о фиче и реализации поддержки CSS-in-JS в DevTools — в статье Алекса.

Роб О'Лири (Rob O'Leary) на css-tricks написал статью о тенях. Она интересна тем, что Роб говорит и о физических основах теней, распределении света и о том, как это влияет на восприятие. Потом он переходит к вполне реальным эффектам, которые создаются при помощи теней. Например, эффекты выпуклости и вогнутости. Также он рассматривает влияние теней на доступность, производительность. Естественно, в статье есть и лучшие практики применения теней.

Уилл Бойд (Will Boyd) написал статью о псевдоэлементах ::before и ::after. Он начинает с основ, а затем разбирает интересные кейсы: работу с кавычками, декоративные элементы, использование изображений в content. Получилось интересно, загляните, если интересуетесь нюансами CSS и ::before и ::after в частности.

Лия Веру (Lea Verou) в своем блоге рассказывает о перегрузке функций. Вообще, о перегрузке функций нечасто услышишь в JS-среде, потому что в JS нет перегрузки функций. Это когда методы или функции имеют одинаковое название, но разную сигнатуру — например, разное количество аргументов. Решение Лии не универсальное и его не вполне можно назвать перегрузкой. Но посмотреть можно. Для чего это может пригодиться и как это реализовала она — читайте в статье.

В заключение рубрики — статья о текущем состоянии GDPR. Напомню, речь идет о General Data Protection Regulation или, как сказали бы многие, плашке с куки. Дэнни Блюстоун (Danny Bluestone) на SmashingMagazine коротко рассказывает о том, как развивались требования GDPR, и каковы они сейчас. В статье есть 2 коротких списка: «что надо знать о GDPR дизайнеру» и «что надо знать о GDPR разработчику».

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

В Safari Technology Preview 121 поработали над GPU process, ускорили JSON.parse, добавили массивы с BigInt и экспериментальную поддержку приватных методов. Кроме того, в этой версии много улучшений и исправлений aspect-ratio и гридов, различные исправления медиа. Для WebAssembly добавили потоковую компиляцию и Bulk-memory operations, а Reference Types теперь работают по умолчанию.

Состоялся релиз CakePHP 4.2.4. Была улучшена поддержка PHP 8, документация по API также была обновлена. DatabaseSession теперь использует запись из таблицы сессий при создании и удалении записей.

Вышла версия Laravel 8.29. Продолжается развитие параллельного тестирования: был добавлен метод инициализации тестовых баз setUpTestDatabase() для разных параллельных тестов. Также был добавлен вспомогательный метод collect(), который позволяет преобразовывать ответы из JSON в коллекцию.

Не вполне связан с разработкой, но тоже довольно интересный релиз. Команда проекта Tor представила OnionShare 2.3. Это утилита, которая позволяет безопасно и анонимно передавать и получать файлы. В этой версии появились вкладки и одноразовые приватные чаты без сохранения истории переписки.

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

GitHub опубликовал ежегодный отчёт о блокировках за 2020 год. От государственных служб поступило 44 требования удаления контента, все из России. Забавно, но это были гисты с инструкциями по суициду, мошенничеством и пропагандой сект. GitHub также получил 303 запроса о раскрытии данных пользователей от судебных органов разных стран. Также поступило 2500 апелляций о необоснованных блокировках из Крыма, Ирана и других санкционных территорий. Приятно, что около 2100 из них удовлетворили и разблокировали пользователей.

Хорошие новости от Canonical и release-команды Ubuntu. Организация обещает повысить качество промежуточных LTS-версий, сдвигая дату релиза. В чем суть: раньше релиз выходил в срок любой ценой, даже в ущерб тестированию, теперь будет наоборот — сроки будут сдвигать для тестирования, если сборка не вполне стабильна. Хороший ход и отличные новости.

Финальный материал — об участии в разработке браузеров. Оказалось, что у всех мажорных браузеров есть свои гайды для контрибьюторов. Так что если посмотреть на браузер изнутри и поучаствовать в его разработке — ваша мечта, то она вполне реальна. Прикладываю ссылки на гайды для WebKit, Firefox и Chromium. Сразу скажу, что у Chromium он выглядит немного куцым, а вот у WebKit и Firefox они очень даже солидные.

Комментарии

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