Из блога OpenReplay
Создание доступных модальных окон: нативный `<dialog>` или библиотека?
Нативный <dialog> или библиотека для доступных модалок: фокус, inert-фон, ESC, блокировка прокрутки и когда нужны кастомные focus trap.
Повышение качества JavaScript-кода с помощью eslint-plugin-unicorn
eslint-plugin-unicorn для ESLint 10: установка с flat config, пресеты recommended или unopinionated и autofixable-правила для повышения качества JS и TS.
ORM vs Raw SQL: что выбрать?
ORM или raw SQL: сравните безопасность, скорость и контроль, узнайте, почему N+1 бьет сильнее абстракции, и выберите нужный инструмент для каждого запроса.
Запуск агентов программирования в режиме YOLO без уничтожения вашего ноутбука
Режим YOLO для кодовых агентов требует слоевой изоляции: devcontainers, microVM, контроль egress и безопасные git-процессы.
Цикл событий, рабочие потоки и конкурентность в Node.js
Цикл событий Node.js, пул потоков libuv, worker threads и cluster: ясное объяснение конкуренции I/O и CPU-нагрузки.
Миграция React-приложения с Axios на Fetch
Мигрируйте React‑приложение с Axios на fetch через безопасную обертку, обработку ошибок, таймауты и готовый клиент без регрессий.
Создание переиспользуемых элементов управления форм с помощью Web Components
Создайте переиспользуемый элемент формы с Web Components и ElementInternals. Добавьте нативные отправку, валидацию, метки, сброс и восстановление.
Выбор стратегии аутентификации для нового веб-приложения
Выберите аутентификацию для веб‑приложения в 2026: сессии или JWT, OAuth 2.0/OIDC, passkeys и managed providers, с учетом revocation, CSRF и UX.
Упаковка и распространение Electron-приложений
Гид по Electron Forge и electron-builder: упаковка, кодовая подпись, notarization, автообновления и релизы GitHub для macOS, Windows и Linux.
Как на самом деле работают LLM
Как работают LLM: токены, эмбеддинги, внимание трансформера, обучение, сэмплинг, температура, галлюцинации и почему ChatGPT ошибается.
Паттерны пагинации для современных API
Сравните пагинацию offset, cursor, keyset, page tokens и Relay GraphQL с примерами TypeScript и SQL для современных API.
Настройка удалённого сервера для агентного программирования
Настройте Claude Code на удалённой машине с Tailscale, tmux, mosh и systemd, а также SSH-ключи, секреты и приватный доступ.
Руководство разработчика по tmux в эпоху ИИ
tmux для AI-агентов: сессии, панели, минимальный конфиг, tmux-resurrect и когда tmux лучше Zellij или Warp для SSH-сценариев.
Аутентификация WebSocket: подробное руководство
Методы аутентификации WebSocket: токен в URL, cookies, подпротоколы и первое сообщение, а также обновление токена и проверка прав на каждый запрос.
JPEG XL vs AVIF: Какой формат выбрать для продакшена?
JPEG XL vs AVIF для веб-доставки в 2026: сравните сжатие, поддержку браузеров, цену кодирования и когда выбирать AVIF или JXL.
Библиотеки, лежащие в основе современных React-приложений
Современный стек React на 2026: Next.js, TanStack Query, Zustand, Tailwind v4, shadcn/ui, React Hook Form, Motion и выборы с учетом RSC.
Полевое руководство по экосистеме TanStack
Гид по экосистеме TanStack: Query, Router, Table, Form, Virtual, Store, Start, DB и AI, их зрелость, сценарии и связь между собой.
Управление фокусом и интерактивностью с помощью атрибута Inert
Используйте атрибут inert, чтобы изолировать модальные окна, панели и оверлеи загрузки, блокируя фокус, клики и доступ к дереву доступности.
Современная работа с файлами в Node.js
Современная работа с файлами в Node.js: fs/promises, потоки, file handles, коды ошибок, параллельность и защита от path traversal.
Обнаружение UI-багов с помощью визуального регрессионного тестирования
Визуальное регрессионное тестирование в Playwright и Vitest находит UI-ошибки, которые пропускают unit и E2E-тесты, с советами по baseline, flakiness и CI.
Почему не стоит валидировать email-адреса с помощью регулярных выражений
Почему regex для email подводит: он отклоняет валидные адреса, принимает недоставляемые и может вызвать ReDoS. Лучше использовать HTML5 email input или библиотеку.
Управление состоянием в Svelte 5 с помощью Runes
Управление состоянием в Svelte 5 с рунами: $state, $derived и $effect, общий state между компонентами и защита от SSR-утечек в SvelteKit.
Авторизация на стороне клиента и на стороне сервера: почему необходимы оба подхода
Авторизация на клиенте и сервере в React и Next.js: проверяйте права на сервере, используйте клиент для UX и избегайте 403 из-за рассинхрона.
Как создать CRUD API с AdonisJS
Создайте CRUD API на AdonisJS v7: маршруты posts, модели Lucid, валидация VineJS и JSON-ответы, проверенные через curl.