Граница между CSS-состояниями и событиями JavaScript сдвигается
Псевдоклассы вроде
Отдельный вектор — будущий event-trigger, который должен запускать анимации по событиям (например, по click) прямо в CSS, делая анимации более декларативными.
https://css-tricks.com/css-states-and-javascript-events/
Псевдоклассы вроде
:hover, :active, :focus-visible, :focus-within, :checked, :valid/:invalid позволяют описывать реакцию интерфейса без обработчиков в JS.Отдельный вектор — будущий event-trigger, который должен запускать анимации по событиям (например, по click) прямо в CSS, делая анимации более декларативными.
https://css-tricks.com/css-states-and-javascript-events/
❤4🔥2
Как запустить GTA San Andreas на своём движке в браузере
История о том, как с нуля собрали браузерный рантайм OpenSA, который умеет читать форматы RenderWare и запускать игру через вашу легальную копию, без распространения ассетов. Ключевые фишки — in-game map debugger/редактор, адаптерная архитектура, физика и управление через Rapier, а также оптимизация загрузки чанками с CDN и VFS.
Сложно, сложно, оч сложно)
https://habr.com/ru/articles/1051828/
История о том, как с нуля собрали браузерный рантайм OpenSA, который умеет читать форматы RenderWare и запускать игру через вашу легальную копию, без распространения ассетов. Ключевые фишки — in-game map debugger/редактор, адаптерная архитектура, физика и управление через Rapier, а также оптимизация загрузки чанками с CDN и VFS.
Сложно, сложно, оч сложно)
https://habr.com/ru/articles/1051828/
👍13😁3🔥1
Минимальная одностраничная фотогалерея для Astro
Адаптивная сетка собирается чистым CSS без JS-логики позиционирования и перерасчётов. Для просмотра предусмотрен lightbox на Fancybox: полноэкранный режим с свайпом, перетаскиванием, pinch-to-zoom и настраиваемой панелью. Картинки оптимизируются через Astro
https://github.com/kydecker/astro-photo-grid
Адаптивная сетка собирается чистым CSS без JS-логики позиционирования и перерасчётов. Для просмотра предусмотрен lightbox на Fancybox: полноэкранный режим с свайпом, перетаскиванием, pinch-to-zoom и настраиваемой панелью. Картинки оптимизируются через Astro
<Image />, а элементы за пределами первого экрана подгружаются лениво.https://github.com/kydecker/astro-photo-grid
❤7🔥4⚡1
Компиляция Zod-схем в оптимизированные валидаторы на этапе сборки
Сохраняете обычные Zod-схемы и получаете ускорение валидации без правок в коде:
https://github.com/gajus/zod-compiler
Сохраняете обычные Zod-схемы и получаете ускорение валидации без правок в коде:
parse/safeParse/parseAsync остаются теми же, плюс появляется быстрый guard .is(). Поддерживаются разные режимы подключения: автоматическая компиляция всех экспортов или явная, а также CLI-генерация файлов и режим compacthttps://github.com/gajus/zod-compiler
👍5❤2
Микрофронтенды: стабильная интеграция нескольких SPA-приложений, часть 1
Разбираемся, как собрать платформу и подключать независимые SPA-модули в единый UI без потери скорости релизов, но с контролем совместимости. Рассматриваются варианты оркестрации и загрузки: от SystemJS-«разрезанного монолита» и single-spa до модульной федерации и айфреймов, с ключевым выводом про риск синхронных релизов и несовпадение версий библиотек
https://habr.com/ru/companies/infowatch/articles/1053506/
Разбираемся, как собрать платформу и подключать независимые SPA-модули в единый UI без потери скорости релизов, но с контролем совместимости. Рассматриваются варианты оркестрации и загрузки: от SystemJS-«разрезанного монолита» и single-spa до модульной федерации и айфреймов, с ключевым выводом про риск синхронных релизов и несовпадение версий библиотек
https://habr.com/ru/companies/infowatch/articles/1053506/
👍4😴2🔥1
FM-синтез звука в браузере. Часть 1
Рассмотрим возможности браузеров по синтезу звука. Разберём основы и в качестве практического применения сделаем эмулятор синтезатора Yamaha DX7.
Сложно, сложно
https://habr.com/ru/articles/1052640
Рассмотрим возможности браузеров по синтезу звука. Разберём основы и в качестве практического применения сделаем эмулятор синтезатора Yamaha DX7.
Сложно, сложно
https://habr.com/ru/articles/1052640
👍4❤1🔥1
Rattribute.js — генерация адаптивных атрибутов для любых HTML-элементов.
Лёгкая библиотека без зависимостей, которая на основе брейкпоинтов автоматически проставляет нужные атрибуты (по умолчанию размеры как у Bootstrap: xs–xxl и доп. xxxl, плюс можно задавать свои). Поддерживаются переключение адаптивности, авто-подхват элементов при добавлении в DOM сторонними библиотеками и исключение элементов через
https://github.com/williamtroup/Rattribute.js
Лёгкая библиотека без зависимостей, которая на основе брейкпоинтов автоматически проставляет нужные атрибуты (по умолчанию размеры как у Bootstrap: xs–xxl и доп. xxxl, плюс можно задавать свои). Поддерживаются переключение адаптивности, авто-подхват элементов при добавлении в DOM сторонними библиотеками и исключение элементов через
data-rattribute-js-ignorehttps://github.com/williamtroup/Rattribute.js
👍3❤2🤔1
Путеводитель по grid-lanes: как строить сложные раскладки на чистом CSS.
Это подходит для progressive enhancement: начинайте с базовой разметки и улучшайте визуальную и навигационную часть средствами HTML/CSS.
https://master.dev/blog/the-field-guide-to-grid-lanes/
display: grid-lanes позволяет делать masonry с произвольной шириной колонок и при этом сохранять корректный порядок табуляции — без JS.Это подходит для progressive enhancement: начинайте с базовой разметки и улучшайте визуальную и навигационную часть средствами HTML/CSS.
https://master.dev/blog/the-field-guide-to-grid-lanes/
❤6👍4
ИИ поможет написать за тебя код, и в то же время помешает найти тебе работу? Ирония судьбы.
Мы уже доверили нейросетям генерацию компонентов, написание целых функций и даже тестов. Но когда дело доходит до твоего резюме — тот же самый ИИ безжалостно отправляет его в корзину.
До 90% откликов отсеиваются алгоритмами ещё до того, как их увидит человек. В 2026 году ты соревнуешься не только с другими разработчиками, но и с машиной, которая оценивает твоё резюме по десяткам критериев за доли секунды.
Время играть по новым правилам.
📅 8 июля в 19:00 МСК на бесплатном вебинаре «Как пробить AI-фильтры и получать приглашения на интервью» мы расскажем, как обойти эту систему.
На эфире разберем:
🔹 Как AI и ATS отбирают кандидатов прямо сейчас
🔹 Как найти работу в США и Европе
🔹 Что такое «теневой рынок» труда и как использовать его возможности
Спикер — Ангелина Волкова, карьерный эксперт AgileFluent.
Ангелина знает, как обмануть AI-фильтры:
✔️ Сама придумывает стратегии, которые ведут к офферу
✔️ Обладает большой экспертизой по рынку Северной Америки
✔️ За плечами — более 200 кейсов с международными офферами
За время работы AgileFluent уже помогли 800+ специалистам из IT и Digital найти работу в России и за рубежом.
Оставляй заявку на вебинар и бронируй место
👉 [ссылка] 👈
Реклама. ООО «Эджайл», ИНН 7810964334, erid: 2Vtzqwp1D3F
Мы уже доверили нейросетям генерацию компонентов, написание целых функций и даже тестов. Но когда дело доходит до твоего резюме — тот же самый ИИ безжалостно отправляет его в корзину.
До 90% откликов отсеиваются алгоритмами ещё до того, как их увидит человек. В 2026 году ты соревнуешься не только с другими разработчиками, но и с машиной, которая оценивает твоё резюме по десяткам критериев за доли секунды.
Время играть по новым правилам.
📅 8 июля в 19:00 МСК на бесплатном вебинаре «Как пробить AI-фильтры и получать приглашения на интервью» мы расскажем, как обойти эту систему.
На эфире разберем:
🔹 Как AI и ATS отбирают кандидатов прямо сейчас
🔹 Как найти работу в США и Европе
🔹 Что такое «теневой рынок» труда и как использовать его возможности
Спикер — Ангелина Волкова, карьерный эксперт AgileFluent.
Ангелина знает, как обмануть AI-фильтры:
✔️ Сама придумывает стратегии, которые ведут к офферу
✔️ Обладает большой экспертизой по рынку Северной Америки
✔️ За плечами — более 200 кейсов с международными офферами
За время работы AgileFluent уже помогли 800+ специалистам из IT и Digital найти работу в России и за рубежом.
Оставляй заявку на вебинар и бронируй место
👉 [ссылка] 👈
Реклама. ООО «Эджайл», ИНН 7810964334, erid: 2Vtzqwp1D3F
🤡7❤🔥3❤3🔥3
HTTP получил метод QUERY: зачем понадобился безопасный запрос с телом
В HTTP стандартизировали
https://habr.com/ru/articles/1055310/
В HTTP стандартизировали
QUERY — безопасный и идемпотентный метод чтения, где сложные параметры передаются в теле запроса, а не в URI.https://habr.com/ru/articles/1055310/
👍12❤11
Проверка вакансий и рекрутеров на мошенничество с помощью OSINT для Claude.
JobVerify помогает за секунды отличать реальные предложения от скама: вы вставляете сообщение рекрутера, название компании, ссылку на вакансию или email, а инструмент собирает публичные сигналы и выдает понятный вердикт. Он сверяет регистрацию компании, домены и возраст сайтов, подозрительные паттерны (предоплата, “задачи”, крипта, перевод в Telegram/WhatsApp), проверяет ссылки, почту/телефон и даже историю через Internet Archive — без API-ключей и без хранения ваших данных.
https://github.com/yessGlory17/job-verify
JobVerify помогает за секунды отличать реальные предложения от скама: вы вставляете сообщение рекрутера, название компании, ссылку на вакансию или email, а инструмент собирает публичные сигналы и выдает понятный вердикт. Он сверяет регистрацию компании, домены и возраст сайтов, подозрительные паттерны (предоплата, “задачи”, крипта, перевод в Telegram/WhatsApp), проверяет ссылки, почту/телефон и даже историю через Internet Archive — без API-ключей и без хранения ваших данных.
https://github.com/yessGlory17/job-verify
❤11👍2💩1
Как протестировать более 40 UI-компонентов за минуту: ускоряем скриншот-тесты
Как вместо сапёра с визуальными багами внедрили визуальные регрессионные тесты на связке Storybook + Playwright + Jest, которые прогоняют десятки сценариев и сравнивают скриншоты пиксель-в-пиксель. Чтобы стабилизировать диффы, в тестах отключают загрузку реальных картинок в галереях, делают снимок строго элемента
https://habr.com/ru/companies/domclick/articles/1050424
Как вместо сапёра с визуальными багами внедрили визуальные регрессионные тесты на связке Storybook + Playwright + Jest, которые прогоняют десятки сценариев и сравнивают скриншоты пиксель-в-пиксель. Чтобы стабилизировать диффы, в тестах отключают загрузку реальных картинок в галереях, делают снимок строго элемента
[data-test="product-snippet"], и задают допуски к микро-шуму рендеринга (threshold/blur/failureThreshold).https://habr.com/ru/companies/domclick/articles/1050424
👍5