Habr.com

Syndicate content Хабр
Все публикации подряд на Хабре
Updated: 1 hour 9 min ago

[Перевод] Структуры данных на практике. Глава 3: Бенчмаркинг и профилирование

4 hours 49 min ago

Проблема измерений

Узнав из Главы 2 об иерархии памяти, вы, возможно, захотите оптимизировать свой код. Но есть одна проблема: как понять, что оптимизация на самом деле сработала?

Этот урок дорого мне обошёлся.

Я оптимизировал реализацию хэш-таблицы в загрузчике. Исходя из своего понимания поведения кэша, я переписал хэш-функцию так, чтобы она была «более дружественной к кэшу», и был уверен, что она станет быстрее.

Я запустил код. Мне показалось, что он быстрее. Я закоммитил изменения.

Неделю спустя коллега провёл бенчмарки и выяснил, что моя «оптимизация» замедлила код на 15%. Я оптимизировал не то, но у меня не было данных, чтобы подтвердить мои предположения.

Вывод: никогда не доверяйте своей интуиции, всегда проводите замеры.

В этой главе я расскажу, как измерять правильно. Мы создадим комплексный фреймворк бенчмаркинга и научимся эффективно использовать инструменты профилирования.

Читать далее

Veai 5.3: новые режимы агента, личный кабинет и выбор модели LLM

4 hours 51 min ago

В Veai 5.3 добавлены режимы работы агента (Modes), появился личный кабинет и возможность выбрать модель LLM для индивидуальных пользователей, отображение ИИ-текста стало более плавным и комфортным для восприятия.

Читать далее

Оптимизация маршрутов доставки заказов маркетплейса или как мы победили в E-CUP 2025

4 hours 53 min ago

Хабр, привет! Недавно завершилось ML-соревнование E-CUP 2025. Наша команда из X5 Tech заняла первое место в треке «Логистика: автопланирование курьеров», где было нужно оптимизировать время, затрачиваемое курьерами на доставку 20 000 заказов. В статье расскажем про подходы, которые использовали для решения этой задачи. Посмотрим, во сколько раз можно сжать JSON с матрицей расстояний. Какой код мы использовали для быстрого решения задачи TSP с помощью LKH-3. Обсудим, на что обращать внимание при кластеризации заказов.

Постановка задачи

Требовалось распределить порядка 20 000 заказов между 280 курьерами и построить для каждого из них маршрут так, чтобы минимизировать их суммарное время работы. Оно складывалось из времени перемещения курьеров между заказами и времени выполнения самих заказов (service time). За каждый невыполненный заказ добавлялся штраф 3000 секунд...

Читать далее

Ретроспектива технологий имплантологии: от механической фиксации к современной остеоинтеграции

4 hours 53 min ago

Нестеров Алексей Александрович, доцент, кандидат медицинских наук, зав. кафедрой стоматологии и челюстно-лицевой хирургии с курсом последипломного образования в АГМУ, эксперт компании Alpha-Bio Tec.

Проблема отсутствия зубов волновала человечество во все времена. Представители древних цивилизаций Междуречья, Египта, Южной Америки весьма искусно восстанавливали целостность зубного ряда умершим перед погребением, а также умели делать простые зубные протезы с креплениями из проволоки. Об этом говорят археологические находки в самых разных частях света. 

Читать далее

Хакатоны — не только для айтишки, или Зачем звать бизнес на IT-ивенты

4 hours 53 min ago

Что для вас хакатон? Тимбилдинг для разработчиков? Тусич с коллегами? Что-то айтишное? А что если хакатон — это вообще не про айтишку, а про... бизнес!?

Меня зовут Ануш Изян, я — внутриком в Dodo Engineering, а сегодня расскажу вам, как мы организовали хакатон для всей компании, позвав на него и IT, и бизнес, что из этого получилось и какие инсайты мы словили. Погнали!

Читать далее

Инвестиционные боты (почти) с нуля. Часть 2: свечи и индикаторы

4 hours 56 min ago

Всем привет.

В этой статье мы продолжим дорабатывать базовые инструменты для работы с инвестициями и начнем изучать индикаторы.

Читать далее

Как ИИ траблшутит приложения в нашем Kubernetes

