HTML Academy
Відкрити в Telegram
Курсы по веб-разработке: вёрстка, программирование, работа и комьюнити. Наш секретный бот @HTMLAcademyKeksobot. Вопросы по обучению @htmlacademy_sales Ролики на YT https://www.youtube.com/@HTMLAcademyTV Ролики на VK https://vkvideo.ru/@htmlacademy
Показати більше9 800
Підписники
-324 години
-67 днів
-7230 день
Архів дописів
9 800
Правила в CSS можно вкладывать друг в друга — как в Sass, только без компиляции и зависимостей. Псевдоклассы, дочерние селекторы и медиазапросы лежат рядом с базовыми стилями компонента, а не разбросаны по файлу. Нативно — с 2023 года: Chrome 112+, Firefox 117+, Safari 16.5+.
Ключевой символ —
&, ссылка на родительский селектор. &:hover превращается в .btn:hover, &.is-active — в .btn.is-active, а .dark & ставит .btn внутрь .dark. Без & вложенный селектор читается как потомок через пробел.
Ещё тонкость для отладки: вложенные селекторы по специфичности считаются как внутри :is() — вес берётся от самого тяжёлого аргумента родителя. На простых стилях незаметно, на запутанных стоит помнить.
Зато @media, @layer и @container работают прямо внутри правила: брейкпоинты живут рядом с компонентом, а не в хвосте файла. В статье можно покрутить живой пример. #css #baseline
👾 Читать статью9 800
Поставили инструмент глобально через
npm install -g, попользовались — и забыли удалить. За пару лет таких пакетов набираются десятки, разных версий, и они начинают конфликтовать.
npx запускает пакет прямо из реестра npm, ничего не устанавливая глобально. Создать проект на Vite — npx create-vite my-app. Та же история со статическим сервером (npx serve .) или прогоном Prettier по всему проекту (npx prettier --write .): запустили и работаете, в npm -g ничего не осело.
Внутри npx идёт по трём адресам: сначала node_modules/.bin в проекте, потом временный кеш, и только затем реестр. Нашёл локально или в кеше — оттуда и запустит, лишнего не качает. Версию можно зафиксировать через @, например npx prettier@2 — пригодится, когда надо воспроизвести чужую ошибку или проверить старый релиз. #npm #tools
В статье это всё на интерактивном примере: нажимаете команду и видите, что происходит.
🔄 Читать статью9 800
Repost from Как стать мидлом
Сегодня последний день скидки на курс «Vite 8».
На курсе соберёте проект на Vite с нуля: настройка стилей и препроцессоров, тесты в Vitest, деплой через GitHub Actions и готовый рецепт миграции с Gulp и Webpack.
Скидка 60% по промокоду VITE60 — до конца дня. С понедельника курс по обычной цене.
⚡ Смотреть программу
9 800
Оффер мечты или что предлагает Maxis выпускникам
Максим Самарцев, директор Maxis, рассказал, какая зарплата ждёт выпускников совместной программы обучения фронтенду. Ответ — в клипе.
Запись эфира: смотреть на YouTube | смотреть в VK
⚡ Программа обучения
9 800
Repost from Как стать мидлом
+2
Vite 8 стартует сервер разработки за секунду, показывает правки на лету и собирает продакшен до 10–30 раз быстрее прошлой версии. На скорость повлияла смена движка: esbuild для разработки и Rollup для сборки заменил Rolldown, единый сборщик на Rust поверх парсера Oxc.
Конфиг? Для типового проекта его можно не писать. У Vite разумные значения по умолчанию. Vite — фактический стандарт сборки фронтенда: на нём работают Vue, SvelteKit, Nuxt и Astro. После отказа от Create React App его рекомендует и команда React (первый в списке сборщиков).
Курс «Vite 8» это шесть разделов от нулевой конфигурации до деплоя на GitHub Pages через GitHub Actions. Внутри настройка стилей и препроцессоров, оптимизация графики, тесты в Vitest и отдельный раздел про миграцию с Gulp и Webpack. Курс по Vite полностью на русском языке с практикой и эталонными решениями. #htmlacademy #levelup
В эти выходные, 6 и 7 июня, курс «Vite 8» можно будет взять со скидкой 60% по промокоду VITE60 — только два дня и только на этот курс.
📎 Смотреть программу
9 800
+5
Пока Кекс сажал редиску, нейросеть придумала объяснять CSS-селекторы через рейтузы. И знаете, заходит. Пояс — это
.reituzy__waistband, а :not(.patched) — те рейтузы, до которых заплатка пока не добралась.
Чем точнее адрес, тем чище CSS. Кажется, спецификация ещё никогда не выглядела так по-домашнему.
Листайте карточки, их шесть. Пятничная рубрика нейрослопа: объясняем HTML и CSS понятно и с юмором. А какой селектор для рейтуз придумали бы вы?9 800
Переключаться на браузер ради каждой проверки вёрстки, искать путь к файлу вручную, переименовывать парный тег отдельно — мелкая рутина, которая съедает время. Расширения VS Code её убирают.
Три из подборки:
📎 HTML Preview — предпросмотр разметки прямо в редакторе, без переключения на браузер.
📎 Live Server — перезагружает страницу автоматически после правок в HTML, CSS или JavaScript.
📎 CSS Peek — открывает правила CSS из файла HTML через «Перейти к определению».
Ещё семь — Prettier, Colorize, Auto Rename Tag и другие — со ссылками на установку в статье. Сохраните, чтобы настроить редактор на выходных. #tools #vscode
👉🏻 Читать статью
9 800
Присваиваете объект через
= — и получаете вторую ссылку на тот же объект. Меняете «копию» — меняется оригинал. spread и Object.assign() спасают только частично: копируют первый уровень, а вложенные объекты и массивы остаются общими.
Долгое время глубокую копию собирали через JSON.parse(JSON.stringify(obj)). Способ рабочий, но теряет данные: Date превращается в строку, функции и undefined исчезают, Map становится пустым объектом.
structuredClone() делает полную независимую копию и корректно обрабатывает Date, Map, Set, ArrayBuffer, RegExp и другие встроенные типы. Функции и узлы DOM клонировать не получится — будет DataCloneError. Доступен во всех актуальных браузерах и в Node.js с 17-й версии.
В статье — интерактивный пример: нажимаете кнопку и видите, как ведут себя =, spread и structuredClone() на одном объекте. #js #clone
🔴 Читать статью9 800
В последней строке заголовка остаётся одно слово, и весь блок смотрится неаккуратно. Раньше это правили руками — неразрывные пробелы, мягкие переносы. Теперь браузер берёт работу на себя.
text-wrap: balance выравнивает строки заголовка по длине — для блоков до шести строк. text-wrap: pretty убирает «висячее» слово в конце параграфа и работает на тексте любой длины.
Оба значения — прогрессивное улучшение. balance поддерживается с Chrome 114, Firefox 121 и Safari 17.4; pretty появился позже — в Chrome 117 и Firefox 122. Там, где поддержки нет, текст переносится как раньше. #css #webdev
В статье — интерактивный пример: переключаете режимы и сразу видите разницу.
🎥 Читать статью9 800
Пояснение 👇
:has() — реляционный псевдокласс. Он принимает относительный селектор: тот, что начинается с комбинатора >, +, ~ или пробела (комбинатор потомка по умолчанию). Поэтому :has() смотрит вперёд по дереву — на потомков и следующих соседей. Селектор form:has(input:invalid) подсветит саму форму, если у неё среди потомков есть невалидный <input>. А form input:invalid сработает иначе: выберет сам <input>, а форма останется без выделения. Селектор :contains() использовался в jQuery; в действующей спецификации CSS такого псевдокласса нет. Поддержка :has() стала Baseline Newly Available в декабре 2023 года.9 800
🤔 Загадка от Кекса №4
Дизайнер просит: формы, в которых есть хоть один невалидный , должны получить красную рамку. Какой селектор справится без помощи JavaScript?
9 800
Иногда HTTP-сервер нужен на пять минут — отдать клиенту статический билд на проверку или открыть вёрстку с мобильного по локальной сети. Поднимать ради этого Vite или Nginx — избыточно: первый рассчитан на полный цикл разработки, второй требует своего конфига.
http-server запускается через npx http-server и работает сразу — раздаёт текущую папку на порту 8080. Другой порт, CORS-заголовки, автооткрытие браузера, отключение кеша на время разработки — всё это флаги. Никакого конфигурационного файла или установки в проект ему не нужно.
Бонус: сервер доступен и по локальному IP — удобно открывать страницу со смартфона для проверки адаптива. #npm #tools
🎲 Читать статью9 800
Всю неделю мы разбирали по частям одно и то же. Войти джуном стало сложнее, потому что работу с нейросетями ждут почти везде. Вайбкодинг выручает на типовых задачах и упирается в потолок на нестандартных. А без базы, по которой видно собственные ошибки, ИИ копит их быстрее, чем вы успеваете замечать.
Сходится всё в одном: нейросеть усиливает того, кто понимает код, и подводит того, кто на неё только надеется. Поэтому в «Нейрофронтендере» сначала идёт инженерная часть — вёрстка, JavaScript, архитектура, React, — и только пятым разделом работа с ИИ-агентами, поверх уже собранной базы.
Сегодня, 31 мая, скидка 67% действует последний день.
Напишите в Телеграме или MAX, чтобы зафиксировать скидку. Оплатить успеете позже.
9 800
Исследование: Kruger & Dunning, 1999. «Unskilled and Unaware of It» — Journal of Personality and Social Psychology.В 1999 году Джастин Крюгер и Дэвид Даннинг описали закономерность: чтобы трезво оценить свою компетентность, нужна та же компетентность, которой как раз не хватает. Поэтому свои пробелы хуже всего видит тот, у кого их больше. С нейросетью этот разрыв проявляется особенно ярко. Вы пишете промпт, получаете рабочий компонент, чувствуете прогресс. А потом — баг, который модель не чинит с третьей попытки, и выясняется, что объяснить, почему код не работает, нечем. Дальше всё встаёт. Надёжнее всего страхует от этого база, по которой вы видите собственные ошибки. С ней понятно, что предлагает модель, и первый нестандартный баг перестаёт быть тупиком. На этом построена программа «Нейрофронтендера»: инженерный фундамент и практика стоят раньше агентных инструментов. Сегодня предпоследний день скидки 67%, до 31 мая включительно. Записаться в Телеграме Записаться через MAX
9 800
«Если непонятно — красавчик»
Так Максим Самарцев, директор Maxis, описывает поведение, за которое готов взять выпускника совместной программы. Для рынка, где собеседования давно превратились в гонку правильных ответов, это звучит контринтуитивно.
В клипе — как у Maxis устроена встреча с кандидатом и почему стандартный сценарий «выглядеть умнее» здесь не работает.
Запись эфира: смотреть на YouTube | смотреть в VK
📎 Программа обучения
9 800
Repost from Как стать мидлом
+2
Git и GitHub
➿➿➿➿➿➿➿➿➿➿➿➿
add, commit, push, pull — на этих командах держится почти вся ежедневная работа с Git. А rebase, перенос коммитов между ветками или восстановление «потерянного» так и остаются для многих белым пятном.
Отсюда и привычки. Конфликты разрешаются наугад, историю правят с опаской, а после неудачного rebase кажется, что всё сломано — хотя на деле чинится в пару команд. Сколько раз вы откладывали rebase на «потом»?
Курс «Git и GitHub» закрывает этот разрыв — между «умею коммитить» и «понимаю, что происходит в репозитории, и собираю историю такой, какой задумал».
Программа идёт по нарастающей. Сначала ставите и настраиваете Git, поднимаете локальный и удалённый репозитории, связываете их. Дальше ветки: создаёте, переключаете, сливаете, разрешаете конфликты, разбираете модели ветвления. Сравниваете версии и отдельные файлы, откладываете и отменяете изменения. А в конце — rebase и cherry-pick, восстановление коммитов через reflog (та самая команда, что отматывает почти любую операцию, включая слияние), подключение по SSH и подпись коммитов через GPG. #htmlacademy #levelup
Первый раздел открыт бесплатно, чтобы оценить подачу и формат.
🎁 Попробовать Git и GitHub9 800
Кекс снова на даче — он там практически весь май. Сажает редиску. Перед посадкой успел нагенерировать нейросетью пачку карточек про фронтенд и сказал, что это важно для понимания профессии. Спорить с котом, у которого лопата, мы не стали.
Выглядят убедительно. Местами — полная дичь, но нейросеть умеет звучать уверенно. Собственно, про это у нас вся неделя и была: модель выдаёт правдоподобное, а где правда — видит тот, кто разобрался в профессии.
P.S. Если после Кексовых карточек захотите разобраться во фронтенде всерьёз — для этого есть «Нейрофронтендер». Показали Кексу лендинг, он сказал «мяу». Хороший знак.
Скидка 67% до 31 мая — пока он не вернулся с грядок. Пишите в Telegram или MAX.
9 800
Frontend Mix × HTML Academy
Сегодня вечером наш Лёша садится за круглый стол — поговорить про ИИ во фронтенде. Зовём смотреть вместе.
Начало в 21:15 по Москве. Тема — как изменились требования к фронтендеру в 2026 году. Вопрос ребром: за что разработчику платят теперь, когда написание кода стало дешёвым, и куда сместилась ценность? И заодно — что массовое использование ИИ за год-два делает с кодовой базой и экспертизой команды.
⌛ Смотреть онлайн и бесплатно → https://events.yoomoney.ru/frontend-mix_2026
Вопросы к круглому столу пишите сюда — Лёша читает и ответит в комментариях. А кто уже на митапе — ловите нас вживую: круглый стол в финале, застать можно и до, и после.
9 800
Войти в разработку джуном стало ощутимо сложнее, чем пару лет назад. Команды всё чаще ждут, что разработчик уверенно работает с нейросетями. Для многих это уже базовое требование. Мы это часто слышали от работодателей в наших эфирах.
Но есть нюанс. Нейросети регулярно выдают правдоподобный код с ошибками, и чтобы их поймать, нужно понимать, что происходит под капотом: почему компонент ререндерится лишний раз и за что на самом деле отвечает замыкание. Без этой базы ИИ ускоряет накопление ошибок, которые всплывут на ревью.
В профессии «Нейрофронтендер» фундамент идёт первым: HTML и CSS, JavaScript, архитектура клиентских приложений, React. Отдельный модуль по ИИ-агентам стоит в конце — когда уже есть чем оценивать ответы модели и куда их встраивать.
До 31 мая включительно на профессию действует скидка 67%.
Записаться в Телеграме
Записаться через MAX
9 800
Пояснение ⬇️
git reset --soft HEAD~1 сдвигает указатель текущей ветки на один коммит назад, индекс и рабочую директорию не трогает. Все изменения из снятого коммита остаются в индексе и готовы к новому git commit. Этот сценарий безопасен только до пуша — на общей ветке --soft потребует force-push и расстроит коллег. Флаг --hard тоже сдвинет указатель, но заодно приведёт индекс и рабочую директорию в состояние целевого коммита, и текущие изменения будут потеряны. Хотя снятые коммиты ещё около 90 дней доступны через git reflog. А git revert HEAD решает задачу иначе: создаёт новый коммит, который отменяет последний, оставляя оба в истории. Для уже запушенного коммита — именно этот вариант.
Вже доступно! Дослідження Telegram за 2025 — головні інсайти року 
