Рабочий дневник: День 352
Как я DevTools перестал бояться
❓ Заметил, что вкладка иногда жрёт около 900 МБ и долго грузит, хотя контента у нас почти нет. Стало интересно, кто в этом виноват, и тогда я полез за ответами в DevTools.
Раньше максимум, что я делал там, это смотрел логи в консоли браузера и вёрстку. Потом случайно наткнулся на Application, полез глубже и даже открыл OPFS.
Остальные вкладки обходил стороной и немного нервничал, когда видел, как коллеги уверенно шарят в Network. Ну думаю пора выходить из зоны комфорта и разобраться, что же там происходит.
😮💨 Залез в Network и попытался понять его UI. Не вышло. Зато нашёл экспорт, выгрузил JSON со всеми запросами и отдал его Claude Code. Тот тоже офигел с загрузки в 9.6 секунды и быстро ткнул в Ackee на тестовом Render.
Оказалось, всё ломал холодный старт — бесплатный инстанс просыпался вечность. Пришлось его временно вырубить, пока бэк переносит сервис на ресурсы компании.
Позднее обнаружил, что проект загружает MetaMask SDK, несмотря на то, что использую wagmi. Его размер около 0.5 МБ, что заметно на фоне общего размера бандла в 3 МБ.
Дополнительно SDK отправлял POST-телеметрию. Без проверки Network это легко было бы пропустить. Решение оказалось тривиальным — заменить его на injected()
🏭 Далее выгрузил Performance, Memory, Lighthouse и продолжил оптимизацию. Перевёл 247 RPC-пуллов на WebSocket, включил code splitting в Vite для параллельной загрузки чанков, устраннил утечки и циклические запросы.
Теперь десктоп держится в районе 200 МБ и уже похож на прод, но до заветных 100 баллов PageSpeed всё ещё далековато.
📊 #статистика д. 1468 | 4124 ч. в IT
Как я DevTools перестал бояться
❓ Заметил, что вкладка иногда жрёт около 900 МБ и долго грузит, хотя контента у нас почти нет. Стало интересно, кто в этом виноват, и тогда я полез за ответами в DevTools.
Раньше максимум, что я делал там, это смотрел логи в консоли браузера и вёрстку. Потом случайно наткнулся на Application, полез глубже и даже открыл OPFS.
Остальные вкладки обходил стороной и немного нервничал, когда видел, как коллеги уверенно шарят в Network. Ну думаю пора выходить из зоны комфорта и разобраться, что же там происходит.
😮💨 Залез в Network и попытался понять его UI. Не вышло. Зато нашёл экспорт, выгрузил JSON со всеми запросами и отдал его Claude Code. Тот тоже офигел с загрузки в 9.6 секунды и быстро ткнул в Ackee на тестовом Render.
Оказалось, всё ломал холодный старт — бесплатный инстанс просыпался вечность. Пришлось его временно вырубить, пока бэк переносит сервис на ресурсы компании.
Позднее обнаружил, что проект загружает MetaMask SDK, несмотря на то, что использую wagmi. Его размер около 0.5 МБ, что заметно на фоне общего размера бандла в 3 МБ.
Дополнительно SDK отправлял POST-телеметрию. Без проверки Network это легко было бы пропустить. Решение оказалось тривиальным — заменить его на injected()
🏭 Далее выгрузил Performance, Memory, Lighthouse и продолжил оптимизацию. Перевёл 247 RPC-пуллов на WebSocket, включил code splitting в Vite для параллельной загрузки чанков, устраннил утечки и циклические запросы.
Теперь десктоп держится в районе 200 МБ и уже похож на прод, но до заветных 100 баллов PageSpeed всё ещё далековато.
📊 #статистика д. 1468 | 4124 ч. в IT