Пульс веб-платформы 28.06.2026
Статьи, мнения, туториалы
JS/TS
- Теневые блокировки Event Loop от deasync: как найти и устранить — deasync и его клоны (sync-rpc, synchd) блокируют event loop на уровне C++. Flamegraphs с —perf-basic-prof и grep по node_modules помогают найти «тень». Решение — переписать на асинхронные аналоги или завернуть в Worker Thread, что снижает p99 latency с 1200ms до 45ms.
- Deferred reference cycles в WeakRef и FinalizationRegistry: скрытые утечки памяти — Циклические ссылки через cleanup-функции FinalizationRegistry создают deferred cycles — объекты в кэшах не собираются GC. Геп-снимки через —inspect и процесс memoryUsage() выявляют проблему. Фикс: хранить примитивы вместо объектов как heldValue, или явно вызывать registry.unregister().