Из блога OpenReplay
Синхронизация вкладок браузера с помощью BroadcastChannel
BroadcastChannel синхронизирует вкладки в реальном времени через structured clone, с очисткой, fallback и шаблонами для auth, корзины и темы.
Получение данных в React Server Components
Получайте данные в React Server Components через async-функции, разберитесь в кэше Next.js 15/16 и избегайте waterfall с Promise.all.
Использование текстовых экспандеров для Git, PR и AI-промптов
Сниппеты Espanso для Git, PR и AI-промптов: используйте shell, буфер обмена и курсор для контекстных расширений текста.
Как анимировать display: none без JavaScript-хаков
Анимируйте display none на CSS с allow-discrete и @starting-style, а также обработку overlay для dialog и popover и поддержку браузеров.
Практическое руководство по оператору `satisfies` в TypeScript
Пояснение оператора TypeScript satisfies: примеры конфигов, узкий вывод типов и когда использовать его вместо as или аннотации через двоеточие.
JSPI: Лучший мост между JavaScript и Wasm
JSPI связывает JavaScript и WebAssembly, чтобы синхронный Wasm вызывал API на Promise, такие как fetch, с Suspending, promising и статусом браузеров.
Не давайте Mac засыпать во время ночных задач с помощью caffeinate
Используйте caffeinate на Mac, чтобы не дать уснуть Claude Code, Codex или сборкам ночью, проверить assertions через pmset и учесть лимит закрытой крышки.
5 советов по Obsidian для более эффективного ведения заметок
Пять советов Obsidian для заметок: MOC, Dataview, Bases, Canvas, Mermaid, панели обзора и синхронизация vault через Git.
Интеграционные тесты vs сквозные тесты
Интеграционные и end-to-end тесты для веб-приложений: четкие определения, JS-инструменты и когда использовать Vitest, MSW, Playwright или Cypress.
Как JavaScript наконец научился убирать за собой
Явное управление ресурсами JavaScript с using, await using, DisposableStack и SuppressedError для детерминированной очистки файлов, блокировок, сокетов и подключений.
Распространённые ошибки при проектировании реляционных баз данных
Избегайте частых ошибок проектирования реляционных БД в Postgres и MySQL: ограничения, ключи, индексы и корректное хранение времени.
Работа с часовыми поясами в JavaScript без потери рассудка
Работайте с часовые пояса в JavaScript через UTC-инстанты, IANA-идентификаторы, Intl.DateTimeFormat, Temporal и правила для DST без ошибок.
Конец двойных сборок CJS/ESM в Node.js
Node.js теперь поддерживает require(esm), и ESM-only стал вариантом по умолчанию для многих библиотек. Когда отказаться от CJS, избежать top-level await и мигрировать безопасно.
Лучшие практики TypeScript для крупных проектов
Практики TypeScript для крупных проектов: strict, noUncheckedIndexedAccess, exactOptionalPropertyTypes, генерация типов, runtime-валидация и CI-контроль.
Использование встроенного Redis-клиента Bun
Руководство по встроенному Redis-клиенту Bun: подключение, типизированные команды, Pub/Sub, авто-пайплайнинг, rate limiting и когда нужен ioredis.
Когда использовать CSS `if()` и контейнерные стилевые запросы
Сравните CSS if() и container style queries: когда применять каждый подход, ловушки синтаксиса, range syntax и поддержку браузеров в 2026.
Как создать REST API с помощью Fastify
Создайте REST API на Fastify v5 с Prisma, валидацией JSON Schema, плагинами, декораторами, хуками и типизацией TypeBox для CRUD posts.
Когда компонентная библиотека не нужна
Почему utility CSS и headless primitives часто лучше полных component libraries в 2026, с чеклистом для выбора.
10 вопросов с JavaScript-собеседований и что они на самом деле проверяют
10 вопросов JS-собеседования с разборами hoisting, замыканий, this, цикла событий и приведения типов: вывод и что они проверяют.
Оптимизация производительности WordPress: Практическое руководство
Расставьте приоритеты в ускорении WordPress: хостинг и кеш, оптимизация изображений, дисциплина плагинов, сжатие CDN и полевые данные.
Офлайн-отправка форм с помощью Background Sync
Ставьте отправку форм в очередь в IndexedDB, воспроизводите ее через Background Sync и online-резерв, и предотвращайте дубли заказов с Idempotency-Key.
5 репозиториев GitHub, которые стоит добавить в избранное прямо сейчас
Пять репозиториев GitHub для JavaScript и TypeScript: Biome, ast-grep, Zod, Tauri и Ollama для линтинга, codemods, валидации, десктопа и локального ИИ.
Создание доступных модальных окон: нативный `<dialog>` или библиотека?
Нативный <dialog> или библиотека для доступных модалок: фокус, inert-фон, ESC, блокировка прокрутки и когда нужны кастомные focus trap.
Повышение качества JavaScript-кода с помощью eslint-plugin-unicorn
eslint-plugin-unicorn для ESLint 10: установка с flat config, пресеты recommended или unopinionated и autofixable-правила для повышения качества JS и TS.