5 hours 8 min ago

Уже нет сомнений в том, что искусственный интеллект позволяет оптимизировать и ускорить процесс разработки, помогая в написании и ревью кода. Но насколько полезен он может быть для задач в сфере инфраструктуры и девопс? 

В Иви мы решили проверить это, подключив ИИ к процессу траблшутинга приложений, запущенных в Kubernetes кластере. В статье я расскажу про наши ожидания и достигнутый результат, подробно про саму реализацию и различные нюансы, с которыми столкнулись при внедрении.

Читать далее

Интеграция coding-агента с MCP-сервером Idea

5 hours 9 min ago

В IntelliJ Idea (а, значит, и в OpenIDE) есть встроенный MCP-сервер. Активируется он достаточно просто и позволяет расширять стандартную функциональность command-line кодинговых агентов, таких как платный Claude Code или бесплатный, но тоже весьма неплохой Qwen Code. Преимущество CLI-агентов в том, что они работают с исходниками напрямую, держат контекст всего проекта и сами проверяют компилируемость кода. А MCP-сервер предоставляет такому агенту некоторую функциональность, которая обеспечивается средствами IDE. Поскольку IDE явно лучше заточена под работу с исходниками проекта, чем универсальные агенты, такие действия выполняются быстрее и точнее.

Читать далее

Роскошный архитектурный минимум для аналитика: понимать систему в целом и не бояться «богов»-архитекторов

5 hours 9 min ago

Я — системный аналитик. В моей жизни так повелось: чего боюсь, в то и попадаю. В начале своего пути столкнулась с проектом, где работали настоящие архитекторы решений. Глядя на них, я думала: «Они боги! Знают и понимают так много… ВАУ!». Они одновременно и привлекали, и пугали. С ними было легко, потому что они внушали доверие: нет нерешаемых задач, нужно просто подумать. И в то же время объёмно — от глубины их знаний захватывало дух.

Недавно мне раскрыли тайну: архитектор — это не тот, кто знает всё, а тот, кому доверяют построить систему для решения бизнес-задачи. И я поняла, что в начале пути меня привлекали их спокойствие и уверенность. Всё остальное — опыт, знание технологий — это hard skills, которые можно наработать. 

В статье хочу осветить границу между анализом и архитектурой и показать, каким минимальным набором знаний в этой области должен обладать аналитик, чтобы не просто передавать требования, а активно влиять на качество конечного продукта. 

Читать далее

Маркировка без потерь: как совместить требования Честного ЗНАКа, «1С: Альфа-Авто» и мобильную автоматизацию на складе

5 hours 18 min ago

Маркировка охватывает всё больше товарных категорий, и если для одних участников рынка она уже стала рутиной, то у других она вызывает много вопросов и стресса. Сегодня на повестке — масла и автозапчасти.

В то время как моторные масла уже перешли в «обязаловку», автозапчасти пока ещё находятся на стадии эксперимента до февраля 2026. Постепенный ввод новых категорий даёт бизнесу шанс: разобраться с учетом, актуализировать данные, донастроить систему учёта под новые требования и сделать всё это до начала обязательного этапа — спокойно, без спешки, с возможностью совершать ошибки, за которые не придётся платить.

Особенно ценно это для компаний, работающих на устаревающих системах вроде «1С:Управление торговлей 10.3» и «1С:Альфа-Авто 5», где каждое новое требование регулятора превращается в технический вызов. Основываясь на собственном реальном опыте, историях и опыте наших ведущих партнёров-интеграторов, рассказываем, как пройти путь от ручного учёта «по бумажке» к автоматизированному контуру, совместимому с Честным ЗНАКом, без разрушения привычных бизнес-процессов.

Читать далее

Секрет ювелиров XIX века и ядерная хронометрия

5 hours 28 min ago

