Новости 512 #244

В этом выпуске: релиз Angular 17 и его «омоложение», .NET 8, архитектура хранения сообщений в Discord, причины нелюбви к Next.js и тонкости Unicode. Также мы глянем на кучу подборок, коснемся разработки Figma-плагинов, WebAuthn и применения esbuild на проде вместо Webpack. В конце мы посмотрим на парочку казусов, связанных с ChatGPT.

Всем привет, это «Новости 512» от CSSSR. В этом выпуске мы поговорим о релизе Angular 17 и его «омоложении», .NET 8, об архитектуре хранения сообщений Discord, причинах нелюбви к Next.js и тонкостях Unicode. Также мы коснемся разработки Figma-плагинов, WebAuthn и применении esbuild на проде вместо Webpack. В конце мы посмотрим на парочку казусов, связанных с ChatGPT.

А ещё, кажется, астрологи объявили неделю подборок, потому что в интересных публикациях в этот раз их очень много.

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

Когда-то давно популярный сервис Discord начинался как маленькое приложение, которое использовало MongoDB для хранения данных. Время шло, и в 2017 году сервис хранил уже миллиард сообщений. Тогда команда Discord мигрировала на Cassandra. 5 лет ребята спали спокойно, и настало время перемен. Сейчас в Discord уже более триллиона сообщений и начались проблемы с производительностью. О том, как эта проблема решалась, рассказал в блоге Discord Бо Ингрэм (Bo Ingram). Если коротко, то базы мигрировали на ScyllaDB, а для данных написали специальные сервисы на Rust, которые помогали безопасно-конкурентно работать с данными. В итоге Discord не посыпался даже во время финала чемпионата мира по футболу. Также в статье приведена статистика после этих архитектурных изменений. Очень интересно.

Буквально в прошлом выпуске мы говорили о релизе Next.js 14. Один из популярных членов сообщества разработчиков Кент Додс написал статью о том, почему он не будет использовать Next.js. На самом деле он задаёт резонные вопросы: почему фичи не такие стабильные, почему внутри так много магии, почему не очень поддерживаются веб-стандарты, а пишутся свои костыли и другие. Кроме того, его беспокоит сильная зависимость фреймворка от Vercel: в команде работает много бывших разработчиков React, и это скудно сказывается на внимании к нуждам пользователей. Ответ, конечно, простой: Vercel хочет зарабатывать деньги и уверенно завязывает фреймворк на свою инфраструктуру. Если вы не хотите с этим разбираться в будущем — ищите альтернативу. Сам Кент, к слову, какое-то время работал в Remix (не обращайте внимания на его отсылки к нему), но в целом вопросы и правда резонные.

Дмитрий Казаков на Хабре решил рассказать о том, можно ли уже использовать на проде esbuild вместо Webpack. Скажу сразу, Дмитрию на 95% удалось использовать esbuild вместо Webpack. Кое-где ему нужно было дописать плагин, было много функций из коробки, а основная фишка в том, что сама конфигурация значительно проще, чем в Webpack, но в итоге есть нюанс. К сожалению, есть и проблемы, например с асинхронными импортами и чанкованием, конвертацией кода под старые браузеры и часто несовместимых коммьюнити-плагинов. В итоге он решил, что для полноценных приложений пока не время, но, возможно, уже скоро. Больше подробностей — на Хабре.

Далее видео о том, почему signals лучше хуков. Сигналы привносят оптимальную производительность, эргономичность и простоту для разработчиков, а также простую интеграцию с фреймворками. В видео речь идёт о @preact/signals, сигналы сравниваются с хуками, а потом приложение плавно переводится с хуков на сигналы. Продолжительность видео — минут 15, а внутри довольно просто объясняются сигналы.

Следующий материал от Юрия Михина из Злых Марсиан. Он посвящён применению алгоритмов в разработке Figma-плагина Polychrome. Плагин позволяет выбрать в Figma элемент и показывает его контрастность относительно фона. Ребятам пришлось поломать голову над поиском нужного элемента и подстричь деревья. В целом это интересный кейс создания плагина с клёвыми нюансами, например объясняется, почему плагин может зафризить страницу и что с этим можно сделать.

