es
Feedback
Логово верстальщика

Логово верстальщика

Ir al canal en Telegram

Логово верстальщиков: HTML, CSS, JavaScript, практики современной верстки, вайбкодинг и использование ИИ в разработке. Личный блог автора - @just_genych По вопросам рекламы или разработки: @g_abashkin

Mostrar más
8 247
Suscriptores
+424 horas
-147 días
+7030 días
Archivo de publicaciones
👩‍💻 Text Illumination Сцена с анимированным появлением текста. Сделана на SVG и CSS. Открыть код...

👩‍💻 Паттерны для эффективного манипулирования DOM с ванильным JavaScript В руководстве рассматриваются такие шаблоны работы с DOM на JavaScript, как выбор правильного querySelector, кэширование элементов и улучшение обработки событий. Читать...

🎨 UI для разработчика — это тоже UI Ты сделал админку, отладочный дашборд или просто лог-страницу. Вроде «только для себя» — но ты в ней путаешься. 👉 Совет: даже если интерфейс внутренний, подходи к нему как к продукту. Сделай удобно, понятно, визуально чисто. Чем меньше усилий тратится на навигацию — тем больше остаётся на работу.

⚙️ Что такое box-shadow в CSS и как оно работает? box-shadow — это свойство CSS, которое добавляет тень к элементу. Оно позволяет задавать смещение, размытие, размер растушёвки и цвет тени. ➡️ Пример:
<div class="box">Я с тенью</div>

<style>
  .box {
    width: 200px;
    height: 100px;
    background: lightblue;
    box-shadow: 10px 10px 20px rgba(0, 0, 0, 0.5); /* Смещение и размытие тени */
  }
</style>
🗣️ В этом примере box-shadow добавляет мягкую тень с чётким смещением и прозрачностью. Это свойство отлично подходит для выделения элементов интерфейса.
🖥 Подробнее тут

👩‍💻 Fluid Simulation Сцена с интересной симуляцией жидкости с текстом. Сделана на CSS и JavaScript. Открыть код...

👩‍💻 TypeScript в деталях: настраиваем tsconfig.json правильно Один файл, который может изменить все: полное руководство по tsconfig.json. Разбираем каждый параметр и его влияние на разработку, сборку и поддержку TypeScript-проектов. Читать...

👩‍💻 Подсчёт частоты элементов в массиве Напишите функцию, которая принимает массив и возвращает объект, где ключи — это уникальные элементы массива, а значения — количество их вхождений. Пример:
const input = [1, 2, 2, 3, 4, 3, 5, 3];
const result = countFrequency(input);
console.log(result); 
// Ожидаемый результат: {1: 1, 2: 2, 3: 3, 4: 1, 5: 1}
Решение задачи🔽
function countFrequency(array) { return array.reduce((acc, item) => { acc[item] = (acc[item] || 0) + 1; return acc; }, {}); } // Пример использования: const input = [1, 2, 2, 3, 4, 3, 5, 3]; const result = countFrequency(input); console.log(result); // Ожидаемый результат: {1: 1, 2: 2, 3: 3, 4: 1, 5: 1}

👩‍💻 Улучшение производительности с делегированием событий Статья объясняет технику делегирования событий в веб-разработке, показывая, как использование одного слушателя на родительском элементе упрощает управление событиями и повышает производительность. Читать...

#vacancy #вакансия #версталльщик #juniorfrontend 📌Компания: SonderAds 📌Позиция: Верстальщик / Junior Front-end (арбитраж) 📌Локация: удаленно из любой точки мира 📌 Формат: full-time 5/2 📌ЗП: Фиксированная ставка на руки - от 1000 USD (зависит от твоей экспертизы) 🚀 Ищешь удалённую full-time работу, хочешь развиваться во фронтенде и делать проекты, которые напрямую влияют на результат? Интересно верстать лендинги и разбираться, как работает рекламный трафик? Тогда тебе к нам. 🚀 Что ты будешь делать: — Верстка и доработка лендингов по готовым шаблонам — Правки и доработка HTML / CSS / JavaScript (адаптив, визуальные правки, логика скриптов) — Настройка кнопок, ссылок, редиректов, форм — Использование AI-инструментов для ускорения работы — Настройка доменов и интеграция трекеров — Проверка корректной работы лендингов перед запуском трафика Что мы ожидаем от тебя: — Опыт работы верстальщиком / junior front-end от 1 года —Понимание структуры лендингов: кнопки, ссылки, формы, редиректы —Знания и уверенное владение HTML, CSS, JavaScript —Умение читать и править чужой код —Умение пользоваться AI-инструментами (ChatGPT, Claude и др.) —Английский на уровне чтения технической документации —Самостоятельность и ответственное отношение к технической части работы Будет плюсом — Опыт работы с лендингами под рекламный трафик и трекерами — Понимание целей и мотивации пользователей на рекламных лендингах — Базовое понимание конверсионных воронок — Общее представление об арбитражных связках и взаимодействии лендинга с трафиком Что мы предлагаем: — Обучение и поддержку внутри команды - всё нужное для старта дадим — Интересные проекты с масштабными возможностями — Стабильную зарплату - чтобы можно было сосредоточиться на работе — Фиксированная ставка на руки - от 1000 USD (зависит от твоей экспертизы) — Формат full-time 10-19:00 (время Кипра) Полностью удаленный формат работы. — Оплачиваемые отпуск (20 рабочих дней) и больничные Чтобы откликнуться на позицию, заполните форму 😉 Если остались вопросы, пишите — @Sonder_Ads @Anastasi_SonderAds @Marharyta_M8

