Category : javascript

javascript
TeamPCP: как команда хакеров-любителей «Дюны» закинула в наши Node.js-пакеты червей Shai-Hulud

Спасибо Фрэнку Герберту, что воспитал поколение хакеровnpm install — такая привычная многим из читателей команда, но за последние пару месяцев она обернулась сущим кошмаром для инженеров по безопасности. И ладно бы всё сводилось к проверке 5 пакетов из package.json, но у каждой зависимости по 10 своих зависимостей, а у тех ещё по 10. В итоге мы тянем 2000, а не 5 пакетов, и тут, кажется, уже руками не проверишь. И именно на этой боли всех безопасников, поддерживающих JS-проекты, сыграла команда…

  • вторник, 30 июня 2026 г. в 00:00:13
javascript
Canvas или SVG для карты офиса: как мы выбрали и справились с неочевидными граблями

Если к вам придут с задачей внедрения интерактивной карты офиса, какой рендер вы выберете? Canvas или SVG? Верхнеуровневый обзор скажет, что Canvas хорош для частых перерисовок (географические карты, игры), а SVG — когда важна работа с отдельными элементами, которые естественным образом присутствуют в DOM.Мы выбрали SVG. В этой статье не будет глубокого анализа, это живая история о том, почему мы отказались от идеи использовать Canvas, как строили карту с нуля, какие инструменты использовали, к…

  • вторник, 30 июня 2026 г. в 00:00:12
javascript
Кнопка «К началу ответа» для ChatGPT, Qwen, DeepSeek, Claude, Gemini, Grok и Perplexity: как я побе…

Спойлер: коды готовы — вставьте и пользуйтесь.Пример кнопки. Логотипы являются товарными знаками компаний.Знаете, что меня расстраивало больше всего в чатах с нейросетями? Сидишь, читаешь длинный ответ в момент генерации. Дошёл до середины, понял, что упустил какую-то деталь в начале, крутишь скролл вверх. А бот в этот момент дописывает новый абзац, и весь текст уезжает обратно вниз.Штатная стрелочка “наверх” тут не спасает. Она кидает к шапке сайта, а не к началу конкретного сообщения ассистен…

  • вторник, 30 июня 2026 г. в 00:00:11
javascript
Набор инструментов для разработчика: готовим сайт к эпохе AI-агентов

Самые полезные AI инструменты для фронтенд разработки можешь найти в этом посте.ВступлениеИскусственный интеллект стремительно эволюционирует: от простого генерирования текста нейросети переходят к полноценному веб-серфингу, активному взаимодействию с интерфейсами и выполнению сложных задач на ваших сайтах. В этих реалиях разработчикам необходимы специализированные инструменты, способные обеспечить высокий уровень UX для таких «нечеловеческих» пользователей.Новая категория Agentic browsing в Li…

  • вторник, 30 июня 2026 г. в 00:00:09
javascript
Как заставить LLM проанализировать хранилище из тысяч заметок, которое не влезает в контекст

У меня в Obsidian накопилось под две тысячи заметок. Ежедневники, конспекты, обрывки идей, недописанные черновики. Граф‑вью честно показывает мне облако точек: красиво, но бесполезно. Какие заметки висят сиротами без единой связи, какие дублируют друг друга под разными тегами, какие кластеры тем так и не соединились, из графа не вытащить.Очевидная мысль: «отдам всё LLM, пусть разберётся». Но 2000 заметок это миллионы токенов. Ни в один контекст это не влезает, а если бы и влезло, стоило бы как …

  • вторник, 30 июня 2026 г. в 00:00:08
javascript
Baseline: май 2026

Уже почти июнь подходит к концу, а я так и не выпустил эту статью. Исправляюсь.Обзор на браузерные API, которые стали Widely available в мае 2026. Раз в месяц я буду вам напоминать, что вы уже можете использовать в проде.Каждый месяц выходят новые CSS-свойства, HTML-атрибуты, JavaScript-методы и WebAPI, но применять в проде мы их конечно же не будем. 2.5 года назад также каждый месяц выходили новые фичи в браузере, а вот их уже пора начинать применять.Как мы понимаем, что уже можно использовать…

  • вторник, 30 июня 2026 г. в 00:00:07
javascript
Микрофронтенды. Стабильная интеграция нескольких SPA-приложений. Часть 1

Привет, Хабр! Меня зовут Александр, я руковожу веб-разработкой в InfoWatch. Мы занимаемся проектированием решений, которые обеспечивают информационную безопасность для разных компаний. В этой статье я расскажу, как мы обеспечиваем интеграцию SPA-приложений. Главная цель этого процесса — сохранить стабильность и совместимость приложений, при этом не потеряв по пути скорость поставки функционала. Под катом — о подходах и решениях, которые мы используем, а также пара примеров из практики и немного…

  • вторник, 30 июня 2026 г. в 00:00:06
javascript
Как превратить ChatGPT.com в Codex (но без лимитов)

Codex это прекрасно, но лимиты все меньше, а цена все выше. Но ведь под капотом просто gpt-5.5? Один диалог пишет код, другой проверяет результат, третий ищет в интернете, а я в это время мог накидать очередь следующих шагов и уйти пить чай. Если задача закончилась — пусть прилетит сообщение в Telegram.Так появился экспериментальный Chrome-плагин ChatGPT Multi Pane: GitHubЭто оболочка поверх обычного chatgpt.com: несколько живых панелей, очередь промптов, авто-подтверждение действий, агентный …

  • понедельник, 29 июня 2026 г. в 00:00:09
javascript
Попросили Claude создать WCAG-доступный DataPicker на React и потратили 3 дня на доработки

ВведениеКазалось, что Datapicker от Cloude сразу был готов в prod, но:Я запустил NVDA, переключился клавишей Tab по нашему новому DataPicker'у, и фокус выскочил за пределы диалогового окна. В Storybook все работало нормально. Календарь открывался, даты менялись, состояние выбора срабатывало, и Claude написал приличную структуру на React, но как только в дело вмешался пользователь со screen reader'ом, все это перестало казаться готовым в prod.Привет, коллеги!Меня зовут Илья, я технически…

  • понедельник, 29 июня 2026 г. в 00:00:08