🦊 Angular Fox 🚀 — русскогорящие новости сообщества
Если обновляли пакеты сегодня — проверьтесь https://www.aikido.dev/blog/npm-debug-and-chalk-packages-compromised
Еще 40+ вредоносных npm пакетов подъехало, разбирайте — среди них много angular related.
Проверяйте свои проекты https://www.stepsecurity.io/blog/ctrl-tinycolor-and-40-npm-packages-compromised
Проверяйте свои проекты https://www.stepsecurity.io/blog/ctrl-tinycolor-and-40-npm-packages-compromised
www.stepsecurity.io
Shai-Hulud: Self-Replicating Worm Compromises 500+ NPM Packages - StepSecurity
The Shai-Hulud worm has infected over 500 NPM packages including @ctrl/tinycolor in an unprecedented self-propagating supply chain attack. The malware harvests AWS/GCP/Azure credentials using TruffleHog, establishes persistence through GitHub Actions backdoors…
🤬15🔥3🤯3👍2🤣2👏1
✨ За горизонтом: как Angular внедряет ИИ для приложений нового поколения
В блоге команды Angular вышла статья, как они активно интегрирует генеративный AI в экосистему фреймворка. Речь не просто об адаптации к трендам, а о создании инструментов, которые помогут LLM генерировать качественный и современный код для Angular-приложений.
В статье представили Web Codegen Scorer — open-source инструмент для оценки качества AI-сгенерированного кода. Он позволяет анализировать типичные ошибки LLM и быстрее адаптировать их под новые возможности Angular.
👉 https://blog.angular.dev/beyond-the-horizon-how-angular-is-embracing-ai-for-next-gen-apps-7a7ed706e1a3
В блоге команды Angular вышла статья, как они активно интегрирует генеративный AI в экосистему фреймворка. Речь не просто об адаптации к трендам, а о создании инструментов, которые помогут LLM генерировать качественный и современный код для Angular-приложений.
В статье представили Web Codegen Scorer — open-source инструмент для оценки качества AI-сгенерированного кода. Он позволяет анализировать типичные ошибки LLM и быстрее адаптировать их под новые возможности Angular.
👉 https://blog.angular.dev/beyond-the-horizon-how-angular-is-embracing-ai-for-next-gen-apps-7a7ed706e1a3
💩13🤮6👍3🔥3💔1
✨ Вам больше не нужен JavaScript
Современные CSS и HTML могут заменить значительную часть JavaScript. Забудьте про раздувшиеся node_modules и тормоза, веб может быть проще и эффективнее.
Автор статьи доказывает, что современный CSS стал настолько мощным, что способен выполнять множество задач: начиная со сложных анимаций и заканчивая логикой компонентов.
👉 https://habr.com/ru/articles/946498/
Современные CSS и HTML могут заменить значительную часть JavaScript. Забудьте про раздувшиеся node_modules и тормоза, веб может быть проще и эффективнее.
Автор статьи доказывает, что современный CSS стал настолько мощным, что способен выполнять множество задач: начиная со сложных анимаций и заканчивая логикой компонентов.
👉 https://habr.com/ru/articles/946498/
🤡20😁18👍5🔥1
✨ afterRenderEffect, afterNextRender, afterEveryRender & Renderer2
В Angular, кроме привычных сигналов, есть и другие полезные инструменты: afterRenderEffect, afterNextRender, afterEveryRender и Renderer2.
Они выглядят похоже, но решают разные задачи, поэтому часто остаются в тени и вызывают путаницу.
Читайте статью, чтобы увидеть наглядные примеры кода и разобраться, какой инструмент лучше подходит для ваших целей.
👉 https://www.angularspace.com/afterrendereffect-afternextrender-aftereveryrender-renderer2/
В Angular, кроме привычных сигналов, есть и другие полезные инструменты: afterRenderEffect, afterNextRender, afterEveryRender и Renderer2.
Они выглядят похоже, но решают разные задачи, поэтому часто остаются в тени и вызывают путаницу.
Читайте статью, чтобы увидеть наглядные примеры кода и разобраться, какой инструмент лучше подходит для ваших целей.
👉 https://www.angularspace.com/afterrendereffect-afternextrender-aftereveryrender-renderer2/
👍12🔥9❤2
🚨 Angular SSR: Патчи безопасности
Недавно команда Angular выпустила внеплановые обновления, связанные с устранением серьезной уязвимости в SSR.
Проблема была в том, что при одновременной обработке нескольких запросов они могли случайно делиться состоянием. В худшем случае это приводило к утечке данных между пользователями.
Патчи выпущены для всех актуальных версий Angular, начиная с 18 и выше. Рекомендуем как можно скорее обновить свои проекты.
👉 https://github.com/angular/angular/security/advisories/GHSA-68x2-mx4q-78m7
Недавно команда Angular выпустила внеплановые обновления, связанные с устранением серьезной уязвимости в SSR.
Проблема была в том, что при одновременной обработке нескольких запросов они могли случайно делиться состоянием. В худшем случае это приводило к утечке данных между пользователями.
Патчи выпущены для всех актуальных версий Angular, начиная с 18 и выше. Рекомендуем как можно скорее обновить свои проекты.
👉 https://github.com/angular/angular/security/advisories/GHSA-68x2-mx4q-78m7
🔥6😱4🤣2✍1👍1
✨ Все о новых Signal Forms
В Angular появился экспериментальный API Signal Forms — новый подход к работе с формами, основанный на сигналах. Это важный шаг к более чистому и реактивному фреймворку, который решает многие классические проблемы с валидацией и управлением состоянием.
Новый API упрощает создание сложных сценариев: от базовых проверок до кастомных синхронных и асинхронных валидаторов. В статье на примере формы управления полетами разбираются все ключевые возможности.
👉 https://www.angulararchitects.io/blog/all-about-angulars-new-signal-forms/
В Angular появился экспериментальный API Signal Forms — новый подход к работе с формами, основанный на сигналах. Это важный шаг к более чистому и реактивному фреймворку, который решает многие классические проблемы с валидацией и управлением состоянием.
Новый API упрощает создание сложных сценариев: от базовых проверок до кастомных синхронных и асинхронных валидаторов. В статье на примере формы управления полетами разбираются все ключевые возможности.
👉 https://www.angulararchitects.io/blog/all-about-angulars-new-signal-forms/
🔥12👍3👏1
✨ Чистый код на TypeScript
Качество кода напрямую влияет на скорость разработки и легкость поддержки проекта. Особенно это актуально для TypeScript, где следование принципам чистого кода помогает делать проекты предсказуемыми, читабельными и профессиональными.
В статье на примерах разбирается, почему избыточный контекст в именах зло, как декларативный подход выигрывает у императивного, и зачем использовать readonly для защиты от случайных мутаций.
👉 https://habr.com/ru/articles/948488/
Качество кода напрямую влияет на скорость разработки и легкость поддержки проекта. Особенно это актуально для TypeScript, где следование принципам чистого кода помогает делать проекты предсказуемыми, читабельными и профессиональными.
В статье на примерах разбирается, почему избыточный контекст в именах зло, как декларативный подход выигрывает у императивного, и зачем использовать readonly для защиты от случайных мутаций.
👉 https://habr.com/ru/articles/948488/
👍8👎3🔥1
📚 Когда справочник по CSS превращается в комедию ошибок
Современные книги по программированию всё чаще страдают не только от плохого перевода, но и от катастрофического количества ошибок.
Автор статьи приводит целую коллекцию ляпов: от кривых примеров кода до внезапных вставок про Photoshop.
👉 https://habr.com/ru/articles/926464/
Современные книги по программированию всё чаще страдают не только от плохого перевода, но и от катастрофического количества ошибок.
Автор статьи приводит целую коллекцию ляпов: от кривых примеров кода до внезапных вставок про Photoshop.
👉 https://habr.com/ru/articles/926464/
👍2❤1🔥1
✨ SSL-сертификаты: самый прибыльный развод интернета
Годами индустрия продавала «премиальные» SSL-сертификаты за сотни долларов. Однако сегодня бесплатные аналоги, предлагают абсолютно тот же уровень защиты.
Покупка платного SSL-сертификата в 2025 году — это, по сути, плата за воздух. Различия вроде «гарантий» и «лучшей совместимости» — не более чем маркетинговые уловки.
Статья рассказывает, как сформировался картель центров сертификации с наценкой до 49,000% и как проект Let's Encrypt навсегда изменил правила игры.
👉 https://habr.com/ru/articles/947178/
Годами индустрия продавала «премиальные» SSL-сертификаты за сотни долларов. Однако сегодня бесплатные аналоги, предлагают абсолютно тот же уровень защиты.
Покупка платного SSL-сертификата в 2025 году — это, по сути, плата за воздух. Различия вроде «гарантий» и «лучшей совместимости» — не более чем маркетинговые уловки.
Статья рассказывает, как сформировался картель центров сертификации с наценкой до 49,000% и как проект Let's Encrypt навсегда изменил правила игры.
👉 https://habr.com/ru/articles/947178/
👍15🔥7🤯1
✨ Angular signals 101
Если каким-то чудом тема сигналов прошла мимо вас или вы все откладывали знакомство с ними на потом, самое время наверстать.
Алексей Васильев написал подробное техническое руководство по новой реактивной модели Angular, основанной на сигналах.
Сегодня вместо подкаста, музыка от SUMMON_THE_CODER в комментариях.
👉 https://habr.com/ru/articles/951486/
Если каким-то чудом тема сигналов прошла мимо вас или вы все откладывали знакомство с ними на потом, самое время наверстать.
Алексей Васильев написал подробное техническое руководство по новой реактивной модели Angular, основанной на сигналах.
Сегодня вместо подкаста, музыка от SUMMON_THE_CODER в комментариях.
👉 https://habr.com/ru/articles/951486/
🔥18👍4❤3😁2🤯1
✨ Разработка приложений с ИИ на Angular и Gemini
Многие фронтендеры думают, что для работы с AI обязательно нужен Python и глубокая экспертиза в бэкенде.
Статья развенчивает этот миф и показывает, как Angular-разработчики могут легко интегрировать Gemini API в свои приложения.
👉 https://www.angularspace.com/building-ai-powered-apps-with-angular-and-gemini/
Многие фронтендеры думают, что для работы с AI обязательно нужен Python и глубокая экспертиза в бэкенде.
Статья развенчивает этот миф и показывает, как Angular-разработчики могут легко интегрировать Gemini API в свои приложения.
👉 https://www.angularspace.com/building-ai-powered-apps-with-angular-and-gemini/
👍4🔥2❤1🤔1👌1🤡1
✨ Angular Zoneless Unit Testing
Angular движется в сторону Zoneless-архитектуры. Полная миграция приложения — сложный процесс, но вы можете начать подготовку уже сейчас, адаптировав свои юнит-тесты.
Это поможет проверить совместимость компонентов с Zoneless-режимом еще до полного отказа от Zone.js в вашем проекте.
👉 https://www.angularspace.com/angular-zoneless-unit-testing/
Angular движется в сторону Zoneless-архитектуры. Полная миграция приложения — сложный процесс, но вы можете начать подготовку уже сейчас, адаптировав свои юнит-тесты.
Это поможет проверить совместимость компонентов с Zoneless-режимом еще до полного отказа от Zone.js в вашем проекте.
👉 https://www.angularspace.com/angular-zoneless-unit-testing/
🔥3👍2😴2🤔1
✨ Изолируй это! Про конфликты стилей в микрофронтендах
В микрофронтенд-архитектуре независимость команд — это плюс, но конфликты стилей часто ломают UI: кнопка меняет цвет, шрифты прыгают, глобальные правила переопределяют локальные.
Александр Битько рассказал, как найти баланс между автономией и согласованностью через стратегии изоляции стилей.
👉 https://habr.com/ru/companies/psb/articles/946938/
В микрофронтенд-архитектуре независимость команд — это плюс, но конфликты стилей часто ломают UI: кнопка меняет цвет, шрифты прыгают, глобальные правила переопределяют локальные.
Александр Битько рассказал, как найти баланс между автономией и согласованностью через стратегии изоляции стилей.
👉 https://habr.com/ru/companies/psb/articles/946938/
😴5👍3👏2❤1💊1
✨ Angular и память: как не создавать утечки
Одностраничные приложения живут часами, и именно поэтому утечки памяти превращаются в серьезную проблему. Код кажется стабильным, но спустя час вкладка начинает тормозить и интерфейс реагирует медленнее.
Основные источники утечек знакомы каждому: вечные подписки на Observable, забытые таймеры, неочищенные DOM-слушатели и замыкания с тяжелыми объектами.
Как их избежать? В статье, разбор типичных кейсов и чеклист для предотвращения утечек.
👉 https://habr.com/ru/articles/949256/
Одностраничные приложения живут часами, и именно поэтому утечки памяти превращаются в серьезную проблему. Код кажется стабильным, но спустя час вкладка начинает тормозить и интерфейс реагирует медленнее.
Основные источники утечек знакомы каждому: вечные подписки на Observable, забытые таймеры, неочищенные DOM-слушатели и замыкания с тяжелыми объектами.
Как их избежать? В статье, разбор типичных кейсов и чеклист для предотвращения утечек.
👉 https://habr.com/ru/articles/949256/
👍10🤡5🔥2
✨ Динамические формы
Продолжаем экспериментировать с Signal Forms.
Манфред Штайер показал, как с их помощью реализовать генератор динамических форм.
Этот подход позволяет создавать формы в рантайме на основе метаданных — идеальное решение для случаев, когда точная структура формы неизвестна.
👉 https://www.angulararchitects.io/blog/dynamic-forms-building-a-form-generator-with-signal-forms/
Продолжаем экспериментировать с Signal Forms.
Манфред Штайер показал, как с их помощью реализовать генератор динамических форм.
Этот подход позволяет создавать формы в рантайме на основе метаданных — идеальное решение для случаев, когда точная структура формы неизвестна.
👉 https://www.angulararchitects.io/blog/dynamic-forms-building-a-form-generator-with-signal-forms/
👍10🔥5✍3❤1
✨ Странные CSS-свойства, но, возможно, полезные
В CSS полно фич, которые кажутся избыточными: вы знаете, что они делают, но неясно, где их применить на практике.
Стас Мельников делится списком таких загадок: от скрытия пустых ячеек в таблицах до декоративных маркеров над текстом.
👉 https://habr.com/ru/companies/ruvds/articles/950476/
В CSS полно фич, которые кажутся избыточными: вы знаете, что они делают, но неясно, где их применить на практике.
Стас Мельников делится списком таких загадок: от скрытия пустых ячеек в таблицах до декоративных маркеров над текстом.
👉 https://habr.com/ru/companies/ruvds/articles/950476/
👍5🔥4🥱3❤🔥1
🚀 Теперь Angular поддерживается в Google AI Studio
Команда Angular анонсировала поддержку генерации Angular-приложений прямо в AI Studio — теперь можно создавать прототипы и полноценные проекты на Angular с помощью Gemini без лишних настроек.
Интеграция дает возможность: генерировать код, экспортировать его на GitHub, деплоить через Cloud Run и даже создавать AI-фичи с использованием Gemini API.
👉 https://blog.angular.dev/angular-support-for-generating-apps-in-google-ai-studio-is-now-available-3a3afde38f58
Команда Angular анонсировала поддержку генерации Angular-приложений прямо в AI Studio — теперь можно создавать прототипы и полноценные проекты на Angular с помощью Gemini без лишних настроек.
Интеграция дает возможность: генерировать код, экспортировать его на GitHub, деплоить через Cloud Run и даже создавать AI-фичи с использованием Gemini API.
👉 https://blog.angular.dev/angular-support-for-generating-apps-in-google-ai-studio-is-now-available-3a3afde38f58
🔥17👍7💩5❤1
✨ Расстаемся с any в TypeScript
Использование any — это не безобидный компромисс, а отказ от главного преимущества TypeScript, статической типизации. Этот тип позволяет коду пройти компиляцию, но приводит к ошибкам в рантайме, подрывая надежность всего проекта и создавая ложное чувство безопасности.
В статье подробно разбирается, как можно автоматически отлавливать и запрещать небезопасные типы.
👉 https://habr.com/ru/articles/859114/
Использование any — это не безобидный компромисс, а отказ от главного преимущества TypeScript, статической типизации. Этот тип позволяет коду пройти компиляцию, но приводит к ошибкам в рантайме, подрывая надежность всего проекта и создавая ложное чувство безопасности.
В статье подробно разбирается, как можно автоматически отлавливать и запрещать небезопасные типы.
👉 https://habr.com/ru/articles/859114/
👍10🔥7✍3👏3
✨ Используйте простейшие рабочие решения
При проектировании ПО многие инженеры стремятся к идеальной архитектуре — бесконечно масштабируемой и навороченной.
Автор статьи утверждает, что это ошибка. Вместо погони за сложными системами стоит глубоко проанализировать задачу и реализовать самое простое рабочее решение. Этот подход, основанный на принципе YAGNI, применим ко всему: от фиксов багов до разработки с нуля.
👉 https://habr.com/ru/companies/ruvds/articles/949970/
При проектировании ПО многие инженеры стремятся к идеальной архитектуре — бесконечно масштабируемой и навороченной.
Автор статьи утверждает, что это ошибка. Вместо погони за сложными системами стоит глубоко проанализировать задачу и реализовать самое простое рабочее решение. Этот подход, основанный на принципе YAGNI, применим ко всему: от фиксов багов до разработки с нуля.
👉 https://habr.com/ru/companies/ruvds/articles/949970/
👍11❤4🔥2
✨ Как не сойти с ума на умной работе
Многие айтишники рано или поздно сталкиваются с чувством выгорания, даже если задачи интересные, команда классная, а отпуск вроде бы помогает.
Александр Царёв поделился личным опытом: ни сериалы, ни путешествия, ни смена проектов не спасают от хронической усталости. Помогло простое решение — ручной труд. Гараж, сад, ремонт, даже сборка мебели. Все, где есть физический результат, возвращает ощущение живости и баланс между виртуальным и реальным мирами.
👉 https://habr.com/ru/articles/951532/
Многие айтишники рано или поздно сталкиваются с чувством выгорания, даже если задачи интересные, команда классная, а отпуск вроде бы помогает.
Александр Царёв поделился личным опытом: ни сериалы, ни путешествия, ни смена проектов не спасают от хронической усталости. Помогло простое решение — ручной труд. Гараж, сад, ремонт, даже сборка мебели. Все, где есть физический результат, возвращает ощущение живости и баланс между виртуальным и реальным мирами.
👉 https://habr.com/ru/articles/951532/
❤19✍9🔥9👍2
✨ Препарируем signal
Сигналы уже давно стали частью Angular и других фреймворков. Но что на самом деле происходит под капотом, когда значение меняется и UI реактивно обновляется?
Сергей Кулаев шаг за шагом реализовал собственные аналоги signal, computed и effect, чтобы наглядно продемонстрировать их внутреннюю логику.
👉 https://habr.com/ru/companies/psb/articles/955912/
Сигналы уже давно стали частью Angular и других фреймворков. Но что на самом деле происходит под капотом, когда значение меняется и UI реактивно обновляется?
Сергей Кулаев шаг за шагом реализовал собственные аналоги signal, computed и effect, чтобы наглядно продемонстрировать их внутреннюю логику.
👉 https://habr.com/ru/companies/psb/articles/955912/
🔥11❤2👍1