uk
Feedback

Не попадись на ботовода! Telemetrio знаходить і позначає такі канали мітками 👉 Хочеш бачити мітку, оформляй підписку

Руслан Куянец | Reactify

Руслан Куянец | Reactify

Відкрити в Telegram

Я IT-специалист, ментор и основатель проекта YeaHub и сообщества Reactify. Здесь рассказываю про Frontend и IT. Менторство: https://reactify.ru YouTube канал: https://youtube.com/@reactify-it YeaHub: https://yeahub.ru/ Связь: @ruslan_kuyanets

Показати більше
6 410
Підписники
-424 години
-47 днів
-4930 днів
Архів дописів
🖥 TypeScript — как его стоит изучать Есть важный момент: в реальной работе разработчик использует далеко не весь TypeScript — зачастую лишь 20–30% его возможностей. Поэтому новичку совершенно не обязательно сразу пытаться охватить всю технологию. Это только замедлит процесс, усложнит обучение и снизит эффективность. К тому же теория без практики даётся тяжело, изолированные примеры часто непонятны, а задачи по TS поначалу кажутся перегруженными. В результате уходит много времени, а прогресс ощущается слабым. Классическое правило 20/80 здесь работает идеально: небольшой, но правильно выбранный набор знаний даёт максимальный результат. 🔹 Этап 1 — База + поверхностное знакомство с продвинутыми темами На старте важно понять только основу типизации: - примитивные типы - type - interface - union-типы - type aliases И всё! Поверьте, большинство опытных разработчиков не держат в голове сложные типизации событий или утилит — всё это гуглится за 10 секунд. Главное — практика. Получать ошибки TypeScript, гуглить их, разбираться — именно так и формируется настоящее понимание логики TS. Что делать на этом этапе? 1. Посмотреть 1–2 курса (любые): Полный курс TypeScript за час — https://www.youtube.com/watch?v=V7hBejCH1HI TypeScript с 0 до Профи. Полный курс + Практика — https://www.youtube.com/watch?v=PYWaUwjofJo 2. Сразу начать проект: Туду-лист, работа с API, калькулятор — неважно. Главное, чтобы был реальный код, а не только теория. Идеальная длительность этапа — примерно 2 недели. 🔹 Этап 2 — Продвинутые темы (после освоения React) Этот этап точно не нужен новичку. Продвинутый TS лучше изучать тогда, когда уже освоен весь React-стек и есть несколько пет-проектов. Что входит в продвинутую часть? - Generics - Utility Types - Type Guards - Маппинг типов - Сложные паттерны типизации Как изучать? 1. Посмотреть фундаментальный курс: TypeScript ФУНДАМЕНТАЛЬНЫЙ КУРС от А до Я — https://youtu.be/LWtHl__oEWc?si=JQidflBDL61By3mS 2. Начать решать задачи: https://bigfrontend.dev/typescript https://github.com/type-challenges/type-challenges ⭐️ Почему так? Проблема большинства курсов в том, что они вываливают всю информацию сразу. Новичку это не помогает — он просто не может усвоить продвинутые концепции без опыта. Точно так же, как нет смысла проходить весь React от и до при первом знакомстве, нет смысла полностью изучать TypeScript на старте. #typescript

🚀 Сначала запусти — потом улучшай Когда я начинал с Yeahub, меня манило всё отполировать: идеальный интерфейс, логика, тексты. Но я понял — пользователю это не важно, если продукт не решает его проблему. Главное — понять, чего хочет человек, проверить гипотезу. Пусть через сырое приложение, без идеального дизайна. Всё остальное можно допилить позже. Поэтому я полностью согласен с идеей челленджа «12 запусков за 12 месяцев» в комьюнити «Короче, Капитан». Там фаундеры не ждут идеального момента — они создают. ⚡️Фокус. Берёте одну проблему с проверенным спросом. Никаких догадок. ⚡️Скорость и бюджет. Ровно месяц на разработку и запуск в США/ЕС. Средний бюджет на продвижение — всего $150. ⚡️Анализ. В конце месяца — честный разбор: что сработало, а что нет. Это и есть лучший способ расти. Потому что каждый запуск — это не просто продукт, это опыт, понимание пользователя и новый виток уверенности. Вы в реальном времени видите запуск, продвижение и доход по каждому проекту. Идеальный способ прокачать насмотренность и перенять работающие подходы — даже если вы инженер, а не фаундер. В будущем гарантированно набьете меньше шишек 💡 👉 Подписаться: @its_capitan Реклама: ИП Зуев Игорь Владимирович, ИНН: 360408359441, Erid: 2VtzqwAuk72