Любая наука открыта к теориям, размышлениям и интерпретациям. Однако всегда существуют определенные законы, стандарты и нормы, которые являются постоянными и не обсуждаемыми. Особенно это проявляется в точных науках (физика, химия, математика и т. д.), от того и соответственное название. Точные измерения какого-либо параметра несут важнейшее значения не только в дальнейших расчетах, но и в последующем формировании теорий, физических опытах и создании чего-либо. Одним из самых ценных с точки зрения многих философий ресурсом является время, точное измерение которого крайне важно не только для многих расчетов различных отраслей, но и для работы многих устройств и систем. Эталоном измерения времени является ядерная хронометрия. Создания такого рода часов — это сложный и трудоемкий процесс, где малейшая ошибка приведет к неточной работе. Однако группа ученых из Калифорнийского университета в Лос-Анджелесе (США) обнаружили весьма простой и эффективный метод создания ядерных часов, который был вдохновлен старинной техникой ювелиров. В чем суть методики, как именно она была применена к ядерным часам, и насколько точными они были? Ответы на эти вопросы мы найдем в докладе ученых.

Читать далее

QA и SRE – две стороны одной медали

5 hours 32 min ago

Всем привет! Меня зовут Найля, я инженер по обеспечению качества в Т-Банке. В поисках полезного материала часто слушаю доклады с личными кейсами и разборами инструментов. Это помогает увидеть проблемы глазами других и почерпнуть что-то полезное для себя и своего проекта. На весенней конференции Heisenbug выступал мой коллега Александр Бодня — тоже инженер по качеству. Его доклад показался мне интересным, и я захотела им поделиться. 

Сегодня в ИТ-сообществе все чаще говорят про T-shaped-специалистов — людей, обладающих глубокими знаниями в своей области и широким кругозором в смежных. Обычно этот подход обсуждается в контексте QA и Dev. А сейчас предлагаю посмотреть в другую сторону и обсудить интеграцию с SRE. 

QA-инженер, умеющий мыслить категориями эксплуатации, метрик, отказоустойчивости и жизненного цикла продукта, становится полноценным участником процесса обеспечения надежности и устойчивости сервиса. Такой специалист способен не только находить баги и их причины, но и предотвращать сбои, улучшать архитектуру и повышать общую зрелость инженерной культуры в команде.

Именно о такой интеграции рассказал Александр, делая акцент на том, как QA-подход может и должен применяться в задачах эксплуатации сервисов.

Читать далее

CI/CD для приложения в Docker: собираем и публикуем образ в Docker Hub через GitHub Actions

5 hours 35 min ago

В предыдущей статье я встроил команды для работы с веб-камерой в код сервиса робота, а также заменил Wi-Fi антенну на более крупную, чтобы повысить стабильность сигнала. Кроме того, я добавил поддержку управления с клавиатуры, чтобы сделать управление роботом более отзывчивым. В результате мне удалось успешно пройти полосу препятствий, управляя роботом и ориентируясь на изображение с веб-камеры.

В этом материале я создам Docker-контейнер для веб-приложения web-robot-control, который упростит и ускорит его запуск. Также я настрою GitHub Actions для сборки артефакта и его последующей автоматической отправки в Docker Hub.

Статья будет полезна веб-разработчикам, девопсам, которые интересуются созданием Docker-контейнеров и работой с Docker Hub.

Читать далее

Не просто участвовать, а побеждать: принципы работы с HR-премиями и рейтингами в КОРУСе

5 hours 37 min ago

Если вы занимаетесь коммуникациями и хотите построить сильный HR-бренд ИТ-компании, то участие в премиях и рейтингах — это гигиенический минимум. Они освещаются в СМИ, обсуждаются в профессиональных сообществах и вносят весомый вклад в имидж компании как работодателя. Быть участником премии или рейтинга — это такой же обязательный шаг как наличие карьерного лендинга, ведение соцсетей или участие с собственным стендом в карьерной выставке.

К тому же на сайте компании или в соцсетях можно написать что угодно: что у вас классная среда для развития, отличный корпоративный университет, теплая дружеская атмосфера, но без внешнего подтверждения от сообщества такие заявления могут выглядеть слабо. Премии в данном случае помогают придать весомости этим фактам, а самому бренду стать заметнее. 

Меня зовут Юлия Скируха, я маркетолог в команде HR-бренда в КОРУСе. Сегодня поделюсь нашим опытом участия в премиях и рейтингах и расскажу:

Читать далее

Новые финансовые бенчмарки для LLM. Лаборатории ИИ «Финама»

5 hours 38 min ago

