|
| 1 | +--- |
| 2 | +title: 'В этом выпуске: архитектура масштабируемых систем, System Design, объект Temporal, security-релизы января, NestJS 11, Vitest 3, а также стратегии развития Angular в 2025 году.' |
| 3 | +soundcloudLink: 'https://soundcloud.com/csssr/arkhitektura-system-design-temporal-nestjs-11-vitest-3-angular-v-2025-godu' |
| 4 | +date: '2025-02-05T00:00:00.000Z' |
| 5 | +episodeNumber: 269 |
| 6 | +tag: 'news' |
| 7 | +author: 'Ислам Виндижев' |
| 8 | +--- |
| 9 | + |
| 10 | +Всем привет, это «Новости 512» от CSSSR. В этом выпуске мы поговорим об архитектуре масштабируемых систем, System Design, объекте Temporal, security-релизах января, NestJS 11, Vitest 3, а также стратегии развития Angular в 2025 году. |
| 11 | + |
| 12 | +<ParagraphWithImage imageName="laptopNews" > |
| 13 | + ### Интересные публикации |
| 14 | + |
| 15 | +Начнём выпуск с системного дизайна и архитектуры. Для начала две части цикла статей о системном дизайне. Это перевод большой серии статей — пока их две, но, видимо, планируется продолжение цикла. В [первой статье](https://habr.com/ru/articles/873388/) рассматриваются задачи системного дизайна как дисциплины, базовые понятия и вводные. Во [второй части](https://habr.com/ru/articles/877312/) рассматриваются базы данных и их место в системах. Если вы пока не знакомы с понятием System Design или только примеряете на себя роль проектировщика решений, это будет прекрасный цикл, чтобы начать. |
| 16 | +</ParagraphWithImage> |
| 17 | + |
| 18 | +Следующий материал более продвинутого уровня. Он посвящён архитектуре для высокой масштабируемости. Ключевая мысль автора заключается в том, что не стоит мыслить шаблонами, везде использовать модные подходы, а нужно анализировать и принимать оправданные, взвешенные решения. Он считает, что микросервисы несколько переоценены и применять их стоит только в случае, если более простые способы оптимизации дошли до своего предела. В [первой части](https://habr.com/ru/articles/871500/) говорится как раз о таких инструментах, как шардирование, репликация, кеширование, ослабление требований ACID и других. Во [второй части](https://habr.com/ru/articles/871784/) речь идёт как раз о микросервисах, их плюсах и минусах. Обе статьи интересные и полны полезной информации. Серию планируется продолжать, я обязательно буду за ней следить. |
| 19 | + |
| 20 | +В блоге доктора Акселя есть ещё парочка интересных статей, о которых я хотел бы вам рассказать. [Первая](https://2ality.com/2025/01/tsconfig-json.html) посвящена файлу конфигурации TypeScript. Конфиги стали настолько сложными, что он решил окунуться в документацию TS и составить для себя базовый конфиг. Я советую пройтись по всем разделам, потому что в них есть подробные сведения о секциях конфига и их настройке. Для самых нетерпеливых в конце есть просто сам базовый конфиг. [Вторая статья](https://2ality.com/2025/01/regexp-modifiers.html) — о модификаторах паттернов в регулярных выражениях. Если коротко, это фича, которая позволяет применять флаги к кускам регулярок, а не целиком. В статье поясняется, какие флаги поддерживаются, как этим пользоваться и в каких случаях. |
| 21 | + |
| 22 | +Брайан Смит (Brian Smith) на MDN опубликовал [статью](https://developer.mozilla.org/en-US/blog/javascript-temporal-is-coming/) о новом объекте JavaScript — Temporal. Это новый объект для работы с временем, который призван прийти на замену Date и сделать работу с датой и временем более удобной, современной и понятной. На MDN недавно подвезли большое количество документации по `Temporal`, так что можно знакомиться. Пока есть экспериментальные реализации и до полной, кросс-браузерной ещё очень далеко, но перспектива хорошая. |
| 23 | + |
| 24 | +В прошлом выпуске я упоминал фичу Node.js, которая позволяет запускать TS-файлы при помощи удаления типов или type stripping. Как он работает, решил пояснить Марко Ипполито (Marco Ippolito). В [своей статье](https://satanacchio.hashnode.dev/everything-you-need-to-know-about-nodejs-type-stripping) он рассказывает о том, для чего это в принципе нужно, как работает, какие есть плюсы и минусы, а также в каком направлении, вероятно, будет развиваться эта фича Node.js. |
| 25 | + |
| 26 | +Дальше два небольших кейса. [Первым](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 и другим инструментам рядом с ним, вот вам небольшой кейс. |
| 27 | + |
| 28 | +[Второй кейс](https://shopify.engineering/five-years-of-react-native-at-shopify), скажем так, посолиднее. Он уже о пяти годах работы с технологией. Это опыт пяти лет использования React Native в Shopify. В статье рассказывается о том, как было принято решение о внедрении React Native, чем это помогло (например, фичи на iOS и Android стали выходить практически одновременно, людям было проще работать, а больше времени удавалось уделять реальной ценности для пользователей) и как в связи с этим ощущает себя команда. |
| 29 | + |
| 30 | +В конце рубрики я перечислю ещё 5 материалов, которые могут быть вам интересны, а ссылки на них будут в описании выпуска. |
| 31 | + |
| 32 | +[Создание генеративной картинки с Three.js](https://tympanus.net/codrops/2025/01/15/creating-generative-artwork-with-three-js/). |
| 33 | + |
| 34 | +[Интервью](https://www.smashingmagazine.com/2025/01/svelte-5-future-frameworks-chat-rich-harris/) с Ричем Харрисом о Svelte 5 и будущем фреймворков. |
| 35 | + |
| 36 | +[Дополненная реальность в вебе и актуальные библиотеки в этой области в 2025 году](https://habr.com/ru/companies/kts/articles/874464/). |
| 37 | + |
| 38 | +[Подборка ИИ-инструментов](https://habr.com/ru/companies/timeweb/articles/873430/), которые могут быть полезны веб-разработчикам. |
| 39 | + |
| 40 | +Электронная книга «[Рефакторь как супергерой](https://refactor-like-a-superhero.vercel.app/en)». |
| 41 | + |
| 42 | +<ParagraphWithImage imageName="manWithLaptop"> |
| 43 | + ### Новости релизов |
| 44 | + |
| 45 | +Рубрика с релизами сегодня относительно «тихая». Она начнётся с 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. Не забывайте вовремя обновляться. |
| 46 | +</ParagraphWithImage> |
| 47 | + |
| 48 | +Продолжая тему рантаймов. Вышла версия [Bun 1.2](https://bun.sh/blog/bun-v1.2). В этой версии рантайм значительно продвинулся в области совместимости с Node.js. Помимо этого, теперь он обладает встроенными объектами для хранилища Amazon S3 и встроенным клиентом для PostgreSQL. `bun install` теперь использует текстовый lock-файл, а Express теперь работает с Bun в 3 раза быстрее. |
| 49 | + |
| 50 | +Вышла новая мажорная версия [NestJS за номером 11](https://trilon.io/blog/announcing-nestjs-11-whats-new). В ней есть: поддержка JSON-логов, расширенные возможности для микросервисов, ускорение запуска приложений и обновление зависимостей. Подробнее о всех изменениях можно узнать в release notes. |
| 51 | + |
| 52 | +Вышел тест-раннер [Vitest 3](https://vitest.dev/blog/vitest-3). В новой версии были представлены более стабильные отчёты, упрощённая настройка рабочих пространств, поддержка мультибраузерного тестирования и фильтрация тестов по строкам. Также были представлены и некоторые ломающие изменения. Больше подробностей — в release notes. |
| 53 | + |
| 54 | +Бандлер Rspack обзавёлся [новой версией 1.2](https://rspack.dev/blog/announcing-1-2). В этом релизе был добавлен долгосрочный кэш, который позволяет ускорить старт после прогрева в 2–2,5 раза. Также поработали над производительностью и оптимизацией. |
| 55 | + |
| 56 | +[ESLint 9.18.0](https://eslint.org/blog/2025/01/eslint-v9.18.0-released/) приносит стабильную поддержку TypeScript-конфигураций, улучшения в правилах no-shadow-restricted-names и no-console, а также исправления мелких ошибок. Обновление упрощает работу с TypeScript и делает сообщения об ошибках более информативными. |
| 57 | + |
| 58 | +Также команда ESLint выпустила первую мажорную версию [ESLint Config Inspector](https://github.com/eslint/config-inspector). Это инструмент, который позволяет просматривать и анализировать плоские конфиги ESLint. |
| 59 | + |
| 60 | +Также в этом выпуске отмечу релизы [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). |
| 61 | + |
| 62 | +<ParagraphWithImage imageName="laptopNews" > |
| 63 | + ### Другие новости |
| 64 | + |
| 65 | +Минко Гечев в блоге Angular поделился [стратегией команды Angular на 2025 год](https://blog.angular.dev/angular-2025-strategy-9ca333dfc334). Последние два с половиной года главным фокусом было улучшение производительности и DX для всех Angular-разработчиков. В этом году курс не изменится. В планах продолжать сохранять курс на улучшение DX, повышение производительности и упрощение внедрения новых фич. Среди ключевых инициатив на 2025 год — zoneless-режим, signal-based формы, замена тест-раннера Karma на более современное решение и улучшение документации. Хороший вопрос: получится ли у Angular омолодиться и конкурировать с тем же Vue? Год покажет. |
| 66 | +</ParagraphWithImage> |
| 67 | + |
| 68 | +`create-react-app`, на котором было создано огромное количество React-проектов, наконец был [официально признан устаревшим](https://github.com/facebook/create-react-app/pull/17003). Так было уже пару последних лет, но теперь официально: в readme к репозиторию есть пометка об этом и рекомендация больше его не использовать. |
| 69 | + |
| 70 | +На сегодня это всё. Всем пока и до встречи в следующем выпуске. |
| 71 | + |
| 72 | + ### Пишите нам и читайте |
| 73 | + [Telegram—канал CSSSR](https://t.me/csssr) |
| 74 | + |
| 75 | + [Twitter CSSSR](https://twitter.com/csssr_dev) |
| 76 | + |
| 77 | + [Twitter новостей](https://twitter.com/csssr_news) |
| 78 | + |
| 79 | + [Telegram ведущего](https://t.me/Vindizh) |
| 80 | + |
| 81 | + [Twitter ведущего](https://twitter.com/Vindizh) |
0 commit comments