3 Sept 2026, 10:18 UTC≈1,330 views3 reactionsread 3 September 2026 Ваш код не медленный, он просто держит главный поток
Скролл подёргивается, кнопка отвечает с задержкой, буквы в поиске появляются на полтакта позже. Первый рефлекс: искать медленный алгоритм. Автор разбора показывает, что чаще проблема не в скорости кода, а в том, что он занимает единственный поток, где живут и JavaScript, и стили, и layout, и paint.
Бюджет на кадр при 60 Гц около 16,6 мс, из которых практически до…
👍3
3 Sept 2026, 08:27 UTC962 views1 reactionsread 3 September 2026 Chrome 154 beta: WebSocket в локальную сеть, постквантовые ключи в Web Crypto и табы на чистом CSS
Три вещи из беты, которые меняют код. Первая: new WebSocket(url, { protocols: "soap", targetAddressSpace: "local" }) открывает сокет к устройству в локальной сети со страницы на HTTPS, если пользователь дал разрешение Local Network Access, а имя хоста резолвится в локальный IP. Раньше это было запрещено без обходных пу…
❤1
3 Sept 2026, 07:21 UTC≈1,110 views3 reactionsread 3 September 2026 Photo
Интерпретатор Wasm стал в 2,2 раза быстрее, и это важно там, где V8 не поможет
В браузере WebAssembly исполняет JIT, и про интерпретаторы фронтендеры обычно не думают. Но как только Wasm выходит за пределы вкладки, в плагины, edge-функции, iOS-приложения и песочницы, JIT либо запрещён, либо не помещается в память. Там живёт Wasmi, интерпретатор на Rust, и версия 2.0 по замерам проекта в 2,2 раза быстрее 1.0 по геоме…
❤3
2 Sept 2026, 19:25 UTC≈1,440 views3 reactionsread 3 September 2026 Safari наконец починил top-level await: WebKit переписал загрузчик модулей с нуля
Если модуль с await на верхнем уровне падал у вас в Safari с «Cannot access ... before initialization», это не ваш баг. WebKit сегодня рассказал, почему так было: загрузчик модулей Safari написали по черновику WHATWG Loader, заброшенному в январе 2016 года, ещё до появления async/await в языке. Top-level await из ES2022 прикрутили пове…
❤3
2 Sept 2026, 14:27 UTC≈1,510 views3 reactionsread 3 September 2026 Manifest V2 закрыт окончательно: Google удалил из Chrome Web Store все старые расширения, включая uBlock Origin
Для авторов расширений новость не про блокировщик, а про режим совместимости: закончился период, когда V2-сборки у клиентов можно было обновлять. Chrome 138 был последней версией с корпоративным ключом ExtensionManifestV2Availability, в 139 его убрали, 31 августа расширения исчезли из магазина.
Чек-лист п…
🤯2💩1
2 Sept 2026, 13:49 UTC≈1,390 views3 reactionsread 3 September 2026 Photo
Август-сентябрь — сезон поиска работы, и в IT он сейчас особенно непростой. Не всегда понятно, в какую сторону расти, страшно менять профессию, а после нескольких неудачных собеседований начинает казаться, что дело в вас.
Собрали подборку материалов о карьере: куда двигаться, как проходить собеседования, как не выгорать, а также как понять, что компания вам подходит, и что делать дальше.
Куда двигаться:
Каких спецо…
😁3
2 Sept 2026, 11:14 UTC≈1,380 views4 reactionsread 3 September 2026 Photo
Задайте источник света один раз, и все тени на странице посчитаются сами
Ambient CSS предлагает вместо ручных shadow-sm, shadow-md и shadow-lg описать свет: направление, интенсивность ключевого и заполняющего света, оттенок, высоту. Каждый элемент получает пятислойный box-shadow: тень, блики, фаски и внутренние затемнения, и все они согласованы между собой, потому что источник один.
У элемента задаётся только высот…
🔥2❤1👍1
2 Sept 2026, 10:36 UTC≈1,440 views2 reactionsread 3 September 2026 Cloudflare начала отключать D1 на бесплатном плане после 5 млн прочитанных строк в сутки
С 1 сентября превышение дневного лимита на Workers Free больше не проходит незаметно: запросы к базе возвращают ошибки до полуночи UTC (03:00 МСК), данные не удаляются. Лимиты прежние: 5 млн прочитанных и 100 тысяч записанных строк в сутки, 5 ГБ хранилища. Изменился только режим: раньше мягко, теперь жёстко.
Ловушка в учёте: сч…
❤2
2 Sept 2026, 08:24 UTC≈1,450 views4 reactionsread 3 September 2026 Photo
Уберите тормозящую задержку из многоуровневого меню — её заменяет геометрия
Пользователь ведёт курсор по диагонали от пункта к подменю, задевает по дороге соседнюю строку, и содержимое переключается прямо под мышью. Обычное лечение — задержка перед сменой подменю, из-за которой интерфейс ощущается медленным. В большом меню Shop by Department на Amazon задержки нет, и промаха тоже.
Синий треугольник на схеме — предп…
👍3❤1
2 Sept 2026, 07:34 UTC≈1,450 views3 reactionsread 3 September 2026 Firefox 155 добавил CSS-функцию progress() и Promise.allKeyed(), а на iOS браузер получил встроенный блокировщик рекламы
Для вёрстки главное: progress(value, start, end) возвращает долю от 0 до 1 между двумя границами, так что адаптивные размеры пишутся без ручного calc(); alpha() меняет прозрачность любого цвета; attr() теперь работает в любом свойстве, а не только в content; font-width заменил font-stretch, старое…
❤3
1 Sept 2026, 14:28 UTC≈1,550 views4 reactionsread 3 September 2026 Переведите SVG-контур в CSS-функцию shape() за один вставленный путь
Функция shape() описывает произвольный контур прямо в CSS: её можно анимировать, задавать в ней проценты и единицы вроде em, использовать в clip-path и offset-path. Проблема ровно одна: писать её руками мучительно, а все реальные контуры уже нарисованы и лежат в виде d-атрибута внутри SVG.
Мэтью Морете год возился со спецификацией и выложил три ма…
❤4
1 Sept 2026, 13:33 UTC≈1,550 views3 reactionsread 3 September 2026 Векторизуйте логотип в SVG прямо во вкладке браузера, не отправляя файл на сервер
Онлайн-сервисы просят за трассировку растра деньги или подписку, а бесплатные выдают контуры, будто их обводили во время землетрясения. Vectron решает этот случай локально: внутри открытый движок VTracer на Rust, собранный в WebAssembly и запущенный в Web Worker, поэтому картинка никуда не уходит.
Алгоритм обычный — детекция краёв и п…
❤2👍1
Showing the 12 most recent of 86 posts we hold for @tproger_web. View and reaction counts are the latest single reading for each post, not a live figure, and a recent post is still accumulating both. A view count marked ≈ was rounded by Telegram before we ever saw it — t.me prints views in full below 1,000 and to three significant figures above, so ≈1,200,000 means somewhere between 1,150,000 and 1,249,999. Unmarked counts are exact. Text is reproduced from the public post preview and truncated for length.