В Лаборатории искусственного интеллекта «Финама» мы изучаем и развиваем применение ИИ в домене финансов: от бенчмаркинга LLM до прикладных сценариев в трейдинге и управлении рисками. Сегодня хотим поделиться с вами нашим исследовательским проектом.

В последнее время мы все чаще встречаем новости вроде “ИИ от OpenAI взял «золото» Международной олимпиады по информатике”. Главное преимущество такого формата оценки — уверенность, что задания оригинальные и что, при обучении модели они не встречались в идентичном виде.

Наша лаборатория поставила себе задачу узнать — насколько обширны знания LLM в области экономики, финансов и трейдинга. Вначале мы тестировали модели на открытых Question Answering (QA) бенчмарках (FinQA, ConvFinQA, TATQA), но столкнулись с несоответствием результатов на бенчмарках и в реальном hands-on тестировании.

В результате мы пришли к идее использовать для оценки LLM форматы, близкие к существующим сертификационным экзаменам, которые сдают инвесторы для подтверждения своей квалификации CFA-like Level 1, 2, 3 (Chartered Financial Analyst) и CMT-like Level 2 (Chartered Market Technician).

Для проверки того, знают ли модели специфику российского рынка, мы собрали бенчмарк на основе олимпиады «Высшая лига» по трекам «Финансы и инвестиции» и «Мировая экономика».

В открытом доступе (GitHub) опубликованы не только результаты наших замеров, но и единый фреймворк, поддерживающий как наши новые бенчмарки, так и уже существующие. Надеемся, это поможет развитию LLM4Trading!

Читать далее

Что такое Portainer и чем он может быть полезен сисадмину

5 hours 38 min ago

Portainer — удобный интерфейс управления контейнерами (Docker/Kubernetes) из браузера, но почему-то о нём ещё не все знают. В статье расскажу, что это такое, зачем он вообще нужен и как установить.

Читать

Ускорение вычислений в алгоритме DRS-виртуализации через векторизацию

5 hours 38 min ago

Переписать решение с Python на Go и получить ускорение в 35 раз — звучит приятно. Но можно ведь пойти дальше, вспомнить о возможностях современных процессоров и увеличить отрыв Go до 200 раз! Статья написана по мотивам доклада для Golang Conf.

Привет, Хабр! Я — Игорь Вагулин, работаю тимлидом департамента IaaS в Cloud.ru, крупнейшем в России облачном провайдере IaaS- и PaaS-сервисов. Прогресс в производительности процессоров и видеокарт привел к тому, что мы можем использовать полный перебор там, где мы раньше обходились приближениями. Сегодня на примере алгоритма DRS-платформы Cloud.ru Evolution рассмотрим, как он может быть решен на разных версиях операций с плавающей точкой процессоров x86 и Arm, в чем сложности задействования SIMD-операций, почему это сложнее на Go и как это обойти.

Читать далее

Django ORM: как QuerySet ленится, цепляется и генерирует SQL

5 hours 50 min ago

Django ORM прячет SQL за красивым Python-интерфейсом. Пишешь User.objects.filter(active=True).order_by('name')[:10] — получаешь список пользователей. Круто. Но когда запросы тормозят или N+1 пожирает базу, приходится понимать, что вообще происходит.

Разберём внутренности QuerySet: почему он ленивый, как работает chaining, когда запрос реально выполняется, и чем select_related отличается от prefetch_related на уровне SQL.

Читать далее

[Перевод] Маск ошибается насчёт ИИ и выхода на пенсию: вам всё равно нужно откладывать деньги

6 hours 11 min ago

Илон Маск недавно предсказал, что ИИ создаст такое изобилие, что через десять-двадцать лет людям не нужно будет беспокоиться о накоплениях на пенсию.

Читать далее

Как нарезать графику для игровых интерфейсов, чтобы они не мылились, не пикселили и тянулись без швов

6 hours 19 min ago

Всем привет! Это статья о том, как нарезать графику для игровых интерфейсов 

Допустим, мы утвердили макеты интерфейсов для новой игровой механики. Дальше нужно передать их программистам, чтобы они собрали интерфейсы в движке и настроили логику их работы

Читать далее

Who's online

There are currently 1 user and 2 guests online.