Уже почти июнь подходит к концу, а я так и не выпустил эту статью. Исправляюсь.Обзор на браузерные API, которые стали Widely available в мае 2026. Раз в месяц я буду вам напоминать, что вы уже можете использовать в проде.Каждый месяц выходят новые CSS-свойства, HTML-атрибуты, JavaScript-методы и WebAPI, но применять в проде мы их конечно же не будем. 2.5 года назад также каждый месяц выходили новые фичи в браузере, а вот их уже пора начинать применять.Как мы понимаем, что уже можно использовать…
Привет, Хабр! Меня зовут Александр, я руковожу веб-разработкой в InfoWatch. Мы занимаемся проектированием решений, которые обеспечивают информационную безопасность для разных компаний. В этой статье я расскажу, как мы обеспечиваем интеграцию SPA-приложений. Главная цель этого процесса — сохранить стабильность и совместимость приложений, при этом не потеряв по пути скорость поставки функционала. Под катом — о подходах и решениях, которые мы используем, а также пара примеров из практики и немного…
Codex это прекрасно, но лимиты все меньше, а цена все выше. Но ведь под капотом просто gpt-5.5? Один диалог пишет код, другой проверяет результат, третий ищет в интернете, а я в это время мог накидать очередь следующих шагов и уйти пить чай. Если задача закончилась — пусть прилетит сообщение в Telegram.Так появился экспериментальный Chrome-плагин ChatGPT Multi Pane: GitHubЭто оболочка поверх обычного chatgpt.com: несколько живых панелей, очередь промптов, авто-подтверждение действий, агентный …
ВведениеКазалось, что Datapicker от Cloude сразу был готов в prod, но:Я запустил NVDA, переключился клавишей Tab по нашему новому DataPicker'у, и фокус выскочил за пределы диалогового окна. В Storybook все работало нормально. Календарь открывался, даты менялись, состояние выбора срабатывало, и Claude написал приличную структуру на React, но как только в дело вмешался пользователь со screen reader'ом, все это перестало казаться готовым в prod.Привет, коллеги!Меня зовут Илья, я технически…
У меня есть сайт на Next.js. Часть страниц индексируется почти сразу. Часть застряла в статусе «Обнаружено, не проиндексировано» уже две недели. Самое неприятное в том что все страницы технически одинаковые. Тот же фреймворк, тот же сервер, тот же sitemap.Расскажу, как я перебирал гипотезы одну за другой, и что в итоге осталось.СимптомНа сайте есть главная, раздел услуг и блог. Блог индексируется быстро. Публикую статью, через пару часов запрашиваю индексацию через Search Console, и страница уж…
ВведениеЯ открыл демо-версию DatePicker'а, и она выглядела вполне обычно. Поле ввода, кнопка, всплывающий календарь, keyboard navigation, метки для screen reader'ов, макеты для настольных компьютеров и мобильных устройств.С внешней стороны ничего особенного. Интересным был не сам компонент, а то, как мы его создали.Привет, коллеги!Меня зовут Илья, я технический директор компании «Исходный код». Наша frontend-команда последние шесть месяцев занималась улучшением доступности компонентов R…
Cruzo — минималистичный UI-фреймворк без лишней сложности Знакомимся с Cruzo. Часть 1. RxBucket – контейнер состояний и конфигураций компонентов на фронтеЯ продолжаю серию обзорных статей о js-фреймворке Cruzo. Я работаю над этим фреймворком последние 6 лет, много идей отпало, осталось только что реально нужно в работе. Здесь я расскажу вам о сердце фреймворка – шаблонизаторе. Для его реализации была написана стековая виртуальная машина. Какая еще виртуальная машина внутри js спросите вы? Это V…
Когда речь заходит о Flipper Zero, многие вспоминают RFID, NFC, Sub-GHz. Но одна из самых интересных возможностей устройства — это JavaScript-движок и модуль BadUSB, который позволяет превратить Flipper в программируемую USB-клавиатуру.В этой статье разберём небольшой, но показательный скрипт, который автоматически устанавливает набор инструментов для пентеста(или другого ПО) на macOS через Homebrew. И посмотрим, почему JavaScript на Flipper значительно интереснее классического DuckyScript.Поче…
Рассмотрим возможности браузеров по синтезу звука. Разберём основы и в качестве практического применения сделаем эмулятор синтезатора Yamaha DX7.Web Audio APIБраузеры позволяют вызывать из JavaScript объекты для управления и создания звука. Документация на русском: https://developer.mozilla.org/ru/docs/Web/API/Web_Audio_APIAPI предоставляет компоненты для создания и изменения аудио-сигнала. Причём сами компоненты можно соединять между собой, а их свойства менять по расписанию.Hello World!Рассмо…