Проблема измерений
Узнав из Главы 2 об иерархии памяти, вы, возможно, захотите оптимизировать свой код. Но есть одна проблема: как понять, что оптимизация на самом деле сработала?
Этот урок дорого мне обошёлся.
Я оптимизировал реализацию хэш-таблицы в загрузчике. Исходя из своего понимания поведения кэша, я переписал хэш-функцию так, чтобы она была «более дружественной к кэшу», и был уверен, что она станет быстрее.
Я запустил код. Мне показалось, что он быстрее. Я закоммитил изменения.
Неделю спустя коллега провёл бенчмарки и выяснил, что моя «оптимизация» замедлила код на 15%. Я оптимизировал не то, но у меня не было данных, чтобы подтвердить мои предположения.
Вывод: никогда не доверяйте своей интуиции, всегда проводите замеры.
В этой главе я расскажу, как измерять правильно. Мы создадим комплексный фреймворк бенчмаркинга и научимся эффективно использовать инструменты профилирования.
Читать далееВ Veai 5.3 добавлены режимы работы агента (Modes), появился личный кабинет и возможность выбрать модель LLM для индивидуальных пользователей, отображение ИИ-текста стало более плавным и комфортным для восприятия.
Читать далееХабр, привет! Недавно завершилось ML-соревнование E-CUP 2025. Наша команда из X5 Tech заняла первое место в треке «Логистика: автопланирование курьеров», где было нужно оптимизировать время, затрачиваемое курьерами на доставку 20 000 заказов. В статье расскажем про подходы, которые использовали для решения этой задачи. Посмотрим, во сколько раз можно сжать JSON с матрицей расстояний. Какой код мы использовали для быстрого решения задачи TSP с помощью LKH-3. Обсудим, на что обращать внимание при кластеризации заказов.
Постановка задачи
Требовалось распределить порядка 20 000 заказов между 280 курьерами и построить для каждого из них маршрут так, чтобы минимизировать их суммарное время работы. Оно складывалось из времени перемещения курьеров между заказами и времени выполнения самих заказов (service time). За каждый невыполненный заказ добавлялся штраф 3000 секунд...
Читать далееНестеров Алексей Александрович, доцент, кандидат медицинских наук, зав. кафедрой стоматологии и челюстно-лицевой хирургии с курсом последипломного образования в АГМУ, эксперт компании Alpha-Bio Tec.
Проблема отсутствия зубов волновала человечество во все времена. Представители древних цивилизаций Междуречья, Египта, Южной Америки весьма искусно восстанавливали целостность зубного ряда умершим перед погребением, а также умели делать простые зубные протезы с креплениями из проволоки. Об этом говорят археологические находки в самых разных частях света.
Что для вас хакатон? Тимбилдинг для разработчиков? Тусич с коллегами? Что-то айтишное? А что если хакатон — это вообще не про айтишку, а про... бизнес!?
Меня зовут Ануш Изян, я — внутриком в Dodo Engineering, а сегодня расскажу вам, как мы организовали хакатон для всей компании, позвав на него и IT, и бизнес, что из этого получилось и какие инсайты мы словили. Погнали!
Читать далееВсем привет.
В этой статье мы продолжим дорабатывать базовые инструменты для работы с инвестициями и начнем изучать индикаторы.
Читать далееУже нет сомнений в том, что искусственный интеллект позволяет оптимизировать и ускорить процесс разработки, помогая в написании и ревью кода. Но насколько полезен он может быть для задач в сфере инфраструктуры и девопс?
В Иви мы решили проверить это, подключив ИИ к процессу траблшутинга приложений, запущенных в Kubernetes кластере. В статье я расскажу про наши ожидания и достигнутый результат, подробно про саму реализацию и различные нюансы, с которыми столкнулись при внедрении.
Читать далееВ IntelliJ Idea (а, значит, и в OpenIDE) есть встроенный MCP-сервер. Активируется он достаточно просто и позволяет расширять стандартную функциональность command-line кодинговых агентов, таких как платный Claude Code или бесплатный, но тоже весьма неплохой Qwen Code. Преимущество CLI-агентов в том, что они работают с исходниками напрямую, держат контекст всего проекта и сами проверяют компилируемость кода. А MCP-сервер предоставляет такому агенту некоторую функциональность, которая обеспечивается средствами IDE. Поскольку IDE явно лучше заточена под работу с исходниками проекта, чем универсальные агенты, такие действия выполняются быстрее и точнее.
Читать далееЯ — системный аналитик. В моей жизни так повелось: чего боюсь, в то и попадаю. В начале своего пути столкнулась с проектом, где работали настоящие архитекторы решений. Глядя на них, я думала: «Они боги! Знают и понимают так много… ВАУ!». Они одновременно и привлекали, и пугали. С ними было легко, потому что они внушали доверие: нет нерешаемых задач, нужно просто подумать. И в то же время объёмно — от глубины их знаний захватывало дух.
Недавно мне раскрыли тайну: архитектор — это не тот, кто знает всё, а тот, кому доверяют построить систему для решения бизнес-задачи. И я поняла, что в начале пути меня привлекали их спокойствие и уверенность. Всё остальное — опыт, знание технологий — это hard skills, которые можно наработать.
В статье хочу осветить границу между анализом и архитектурой и показать, каким минимальным набором знаний в этой области должен обладать аналитик, чтобы не просто передавать требования, а активно влиять на качество конечного продукта.
Читать далееМаркировка охватывает всё больше товарных категорий, и если для одних участников рынка она уже стала рутиной, то у других она вызывает много вопросов и стресса. Сегодня на повестке — масла и автозапчасти.
В то время как моторные масла уже перешли в «обязаловку», автозапчасти пока ещё находятся на стадии эксперимента до февраля 2026. Постепенный ввод новых категорий даёт бизнесу шанс: разобраться с учетом, актуализировать данные, донастроить систему учёта под новые требования и сделать всё это до начала обязательного этапа — спокойно, без спешки, с возможностью совершать ошибки, за которые не придётся платить.
Особенно ценно это для компаний, работающих на устаревающих системах вроде «1С:Управление торговлей 10.3» и «1С:Альфа-Авто 5», где каждое новое требование регулятора превращается в технический вызов. Основываясь на собственном реальном опыте, историях и опыте наших ведущих партнёров-интеграторов, рассказываем, как пройти путь от ручного учёта «по бумажке» к автоматизированному контуру, совместимому с Честным ЗНАКом, без разрушения привычных бизнес-процессов.
Читать далееЛюбая наука открыта к теориям, размышлениям и интерпретациям. Однако всегда существуют определенные законы, стандарты и нормы, которые являются постоянными и не обсуждаемыми. Особенно это проявляется в точных науках (физика, химия, математика и т. д.), от того и соответственное название. Точные измерения какого-либо параметра несут важнейшее значения не только в дальнейших расчетах, но и в последующем формировании теорий, физических опытах и создании чего-либо. Одним из самых ценных с точки зрения многих философий ресурсом является время, точное измерение которого крайне важно не только для многих расчетов различных отраслей, но и для работы многих устройств и систем. Эталоном измерения времени является ядерная хронометрия. Создания такого рода часов — это сложный и трудоемкий процесс, где малейшая ошибка приведет к неточной работе. Однако группа ученых из Калифорнийского университета в Лос-Анджелесе (США) обнаружили весьма простой и эффективный метод создания ядерных часов, который был вдохновлен старинной техникой ювелиров. В чем суть методики, как именно она была применена к ядерным часам, и насколько точными они были? Ответы на эти вопросы мы найдем в докладе ученых.
Читать далееВсем привет! Меня зовут Найля, я инженер по обеспечению качества в Т-Банке. В поисках полезного материала часто слушаю доклады с личными кейсами и разборами инструментов. Это помогает увидеть проблемы глазами других и почерпнуть что-то полезное для себя и своего проекта. На весенней конференции Heisenbug выступал мой коллега Александр Бодня — тоже инженер по качеству. Его доклад показался мне интересным, и я захотела им поделиться.
Сегодня в ИТ-сообществе все чаще говорят про T-shaped-специалистов — людей, обладающих глубокими знаниями в своей области и широким кругозором в смежных. Обычно этот подход обсуждается в контексте QA и Dev. А сейчас предлагаю посмотреть в другую сторону и обсудить интеграцию с SRE.
QA-инженер, умеющий мыслить категориями эксплуатации, метрик, отказоустойчивости и жизненного цикла продукта, становится полноценным участником процесса обеспечения надежности и устойчивости сервиса. Такой специалист способен не только находить баги и их причины, но и предотвращать сбои, улучшать архитектуру и повышать общую зрелость инженерной культуры в команде.
Именно о такой интеграции рассказал Александр, делая акцент на том, как QA-подход может и должен применяться в задачах эксплуатации сервисов.
Читать далееВ предыдущей статье я встроил команды для работы с веб-камерой в код сервиса робота, а также заменил Wi-Fi антенну на более крупную, чтобы повысить стабильность сигнала. Кроме того, я добавил поддержку управления с клавиатуры, чтобы сделать управление роботом более отзывчивым. В результате мне удалось успешно пройти полосу препятствий, управляя роботом и ориентируясь на изображение с веб-камеры.
В этом материале я создам Docker-контейнер для веб-приложения web-robot-control, который упростит и ускорит его запуск. Также я настрою GitHub Actions для сборки артефакта и его последующей автоматической отправки в Docker Hub.
Статья будет полезна веб-разработчикам, девопсам, которые интересуются созданием Docker-контейнеров и работой с Docker Hub.
Читать далееЕсли вы занимаетесь коммуникациями и хотите построить сильный HR-бренд ИТ-компании, то участие в премиях и рейтингах — это гигиенический минимум. Они освещаются в СМИ, обсуждаются в профессиональных сообществах и вносят весомый вклад в имидж компании как работодателя. Быть участником премии или рейтинга — это такой же обязательный шаг как наличие карьерного лендинга, ведение соцсетей или участие с собственным стендом в карьерной выставке.
К тому же на сайте компании или в соцсетях можно написать что угодно: что у вас классная среда для развития, отличный корпоративный университет, теплая дружеская атмосфера, но без внешнего подтверждения от сообщества такие заявления могут выглядеть слабо. Премии в данном случае помогают придать весомости этим фактам, а самому бренду стать заметнее.
Меня зовут Юлия Скируха, я маркетолог в команде HR-бренда в КОРУСе. Сегодня поделюсь нашим опытом участия в премиях и рейтингах и расскажу:
Читать далееВ Лаборатории искусственного интеллекта «Финама» мы изучаем и развиваем применение ИИ в домене финансов: от бенчмаркинга 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 — удобный интерфейс управления контейнерами (Docker/Kubernetes) из браузера, но почему-то о нём ещё не все знают. В статье расскажу, что это такое, зачем он вообще нужен и как установить.
ЧитатьПереписать решение с Python на Go и получить ускорение в 35 раз — звучит приятно. Но можно ведь пойти дальше, вспомнить о возможностях современных процессоров и увеличить отрыв Go до 200 раз! Статья написана по мотивам доклада для Golang Conf.
Привет, Хабр! Я — Игорь Вагулин, работаю тимлидом департамента IaaS в Cloud.ru, крупнейшем в России облачном провайдере IaaS- и PaaS-сервисов. Прогресс в производительности процессоров и видеокарт привел к тому, что мы можем использовать полный перебор там, где мы раньше обходились приближениями. Сегодня на примере алгоритма DRS-платформы Cloud.ru Evolution рассмотрим, как он может быть решен на разных версиях операций с плавающей точкой процессоров x86 и Arm, в чем сложности задействования SIMD-операций, почему это сложнее на Go и как это обойти.
Читать далееDjango ORM прячет SQL за красивым Python-интерфейсом. Пишешь User.objects.filter(active=True).order_by('name')[:10] — получаешь список пользователей. Круто. Но когда запросы тормозят или N+1 пожирает базу, приходится понимать, что вообще происходит.
Разберём внутренности QuerySet: почему он ленивый, как работает chaining, когда запрос реально выполняется, и чем select_related отличается от prefetch_related на уровне SQL.
Читать далееИлон Маск недавно предсказал, что ИИ создаст такое изобилие, что через десять-двадцать лет людям не нужно будет беспокоиться о накоплениях на пенсию.
Читать далееВсем привет! Это статья о том, как нарезать графику для игровых интерфейсов
Допустим, мы утвердили макеты интерфейсов для новой игровой механики. Дальше нужно передать их программистам, чтобы они собрали интерфейсы в движке и настроили логику их работы
Читать далее