GyaanSetu JavaScript

Экосистема JavaScript и TypeScript.

78 articlesDeep, practical knowledge

Meteor 3.5 снижает нагрузку на CPU на 9% и удваивает пропускную способность благодаря переходу на uWebSockets.js

В Meteor 3.5 представлен подключаемый транспорт DDP, который можно заменить на uWebSockets.js с помощью переменной окружения DDP_TRANSPORT=uws, что обеспечивает увеличение пропускной способности до 1,6 раза, снижение нагрузки на CPU на 9%, потребления RAM на 11% и сокращение пауз GC на 26% для приложений с интенсивным использованием RPC.

JavaScript · 2 мин чтения

Освоение продвинутого серверного кэширования в Next.js

Освоение продвинутого серверного кэширования в Next.js. Масштабирование приложения Next.js требует большего, чем просто выбор между SSR и SSG. По мере роста объема данных вам потребуется продвинутое кэширование, чтобы сократить…

JavaScript · 3 мин чтения

Отладчик Chrome DevTools замедляет загрузку в Playwright более чем в 20 раз

Когда Coffer подключила отладчик Chrome DevTools через Playwright, скорость их загрузок через fetch упала с 600 Мбит/с до всего лишь 113 Мбит/с — замедление более чем в 20 раз полностью перевернуло результаты их бенчмарков.

JavaScript · 3 мин чтения

Включение SharedArrayBuffer заставило меня отказаться от всех сторонних скриптов

Добавление заголовков COOP и COEP открыло доступ к настоящей многопоточности, но мгновенно заблокировало аналитику, Google Fonts, вставки YouTube и всплывающие окна OAuth, что вынудило меня перенести хостинг ресурсов на собственный сервер и полностью переписать фронтенд.

JavaScript · 4 мин чтения

Уязвимость в WooCommerce Social Login позволяет хакерам захватывать любые аккаунты WordPress

CVE 2026 8457: Обход аутентификации в WooCommerce Social Login. В плагине WooCommerce Social Login от WPWeb Elite обнаружена критическая уязвимость безопасности. Уязвимость имеет оценку CVSS 9.…

JavaScript · 3 мин чтения

Next.js 16.3 добавляет экспериментальный хук useOffline для мгновенного определения состояния сети

Хук возвращает логическое значение, которое обновляется в реальном времени, позволяя мгновенно заменить основное приложение простым сообщением «Вы не в сети» без ожидания ошибки запроса, но сам по себе он не обеспечивает кэширование или фоновую синхронизацию.

JavaScript · 2 мин чтения

Пользователи Claude Code экономят 20–35% на токенах благодаря прокси AWS Bedrock

Разработанный программистом Docker-прокси на базе LiteLLM позволяет CLI Claude Code взаимодействовать с моделью Amazon Nova через Bedrock. Это сохраняет привычный рабочий процесс, сокращая расходы на этапе обучения почти на треть по сравнению с тарифами Anthropic.

JavaScript · 3 мин чтения

Новый движок Sätteri в Astro 7 нарушает работу математических формул, якорей заголовков и пользовательских настроек

Написанный на Rust движок Sätteri в Astro 7 нарушает порядок подсветки синтаксиса и выполнения плагинов, превращая блоки display-math в обычный код, удаляя ID заголовков и незаметно игнорируя дополнительные поля конфигурации, такие как shikiConfig, что вынуждает разработчиков полностью пересматривать свой Markdown-стек.

JavaScript · 3 мин чтения

AGP 9.2.0 удваивает скорость Kotlin Coroutines за счет перезаписи байт-кода R8

Входящий в состав Android Gradle Plugin 9.2.0 инструмент R8 теперь заменяет рефлексивные вызовы AtomicFieldUpdater одной инструкцией Unsafe, что существенно снижает накладные расходы на синхронизацию и обеспечивает примерно двукратное ускорение работы channel, mutex и StateFlow без внесения изменений в исходный код.

JavaScript · 4 мин чтения

SvelteKit добавляет удаленные функции и нативную поддержку TypeScript 6 в релизе мая 2026 года

Обновление мая 2026 года позволяет разработчикам вызывать серверную логику с помощью простого асинхронного вызова, а TypeScript 6 привносит оператор satisfies, ускоренную инкрементальную сборку и более строгую типизацию маршрутов — и всё это без выхода из CLI SvelteKit.

JavaScript · 3 мин чтения

Для обновления Apache DolphinScheduler 3.x требуется полная перестройка кластера и переименование БД

