RU

Закрыл вкладку — ушёл, обновил страницу — остался: присутствие в комнате на WebSocket

Когда человек закрыл вкладку, обновил страницу или потерял сеть, сервер получает один и тот же SessionDisconnectEvent , а реагировать должен по-разн…

websocketstompspring bootrabbitmqmongodbangularzone.jspresenceplanning pokerplaywright
Habr
RU

Что внутри ИИ-ассистента BILLmanager: LLM, SSE через POST и инкрементальный Markdown

Всем привет! Меня зовут Денис, я фронтенд-разработчик в ISPsystem. В этой статье расскажу, как мы разработали и встроили модуль ИИ-ассистента в BILL…

aiииfrontendangularssenestjsии чат-ботии помощникразработкаllm
Habr
RU

Кризис идентичности, или как Vue-разработчик мигрировал enterprise-проект на Angular 18

Всем привет! Меня зовут Павел Барсуков, я frontend-разработчик в компании «Программный Продукт». Основной мой стек – Vue, Nuxt и все рядом лежащее.…

миграцияangularангулартайпскриптджаваскриптjavascripttypescriptjstsmigration
Habr
RU

withComponentInputBinding: уменьшаем связанность, инвертируем зависимости

В Angular проектах часто можно увидеть использование routed-компонентов, выполняющих оркестрирующую роль для своего роута. Они инжектят ActivatedRou…

withcomponentinputbindingrouterangularresolverсвязанностьdependency inversioncoupling
Habr
RU

[Перевод] Как связать дизайн-токены Figma с кодом — Часть 1

Дизайн-токены — источник истины для визуальных свойств вашей дизайн-системы: цвета, типографика, отступы и так далее. Вместо того чтобы задавать осн…

cssbootstrapдизайн-системафронтенд-разработкаui библиотекаangularscss
Habr
RU

Как мы превратили API-контракт в отдельный артефакт и сократили генерацию клиента с 15 минут до нескольких секунд

Привет! Я Дмитрий, старший Angular-разработчик в команде Klecks — платформы для разметки данных AI-Центра Т-Банка. Последние годы мы жили с NSwag: о…

openapi generatoropenapicode generationapi contractnswagtypescriptangularasp.net core
Habr
RU

Как я собрал на одном Angular коде: личный кабинет для сайта, Telegram Mini App, iOS и Android

Я Angular-разработчик и один пишу фронтенд своего сервиса "НеБалкон". Сначала был только сайт, но довольно быстро понадоблись личный…

angulartelegramtelegram mini appприложениеnxcapacitorмонорепоmvpархитектура
Habr
RU

Единственный нормальный детектор копипасты требовал JVM. Поэтому я написал свой

Копипаста редко выглядит как копипаста. После переименования переменных, строк и чисел два одинаковых блока спокойно проходят ревью как разный код.…

typescriptjavascriptangularvuesveltereactpmdкопипастадублирование кода
Habr
RU

Как я перешёл с React на Angular и не пожалел

Когда я говорю, что перешёл с React на Angular, на меня смотрят примерно так же, как если бы я сказал, что добровольно переехал из Амстердама куда-н…

angularreactфронтендTypeScriptRxJSnxоопархитектура фронтендасравнение фреймворковличный опыт
Habr
RU

Reactive Forms vs Signal Forms: Эволюция сложных форм в Angular

Признаюсь честно что моя первая реакция на анонс Signal Forms, была: «О, нет, только не ещё один способ делать формы». Потому что у нас уже были Tem…

angularsignalsreactivereactive programmingreactive extensionsrxjsformsfrontendfrontend-разработкаfrontend разработка
Habr