Новости 512 #224

В этом выпуске: гайд по веб-воркерам и материалы по React Testing Library, релизы Safari Technology Preview 159 и Electron 22, гайд по угрозам безопасности от Node.js и разные предновогодние подборки.

Всем привет! Это «Новости 512» от CSSSR. Кажется, чем ближе Новый Год, тем сильнее все хотят отдыхать и ничего не писать. Но совсем без ничего разные авторы нас не оставляют. В этом выпуске мы посмотрим на гайд по веб-воркерам и материалы по React Testing Library, релизы Safari Technology Preview 159 и Electron 22. Также приобщимся к гайду по угрозам безопасности от Node.js и разным предновогодним подборкам и посмотрим на пару интересных покупок Mozilla.

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

Крейг Батлер (Craig Buckler) написал гайд по веб-воркерам. В названии гайда есть слово «Ultimate»: я уже как-то говорил, что обычно этому не верю, но в этот раз получилось очень недурно. Сначала разбирается ввод-вывод и проблематика. В статье демонстрируется работа веб-воркеров на клиенте и на сервере, в каждом разделе — примеры. И не только примеры, но и ограничения веб-воркеров на конкретном сегменте. В конце рассматриваются альтернативы, такие как дочерние процессы Node.js, кластеринг, менеджеры процессов и контейнеров. Если получилось не ultimate, то как минимум довольно информативно.

С флексбоксами работают уже практически все, и мало кто может не знать, что это такое. Тем не менее хороший гайд по флексам никому не повредит. Так же подумал и Джош Комо (Josh Comeau): в своём блоге он опубликовал интерактивный гайд по флексам с живыми примерами и объяснением работы осей, свойств и описанием других аспектов работы флексов. С ними стоит ознакомиться и хорошо понять, чтобы работать с флексами эффективно и решать задачи по щелчку пальцев. Гайд очень подробный и хорошо структурирован. Так что, даже если вы уже давно верстаете или только хотите научиться, очень рекомендую.

Следующие два материала о React Testing Library.

Робин Урих (Robin Wieruch) написал статью, в которой проводит читателя по началу работы с React Testing Library и помогает использовать его для написания своих юнит- и интеграционных тестов. Он объясняет место библиотеки в экосистеме тестирования и приводит примеры распространенных задач: от рендеринга компонента до выбора элементов и работы с событиями. Кстати, в итоге он рекомендует использовать в связке с React Testing Library не Jest, а Vitest.

Вторая статья — от разработчика Йогеша Чавана (Yogesh Chavan). Эта статья хороша тем, что в ней всё начинается с настройки проекта и базовой установки всего необходимого. Там же, понятное дело, примеры покрытия тестами. Ещё один хороший момент: автор говорит о том, для чего не стоит использовать ReactTesting Libr React Testing Library. Например, для тестирования состояния, методов компонентов или их дочерних компонентов.

Если вы работаете с Angular, то вы, конечно же, знакомы с директивой ngFor. Директива чрезвычайно полезна при рендере какого-то количества элементов, но есть и некоторые тонкости её работы. Именно об этом следующая заметка. В ней разбираются оптимизация при помощи trackBy, то, как отслеживание элементов вообще работает, интересные применения и свойства ngFor, который может перебирать не только массивы.

Следующая заметка посвящена Intl API или API интернационализации. В этом API есть объект Segmenter, который позволяет разделить текст на части со смысловым значением по разным параметрам. Вы спросите, почему не split()? Потому что это сработает не для каждого языка. Например, автор — Стефан Юдис (Stefan Judis) — приводит в пример японский. В статье он оставил небольшой интерфейс, в котором можно поиграться с гранулярностью разделения.

