Из блога OpenReplay
Как считать токены и оценивать стоимость 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.
VuePress vs VitePress: что выбрать?
VuePress vs VitePress для документации Vue: сравнение поддержки, скорости разработки, настройки и когда выбрать VitePress или Docusaurus.
Когда ORM — неподходящий инструмент
Когда ORM становится узким местом, переходите на SQL для N+1 запросов, оконных функций, CTE, массовых записей и безопасных параметров.
Как добавить воспроизведение видео в приложения на Vue
Добавьте воспроизведение видео в Vue-приложения с нативным HTML5 video, переиспользуемыми компонентами или Video.js для HLS, субтитров, autoplay и очистки.
5 команд Git, выходящих за рамки commit и push
Пять команд Git beyond commit and push: stash, reflog, cherry-pick, rebase -i и bisect для восстановления, очистки истории и поиска багов.
Как создать индикатор прогресса чтения
Создайте индикатор прогресса чтения на JavaScript или CSS scroll-driven animations: точная формула прокрутки, производительность и доступность.
Замена номеров портов именованными URL при разработке
Замените порты localhost на именованные URL с .localhost, обратным прокси или portless, чтобы избежать конфликтов портов, утечек cookies и неверных вкладок.
Запуск React-библиотек в Preact с помощью preact/compat
Используйте preact/compat, чтобы запускать React-библиотеки в Preact, с alias для Vite, webpack, Rollup, Jest, TypeScript и типичных сбоев.
Модель разрешений Deno: подробный разбор
Права Deno: флаги allow и deny, ограничение доступа, наборы в deno.json, API Permissions и главные риски безопасности.
Линтинг TypeScript с помощью ESLint
Flat config ESLint 10 для TypeScript: настройка с typescript-eslint, typed linting через projectService и корректное подключение Prettier.
Разбираемся с Error.isError() в JavaScript
Error.isError() проверяет настоящие ошибки JavaScript между realms, объясняет, почему он лучше instanceof Error, и показывает безопасный fallback.
Разбираемся с проблемой N+1 запросов
Проблема N+1 объясняется на примерах Rails, Django, Hibernate и Laravel, а также разбираются eager loading, JOIN и способы выявления.
Как исправить ошибку «Maximum update depth exceeded» в React
Исправьте ошибку React maximum update depth exceeded с помощью простых правок для циклов рендера, зависимостей эффектов, обработчиков и throttling.
Инструменты записи экрана для разработчиков
Сравните инструменты записи экрана для разработчиков: Loom, OBS, Screen Studio, CleanShot X и SDK для быстрого обмена, демо и встроенной записи.
Создание toast-уведомлений в Svelte
Создавайте toast-уведомления в Svelte через writable store или svelte-sonner, с синтаксисом Svelte 5, доступностью и автозакрытием.
Создание клиентской маршрутизации с помощью History API
Соберите простой роутер на History API с pushState, popstate, динамическими параметрами, SEO-URL и защитой от 404 и XSS.
Основные сетевые команды Linux
Сетевые команды Linux для интерфейсов, маршрутов, DNS, портов и диагностики с ip, ss, dig, ping, traceroute и tcpdump.
Как планировать публикации в WordPress
Планируйте записи WordPress, устраняйте Missed Schedule и настройте WP-Cron через серверный cron, чтобы публикации выходили вовремя.
JSON Schema для структурированных ответов LLM
Structured outputs JSON Schema: как OpenAI, Gemini и Claude обеспечивают валидную схему, плюс настройка, проверки и подводные камни.
Обзор JavaScript Oxidation Compiler
Oxc простыми словами: Rust-инструменты для JavaScript и TypeScript, Oxlint, Oxfmt, трансформер, минификатор и сравнение с ESLint, Prettier, SWC и Biome.
Цепочки методов в JavaScript: плюсы и минусы
Цепочка методов в JavaScript: как она работает, когда улучшает читаемость и почему длинные цепочки мешают отладке, async и производительности.