ShadowRealm в JavaScript
Новый API ShadowRealm предлагает изоляцию исполнения кода в отдельной среде, чтобы безопаснее отделять контекст и глобальные объекты. Разбираемся, как это соотносится с realms в браузере и почему это шаг к более надежным приложениям.
https://css-tricks.com/soon-we-can-finally-banish-javascript-to-the-shadowrealm/
Новый API ShadowRealm предлагает изоляцию исполнения кода в отдельной среде, чтобы безопаснее отделять контекст и глобальные объекты. Разбираемся, как это соотносится с realms в браузере и почему это шаг к более надежным приложениям.
https://css-tricks.com/soon-we-can-finally-banish-javascript-to-the-shadowrealm/
❤6🔥2
React useOptimistic для мгновенных обновлений интерфейса в продакшене
Разбираем useOptimistic в React и практические паттерны, чтобы UI реагировал сразу, а затем корректно синхронизировался с реальными данными после подтверждения или ошибки. Подходит для быстрых форм, лент и сценариев с оптимистичными апдейтами.
https://www.sitepoint.com/react-useoptimistic-production-patterns-for-instant-ui-updates/
Разбираем useOptimistic в React и практические паттерны, чтобы UI реагировал сразу, а затем корректно синхронизировался с реальными данными после подтверждения или ошибки. Подходит для быстрых форм, лент и сценариев с оптимистичными апдейтами.
https://www.sitepoint.com/react-useoptimistic-production-patterns-for-instant-ui-updates/
⚡5👍5🔥2
Как я написал «Обратную змейку» на чистом Canvas
Игрок управляет не змеёй, а яблоком, цель — выживать как можно дольше, пока три типа змей преследуют и меняют поведение. Логика разбита на модули (Snake/Renderer/Game) без фреймворков: от обновления движения и коллизий до отрисовки сетки и пиксельных спрайтов через
https://habr.com/ru/companies/ruvds/articles/1047434/
Игрок управляет не змеёй, а яблоком, цель — выживать как можно дольше, пока три типа змей преследуют и меняют поведение. Логика разбита на модули (Snake/Renderer/Game) без фреймворков: от обновления движения и коллизий до отрисовки сетки и пиксельных спрайтов через
fillRect()https://habr.com/ru/companies/ruvds/articles/1047434/
1🔥6🥰4❤2💩1
Out Loud — open-source ИИ для озвучивания текста
Out Loud делает AI text-to-speech полностью офлайн. Поддерживается 50+ естественных голосов на 8 языках, а также есть расширение для Chrome, чтобы озвучивать страницы в один клик. Код под MIT-лицензией — репозиторий можно форкать, проверять и улучшать под свои задачи.
https://www.out-loud.io/
Out Loud делает AI text-to-speech полностью офлайн. Поддерживается 50+ естественных голосов на 8 языках, а также есть расширение для Chrome, чтобы озвучивать страницы в один клик. Код под MIT-лицензией — репозиторий можно форкать, проверять и улучшать под свои задачи.
https://www.out-loud.io/
👍7❤2🔥1
Geometric.js — библиотека для геометрии в JavaScript.
Работайте с точками, отрезками, полигонами, углами и пересечениями, выполняя измерения и преобразования. Удобно использовать для задач визуализации, расчётов и логики в веб‑приложениях, где нужна геометрия на лету.
https://www.harryjstevens.com/geometric/
Работайте с точками, отрезками, полигонами, углами и пересечениями, выполняя измерения и преобразования. Удобно использовать для задач визуализации, расчётов и логики в веб‑приложениях, где нужна геометрия на лету.
https://www.harryjstevens.com/geometric/
👍7❤2
Отладка WASM в Chrome DevTools
Chrome DevTools умеет полноценно дебажить скомпилированный WASM: ставьте брейкпоинты в Sources, смотрите локальные значения и стек вызовов, а для ref.cast и похожих ошибок включайте Pause on exceptions чтобы сразу ловить источник проблемы.
https://eli.thegreenplace.net/2026/debugging-wasm-in-chrome-devtools/
Chrome DevTools умеет полноценно дебажить скомпилированный WASM: ставьте брейкпоинты в Sources, смотрите локальные значения и стек вызовов, а для ref.cast и похожих ошибок включайте Pause on exceptions чтобы сразу ловить источник проблемы.
https://eli.thegreenplace.net/2026/debugging-wasm-in-chrome-devtools/
1🥰5👍2🔥2
Архитектура local-first для веб разработки
Разбираем, как строить приложения с приоритетом локальных данных в 2026 году: синхронизация, конфликтные сценарии и практичные решения для надежной работы офлайн и онлайн. Подойдет тем, кто уже пробовал local-first и хочет понять, где реальные риски и как их закрывать.
https://smashingmagazine.com/2026/05/architecture-local-first-web-development/
Разбираем, как строить приложения с приоритетом локальных данных в 2026 году: синхронизация, конфликтные сценарии и практичные решения для надежной работы офлайн и онлайн. Подойдет тем, кто уже пробовал local-first и хочет понять, где реальные риски и как их закрывать.
https://smashingmagazine.com/2026/05/architecture-local-first-web-development/
👍5❤3
Навыки для AI кодинг агентов: как вернуть спецификации, тесты и review в процесс
AI coding agents часто идут по кратчайшему пути к готовому коду и пропускают спецификации, тесты и проверку, из за чего качество падает на масштабе. Проект предлагает оформлять best practices не как эссе, а как пошаговые skills с чекпоинтами и критериями выхода, чтобы агент следовал жизненному циклу разработки как у зрелой инженерной команды.
https://addyosmani.com/blog/agent-skills/
AI coding agents часто идут по кратчайшему пути к готовому коду и пропускают спецификации, тесты и проверку, из за чего качество падает на масштабе. Проект предлагает оформлять best practices не как эссе, а как пошаговые skills с чекпоинтами и критериями выхода, чтобы агент следовал жизненному циклу разработки как у зрелой инженерной команды.
https://addyosmani.com/blog/agent-skills/
❤6🔥4
Считаем скидку и показываем итоговую цену прямо в CSS
Можно хранить базовую цену и процент скидки в data-* атрибутах, а затем через attr() и CSS math вычислять итоговую стоимость и сразу рисовать зачеркнутую цену плюс новую. Для прода в крупных компаниях так себе вариант, но для своего магазина можно попробовать 😊
https://css-tricks.com/computing-and-displaying-discounted-prices-in-css/
Можно хранить базовую цену и процент скидки в data-* атрибутах, а затем через attr() и CSS math вычислять итоговую стоимость и сразу рисовать зачеркнутую цену плюс новую. Для прода в крупных компаниях так себе вариант, но для своего магазина можно попробовать 😊
https://css-tricks.com/computing-and-displaying-discounted-prices-in-css/
👍7🤡4🔥2😁1
Идём на AI Hardcore Day в офис Авито на Лесной 11 июля! 🤩
Будем слушать доклады о Spec-Driven Development, разработке и тестировании MCP, атаках на GenAI-агентов.
А после — нетворкать на террасе.
⚡ Регистрация и подробности — по ссылке.
Кстати, доклады будут не под запись — советуем не пропускать!
Будем слушать доклады о Spec-Driven Development, разработке и тестировании MCP, атаках на GenAI-агентов.
А после — нетворкать на террасе.
Кстати, доклады будут не под запись — советуем не пропускать!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🤡3💩2❤1
Граница между 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/
❤3🔥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/
👍12😁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
❤6🔥4⚡1
Компиляция Zod-схем в оптимизированные валидаторы на этапе сборки
Сохраняете обычные Zod-схемы и получаете ускорение валидации без правок в коде:
https://github.com/gajus/zod-compiler
Сохраняете обычные Zod-схемы и получаете ускорение валидации без правок в коде:
parse/safeParse/parseAsync остаются теми же, плюс появляется быстрый guard .is(). Поддерживаются разные режимы подключения: автоматическая компиляция всех экспортов или явная, а также CLI-генерация файлов и режим compacthttps://github.com/gajus/zod-compiler
👍4❤2