#vacancy #вакансия #версталльщик #juniorfrontend 📌Компания: SonderAds 📌Позиция: Верстальщик / Junior Front-end (арбитраж) 📌Локация: удаленно из любой точки мира 📌 Формат: full-time 5/2 📌ЗП: Фиксированная ставка на руки - от 1000 USD (зависит от твоей экспертизы) 🚀 Ищешь удалённую full-time работу, хочешь развиваться во фронтенде и делать проекты, которые напрямую влияют на результат? Интересно верстать лендинги и разбираться, как работает рекламный трафик? Тогда тебе к нам. 🚀 Что ты будешь делать: — Верстка и доработка лендингов по готовым шаблонам — Правки и доработка HTML / CSS / JavaScript (адаптив, визуальные правки, логика скриптов) — Настройка кнопок, ссылок, редиректов, форм — Использование AI-инструментов для ускорения работы — Настройка доменов и интеграция трекеров — Проверка корректной работы лендингов перед запуском трафика Что мы ожидаем от тебя: — Опыт работы верстальщиком / junior front-end от 1 года —Понимание структуры лендингов: кнопки, ссылки, формы, редиректы —Знания и уверенное владение HTML, CSS, JavaScript —Умение читать и править чужой код —Умение пользоваться AI-инструментами (ChatGPT, Claude и др.) —Английский на уровне чтения технической документации —Самостоятельность и ответственное отношение к технической части работы Будет плюсом — Опыт работы с лендингами под рекламный трафик и трекерами — Понимание целей и мотивации пользователей на рекламных лендингах — Базовое понимание конверсионных воронок — Общее представление об арбитражных связках и взаимодействии лендинга с трафиком Что мы предлагаем: — Обучение и поддержку внутри команды - всё нужное для старта дадим — Интересные проекты с масштабными возможностями — Стабильную зарплату - чтобы можно было сосредоточиться на работе — Фиксированная ставка на руки - от 1000 USD (зависит от твоей экспертизы) — Формат full-time 10-19:00 (время Кипра) Полностью удаленный формат работы. — Оплачиваемые отпуск (20 рабочих дней) и больничные Чтобы откликнуться на позицию, заполните форму 😉 Если остались вопросы, пишите — @Sonder_Ads @Anastasi_SonderAds @Marharyta_M8

👩‍💻 Решение головоломки судоку на JavaScript с помощью хэш-карт и рекурсий Если вы погружены в мир судоку, то наверняка ищете варианты ускоренного решения задач по программированию. Предлагаем ознакомиться с одним из них. Использование в нем хэш-карт и рекурсий значительно ускоряет решение головоломки. Читать...

👩‍💻 Переходите на сторону light-dark() Статья раскрывает современные CSS-функции для создания адаптивного темного режима, заменяющие традиционные медиа-запросы. Рассматриваются подходы, упрощающие настройку цветовых схем под предпочтения пользователя. Читать...

👩‍💻 10 лучших CSS-библиотек и фреймворков для быстрой разработки фронтенда Запутался в CSS-фреймворках? Мы собрали ТОП-10 самых крутых инструментов, которые реально экономят время на фронтенде. От тяжеловеса Bootstrap до минималистичного Milligram – разобрали плюсы каждого и объяснили, когда что использовать. Читать...

👩‍💻 Signature animation Поле для ввода подписи с интересной анимацией. Сделана на SVG, CSS и JavaScript. Открыть код...