Почему Элита? Не чтобы кого-то задеть — просто для атмосферы. Как говорится, как корабль назовёшь — так он и поплывёт. Вот я и решил, что пусть хотя бы название звучит солидно, раз уж сами мы обычные фронтендеры 😄

💪 Frontend Элита — сообщество фронтендеров от Reactify x YeaHub Ну что, пора начинать! Чат ещё не полностью доделан, но уже
💪 Frontend Элита — сообщество фронтендеров от Reactify x YeaHub Ну что, пора начинать! Чат ещё не полностью доделан, но уже готов принимать своих первых участников 🙌 Присоединяйтесь, коллеги и единомышленники! Чат абсолютно бесплатный — впереди гайды, полезные материалы и различные активности, которые мы будем постепенно добавлять. Добро пожаловать в наше сообщество! 🚀 https://t.me/+TCFPcrZTS9YwZDli

Всем привет! Запускаю свою вторую попытку создать активное и полезное сообщество (на самом деле это уже удалось: в чате с уче
Всем привет! Запускаю свою вторую попытку создать активное и полезное сообщество (на самом деле это уже удалось: в чате с учениками — 215 человек, и там отличная активность; теперь хочется сделать ещё и открытую бесплатную версию). Уже подготовил чат с различными топиками, разделами и подборками ресурсов. Планирую регулярно пополнять его материалами: занятиями с менторством, разбором работ, ответами на вопросы, а также стримами. Параллельно собираюсь активно ворваться на YouTube — идей действительно много. Фактически у меня уже есть готовые сценарии: мои собственные курсы с менторства. Осталось всего лишь начать записывать видео, так что контента будет достаточно! Сообщество будет закрытым, но бесплатным чатом. Назвал его «Frontend Элита» 😂 Буду рад каждому участнику. До конца недели пришлю ссылку сюда Давайте вместе сделаем фронтенд снова великим! 💪 😇

https://www.youtube.com/watch?v=xe6AzdjVz4E IT выходит на новый уровень 😅 Смотрим новое айтишников шоу 💪🏻 Сегодня в 13:00 мск

🔥 10 способов оптимизировать React-бандл Когда React-приложение растёт, размер бандла становится критичным. От него напрямую
🔥 10 способов оптимизировать React-бандл Когда React-приложение растёт, размер бандла становится критичным. От него напрямую зависят скорость загрузки, время до первого рендера и даже SEO. Вот проверенные приёмы, которые реально уменьшают размер бандла и ускоряют загрузку 👇 1️⃣ Tree shaking Webpack умеет автоматически выкидывать неиспользуемый код. Главное — использовать import/export, а не require(). Например, если ты импортировал только map из lodash, в бандл не попадёт весь lodash, а только нужная часть. Это работает в продакшн-сборке (mode: 'production') и помогает избавиться от «мёртвых» зависимостей. 2️⃣ Code splitting / Lazy loading Разделяем приложение на отдельные чанки, чтобы не грузить всё сразу. В React это делается просто:
const Settings = React.lazy(() => import('./Settings'));
Компонент подгружается только при переходе на нужную страницу — это ускоряет загрузку первого экрана и экономит трафик пользователю. 3️⃣ Dynamic imports Похожи на lazy loading, но гибче: модуль можно подгрузить в любой момент, например, при клике или определённом событии.
button.onclick = async () => {
  const { run } = await import('./heavyModule');
  run();
};
Так можно динамически подгружать тяжёлые утилиты, графики или редакторы, которые нужны не всем пользователям. 4️⃣ Vendor splitting Отделяем сторонние библиотеки (React, Lodash, Axios и т.д.) от остального кода. Они попадают в отдельный чанк (vendors.js), и браузер может кешировать его между обновлениями приложения. При следующем релизе пользователь скачает только изменившийся код, а не всё приложение заново. 5️⃣ Bundle analyzer Инструмент webpack-bundle-analyzer показывает визуально, какие файлы занимают больше всего места в бандле. Это помогает быстро понять, стоит ли заменить тяжёлую библиотеку на более лёгкий аналог или удалить неиспользуемые импорты. Пример: часто moment.js можно заменить на dayjs, и размер падает на десятки килобайт. 6️⃣ Compression (gzip / brotli) После сборки важно сжимать файлы перед отправкой пользователю. На сервере (или CDN) включается gzip или brotli, и вес бандла уменьшается в 2–3 раза. Например, 600 KB превращаются в 200 KB — и страница загружается ощутимо быстрее. 7️⃣ Minification Минификация удаляет пробелы, переносы строк, комментарии и переименовывает переменные. Инструменты вроде Terser или esbuild делают это автоматически при продакшн-сборке. В итоге код становится компактнее и быстрее загружается, но функционально не меняется. 8️⃣ Dead code elimination Webpack и Babel умеют находить и удалять код, который никогда не выполнится. Например:
if (process.env.NODE_ENV !== 'production') {
  console.log('debug info');
}
В продакшн-версии эти строки просто не попадут в итоговый бандл. Это избавляет от лишнего мусора и ускоряет работу. 9️⃣ Asset optimization Изображения, шрифты и SVG тоже влияют на размер бандла. Используй оптимизацию — например, image-webpack-loader или svgo. Преобразуй картинки в современные форматы (.webp, .avif), чтобы они весили меньше. Иногда просто переконвертация PNG → WebP уменьшает размер в 5–10 раз. 🔟 Prefetch / Preload Позволяет браузеру заранее подгружать чанки, которые скоро понадобятся.
<link rel="prefetch" href="settings.chunk.js">
Например, пользователь на главной странице, но браузер уже «знает», что он, скорее всего, откроет настройки — и подгружает их заранее. Это улучшает перформанс без лишней нагрузки на сеть.
⚡️ Даже простое применение этих приёмов может сократить размер бандла в 2–3 раза и сделать приложение визуально «быстрее» для пользователя. А если подключить анализатор и немного поработать с динамическими импортами — результат будет заметен сразу.
#react #frontend #webpack #vite #оптимизация #performance #оптимизации #react #frontend #webpack

Честность и репутация Многие боятся обратиться к ментору по разным причинам: кто-то думает, что ментор возьмёт деньги и пропа
+4
Честность и репутация Многие боятся обратиться к ментору по разным причинам: кто-то думает, что ментор возьмёт деньги и пропадёт (хотя я такого лично не слышал, но страх есть), кто-то боится пустых обещаний — оплатил, а результата нет; кто-то не верит в обещания о трудоустройстве и показанных кейсах, думает — инфоцыган. Как доказать человеку, что это действительно работает: что ученик получает созвоны, стажировку, курсы; что ментор не забьёт и что офферы и результаты — реальные. Проблема честных людей сегодня — нужно доказать, что ты честный. Скама много, инфоцыган — тьма. Когда я искал дизайнера для улучшения платформы с курсами, меня заскамили три человека — вот такая я «бабушка». Раньше я всегда находил исполнителей и всё шло гладко, а в этот раз случилась какая-то чёреда неудач. В итоге потерял примерно 40–50 тысяч рублей и в итоге сам сделал работу. Сейчас действительно много обмана: все хотят лёгких денег. Люди, которые когда-то презирали скаммеров, сами начинают обманывать ради выгоды — интересно, в какой момент это происходит и как они это себе оправдывают? Ведь жить с собой им потом. Я очень впечатлительный человек. Мой путь от «завода за 40к» до айтишника и основателя продукта начался с того дня, когда я бросил пить и курить — полностью и навсегда. У меня есть страх: если я снова начну пить, я всё потеряю. Не потому что я алкоголик, а потому что верю в карму, в обещания и в сделку с самим собой. Я тот, кем являюсь — я не обманываю людей, трепетно отношусь к своей репутации; знаю, что если обману — это вернётся. Я хотел бы жить в мире, где просят помощи только те, кто действительно в ней нуждается, а не попрошайки, которые на этом наживаются. Часто на улице мне не по себе: раньше я останавливался и пытался помочь, а теперь чаще прохожу мимо, боясь, что это очередной обман. И потом переживаю, что поступил плохо. Вывод: будьте внимательны, тщательно проверяйте, что покупаете и с кем работаете. Проверяйте всё много раз — не экономьте на надёжности. Когда я выбирал дизайнера, был выбор: специалист с аудиторией и портфолио за 60к и другой без следов работы за 25к. Лучше бы я взял того за 60к — получил бы качество и сэкономил время, чем копаться с тремя недобросовестными подрядчиками. Так же меня уже несколько раз обманывали сами ученики. Получали абсолютно всё: и звонки, и полное обучение на протяжении 6–8 месяцев, и поддержку, и стажировку. Потом выходили на рынок — и пропадали. Кто-то удалял переписку и больше не отвечал, кто-то просто игнорировал, а кто-то даже аккаунт в Telegram удалил. И ведь самое интересное — со всеми у нас были отличные отношения: общались, шутили, встречались. И всё равно вот так… Если тебе человек помог достичь цели, почему нельзя его отблагодарить? Ведь это не предоплата, а именно постоплата — после результата, после выхода на работу. Это не “заплати и надейся”, это “добился — поблагодари”. После нескольких таких случаев я решил навести порядок и разработал договор. Теперь и ученик спокоен — его не обманут, и я уверен — мой труд не пропадёт зря. Просто накипело. Решил поделиться.

Repost from YeaHub
Что для вас было бы наиболее полезным?
Anonymous voting

💻 Вся база по JavaScript и React Я выпустил два видео общей продолжительностью около 5 часов — это полноценная подготовка по
💻 Вся база по JavaScript и React Я выпустил два видео общей продолжительностью около 5 часов — это полноценная подготовка по всему фронтенду. Здесь собраны примерно 90% всех вопросов, которые вам могут задать на собеседованиях. Есть еще темы вроде TypeScript, Next.js, сетей, общих вопросов и верстки — их тоже спрашивают, но это малая часть по сравнению с основным объёмом, который покрывают эти два видео. 🔥 Дальше хочу сделать видео “Весь лайвкодинг по JavaScript за 2 часа” Планирую собрать 200+ задач, примеров из консоли, рефакторингов и пройтись по всем типам и темам задач, которые встречаются на собесах. Ранее я уже проводил подобное занятие на менторстве — получилось около 2 часов, но тогда не успел охватить всё. Теперь хочу подготовить полный роадмап по лайвкодингу и снять полноценное видео. А пока — можете проверять свои знания и готовиться к собесам по уже выпущенным видео 👇 👩‍💻 ВЕСЬ React в одном собеседовании. 100 вопросов + 20 задач за 2 часа 👩‍💻 ВЕСЬ JavaScript в одном собеседовании. 200 вопросов + 70 задач за 2 часа

👩‍💻 Как учить Redux и не утонуть в абстракциях Redux часто вводит новичков в ступор: куча обёрток, абстракций, бойлерплейта
👩‍💻 Как учить Redux и не утонуть в абстракциях Redux часто вводит новичков в ступор: куча обёрток, абстракций, бойлерплейта, бесконечные конфиги… Нужно держать в голове, что где-то «в одном месте лежат данные», а использовать их можно совсем в другом. Всё это может сбивать с толку. Разберёмся, как подойти к изучению Redux так, чтобы не перегореть и быстро прийти к результату. 🤔 1. Нужно ли знать старый Redux? Сегодня знать классический Redux (до RTK) — не обязательно. Но понимать, как он устроен, всё же полезно для кругозора. Лучше начать с Redux Toolkit (RTK) — это современный, удобный способ работы с Redux. 👉 План простой: - Изучи RTK: пройди короткий курс, сделай мини-проект. - Потом, для интереса, быстро глянь, как всё было «по-старинке» — чтобы понимать эволюцию и причины появления RTK. Продвинутый Redux. Redux Toolkit, RTK query, TypeScript. Полный курс Redux Toolkit + RTK Query для начинающих 📚 2. Освой базу (и не перегружайся) На старте тебе нужно знать только основу Redux Toolkit: - как создавать slice, - как конфигурировать store, - как использовать dispatch и useSelector, - и как подключить всё через Provider. Этого достаточно, чтобы начать. Не лезь сразу в thunk-и, middleware или сложные конфиги — это придёт позже. Главное — понять саму идею:
где-то создаются данные → ты можешь их менять → компонент реагирует и перерисовывается.
👨🏻‍💻 3. Практикуйся на реальных мини-проектах Следующий шаг — практика. Смотри практические видео или мини-курсы вроде «Админка за 6 часов» — где используется React, RTK и другие знакомые технологии. А так же можно прогнать много небольших проектов, чтобы запомнить воркфлоу. 🔁 Идея проста: - Делай много маленьких проектов, а не один гигантский. - Лучше 10 разных по часу, чем один на 10 часов. Так ты начнёшь видеть закономерности, узнавать шаблоны и быстрее адаптироваться к разным кейсам. Build and Deploy a React Cryptocurrency App and Master Redux Toolkit 🚀 4. Создай свой проект Когда чувствуешь уверенность — делай свой проект: - подключи API, - добавь дизайн, - используй привычный шаблон, но адаптируй под себя. Не стремись помнить всё наизусть — важно понимать принцип, а не синтаксис. Добавляй новые сущности, слайсы, компоненты — играйся с кодом, расширяй границы. 😎 5. Главное — практика На полноценное освоение основ Redux Toolkit достаточно около 2 недель. Всё остальное время — практика и интеграция с другими инструментами. Учись не «изолированно», а в реальных проектах, где Redux работает вместе с React, API, роутингом и UI-библиотеками. Redux + Redux Toolkit | Продвинутый полный курс #redux #frontend

Repost from YeaHub
🚀 Прокачиваем подготовку к собеседованиям на максимум! Если ты ещё не заглядывал(а) в 👍 «Авось Прорвёмся» — самое время. Эт
+3
🚀 Прокачиваем подготовку к собеседованиям на максимум! Если ты ещё не заглядывал(а) в 👍 «Авось Прорвёмся» — самое время. Это проект Ани для самостоятельной подготовки, где есть: - 1000+ записей реальных собеседований с разбором задач и вопросов; - контакты рекрутеров; - гайды по резюме, трудоустройству и стратегиям поиска работы. - задачи и вопросы с собеседований Мы в YeaHub продолжаем добавлять собеседования из этих чатов — теперь их можно проходить в тренажёре, тренируя ответы на реальные вопросы работодателей. 🎧 Сначала слушай, как проходят настоящие собесы, 💡 потом — разбирай и практикуй те же кейсы в тренажёре. Направления: iOS, Android, Frontend, Python, Go, Java, C#, QA, Analytics. 👉 Обучайтесь, общайтесь, растите вместе с YeaHub и Авось Прорвемся

🖥 Middle Frontend разработчик в компанию Аэрофлот Техническое собеседование. Лето 2025. Вилка: 300к+. Опыт в резюме: 3+ года
🖥 Middle Frontend разработчик в компанию Аэрофлот Техническое собеседование. Лето 2025. Вилка: 300к+. Опыт в резюме: 3+ года. Проект: редизайн сайта Аэрофлота (система бронирования), поддержка старого сайта, дизайн- система. Были практические задачи (Event Loop, реализация метода groupBy). Вопросы: - SEO - для чего нужно, как достигается? - Как реализовать глубокое копирование обьекта без использования JSON.stringify и StructuredClone? Какие сложности могут возникнуть? - Event Loop, что относится к микро и макро задачам? - Что такое мемоизация, и как её можно использовать для оптимизации производительности? - Как работает сборщик мусора (garbage collector) в JavaScript? Какие есть стратегии для управления памятью? Все 29 вопросов можно посмотреть на нашей платформе #собес

👩‍💻 ВЕСЬ React в одном собеседовании. 100 вопросов + 20 задач за 2 часа Это видео представляет собой структурированный разб
👩‍💻 ВЕСЬ React в одном собеседовании. 100 вопросов + 20 задач за 2 часа Это видео представляет собой структурированный разбор ключевых тем React, необходимых для успешного прохождения технического собеседования. Формат сочетает теоретические вопросы с практическим решением задач. Рекомендую посмотреть это видео, как и предыдущее. Считай, сразу готов к собесам 😎 Видео уже на канале! Я не оставляю ссылку, так как видео лучше продвигается, если заходить на него напрямую с YouTube. Это помогает улучшить его рейтинг и увеличить шансы на органическое продвижение. 🔗 Ссылка на вопросы и задачи #react #собеседования

Видео оказалось дольше, чем по React. Сняли одним дублем, без остановки, без монтажа и вставок. Оцените потом, как надо отвеч
Видео оказалось дольше, чем по React. Сняли одним дублем, без остановки, без монтажа и вставок. Оцените потом, как надо отвечать на собеседованиях, какие глубокие ответы дает Владимир 💪

Готовность 5 минут, скоро съемки 👩‍💻 Вопросы + Задачи Новый герой видео - Владимир. Во вторник (надеюсь) выйдет видео
Готовность 5 минут, скоро съемки 👩‍💻 Вопросы + Задачи Новый герой видео - Владимир. Во вторник (надеюсь) выйдет видео

Как думаете, нормально ли назвать канал Куянец Руслан | Reactify и сделать ребрендинг?)
Anonymous voting

