kodnado.ru/articles

Статьи

Короткие разборы по сайтам, ботам, скриптам, серверу и автоматизации. Без академичности: только то, что помогает быстрее понять задачу и принять решение.

799 материаловРазборы по сайтам, ботам, API, серверам и автоматизации

Serverless функция запускается дважды на одно событие: как сделать обработку безопасной

Cloud Function, Lambda или serverless handler выполняется дважды на одно событие. Проверяем retries, at-least-once delivery, idempotency, очереди и webhook.

serverless, Lambda, Cloud Functions, idempotency, webhook Читать статью →

Данные формы пропадают при переходе назад: как сохранить состояние в React или Vue

Пользователь заполнил форму, перешел дальше и потерял данные при возврате назад. Проверяем state, router, cache, localStorage, form library и lifecycle.

форма, React, Vue, SPA, state management Читать статью →

После обновления базы знаний бот использует старые данные: как исправить RAG

AI-бот продолжает отвечать по старым документам после обновления базы знаний. Проверяем индекс, чанки, кеш, embeddings, версию источников и retrieval.

RAG, база знаний, AI-бот, embeddings, поиск Читать статью →

Штрихкод не сканируется с напечатанной этикетки: как найти причину

Сканер не читает штрихкод после печати этикетки. Проверяем формат, DPI, размеры, контраст, quiet zone, принтер, масштабирование и генератор.

штрихкод, этикетки, принтер, сканер, QR Читать статью →

Распознавание паспорта путает серию и номер: как улучшить OCR и проверку полей

OCR паспорта неправильно разделяет серию и номер. Что проверить в качестве изображения, шаблоне документа, regex, постобработке и ручной валидации.

OCR, паспорт, распознавание документов, валидация, данные Читать статью →

Broker не сохраняет retained сообщение: что проверить в MQTT

MQTT broker не сохраняет retained message, новый подписчик не получает последнее значение. Проверяем retain flag, QoS, ACL, persistence, clean session и topic.

MQTT, retained message, broker, IoT, телеметрия Читать статью →

Кнопки бота отображаются по-разному на телефонах: как сделать интерфейс стабильнее

Кнопки бота в Viber, MAX или другом мессенджере выглядят по-разному на iPhone и Android. Проверяем тип клавиатуры, длину текста, layout, версии клиента и fallback.

бот, кнопки бота, мессенджеры, Viber, MAX, UX Читать статью →

После обновления macOS программа потеряла доступ к файлам: что проверить

После обновления macOS приложение не видит документы, папки или диск. Проверяем Permissions, Full Disk Access, sandbox, file bookmarks и путь к файлам.

macOS, desktop приложение, доступ к файлам, permissions, sandbox Читать статью →

Видео урок считается просмотренным без просмотра: как исправить прогресс в LMS

LMS отмечает видеоурок просмотренным, хотя ученик его не смотрел. Проверяем события плеера, прогресс, перемотку, вкладки, backend и защиту от ложных отметок.

LMS, видео урок, прогресс обучения, плеер, онлайн-курс Читать статью →

Protobuf изменение сломало старые сервисы: как восстановить совместимость

После изменения .proto старые gRPC-сервисы или клиенты перестали работать. Что проверить в field numbers, optional/required, enum, генерации кода и версии контрактов.

protobuf, gRPC, контракты API, микросервисы, совместимость Читать статью →

GraphQL позволяет запросить слишком много данных: как ограничить тяжелые запросы

GraphQL API дает клиенту запросить огромные вложенные данные и перегружает backend. Что проверить в depth limit, complexity, pagination, N+1 и rate limit.

GraphQL, API, безопасность, производительность, backend Читать статью →

onEdit срабатывает несколько раз: как исправить Google Apps Script

Триггер onEdit в Google Sheets запускается несколько раз, дублирует строки или отправляет письма повторно. Проверяем триггеры, условия, LockService и идемпотентность.

Google Apps Script, onEdit, Google Sheets, автоматизация, триггеры Читать статью →