Новости 512 #138

ES2021, итераторы, релизы CakePHP и Ember, Zoom для школьников от Ростелекома и Mail.ru

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

Этот выпуск начнется с фич ES2021. Новая версия стандарта ожидается в июне 2021, а список сформирован из возможностей, реализованных в Google Chrome Canary. Среди них: метод replaceAll() объекта String, WeakRef и файналайзеры, приватные методы классов и приватные get/set. Мы, скорее всего, увидим Promise.any() и новое исключение AggregateError, а также оператор логического присваивания. Для всех фич есть небольшие примеры кода и случаи применения. Также прилагаем перевод на Хабре.

Матеуш Подласин (Mateusz Podlasin) написал статью об итераторах и итерируемых объектах. Он раскрывает эти понятия и показывает, как можно создать собственный итератор и как его использовать. Не обошлось и без небольшой головоломки: итераторы и сами могут быть итерируемыми объектами. Получилось интересно, если вы давно хотели разобраться, как работает цикл for … of и для чего он нужен — добро пожаловать. Есть перевод на Хабре.

Инженеры Figma рассказали о включении строгой проверки на null в своей кодовой базе на TypeScript. Они начали работать с TS ещё до появления фичи, и им пришлось адаптировать под неё большую кодовую базу. Здесь интересен процесс перевода. Для того, чтобы не бросать на это все силы и не останавливать разработку, перевод произвели постепенно. Пригодилось дерево зависимостей и пришлось повозиться с циклическими зависимостями. Небольшая команда определила порядок масштабного рефакторинга, затем вся команда постепенно провела перевод.

Базовые понятие кеширования веб-приложений раскрывает Мадхи Резви (Mahdhi Rezvi). Статья покрывает несколько тем: зачем кеширование нужно, его плюсы и минусы, какие стратегии кеширования можно выбрать, и, наконец, что именно можно кешировать. Материал обзорного характера, без глубокого погружения. Если вы только начали разбираться в кешировании или что-то подзабыли, то на большую картину можно посмотреть в этой статье.

Какие самые распространенные ошибки совершают разработчики? Видуни Викрамараччи (Viduni Wickramarachchi) на Medium рассказала про 5 таких: большое количество HTTP-запросов, отсутствие сжатия файлов, одновременная загрузка ресурсов и большое количество редиректов. Также в список попало неиспользование CDN.

Ещё о 5 ошибках, теперь уже при использовании React-хуков, рассказал в своём блоге Дмитрий Павлютин. Дмитрий не советует менять порядок вызова хуков и использовать устаревшие стейты и замыкания. Также он предупреждает о том, что не стоит использовать стейт для инфраструктурных данных и не нужно забывать прибирать сайд-эффекты. По каждому пункту есть небольшие примеры и объяснения.

Завершают рубрику «9 репозиториев, о которых должен знать каждый разработчик» по версии Саймона Холдорфа (Simon Holdorf). Лично я отдельно отмечу легендарный «You Don’t Know JS Yet» Кайла Симпсона (Kyle Simpson), лучшие практики Node.js, и Front-End Checklist. Все остальные также заслуживают внимания.

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

Чем ближе конец года, тем меньше заметных релизов и обновлений. Тем не менее, они есть. Команда фреймворка CakePHP выпустила два обновления. Версия CakePHP 4.2.0 принесла полную поддержку PHP 8 и экспериментальную поддержку контейнера для внедрения зависимостей. Также в этой версии появилась миддлвара для защиты и хранения CSRF-токена в сессии, а не в cookie. Полный список изменений и гайд по миграции вы найдете в release notes. Также была выпущена версия CakePHP 2.10.24. Она отличилась одним багфиксом, но это не главное. Обратите внимание, что это последний maintenance-релиз второй версии фреймворка. Фактически его поддержка прекращается, до июня 2021 версия 2.10 будет получать обновления безопасности, а потом, видимо, её снимут с поддержки полностью. Так что пора задуматься о переходе на версию поновее.

Появилась версия фреймворка Ember 3.23. Движок рендеринга был доработан для упрощения дебаггинга и исправлены баги, связанные с параметрами запросов. Были добавлены две новые фичи: invokeHelper для инициализации и вызова экземпляра хелпера в компонентах и менеджер хелперов с низкоуровневыми примитивами для определения хелперов.

Вышел npm 7.3.0. Теперь поддерживается несколько set/get/delete в конфигурации npm. Были исправлены несколько багов работы с регистром, публикации и обновлении пакетов. Также команда npm предупреждает, что возьмёт небольшой перерыв на отдых и вернётся к работе 4 января.

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

В июле 2019 года власти Казахстана начали перехватывать HTTP-трафик пользователей для обеспечения их безопасности в безжалостном и вредоносном интернете. Провайдеров обязали установить дополнительный сертификат для доступа к определённым ресурсам. В итоге сертификат целевого сайта подменяется на новый, сгенерированный на лету и заверенный корневым сертификатом от властей Казахстана. В итоге трафик может быть полностью перехвачен. В начале декабря прошли очередные учения по «безопасности», и казахский корневой сертификат был добавлен в список отозванных Mozilla, Google, Safari и Edge. Например, Mozilla в своём блоге рекомендует сменить все пароли и перейти на VPN всем, кто не может попасть на некоторые ресурсы после блокировки сертификата.

Пандемия продолжает привносить новое в нашу жизнь. Или не совсем новое. По данным РБК Ростелеком и Mail.ru собираются запустить аналог Zoom для школьного образования. В целом сервис будет аналогом Zoom с функциями «Поднять руку» и трансляцией своего экрана. Платформа будет называться «Сферум», и её начнут тестировать в первом квартале 2021 года в 15 регионах России, если всё пойдёт по плану.

Комментарии

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