Периодически попадаются материалы о том, как делать более безопасные Node.js- приложения. На этот раз официально, от команды Node.js. Это обновлённые Node.js Security Best Practices. Цель простая — познакомить разработчиков с современными потенциальными угрозами и способами предотвращения. Здесь вы найдёте описание DDoS, Prototype pollution, злоупотребление доступом к памяти и другие угрозы. Как я уже говорил, для каждой есть ряд рекомендаций о том, как этой самой угрозы избежать.

В конце ваш ждёт целых три подборки.

Первая — 45 инструментов для фронтенд-разработчика. Здесь много чего: от инструментов для создания анимаций до чек-листов для своих проектов.

Вторая — подборка подборок. Автор — Сураж Вишвакарма (Suraj Vishwakarma) — пишет её с сентября, и в ней уже куча частей. Здесь подборки небольшие, но по разным областям. Например, для опенсорса, для практики программирования, просто для фронтенд-разработки и другие. Удобно то, что вы можете зайти в определённую часть цикла по своим интересам и найти что-то интересное для себя.

Третья — подборка адвент-календарей для разработчиков от Косьмы Милке (Cosima Mielke) в Smashing Magazine. Здесь можно найти адвент-календарь на любой вкус: от Advent of Code, который хорошо известен многим, до дизайн-систем, производительности или безопасности. Хоть первая неделя декабря уже прошла, присоединиться никогда не поздно.

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

Релизы на этой неделе не то чтобы были невероятные и поражающие воображение. И было их маловато, но вот они.

Safari Technology Preview 159 порадовал нас несколькими фиксами багов. Один связан с WebAssembly, ещё пара связаны с рендерингом полноэкранного видео и перекрытием блоков. Кроме того, после исправления ещё одного JS-бага теперь можно называть переменные именем класса в блоке static.

Обновилась текущая ветка Node.js. Версия 19.2.0 получила обновление часовых поясов, новый класс File в модуле buffer, обновление версии движка V8 и другие минорные обновления.

Вышел Electron 22. Версия Chromium была обновлена до 108-ой, V8 — до 10.8, а Node.js — до 16.17.1. Примечательно то, что Electron следует политике прекращения поддержки вслед за Chromium. Это значит, что начиная с Chromium 109 и Electron 23 Windows 7/8/8.1 поддерживать уже не будут.

Также отмечу релизы Lerna 6.1 и ChromeOS 108.

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

«Будущее рядом!» — воскликнули в Mozilla и купили два стартапа.

Первый — Pulse, который развивает продукт на базе машинного обучения. Он автоматически обновляет статус в Slack на основании активности пользователя в различных системах и правил, которые задал пользователь. Отмечается, что всё это учитывает приватность пользователей.

Прежде чем я расскажу про второй, обращение к тем, кто не любит голосовые в мессенджерах: пропустите этот кусок. Потому что второй стартап — про встречи в виртуальных комнатах. Он называется Active Replica. Ребята развивают систему виртуальных миров (пафосно, правда же?) на базе веб-технологий для удалённых встреч.

Такие вот новости от Mozilla. Возможно, мы действительно довольно скоро увидим такие технологии прямо у нас в браузерах. Посмотрим. И поехали дальше.

Amazon, кажется, купила где-то на распродаже белое пальто. Это, скорее, шутка, но в ней есть доля правды. Компания присоединилась к Open Invention Network. Это организация, которая занимается защитой Linux от патентных претензий. Члены организации обязуются не выдвигать к Linux патентных претензий, если кто-то использует технологию из патентного пула этой организации в своём проекте. С одной стороны, это хорошо, но, наверное, нужно было Amazon не по PR-причине, а по вполне патентно-практической. А с другой — я всё ещё хорошо помню историю с ElasticSearch. В Amazon сделали форк и назвали его OpenSearch, а разработчики ElasticSearch не получили за это ничего. Юридически, может, и не должны были, но всё равно некрасиво. Такие дела.

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

Telegram—канал CSSSR

Twitter CSSSR

Twitter новостей

Telegram ведущего

Twitter ведущего

Комментарии

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