👩‍💻 ВЕСЬ React в одном собеседовании. Уже собираем интересные вопросы и задачи. Выбран кандидат на прохождение собеса 🤝 Бу
👩‍💻 ВЕСЬ React в одном собеседовании. Уже собираем интересные вопросы и задачи. Выбран кандидат на прохождение собеса 🤝 Будет пушка 🏆

Мне нравится IT за возможность бесконечно развиваться. Приятно и круто, когда твоя экспертиза не ограничивается одной область
+2
Мне нравится IT за возможность бесконечно развиваться. Приятно и круто, когда твоя экспертиза не ограничивается одной областью. Я считаю, что хороший специалист должен мыслить архитектурно, понимать инфраструктуру и не ограничиваться своей узкой частью, а видеть, как работает приложение целиком. Помню, как писал пост о том, какие технологии я знаю и с чем успел поработать. Также был список того, с чем хотел бы поработать для полного счастья. В этом списке были Kubernetes и умение создавать инфраструктуру продуктов. И вот я это сделал. Я полностью, от начала и до конца, мигрировал всю инфраструктуру на Kubernetes в YeaHub. Теперь это стартап с enterprise-уровнем инфраструктуры в полном фарше. Я мог нанять DevOps, но решил сделать всё сам — мне нужно было закрыть этот пункт. Все свои шаги я записывал и оформили в пошаговый гайд с объяснениями. Теперь, если у меня появится идея стартапа, я смогу за день развернуть инфраструктуру продукта любой сложности. Круто, что мои ученики изучают процессы разработки на реальном боевом проекте с таким сложным стеком. Мы изучаем разработку на примере YeaHub, учимся работать в команде и писать качественный код. Сейчас мы создаем приложение на Next.js, чтобы ученики получили ещё и опыт с этим стеком. А ещё наша команда растёт. YeaHub объединяет менторов, которые хотят, чтобы их ученики умели работать, а не просто проходили собесы. Для меня это тоже прокачка, только уже в сторону менеджера, руководителя. Сейчас у нас 100 человек на проекте YeaHub, из которых большинство — новички. Сложно всё это поддерживать и контролировать. Легко, когда ты Product Owner в команде из 20 опытных специалистов, но сложно, когда ты Product Owner в команде из 100 человек, 90% которых — новички без опыта 😅 В общем, большие планы у нас. Работаем дальше 💪🚀 ПС. На 1 скрине расписание в YeaHub. На 2 скрине scrum-доска. На 3 скрине наша документация Пост, где я говорю о своих навыках и планах: https://t.me/reactify_IT/1404 Описание инфраструктуры YeaHub: https://t.me/yeahub/75

