Критическая уязвимость в декодировщике Brotli, затрагивающая Node.JS, Bun, браузеры, HTTP-клиенты и другие проекты
В библиотеке с эталонной реализацией декодировщика для формата сжатия данных Brotli выявлена уязвимость (CVE-2026-111497, приводящая к переполнению буфера при обработке специально оформленных сжатых данных. По данным Google уязвимость может использоваться для удалённого выполнения кода при атаке на проекты, использующие официальную реализацию декодировщика Brotli. Среди подобных проектов Node.js, Bun, Envoy, Istio, web-браузеры, прокси-серверы, HTTP-клиенты и -серверы, архиваторы, прокси-серверы, UEFI-прошивки, просмотрщики JPEG XL, декодирующие контент библиотеки для Python, Ruby, Java, PHP и .NET и связанные с ними зависимости.
Полный текст:
https://opennet.ru/66537/
https://opennet.iss.one/66537/
В библиотеке с эталонной реализацией декодировщика для формата сжатия данных Brotli выявлена уязвимость (CVE-2026-111497, приводящая к переполнению буфера при обработке специально оформленных сжатых данных. По данным Google уязвимость может использоваться для удалённого выполнения кода при атаке на проекты, использующие официальную реализацию декодировщика Brotli. Среди подобных проектов Node.js, Bun, Envoy, Istio, web-браузеры, прокси-серверы, HTTP-клиенты и -серверы, архиваторы, прокси-серверы, UEFI-прошивки, просмотрщики JPEG XL, декодирующие контент библиотеки для Python, Ruby, Java, PHP и .NET и связанные с ними зависимости.
Полный текст:
https://opennet.ru/66537/
https://opennet.iss.one/66537/
👍4🤔2❤1
Найти ближайшее значение в бинарном дереве
Напишите функцию, которая принимает два аргумента — бинарное дерево и значение в виде числа, а возвращает ближайшее значение, найденное в бинарном дереве.
Зная свойство сбалансированного бинарного дерева, где слева находятся все значения нод меньше текущей, а справа равные или больше по значению, мы можем в лучшем случае откидывать каждый раз половину дерева.
В данном решении мы идем рекурсивным путём по нодам, записывая и сравнивая разницу со значением из аргумента. Если значение равно нужному, значит мы нашли нужную нам ноду, а иначе мы смотрим, является ли текущее значение ноды меньше или больше того, которое мы ищем. В зависимости от этого мы продолжаем рекурсивно спускаться в нужном нам направлении, обновляя разницу, до тех пор пока не упремся в конец ветки.
Напишите функцию, которая принимает два аргумента — бинарное дерево и значение в виде числа, а возвращает ближайшее значение, найденное в бинарном дереве.
Node = { value: number | null, left: Node | null, right: Node | null }
Решение доступно на картинке. В данном решении мы идем рекурсивным путём по нодам, записывая и сравнивая разницу со значением из аргумента. Если значение равно нужному, значит мы нашли нужную нам ноду, а иначе мы смотрим, является ли текущее значение ноды меньше или больше того, которое мы ищем. В зависимости от этого мы продолжаем рекурсивно спускаться в нужном нам направлении, обновляя разницу, до тех пор пока не упремся в конец ветки.
👍3🔥3🤯1
This media is not supported in your browser
VIEW IN TELEGRAM
Совет по CSS 💡
Мы часто используем кнопки действий, которые появляются при наведении, чтобы интерфейс выглядел чище.
Но пользователи, работающие только с клавиатурой или сенсорными экранами, не могут вызвать наведение, из-за чего такие кнопки становятся недоступными.
Вот как это исправить
Мы часто используем кнопки действий, которые появляются при наведении, чтобы интерфейс выглядел чище.
Но пользователи, работающие только с клавиатурой или сенсорными экранами, не могут вызвать наведение, из-за чего такие кнопки становятся недоступными.
Вот как это исправить
👍13❤4🔥1🤩1
Показываешь ИИ чужой сайт или приложение, а он разбирается, как всё работает, и собирает свою версию
На GitHub появился Craft Anything - open-source инструмент на Rust, объединяющий реверс-инжиниринг и AI-разработку.
Работает довольно интересно. Указываешь сайт, десктопное приложение или игру и описываешь, что хочешь воспроизвести.
Система исследует оригинал, передаёт результаты coding-агенту, собирает новый проект и сравнивает его с исходным. Если обнаруживает расхождения, запускает следующую итерацию исправлений.
Внутри целый движок реверс-инжиниринга с более чем 300 инструментами. Поддерживаются анализ бинарников, .NET, Java, Android, Electron, JavaScript и игровых файлов.
Есть два режима. Clean Room изучает только внешнее поведение и интерфейс, не читая исходники. Deep позволяет исследовать внутреннее устройство программы, включая дизассемблирование и декомпиляцию.
Все инструменты доступны через CLI и MCP. Для генерации кода используется прежде всего Claude Code.
Например, можно попросить агента воссоздать интерфейс сайта, а затем проверить результат на трёх размерах экрана.
Проект пока в ранней альфе: часть проверок и интеграций ещё экспериментальная.
Интересная идея для coding-агентов: вместо попытки угадать устройство программы по скриншоту сначала собрать реальные данные о её работе, а затем писать код.
https://github.com/storytold/craft-anything
На GitHub появился Craft Anything - open-source инструмент на Rust, объединяющий реверс-инжиниринг и AI-разработку.
Работает довольно интересно. Указываешь сайт, десктопное приложение или игру и описываешь, что хочешь воспроизвести.
Система исследует оригинал, передаёт результаты coding-агенту, собирает новый проект и сравнивает его с исходным. Если обнаруживает расхождения, запускает следующую итерацию исправлений.
Внутри целый движок реверс-инжиниринга с более чем 300 инструментами. Поддерживаются анализ бинарников, .NET, Java, Android, Electron, JavaScript и игровых файлов.
Есть два режима. Clean Room изучает только внешнее поведение и интерфейс, не читая исходники. Deep позволяет исследовать внутреннее устройство программы, включая дизассемблирование и декомпиляцию.
Все инструменты доступны через CLI и MCP. Для генерации кода используется прежде всего Claude Code.
Например, можно попросить агента воссоздать интерфейс сайта, а затем проверить результат на трёх размерах экрана.
Проект пока в ранней альфе: часть проверок и интеграций ещё экспериментальная.
Интересная идея для coding-агентов: вместо попытки угадать устройство программы по скриншоту сначала собрать реальные данные о её работе, а затем писать код.
https://github.com/storytold/craft-anything
👍8❤6🔥2🤬2
🔥 Прожарка резюме разработчиков
Откликаешься, а в ответ тишина? Или зовут, но предлагают меньше, чем рассчитываешь? Возможно, дело не в навыках, а в резюме.
7 ноября HR Lead ex-Яндекса и разработчики из Wildberries и Uzum разберут реальные резюме в прямом эфире
Что обсудим:
🗓 7 ноября, 13:00 мск
Участие бесплатное
👥 Спикеры:
— Валерия Парунова, HR Lead, ex-Яндекс;
— Виктор Анохин, Java/Kotlin-разработчик в Wildberries, ex-Билайн;
— Сергей Чамкин, Senior в Uzum, ex-Wildberries, проводил технические интервью в EPAM и Wildberries.
Эфир проводит ШОРТКАТ — менторская программа для разработчиков, которые хотят сменить работу или повысить зарплату.
📲 Регистрируйся на эфир в боте → @shortcut_front_bot
Реклама.
О рекламодателе.
Откликаешься, а в ответ тишина? Или зовут, но предлагают меньше, чем рассчитываешь? Возможно, дело не в навыках, а в резюме.
7 ноября HR Lead ex-Яндекса и разработчики из Wildberries и Uzum разберут реальные резюме в прямом эфире
Что обсудим:
✦ что может оттолкнуть рекрутера
✦ как показать свой вклад и результаты
✦ какие формулировки могут занизить грейд
✦ какой уровень отражает опыт кандидата и какие вопросы могут возникнуть у интервьюера
🗓 7 ноября, 13:00 мск
Участие бесплатное
👥 Спикеры:
— Валерия Парунова, HR Lead, ex-Яндекс;
— Виктор Анохин, Java/Kotlin-разработчик в Wildberries, ex-Билайн;
— Сергей Чамкин, Senior в Uzum, ex-Wildberries, проводил технические интервью в EPAM и Wildberries.
Эфир проводит ШОРТКАТ — менторская программа для разработчиков, которые хотят сменить работу или повысить зарплату.
📲 Регистрируйся на эфир в боте → @shortcut_front_bot
Реклама.
О рекламодателе.
👍2👎2❤1
This media is not supported in your browser
VIEW IN TELEGRAM
Как работает комбинация clip + mask:
- маска применяется к контейнеру с использованием соответствующего изображения клавиши, чтобы изображение обрезалось при смещении (translate)
- clip применяется к контейнеру, чтобы зона взаимодействия (hit area) не перекрывала другие клавиши 🧑🍳
- маска применяется к контейнеру с использованием соответствующего изображения клавиши, чтобы изображение обрезалось при смещении (translate)
- clip применяется к контейнеру, чтобы зона взаимодействия (hit area) не перекрывала другие клавиши 🧑🍳
👍12❤1👏1
LATCH: минималистичный протокол для безопасных действий ИИ-агентов
Разработчик Антон Баланов представил LATCH, открытый протокол, позволяющий ИИ-агентам взаимодействовать с внешними сервисами через обычные HTTPS-запросы.
Идея в том, чтобы агент мог не только получать данные, но и выполнять действия с явным подтверждением условий.
Например, агент хочет заказать 3D-печать детали. Вместо немедленного оформления заказа используется последовательность:
1. `ask` - узнать доступные материалы и возможности сервиса.
2. `quote` - получить точные условия заказа без его выполнения.
3. `approve` - подтвердить предложение, привязав согласие к SHA-256-хешу условий.
4. `commit` - выполнить подтверждённое действие с ключом идемпотентности, защищающим от случайных повторов.
5. `status` - проверить состояние задачи и получить отчёт сервиса.
В основе обычные JSON и HTTPS. Никаких обязательных SDK, облачных посредников и внешних зависимостей.
Референсная реализация написана для Node.js 20+, есть независимый PHP-провайдер и дополнительный мост к MCP.
LATCH не заменяет MCP или A2A. Он решает более узкую задачу: разделяет получение предложения, подтверждение и выполнение действия.
Это особенно полезно для агентов, которые работают с заказами, платежными сценариями или другими операциями с последствиями.
Проект пока экспериментальный, версия протокола 0.1. Для продакшена потребуется самостоятельно обеспечить аутентификацию, авторизацию и надёжное хранение состояния.
Лицензия MIT.
GitHub: https://github.com/Balanov/latch
Разработчик Антон Баланов представил LATCH, открытый протокол, позволяющий ИИ-агентам взаимодействовать с внешними сервисами через обычные HTTPS-запросы.
Идея в том, чтобы агент мог не только получать данные, но и выполнять действия с явным подтверждением условий.
Например, агент хочет заказать 3D-печать детали. Вместо немедленного оформления заказа используется последовательность:
1. `ask` - узнать доступные материалы и возможности сервиса.
2. `quote` - получить точные условия заказа без его выполнения.
3. `approve` - подтвердить предложение, привязав согласие к SHA-256-хешу условий.
4. `commit` - выполнить подтверждённое действие с ключом идемпотентности, защищающим от случайных повторов.
5. `status` - проверить состояние задачи и получить отчёт сервиса.
В основе обычные JSON и HTTPS. Никаких обязательных SDK, облачных посредников и внешних зависимостей.
Референсная реализация написана для Node.js 20+, есть независимый PHP-провайдер и дополнительный мост к MCP.
LATCH не заменяет MCP или A2A. Он решает более узкую задачу: разделяет получение предложения, подтверждение и выполнение действия.
Это особенно полезно для агентов, которые работают с заказами, платежными сценариями или другими операциями с последствиями.
Проект пока экспериментальный, версия протокола 0.1. Для продакшена потребуется самостоятельно обеспечить аутентификацию, авторизацию и надёжное хранение состояния.
Лицензия MIT.
GitHub: https://github.com/Balanov/latch
👾 Открытое собеседование для Frontend-разработчиков: интервьюер из R-Vision, ex-Сбер
12 ноября в 19:00 мск приходи посмотреть, как проходит реальное техническое интервью на позицию Frontend-разработчика
Интервьюер: Даниил Дмитриев, Frontend-разработчик в R-Vision, ex-Сбер. Работает с React и TypeScript, совмещает разработку с ролью тимлида, менторит коллег и проводит код-ревью
Без сценария и заранее известных вопросов ↓
В роли кандидата – действующий разработчик, который впервые увидит задания прямо на эфире
Обычно ты видишь собеседование только со стороны кандидата. Здесь сможешь посмотреть на процесс глазами интервьюера:
В конце Даниил ответит на вопросы зрителей
Эфир проходит в рамках менторской программы ШОРТКАТ. Мы помогаем разработчикам расти в грейде и зарплате. В нашем сообществе более 150 менторов из бигтеха, а наши менти уже получили более 500 офферов
Участие бесплатное 🔥
Зарегистрироваться на эфир можно в боте → @shortcut_front_bot
Реклама.
О рекламодателе.
12 ноября в 19:00 мск приходи посмотреть, как проходит реальное техническое интервью на позицию Frontend-разработчика
Интервьюер: Даниил Дмитриев, Frontend-разработчик в R-Vision, ex-Сбер. Работает с React и TypeScript, совмещает разработку с ролью тимлида, менторит коллег и проводит код-ревью
Без сценария и заранее известных вопросов ↓
В роли кандидата – действующий разработчик, который впервые увидит задания прямо на эфире
Обычно ты видишь собеседование только со стороны кандидата. Здесь сможешь посмотреть на процесс глазами интервьюера:
— какие темы и задачи проверяют на Frontend-собеседованиях
— как кандидат отвечает и где возникают сложности
— на что Даниил обращает внимание при оценке ответов
В конце Даниил ответит на вопросы зрителей
Эфир проходит в рамках менторской программы ШОРТКАТ. Мы помогаем разработчикам расти в грейде и зарплате. В нашем сообществе более 150 менторов из бигтеха, а наши менти уже получили более 500 офферов
Участие бесплатное 🔥
Зарегистрироваться на эфир можно в боте → @shortcut_front_bot
Реклама.
О рекламодателе.
👎1🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
HTML5 canvas and javascript fireworks tutorial
Сцена фейерверка на canvas и JS с очень подробными комментариями в коде.
https://codepen.io/programking/pen/AJgeEd
Сцена фейерверка на canvas и JS с очень подробными комментариями в коде.
https://codepen.io/programking/pen/AJgeEd
👍6🔥3
Кто в IT платит выше рынка? И какой оффер считается хорошим?
Предлагаем опытным IT-специалистам поделиться мнением о зарплатах и бенефитах в крупных технологических компаниях.
Кто, на ваш взгляд, платит выше рынка?
У кого привлекательнее премии?
Насколько важны ДМС, спорт, питание и другие бонусы при выборе работы?
👉 Поделиться мнением: https://clck.ru/3Wx88m
Предлагаем опытным IT-специалистам поделиться мнением о зарплатах и бенефитах в крупных технологических компаниях.
Кто, на ваш взгляд, платит выше рынка?
У кого привлекательнее премии?
Насколько важны ДМС, спорт, питание и другие бонусы при выборе работы?
👉 Поделиться мнением: https://clck.ru/3Wx88m
👎2❤1👏1
This media is not supported in your browser
VIEW IN TELEGRAM
Gooey Navigation
Элементы меню — это svg-картинки, стилизованные в SCSS.
https://codepen.io/simeydotme/pen/LYLxJqV
Элементы меню — это svg-картинки, стилизованные в SCSS.
https://codepen.io/simeydotme/pen/LYLxJqV
👍5👎2