JS · React · веб-перформанс · разработка и архитектура Твитер: https://twitter.com/iamakulov Поможем с производительностью: https://3perf.com По всем вопросам (рекламу не продаю): @iamakulov Чатик канала: @iamakulov_channel_chat
3 940подписчиков сейчас
63.0%ERR
1.0цитируемость
4постов/день
Русскийязык
Россиягео
Подписаться в Telegram
Данные обновлены 22.07.2020
Публикации всего: 48
📻 4G в хром-девтулзах ненастоящий
Когда вы замедляете сеть в хром-девтулзах, хром делает то, что не делает ни один другой тул для замедления сети: он начинает добавлять задержку к каждому запросу. Настоящие сети работают не так.
Из-за этого вещи, которые выглядят быстрыми в хроме, могут быть медленными в реальности, и наоборот.
Написал вот тут, почему и что с этим делать: https://3perf.com/blog/chrome-throttling/
❤ 25 👍 13
Перейти к публикации →
🇷🇴 Вышла запись моего румынского доклада про невидимые оптимизации Реакта: https://www.youtube.com/watch?v=iC-asCLp3fM
❤ 21 👎 1 🌚 1
Перейти к публикации →
Что ещё
😑 Потратил на это выходные, поэтому сэкономлю их вам:
Оказывается, когда вы открываете девтулзы в Chrome, таймеры (и любые другие нативные функции —
fetch, requestAnimationFrame и т.д.) становятся в 5-100 раз медленнее. Это происходит вне зависимости от того, делаете ли вы что-то в девтулзах или нет — достаточно того, чтобы они были открыты.
Это проблема! Перформанс обычно измеряется с открытыми девтулзами. Из-за того, что таймеры в этом режиме кажутся дорогими, TanStack Query, например, имплементировал целое API, чтобы менеджить таймеры, а Сергей Гарин ушёл даже дальше и почти переписал таймер-менеджмент целиком.
Мини-тред с исследованием (где в конце приходит Пол Айриш из Google и говорит, что все мы делали всё это зря): раз, два, триописание, кстати, простое, но вот внутри:
— speculation rules
— реакт-рендеринг и как он отличается от браузерного рендеринга
— React Activity API и React Concurrent Mode
— малоизвестные особенности трекинга INP в CrUX
приходите, в общем :)
aaaaaaaaaaaaaaaaaaaaaaa (href)💥
Встречайте Ваню Акулова! Ваня любит React и веб-перформанс, числится Google Developer Expert, пытается писать в телеграм @iamakulov_channel
Предзагрузка данных. Точечные DOM-обновления. Сохранение состояния. Всё это — фишки роутеров во фрейворках вроде Next.js, Nuxt.js или @angular/router, и всё это по-прежнему медленнее, чем простые HTML-ссылки из 90-х.
В этом докладе Ваня побудет луддитом (на самом деле нет) и расскажет, когда и почему даже в 2026-м HTML-ссылки лучше роутерной навигации.
🔔 Устраивайтесь поудобнее и присоединяйтесь к нашему онлайн стриму 28 декабря (вс) в 18:30 (GMT+4) — ссылка на стрим на нашем YouTube канале 🌐
Tbilisi JS Chat | YouTube | LinkedIn | Instagram
🔥 22 ❤ 13 👍 3
Перейти к публикации →
завтра выступлю на новогоднем стриме с совсем новым докладом, вот это дела:
Что ещё
🇬🇪 Вышла запись доклада с TbilisiJS. Рассказываю (на кривом русском, прости господи, несколько лет не выступал на нём) про оптимизации, которые стреляют в ногу: https://t.me/tbilisi_js/401
🌐 Внезапно понял, как работает CORS (пост не завиралился, видимо, больше никто не понял): https://x.com/iamakulov/status/1909698040253784072
🇷🇴 Выступил на JS Heroes в Румынии про невидимые оптимизации Реакта. Запись попозже!
❤ 25 👍 16 🔥 5
Перейти к публикации →
(Сложная картинка для привлечения внимания)
😳 Лайтхаус и
<link rel="preload">
Если вы когда-то боролись с плохим баллом в Лайтхаусе и не могли понять, почему он плохой, есть хорошие новости (ну или не очень?).
В большинстве случаев плохой балл Лайтхауса всё ещё значит, что сайт медленный. Но иногда — то, что Лайтхаус — дурачок.
Кейс
Мы во Фреймере обнаружили кейс, когда Лайтхаус ухудшает балл за штуки, которые на самом деле улучшают перформанс. Конкретно:
1️⃣ Когда вы запускаете тест в Лайтхаусе, Лайтхаус пытается понять, как долго страница будет загружаться на медленной сети
2️⃣ Для этого он не замедляет сеть, а загружает страницу на быстрой сети — и пытается посчитать, как страница вела бы себя на медленной. (Это называется «simulated throttling». Кроме Лайтхауса, так не делает больше никто)
3️⃣ Эти подсчёты не точные. Например, Лайтхаус считает, что все ресурсы, которые загрузились до LCP в быстрой сети, влияют на LCP в медленной сети
4️⃣ Из-за этого всё, что загружается быстро — ресурсы из <link rel="preload">, маленькие скрипты, шрифты и тд — ухудшает LCP в Лайтхаусе, даже если реальный LCP от этого улучшается
Ишью
Больше деталей — в ишью: https://github.com/GoogleChrome/lighthouse/issues/16539
❤ 19 🔥 12 👍 5
Перейти к публикации →
🇬🇪 11 апреля (пт) буду в Тбилиси — и выступлю на Tbilisi JS! Расскажу про оптимизации, которые стреляют в ноги: как CDN может сделать сайт медленнее или как
font-display: swap может ухудшить Core Web Vitals.
Приходите на митап, если вы в Тби :) Там ещё тройка крутых докладов.
https://t.me/tbilisi_js/355
🔥 26 ❤ 10
Перейти к публикации →
Rozetked
ВИЛСАКОМ РЕД / WYLSACOM RED
Библиотека программиста
[netstalkers]
Типичный программист
СТАС БОМБИТ