Последний шанс залутать курсы Proglib Academy с выгодой 40% и пожизненным доступом.
До 1 августа действует скидка на курсы по математике для Data Science, алгоритмам и структурам данных, обновлённому Python, frontend-разработке с нуля, основам IT для непрограммистов, базовым моделям ML, а также архитектурам и шаблонам проектирования.
Выбираем и забираем 👈
P.S. Акция не распространяется на курсы «AI-агенты для DS-специалистов» и «ML для старта в Data Science».
До 1 августа действует скидка на курсы по математике для Data Science, алгоритмам и структурам данных, обновлённому Python, frontend-разработке с нуля, основам IT для непрограммистов, базовым моделям ML, а также архитектурам и шаблонам проектирования.
Выбираем и забираем 👈
P.S. Акция не распространяется на курсы «AI-агенты для DS-специалистов» и «ML для старта в Data Science».
❤5
Разработка интерфейсов для dApp — это не просто интеграция с блокчейном, а создание безопасных и удобных инструментов для пользователей.
Что в карточках:
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6❤3
Позволяет лениво подгружать компонент, разделяя бандл и ускоряя первую загрузку.
const LazyComponent = React.lazy(() => import("./MyComponent»));
Зачем это нужно:
— Уменьшает размер основного бандла.
— Улучшает скорость первого рендера (LCP).
— Позволяет загружать компонент только тогда, когда он реально нужен.
— Можно обернуть в Suspense, чтобы показать loader:
<Suspense fallback={<Spinner />}>
<LazyComponent />
</Suspense>
— Компонент загружается один раз и кешируется браузером.
— Можно использовать dynamic import и в Next.js:
const LazyComponent = dynamic(() => import("./MyComponent"), { ssr: false });
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤2🔥1🥱1
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5😁3
Перед запуском проекта важно проверить его производительность. Этот чек-лист поможет выявить слабые места и обеспечить пользователям быстрый и стабильный опыт.
— Используйте инструменты, такие как Lighthouse или WebPageTest, чтобы измерить TBT и убедиться, что основная часть контента становится интерактивной в пределах 100-200 мс.
— Убедитесь, что изображения, видео и другие ресурсы, которые не видны при загрузке страницы, загружаются только по мере необходимости (lazy-loading).
— Оптимизируйте неважные задачи (например, отправка аналитики, обработка неважных фонов задач) с помощью requestIdleCallback, чтобы не блокировать основной поток выполнения.
— Используйте font-display: swap для веб-шрифтов, чтобы они не блокировали рендер страницы при их загрузке.
— Разделите код на части с помощью динамической загрузки (code splitting), чтобы минимизировать начальный бандл. Используйте defer или async для скриптов.
— Настройте заголовки кеширования для статичных ресурсов и используйте механизмы вроде stale-while-revalidate для API-запросов.
— Проверьте, что весь JavaScript, CSS и HTML сжаты и минифицированы, используя инструменты типа Terser или CSSNano.
— Используйте preload или prefetch для приоритетных ресурсов, чтобы ускорить их загрузку, а также отложите менее важные ресурсы.
— Прогоните ваше приложение через Lighthouse и WebPageTest, чтобы узнать, есть ли какие-то узкие места, которые могут замедлять работу.
🔧 Завершающая проверка:
— Пройдитесь по результатам и проверьте, не превышают ли важные метрики (например, FCP, LCP) пороговых значений.
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤5🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
Работа с дизайнерами — это всегда вызов, когда их креативные идеи выходят за рамки привычного.
Вопрос от подписчика:
«Однажды дизайнер настоял на том, чтобы кнопки в интерфейсе были в стиле старых приложений Windows 95 — с анимациями и даже с мигающими кнопками. «Старый стиль», «кнопки, которые моргают», — все это нужно было сделать с помощью CSS. Конечно, такой запрос вызвал у меня вопросы и у всей команды, но в итоге мы смогли воссоздать эту атмосферу, только с использованием современных технологий.»
Поделитесь своими историями в комментариях
P.S. Если хотите задать вопрос, заполните нашу гугл-форму. Это займет 5 минут.
#междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
😁7👾1
Глубокий разбор проблем с производительностью TypeScript в больших проектах и монорепах.
В подкасте:
Разговор не про хейт TypeScript, а про то, как сделать его быстрым и удобным даже в огромных кодовых базах.
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4❤2🔥1
Доступность (A11y) — не про «особые случаи», а про качество интерфейса в целом. Если элемент невозможно использовать с клавиатуры, он недоступен. Если цветовая схема неразборчива — он недоступен.
Что разобрано в карточках:
Если вы ещё не проверяли свои компоненты на A11y — самое время начать.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥11❤2👍1
Please open Telegram to view this post
VIEW IN TELEGRAM
😁9👍2🌚2
🧩 Компоненты или все в одном
Когда разрабатываете интерфейс, всегда возникает вопрос: стоит ли разделять его на маленькие, атомарные компоненты или проще собрать всё в одном?
Каждый подход имеет свои плюсы и минусы, и важно выбрать тот, который подходит именно для вашего проекта.
✅ Преимущества разделения на компоненты:
— Маленькие компоненты легко переиспользуются, что упрощает поддержку и расширение проекта.
— Компоненты легче тестировать и изменять, что делает код более гибким и читаемым.
— Когда каждый работает над своим компонентом, это упрощает взаимодействие в команде.
⛔️ Почему всё в одном тоже имеет смысл:
— В небольших проектах бывает проще не заморачиваться на создание множества компонентов, а просто сделать один большой.
— Иногда большое количество маленьких компонентов может повлиять на производительность, особенно в крупных приложениях.
— Когда всё в одном компоненте, проще контролировать логику и избежать излишней абстракции.
Что для вас удобнее: дробить интерфейс на множество маленьких компонентов или работать с одним большим?
Поделитесь в комментариях!✏️
🐸 Библиотека фронтендера
#междусобойчик
Когда разрабатываете интерфейс, всегда возникает вопрос: стоит ли разделять его на маленькие, атомарные компоненты или проще собрать всё в одном?
Каждый подход имеет свои плюсы и минусы, и важно выбрать тот, который подходит именно для вашего проекта.
— Маленькие компоненты легко переиспользуются, что упрощает поддержку и расширение проекта.
— Компоненты легче тестировать и изменять, что делает код более гибким и читаемым.
— Когда каждый работает над своим компонентом, это упрощает взаимодействие в команде.
— В небольших проектах бывает проще не заморачиваться на создание множества компонентов, а просто сделать один большой.
— Иногда большое количество маленьких компонентов может повлиять на производительность, особенно в крупных приложениях.
— Когда всё в одном компоненте, проще контролировать логику и избежать излишней абстракции.
Что для вас удобнее: дробить интерфейс на множество маленьких компонентов или работать с одним большим?
Поделитесь в комментариях!
#междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔5❤3👍1