🚀 UX Performance: как скорость ощущается глазами пользователя Когда мы говорим "сайт быстрый" — это не про цифры в Lighthous
+3
🚀 UX Performance: как скорость ощущается глазами пользователя Когда мы говорим "сайт быстрый" — это не про цифры в Lighthouse, а про то, как человек ощущает взаимодействие. Google выделил три ключевых метрики, которые напрямую влияют на удобство: LCP — Largest Contentful Paint INP (ранее FID) — Interaction to Next Paint CLS — Cumulative Layout Shift Давай разберём их: что значат, как ломаются и как чинить. 1. 🖼 LCP — "Когда я увидел главное" Что это: за сколько секунд показывается главный кусок контента (большая картинка, заголовок, постер видео).
👉 Хорошо: ≤ 2.5с, Плохо: > 4с.
Пример плохого UX: Открываешь страницу новостей, а вместо фото и заголовка долго смотришь на белый экран. Даже если внизу уже подгрузился футер, пользователю кажется, что страница медленная. Что ломает LCP: - Ленивая загрузка (loading="lazy") у главной картинки. - Большой TTFB (медленный сервер/БД). - Картинка грузится через JS, а не сразу в HTML. Как починить: - Ускорить бэкенд + CDN. - Добавить preload для картинки - Не ленизируйте главный баннер. - Используйте современные форматы (AVIF/WebP). 2. ⚡ INP — "Насколько сайт слушается" Что это: измеряет задержку между действием (клик, ввод) и моментом, когда UI реально отвечает.
👉 Хорошо: ≤ 200мс, Плохо: > 500мс.
Пример плохого UX: Ты кликаешь на кнопку "Добавить в корзину", а сайт думает 1–2 секунды, и только потом подсвечивает товар. Даже если заказ оформляется успешно — ощущение тормоза. Что ломает INP: - Тяжёлый JS-бандл, грузящий CPU. - Обработчик события делает слишком много (например, ререндер целого списка). - Длинные задачи > 50мс на главном потоке. Как починить: - Разбивайте работу на части (Web Worker, requestIdleCallback). - Даём быстрый визуальный отклик, а данные подгружаем асинхронно. - Слушатели прокрутки/тача → всегда passive: true - Для длинных списков — content-visibility: auto; в CSS. 3. 📏 CLS — "Ничего не прыгает" Что это: метрика стабильности интерфейса.
👉 Хорошо: ≤ 0.1, Плохо: > 0.25.
Пример плохого UX: Ты хотел кликнуть "Оплатить", но страница прыгнула из-за подгрузившейся рекламы, и ты ткнул в "Удалить". Боль. Что ломает CLS: - Картинки без размеров. - Баннеры/видео без зарезервированного места. - Подключение шрифтов без font-display: swap. Как починить: - Всегда задаём размеры/aspect-ratio у изображений - Резервируем контейнеры под рекламу. - Используем font-display: swap и fallback-шрифты близкие по метрикам. - Анимации — только через transform/opacity.