Мы давненько не говорили про технологию WebAuthn, которая предоставляет более безопасный метод аутентификации по сравнению, например, с теми же SMS. Сергей Учаев опубликовал на Хабре небольшой пример веб-приложения с использованием технологии. Демка умеет регистрировать пользователя и имитирует аутентификацию. Получилась лаконичная инструкция с небольшой теоретической вводной.

Что вы знаете о Unicode? Вы уверены, что достаточно? Вот вам прекрасный шанс проверить себя и подтянуть знания. Никита Прокопов в своей статье погружает читателей в чудесный мир кодов символов, объясняет, что там по кодировкам, почему это всё важно для чистого английского языка и как вам теперь жить с этими знаниями. Серьёзно, если вы думаете, что знаете о Unicode достаточно, — просто прочитайте.

А теперь те самые подборки, о которых я говорил в начале, — уверен, что вы найдёте для себя что-то интересное. Их, кстати, сегодня действительно больше, чем отдельных статей.

Первая подборка — о манипуляциях с DOM на чистом JS. Если вы забыли, как это выглядит, или вам изредка нужно это делать, то это прекрасная шпаргалочка. Внутри разделение манипуляций на базовый, средний и продвинутый уровни, а также раздел с полезными подсказками.

Что может пойти не так во время git rebase? Много чего. Джулия Эванс (Julia Evans) спросила об этом в Mastodon и получила аж 14 проблем, которые могут возникнуть при этой операции. Она постаралась описать каждую и добавила полезные советы. Даже если вы rebase-ниндзя, думаю, стоит ознакомиться.

Теперь подборка легковесных JS-фреймворков. Она ориентирована на Django-разработчиков. Всего там 12 позиций — вы встретите там и HTMX, и Alpine.js, и Turbo.

Далее две подборки от Лирана Тала (Liran Tal), который много пишет о Node.js и его экосистеме. Первая подборка посвящена лучшим практикам при разработке CLI-приложений, а вторая — лучшим практикам безопасности Node.js.

Сколько техник дебаггинга в браузере вы знаете? Алан Норбауер (Alan Norbauer) насчитал аж 67, которые можно выделить, и поделился с нами. Там довольно много неочевидных фич и есть прекрасное разделение по категориям.

Еще одна подборка касается собесов. В этой статье собраны редкие темы, которые разделены на разные категории. Автор собирал их по своим друзьям и из своего опыта. Получилось неплохо, стоит заглянуть.

Завершают рубрику плейлисты с JetBrains JavaScript Day 2023 и Node.js Collab Summit 2023.

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

Angular съел молодильное яблочко ребрендинга и вышел версией 17. В новую версию добавили встроенный в шаблоны контроль потока выполнения. Оказалось, что у многих разработчиков проблемы с синтаксисом директив типа *ngFor и других, поэтому был разработан более понятный, интуитивный синтаксис — я приложу к выпуску ссылку на его обзор на YouTube. Продолжились работы над внедрением реактивности на основе сигналов, пока их только выпустили из статуса developer preview. Для новых проектов теперь по умолчанию используются Vite и esbuild, что есть хорошо и прекрасно сказывается на скоростях сборки. На основании этих нововведений уже ведётся работа над новыми фичами, подробнее об этом — в анонсе.

Немного о ребрендинге. Ребята сделали новый, красивый логотип. Выпустили свеженький сайт, поработали над документацией, добавили новую песочницу, в которой можно попробовать фреймворк. Также был обновлён официальный вводный курс по Angular, и выглядит он на первый взгляд неплохо. Насколько я понимаю, ребята хотят «омолодить» фреймворк в плане целевой аудитории пользователей и привлечь к использованию Angular больше разработчиков. Начинание хорошее, я пока не уверен, но посмотрим, что из этого получится. Заглядывайте на сайт, лично мне понравился.

