Меня позвали настроить сквозную аналитику для маркетинга. Заказчик — кинодистрибьютор, работает в шести странах СНГ, десятки миллионов долларов кассы в год. Задача звучала стандартно: есть реклама фильмов в digital, есть бюджеты, нужно понимать отдачу. Соберите данные, постройте дашборд.
Обычный сценарий здесь — взять бриф и пойти делать. Я потратил три недели на интервью с руководителями направлений и разбор их рабочих файлов, прежде чем что-то строить. Выяснилось, что дашборд по маркетингу отвечал бы на вопрос про малую часть выручки, а основной денежный процесс компании — роспись, распределение сеансов по кинотеатрам, — не имеет ни одной управленческой метрики. Ни плана, ни факта относительно плана, ни замера качества. При этом через него проходит более 200 фильмов в год по более чем 150 кинотеатрам и примерно 500 залам.
Дальше — как устроен ИТ-ландшафт компании, которая делает десятки миллионов долларов кассы на Excel-файле со 150 вкладками, где именно там теряются деньги, и как я оценил размер потерь, когда сравнивать не с чем. Спойлер по методу: никакой магии, оценка построена на публичных бенчмарках производительности и честно помечена как нижняя граница.
Открыть Excel на 150 вкладокFigure AI, Sunday Robotics, Weave Robotics и другие компании вкладывают огромные деньги в создание домашних гуманоидов, которые должны однажды превратиться в настоящих роботов-дворецких.
Но прежде чем дройд в стиле C-3PO из "Звездных войн" начнет готовить вам ужин и мыть полы, ему придется разобраться с кучей грязного белья.
Читать далееКак асинхронно отправить диагностическую информацию на удалённые сервера для дальнейшей диагностики в условиях очень ограниченной среды? Корутины C++20 без динамической памяти и исключений, а также некоторые другие вещи, о которых вы бы никогда не подумали, что они вам нужны.
Читать далееБольшинство ИТ-компаний начинают готовиться к проверке после получения первого требования ФНС. На практике, если запрос пришел, то налоговая к этому моменту уже собрала информацию и сформировала свои вопросы к вам. Поэтому сегодня важно «подстелить соломку» заранее. В этой статье разбираю, как изменился подход ФНС к проверкам, какие ситуации становятся причиной дополнительных вопросов и что проверить, если компания применяет ИТ-льготы.
Читать далееВ предыдущей статье мы разобрали четвёртое базовое понятие BABOK — Решение (Solution). Мы выяснили, что оптимальное решение — не то, которое технически совершенно, а то, что наилучшим образом закрывает сформулированную потребность в данном контексте с учётом реальных ограничений. Ключевое словосочетание здесь — «в данном контексте». Но что именно скрывается за этим словом?
Представьте: команда провела безупречный анализ заинтересованных сторон, точно сформулировала потребность, спроектировала переход и выбрала оптимальное решение. А потом выяснилось, что регулятор запретил использование облачных технологий для хранения персональных данных. Или что организационная культура компании настолько иерархична, что любое изменение без явного одобрения топ-менеджмента обречено на саботаж снизу. Или что технологический стек компании несовместим с выбранным решением, а на его замену нет ни бюджета, ни времени. Всё это — контекст.
Разберём пятое базовое понятие BABOK — Контекст (Context).
Читать далееИмпортозамещение софта подошло к тупику экстенсивного роста. Бюджеты стабилизировались, первая волна пожарной миграции завершена, и на смену паническому «на чем работать завтра» приходит трезвый аудит TCO и вендор-рисков.
В этой статье мы разберем математику сетевых эффектов, парадокс теневого Telegram, почему On-Prem отечественных «вендорских комбайнов» вместо снижения рисков оборачивается инфраструктурным взрывом, и как Matrix, TOGAF 10 и SABSA помогут бизнесу вырваться из нового вендорского капкана.
В последний вечер дататона у нас оставалось три попытки отправить решение. К этому моменту мы уже перебрали несколько моделей, собрали тяжёлый ансамбль и упёрлись в 0.6605. Новые энкодеры добавляли по одной-две тысячных, а fine-tuning показывал отличные цифры локально и проваливался на лидерборде.
Добавлять ещё одну модель смысла почти не было. Мы решили изменить сам поиск соседей: попробовать K-reciprocal re-ranking, а затем ещё раз применить AS-Norm. От этого варианта ждали примерно 0.67–0.69.
Получилось 0.7042 и 10-е место из 93. Почти весь день мы пытались выжать из моделей тысячные, а перерасчёт соседей добавил больше четырёх сотых без дополнительного обучения.
Читать далееРазбор XML казался тривиальной задачей — пока я не попытался загрузить словарь OpenCorpora объёмом свыше 400 МБ через стандартный DOM-парсер. Дерево документа строилось бесконечно долго, потребление памяти росло без остановки, а до обработки данных дело так и не доходило.
Решением оказался SAX-парсинг, давно присутствующий в стандартной библиотеке Free Pascal, но почти не встречающийся в актуальных примерах и туториалах. В статье разбираю, как устроена событийная модель разбора XML, почему она принципиально экономичнее DOM для больших файлов, и как на её основе был построен парсер словаря OpenCorpora для экспериментальной библиотеки.
Привет, Хабр! Меня зовут Дмитрий Тимохин, я лидер команды ML CRM «Кластер CRM и клиентский опыт» в ВТБ. В этой статье расскажу, как мы разрабатывали сервис анализа и категоризации клиентских обращений для центра клиентской поддержки корпоративно-инвестиционного бизнеса (ЦКП КИБ).
В реальных бизнес-процессах автоматизировать клиентскую поддержку довольно непросто. Клиентские обращения редко представляют собой один цельный текст с понятным запросом: это звонки, чаты и письма одновременно, оборванные фразы, переключение между несколькими темами внутри одного диалога и неполные данные из разных источников.
Как собрать из этого потока единое обращение, выделить необходимую информацию, чтобы корректно решить проблему клиента?
Разберемся в статье.
Читать далееВ рамках этой статьи я детально расскажу о разработке драйвера шагового двигателя. Я уже много лет держал в голове этот проект и хотел им заняться. Наконец такая возможность появилась: этот проект стал моей дипломной работой.
Вращать магнитное полеМониторинг шлёт тревогу, пользователи пишут, что «всё лежит», но SSH пускает на сервер. Значит, машина включена и 22-й порт доступен. О домене, портах 80 и 443, TLS, веб-сервере и приложении это пока ничего не говорит… Кажется, что нужно просто перезапустить nginx, но перезапуск стирает часть следов и может превратить частичную аварию в полную беду. Под катом расскажу, как пройти путь запроса сверху вниз и найти место, где он остановился.
ЧитатьСистемы видеоаналитики обрабатывают терабайты видеоданных в реальном времени — от распознавания номеров до детекции инцидентов на дорогах. В таких условиях любая ошибка управления памятью оборачивается сбоями: пропущенными нарушениями, потерянными доказательствами, остановкой системы на часы.
Именно поэтому всё больше команд, разрабатывающих высоконагруженные системы видеоаналитики, рассматривают Rust как альтернативу языкам с ручным управлением памятью (C/C++) — как минимум для критических компонентов, где важны предсказуемое время отклика и исключение ошибок работы с памятью.
В этой статье разбираем, как контроль над памятью и исключение неопределенного поведения влияют на стабильность обработки видеопотоков и почему предсказуемость работы системы становится важнее сырой производительности.
При подготовке статьи комментариями поделился Антон Половихин, руководитель команды разработки сервисов локального комплекса в «Фалькон Тех». Он ответил на вопросы по работе с Rust в высоконагруженных бэкенд-системах и помог уточнить технические детали.
Читать далееКогда инфраструктура готова, возникает следующий вопрос: чем должна быть оснащена лаборатория, чтобы в ней действительно было удобно работать? Рассказываю, без какого оборудования мы уже не представляем повседневную разработку и на чем, по нашему опыту, не стоит экономить.
Читать далееВ июле вышел КОМПАС-3D v25, а вместе с ним — новое приложение «Эргономика: Манекены». Название «приложение» здесь скорее дань традиции: фактически перед нами специализированная САПР внутри КОМПАС-3D. Разработать ее нам помогли коллеги из компании «Ай-Джи-Эй Системы», за что им большое спасибо.
Но сначала разберемся, зачем вообще инженеру помещать человека внутрь CAD-модели.
Читать далееСовременные AI-агенты действуют в реальном мире с помощью доступных им инструментов (tools). Ядро вокруг модели (LLM), которое позволяет всему этому работать (harness), серьезно влияет на качество и стоимость конечных ответов. При этом добавление в harness простого JavaScript может существенно прокачать AI-агента и заменить часть долгих и дорогих рассуждений простейшим кодом, который будет лучше, точнее и быстрее.
В этой статье разберу как такие интерпретаторы могут помогать. Начну с примера, который можно повторить у себя в LM Studio, а потом перейду к более общему устройству на LangChain, где простой JS-интерпретатор становится уже не таким простым, а забирает часть логики с LLM и помогает ей фокусироваться на том, что нужно, делегируя детерминированную логику скрипту.
Читать далееРоуэн Чунг создал одну из крупнейших в мире рассылок об искусственном интеллекте. Ее читают более 2 млн человек, включая спецов из Google, Apple, OpenAI и NASA.
Короче, штука прикольная.
Можно поугарать над своими тараканами, которыми кормишь чат-бота годами. Дайте своему ИИ шанс выговориться.
Читать далееВ прошлой статье я разбирал блокчейн как append-only базу данных - сплошная теория и одна read-only команда. Долг перед практикой остался, и сегодня я его закрываю: отправим в Ethereum настоящую транзакцию из TypeScript-скрипта.
Сам код - 20 строк и 10 минут. Но по дороге вас ждут три грабли. Я на них наступил сам, когда только заходил в web3, а теперь регулярно наблюдаю, как на те же самые грабли наступают мои менти - с завидным постоянством, в одном и том же порядке. Разберу все три заранее - сэкономлю вам час отладки.
Всё происходит в тестовой сети Sepolia: эфир там бесплатный, ошибки безболезненны, а механика - байт в байт как в мейннете. Тестовый эфир раздают фосеты-«краники», и они имеют привычку умирать - поэтому живые я собираю в шпаргалке в репозитории Копилки: это учебный dApp, который я разрабатываю в открытую по ходу серии «Web3 для JS-разработчиков» в Telegram. Этот туториал - её пятая часть, дальше серия уходит в Solidity.
Читать далееПрограммист АСУ ТП пишет код, работает с ПЛК и SCADA, читает электрические схемы, разбирается в технологическом процессе, ездит на пусконаладку и отвечает за реальное оборудование. Но почему при таком наборе задач он часто получает меньше обычного IT-разработчика?
Четыре года назад на Хабре вышла статья «АСУ ТП — тухлая отрасль, надо идти в IT?». Я решил проверить, что изменилось с тех пор: собрал актуальные вакансии hh.ru, сравнил зарплаты по опыту и условиям работы, изучил требования работодателей и зарубежные исследования.
Читать далееВ начале недели взял задачу, которая выглядела на удивление просто. Сначала я попробовал решить ее одним способом, вторым, пятым, десятым — и очнулся ближе к ночи. Вот тебе и девопс…
Разберемся, чем DevOps-инженер занимается, помимо настройки инфраструктуры, почему его задачи различаются от компании к компании и что стоит выяснить перед откликом на вакансию.
Читать далееЯ подключаю API нейросетей почти каждую неделю. Собираю пайплайны для генерации контента, тестирую модели под задачи клиентов, веду сервис, который гоняет запросы через десяток провайдеров. Дольше всего из всех провайдеров я разбирался с Gemini: модели у Google сильные, а вот добраться до них сложнее, чем до любых других.
У OpenAI один кабинет и один ключ. У Google три названия на два реальных способа доступа — Google AI Studio, Gemini Developer API и Vertex AI. На то, чтобы понять, что из этого одно и то же, а что разные вещи, уходит отдельный вечер. Новичок открывает документацию, тыкает не в тот раздел и заводит биллинг в Google Cloud вместо бесплатного ключа в AI Studio. А в России к этому добавляются региональные ограничения.
Дальше я разбираю тот же путь, которым провожу коллег и клиентов, и показываю, на каком шаге официальная инструкция для российского IP перестаёт работать.
Читать далее