Из блога OpenReplay
Как отлаживать ошибки CORS в браузере
Отлаживайте ошибки CORS в браузере с DevTools, сообщениями консоли и проверкой preflight OPTIONS. Быстро находите mixed content, TLS и проблемы с credentials.
Добавьте WebGPU-эффекты в ваш UI с помощью Shaders.com
Shaders.com добавляет эффекты WebGPU в React, Vue, Svelte и Solid: 90+ компонуемых пресетов, визуальный редактор и fallback для браузеров.
Типобезопасные Event Emitters в TypeScript
Типобезопасные event emitters в TypeScript: карты событий, generic emitter или Node.js EventEmitter помогают ловить опечатки и ошибки payload на этапе компиляции.
Ссылки и формы в HTTP-запросах
Ссылки и формы в HTTP-запросах: когда использовать <a>, формы GET, POST и почему method=link недопустим в HTML.
Как определить статус онлайн и офлайн в JavaScript
Определяйте онлайн и офлайн статус в JavaScript с navigator.onLine, событиями online/offline и проверкой связи через fetch.
Смешивание изображений с помощью CSS cross-fade()
CSS cross-fade() смешивает изображения в одном объявлении. Узнайте про процентные веса, legacy -webkit, @supports и поддержку браузеров.
Сравнение популярных игровых движков на JavaScript
Сравните Phaser, Babylon.js, PlayCanvas, Excalibur и melonJS, чтобы выбрать подходящий JavaScript-движок для 2D и 3D браузерных игр.
Преобразование изображений в Base64 с помощью Canvas
Преобразуйте изображения в Base64 с помощью Canvas: сравните toDataURL и toBlob, учтите PNG/JPEG/WebP и избегайте CORS-ошибок tainted canvas.
Безопасное программирование для JavaScript-разработчиков
Безопасный JavaScript для браузерных приложений: предотвращайте DOM XSS, избегайте eval(), используйте CSP, защищайте токены и проверяйте postMessage.
Низколатентная коммуникация в браузере с WebTransport
WebTransport для браузеров: сравните WebSockets, датagrams и потоки для низкой задержки в HTTP/3 без блокировки по цепочке.
5 файлов Git Dotfiles, которые должен знать каждый разработчик
5 важных Git dotfiles: .gitconfig, .gitignore, .gitattributes, .git-blame-ignore-revs и .mailmap для более чистой работы с репозиторием.
Что нового в TypeScript 6.0
TypeScript 6.0 меняет значения по умолчанию, устаревшие опции и добавляет поддержку ES2025, типы Temporal и советы по миграции к TypeScript 7.0.
Замена библиотек анимации на нативные Web API
Замените GSAP или Framer Motion на Web Animations API, CSS Scroll-Driven Animations и View Transitions для типовых UI-анимаций.
Объяснение прав доступа к файлам в Linux
Права доступа к файлам в Linux, владение, chmod, chown, umask и специальные биты setuid и sticky bit, необходимые для защиты любой Linux-системы.
Использование CSS `zoom` для масштабирования элементов интерфейса
Сравнение CSS zoom и transform scale по влиянию на поток, поддержке браузерами и сценариям масштабирования UI для выбора подходящего инструмента.
Лучшие практики работы с SolidJS
Разбор типичных ошибок в SolidJS: реактивность, область видимости сигналов, обработка props, использование store и async-паттерны с createResource.
Как включить локальный HTTPS для разработки
Настройка доверенного локального HTTPS через mkcert, конфигурация dev-серверов Vite и Next.js, без предупреждений о самоподписанных сертификатах.
Отображение PDF в приложениях Vue 3
Статья сравнивает нативные embeds, PDF.js и Vue-компоненты-обёртки для отображения PDF в Vue 3, рассматривая компромиссы по CORS, workers и размеру бандла.
Знакомьтесь с Turso — эволюцией SQLite на базе Rust
Сравнение Turso и libSQL показывает, как Rust, асинхронные API и MVCC расширяют возможности SQLite для edge-развёртываний и современных архитектур приложений.
Основы проектирования реляционных баз данных
Построение надёжных схем реляционных баз данных с помощью первичных и внешних ключей, нормализации и ограничений для предотвращения аномалий данных.
Плюсы и минусы использования Markdown в качестве CMS
Реальные компромиссы Markdown как CMS: Git-воркфлоу, MDX, Tina CMS и ситуации, когда структурированные headless CMS лучше служат контент-командам.
Логирование запросов с помощью middleware в Node.js
Логирование HTTP-запросов в Express с помощью Morgan, Pino и AsyncLocalStorage для отслеживания correlation ID и защиты чувствительных данных.
5 функций безопасности, которые современные фреймворки предоставляют бесплатно
Фреймворки Next.js, SvelteKit и Django автоматически экранируют XSS, генерируют CSRF-токены и изолируют серверные секреты по умолчанию.
Новый HTML-элемент Geolocation
Новый элемент geolocation добавляет декларативный доступ к геолокации в HTML, заменяя колбэки navigator.geolocation упрощённой моделью разрешений.