Веб-страница
Всё по фронтенду, бэкенду и девопсу в одном месте Разместить рекламу: @tproger_sales_bot Правила общения: https://tprg.ru/rules Другие каналы: @tproger_channels Сайт: https://tprg.ru/site Регистрация в перечне РКН: https://tprg.ru/64ai
Больше📈 Аналитический обзор Telegram-канала Веб-страница
Канал Веб-страница (@tproger_web) языкового сегмента Русский является активным участником. Сейчас сообщество объединяет 22 763 подписчиков, занимая 1 320 место в категории Искусство и дизайн и 29 094 место в регионе Россия.
📊 Показатели аудитории и динамика
С момента создания невідомо проект демонстрирует стремительный рост, собрав аудиторию из 22 763 подписчиков.
Согласно последним данным от 26 июля, 2026, канал показывает стабильную активность. За последние 30 дней изменение числа участников составило -146, а за последние 24 часа — 0, при этом общий охват остаётся высоким.
- Статус верификации: Не верифицирован
- Уровень вовлечённости (ER): Средний показатель вовлечённости аудитории составляет 11.81%. В первые 24 часа после публикации контент обычно набирает 7.32% реакций от общего числа подписчиков.
- Охват публикаций: В среднем каждый пост получает 2 689 просмотров. В течение первых суток публикация набирает 1 667 просмотров.
- Реакции и взаимодействия: Аудитория активно поддерживает контент: среднее количество реакций на один пост — 6.
- Тематические интересы: Контент сосредоточен на ключевых темах, таких как css, javascript, html, github, браузер.
📝 Описание и контентная политика
Автор описывает ресурс как площадку для выражения субъективного мнения:
“Всё по фронтенду, бэкенду и девопсу в одном месте
Разместить рекламу: @tproger_sales_bot
Правила общения: https://tprg.ru/rules
Другие каналы: @tproger_channels
Сайт: https://tprg.ru/site
Регистрация в перечне РКН: https://tprg.ru/64ai”
Благодаря высокой частоте обновлений (последние данные получены 27 июля, 2026) канал поддерживает актуальность и высокий уровень охвата публикаций. Аналитика показывает, что аудитория активно взаимодействует с контентом, что делает его важной точкой влияния в категории Искусство и дизайн.
React.memo и добавили useCallback на обработчики. Виноват обычно один JSX-паттерн: style={{ padding: 16 }} или колбэк прямо в разметке. memo сравнивает пропсы через Object.is, а для объектов и функций это проверка по ссылке: каждый рендер родителя создаёт новую ссылку, и React снова рисует дочерний компонент.
Меня убедили цифры из эксперимента: 200 memoизированных строк на один keystroke рендерились 243,9 мс, после стабилизации ссылок — 6 мс. Поэтому статические объекты выносите за пределы компонента, а useCallback добавляйте только там, где колбэк реально уходит в memoизированного потомка. Хуки «на всякий случай» не помогут: сначала меряйте в Profiler.
Полный разбор с примерами/wp-json/batch/v1, которая работает вместе с CVE-2026-60137, SQL-инъекцией в параметре author__not_in. На стоковой установке это даёт удалённое выполнение кода без авторизации.
WordPress.org включил принудительные автообновления, но я бы не доверял автоматике вслепую: запустите wp core version, обновитесь вручную и проверьте логи на обращения к /wp-json/batch/v1. Что ещё делать: в материале.const { status } = project экономит пару символов, но в длинной функции status превращается в магическую переменную: приходится листать вверх, чтобы вспомнить, откуда она взялась.
Его правило: оставляйте точку. project.status сразу говорит, из какого объекта значение, а голая status — нет. То же с post.title или user.name: повторять объект не страшно, если контекст остаётся на виду. Деструктурируйте только когда объект уже очевиден из окружения — например, внутри короткого колбэка.
Такой подход упрощает поддержку кода: меньше магических переменных, меньше когнитивной нагрузки, проще читать спустя месяцы. Разобрался Смит здесь.page.html?utm_source=google и page.html?utm_source=yandex лежат в кэше отдельно. HTTP-заголовок No-Vary-Search наконец позволяет сказать браузеру: игнорируй указанные query-параметры при формировании ключа кэша.
Гарри Робертс разбирает, как исключить параметры, игнорировать их порядок и при этом оставить неизвестные параметры «пробивающими» кэш — чтобы случайный ?foo=bar не подменял контент.
Поддержка уже есть в Chromium; для Safari/Firefox пока не везде, поэтому я бы использовал No-Vary-Search как прогрессивное улучшение и проверил поведение в инструментах разработчика, прежде чем полагаться на заголовок в продакшене.srcset/sizes, знайте — браузер скоро сделает это за вас. Мэт Маркиз, который 14 лет назад возглавлял RICG и протащил отзывчивые картинки в платформу, теперь пишет, что пришло время упростить подход.
Идея в том, чтобы заменить сложный синтаксис выбора источников на буквально пару символов в разметке. Меньше дублирования картинок, меньше ошибок с sizes, меньше JS-обёрток. Пользователи получат прирост производительности почти бесплатно.
Пока это proposal, так что в прод тащить рано. Подробности в статье Маркиза.--use-angle=gl: Chrome отдаёт WebGL библиотеке ANGLE, а та уже использует программный OpenGL-рендер Mesa llvmpipe. Время падает до ~6 секунд — llvmpipe JIT-компилирует шейдеры в x86-64 и загружает все ядра CPU.
Частая проблема — флаги из старых туториалов. --disable-gpu тихо возвращает SwiftShader, а --in-process-gpu ломает GL-surface у ANGLE. Ещё нужен дисплей и LIBGL_ALWAYS_SOFTWARE=1.
Итог: если в ваших headless-настройках есть --disable-gpu, вы почти наверняка не на быстром пути. Разбор от Microlink.white-space: no-wrap он сконвертирует в white-space: nowrap.
Библиотека опирается на опубликованный CSS Working Group список ошибок в дизайне CSS и убирает необходимость помнить, какие имена свойств появились только из-за обратной совместимости. Демо на CodePen и установка через NPM.
Где пригодится: можно писать CSS так, как он выглядел бы без компромиссов, а FixCSS позаботится о финальном выводе для продакшена.getUserMedia(), ручные запросы разрешений и пользователи, случайно нажавшие «запретить» и застрявшие в тупике. Новый HTML-элемент <usermedia>, доступный с Chrome 151, убирает эту рутину.
Вместо скриптового запроса права вы получаете декларативный элемент управления, который сам отслеживает намерение пользователя, управляет запросом браузера и передаёт готовый MediaStream в приложение. Это сокращает шаблонный код и даёт браузеру достоверный сигнал о том, что доступ инициирован пользователем, а не страницей. Подробнее в блоге Chrome for Developers.
Если фича приживётся, запросы медиа-прав станут заметно чище.prefers-color-scheme берёт системную настройку, а мета-тег name="color-scheme" в head даёт браузеру подсказку раньше CSS.
Можно обойтись без тяжёлой темизации: по клику меняете атрибут content на light, dark или light dark и сохраняете выбор в localStorage. При следующем открытии применяете его до рендера, и вспышки нет.
Главный вывод для меня: стандартный механизм снимает задачу с JS-фреймворка и даёт нативный фолбэк. Если у вас SSR или медленное соединение, такой подход выглядит надёжнее.mask плюс repeating-radial-gradient. Прозрачные участки градиента скрывают буквы, непрозрачные оставляют. Чтобы понять механику, автор советует заменить радиальный градиент на linear-gradient — сразу видно, как альфа-канал управляет видимостью. Шрифт тоже важен: круглая буква «o» держит кольца ровно, поэтому взяли Fredoka.
Можно сохранить в закладки и поиграть с параметрами в CodePen из статьи.scroll-state(stuck: top), а hover-тултипы собираются на атрибутах interesttarget и popover=hint — почти без JavaScript.
Ещё два момента: sibling-index() задаёт staggered-задержки прямо в CSS, а border-shape позволяет рисовать необычные формы границ вместо border-radius. Пока часть фич работает не везде — polyfill для invokers не тянет на мобильные, так что в прод пока не нёс бы. Но следить стоит: платформа берёт на себя то, за что мы раньше тащили библиотеки.
Видео доклада на YouTube.