В этой статье:
• Подробно разбираются основные инструменты Chrome DevTools — Elements, Console, Sources, Network и их применение;
• Показывается, как эффективно искать баги, анализировать DOM, отлаживать JavaScript и отслеживать сетевые запросы;
• Объясняются возможности DevTools: Workspaces, Snippets, performance-профилирование, live-редактирование и инструменты для адаптивной вёрстки.🔊 Продолжайте читать на Habr!
Please open Telegram to view this post
VIEW IN TELEGRAM
❤13👍7🔥5🤝1
Как сделать адаптивный текст без media queries?
Очень часто для адаптации текста под разные экраны используют отдельные breakpoint. В итоге CSS разрастается, а шрифты начинают масштабироваться неравномерно.
Обычно это выглядит так:
Но CSS умеет нативно адаптировать размер текста под экран:
Теперь текст плавно масштабируется вместе с
Особенно хорошо это работает для hero-блоков, заголовков, кнопок и адаптивных интерфейсов.
Media queries часто вообще становятся не нужны.
🔥
📣 Code Ready | #совет
Очень часто для адаптации текста под разные экраны используют отдельные breakpoint. В итоге CSS разрастается, а шрифты начинают масштабироваться неравномерно.
Обычно это выглядит так:
.title {
font-size: 3rem;
}
@media (max-width: 768px) {
.title {
font-size: 2rem;
}
}Но CSS умеет нативно адаптировать размер текста под экран:
.title {
font-size: clamp(1.2rem, 4vw, 3rem);
}clamp() задаёт минимальный размер, адаптивное значение и максимальный предел.Теперь текст плавно масштабируется вместе с
viewport..subtitle {
font-size: clamp(1rem, 2vw, 1.5rem);
}Особенно хорошо это работает для hero-блоков, заголовков, кнопок и адаптивных интерфейсов.
Media queries часто вообще становятся не нужны.
clamp() позволяет создавать по-настоящему адаптивные интерфейсы без множества контрольных точек и дублирования CSS.Please open Telegram to view this post
VIEW IN TELEGRAM
❤19🔥11🤝6
This media is not supported in your browser
VIEW IN TELEGRAM
Sass (.sass only) — добавляет полноценную поддержку indented-синтаксиса Sass: подсветку, автодополнение, навигацию и корректное распознавание .sass-файлов без фигурных скобок и точек с запятой. Помогает комфортно работать со старыми и современными Sass-проектами прямо в редакторе.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤17👍7🔥5
День сурка frontend-разработчика
Зарплата стоит, скучные задачи день за днем, календарь забит созвонами, которые не влияют вообще ни на что.
Откликаешься на вакансии, а в ответ тишина либо какие-то мутные конторы. На собесах вместо нормальной оценки навыков цирк с алгоритмами на скорость, как будто ты на олимпиаде, а не работу ищешь.
И самое неприятное, пока ты варишься в этом болоте, кто-то спокойно проходит собесы и уходит в Яндекс, VK или на хорошую Валютную удаленку без лишней драмы.
👋 Меня зовут Тихон, привет! Я — действующий Frontend-разработчик и ментор. Я за руку довожу до оффера на хорошую позицию в Big Tech и сопровождаю на испытательном сроке.
Также из учеников я собираю комьюнити, где уже более 220 frontend-разработчиков🫂
А в своем канале:
👉Объясняю, как проходить HR-фильтр и превращать отклики в реальные приглашения
👉Помогаю найти мотивацию, борюсь убеждениями, которые мешают развиваться
👉На примерах объясняю, как проходить собеседования, включая техничку
👉Разбираю резюме и делюсь лайфхаками, например как аккуратно “пинговать” рекрутеров
А еще регулярно публикую полезные материалы:
▪️Задачи, на которых валяться кандидаты
▪️База по микрофронтам
▪️Подборка из 100+ каналов с вакансиями для разработчиков
▪️100 вопросов, которые точно помогут тебе на собеседовании
▪️Чек лист проверки своего резюме
А еще у меня множество успешных кейсов и отзывов, найти их можно в канале.
Реклама, erid: 2W5zFJyvomj ИП Галактионов Тихон Витальевич, ИНН 771618975809
Зарплата стоит, скучные задачи день за днем, календарь забит созвонами, которые не влияют вообще ни на что.
Откликаешься на вакансии, а в ответ тишина либо какие-то мутные конторы. На собесах вместо нормальной оценки навыков цирк с алгоритмами на скорость, как будто ты на олимпиаде, а не работу ищешь.
И самое неприятное, пока ты варишься в этом болоте, кто-то спокойно проходит собесы и уходит в Яндекс, VK или на хорошую Валютную удаленку без лишней драмы.
Есть классные проекты и сильные команды, где разработчиков действительно ценят, дают расти, поддерживают развитие и платят достойно и ты можешь туда попасть!
👋 Меня зовут Тихон, привет! Я — действующий Frontend-разработчик и ментор. Я за руку довожу до оффера на хорошую позицию в Big Tech и сопровождаю на испытательном сроке.
Также из учеников я собираю комьюнити, где уже более 220 frontend-разработчиков🫂
А в своем канале:
👉Объясняю, как проходить HR-фильтр и превращать отклики в реальные приглашения
👉Помогаю найти мотивацию, борюсь убеждениями, которые мешают развиваться
👉На примерах объясняю, как проходить собеседования, включая техничку
👉Разбираю резюме и делюсь лайфхаками, например как аккуратно “пинговать” рекрутеров
А еще регулярно публикую полезные материалы:
▪️Задачи, на которых валяться кандидаты
▪️База по микрофронтам
▪️Подборка из 100+ каналов с вакансиями для разработчиков
▪️100 вопросов, которые точно помогут тебе на собеседовании
▪️Чек лист проверки своего резюме
А еще у меня множество успешных кейсов и отзывов, найти их можно в канале.
Реклама, erid: 2W5zFJyvomj ИП Галактионов Тихон Витальевич, ИНН 771618975809
👍4❤1
preventDefault(): контроль стандартного поведения браузера!
При работе с DOM-событиями часто нужно отменить действие браузера: переход по ссылке, отправку формы, скролл и т.д. Для этого используется
Метод отменяет стандартное поведение браузера, но не останавливает всплытие события. Для этого используется
Базовый пример:
После вызова
Это особенно полезно в SPA-приложениях, где навигация управляется роутером без перезагрузки страницы.
Пример — работа с формой:
По умолчанию форма отправляет данные и перезагружает страницу.
Важно:
Пример — проверка
Если событие не является
Пример — passive listeners:
При passive: true браузер заранее считает, что обработчик не будет отменять действие события. Это используется для оптимизации scroll/touch-событий.
В таком режиме
Пример — условная отмена:
Здесь действие отменяется только при определённом условии.
Также важно понимать разницу между
В
Ещё момент: у кастомных событий (CustomEvent) обычно нет встроенного browser behavior. Это значит, что
🔥
📣 Code Ready | #практика
При работе с DOM-событиями часто нужно отменить действие браузера: переход по ссылке, отправку формы, скролл и т.д. Для этого используется
event.preventDefault().Метод отменяет стандартное поведение браузера, но не останавливает всплытие события. Для этого используется
stopPropagation().Базовый пример:
document.querySelector('a').addEventListener('click', (e) => {
e.preventDefault();
console.log('link click handled manually');
});
После вызова
preventDefault() переход по ссылке не произойдёт, и обработка полностью перейдёт под контроль JavaScript.Это особенно полезно в SPA-приложениях, где навигация управляется роутером без перезагрузки страницы.
Пример — работа с формой:
const form = document.querySelector('form');
form.addEventListener('submit', (e) => {
e.preventDefault();
const data = new FormData(form);
send(data);
});
По умолчанию форма отправляет данные и перезагружает страницу.
preventDefault() позволяет перехватить submit и самостоятельно управлять отправкой данных. Так обычно реализуются AJAX-формы, async-запросы и кастомная валидация.Важно:
preventDefault() работает только для событий, которые поддерживают отмену. Проверить это можно через свойство cancelable.Пример — проверка
cancelable:if (e.cancelable) {
e.preventDefault();
}
Если событие не является
cancelable, вызов preventDefault() не даст эффекта. Отдельный нюанс связан с passive listeners.Пример — passive listeners:
window.addEventListener('touchmove', (e) => {
e.preventDefault(); // будет проигнорирован
}, { passive: true });
При passive: true браузер заранее считает, что обработчик не будет отменять действие события. Это используется для оптимизации scroll/touch-событий.
В таком режиме
preventDefault() игнорируется. Иногда отмена зависит от состояния интерфейса или бизнес-логики.Пример — условная отмена:
button.addEventListener('click', (e) => {
if (!button.matches('.enabled')) {
e.preventDefault();
}
});
Здесь действие отменяется только при определённом условии.
Также важно понимать разницу между
preventDefault() и старым подходом через return false. Пример:el.addEventListener('click', (e) => {
e.preventDefault();
});
В
addEventListener конструкция return false не отменяет действие браузера и не останавливает propagation. Такое поведение было характерно для inline-обработчиков и jQuery, поэтому многие разработчики до сих пор путают эти механики.Ещё момент: у кастомных событий (CustomEvent) обычно нет встроенного browser behavior. Это значит, что
preventDefault() не отменяет никаких действий браузера. Но если событие создано с cancelable: true, вызов установит event.defaultPrevented = true.preventDefault() — базовый инструмент управления пользовательскими взаимодействиями в js.Please open Telegram to view this post
VIEW IN TELEGRAM
❤14👍7🔥6
This media is not supported in your browser
VIEW IN TELEGRAM
На сайте собрана полноценная база материалов по JavaScript: от базового синтаксиса и работы с DOM до более сложных тем вроде замыканий, событий, async/await и ООП. Материал построен в формате уроков и практических заданий, поэтому подходит не только для чтения, но и для закрепления знаний на практике.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥13👍5❤4
Я создатель YeaHub — базы IT собеседований.
И я регулярно вижу, как реально выглядит рынок изнутри.
Вакансий стало меньше, а ATS и фильтры просто не пропускают до живого рекрутера.
Собеседования стали жёстче — задают абсурдные вопросы, о которых ты никогда не слышал.
Из-за высокой конкуренции выросли ожидания: задач стало больше и они стали сложнее.
Но при этом каждый день кто-то всё равно получает офферы в крупные компании — даже в текущем рынке. Вопрос в другом: как получить оффер именно тебе?
✊🏻 Меня зовут Руслан.
Я IT-Founder & Tech Lead, строю продукты и руковожу командами из 100+ человек. Занимаюсь подготовкой Frontend-разработчиков к собеседованиям и трудоустройству в Big Tech.
И я просто систематизировал то, что вижу на рынке и в собеседованиях.
💼 На канале:
• база реальных IT собеседований (РФ и зарубежные компании)
• задачи, которые дают в BigTech и продуктовых компаниях
• полный гайд по подготовке к собеседованиям
• как привести в порядок резюме
• материалы по System Design и архитектуре
• подготовка к Frontend трудоустройству в BigTech
• инфраструктура больших приложений
📍 Если хочешь понять, как сейчас реально устроены собеседования — начни с закрепа на канале.
👉 https://t.me/reactify_IT
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1🔥1
Обычный заголовок можно превратить в полноценный UI-эффект, если разделить его на несколько независимых слоёв.
Как работает:
• ::before и ::after создают копии текста;
• каждый слой анимируется отдельно;
• разные цвета формируют chromatic aberration;
• небольшие смещения создают эффект glitch-сигнала.
Приём отлично подходит для стартовых экранов, главных секций сайта, экранов загрузки и декоративных интерфейсов.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤16👍7🔥4
Например, Forward Proxy скрывает клиента и управляет исходящими запросами, Reverse Proxy принимает трафик на стороне сервера и распределяет его между сервисами, а API Gateway централизует авторизацию, rate limiting и маршрутизацию API.
На картинке — базовые различия между Forward Proxy, Reverse Proxy и API Gateway, которые полезно держать под рукой каждому разработчику.
Сохрани, чтобы не потерять!
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥12👍5🤝4
40 собесов и оффер за 1 месяц
Алексей разработчик.
Искал работу с декабря - написание сопроводов и отклики занимали очень много времени.
Выхлоп - почти нулевой.
В какой-то момент понял:
так можно искать бесконечно.
И по совету друга попробовал ии-ассистента Софи.
▫️За ~1 месяц прошел около 40 собеседований
▫️Получил оффер с вакансии, на которую, по его словам, не откликнулся бы сам
Весь процесс - от первого собеседования до оффера - занял 4 дня.
P.S. Попробовать Софи бесплатно можно будет 16 июня.
Не пропусти анонс здесь.
Алексей разработчик.
Искал работу с декабря - написание сопроводов и отклики занимали очень много времени.
Выхлоп - почти нулевой.
В какой-то момент понял:
так можно искать бесконечно.
И по совету друга попробовал ии-ассистента Софи.
▫️За ~1 месяц прошел около 40 собеседований
▫️Получил оффер с вакансии, на которую, по его словам, не откликнулся бы сам
В описании она выглядела скучно, а по факту - одна из самых интересных компаний, с которыми я общался.
Весь процесс - от первого собеседования до оффера - занял 4 дня.
P.S. Попробовать Софи бесплатно можно будет 16 июня.
Не пропусти анонс здесь.
👎1
В этой статье:
• Подробно разбираются основные инструменты Chrome DevTools — Elements, Console, Sources, Network и их применение;
• Показывается, как эффективно искать баги, анализировать DOM, отлаживать JavaScript и отслеживать сетевые запросы;
• Объясняются возможности DevTools: Workspaces, Snippets, performance-профилирование, live-редактирование и инструменты для адаптивной вёрстки.🔊 Продолжайте читать на Habr!
Please open Telegram to view this post
VIEW IN TELEGRAM
❤10👍5🔥4😁2