Обновление требует переименования основных таблиц, переноса JSON-блобов задач в реляционные таблицы и замены монолитного master-узла на отдельные узлы MasterServer и WorkerServer, которые координируются через ZooKeeper, JDBC или Etcd.

JavaScript · 3 мин чтения

Сбой OTP в Германии выявил ошибки в хранении номеров телефонов в базах данных

Пользователь потерял доступ к аккаунту из-за того, что один и тот же немецкий мобильный номер был записан в базе данных в двух форматах: «0171 5550134» и «+49 171 5550134». В результате OTP был отправлен на дублирующую запись, которая так и не дошла до пользователя.

JavaScript · 3 мин чтения

Отсутствующий индекс превратил API с откликом 45 мс в 8-секундную катастрофу для 1,5 млн строк

Как неиндексированный столбец убил нашу базу данных. Один пропущенный индекс превратил API с откликом 8 мс в 8-секундный кошмар. Мы провели нагрузочное тестирование перед крупным релизом. Локальная разработка работала…

JavaScript · 1 мин чтения

Инструмент автоматизации Safari закрыл не ту вкладку из-за пропуска маркера владения защитным механизмом

Редирект удалил внутренний идентификатор со страницы формы, из-за чего защитный механизм отклонил право владения. В результате процедура очистки по умолчанию закрыла текущую вкладку — панель управления разработчика вместо «осиротевшей» вкладки.

JavaScript · 4 мин чтения

Образовательная платформа отказывается от песочницы Node.js vm в пользу белых списков AST

Теперь платформа анализирует каждый запрос, написанный студентом, с помощью AST-парсера Acorn, отклоняя любые узлы, не входящие в строгий белый список. Это исключает возможность обхода с помощью регулярных выражений и предотвращает утечку активных дескрипторов базы данных внутри песочницы.

JavaScript · 3 мин чтения

useSyncExternalStore в React 18 устраняет мерцание интерфейса при работе с внешними данными

Новый хук заменяет старый паттерн зеркалирования внешних значений через useState и useEffect, предотвращая разрыв (tearing) при конкурентном рендеринге и гарантируя, что каждая часть интерфейса считывает один и тот же снимок данных во время цикла рендеринга.

JavaScript · 4 мин чтения

LLM на Node.js без зависимостей позволяет наблюдать за математикой обучения в реальном времени

Репозиторий tiny-language-model-neuro-js отказывается от TensorFlow и PyTorch, используя обычные массивы и явные циклы, чтобы каждый тензор, коэффициент внимания и градиент выводились на экран по мере того, как модель учится, забывает и переучивается.

JavaScript · 2 мин чтения

LiteRT.js разгоняет MobileNetV2 до 2 439 FPS — это более чем в 25 раз быстрее, чем TensorFlow.js

Тестирование на Apple M2 Max показывает, что LiteRT.js обеспечивает задержку всего 0,41 мс (2 439 FPS) для MobileNetV2, в то время как TensorFlow.js выдает лишь 10,82 мс (92 FPS). Преимущество становится еще заметнее на более крупных моделях, однако разработчикам приходится вручную управлять тензорами GPU и учитывать ограниченную поддержку WebGPU на мобильных устройствах.

JavaScript · 4 мин чтения

Десять букв, которые стоят дороже в WWF, обеспечивая преимущество в 11 очков в длинных словах

Анализ 172 835 записей из словаря ENABLE показал, что десять высокоценных букв в WWF дают среднее преимущество в 2,52 очка на слово, в то время как Scrabble превосходит WWF только по буквам H и Y, и то не более чем на три очка.

JavaScript · 3 мин чтения

Пять открытых вкладок могут разлогинить пользователя при одном обновлении JWT

Когда пять вкладок одновременно, с точностью до миллисекунды, попытались обновить истекший JWT, бэкенд расценил избыточные запросы как replay-атаки, аннулировал refresh-токен и разлогинил пользователя во всех вкладках — такой сценарий невозможно предотвратить защитой, рассчитанной на работу только с одной вкладкой.

JavaScript · 3 мин чтения

Двадцать элементов в ленте — это идеально. Скроллинг идет как по маслу. Ваш клиент доволен. Затем вы выпускаете это в продакшн, и данные

Двадцать элементов в ленте — это идеально. Скроллинг идет как по маслу. Ваш клиент доволен. Затем вы выпускаете это в продакшн, приходят данные, и вдруг вы обнаруживаете перед собой две тысячи строк.…

JavaScript · 6 мин чтения