fa
Feedback
HTML Academy

HTML Academy

رفتن به کانال در Telegram

Курсы по веб-разработке: вёрстка, программирование, работа и комьюнити. Наш секретный бот @HTMLAcademyKeksobot. Вопросы по обучению @htmlacademy_sales Ролики на YT https://www.youtube.com/@HTMLAcademyTV Ролики на VK https://vkvideo.ru/@htmlacademy

نمایش بیشتر
9 800
مشترکین
-324 ساعت
-67 روز
-7230 روز
آرشیو پست ها
Правила в CSS можно вкладывать друг в друга — как в Sass, только без компиляции и зависимостей. Псевдоклассы, дочерние селект
Правила в 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 👾 Читать статью

Поставили инструмент глобально через npm install -g, попользовались — и забыли удалить. За пару лет таких пакетов набираются
Поставили инструмент глобально через 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 В статье это всё на интерактивном примере: нажимаете команду и видите, что происходит. 🔄 Читать статью

Сегодня последний день скидки на курс «Vite 8». На курсе соберёте проект на Vite с нуля: настройка стилей и препроцессоров, т
Сегодня последний день скидки на курс «Vite 8». На курсе соберёте проект на Vite с нуля: настройка стилей и препроцессоров, тесты в Vitest, деплой через GitHub Actions и готовый рецепт миграции с Gulp и Webpack. Скидка 60% по промокоду VITE60 — до конца дня. С понедельника курс по обычной цене. ⚡ Смотреть программу

Оффер мечты или что предлагает Maxis выпускникам Максим Самарцев, директор Maxis, рассказал, какая зарплата ждёт выпускников совместной программы обучения фронтенду. Ответ — в клипе. Запись эфира: смотреть на YouTube | смотреть в VK Программа обучения

Vite 8 стартует сервер разработки за секунду, показывает правки на лету и собирает продакшен до 10–30 раз быстрее прошлой вер
+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 — только два дня и только на этот курс. 📎 Смотреть программу

Пока Кекс сажал редиску, нейросеть придумала объяснять CSS-селекторы через рейтузы. И знаете, заходит. Пояс — это .reituzy__w
+5
Пока Кекс сажал редиску, нейросеть придумала объяснять CSS-селекторы через рейтузы. И знаете, заходит. Пояс — это .reituzy__waistband, а :not(.patched) — те рейтузы, до которых заплатка пока не добралась. Чем точнее адрес, тем чище CSS. Кажется, спецификация ещё никогда не выглядела так по-домашнему. Листайте карточки, их шесть. Пятничная рубрика нейрослопа: объясняем HTML и CSS понятно и с юмором. А какой селектор для рейтуз придумали бы вы?

Переключаться на браузер ради каждой проверки вёрстки, искать путь к файлу вручную, переименовывать парный тег отдельно — мел
Переключаться на браузер ради каждой проверки вёрстки, искать путь к файлу вручную, переименовывать парный тег отдельно — мелкая рутина, которая съедает время. Расширения VS Code её убирают. Три из подборки: 📎 HTML Preview — предпросмотр разметки прямо в редакторе, без переключения на браузер. 📎 Live Server — перезагружает страницу автоматически после правок в HTML, CSS или JavaScript. 📎 CSS Peek — открывает правила CSS из файла HTML через «Перейти к определению». Ещё семь — Prettier, Colorize, Auto Rename Tag и другие — со ссылками на установку в статье. Сохраните, чтобы настроить редактор на выходных. #tools #vscode 👉🏻 Читать статью

Присваиваете объект через = — и получаете вторую ссылку на тот же объект. Меняете «копию» — меняется оригинал. spread и Objec
Присваиваете объект через = — и получаете вторую ссылку на тот же объект. Меняете «копию» — меняется оригинал. 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 🔴 Читать статью

В последней строке заголовка остаётся одно слово, и весь блок смотрится неаккуратно. Раньше это правили руками — неразрывные
В последней строке заголовка остаётся одно слово, и весь блок смотрится неаккуратно. Раньше это правили руками — неразрывные пробелы, мягкие переносы. Теперь браузер берёт работу на себя. text-wrap: balance выравнивает строки заголовка по длине — для блоков до шести строк. text-wrap: pretty убирает «висячее» слово в конце параграфа и работает на тексте любой длины. Оба значения — прогрессивное улучшение. balance поддерживается с Chrome 114, Firefox 121 и Safari 17.4; pretty появился позже — в Chrome 117 и Firefox 122. Там, где поддержки нет, текст переносится как раньше. #css #webdev В статье — интерактивный пример: переключаете режимы и сразу видите разницу. 🎥 Читать статью

