Представим обычный интернет‑магазин. Пользователь открывает каталог, вводит «наушники» в поиск, включает фильтр наличия, задаёт цену до 10 000 рублей, открывает карточку и добавляет товар в корзину. Шесть вполне понятных действий. Если их выполняет человек, всё хорошо. Если за дело берётся AI‑агент, начинается небольшой квест: прочитать страницу, найти поле, угадать назначение переключателя, нажать кнопку, проверить результат и не купить случайно кофеварку вместо наушников.А что, если сайт сам …
Мы делаем карту загруженности московских парковок — parkout.ru. Раз в полчаса собираем данные по 210 муниципальным парковкам, показываем теплокарту и прогноз.Подложка у нас была растровая, от Esri. И она была мыльная. На максимальном зуме вместо домов — кашица из пикселей, подписи не читаются. Стали разбираться: оказалось, что тайлы z17 и z18 приходят одинаковыми — байт в байт, 2521 байт каждый. Это заглушка. Выше z16 у этого слоя данных просто нет, а сервер вместо 404 отдаёт растянутую картинк…
NB. Это дневник почти двух месяцев разработки. Здесь будет много кода, неудачных экспериментов, технических решений и анимированных примеров. Одно изменение постоянно тянуло за собой другое, поэтому получилось длинно. Для удобства разбил историю на главы — можно переходить сразу к интересующим задачам.Приятного чтения!ОглавлениеВступление Мельтешение рта или как я переделал артикуляцию Ручной фон слишком долго делать или зачем мне понадобились генераторы Правка сценария затирала весь проект или…
Эта статья — перевод оригинальной статьи «React 19.3».Также я веду телеграм канал «Frontend по‑флотски», где рассказываю про интересные вещи из мира разработки интерфейсов и AI.Новые возможности ReactView TransitionsНовый компонент <ViewTransition> позволяет анимировать элементы интерфейса при их появлении, исчезновении, перемещении или изменении размера с помощью браузерного View Transition API.В прошлом году мы представили его как экспериментальный API, а в React 19.3 он получил стабиль…
Хочу рассказать о своей npm‑библиотеке — это мой второй и самый сложный npm‑проект на момент написания статьи. Глубоко в код погружаться не буду — поделюсь историей создания и мотивацией.ВступлениеПримерно в 2015 году я получил свою первую работу UI/UX‑дизайнером. Рисовал интерфейсы мобильных и десктопных приложений в популярном тогда Sketch, на выделенном мне Mac, и был этому искренне рад. Шло всё неплохо: я соблюдал гайдлайны iOS и Android, а когда идея приложения во мне откликалась, старался…
Я один пишу расширение Chrome, которое показывает субтитры с переводом поверх созвона в Meet, Zoom или Teams, открытых во вкладке браузера. В звонок при этом никто не заходит, звук берётся из вкладки. Ниже три вещи, на которых ушло больше всего времени. Цифры на 17 сентября 2026.Звук вкладки в Manifest V3В MV3 фон расширения это service worker, а в нём нет ни Web Audio, ни getUserMedia. Поэтому service worker получает не поток, а только идентификатор, и создаёт offscreen-документ (reasons: […
Действие сохраняется в очереди при обрыве сети, а сервер отсекает повторУ меня планировщик для школьников. Заходят в него в основном с телефона: из школы, где вайфай один на четыре этажа, и из метро по дороге домой.Ломается это так. Человек жмёт кружок «готово» — кружок не закрашивается. Ошибки нет, спиннера нет, вообще ничего. Он жмёт ещё раз, убирает телефон в карман, а вечером видит задачу невыполненной. Если не повезло — видит две одинаковые.Речь не про офлайн-приложение: это отдельная боль…
Меня зовут Виктория Добролежа, как фронтенд-разработчик в «Аэродиск», я создаю интерфейсы для систем хранения данных (далее СХД). В этой статье расскажу, как мы с командой разработали сложную форму, с помощью которой наши пользователи создают дисковые группы, и поделюсь опытом как, имея три разных сценария, мы избежали дублирования состояния и хаоса в обработчиках. В чем суть формы В СХД есть сущности – дисковые группы RDG, DDP и DDP2. Именно их пользователю необходимо создать с помощью нашей …
Недавно в BotFather у меня появилось сообщение о раннем доступе к Telegram Serverless. Решил посмотреть, что это такое и насколько реально теперь запустить Telegram‑бота вообще без своего VPS.Если совсем коротко — Telegram сделал собственную serverless‑среду специально для ботов. Код и базу можно держать прямо на инфраструктуре Telegram, а отдельный сервер для простого бота больше не обязателен.Пока всё это находится в early access, поэтому некоторые вещи ещё наверняка будут меняться.Что появил…