Найти ближайшее значение в бинарном дереве
Напишите функцию, которая принимает два аргумента — бинарное дерево и значение в виде числа, а возвращает ближайшее значение, найденное в бинарном дереве.
Зная свойство сбалансированного бинарного дерева, где слева находятся все значения нод меньше текущей, а справа равные или больше по значению, мы можем в лучшем случае откидывать каждый раз половину дерева.
В данном решении мы идем рекурсивным путём по нодам, записывая и сравнивая разницу со значением из аргумента. Если значение равно нужному, значит мы нашли нужную нам ноду, а иначе мы смотрим, является ли текущее значение ноды меньше или больше того, которое мы ищем. В зависимости от этого мы продолжаем рекурсивно спускаться в нужном нам направлении, обновляя разницу, до тех пор пока не упремся в конец ветки.
Напишите функцию, которая принимает два аргумента — бинарное дерево и значение в виде числа, а возвращает ближайшее значение, найденное в бинарном дереве.
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
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
👍4