Пояснение 👇 :has() — реляционный псевдокласс. Он принимает относительный селектор: тот, что начинается с комбинатора >, +, ~ или пробела (комбинатор потомка по умолчанию). Поэтому :has() смотрит вперёд по дереву — на потомков и следующих соседей. Селектор form:has(input:invalid) подсветит саму форму, если у неё среди потомков есть невалидный <input>. А form input:invalid сработает иначе: выберет сам <input>, а форма останется без выделения. Селектор :contains() использовался в jQuery; в действующей спецификации CSS такого псевдокласса нет. Поддержка :has() стала Baseline Newly Available в декабре 2023 года.

🤔 Загадка от Кекса №4 Дизайнер просит: формы, в которых есть хоть один невалидный , должны получить красную рамку. Какой селектор справится без помощи JavaScript?
Anonymous voting

Иногда HTTP-сервер нужен на пять минут — отдать клиенту статический билд на проверку или открыть вёрстку с мобильного по лока
Иногда HTTP-сервер нужен на пять минут — отдать клиенту статический билд на проверку или открыть вёрстку с мобильного по локальной сети. Поднимать ради этого Vite или Nginx — избыточно: первый рассчитан на полный цикл разработки, второй требует своего конфига. http-server запускается через npx http-server и работает сразу — раздаёт текущую папку на порту 8080. Другой порт, CORS-заголовки, автооткрытие браузера, отключение кеша на время разработки — всё это флаги. Никакого конфигурационного файла или установки в проект ему не нужно. Бонус: сервер доступен и по локальному IP — удобно открывать страницу со смартфона для проверки адаптива. #npm #tools 🎲 Читать статью

Всю неделю мы разбирали по частям одно и то же. Войти джуном стало сложнее, потому что работу с нейросетями ждут почти везде.
Всю неделю мы разбирали по частям одно и то же. Войти джуном стало сложнее, потому что работу с нейросетями ждут почти везде. Вайбкодинг выручает на типовых задачах и упирается в потолок на нестандартных. А без базы, по которой видно собственные ошибки, ИИ копит их быстрее, чем вы успеваете замечать. Сходится всё в одном: нейросеть усиливает того, кто понимает код, и подводит того, кто на неё только надеется. Поэтому в «Нейрофронтендере» сначала идёт инженерная часть — вёрстка, JavaScript, архитектура, React, — и только пятым разделом работа с ИИ-агентами, поверх уже собранной базы. Сегодня, 31 мая, скидка 67% действует последний день. Напишите в Телеграме или MAX, чтобы зафиксировать скидку. Оплатить успеете позже.

Исследование: Kruger & Dunning, 1999. «Unskilled and Unaware of It» — Journal of Personality and Social Psychology. В 1999 го
Исследование: Kruger & Dunning, 1999. «Unskilled and Unaware of It» — Journal of Personality and Social Psychology.
В 1999 году Джастин Крюгер и Дэвид Даннинг описали закономерность: чтобы трезво оценить свою компетентность, нужна та же компетентность, которой как раз не хватает. Поэтому свои пробелы хуже всего видит тот, у кого их больше. С нейросетью этот разрыв проявляется особенно ярко. Вы пишете промпт, получаете рабочий компонент, чувствуете прогресс. А потом — баг, который модель не чинит с третьей попытки, и выясняется, что объяснить, почему код не работает, нечем. Дальше всё встаёт. Надёжнее всего страхует от этого база, по которой вы видите собственные ошибки. С ней понятно, что предлагает модель, и первый нестандартный баг перестаёт быть тупиком. На этом построена программа «Нейрофронтендера»: инженерный фундамент и практика стоят раньше агентных инструментов. Сегодня предпоследний день скидки 67%, до 31 мая включительно. Записаться в Телеграме Записаться через MAX

«Если непонятно — красавчик» Так Максим Самарцев, директор Maxis, описывает поведение, за которое готов взять выпускника совместной программы. Для рынка, где собеседования давно превратились в гонку правильных ответов, это звучит контринтуитивно. В клипе — как у Maxis устроена встреча с кандидатом и почему стандартный сценарий «выглядеть умнее» здесь не работает. Запись эфира: смотреть на YouTube | смотреть в VK 📎 Программа обучения

