21509
Все самое полезное для фронтенда в одном канале. По рекламе: @proglib_adv Учиться у нас: https://proglib.io/w/77178ed4 Для обратной связи: @proglibrary_feeedback_bot РКН: https://gosuslugi.ru/snet/67a5b6884689c2151c820bb4
🔥 Топ-вакансий недели для фронтендеров
Стажер JavaScript — удаленно
Middle Frontend — удаленно (Москва)
Middle Frontend-разработчик (Vue) — 150 000 - 180 000 ₽, удаленно/гибрид (Санкт-Петербург)
➡️ Больше офферов в канале: @jsdevjob
🐸 Библиотека фронтендера
❓ Почему модалки ломают архитектуру быстрее, чем кажется
В больших интерфейсах модалки перестают быть «просто UI». Они начинают тянуть на себя управление состоянием, логику и связи между компонентами.
В итоге:
— один и тот же компонент живёт в разных контекстах
— логика расползается по коду
— изменения начинают ломать соседние сценарии
⌨️ CSS больше не страдает с height: auto
Раньше анимация раскрывашек выглядела так:
— либо костыли с max-height
— либо JS
— либо вообще без анимации
Потому что height: auto нельзя было анимировать
💡 Теперь можно:
:root {
interpolate-size: allow-keywords;
}
.accordion {
height: 0;
overflow: hidden;
transition: height .3s ease;
}
.accordion.open {
height: auto;
}
🤔 Вопрос с собеседования для Middle
Нужно, чтобы фон:
🔜 повторялся только по вертикали
🔜 растягивался на всю ширину блока
🔜 выглядел корректно при ресайзе
Что выбрать?
📍 Навигация: [Вакансии]
🐸 Библиотека фронтендера
#code_challenge #middle
📕 Эта книга отделяет джуна от мидла
Она не про «как объявить переменную», а про то, как работает JS под капотом и как писать зрелый код.
Что внутри:
— современные возможности языка: async/await, прокси, итераторы, модули
— фундамент: DOM, события, обработка ошибок
— реальные API: fetch, service workers, потоки, web crypto
— много практических примеров
🐸 Библиотека фронтендера
#pixel_pause
🔍 BaseWatch — следит за фичами вместо тебя
Сервис отслеживает, когда веб-технологии становятся достаточно поддерживаемыми, чтобы их можно было тянуть в прод.
🔜 Вы просто подписываетесь на нужные фичи
🔜 И получаете уведомление, когда они «дозрели»
Как это использовать:
— следишь за CSS Grid Lanes → получаешь сигнал, когда можно юзать
— ждёшь JPEG XL → не пропустишь момент
— не тратишь время на постоянные проверки
🤔 Вопрос с собеседования
Почему useEffect может выполниться дважды в dev-режиме?
👇 Правильный ответ (нажми, чтобы прочитать):
В React при включённом Strict Mode в dev-режиме React специально делает дополнительный цикл mount → unmount → mount.
Что происходит:
— компонент монтируется
— эффект выполняется
— затем компонент сразу размонтируется (cleanup)
— и монтируется заново
👉 поэтому useEffect срабатывает дважды
Зачем это нужно:
— выявить побочные эффекты
— проверить корректность cleanup
— найти утечки (подписки, таймеры)
👍 — знал/а
🔥 — стало понятнее
💼 Щелкаешь такие задачи как орешки? Найди проект с достойной зарплатой тут
🐸 Библиотека фронтендера
#career_merge
🛠 50+ инструментов, которые заменят половину ваших сервисов
Cборник браузерных утилит, где всё запускается локально и без трекинга. От генераторов и работы с изображениями до regex и Tailwind — всё в одном месте.
— работает прямо в браузере
— без логина и сбора данных
— десятки утилит под повседневные задачи
🖍 3 причины, почему ваш проект раздувается
6️⃣ Поддержка того, что уже никому не нужно
Многие пакеты существуют ради:
— старых движков (IE, древний Node)
— защиты от изменения глобальных объектов
— edge-case вроде iframe / realm
Array.isArray(val) ? val : [val]
— десятки мелких пакетов в дереве
— дубли разных версий
— лишние запросы, конфликты, обновления
— globalthis
— object.entries
— indexof
— задавать вопрос: «зачем этот пакет?»
— вычищать неиспользуемые зависимости
— проверять, есть ли нативная альтернатива
— knip → ищет мусор
— e18e CLI → предлагает замены
— npmgraph → показывает, где жир
✌🏻 У нас две новости — хорошая и плохая!
Хорошая: Ваших знаний, скорее всего, хватит, чтобы собрать рабочую демку AI-агента в Colab. 🫡
Плохая: Вы вряд ли выведете его в прод, не обанкротившись на токенах и не слив базу. 🤯
Для защиты от таких сценариев мы полностью пересобрали курс «Разработка AI-агентов». Теперь внутри плотная работа с экономикой ресурсов, дебаг через time-travel в LangGraph, извлечение данных из кривых сканов для RAG и комплаенс по 152-ФЗ.
Если всё ещё сомневаетесь, послушайте голосовое от спикера курса Влада Прошинского, где он объясняет, как правильно тестировать агентов перед релизом.
👩💻 В HTML хотят убрать <div>
В WHATWG рассматривают упрощение разметки: универсальный <div> признали «антипаттерном без семантики».
Вместо него предлагают новый элемент:
<block>
<block>
<text>Hello world</text>
</block>
</block>
🔥 CSS может знать, открыт элемент или нет
details[open] {
background: black;
}
👩💻 Safari 26.4: что нового
➖ CSS Grid Lanes — наконец-то нативный masonry-like layout без JS-библиотек
➖ Name-only container queries — теперь можно писать @container sidebar { ... } без size-условий
➖ min(), max(), clamp() в img[sizes] — адаптивные изображения стали гибче
➖ WebTransport — современная low-latency альтернатива WebSocket для real-time сценариев
➖ Keyboard Lock API — можно перехватывать клавиши в fullscreen для игр, remote desktop и сложных web-app
🔜 Плюс релиз сильно про совместимость: WebKit завёз много фиксов в CSS, SVG, таблицы, MathML и zoom. Если раньше у вас что-то ломалось только в Safari, возможно, сейчас это уже работает нормально.
🔗 Источник
📍 Навигация: [Вакансии]
🐸 Библиотека фронтендера
#release_digest
А что ваш умеет? 🚬
🐸 Библиотека фронтендера
#pixel_pause
🖼 image-set() — адаптивные фоны без костылей
Обычно адаптивность делают через <picture>, но фоновые изображения часто игнорируют.
📌 Решение:
.hero {
background-image: image-set(
url("bg-1x.webp") 1x,
url("bg-2x.webp") 2x
);
}
💥 Когда замыкания начинают есть память
Замыкания — одна из самых мощных фич JavaScript. Но именно из-за них в проде появляются утечки, которые сложно отследить.
В статье разбирают:
— как замыкания блокируют сборку мусора
— почему даже «невинный код» может держать мегабайты в памяти
— чем опасен eval в этом контексте
— утечки через обработчики событий
— как использовать WeakMap и WeakSet правильно
🐸 Библиотека фронтендера
#pixel_pause
С вас 🎈, если было полезно!
📍 Навигация: [Вакансии]
🐸 Библиотека фронтендера
#career_merge
⭐️ Шпаргалка по Grid alignment
Если вы хоть раз путались между justify-* и align-* — вы не один. Где ось, где контент, где items — в голове это часто смешивается, особенно в реальных макетах.
🔜 Что внутри:
— разница между justify-content и justify-items
— как работает align-content vs align-items
— все ключевые значения: start, end, center, stretch, space-*
— наглядно по осям
🧩 shape() — как CSS забирает работу у SVG
Раньше любые blob’ы, волны и «рваные» края = SVG или картинки. Теперь это можно генерировать прямо в CSS.
В чем суть:
Форма — это набор кривых, соединённых без разрывов. Каждая следующая кривая продолжает предыдущую, поэтому всё выглядит как одна живая линия.
⚙️ Как это работает:
— задаёшь плотность (сколько кривых)
— добавляешь немного случайности
— соединяешь точки по правилам
🧠 Реальное собеседование на Middle/Senior
Внутри: техвопросы + лайвкодинг + разбор мышления кандидата. Особенно полезно, если готовитесь к собесу и хотите понять уровень ожиданий.
🔗 Смотреть видео
📍 Навигация: [Вакансии]
🐸 Библиотека фронтендера
#read_watch
🍩 Donut scope — локальные стили с исключениями
Иногда нужно применить стили не ко всему блоку, а ко всему, кроме конкретного вложенного элемента. Это паттерн, который называют donut scope — область со «сквозным исключением» внутри.
📌 Идея:
— ограничиваем область действия стилей(@scope)
— находим нужное состояние(:has())
— исключаем вложенный участок
Как frontend-разработчику получить оффер в Big Tech?
Платят как джуну, а спрашивают как с лида 🙄 Зарплата не растёт, задачи скучные.
Пробуешь откликаться, но на резюме клюют только ноунейм компании, а на собесах валят на алгоритмах? При этом вокруг кто-то постоянно получает офферы в Яндекс или VK...
Стабильность с маленькой зп, или дестрой рынка и выход на максимальную? Синяя или красная таблетка, Нео?! 👾
Меня зовут Тихон, привет! Я — действующий Frontend-разработчик и ментор.
Помогаю устроиться на хорошие позиции в Big Tech и сопровождаю на испытательном сроке.
⚡️ @scope — локальный CSS без конфликтов
Стили больше не влияют на весь проект. Теперь можно ограничить их область действия — прямо в CSS.. Работает как локальная зона стилей без Shadow DOM.
🔴 Где полезно:
— компонентная верстка
— дизайн-системы
— большие проекты
Меньше конфликтов → проще поддержка 💡
📍 Навигация: [Вакансии]
🐸 Библиотека фронтендера
#hotfix #css
🔖 Удобный справочник по фронтенду
Собрали в одном месте всё, что обычно ищешь в процессе работы: HTML, CSS, JavaScript, а также дополнительные темы вроде SEO и jQuery.
Фишка — интерактивный формат: можно сразу копировать код, убирать комментарии и использовать как быстрый референс прямо в процессе работы ⌨️
🔥 Топ-вакансий недели для фронтендеров
Frontend-разработчик — до 230 000 ₽, офис (Москва)
Senior React Native Developer (Mobile) — от 6 000 $, удаленно (Кипр)
Frontend-разработчик — от 120 000 до 180 000 ₽, удаленно (Санкт-Петербург)
➡️ Больше офферов в канале: @jsdevjob
🐸 Библиотека фронтендера
✏️ Как выбрать идеальный шрифт для IDE
Сервис CodingFont делает это через мини-баттлы:
— один и тот же код
— два разных шрифта
— выбираете, какой читается лучше
💡 Можно скрыть названия → никакого «JetBrains Mono же модный» → только реальное ощущение от чтения. В итоге остаётся один фаворит — ваш, а не из топа на Reddit.
🔗 Попробовать
📍 Навигация: [Вакансии]
🐸 Библиотека фронтендера
#stack
💡 <details> — нативный toggle, который вы игнорируете
<details>
<summary>Открыть</summary>
Контент
</details>
🐸 Библиотека фронтендера
#code_challenge