Из блога OpenReplay
Лучшие практики безопасности npm
Снижение рисков цепочки поставок npm: отключение post-install скриптов, фиксация зависимостей, WebAuthn 2FA и публикация через OIDC trusted publishing.
Тестирование сайта без JavaScript: что и зачем
Отключение JavaScript в Chrome DevTools помогает выявить слабые места HTML-разметки и применить прогрессивное улучшение с помощью Next.js, Remix или Astro.
Бесплатные ресурсы для изучения ИИ для разработчиков
Бесплатные ресурсы от Google, OpenAI, Hugging Face и Anthropic позволяют создавать ИИ-приложения, работать с APIs, агентами и генеративным ИИ.
Знакомьтесь с Rspress: генератор сайтов на базе Rust
Rspress использует Rspack для сборки документационных сайтов на React и MDX: быстрые билды, настраиваемые темы и статический вывод Markdown для AI-инструментов.
Как парсить числа в JavaScript
Сравнение parseInt, parseFloat, Number и BigInt для преобразования строк в числа в JavaScript, включая разбор граничных случаев, приводящих к скрытым ошибкам.
Работа с файлами с помощью FileReader API
FileReader API читает файлы асинхронно с помощью событий, параметров кодировки и data URL, а методы Blob предлагают более простые альтернативы.
Обзор AdonisJS для разработки на Node
Сравнение AdonisJS и Express для Node.js показывает, как Lucid ORM, валидация через VineJS и сквозная поддержка TypeScript меняют рабочие процессы бэкенд-разработки.
Лучшие библиотеки SVG-иконок для современных веб-приложений
Сравнение ведущих SVG-библиотек иконок: Lucide, Heroicons, Phosphor и Tabler, чтобы выбрать подходящий вариант для современного веб-проекта.
Что такое Chrome DevTools MCP?
Chrome DevTools MCP предоставляет ИИ-агентам прямой доступ к браузеру для анализа ошибок консоли, сетевых запросов и состояния DOM в ходе активной разработки.
Режим планирования VS Code: думайте, прежде чем писать код
Режим планирования VS Code разделяет анализ GitHub Copilot и выполнение кода, позволяя просматривать план реализации до изменения файлов.
Внутри AST: Как инструменты понимают код
Абстрактные синтаксические деревья лежат в основе ESLint, Prettier и Babel; парсеры строят узлы для линтинга, форматирования и трансформации кода.
Когда может понадобиться BigInt в JavaScript?
BigInt в JavaScript решает проблему скрытой потери точности для чисел за пределами безопасного диапазона Number, больших ID и 64-битных значений WebAssembly.
Начало работы с Valibot
Валидация runtime-данных в TypeScript с помощью Valibot: определение схем, вывод типов и построение composable-пайплайнов при минимальном размере бандла.
Настройка TypeScript-приложения с Bun
Настройка TypeScript-проекта с Bun позволяет пропустить шаг сборки и запускать файлы напрямую, используя единый runtime и пакетный менеджер.
Преобразование Git-репозиториев в текст для LLM: краткое руководство
Gitingest, Repomix и repo2txt конвертируют Git-репозитории в структурированный текст для LLM, передавая отфильтрованный код в AI-модели без лишних токенов.
Использование Battery Status API в веб-приложениях
Battery Status API открывает JavaScript доступ к уровню заряда и состоянию зарядки; статья рассматривает создание адаптивных приложений с учётом поддержки браузеров и приватности.
Добавление анимаций с помощью плагинов Tailwind CSS
Обзор способов добавления анимаций в Tailwind CSS: встроенные утилиты, плагины и пользовательские keyframes в v4, с учётом требований доступности.
Безопасная обработка пользовательского ввода в Node.js
Zod, параметризованные запросы и явные аргументы блокируют SQL-инъекции, prototype pollution и атаки mass assignment в Node.js.
Первый взгляд на HTML Sanitizer API
HTML Sanitizer API встраивает защиту от XSS в браузер; рассматриваются безопасные методы, DOMPurify и настройка списков разрешённых элементов.
Как найти DOM-элементы по тексту
Статья рассматривает фильтрацию через querySelector, обход TreeWalker и XPath с document.evaluate для выбора DOM-элементов по текстовому содержимому.
Лучшие CDN для современных веб-приложений
Сравнение Cloudflare Workers, Fastly Instant Purge, AWS CloudFront и Akamai Ion помогает выбрать подходящий CDN для фронтенд-архитектуры и edge-логики.
Начало работы с Laravel Livewire
Livewire позволяет строить динамические UI на Laravel через PHP-компоненты и Blade-шаблоны с автоматической валидацией форм и реактивными обновлениями DOM.
Изучаем CSS-функцию random()
CSS-функция random() генерирует числовые значения прямо в стилях, заменяя JavaScript для визуации; поддерживает синтаксис, ключи кэша и fallback-значения.
Стилизация элементов Select с помощью современного CSS
Стилизация select через appearance none и base-select, применение clip-path и focus spans с прогрессивным улучшением в браузерах средствами CSS.