Когда речь идет об автоматизации бизнес‑процессов, существенная часть разговора неизменно будет касаться использования офисного пакета. Есть такой интернет‑мем: гигантская конструкция, названная «финансовая система мира», тремя четвертями своего веса опирается на небольшую подпорку, названную «Excel». И пока все вокруг не заполонили рои интеллектуальных агентов, табличный редактор остается основным инструментом человека для обработки и представления структурированной информации. Вероятно, когда корабль человеческих возможностей начнет тонуть в океане данных, именно разнообразные электронные таблицы последними покинут палубу.
Читать далееМеня позвали настроить сквозную аналитику для маркетинга. Заказчик — кинодистрибьютор, работает в шести странах СНГ, десятки миллионов долларов кассы в год. Задача звучала стандартно: есть реклама фильмов в 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-инженер занимается, помимо настройки инфраструктуры, почему его задачи различаются от компании к компании и что стоит выяснить перед откликом на вакансию.
Читать далее