Из блога OpenReplay
Руководство разработчика по 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.
Практическое руководство по новым методам Set в JavaScript
Новые методы Set в JavaScript: union, intersection, difference, symmetricDifference и проверки подмножества, плюс поддержка Map и браузеров.
Теговые шаблонные литералы: создание мини-DSL на JavaScript
Tagged template literals в JavaScript: cooked и raw строки, кеш WeakMap, безопасный HTML, SQL и примеры мини DSL.
LLM Harnesses: Почему обёртка важнее модели
На успех агента влияют не только модели, но и LLM-harness. Оркестрация, инструменты, контекст и проверка.
Обработка видео в реальном времени с помощью WebCodecs API
Обработка видео WebCodecs с MediaStreamTrackProcessor, TransformStream и VideoTrackGenerator, плюс close кадров, backpressure, worker и поддержка браузеров.
5 вещей, для которых вам не нужен React
Пять нативных API браузера заменяют частые React-компоненты: dialog, Popover, Custom Elements, container queries и View Transitions.
Как Dockerize-ировать приложение на Bun
Соберите Bun-приложение в Docker: production-Dockerfile, .dockerignore, привязка 0.0.0.0, healthchecks, Compose и graceful SIGTERM.
Используют ли кто-то ещё полифилы в 2026 году?
Polyfills в 2026? Проверьте core-js, Browserslist и Babel, уберите лишнее, оставьте Temporal и откажитесь от polyfill.io.
Понимание `infer` в TypeScript
infer в TypeScript: как условные типы извлекают типы возврата, элементы массивов, кортежи, шаблонные литералы и Awaited.
Интересные возможности Web Serial API
Примеры Web Serial API для мониторов, прошивальщиков, потоков G-code, телеметрических панелей, дисплейных контроллеров и интерфейсов настройки.
Как создать загружаемый файл в браузере
Создавайте загрузки в браузере с Blob, object URL и ссылками download, а также исправляйте cross-origin файлы, BOM в CSV, iOS Safari и потоковую выгрузку.
Работа с типизированными CSS-переменными с помощью @property
Типизированные CSS-переменные с @property: валидируйте custom properties, плавно анимируйте значения и разберитесь в тихом fallback, синтаксисе и поддержке.
Исследуем Ladybird: браузерный проект без Chromium
Ladybird — браузерный движок без Chromium, созданный с нуля: архитектура, миграция на Rust, прогресс WPT и план альфа-версии 2026.