Рубрика «angular»

Фронтенд-разработка в последние годы стала сложнее. Одностраничные приложения живут часами, пользователи открывают вкладки и оставляют их работать, данные приходят с серверов постоянно. В этом хаосе часто кажется, что главное - чтобы компонент рендерился, а Observable выдавал данные.

Но даже в самом аккуратном коде могут появляться утечки памяти. Утечка памяти возникает, когда объекты, которые больше не нужны, остаются в памяти, потому что на них ещё есть ссылки. Для браузера они живы, сборщик мусора их не трогает.

Для Angular-разработчика это важно, потому что:

  1. Читать полностью »

История одного бага - 1

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

Так и тут прилетает мне баг от тестировщика с описанием:

Читать полностью »

Signals против RxJS? Нет, вместе — они сила. Теория, практика и готовый state-manager для Angular 17 и выше

Введение

Angular долгое время ассоциировался с RxJS. Даже слишком: многие разработчики ощущали, что без Observable ничего не работает. Но вот в Angular 17 появляются Signals — синхронная реактивность прямо из коробки. В 17+ — они становятся мейнстримом. Возникает вопрос: а что делать с RxJS? Выбрасывать?

Signals и RxJS — не конкуренты, а два мощных инструмента для решения разных задач. И если их правильно сочетать, можно построить удобную, масштабируемую и эффективную архитектуру

В этой статье мы:

Если вы когда-либо запускали SSR в Angular, вы наверняка сталкивались с этим парадоксом: страница вроде бы загружается молниеносно, но ощущается медленной. Контент есть, кнопки на месте — а кликаешь по ним, и в ответ тишина. Почему? Потому что браузер всё ещё оживляет интерфейс — запускает JavaScript, подключает обработчики, восстанавливает состояние. Это и есть гидратация, и в классическом исполнении она не так уж и быстра.

Angular давно умеет рендерить страницы на сервере, но только с недавних пор появился реальный контроль над тем, как и когдаЧитать полностью »

Скрытый текст

Агенты для программирования на базе ИИ — это не мимолётный тренд, а развивающаяся часть современного процесса разработки. Разработчикам становится всё важнее уметь эффективно использовать такие инструменты, чтобы повышать продуктивность и качество своей работы.

Большие языковые модели (LLM) не стоит воспринимать как взаимозаменяемые. Выбор модели существенно влияет на качество работы, которую выполняет агент.

Читать полностью »

Привет! Хочу с тобой поделиться своим опытом. Долгое время я считал, что нужно стать экспертом, прежде чем начинать кого‑то учить. Типа, сначала освой технологию на 150%, потом уже открывай рот. Классическое мышление перфекциониста, не правда ли?

Как всё началось

Пару лет назад ко мне в команду пришёл джун. Классический случай — куча вопросов и Angular знает примерно на уровне «я умею делать кнопочки». В это время подъезжает очередной проект «надо было вчера» на SSR.

Читать полностью »

От React всё так же веет безумием, но все об этом молчат - 1

Недавно работал над хобби-проектом, который описал в другой своей статьеЧитать полностью »

Речь пойдет конечно же о списках с виртуализацией.

Немного теории

В классическом исполнении, списки включают в себя все элементы из коллекции. Другими словами, те элементы, которые не видны пользователю (находятся за пределами вьюпорта) все равно присутствуют в DOM дереве. А теперь представим, если список состоит допустим из 1 000 000 элементов, как это повлияет на производительность и ресурсоемкось? Ответ очевиден, пропорционально объёму коллекции будет расти ресурсопотребление и снижаться общая производительность.

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js