⛔️ Performance budget который все любят на словах и игнорят в жизни Про performance budget говорят красиво. На созвонах киваю
⛔️ Performance budget который все любят на словах и игнорят в жизни Про performance budget говорят красиво. На созвонах кивают, в доках рисуют цифры, в презентациях всё зелёное. А потом проходит пара спринтов и внезапно выясняется, что бандл потолстел, LCP поплыл, а никто даже не заметил. Я такое видел не раз и почти всегда причина одна и та же.
Как performance budget обычно выглядит в теории На бумаге всё выглядит аккуратно и логично. Ограничения на размер бандла, контроль LCP, TTI и CLS, лимиты на количество запросов, ожидания по времени рендера. Кажется, что если есть цифры, значит есть и контроль. Но реальность быстро вносит свои правки. ❌ Почему budget умирает почти сразу Самая частая ошибка в том, что budget вводят как набор чисел, а не как процесс. Написали JS не больше условных 200 KB и разошлись. Никто не проговорил, что делать если лимит превышен, кто за это отвечает и что важнее в конкретный момент новая фича или перф. В итоге цифры есть, а решений ноль. Вторая боль это отсутствие автоматической проверки. Если budget не проверяется в CI, его просто не существует. Локально у всех всё быстро, а в проде внезапно плюс десятки килобайт и лишние секунды LCP. И самое грустное никто этого не поймал в моменте. 👏 Почти всегда побеждают фичи Когда нужно выбирать между релизом и остановкой из за производительности, команда почти всегда идёт в сторону релиза. Performance это отложенная боль, а фича нужна прямо сейчас. Потом к этому возвращаются. Или не возвращаются. Ещё одна проблема в том, что budget делают слишком общим. Один лимит на всё приложение выглядит просто, но работает плохо. Лендинг, дашборд и админка живут по разным правилам и ожиданиям. Но budget почему то часто одинаковый для всех. 📣 И финальный гвоздь в крышку гроба это отсутствие прозрачности Когда лимит превышен, никто не может быстро ответить, чем именно мы его съели. Без понимания причин budget превращается в абстрактную цифру из дока. ⚙ Когда performance budget реально начинает работать Он перестаёт быть про килобайты и становится про пользовательские метрики. Он проверяется автоматически через CI, Lighthouse или Web Vitals. Он разбит по страницам и сценариям, а не размазан по всему приложению. И самое важное есть чёткое правило, что делает команда если лимит превышен. Performance становится частью Definition of Done, а не красивым бонусом.
📌 Performance budget это не цифры в документации. Это договор внутри команды. Про то, что для нас достаточно быстро и про то, от чего мы готовы отказаться, если стало хуже. Пока этого договора нет, budget будет нарушаться снова и снова, сколько бы цифр вы туда ни написали. 🚪 Frontender's notes

👩‍💻 Кнопка с "волновым" эффектом Создайте кнопку, при нажатии на которую появляется анимация "волн", расходящихся из точки клика. Ожидаемое поведение: При нажатии на кнопку из точки клика расходится круг, который исчезает через мгновение. Анимация должна быть плавной и не мешать повторным кликам. Решение задачи🔽
<button class="ripple-button">Нажми меня</button> .ripple-button { position: relative; overflow: hidden; padding: 10px 20px; font-size: 16px; color: white; background-color: #007BFF; border: none; border-radius: 4px; cursor: pointer; } .ripple-button .ripple { position: absolute; border-radius: 50%; transform: scale(0); animation: ripple-animation 0.6s linear; background-color: rgba(255, 255, 255, 0.6); } @keyframes ripple-animation { to { transform: scale(4); opacity: 0; } } document.querySelector('.ripple-button').addEventListener('click', function (event) { const ripple = document.createElement('span'); const rect = this.getBoundingClientRect(); ripple.style.width = ripple.style.height = `${Math.max(rect.width, rect.height)}px`; ripple.style.left = `${event.clientX - rect.left - ripple.offsetWidth / 2}px`; ripple.style.top = `${event.clientY - rect.top - ripple.offsetHeight / 2}px`; ripple.className = 'ripple'; this.appendChild(ripple); ripple.addEventListener('animationend', () => ripple.remove()); });

👩‍💻 Стрелочная функция vs. обычная функция в JavaScript Статья раскрывает ключевые отличия между стрелочными и обычными функциями в JavaScript, объясняя их влияние на выполнение кода. Рассматриваются ситуации, в которых предпочтителен каждый тип функций. Читать...

👩‍💻 7 советов по очистке кода React В этой статье собраны семь практических рекомендаций, помогающих создавать чистый и поддерживаемый код React. Читать...