Когда имеет смысл блокировать главный поток
Кратко о том, когда правило “не тормози main thread” можно нарушать. Разбираем пример screenshot-расширения с сериализацией Base64.
https://smashingmagazine.com/2026/07/when-makes-sense-block-main-thread/
Кратко о том, когда правило “не тормози main thread” можно нарушать. Разбираем пример screenshot-расширения с сериализацией Base64.
https://smashingmagazine.com/2026/07/when-makes-sense-block-main-thread/
👍4❤2🔥2🤔1
«Вы не знаете CSS»: вопросы о CSS с ответами, версия 2026 года
Проверка знаний CSS в формате вопросов: разбор специфичности с
https://habr.com/ru/companies/ruvds/articles/1057086/
Проверка знаний CSS в формате вопросов: разбор специфичности с
:has(), логики :focus-within, работы rem, inline-grid и нюансов применения margin при разных display и многое другое.https://habr.com/ru/companies/ruvds/articles/1057086/
🔥7❤🔥2👍2
Masonry с анимацией в CSS
https://master.dev/blog/masonry-with-animation-in-css/
display: grid уже умеет раскладку в стиле masonry через grid-lanes. Чтобы получить плавную перестановку без JS-логики, анимируют не сами карточки, а их внутренний слой: он привязывается якорями и двигается за счёт inset: anchor(inside) с transition.https://master.dev/blog/masonry-with-animation-in-css/
❤🔥7👍3
Анимация In-N-Out с sibling-index()
Фишка в CSS-функции
https://master.dev/blog/in-n-out-animation-using-sibling-index/
Фишка в CSS-функции
sibling-index(): при добавлении/удалении элементов индекс пересчитывается, а значит меняются значения translate, и включённый transition автоматически превращает перестроение DOM в плавную анимацию. Отлично подходит для аватаров, списков и сеток.https://master.dev/blog/in-n-out-animation-using-sibling-index/
🔥9❤2
Лучшие состояния загрузки — это когда их нет.
Вместо спиннеров и скелетонов прокачивайте стратегию preloading: заранее подгружайте данные и готовьте переходы между маршрутами, чтобы страница ощущалась как загруженная сразу. Route transitions не убирают загрузку полностью, но помогают перенести её на уровень приложения, делая UX стабильнее и предсказуемее в SPA.
https://master.dev/blog/the-best-loading-states-are-no-loading-states/
Вместо спиннеров и скелетонов прокачивайте стратегию preloading: заранее подгружайте данные и готовьте переходы между маршрутами, чтобы страница ощущалась как загруженная сразу. Route transitions не убирают загрузку полностью, но помогают перенести её на уровень приложения, делая UX стабильнее и предсказуемее в SPA.
https://master.dev/blog/the-best-loading-states-are-no-loading-states/
👍8💩7❤3
Как верстали 15 лет назад
Вырезки из книги по верстке 2004 года: забавные техники, которые были актуальны в то время.
https://habr.com/ru/companies/ruvds/articles/1060630/
Вырезки из книги по верстке 2004 года: забавные техники, которые были актуальны в то время.
https://habr.com/ru/companies/ruvds/articles/1060630/
❤11👻4👍2
Обфускация JavaScript в эпоху ИИ: всё ещё имеет смысл?
Обфускация не делает фронтенд секретным: браузерный код всё равно можно извлечь, но становится заметно сложнее читать, копировать и безопасно модифицировать. ИИ ускоряет понимание и может собирать правдоподобную чистую версию. Используйте обфускацию только как часть защиты, а реальные ключи, авторизацию и валидацию критичных правил держите на сервере.
https://www.jstools.space/blog/javascript-obfuscation-ai/
Обфускация не делает фронтенд секретным: браузерный код всё равно можно извлечь, но становится заметно сложнее читать, копировать и безопасно модифицировать. ИИ ускоряет понимание и может собирать правдоподобную чистую версию. Используйте обфускацию только как часть защиты, а реальные ключи, авторизацию и валидацию критичных правил держите на сервере.
https://www.jstools.space/blog/javascript-obfuscation-ai/
👍8🤡7
🔴 Тестовое собеседование с ТимЛидом Frontend-разработки в этот четверг
6 августа(в четверг!) в 19:00 по мск приходи онлайн на открытое собеседование, чтобы посмотреть на настоящее интервью на Middle Frontend-разработчика.
Как это будет:
📂 Алексей Романов, Teamlead в Underhood.dev с опытом 6+ лет, будет задавать реальные вопросы и задачи разработчику-добровольцу
📂 Алексей будет комментировать каждый ответ респондента, чтобы дать понять, чего от вас ожидает собеседующий на интервью
📂 В конце можно будет задать любой вопрос Алексею
Это бесплатно. Эфир проходит в рамках менторской программы от ШОРТКАТ для Frontend-разработчиков, которые хотят повысить свой грейд, ЗП и прокачать скиллы.
Переходи в нашего бота, чтобы получить ссылку на эфир → @shortcut_front_bot
Реклама.
О рекламодателе.
6 августа(в четверг!) в 19:00 по мск приходи онлайн на открытое собеседование, чтобы посмотреть на настоящее интервью на Middle Frontend-разработчика.
Как это будет:
📂 Алексей Романов, Teamlead в Underhood.dev с опытом 6+ лет, будет задавать реальные вопросы и задачи разработчику-добровольцу
📂 Алексей будет комментировать каждый ответ респондента, чтобы дать понять, чего от вас ожидает собеседующий на интервью
📂 В конце можно будет задать любой вопрос Алексею
Это бесплатно. Эфир проходит в рамках менторской программы от ШОРТКАТ для Frontend-разработчиков, которые хотят повысить свой грейд, ЗП и прокачать скиллы.
Переходи в нашего бота, чтобы получить ссылку на эфир → @shortcut_front_bot
Реклама.
О рекламодателе.
👍6💩2🤣1
Опенсорсная Весёлая Ферма: поднимаем preview‑окружения без боли.
Пример построения системы сборок. Preview‑окружения для каждого пул‑реквеста перестают быть ручной магией: код из ветки собирается, запускается изолированный инстанс и ему выдаётся уникальный URL, а проксирование трафика берёт на себя nginx/Ingress.
https://habr.com/ru/companies/yandex/articles/1064394/
Пример построения системы сборок. Preview‑окружения для каждого пул‑реквеста перестают быть ручной магией: код из ветки собирается, запускается изолированный инстанс и ему выдаётся уникальный URL, а проксирование трафика берёт на себя nginx/Ingress.
https://habr.com/ru/companies/yandex/articles/1064394/
👍7❤2💩2⚡1😁1🤔1
Конец адаптивных изображений.
Атрибут
Идея в том, чтобы перейти к Client Hints: браузер подсказывает серверу нужный размер, сервер присылает подходящее изображение, а разметка сводится к простому
https://master.dev/blog/ending-responsive-images/
Атрибут
sizes для <img> раньше был самым сложным: его синтаксис приходилось постоянно держать в актуальном состоянии вместе с CSS.Идея в том, чтобы перейти к Client Hints: браузер подсказывает серверу нужный размер, сервер присылает подходящее изображение, а разметка сводится к простому
<img src="" alt=""> (плюс не забыть про lazy loading).https://master.dev/blog/ending-responsive-images/
❤11🔥2
Переходы View Transitions: важно не сделать интерфейс некликабельным
Если не настроить View Transitions, псевдоэлемент
https://master.dev/blog/view-transitions-careful-not-to-make-stuff-unclickable/
Если не настроить View Transitions, псевдоэлемент
::view-transition может перекрыть весь вьюпорт на время анимации и блокировать клики по интерактивным элементам. Решение — отключить участие :root в снапшоте и убрать перехват событий у ::view-transition. Подробнее — в статьеhttps://master.dev/blog/view-transitions-careful-not-to-make-stuff-unclickable/
👍5❤3🤔1
Фронтенд не умер — просто AI уже копает за нас лопатой
AI уже берёт на себя рутину: помогает делать черновики, тесты и фикстуры, ускоряет миграции и онбординг, а также может расследовать инциденты и собирать десятки связанных PR.
Главный риск не в плохом коде, а в скорости: растут объём ревью, число переделок и вероятность уверенно закрепить неверное решение, поэтому нужны планы, этапная проверка и ответственность инженера за результат.
https://habr.com/ru/companies/avito/articles/1066228/
AI уже берёт на себя рутину: помогает делать черновики, тесты и фикстуры, ускоряет миграции и онбординг, а также может расследовать инциденты и собирать десятки связанных PR.
Главный риск не в плохом коде, а в скорости: растут объём ревью, число переделок и вероятность уверенно закрепить неверное решение, поэтому нужны планы, этапная проверка и ответственность инженера за результат.
https://habr.com/ru/companies/avito/articles/1066228/
👎15👍9❤2🤔1🤬1
5 CSS-свойств, которые прокачают дизайн текста
Показывайте фон внутри букв через
https://master.dev/blog/typographic-css-tricks/
Показывайте фон внутри букв через
background-clip: text, управляйте вертикальным выравниванием инлайновых элементов через vertical-align, добавляйте выразительность letter-spacing и еще несколько свойств и кейсов их применения — по ссылке.https://master.dev/blog/typographic-css-tricks/
1👍6❤2🔥2
Монолит больше не приговор: строим быстрые и гибкие микрофронтенды на ES-модулях
Монолитное фронтенд-приложение можно разрезать на микрофронты, собирая их как нативные ES-модули: меньше конфликтов зависимостей, быстрее загрузка и естественный lazy loading через
https://habr.com/ru/companies/sberbank/articles/1067496
Монолитное фронтенд-приложение можно разрезать на микрофронты, собирая их как нативные ES-модули: меньше конфликтов зависимостей, быстрее загрузка и естественный lazy loading через
import(). Для интеграции нужен чёткий контракт между хостом и микрофронтом (и единый механизм монтирования в Shadow DOM с обработкой ошибок/состояний.https://habr.com/ru/companies/sberbank/articles/1067496
👎7👍5⚡2❤1
🔴 Тестовое собеседование на Frontend-разработчика со старшим разработчиком ex. Сбер
13 августа(в четверг!) в 19:00 по мск приходи онлайн на открытое собеседование, чтобы посмотреть на настоящее интервью на Middle Frontend-разработчика.
Как это будет:
📂 Даниил Дмитриев, старший разработчик в R-Vision, ex. Сбер, будет задавать реальные вопросы и задачи разработчику-добровольцу
📂 Даниил будет комментировать каждый ответ респондента, чтобы дать понять, чего от вас ожидает собеседующий на интервью
📂 В конце можно будет задать любой вопрос Даниилу
Это бесплатно. Эфир проходит в рамках менторской программы от ШОРТКАТ для Frontend-разработчиков, которые хотят повысить свой грейд, ЗП и прокачать скиллы.
Переходи в нашего бота, чтобы получить ссылку на эфир → @shortcut_front_bot
Реклама.
О рекламодателе.
13 августа(в четверг!) в 19:00 по мск приходи онлайн на открытое собеседование, чтобы посмотреть на настоящее интервью на Middle Frontend-разработчика.
Как это будет:
📂 Даниил Дмитриев, старший разработчик в R-Vision, ex. Сбер, будет задавать реальные вопросы и задачи разработчику-добровольцу
📂 Даниил будет комментировать каждый ответ респондента, чтобы дать понять, чего от вас ожидает собеседующий на интервью
📂 В конце можно будет задать любой вопрос Даниилу
Это бесплатно. Эфир проходит в рамках менторской программы от ШОРТКАТ для Frontend-разработчиков, которые хотят повысить свой грейд, ЗП и прокачать скиллы.
Переходи в нашего бота, чтобы получить ссылку на эфир → @shortcut_front_bot
Реклама.
О рекламодателе.
🤡5👍3❤1👎1💩1
3 хорошие привычки начинающего фронтендера
Начните думать о пользователе: увеличивайте кликабельные области. Правильно подбирайте
https://habr.com/ru/companies/ruvds/articles/1066724/
Начните думать о пользователе: увеличивайте кликабельные области. Правильно подбирайте
type и inputmode для форм, чтобы браузер показывал ожидаемую виртуальную клавиатуру. Относитесь к alt осознанно: для декоративных изображений оставляйте alt="", чтобы скринридеры не озвучивали лишний шум.https://habr.com/ru/companies/ruvds/articles/1066724/
❤4👍3
Анимируем CSS border-image: градиентная рамка, которая рисуется при наведении
Свойство
https://css-tricks.com/animating-css-border-image/
Свойство
border-image позволяет использовать картинку или градиент как рамку вместо обычных линий. Можно также анимировать border-image-slice и управлять повторением через border-image-repeat: round.https://css-tricks.com/animating-css-border-image/
🔥5👍2⚡1🐳1
React Router v8: ленивые страницы и вложенные маршруты
В React Router v8 пакеты объединены:
https://reactdevelopment.substack.com/p/react-router-v8-in-action-lazy-loading
В React Router v8 пакеты объединены:
react-router-dom больше нет, а ключевые API импортируются напрямую из react-router. Используйте lazy + Suspense для code-splitting по страницам, Routes/Route для матчинга ветки с ранжированием, HashRouter для удобной статики и wildcard-роут * для нормального 404.https://reactdevelopment.substack.com/p/react-router-v8-in-action-lazy-loading
👍6❤2🔥2
µJS — лёгкая библиотека AJAX-навигации
µJS ускоряет сайт без фреймворков: перехватывает клики по ссылкам и отправку форм, подгружает новую HTML-страницу в фоне и заменяет только изменившийся контент, без полной перезагрузки. Библиотека весит около 5KB gzipped, не требует сборки и работает с любым бэкендом — достаточно подключить один скрипт и вызвать
https://mujs.org/
µJS ускоряет сайт без фреймворков: перехватывает клики по ссылкам и отправку форм, подгружает новую HTML-страницу в фоне и заменяет только изменившийся контент, без полной перезагрузки. Библиотека весит около 5KB gzipped, не требует сборки и работает с любым бэкендом — достаточно подключить один скрипт и вызвать
mu.init(). https://mujs.org/
🔥7❤3
Отложенные и мгновенные подсказки на чистом HTML + CSS
Вместо
https://master.dev/blog/delayed-then-instant-tooltips-with-html-css-alone/
Вместо
setTimeout и сложного шаринга состояния в JS можно сделать UX-тайминг tooltip’ов через popover="hint" и CSS: подсказка сначала появляется с задержкой для случайных проходов курсора, а затем — мгновенно при повторном наведении.https://master.dev/blog/delayed-then-instant-tooltips-with-html-css-alone/
👍10❤1