HTML Academy
Відкрити в Telegram
Курсы по веб-разработке: вёрстка, программирование, работа и комьюнити. Наш секретный бот @HTMLAcademyKeksobot. Вопросы по обучению @htmlacademy_sales Ролики на YT https://www.youtube.com/@HTMLAcademyTV Ролики на VK https://vkvideo.ru/@htmlacademy
Показати більше9 783
Підписники
-424 години
-197 днів
-7130 день
Триває завантаження даних...
Схожі канали
Хмара тегів
Вхідні та вихідні згадування
---
---
---
---
---
---
Залучення підписників
червень '26
червень '26
+20
в 0 каналах
травень '26
+35
в 1 каналах
Get PRO
квітень '26
+49
в 0 каналах
Get PRO
березень '26
+40
в 3 каналах
Get PRO
лютий '26
+37
в 0 каналах
Get PRO
січень '26
+54
в 0 каналах
Get PRO
грудень '25
+48
в 2 каналах
Get PRO
листопад '25
+44
в 1 каналах
Get PRO
жовтень '25
+48
в 0 каналах
Get PRO
вересень '25
+52
в 1 каналах
Get PRO
серпень '25
+68
в 1 каналах
Get PRO
липень '25
+48
в 2 каналах
Get PRO
червень '25
+54
в 0 каналах
Get PRO
травень '25
+64
в 1 каналах
Get PRO
квітень '25
+58
в 0 каналах
Get PRO
березень '25
+81
в 0 каналах
Get PRO
лютий '25
+57
в 0 каналах
Get PRO
січень '25
+62
в 0 каналах
Get PRO
грудень '24
+58
в 1 каналах
Get PRO
листопад '24
+78
в 1 каналах
Get PRO
жовтень '24
+95
в 0 каналах
Get PRO
вересень '24
+52
в 1 каналах
Get PRO
серпень '24
+41
в 0 каналах
Get PRO
липень '24
+25
в 0 каналах
Get PRO
червень '24
+46
в 1 каналах
Get PRO
травень '24
+101
в 1 каналах
Get PRO
квітень '24
+240
в 3 каналах
Get PRO
березень '24
+121
в 2 каналах
Get PRO
лютий '24
+138
в 2 каналах
Get PRO
січень '24
+182
в 6 каналах
Get PRO
грудень '23
+151
в 1 каналах
Get PRO
листопад '23
+224
в 2 каналах
Get PRO
жовтень '23
+310
в 1 каналах
Get PRO
вересень '23
+193
в 0 каналах
Get PRO
серпень '23
+161
в 0 каналах
Get PRO
липень '23
+164
в 0 каналах
Get PRO
червень '23
+127
в 0 каналах
Get PRO
травень '23
+127
в 0 каналах
Get PRO
квітень '23
+128
в 0 каналах
Get PRO
березень '23
+178
в 0 каналах
Get PRO
лютий '23
+255
в 0 каналах
Get PRO
січень '23
+509
в 0 каналах
Get PRO
грудень '22
+614
в 0 каналах
Get PRO
листопад '22
+491
в 0 каналах
Get PRO
жовтень '22
+922
в 0 каналах
Get PRO
вересень '22
+748
в 0 каналах
Get PRO
серпень '22
+703
в 0 каналах
Get PRO
липень '22
+514
в 0 каналах
Get PRO
червень '22
+653
в 0 каналах
Get PRO
травень '22
+423
в 0 каналах
Get PRO
квітень '22
+572
в 0 каналах
Get PRO
березень '22
+819
в 0 каналах
Get PRO
лютий '22
+234
в 0 каналах
Get PRO
січень '22
+210
в 0 каналах
Get PRO
грудень '21
+301
в 0 каналах
Get PRO
листопад '21
+242
в 0 каналах
Get PRO
жовтень '21
+259
в 0 каналах
Get PRO
вересень '21
+200
в 0 каналах
Get PRO
серпень '21
+244
в 0 каналах
Get PRO
липень '21
+298
в 0 каналах
Get PRO
червень '21
+328
в 0 каналах
Get PRO
травень '21
+333
в 0 каналах
Get PRO
квітень '21
+414
в 0 каналах
Get PRO
березень '21
+525
в 0 каналах
Get PRO
лютий '21
+521
в 0 каналах
Get PRO
січень '21
+471
в 0 каналах
Get PRO
грудень '20
+7 426
в 0 каналах
| Дата | Залучення підписників | Згадування | Канали | |
| 15 червня | 0 | |||
| 14 червня | +2 | |||
| 13 червня | 0 | |||
| 12 червня | 0 | |||
| 11 червня | 0 | |||
| 10 червня | 0 | |||
| 09 червня | +2 | |||
| 08 червня | +2 | |||
| 07 червня | +2 | |||
| 06 червня | +1 | |||
| 05 червня | +1 | |||
| 04 червня | +3 | |||
| 03 червня | +3 | |||
| 02 червня | +4 | |||
| 01 червня | 0 |
Дописи каналу
Сделать цвет светлее на 10% или подобрать гармоничный акцент — с HEX, да и с HSL, это всё ещё угадайка. Скажем, в HSL
lightness: 50% у жёлтого и синего даёт разную видимую яркость: жёлтый светлее.
oklch() берёт три параметра: L (яркость от 0 до 1), C (насыщенность от 0 примерно до 0.4) и H (оттенок в градусах от 0 до 360). Ключевое — перцептивная равномерность: при равном L цвета воспринимаются почти одинаково яркими, куда ровнее, чем в HSL.
Для дизайн-систем это упрощает многое. Палитру собираете, меняя только H. Тёмную тему переключаете через L в CSS-переменных. Чтобы перекрасить весь бренд, хватает одной переменной --brand-h. И ещё oklch достаёт цвета, которых нет в sRGB, — оттенки P3 и Rec2020.
Поддержка: Chrome 111+, Firefox 113+, Safari 15.4+, для старых браузеров — фолбэк на HEX. В статье — слайдеры L, C, H, на которых видно, как меняется цвет. #css #baseline
🔵 Читать статью| 2 | «Maximum call stack size exceeded» (или «too much recursion» в Firefox) — знакомая ошибка? Рекурсия по глубокой структуре упирается в лимит стека вызовов: каждый вызов кладёт кадр на стек, пока тот не переполнится.
В курсе «Алгоритмы и структуры данных» этому посвящён отдельный раздел — ту же рекурсию переписывают на явный стек, данные уезжают в кучу, и жёсткий лимит стека вызовов больше не мешает. И так все 10 разделов на JavaScript, от O-нотации до динамического программирования: каждый на реальной задаче фронтенда. #htmlacademy #levelup
Последние часы скидки 60% по промокоду ALGO60 — до конца воскресенья.
🔄 Смотреть программу | 398 |
| 3 | «AI — это ваш личный джун. Обязанность разработчика — хорошо поставить задачу, подумать об архитектуре и пройтись отладчиком по тому, что он нагенерировал»
Максим Самарцев, директор Maxis, — о том, как руководитель IT-компании смотрит на AI в продуктовой разработке.
Запись эфира: смотреть на YouTube | смотреть в VK
🔒 Программа обучения | 746 |
| 4 | На ревью прилетел комментарий: фильтрация дубликатов на 100 000 позиций вешает интерфейс. Виноват вложенный перебор — O(n²), до 10 миллиардов сравнений. Через хеш-таблицу та же фильтрация укладывается в O(n): каждая проверка уникальности в среднем O(1).
Вот этот зазор между «работает» и «работает быстро» и закрывает курс «Алгоритмы и структуры данных». 10 подробных разделов с примерами на JavaScript: O-нотация, поиск, сортировки (пузырёк и quicksort), деревья, хеш-таблицы, жадные алгоритмы, динамическое программирование. Каждый привязан к реальной задаче фронтенда: обход DOM-дерева, подбор ревьюеров в пулреквест, парсинг данных, хранение оповещений. Внутри теория, разбор кейсов, практические задания с эталонным решением и тесты. Темп свой, начать можно сразу. #htmlacademy #levelup
Завтра выходной, и скидка 60% по промокоду ALGO60 работает все три дня — с пятницы по воскресенье, 12–14 июня. Только на этих выходных и только на этот курс.
🎤 Подробнее | 552 |
| 5 | Есть задачи, где массив работает — но медленно. Есть места, где Map решает то же самое за O(1). Разница между ними — это скорость интерфейса и оценка на ревью.
Курс «Алгоритмы и структуры данных» — десять разделов на JavaScript, каждый привязан к реальным задачам фронтенда. Обход DOM-дерева, алгоритм подбора ревьюеров в пулреквест, фильтрация дубликатов на 100 000 позиций, quicksort для «живого» поиска без фризов — примеры, которые встречаются в продакшене.
С 12 по 14 июня включительно на курс действует скидка 60% по промокоду ALGO60. Начать можно прямо сейчас и двигаться в своём темпе. #htmlacademy #levelup
☝️ Подробнее о курсе | 1 |
| 6 | Мы провели исследование зарплат фронтендеров. Взяли медианные офферы с рынка, перевели в мойву по текущим ценам — и получили морскую инфографику.
Листайте карточки пятничной рубрики нейрослопа. На последней — сравнение всех грейдов в одном кадре.
P.S. Кекс оценил. Сказал, что мидл — это его минимум. | 725 |
| 7 | Правила в 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
👾 Читать статью | 712 |
| 8 | Поставили инструмент глобально через 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
В статье это всё на интерактивном примере: нажимаете команду и видите, что происходит.
🔄 Читать статью | 710 |
| 9 | Сегодня последний день скидки на курс «Vite 8».
На курсе соберёте проект на Vite с нуля: настройка стилей и препроцессоров, тесты в Vitest, деплой через GitHub Actions и готовый рецепт миграции с Gulp и Webpack.
Скидка 60% по промокоду VITE60 — до конца дня. С понедельника курс по обычной цене.
⚡ Смотреть программу | 633 |
| 10 | Оффер мечты или что предлагает Maxis выпускникам
Максим Самарцев, директор Maxis, рассказал, какая зарплата ждёт выпускников совместной программы обучения фронтенду. Ответ — в клипе.
Запись эфира: смотреть на YouTube | смотреть в VK
⚡ Программа обучения | 838 |
| 11 | 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 — только два дня и только на этот курс.
📎 Смотреть программу | 634 |
| 12 | Пока Кекс сажал редиску, нейросеть придумала объяснять CSS-селекторы через рейтузы. И знаете, заходит. Пояс — это .reituzy__waistband, а :not(.patched) — те рейтузы, до которых заплатка пока не добралась.
Чем точнее адрес, тем чище CSS. Кажется, спецификация ещё никогда не выглядела так по-домашнему.
Листайте карточки, их шесть. Пятничная рубрика нейрослопа: объясняем HTML и CSS понятно и с юмором. А какой селектор для рейтуз придумали бы вы? | 900 |
| 13 | Переключаться на браузер ради каждой проверки вёрстки, искать путь к файлу вручную, переименовывать парный тег отдельно — мелкая рутина, которая съедает время. Расширения VS Code её убирают.
Три из подборки:
📎 HTML Preview — предпросмотр разметки прямо в редакторе, без переключения на браузер.
📎 Live Server — перезагружает страницу автоматически после правок в HTML, CSS или JavaScript.
📎 CSS Peek — открывает правила CSS из файла HTML через «Перейти к определению».
Ещё семь — Prettier, Colorize, Auto Rename Tag и другие — со ссылками на установку в статье. Сохраните, чтобы настроить редактор на выходных. #tools #vscode
👉🏻 Читать статью | 823 |
| 14 | Присваиваете объект через = — и получаете вторую ссылку на тот же объект. Меняете «копию» — меняется оригинал. 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
🔴 Читать статью | 850 |
| 15 | В последней строке заголовка остаётся одно слово, и весь блок смотрится неаккуратно. Раньше это правили руками — неразрывные пробелы, мягкие переносы. Теперь браузер берёт работу на себя.
text-wrap: balance выравнивает строки заголовка по длине — для блоков до шести строк. text-wrap: pretty убирает «висячее» слово в конце параграфа и работает на тексте любой длины.
Оба значения — прогрессивное улучшение. balance поддерживается с Chrome 114, Firefox 121 и Safari 17.4; pretty появился позже — в Chrome 117 и Firefox 122. Там, где поддержки нет, текст переносится как раньше. #css #webdev
В статье — интерактивный пример: переключаете режимы и сразу видите разницу.
🎥 Читать статью | 764 |
| 16 | Пояснение 👇
:has() — реляционный псевдокласс. Он принимает относительный селектор: тот, что начинается с комбинатора >, +, ~ или пробела (комбинатор потомка по умолчанию). Поэтому :has() смотрит вперёд по дереву — на потомков и следующих соседей. Селектор form:has(input:invalid) подсветит саму форму, если у неё среди потомков есть невалидный <input>. А form input:invalid сработает иначе: выберет сам <input>, а форма останется без выделения. Селектор :contains() использовался в jQuery; в действующей спецификации CSS такого псевдокласса нет. Поддержка :has() стала Baseline Newly Available в декабре 2023 года. | 816 |
| 17 | 🤔 Загадка от Кекса №4
Дизайнер просит: формы, в которых есть хоть один невалидный <input>, должны получить красную рамку. Какой селектор справится без помощи JavaScript? | 760 |
| 18 | Иногда HTTP-сервер нужен на пять минут — отдать клиенту статический билд на проверку или открыть вёрстку с мобильного по локальной сети. Поднимать ради этого Vite или Nginx — избыточно: первый рассчитан на полный цикл разработки, второй требует своего конфига.
http-server запускается через npx http-server и работает сразу — раздаёт текущую папку на порту 8080. Другой порт, CORS-заголовки, автооткрытие браузера, отключение кеша на время разработки — всё это флаги. Никакого конфигурационного файла или установки в проект ему не нужно.
Бонус: сервер доступен и по локальному IP — удобно открывать страницу со смартфона для проверки адаптива. #npm #tools
🎲 Читать статью | 813 |
| 19 | Всю неделю мы разбирали по частям одно и то же. Войти джуном стало сложнее, потому что работу с нейросетями ждут почти везде. Вайбкодинг выручает на типовых задачах и упирается в потолок на нестандартных. А без базы, по которой видно собственные ошибки, ИИ копит их быстрее, чем вы успеваете замечать.
Сходится всё в одном: нейросеть усиливает того, кто понимает код, и подводит того, кто на неё только надеется. Поэтому в «Нейрофронтендере» сначала идёт инженерная часть — вёрстка, JavaScript, архитектура, React, — и только пятым разделом работа с ИИ-агентами, поверх уже собранной базы.
Сегодня, 31 мая, скидка 67% действует последний день.
Напишите в Телеграме или MAX, чтобы зафиксировать скидку. Оплатить успеете позже. | 739 |
| 20 | Исследование: Kruger & Dunning, 1999. «Unskilled and Unaware of It» — Journal of Personality and Social Psychology.
В 1999 году Джастин Крюгер и Дэвид Даннинг описали закономерность: чтобы трезво оценить свою компетентность, нужна та же компетентность, которой как раз не хватает. Поэтому свои пробелы хуже всего видит тот, у кого их больше.
С нейросетью этот разрыв проявляется особенно ярко. Вы пишете промпт, получаете рабочий компонент, чувствуете прогресс. А потом — баг, который модель не чинит с третьей попытки, и выясняется, что объяснить, почему код не работает, нечем. Дальше всё встаёт.
Надёжнее всего страхует от этого база, по которой вы видите собственные ошибки. С ней понятно, что предлагает модель, и первый нестандартный баг перестаёт быть тупиком.
На этом построена программа «Нейрофронтендера»: инженерный фундамент и практика стоят раньше агентных инструментов. Сегодня предпоследний день скидки 67%, до 31 мая включительно.
Записаться в Телеграме
Записаться через MAX | 757 |
Вже доступно! Дослідження Telegram за 2025 — головні інсайти року 
