Как не списать дважды за одну кнопку
Между нажатием кнопки и результатом у нас проходит от трёх до шестидесяти секунд: очередь, воркер, внешний API, иногда таймаут. А снаружи — пользова…
Tech news from the best sources
Между нажатием кнопки и результатом у нас проходит от трёх до шестидесяти секунд: очередь, воркер, внешний API, иногда таймаут. А снаружи — пользова…
Агент один раз сверил прайс-лист и собрал отчёт. Через неделю пришёл новый файл, и задачу нужно повторить. На повторном запуске агент снова планируе…
В Казахстане продажа через Telegram часто выглядит так: «переведите на Kaspi», скриншот, ручной поиск платежа в приложении. Медленно, не работает но…
AI за вечер собирает интерфейс, backend и рабочий сценарий — и демо проходит. Проблемы начинаются к пятому релизу: новый провайдер требует правок в…
Клиент оплатил доступ на сутки в 01:00, а первый ответ получил в 10:00. Если срок отсчитывается от оплаты, на переписку осталось 15 часов. Разбираю,…
Платёжный сервис прошёл ревью, тесты зелёные, в базе один успешный платёж — а с карты списали деньги дважды. Причём в двух…
Ты не владеешь источником — значит, не владеешь временем. Как поллер по updated_at молча теряет строки, почему exactly-once это свойство твоей запис…
Получатель записал заказ в базу, но соединение оборвалось до того, как отправитель получил ответ. Повторить вебхук — рискнуть вторым заказом, не пов…
Через год после закрытия проекта я открыл его код и устроил себе code review. Это был автомобильный маркетплейс объявлений, который я в од…
Рейт-лимит — это не ограничение скорости. Это бюджет, и тратишь его не ты один. Разбор на Telegram Bot API, Redis и одном наивном планировщике 2023…
Каждое нажатие кнопки в телеграм-боте — это HTTP-запрос от Telegram к вам. Около трёхсот тысяч человек в месяц, у каждого в сессии десятки нажатий,…
В интеграциях корпоративных систем часто спорят не о том, как связать системы , а о том, чем именно их связать : REST API, webhook или брокером сооб…
В феврале я написал три текста о том, что статусы не показывают процесс и что юридический сервис без событийной модели не масштабируется. В августе…
Разбираем интеграцию интернет-магазина с МойСкладом на собственном движке, Next.js и PostgreSQL, после переезда с InSales. Если ваш магазин живёт в…
Пользователь нажал кнопку, сеть пропала, а браузер не знает, дошёл ли запрос до сервера. Повторите запрос — можно получить дубль. Не повторяйте — по…
В первом приложении мне было легко понять, чем заняться дальше. Всегда находилась ещё одна функция, которую можно добавить: новый экран, а…
11 недель назад я начал делать социальную сеть, в которой гражданство зависело только от имени. Если тебя зовут Егор, Георгий или одной из форм имен…
Разбираю находку из технического аудита сервиса аренды авто: вебхук /payments/webhook/yukassa помечал бронь оплаченной по одному полю из тела запрос…
В статье разберём, почему timeout не позволяет однозначно определить результат бизнес‑операции и как безопасно обрабатывать такие сит…
Пользователь нажал кнопку оплаты один раз, но деньги списались дважды — такой сценарий возникает не из‑за редкой ошибки, а из‑за…
В нашем сервисе появились обращения, которые не складывались в картину: человек запрашивает сброс пароля, получает письмо, нажимает на ссылку и види…
У Telegram-бота может быть только один активный webhook. У меня при этом появились три независимых сценария: поддержка пользователей, управление неб…
04.09 в 09:06:45 UTC ночной опрос Fleet нашёл одного «нового» курьера. Дальше автоматика отработала без единой ошибки: new_ids: 1 , dispatch_alerted…
В Bot API 10.2 появилось отдельное событие для изменений в регулярной подписке — Update.subscription . Сразу уточню область применения: речь идёт о…
Что происходит с процессом, который исполняется по правилам без постоянного участия человека, и что должно быть записано в момент решения, чтобы спу…
Первый файл, который я получил при переезде своего магазина с InSales, парсер прочитал как одну длинную строку мусора. Выгрузка заказ…
Всё, что ниже — из живого пет-проекта: бот начисляет участникам голосовых каналов баллы лояльности (LP), а на эти баллы люди устраивают пари в стиле…
Строка из документации n8n про возобновление с места остановки читается как гарантия перезапуска с точки сбоя. Проверка привела в ветку форума 2021…
В первой части мы разобрали, почему Aeza ушла со сторонней платформы и как AVM устроен в общих чертах. Здесь уровень ниже: путь запроса от вызова до…
Telegram показал Rich Messages с интерактивными кнопками на примере шахмат. Я захотел проверить подход на более насыщенном сценарии и…