Другой крупный релиз — это релиз .NET 8. Это следующая LTS-версия платформы для разработки от Microsoft. Напомню, что это собирательное название всего стека технологий Microsoft для разработки. С этим релизом анонсировали .NET Aspire — стек для построения нативно-облачных приложений, упрощённые возможности использования ИИ в приложениях, улучшения для стека разработки кроссплатформенных приложений и Blazor для фулл-стек ASP.NET-проектов. Были, конечно, представлены оптимизации производительности, а также новая, 12-я, версия языка C# с большим количеством синтаксических плюшек для разработчиков. Больше подробностей — в блоге .NET.

Поговорим про рантаймы. В Deno 1.38 добавили генератор HTML-документации. Была добавлена поддержка HMR или hot module replacement (давно пора), а также экспериментальная поддержка npm. Кроме того, теперь Deno трансформирует JSX во много раз быстрее для серверного рендеринга. Больше подробностей — в release notes.

Продолжают один за другим выходить патчи Bun с багфиксами. Я буду останавливаться только на более интересных. Например, в релизе v1.0.13 была добавлена поддержка Vite 5 и Rollup 4, а также модуля node:http2. Хорошая новость в том, что в патчах количество багов исчисляется уже не сотнями.

Также отмечу релиз Node.js 21.2.0.

Prettier 3.1 порадовал нас новым экспериментальным форматированием тернарников, а также поддержкой нового синтаксиса встроенного в шаблоны контроля потока выполнения Angular 17.

В Astro 3.5 добавили экспериментальную интернационализацию роутов, улучшения префетчинга, поддержку форм для View Transitions, а также экспериментальный билд-кэш коллекций контента. Подробнее о релизе — в блоге Astro.

Закроют рубрику фреймворк для создания HTML-презентаций reveal.js 5.0, а также релизы TypeScript 5.3 RC и Ember 5.4.

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

Прошла GitHub Universe 2023. На ежегодной презентации рассказали о том, что GitHub как платформа при помощи Copilot эволюционирует в заряженную ИИ-платформу для разработчиков. Это разработка при помощи Copilot, безопасность на базе ИИ, интеграции с другими продуктами, например IDE от JetBrains. Больше подробностей — по ссылке в описании.

GitHub также выпустили и ежегодный отчёт Octoverse о состоянии open-source. В этом году было замечено огромное количество экспериментов разработчиков с генеративными ИИ; некоторые проекты, написанные с их применением, даже стали одними из самых популярных в этом году. Был отмечен большой рост сообщества разработчиков в Индии. Также 2023 год стал годом, в котором было больше всего разработчиков, первый раз участвовавших в open-source разработке. Посмотрите, это небольшая заметка с короткой видео-презентацией. Ссылку я также приложу к выпуску.

Ох уж эти работники с ChatGPT. Бразильский судья находится под следствием. Слуга закона вынес вердикт, ссылаясь на правовой прецедент, который ему подсказал ChatGPT. А прецедента этого никогда не было, такие вот дела. А значит, и вердикт оказался невалидный. Вот так Skynet подставил судью. Но есть и более здравые ребята. Например, один судья из Колумбии ещё год назад высказался за применение ChatGPT в работе судов и судебной системы, но только для оптимизации ручного труда, с перепроверкой и коррекцией со стороны людей. Более логичный подход. Мораль простая: на ChatGPT надейся, а сам не плошай.

И последнее на сегодня, косвенно тоже о ChatGPT. Тонны шуток о том, что ChatGPT оставит кого-то без работы, пополнились ещё одной. Из OpenAI уволили Сэма Альтмана (собственно, сооснователя), и актуальная шутка на сегодня о том, что ChatGPT оставил без работы как раз его. Это, конечно же, шутка. Следом за ним потянулись другой сооснователь, ведущие исследователи и так далее, а в итоге их всех, скорее всего, приютит Microsoft. Больше подробностей — по ссылке, целая Санта-Барбара.

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

Telegram—канал CSSSR

Twitter CSSSR

Twitter новостей

Telegram ведущего

Twitter ведущего

Комментарии

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