✨ Разработка браузерного расширения
Хотите узнать, как превратить идею в расширение для Chrome Web Store и Firefox Add-ons? Автор статьи делится опытом разработки инструмента для поиска по закладкам и вкладкам — от прототипа до публикации за две недели.
С помощью Quasar, Telegram Payments API и Litestar он сделал интерфейс, монетизацию и бэкенд, решив задачи с HTTPS, авторизацией через Telegram и требованиями Chrome.
👉 https://habr.com/ru/companies/ntechlab/articles/930732/
Хотите узнать, как превратить идею в расширение для Chrome Web Store и Firefox Add-ons? Автор статьи делится опытом разработки инструмента для поиска по закладкам и вкладкам — от прототипа до публикации за две недели.
С помощью Quasar, Telegram Payments API и Litestar он сделал интерфейс, монетизацию и бэкенд, решив задачи с HTTPS, авторизацией через Telegram и требованиями Chrome.
👉 https://habr.com/ru/companies/ntechlab/articles/930732/
👍5🔥3🎉1
✨ 6 CSS-сниппетов, которые должен знать каждый фронтенд-разработчик в 2025 году
В этом году веб становится еще более интерактивным. Теперь можно легко добавлять переходы между страницами, анимировать модальные окна, создавать сложные анимации и типизированные CSS-переменные. Все это с минимальным количеством кода.
Читай статью, чтобы узнать, как внедрить эти техники в свои проекты и сделать интерфейсы живее.
👉 https://www.angularspace.com/6-css-snippets-every-front-end-developer-should-know-in-2025/
В этом году веб становится еще более интерактивным. Теперь можно легко добавлять переходы между страницами, анимировать модальные окна, создавать сложные анимации и типизированные CSS-переменные. Все это с минимальным количеством кода.
Читай статью, чтобы узнать, как внедрить эти техники в свои проекты и сделать интерфейсы живее.
👉 https://www.angularspace.com/6-css-snippets-every-front-end-developer-should-know-in-2025/
👍5🔥3🎉1
✨ Как
С появлением нового control flow в Angular, блок
Раньше приходилось писать отдельную проверку
👉 https://habr.com/ru/articles/931634/
@empty
в Angular упрощает работу с пустыми коллекциямиС появлением нового control flow в Angular, блок
@empty
стал нативным решением для обработки пустых коллекций в цикле @for
.Раньше приходилось писать отдельную проверку
*ngIf="items.length === 0"
. Теперь же @empty
становится частью цикла @for
, делая шаблон понятнее. Внутрь него можно разместить любой контент: от простого текста «Ничего не найдено» до компонента с иконками и подсказками, что напрямую улучшает UX.👉 https://habr.com/ru/articles/931634/
🔥25👍3👏2🎉1
✨ Вопросы на собеседование для Angular-сеньора
Многие разработчики живут в «пузыре», годами решая однотипные задачи. Это создает иллюзию мастерства, которая рушится на первом же собеседовании с вопросами поглубже.
Статья раскрывает, что быть Angular-сеньором — это не только про вызов API и отображение данных. Это про глубокое понимание фреймворка, умение решать сложные задачи и вести команду к результатам.
👉 https://www.angularspace.com/senior-angular-interview-questions/
Многие разработчики живут в «пузыре», годами решая однотипные задачи. Это создает иллюзию мастерства, которая рушится на первом же собеседовании с вопросами поглубже.
Статья раскрывает, что быть Angular-сеньором — это не только про вызов API и отображение данных. Это про глубокое понимание фреймворка, умение решать сложные задачи и вести команду к результатам.
👉 https://www.angularspace.com/senior-angular-interview-questions/
👍19👎6🔥3🎉1
✨ Сердце Фреймворка: Философия и Практика Dependency Injection в Angular
Dependency Injection в Angular — это не просто механизм для получения сервисов. Это философия архитектуры, которая превращает хаотичные связи между компонентами в элегантную, предсказуемую систему.
Статья раскрывает DI от основ инверсии контроля (IoC) до тонкостей иерархического инжектора.
👉 https://habr.com/ru/articles/931400/
Dependency Injection в Angular — это не просто механизм для получения сервисов. Это философия архитектуры, которая превращает хаотичные связи между компонентами в элегантную, предсказуемую систему.
Статья раскрывает DI от основ инверсии контроля (IoC) до тонкостей иерархического инжектора.
👉 https://habr.com/ru/articles/931400/
👍14🔥3😁1🎉1
✨ Сам ты вайб-кодер
Вайб-кодеры мыслят фичами и юзер-стори, их цель рабочий продукт. Разработчики же требуют от ИИ качественный код: без дублирования, по стандартам проекта.
Проблемы? У вайб-кодеров — тех.долг, у разработчиков — ожидание идеального кода с первого промпта.
Читай статью, чтобы разобраться в терминах.
👉 https://habr.com/ru/articles/920794/
Вайб-кодеры мыслят фичами и юзер-стори, их цель рабочий продукт. Разработчики же требуют от ИИ качественный код: без дублирования, по стандартам проекта.
Проблемы? У вайб-кодеров — тех.долг, у разработчиков — ожидание идеального кода с первого промпта.
Читай статью, чтобы разобраться в терминах.
👉 https://habr.com/ru/articles/920794/
😁10🤡6👍2❤1🔥1
✨ Анонс TypeScript 5.9
Что нового:
- Упрощенный tsc --init с лаконичным tsconfig.json.
- import defer для отложенного выполнения модулей и оптимизации производительности.
- Опция --module node20.
- Улучшенные подсказки в DOM API и настраиваемые ховер-тултипы.
- Оптимизации, ускоряющие работу с большими проектами.
👉 https://devblogs.microsoft.com/typescript/announcing-typescript-5-9/
Что нового:
- Упрощенный tsc --init с лаконичным tsconfig.json.
- import defer для отложенного выполнения модулей и оптимизации производительности.
- Опция --module node20.
- Улучшенные подсказки в DOM API и настраиваемые ховер-тултипы.
- Оптимизации, ускоряющие работу с большими проектами.
👉 https://devblogs.microsoft.com/typescript/announcing-typescript-5-9/
🔥6👏4👍2
✨ Изучаем Go: руководство для JavaScript-разработчиков
Поскольку TypeScript переписывают на Go — это отличный повод присмотреться к этому языку.
В Go ты столкнешься с компиляцией, статической типизацией, указателями и другими концепциями, которые отличают его от TypeScript. Однако автор подробно объясняет ключевые особенности, сравнивая их с аналогами, что делает переход более понятным.
👉 https://habr.com/ru/companies/timeweb/articles/933118/
Поскольку TypeScript переписывают на Go — это отличный повод присмотреться к этому языку.
В Go ты столкнешься с компиляцией, статической типизацией, указателями и другими концепциями, которые отличают его от TypeScript. Однако автор подробно объясняет ключевые особенности, сравнивая их с аналогами, что делает переход более понятным.
👉 https://habr.com/ru/companies/timeweb/articles/933118/
👍8❤4🤡4😁3
✨ Почему стоит использовать Tagged Unions при разработке на TypeScript
Сталкивались с ситуацией, когда TypeScript не может точно определить тип в объединении A | B? Это приводит к небезопасным проверкам и потенциальным багам.
Tagged Unions (дискриминантное объединение) — добавляет уникальное свойство “тег” в каждый тип, позволяя компилятору безошибочно определять конкретный тип и гарантировать надежность.
👉 https://habr.com/ru/companies/megafon/articles/933752/
Сталкивались с ситуацией, когда TypeScript не может точно определить тип в объединении A | B? Это приводит к небезопасным проверкам и потенциальным багам.
Tagged Unions (дискриминантное объединение) — добавляет уникальное свойство “тег” в каждый тип, позволяя компилятору безошибочно определять конкретный тип и гарантировать надежность.
👉 https://habr.com/ru/companies/megafon/articles/933752/
👍6🔥3👏1
✨ Как ИИ меняет разработку на Angular
В интервью Даниэль Зогль, специалист по ИИ, рассказал, как БЯМ (Большая Языковая Модель) трансформирует работу с Angular.
Он поделился своими мыслями о текущих инструментах, их достоинствах и недостатках. Отметил, что из-за частых обновлений Angular, БЯМ иногда генерирует устаревший код, однако это можно легко решить.
👉 https://www.angulararchitects.io/en/blog/interview-how-ai-is-transforming-angular-development-a-conversation-with-daniel/
В интервью Даниэль Зогль, специалист по ИИ, рассказал, как БЯМ (Большая Языковая Модель) трансформирует работу с Angular.
Он поделился своими мыслями о текущих инструментах, их достоинствах и недостатках. Отметил, что из-за частых обновлений Angular, БЯМ иногда генерирует устаревший код, однако это можно легко решить.
👉 https://www.angulararchitects.io/en/blog/interview-how-ai-is-transforming-angular-development-a-conversation-with-daniel/
💩7❤1👍1🔥1😁1
✨ Что такое инкрементальная гидратация в Angular
Инкрементная гидратация — это продвинутый подход, который позволяет оставлять части приложения дегидратированными и запускать их гидратацию по мере необходимости, улучшая производительность и пользовательский опыт.
Она уменьшает размер начальных бандлов, сокращает First Input Delay (FID) и Cumulative Layout Shift (CLS).
👉 https://habr.com/ru/articles/933794/
Инкрементная гидратация — это продвинутый подход, который позволяет оставлять части приложения дегидратированными и запускать их гидратацию по мере необходимости, улучшая производительность и пользовательский опыт.
Она уменьшает размер начальных бандлов, сокращает First Input Delay (FID) и Cumulative Layout Shift (CLS).
👉 https://habr.com/ru/articles/933794/
🔥8👍4
✨ Angular Signals + RxJS
С появлением сигналов многие разработчики задаются вопросом: пора ли забыть про RxJS? Спойлер — нет! Сигналы и RxJS не конкуренты, а дополняющие друг друга инструменты.
Читай статью, чтобы узнать, как правильно их сочетать и написать свой стейт-менеджер с красивым API.
👉 https://habr.com/ru/articles/935526/
С появлением сигналов многие разработчики задаются вопросом: пора ли забыть про RxJS? Спойлер — нет! Сигналы и RxJS не конкуренты, а дополняющие друг друга инструменты.
Читай статью, чтобы узнать, как правильно их сочетать и написать свой стейт-менеджер с красивым API.
👉 https://habr.com/ru/articles/935526/
❤9🔥3👏2💩2🥱2👎1
✨ История одного бага
Редкие баги, которые воспроизводятся раз в сто попыток — настоящая головная боль. Они появляются в самый неподходящий момент, исчезают при попытке показать коллегам и возвращаются снова, когда код уже попал в продакшн.
Ростислав Терехов рассказал историю о легаси проекте на Angular 11, в котором контент приложения иногда смещался влево за навигационную панель, и поделился подробным расследованием причин этой проблемы.
👉 https://habr.com/ru/articles/935972/
Редкие баги, которые воспроизводятся раз в сто попыток — настоящая головная боль. Они появляются в самый неподходящий момент, исчезают при попытке показать коллегам и возвращаются снова, когда код уже попал в продакшн.
Ростислав Терехов рассказал историю о легаси проекте на Angular 11, в котором контент приложения иногда смещался влево за навигационную панель, и поделился подробным расследованием причин этой проблемы.
👉 https://habr.com/ru/articles/935972/
❤7👍4🔥3
✨ Профессиональная обработка ошибок в TypeScript
Ошибки в приложениях неизбежны, но подход к их обработке кардинально влияет на качество кода.
Традиционный throw/try-catch в языках с непроверяемыми исключениями может скрывать возможные ошибки от сигнатур функций, что усложняет их отслеживание и делает поток выполнения менее очевидным.
Функциональный подход с типами вроде Result<Ok, Error> явно описывает возможные ошибки в типах возврата, что упрощает анализ и обработку ошибок, хотя и может увеличить многословность кода.
👉 https://habr.com/ru/companies/piter/articles/935278/
Ошибки в приложениях неизбежны, но подход к их обработке кардинально влияет на качество кода.
Традиционный throw/try-catch в языках с непроверяемыми исключениями может скрывать возможные ошибки от сигнатур функций, что усложняет их отслеживание и делает поток выполнения менее очевидным.
Функциональный подход с типами вроде Result<Ok, Error> явно описывает возможные ошибки в типах возврата, что упрощает анализ и обработку ошибок, хотя и может увеличить многословность кода.
👉 https://habr.com/ru/companies/piter/articles/935278/
🔥3👏2👍1👎1
✨ Поиск на RxJS и Taiga UI
Когда портал компании растет, одного источника поиска может быть недостаточно.
Антон Марченко поделился опытом создания гибкого поискового компонента, который работает с множественными источниками данных одновременно. Главная фишка — возможность динамически добавлять новые поисковые сервисы через конфиг.
👉 https://habr.com/ru/companies/tbank/articles/936794/
Когда портал компании растет, одного источника поиска может быть недостаточно.
Антон Марченко поделился опытом создания гибкого поискового компонента, который работает с множественными источниками данных одновременно. Главная фишка — возможность динамически добавлять новые поисковые сервисы через конфиг.
👉 https://habr.com/ru/companies/tbank/articles/936794/
👍8💩6🔥2❤1🤡1
✨ Для чего нужны enum в TypeScript
Если вы только начинаете изучать TypeScript, enum — один из базовых инструментов, которые стоит освоить. Он позволяет создать фиксированный набор значений с защитой от случайных изменений на уровне типизации.
Хотя в статье и говорится, что его изменить нельзя, но технически enum можно модифицировать, например, через Object.defineProperty.
👉 https://habr.com/ru/articles/936650/
Если вы только начинаете изучать TypeScript, enum — один из базовых инструментов, которые стоит освоить. Он позволяет создать фиксированный набор значений с защитой от случайных изменений на уровне типизации.
Хотя в статье и говорится, что его изменить нельзя, но технически enum можно модифицировать, например, через Object.defineProperty.
👉 https://habr.com/ru/articles/936650/
👍5✍1👏1👌1🤡1
✨ 5 полезных utility-типов в TypeScript
Часто стандартных возможностей TypeScript не хватает для решения специфических задач.
Статья показывает, как с помощью кастомных utility types можно элегантно решать повседневные проблемы: от управления состоянием асинхронных операций до создания типобезопасных URL.
👉 https://www.angularspace.com/5-typescript-utility-types-you-cant-live-without/
Часто стандартных возможностей TypeScript не хватает для решения специфических задач.
Статья показывает, как с помощью кастомных utility types можно элегантно решать повседневные проблемы: от управления состоянием асинхронных операций до создания типобезопасных URL.
👉 https://www.angularspace.com/5-typescript-utility-types-you-cant-live-without/
👍4👎3🎉2🔥1🤡1
✨ Свой LLM-агент на Typescript с использованием MCP
Помните Джарвиса из "Железного человека"?
Антон Морев мечтал о таком помощнике еще с 2008 года, а теперь показывает, как это реализовать с помощью Model Context Protocol (MCP).
В статье разбирается: создание MCP-сервера, подключение к OpenAI, работа через CLI и Telegram-бота. Есть готовый код на GitHub.
👉 https://habr.com/ru/articles/926548/
Помните Джарвиса из "Железного человека"?
Антон Морев мечтал о таком помощнике еще с 2008 года, а теперь показывает, как это реализовать с помощью Model Context Protocol (MCP).
В статье разбирается: создание MCP-сервера, подключение к OpenAI, работа через CLI и Telegram-бота. Есть готовый код на GitHub.
👉 https://habr.com/ru/articles/926548/
👍8❤3🤡3🔥1
✨Результаты State of CSS 2025
Новые возможности CSS, такие как :has() или cascade layers, уверенно завоевывают место в арсенале разработчиков.
State of CSS 2025 показывает: эти фичи не просто очередные бесполезные новинки, а надежные инструменты для упрощения работы.
Хочешь быть в курсе трендов? Более 5,5 тысяч разработчиков поделились своим мнением о настоящем и будущем CSS.
👉 https://2025.stateofcss.com/
Новые возможности CSS, такие как :has() или cascade layers, уверенно завоевывают место в арсенале разработчиков.
State of CSS 2025 показывает: эти фичи не просто очередные бесполезные новинки, а надежные инструменты для упрощения работы.
Хочешь быть в курсе трендов? Более 5,5 тысяч разработчиков поделились своим мнением о настоящем и будущем CSS.
👉 https://2025.stateofcss.com/
👍6🎉2🔥1
✨ Вышел Angular 20.2.0
Команда Angular выпустила новую версию, которая приносит множество улучшений. Давайте рассмотрим ключевые изменения.
Zoneless становится стабильным
Одно из самых значительных событий этого релиза — Zoneless больше не находится в режиме developer preview.
Новая эра анимаций
Angular представляет новое API для работы с анимациями, которое позволяет создавать их с помощью CSS. В связи с этим, пакет
Маршрутизация
Метод getCurrentNavigation теперь устарел, ему на смену приходит currentNavigation.
Поддержка TypeScript 5.9
Angular идет в ногу со временем и добавляет поддержку последней версии TypeScript.
Прочее
Добавлена поддержка использования as-алиасов в блоках else if, а также целый ряд других улучшений.
👉 https://github.com/angular/angular/releases/tag/20.2.0
Команда Angular выпустила новую версию, которая приносит множество улучшений. Давайте рассмотрим ключевые изменения.
Zoneless становится стабильным
Одно из самых значительных событий этого релиза — Zoneless больше не находится в режиме developer preview.
Новая эра анимаций
Angular представляет новое API для работы с анимациями, которое позволяет создавать их с помощью CSS. В связи с этим, пакет
@angular/animations
объявляется устаревшим и будет полностью удален в будущих версиях.Маршрутизация
Метод getCurrentNavigation теперь устарел, ему на смену приходит currentNavigation.
Поддержка TypeScript 5.9
Angular идет в ногу со временем и добавляет поддержку последней версии TypeScript.
Прочее
Добавлена поддержка использования as-алиасов в блоках else if, а также целый ряд других улучшений.
👉 https://github.com/angular/angular/releases/tag/20.2.0
🔥31👍6🎉2