From 34a1362e38ce17bf7ef786442db4b388be874c21 Mon Sep 17 00:00:00 2001 From: Islam Vindizhev Date: Wed, 5 Feb 2025 10:09:02 +0300 Subject: [PATCH 1/2] Add news issue 269 --- _posts/news512/news-269.md | 77 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 _posts/news512/news-269.md diff --git a/_posts/news512/news-269.md b/_posts/news512/news-269.md new file mode 100644 index 00000000..11ebef16 --- /dev/null +++ b/_posts/news512/news-269.md @@ -0,0 +1,77 @@ +--- +title: 'В этом выпуске: архитектура масштабируемых систем, System Design, объект Temporal, security-релизы января, NestJS 11, Vitest 3, а также стратегии развития Angular в 2025 году.' +soundcloudLink: 'https://soundcloud.com/csssr/arkhitektura-system-design-temporal-nestjs-11-vitest-3-angular-v-2025-godu' +date: '2025-02-04T00:00:00.000Z' +episodeNumber: 269 +tag: 'news' +author: 'Ислам Виндижев' +--- + +Всем привет, это «Новости 512» от CSSSR. В этом выпуске мы поговорим об архитектуре масштабируемых систем, System Design, объекте Temporal, security-релизах января, NestJS 11, Vitest 3, а также стратегии развития Angular в 2025 году. + + + ### Интересные публикации + +Начнём выпуск с системного дизайна и архитектуры. Для начала две части цикла статей о системном дизайне. Это перевод большой серии статей — пока их две, но, видимо, планируется продолжение цикла. В [первой статье](https://habr.com/ru/articles/873388/) рассматриваются задачи системного дизайна как дисциплины, базовые понятия и вводные. Во [второй части](https://habr.com/ru/articles/877312/) рассматриваются базы данных и их место в системах. Если вы пока не знакомы с понятием System Design или только примеряете на себя роль проектировщика решений, это будет прекрасный цикл, чтобы начать. + + +Следующий материал более продвинутого уровня. Он посвящён архитектуре для высокой масштабируемости. Ключевая мысль автора заключается в том, что не стоит мыслить шаблонами, везде использовать модные подходы, а нужно анализировать и принимать оправданные, взвешенные решения. Он считает, что микросервисы несколько переоценены и применять их стоит только в случае, если более простые способы оптимизации дошли до своего предела. В [первой части](https://habr.com/ru/articles/871500/) говорится как раз о таких инструментах, как шардирование, репликация, кеширование, ослабление требований ACID и других. Во [второй части](https://habr.com/ru/articles/871784/) речь идёт как раз о микросервисах, их плюсах и минусах. Обе статьи интересные и полны полезной информации. Серию планируется продолжать, я обязательно буду за ней следить. + +В блоге доктора Акселя есть ещё парочка интересных статей, о которых я хотел бы вам рассказать. [Первая](https://2ality.com/2025/01/tsconfig-json.html) посвящена файлу конфигурации TypeScript. Конфиги стали настолько сложными, что он решил окунуться в документацию TS и составить для себя базовый конфиг. Я советую пройтись по всем разделам, потому что в них есть подробные сведения о секциях конфига и их настройке. Для самых нетерпеливых в конце есть просто сам базовый конфиг. [Вторая статья](https://2ality.com/2025/01/regexp-modifiers.html) — о модификаторах паттернов в регулярных выражениях. Если коротко, это фича, которая позволяет применять флаги к кускам регулярок, а не целиком. В статье поясняется, какие флаги поддерживаются, как этим пользоваться и в каких случаях. + +Брайан Смит (Brian Smith) на MDN опубликовал [статью](https://developer.mozilla.org/en-US/blog/javascript-temporal-is-coming/) о новом объекте JavaScript — Temporal. Это новый объект для работы с временем, который призван прийти на замену Date и сделать работу с датой и временем более удобной, современной и понятной. На MDN недавно подвезли большое количество документации по `Temporal`, так что можно знакомиться. Пока есть экспериментальные реализации и до полной, кросс-браузерной ещё очень далеко, но перспектива хорошая. + +В прошлом выпуске я упоминал фичу Node.js, которая позволяет запускать TS-файлы при помощи удаления типов или type stripping. Как он работает, решил пояснить Марко Ипполито (Marco Ippolito). В [своей статье](https://satanacchio.hashnode.dev/everything-you-need-to-know-about-nodejs-type-stripping) он рассказывает о том, для чего это в принципе нужно, как работает, какие есть плюсы и минусы, а также в каком направлении, вероятно, будет развиваться эта фича Node.js. + +Дальше два небольших кейса. [Первым](https://kellysutton.com/2025/01/18/moving-on-from-react-a-year-later.html) делится Келли Саттон (Kelly Sutton). Она коротко подводит итоги года после переезда с React на Stimulus. Это часть экосистемы Hotwire от создателей Basecamp и Ruby on Rails 37signals. Если вы присматривались к Hotwire и другим инструментам рядом с ним, вот вам небольшой кейс. + +[Второй кейс](https://shopify.engineering/five-years-of-react-native-at-shopify), скажем так, посолиднее. Он уже о пяти годах работы с технологией. Это опыт пяти лет использования React Native в Shopify. В статье рассказывается о том, как было принято решение о внедрении React Native, чем это помогло (например, фичи на iOS и Android стали выходить практически одновременно, людям было проще работать, а больше времени удавалось уделять реальной ценности для пользователей) и как в связи с этим ощущает себя команда. + +В конце рубрики я перечислю ещё 5 материалов, которые могут быть вам интересны, а ссылки на них будут в описании выпуска. + +[Создание генеративной картинки с Three.js](https://tympanus.net/codrops/2025/01/15/creating-generative-artwork-with-three-js/). +[Интервью](https://www.smashingmagazine.com/2025/01/svelte-5-future-frameworks-chat-rich-harris/) с Ричем Харрисом о Svelte 5 и будущем фреймворков. +[Дополненная реальность в вебе и актуальные библиотеки в этой области в 2025 году](https://habr.com/ru/companies/kts/articles/874464/). +[Подборка ИИ-инструментов](https://habr.com/ru/companies/timeweb/articles/873430/), которые могут быть полезны веб-разработчикам. +Электронная книга «[Рефакторь как супергерой](https://refactor-like-a-superhero.vercel.app/en)». + + + ### Новости релизов + +Рубрика с релизами сегодня относительно «тихая». Она начнётся с security-релизов января. Oracle выпустила [обновления безопасности](https://blogs.oracle.com/security/post/january-2025-cpu-released) для всех своих продуктов. Также [серией security-релизов](https://nodejs.org/en/blog/vulnerability/january-2025-security-releases) отметился Node.js. Обновление касается версий 23, 22, 20, 18. Не забывайте вовремя обновляться. + + +Продолжая тему рантаймов. Вышла версия [Bun 1.2](https://bun.sh/blog/bun-v1.2). В этой версии рантайм значительно продвинулся в области совместимости с Node.js. Помимо этого, теперь он обладает встроенными объектами для хранилища Amazon S3 и встроенным клиентом для PostgreSQL. `bun install` теперь использует текстовый lock-файл, а Express теперь работает с Bun в 3 раза быстрее. + +Вышла новая мажорная версия [NestJS за номером 11](https://trilon.io/blog/announcing-nestjs-11-whats-new). В ней есть: поддержка JSON-логов, расширенные возможности для микросервисов, ускорение запуска приложений и обновление зависимостей. Подробнее о всех изменениях можно узнать в release notes. + +Вышел тест-раннер [Vitest 3](https://vitest.dev/blog/vitest-3). В новой версии были представлены более стабильные отчёты, упрощённая настройка рабочих пространств, поддержка мультибраузерного тестирования и фильтрация тестов по строкам. Также были представлены и некоторые ломающие изменения. Больше подробностей — в release notes. + +Бандлер Rspack обзавёлся [новой версией 1.2](https://rspack.dev/blog/announcing-1-2). В этом релизе был добавлен долгосрочный кэш, который позволяет ускорить старт после прогрева в 2–2,5 раза. Также поработали над производительностью и оптимизацией. + +[ESLint 9.18.0](https://eslint.org/blog/2025/01/eslint-v9.18.0-released/) приносит стабильную поддержку TypeScript-конфигураций, улучшения в правилах no-shadow-restricted-names и no-console, а также исправления мелких ошибок. Обновление упрощает работу с TypeScript и делает сообщения об ошибках более информативными. + +Также команда ESLint выпустила первую мажорную версию [ESLint Config Inspector](https://github.com/eslint/config-inspector). Это инструмент, который позволяет просматривать и анализировать плоские конфиги ESLint. + +Также в этом выпуске отмечу релизы [Capacitor 7](https://ionic.io/blog/capacitor-7-has-hit-ga) от команды Ionic, [Electron 34](https://www.electronjs.org/blog/electron-34-0), [Cypress 14](https://www.cypress.io/blog/cypress-14-is-here-see-whats-new) и [Puppeter 24](https://github.com/puppeteer/puppeteer/releases/tag/puppeteer-v24.1.1). + + + ### Другие новости + +Минко Гечев в блоге Angular поделился [стратегией команды Angular на 2025 год](https://blog.angular.dev/angular-2025-strategy-9ca333dfc334). Последние два с половиной года главным фокусом было улучшение производительности и DX для всех Angular-разработчиков. В этом году курс не изменится. В планах продолжать сохранять курс на улучшение DX, повышение производительности и упрощение внедрения новых фич. Среди ключевых инициатив на 2025 год — zoneless-режим, signal-based формы, замена тест-раннера Karma на более современное решение и улучшение документации. Хороший вопрос: получится ли у Angular омолодиться и конкурировать с тем же Vue? Год покажет. + + +`create-react-app`, на котором было создано огромное количество React-проектов, наконец был [официально признан устаревшим](https://github.com/facebook/create-react-app/pull/17003). Так было уже пару последних лет, но теперь официально: в readme к репозиторию есть пометка об этом и рекомендация больше его не использовать. + +На сегодня это всё. Всем пока и до встречи в следующем выпуске. + + ### Пишите нам и читайте + [Telegram—канал CSSSR](https://t.me/csssr) + + [Twitter CSSSR](https://twitter.com/csssr_dev) + + [Twitter новостей](https://twitter.com/csssr_news) + + [Telegram ведущего](https://t.me/Vindizh) + + [Twitter ведущего](https://twitter.com/Vindizh) From 9282436728cbdf03aaaf904caffd483f3491ce87 Mon Sep 17 00:00:00 2001 From: Islam Vindizhev Date: Wed, 5 Feb 2025 10:24:18 +0300 Subject: [PATCH 2/2] Fix articles list and date in news issue 269 --- _posts/news512/news-269.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/_posts/news512/news-269.md b/_posts/news512/news-269.md index 11ebef16..9ce8cf0c 100644 --- a/_posts/news512/news-269.md +++ b/_posts/news512/news-269.md @@ -1,7 +1,7 @@ --- title: 'В этом выпуске: архитектура масштабируемых систем, System Design, объект Temporal, security-релизы января, NestJS 11, Vitest 3, а также стратегии развития Angular в 2025 году.' soundcloudLink: 'https://soundcloud.com/csssr/arkhitektura-system-design-temporal-nestjs-11-vitest-3-angular-v-2025-godu' -date: '2025-02-04T00:00:00.000Z' +date: '2025-02-05T00:00:00.000Z' episodeNumber: 269 tag: 'news' author: 'Ислам Виндижев' @@ -30,9 +30,13 @@ author: 'Ислам Виндижев' В конце рубрики я перечислю ещё 5 материалов, которые могут быть вам интересны, а ссылки на них будут в описании выпуска. [Создание генеративной картинки с Three.js](https://tympanus.net/codrops/2025/01/15/creating-generative-artwork-with-three-js/). + [Интервью](https://www.smashingmagazine.com/2025/01/svelte-5-future-frameworks-chat-rich-harris/) с Ричем Харрисом о Svelte 5 и будущем фреймворков. + [Дополненная реальность в вебе и актуальные библиотеки в этой области в 2025 году](https://habr.com/ru/companies/kts/articles/874464/). + [Подборка ИИ-инструментов](https://habr.com/ru/companies/timeweb/articles/873430/), которые могут быть полезны веб-разработчикам. + Электронная книга «[Рефакторь как супергерой](https://refactor-like-a-superhero.vercel.app/en)».