
Пожалуй, самые неприятные баги – те, что воспроизводятся один раз из ста. Их не пощупать, не продебажить и даже не проверить результат.
Так и тут прилетает мне баг от тестировщика с описанием:

Пожалуй, самые неприятные баги – те, что воспроизводятся один раз из ста. Их не пощупать, не продебажить и даже не проверить результат.
Так и тут прилетает мне баг от тестировщика с описанием:
Signals против RxJS? Нет, вместе — они сила. Теория, практика и готовый state-manager для Angular 17 и выше
Angular долгое время ассоциировался с RxJS. Даже слишком: многие разработчики ощущали, что без Observable ничего не работает. Но вот в Angular 17 появляются Signals — синхронная реактивность прямо из коробки. В 17+ — они становятся мейнстримом. Возникает вопрос: а что делать с RxJS? Выбрасывать?
Signals и RxJS — не конкуренты, а два мощных инструмента для решения разных задач. И если их правильно сочетать, можно построить удобную, масштабируемую и эффективную архитектуру
В этой статье мы:
Если вы когда-либо запускали SSR в Angular, вы наверняка сталкивались с этим парадоксом: страница вроде бы загружается молниеносно, но ощущается медленной. Контент есть, кнопки на месте — а кликаешь по ним, и в ответ тишина. Почему? Потому что браузер всё ещё оживляет интерфейс — запускает JavaScript, подключает обработчики, восстанавливает состояние. Это и есть гидратация, и в классическом исполнении она не так уж и быстра.
Angular давно умеет рендерить страницы на сервере, но только с недавних пор появился реальный контроль над тем, как и когдаЧитать полностью »
Агенты для программирования на базе ИИ — это не мимолётный тренд, а развивающаяся часть современного процесса разработки. Разработчикам становится всё важнее уметь эффективно использовать такие инструменты, чтобы повышать продуктивность и качество своей работы.
Большие языковые модели (LLM) не стоит воспринимать как взаимозаменяемые. Выбор модели существенно влияет на качество работы, которую выполняет агент.
Привет! Хочу с тобой поделиться своим опытом. Долгое время я считал, что нужно стать экспертом, прежде чем начинать кого‑то учить. Типа, сначала освой технологию на 150%, потом уже открывай рот. Классическое мышление перфекциониста, не правда ли?
Пару лет назад ко мне в команду пришёл джун. Классический случай — куча вопросов и Angular знает примерно на уровне «я умею делать кнопочки». В это время подъезжает очередной проект «надо было вчера» на SSR.

Недавно работал над хобби-проектом, который описал в другой своей статьеЧитать полностью »
Речь пойдет конечно же о списках с виртуализацией.
В классическом исполнении, списки включают в себя все элементы из коллекции. Другими словами, те элементы, которые не видны пользователю (находятся за пределами вьюпорта) все равно присутствуют в DOM дереве. А теперь представим, если список состоит допустим из 1 000 000 элементов, как это повлияет на производительность и ресурсоемкось? Ответ очевиден, пропорционально объёму коллекции будет расти ресурсопотребление и снижаться общая производительность.
Всем привет! Сегодня хочу разобрать кейс, с которым сталкивается почти каждый Angular-разработчик на существующем проекте.
Часто в компонентах можно встретить такой код:
public user: User | null = null;
public posts: Post[] | null = null;
public stats: Stats | null = null;
constructor(private readonly apiService: ApiService) {}
public ngOnInit(): void {
this.apiService.getUser().subscribe((user) => this.user = user);
this.apiService.getPosts().subscribe((posts) => this.posts = posts);
this.apiService.getStats().subscribe((stats) => this.stats = stats);
}
Все загрузки данных у нас происходят в ngOnInitЧитать полностью »
Всем привет! 👋 Меня зовут Мансур, я фронтенд-разработчик в payme — в одном из крупнейших финтех-сервисов в Узбекистане, через который ежедневно проходят миллионы транзакций. Помимо основной функции, мы активно развиваем дополнительное направление Lifestyle-сервисов внутри мобильного приложения. В этом посте хочу поделиться практическим опытом внедрения WebView: расскажу, как мы используем его в продуктах payme avia и payme tickets, почему выбрали именно такой подход, какие преимущества он даёт, и с какими ограничениями приходится мириться на практике.
Во фронтенд-разработке довольно быстро возникает вопрос: как всё оформить удобно, красиво и единообразно? Сначала всё кажется очевидным – документация показывает, как создать базовый building block, компонент, а дальше чередуй ими и жонглируй, как душе угодно. Более того, можно сильно сэкономить время, используя готовые UI-библиотеки, в которые уже вложены десятки человеко-часов. Но, по мере поступления всё новых задач, порой встают вопросы, которые в какой-то момент побуждают к написанию своего собственного UI Kit.