Из блога OpenReplay
Корректное завершение работы Node-сервера
Грамотное завершение Node при SIGTERM: обработайте readiness, дождитесь server.close, закройте ресурсы по порядку и избегайте 502 при rollout.
OpenCode vs Claude Code: что выбрать
OpenCode vs Claude Code: сравните цены, поддержку моделей, расширяемость и выберите инструмент для своего рабочего процесса кодинга.
Исправление старых коммитов с помощью git history
git history в Git 2.55 переписывает старые коммиты через fixup, reword или split, обновляет stacked branches и показывает безопасный dry-run.
Является ли OpenTUI реальной альтернативой Ink?
OpenTUI против Ink: сравните скорость TUI, ограничения рантайма, встроенные компоненты и затраты на миграцию для потоковых CLI и дашбордов.
Устранение состояний гонки при обновлении токена с помощью Web Locks API
Исправьте гонки обновления токена между вкладками с Web Locks API, navigator.locks.request и повторной проверкой токена.
Запуск SQLite в браузере с OPFS
Используйте SQLite в браузере с OPFS: настройте Worker, выберите opfs или opfs-sahpool и не допускайте тихого перехода в память.
Управление веб-компонентами без JavaScript
Используйте пользовательские команды invoker, чтобы управлять web components только через HTML. command и commandfor связывают кнопки с элементом без JavaScript.
Как исправить ошибки Cannot GET после деплоя SPA
Исправьте ошибки Cannot GET и 404 у SPA после деплоя с помощью server rewrites для Nginx, Apache, Netlify, Vercel и S3 CloudFront.
Отказ от Jest в пользу встроенного средства запуска тестов Node
Node test runner против Jest: стабильные функции, watch mode, snapshots, fake timers, coverage, поддержка TypeScript и ограничения миграции.
Как избавиться от переносов заголовков в неправильных местах
Исправьте разрывы заголовков и длинные URL с нужными CSS и HTML: nbsp, wbr, overflow-wrap:anywhere, word-break:break-all, hyphens:auto, text-wrap.
Создаём приложение-викторину на конечном автомате
Создайте quiz-приложение с XState v5 в React. Опишите четыре экрана как state machine, замените boolean flags и защитите финальное состояние.
Идемпотентность простыми словами и что она значит для вашего API
Ключи идемпотентности: как избежать дублирующих API-запросов, гонок и безопасно повторять POST через атомарный захват и транзакции.
Устранение ошибки «window is not defined» в приложениях с серверным рендерингом
Исправьте window is not defined в серверно-рендеренных приложениях с помощью on-mount hooks, проверок typeof window и client-only imports.
Объяснение prompt injection для веб-разработчиков
Prompt injection для веб-разработчиков: почему нет исправления на уровне промпта и как ограничить косвенные атаки, ненадежный вывод и риски инструментов.
Первый взгляд на Gea — UI-фреймворк, построенный вокруг компилятора
Gea — компилятор-ориентированный JavaScript UI framework с JSX, классами store и прямыми DOM-исправлениями. Статья разбирает props, размеры и зрелость.
Разработка плагина WordPress с нуля
Соберите плагин WordPress с нуля: хуки, активация и деактивация, страница настроек, санитизация, экранирование и безопасное сохранение.
Как исправить ошибку Invalid Hook Call в React
Исправьте ошибку invalid hook call в React, проверив стек, Rules of Hooks, дубликаты React и несоответствие версий react-dom.
Использование Git Worktrees с ИИ-агентами для написания кода
Используйте git worktrees с ИИ-агентами, чтобы изолировать ветки, избежать конфликтов файлов и безопасно управлять портами, БД и слияниями.
Git Worktrees: что это, когда и зачем их использовать
Git worktree: чем они отличаются от stash и вторых клонов, когда их использовать и какие команды нужны для управления ими.
3 альтернативы SSH для нестабильных соединений
Сравните Mosh, Eternal Terminal и autossh для нестабильных SSH-соединений: UDP, TCP-переподключение, требования к серверу и связку с tmux.
Как считать токены и оценивать стоимость API LLM
Точно считайте токены LLM и оценивайте стоимость API с токенизаторами OpenAI, Claude, Gemini и Llama, а также лимиты контекста и биллинг.
Что нового в ECMAScript 2026
ES2026 добавляет семь функций JavaScript: Array.fromAsync, Math.sumPrecise, base64 и hex для Uint8Array, доступ к исходному тексту в JSON.parse и getOrInsert.
Как проверять цветовой контраст по WCAG
Проверьте контраст WCAG для текста, UI-компонентов, индикаторов фокуса и ссылок с нужными инструментами, порогами и исправлениями.
Как создавать миниатюры изображений перед загрузкой
Создавайте миниатюры перед загрузкой: превью FileReader, уменьшение в Canvas toBlob, отправка FormData и совпадение полей multer.