Новости 512

#148

В этом выпуске: устранение уязвимостей в Chrome и Firefox, V8 8.9, прогрессивный рендеринг, аудит производительности внутренних систем организации, обновление Ubuntu 20.04.2 LTS и репозиторий Awesome Node.js.
Прослушать аудио-версию
Человек с громкоговорителем оглашающий новости
RSS подкаста, Apple Podcasts, Google Podcasts, SoundCloud, Я.Музыка

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

Мэтт Хоббс (Matt Hobbs) опубликовал большую статью про аудит производительности внутренних сайтов организации. Мэтт призывает всех оптимизировать сайты в своей внутренней инфраструктуре и не забывать, что ваши сотрудники и коллеги — тоже пользователи. Для анализа он использует WebPageTest и Sitespeed.io, а для анализа производительности в рантайме — Chrome DevTools. Также он затрагивает вопрос аналитики. Статья большая и очень крута тем, что в каждом разделе есть много ссылок на полезные ресурсы.

Штефан Баумгартнер (Stefan Baumgartner) на SmashingMagazine показал, как типизировать сложную функцию для отправки GET-запросов. Штефан постепенно усложняет пример и использует продвинутые фишки: добавляются юнионы, дженерики. Также он использует и пару совсем новых фич TypeScript: литеральные шаблонные типы и рекурсивные условные типы для извлечения имен параметров.

Следующая тема — прогрессивный рендеринг. Нетми Виджесинге (Nethmi Wijesinghe) написала статью об этом подходе. Суть в том, что компоненты последовательно рендерятся на стороне сервера и отправляются клиенту частями, не дожидаясь отрисовки всей страницы. Цель, конечно же, простая — увеличить производительность. Чтобы помочь читателю разобраться в вопросе, Нетми делает обзор клиентского и серверного рендеринга, их плюсов и минусов. В итоге она приходит к выводу, что оптимальная стратегия — прогрессивный рендеринг на стороне сервера, а также показывает пару фич DevTools для анализа рендеринга и его проблем — paint flashing и scrolling performance issues. Также есть перевод на Хабре.

Небольшое размышление Махди Резви (Mahdhi Rezvi) о том, превратится ли со временем JavaScript в TypeScript. Он делится своими соображениями о фичах, которые появились в JavaScript под влиянием TypeScript. По его мнению, это были классы, операторы optional chaining и nullish coalescing, а также приватные переменные и декораторы. Махди считает, что в JS могут подвезти неймспейсы и интерфейсы.

Топ 10 докладов по Angular за 2020 год по версии ресурса MeetupFeed. Среди них: про новый движок Ivy, Module Federation, RxJS, работу связки Angular и Firebase. Это еще не всё: на MeetupFeed можно найти большое количество других докладов по JavaScript и TypeScript, Node.js и serverless-технологиям.

Чуть больше года назад я уже рассказывал про репозиторий Awesome Node.js. Это сборник полезных библиотек для Node.js-проектов и образовательных ресурсов. За год репозиторий значительно вырос и определенно заслуживает внимания: с большой вероятностью вы найдете там что-то полезное для своей работы.

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

После релиза браузеров наступает время что-нибудь починить. Именно это и сделала команда Firefox релизами 85.0.1 и 78.7.1 ESR версии браузера. Это был фикс критической уязвимости, которая позволяла исполнить код в системе пользователя при открытии содержимого, оформленного определенным образом. Также было представлено еще несколько небольших исправлений.

Google Chrome тоже не прекращает закрывать бреши в безопасности. Вышел ещё один патч 88-ой версии браузера. Была закрыта уязвимость, о которой пока неизвестно ничего, кроме того, что это связано с переполнением кучи в V8. Уязвимость не была помечена как критическая, но раз фикс выпустили, значит, это было важно.

Посмотрим на наш любимый движок V8. Была сформирована ветка 8.9. Нас ждёт top-level await и ускоренный вызов функций с разным количеством аргументов. Эта версия появится в Chrome 89, выпуск которого запланирован на 2 марта.

Тест-раннер Karma отметился релизом версии 6.1.0. В этом небольшом обновлении была улучшена обработка ошибок при парсинге файла конфигурации.

Вышел Cypress 6.4.0. Загрузка файла теперь логируется, опция метода cy.intercept() delayMs была переименована в delay. Какое-то время delayMs будет поддерживаться, но уже помечена как устаревшая и будет удалена в будущих релизах. Конечно, не обошлось и без пачки баг-фиксов.

Вышла 4-ая версия Vuex — библиотеки для работы с состоянием в экосистеме Vue. Этот релиз будет работать как раз с новой, 3-ей версией фреймворка. Разработчики отмечают, что API не изменится по сравнению с предыдущей версией и свой код можно будет легко переиспользовать. Пока что релиз всё еще помечен как next, и есть breaking changes: изменился процесс инсталляции и генерируются дополнительные бандлы для работы с третьей версией Vue.

Вышла Ubuntu 20.04.2 LTS. Были обновлены графические компоненты и драйвера для чипов Intel, AMD и Nvidia, а ядро — до версии 5.8. Также в релиз включены свежие выпуски большого количества пакетов.

Также отмечу релиз nginx Unit 1.22.

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

Команда Evrone взяла небольшое интервью у создателя Vue Эвана Ю о подходе к работе и разработке фреймворка. Он рассказал о структуре своего рабочего дня, о том, что математика и алгоритмы — не самое важное для разработчика, но пренебрегать ими не стоит. Также Эван поделился прогнозом относительно развития JavaScript и TypeScript: он считает, что типы в JavaScript не появятся вовсе и он будет развиваться параллельно с TypeScript. Кроме этого затрагивались такие темы, как работа с сообществом вокруг фреймворка и разработка некоторых его фич. Интервью не очень длинное, но интересное.

Таинственная история случилась в сообществе языка Perl. У проекта угнали домен perl.com. Предполагаемые угонщики вроде бы имели отношение к распространению вредоносного ПО и, скорее всего, похитили домен, чтобы воплотить какой-то коварный замысел. На возвращение домена ушла примерно неделя, на сегодняшний день работа сервиса полностью восстановлена.

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

Telegram—канал CSSSR

Twitter CSSSR

Twitter новостей

Telegram ведущего

Twitter ведущего

Комментарии

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