🦊 Angular Fox 🚀 — русскогорящие новости сообщества
Ir al canal en Telegram
Как костыль на реактивно-лисьей тяге 🔥🦊 Нравится канал? Подпишись на меня! 👉 twitter.com/thekiba_ru 💖 twitter.com/thekiba_io ✨ medium.com/@thekiba ✨ github.com/thekiba Чаты @angular_ru @angular_jobs
Mostrar más4 097
Suscriptores
+124 horas
+17 días
-2230 días
Archivo de publicaciones
🚀 Resource API переходит в Stable!
Судя по опросу, многие намеренно избегали Resource API из-за его экспериментального статуса. Не всем хочется строить логику на том, что может кардинально измениться или вовсе исчезнуть. И это разумно.
Хорошая новость в том, что недавно смерджен PR, который официально переводит семейство Resource API: resource, rxResource и httpResource из экспериментальной стадии сразу в стабильный статус, минуя стадию Developer Preview.
Важно: Связанный с этим изменением PR, содержит breaking change. Вы можете заметить небольшие изменения в тайминге установки значения value, поэтому стоит проверить свои приложения.
👉 https://github.com/angular/angular/pull/68253
✨ CSS для тех, кто спал и проснулся
Если вы, как и большинство, в свое время быстро пробежались по CSS и ушли в JavaScript, самое время вернуться. За последние несколько лет язык получил столько возможностей, что часть задач, которые раньше решались только через JS или препроцессоры, теперь закрывается чистым CSS.
CSS Nesting: вложенность селекторов без Sass.
Слои каскада (
@layer): гибкое управление приоритетом стилей.
Container Queries (@container): позволяет менять стили компонента в зависимости от ширины его родительского контейнера, а не размеров окна браузера.
Продвинутые селекторы и многое другое.
Хороший повод пересмотреть, сколько логики в вашем проекте живет в JS только потому, что в свое время CSS так не умел.
👉 https://habr.com/ru/articles/1026574/✨ Рабочее место не-вайбкодера по методу Spec-Driven Development
Даниил Подольский описал базовую конфигурацию рабочего места по методологии SDD, при котором LLM-агент управляется через формальные спецификации, а не произвольные промпты.
В результате получилось отвязать агента Claude Code от стандартной платной подписки, подключить сторонних LLM-провайдеров и реализовать бесшовное переключение моделей индивидуально для каждого проекта без перезагрузок.
👉 https://habr.com/ru/companies/yadro/articles/1029288/
✨ Права в Linux
На фоне участившихся новостей о взломах, утечках и атаках на инфраструктуру самое время вернуться к фундаментальным основам безопасности. Базовая защита любого сервера начинается с корректной настройки прав доступа, ведь часто причиной инцидента становится не сложный эксплойт, а банальный человеческий фактор и неправильная конфигурация.
В статье подробная и структурированная памятка по системе привилегий в Linux, которая поможет упорядочить знания и закрыть пробелы в понимании того, как ОС управляет доступом.
👉 https://habr.com/ru/articles/1027674/
✨ 50 оттенков порока: за что команды ненавидят тимлидов
Идеальных тимлидов не существует, ошибки случаются у всех. Разница между деструктивным и эффективным лидером не в отсутствии промахов, а в готовности их признавать и меняться.
Топ-7 управленческих ошибок из статьи:
1. Микроменеджмент. Руководитель вмешивается в каждый шаг, лишая команду самостоятельности и превращаясь в бутылочное горлышко.
2. Плохая обратная связь. Отсутствие своевременной оценки работы.
3. Непогрешимость. Отказ признавать ошибки и игнор объективных показателей ведут проект к краху.
4. Манипуляция. Управление через эмоции и уязвимости вместо прозрачных договоренностей.
5. Лицемерие. Использование фразы "мы семья" для принуждения к неоплачиваемым переработкам, и требование соблюдать правила, которые сам игнорирует.
6. Ложь. Пустые обещания роста и подгонка показателей под красивые отчеты.
7. Замалчивание. Блокировка информации в обе стороны: ни вверх, ни вниз по иерархии.
👉 https://habr.com/ru/companies/avito/articles/1029328/
✨ Как Cursor с Claude Opus снёс продакшен базу данных за 9 секунд
Индустрия интегрирует AI-инструменты быстрее, чем выстраивает для них инфраструктуру безопасности.
Недавно агент за 9 секунд уничтожил продакшен-базу, пытаясь починить стейджинг. Он самостоятельно нашел API-токен и выполнил запрос на удаление тома. Вместе с базой удалились и все внутренние бэкапы, так как провайдер хранил их на том же самом томе.
А вы сталкивались с подобными ситуациями? К чему это привело, пишите в комментариях.
👉 https://habr.com/ru/articles/1028758/
✨ Как обезопасить работу с NPM
Чтобы минимизировать риски и закрыть основные векторы атак, авторы предлагают внедрить ряд практик:
Фиксация зависимостей. Используйте npm ci в CI/CD и на проде для точной установки версий строго из lock-файла.
Борьба с подменами и ИИ. Не устанавливайте вслепую пакеты, которые советует ИИ, чтобы не стать жертвой slopsquatting.
Аудит зависимостей. npm audit, npm outdated, npm doctor - базовый набор для оценки здоровья проекта.
Не публикуйте секреты в реестр. .npmignore и .gitignore разные файлы. Если вы обновили только второй, .env может утечь в опубликованный пакет.
Ограничение скриптов. Применяйте флаг --ignore-scripts для защиты от выполнения вредоносного кода в хуках.
Критичный взгляд на README. Не копируйте примеры из документации без ревью, часто ради краткости в них опускают важные настройки безопасности.
Полный список в статье.
👉 https://cheatsheetseries.owasp.org/cheatsheets/NPM_Security_Cheat_Sheet.html
✨ Developer Experience
Про Developer Experience (DX) принято говорить в контексте комфорта и заботы о сотрудниках. Из-за этого фокус часто смещается. Руководство закупает удобные кресла и печеньки в офисе, в то время как пайплайн как собирался 40 минут, так и собирается.
Когда руководитель все же доходит до вопроса, а как это измерять, стандартные фреймворки вроде DORA фиксируют скорость доставки кода, но не переводят боль команды в конкретные цифры потерь.
Андрей Синицын предлагает четыре метрики, которые напрямую переводятся в деньги:
Time to first commit. Сколько дней от выхода нового разработчика до его первого коммита в продакшн.
Доля времени на инфраструктурное трение. Сколько процентов рабочего дня уходит на борьбу с инструментами, а не на написание кода.
Стоимость инцидента в минутах простоя.
Cost-to-value платформенной команды. Сколько стоит содержать платформу и сколько она экономит остальным.
👉 https://habr.com/ru/articles/1028246/
✨ Скрытие email-адресов
В статье представлено актуальное исследование методов обфускации email-адресов от спам-ботов.
Чтобы выяснить эффективность различных подходов, автор превратил свою страницу в ханипот и на реальных данных замерил, какие техники действительно не позволяют скриптам извлечь почту, сохраняя при этом доступность и удобство для конечных пользователей.
Как показывает статистика, оставленный в открытом виде email или mailto: ссылка парсятся в 100% случаев (уровень защиты 0%). Однако большинство ботов работают примитивно: даже базовая замена текста на спецсимволы отсекает до 95% парсеров.
👉 https://spencermortensen.com/articles/email-obfuscation/
✨ Релиз Git 2.54
Над релизом поработали 137 контрибьюторов, которые выкатили ряд важных фич для упрощения повседневной рутины.
Основные фичи:
🔧 git history. Новая экспериментальная команда для редактирования истории коммитов. Поддерживает два режима: reword (изменить сообщение коммита) и split (интерактивно разбить коммит на два).
🪝 Конфигурационные хуки. Теперь хуки можно описывать прямо в .gitconfig или /etc/gitconfig, задавая несколько хуков на одно событие.
👉 https://github.blog/open-source/git/highlights-from-git-2-54/
✨ Анонс TypeScript 7.0 Beta
Команда TypeScript выпустила бета-версию TypeScript 7.0. Компилятор был полностью портирован на Go и работает примерно в 10 раз быстрее версии 6.0.
Парсинг, тайпчекинг и кодогенерация теперь выполняются параллельно. Флаг --checkers задает количество воркеров для проверки типов (по умолчанию 4), а --builders число параллельных сборщиков project references, что особенно полезно для монорепозиториев.
Есть возможность включить однопоточный режим флагом --singleThreaded.
Стабильный релиз ожидается в течение двух месяцев.
👉 https://devblogs.microsoft.com/typescript/announcing-typescript-7-0-beta/
✨ Как превращать дизайнерские требования в архитектуру UI-компонента
При проектировании UI-кита или компонентов дизайн-системы часто возникает разница подходов. Дизайнеры описывают поведение элементов через призму пользовательского опыта, в то время как фронтендерам необходимо строгое разделение ответственности между компонентом и бизнес-логикой.
Даниил Замешаев разобрал подход, который помогает переводить требования от дизайнеров в чистую, масштабируемую архитектуру компонентов.
👉 https://habr.com/ru/companies/moysklad/articles/1020848/
✨ Как находить XSS
Учитывая, что число выявляемых уязвимостей продолжает расти, понимание методов их обнаружения становится обязательным навыком.
XSS (Cross-Site Scripting) — одна из самых распространенных проблем веб-приложений, позволяющая выполнять произвольный JavaScript в браузере.
Статья обобщает реальные практики поиска таких дыр: от классических способов до неочевидных сценариев, которые могут привести к утечкам данных.
👉 https://www.hackerone.com/blog/how-find-xss-techniques-security-researchers-use-real-environments
🚨 Уязвимость SSRF в Angular Platform-Server
Обнаружена серьезная уязвимость Server-Side Request Forgery в
@angular/platform-server, связанная с некорректной обработкой URL при SSR.
Как работает атака?
Злоумышленник отправляет запрос вида:
GET /\evil.com/ HTTP/1.1Сервер передаёт строку в Angular SSR, парсер нормализует обратный слэш в прямой и приложение начинает считать
evil.com своим текущим origin. В результате все относительные запросы через HttpClient и обращения к PlatformLocation.hostname уходят на сервер атакующего.
👉 https://github.com/angular/angular/security/advisories/GHSA-45q2-gjvg-7973✨ Формы в Angular
Знаем, знаем, вы уже успели соскучиться по очередной статье про формы. Тема не новая, обсуждений хватает, и большинство из вас уже в курсе, куда движется Angular, так что без предисловий.
Молчанов Егор сравнил подходы Reactive Forms и Signal Forms на конкретных примерах: от базовой формы с валидацией до динамических списков и асинхронных проверок.
👉 https://habr.com/ru/companies/domclick/articles/1018180/
✨ Новый
@Service декоратор
В Angular появится более удобная альтернатива @Injectable. Причина добавления нового декоратора в том, что @Injectable существует с самого начала Angular и несет в себе много багажа, создающего лишние сложности для разработчиков, которым, как правило, нужно просто объявить синглтон-сервис, доступный во всем приложении.
Ключевые отличия:
По умолчанию использует providedIn: 'root'. Если вы хотите регистрировать сервис вручную, установите autoProvided: false.
Не поддерживает инжекцию через конструктор, только через функцию inject.
Не поддерживает сложную сигнатуру @Injectable (useClass, useValue и т.д.). Вместо этого поддерживается единственная функция factory.
👉 https://github.com/angular/angular/pull/68195✨ Oxc Angular Compiler
VoidZero представила экспериментальный компилятор Oxc Angular Compiler, написанный на Rust с использованием ИИ-агентов. Он компилирует Angular-приложения до 20x быстрее по сравнению с текущими решениями.
Прирост производительности достигнут за счет изменения подхода к анализу кода. Стандартный компилятор Angular генерирует из HTML-шаблонов TypeScript-код, а затем использует TypeScript Compiler для глубокого семантического анализа и проверки типов. Oxc Angular Compiler выполняет трансформацию шаблонов нативно на Rust, снижая зависимость от семантического чекера TypeScript.
Важно: Компилятор создан в исследовательских целях. Проект не будет поддерживаться, и не предназначен для использования в продакшене. Воспринимайте его как прототип для проверки гипотезы.
👉 https://voidzero.dev/posts/oxc-angular-compiler
✨ Основные элементы экосистемы JavaScript
В 2026 году экосистема JavaScript делает ставку на нативную производительность и отказ от лишних зависимостей.
Новые стандарты внедряют фичи, которые раньше требовали сторонних библиотек, главные рантаймы научились запускать TypeScript из коробки, а базовый тулинг массово переписывается на низкоуровневых языках вроде Rust и Go для кратного ускорения работы.
👉 https://habr.com/ru/articles/1021182/
⏪ Назад в прошлое
Если вы когда-нибудь скучали по скрипу 56k-модема.
Opera запустили Web Rewind, интерактивный цифровой архив, посвященный самым знаковым моментам истории интернета: от визга модема при подключении до наших дней.
👉 https://web-rewind.com/
✨ Утечки памяти во фронтенде
Исследование показало, что 86 % открытых фронтенд-проектов содержат хотя бы один случай отсутствующей очистки ресурсов. Проблемы найдены в 430 из 500 репозиториев.
Среди 55 864 находок лидируют: setTimeout/setInterval без clearTimeout/clearInterval (43,9%), addEventListener без removeEventListener (19%), .subscribe() без .unsubscribe() или takeUntil (13,9%), useEffect без возврата cleanup-функции, requestAnimationFrame без cancelAnimationFrame и т.д.
👉 https://stackinsight.dev/blog/memory-leak-empirical-study/