Git и GitHub ➿➿➿➿➿➿➿➿➿➿➿➿ add, commit, push, pull — на этих командах держится почти вся ежедневная работа с Git. А rebase, пе
+2
Git и GitHub ➿➿➿➿➿➿➿➿➿➿➿➿ add, commit, push, pull — на этих командах держится почти вся ежедневная работа с Git. А rebase, перенос коммитов между ветками или восстановление «потерянного» так и остаются для многих белым пятном. Отсюда и привычки. Конфликты разрешаются наугад, историю правят с опаской, а после неудачного rebase кажется, что всё сломано — хотя на деле чинится в пару команд. Сколько раз вы откладывали rebase на «потом»? Курс «Git и GitHub» закрывает этот разрыв — между «умею коммитить» и «понимаю, что происходит в репозитории, и собираю историю такой, какой задумал». Программа идёт по нарастающей. Сначала ставите и настраиваете Git, поднимаете локальный и удалённый репозитории, связываете их. Дальше ветки: создаёте, переключаете, сливаете, разрешаете конфликты, разбираете модели ветвления. Сравниваете версии и отдельные файлы, откладываете и отменяете изменения. А в конце — rebase и cherry-pick, восстановление коммитов через reflog (та самая команда, что отматывает почти любую операцию, включая слияние), подключение по SSH и подпись коммитов через GPG. #htmlacademy #levelup Первый раздел открыт бесплатно, чтобы оценить подачу и формат. 🎁 Попробовать Git и GitHub

Кекс снова на даче — он там практически весь май. Сажает редиску. Перед посадкой успел нагенерировать нейросетью пачку карточ
+6
Кекс снова на даче — он там практически весь май. Сажает редиску. Перед посадкой успел нагенерировать нейросетью пачку карточек про фронтенд и сказал, что это важно для понимания профессии. Спорить с котом, у которого лопата, мы не стали. Выглядят убедительно. Местами — полная дичь, но нейросеть умеет звучать уверенно. Собственно, про это у нас вся неделя и была: модель выдаёт правдоподобное, а где правда — видит тот, кто разобрался в профессии. P.S. Если после Кексовых карточек захотите разобраться во фронтенде всерьёз — для этого есть «Нейрофронтендер». Показали Кексу лендинг, он сказал «мяу». Хороший знак. Скидка 67% до 31 мая — пока он не вернулся с грядок. Пишите в Telegram или MAX.

Frontend Mix × HTML Academy Сегодня вечером наш Лёша садится за круглый стол — поговорить про ИИ во фронтенде. Зовём смотреть
Frontend Mix × HTML Academy Сегодня вечером наш Лёша садится за круглый стол — поговорить про ИИ во фронтенде. Зовём смотреть вместе. Начало в 21:15 по Москве. Тема — как изменились требования к фронтендеру в 2026 году. Вопрос ребром: за что разработчику платят теперь, когда написание кода стало дешёвым, и куда сместилась ценность? И заодно — что массовое использование ИИ за год-два делает с кодовой базой и экспертизой команды. ⌛ Смотреть онлайн и бесплатно → https://events.yoomoney.ru/frontend-mix_2026 Вопросы к круглому столу пишите сюда — Лёша читает и ответит в комментариях. А кто уже на митапе — ловите нас вживую: круглый стол в финале, застать можно и до, и после.

Войти в разработку джуном стало ощутимо сложнее, чем пару лет назад. Команды всё чаще ждут, что разработчик уверенно работает
Войти в разработку джуном стало ощутимо сложнее, чем пару лет назад. Команды всё чаще ждут, что разработчик уверенно работает с нейросетями. Для многих это уже базовое требование. Мы это часто слышали от работодателей в наших эфирах. Но есть нюанс. Нейросети регулярно выдают правдоподобный код с ошибками, и чтобы их поймать, нужно понимать, что происходит под капотом: почему компонент ререндерится лишний раз и за что на самом деле отвечает замыкание. Без этой базы ИИ ускоряет накопление ошибок, которые всплывут на ревью. В профессии «Нейрофронтендер» фундамент идёт первым: HTML и CSS, JavaScript, архитектура клиентских приложений, React. Отдельный модуль по ИИ-агентам стоит в конце — когда уже есть чем оценивать ответы модели и куда их встраивать. До 31 мая включительно на профессию действует скидка 67%. Записаться в Телеграме Записаться через MAX

Пояснение ⬇️ git reset --soft HEAD~1 сдвигает указатель текущей ветки на один коммит назад, индекс и рабочую директорию не трогает. Все изменения из снятого коммита остаются в индексе и готовы к новому git commit. Этот сценарий безопасен только до пуша — на общей ветке --soft потребует force-push и расстроит коллег. Флаг --hard тоже сдвинет указатель, но заодно приведёт индекс и рабочую директорию в состояние целевого коммита, и текущие изменения будут потеряны. Хотя снятые коммиты ещё около 90 дней доступны через git reflog. А git revert HEAD решает задачу иначе: создаёт новый коммит, который отменяет последний, оставляя оба в истории. Для уже запушенного коммита — именно этот вариант.