Habr.com

Syndicate content Хабр
Все публикации подряд на Хабре
Updated: 28 min 32 sec ago

Как научить планшет видеть несколько объектов в кадре одновременно: multi-label классификация

Thu, 03/12/2026 - 19:37

Представьте, что вам нужно научить камеру планшета почти мгновенно определять, что происходит в кадре. И это не просто «автомобиль» или «человек»: нужно различать и связывать разные категории объектов: документы, людей, QR, штрихкоды и так далее. Казалось бы, достаточно взять предобученную модель и заточить для запуска на конкретном железе, в нашем случае это планшет KVADRA_T.  

Привет, Хабр! Меня зовут Анастасия Шпилёва и я работаю в команде разработки программных ИИ-компонент MLKit компании YADRO. В статье расскажу, почему я остановилась на multi-label классификации изображений. А также — как я собирала, размечала и валидировала датасет, от которого во многом зависит эффективность модели.

Читать далее

Добавили флагманские серверы для AI-тренинга и новые образы в AI-маркетплейс: дайджест февральских новостей Selectel

Thu, 03/12/2026 - 19:28

Привет, Хабр! У нас в Selectel самый короткий месяц года запомнился большими обновлениями. Пополнили линейку конфигураций мощными флагманскими серверами для AI-тренинга и кластерных задач, добавили поддержку ephemeralStorage в Cluster Autoscaler и Karpenter и выпустили новую версию SELECTOS. Делимся новостями под катом!

Читать далее

Жестокая несовместимость

Thu, 03/12/2026 - 19:17

Привет, Хабр!

Выполнял я недавно обновление 1С:Документооборот. Много доработок, расширения. Но самое плохое – конфигурации поставщика нет в списках 1С, и не хочет с этой версии ни на что обновляться.

Читать далее

Singleton, Transient, Scoped в .NET: краткая памятка

Thu, 03/12/2026 - 19:15

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

Читать далее

Когда код начинают писать машины: что реально изменится в программировании

Thu, 03/12/2026 - 19:04

Кажется, мы приближаемся к моменту, когда генерация кода перестанет быть игрушкой и станет обычным инструментом разработки. Уже сейчас можно попросить модель написать API, SQL-запрос или даже кусок архитектуры сервиса. Но что будет дальше, когда такой подход станет стандартом? Изменится ли профессия разработчика или просто появится ещё один инструмент вроде IDE?

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

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

Честно говоря, в какой-то момент стало немного странно. Ты вроде разработчик, но код пишет не совсем ты.

Возникает ощущение, будто ты больше архитектор или редактор кода.

И тут появляется вопрос.

Если генерация станет стандартом, кем вообще будет программист?

Тем, кто пишет код?
Тем, кто проверяет код?
Или тем, кто придумывает системы, которые этот код потом генерируют?

Попробую поделиться наблюдениями.

Читать далее

Он меня заблокировал, но я его всё равно люблю! История о потере аккаунта LinkedIn с 23 000 подписчиков

Thu, 03/12/2026 - 19:01

Вообще история началась 23 июля. Тогда аккаунт с 23+ тысячами подписчиков попал в блок. «Ну и ладно, не в первый раз» - подумала я. Уж я то точно знаю, что нужно делать:) Однако это было начало конца… (впрочем, эта история с двумя концами

Как мы оперативно на PostgreSQL переезжали, или Новые грани применения Dapper

Thu, 03/12/2026 - 19:00

Всем привет! Я Игорь Эльяс — бэкенд-разработчик, сейчас работаю в МТС Веб Сервисы. Однажды мне досталась задача «перенести приложение в другую БД, за XX времени», где ХХ — короткий интервал с точки зрения потенциального объема работ при подходе «переделываем все по-нормальному — на Entity Framework» :-)

Проект на C#, изначальная БД — MS SQL + мы использовали самодельный ORM. Возможно, вы сейчас подумали — «очередное легаси!». И да и нет. Проект родился еще во времена Framework 2.0, но регулярно обновлялся и сейчас работает на .NET8. Он пережил десятки циклов рефакторинга, поэтому не безнадежен для доработок.

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

Читать далее

[Перевод] Более быстрый asin()

Thu, 03/12/2026 - 18:52

Когда я пишу эту статью, то чувствую себя довольно глупо. На самом деле, это история с моралью «Прежде, чем действовать, изучи вопрос и понимай, в чём заключается твоя цель, потому что иначе потеряешь много времени».

Я продолжаю работать над проектом PSRayTracing. Как ни стараюсь я положить его на полку, время от времени слышу о чём-то «новом» и задаюсь вопросом: «а можно ли засунуть это в мой трассировщик лучей, чтобы выжать из него ещё немного скорости?». На этот раз такой темой стали аппроксимации Паде. Моя цель заключалась в обеспечении более быстрых (и точных) тригонометрических аппроксимаций.

Увы, это не помогло... однако я обнаружил нечто иное, позволившее существенно ускорить мой трассировщик!

Читать далее

От MNIST к Transformer. Часть 3. Умножение тензоров. Пишем Linear Layer

Thu, 03/12/2026 - 18:49

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

Это третья статья из цикла От MNIST к Transformer, цель которого пошагово пройти путь от простого CUDA ядра до создания архитектуры Transformer - фундамента современных LLM моделей. Мы не будем использовать готовые высокоуровневые библиотеки. Мы будем разбирать, как все устроено под капотом, и пересобирать их ключевые механизмы своими руками на самом низком уровне. Только так можно по настоящему понять как работают LLM и что за этим стоит. В этой статье мы перейдем от матриц к такому понятию как тензоры, напишем умножение тензоров, так же создадим свой первый линейный слой или полно-связную нейронную сеть. И наконец напишем сеть для распознования mnist датасета.

Приготовьтесь, будет много кода на C++ и CUDA, работы с памятью и погружения в архитектуру GPU. И конечно же математика что за этим стоит. Поехали!

Читать далее

Квест на выживание: Настраиваем плагин Госуслуг и КриптоПро на Ubuntu 24.04 (Noble Numbat)

Thu, 03/12/2026 - 18:46

Настройка электронной подписи (ЭП) в Linux — это всегда приключение. Но попытка завести плагин Госуслуг на свежей Ubuntu 24.04 LTS превращается в настоящий хардкорный квест. Официальные инструкции безнадежно устарели, инсталляторы выдают ошибки, а техническая поддержка обычно разводит руками.

В этой статье я пошагово разберу, как заставить всё это работать, когда «всё против вас»: от конфликтов OpenSSL 3.0 до капризов Wayland и Native Messaging.

Читать далее

Транзакции в 1С: ошибки на собеседованиях, реальные примеры и правильные решения

Thu, 03/12/2026 - 18:43

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

Транзакция — это логическая группа операций, которую нужно выполнить целиком или не выполнять вовсе.

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

В 1С транзакции помогают обеспечить атомарность, целостность и согласованность данных.

Рассмотрим примеры.

Читать далее

Работаем с контейнерами в C++ с помощью библиотеки Ranges

Thu, 03/12/2026 - 18:20

Понятие контейнер сейчас активно применяется в контексте Docker и аналогичных решений по контейнеризации. Однако, в языке C++ контейнеры существуют уже очень давно и являются фундаментальной частью Standard Template Library (STL). Они предоставляют готовые реализации наиболее часто используемых структур данных, избавляя разработчика от необходимости писать их с нуля.

Контейнеры C++ можно разделить на несколько основных категорий. Последовательные контейнеры (Sequence Containers) хранят элементы в линейной последовательности, при этом порядок элементов определяется позицией добавления. Ассоциативные контейнеры (Associative Containers) автоматически сортируют элементы по ключу. При этом, они обеспечивают достаточно быстрый поиск (O(log n)). Неупорядоченные ассоциативные контейнеры (Unordered Associative Containers) хранят элементы в хеш-таблицах. Обеспечивают поиск в среднем за O(1). Адаптеры контейнеров (Container Adapters) предоставляют ограниченный интерфейс поверх других контейнеров.

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

Читать далее

Cнижаем энергопотребление видеосервера на Linux с помощью измерителя тока

Thu, 03/12/2026 - 18:20

Меня тут давно донимает вопрос снижения энергопотребления в квартире, так как ежемесячный расход электроэнергии каждый месяц переваливает за 300 киловатт. В связи с этим решил понаблюдать за работой домашнего видеорегистратора. Для этих целей крутится небольшой сервачок (Debian Linux) на MiniITX с Ryzen 3 3200GE, который обслуживает несколько IP-камер и пишет их с помощью Xeoma (а также параллельно крутит Home Assistant).

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

Далее попытался понять, как мне снизить энергопотребление и выявил интересную особенность... К серверу подключён монитор, который в графическом интерфейсе отображает картинку с видеокамер. В таком режиме работы процессор нагружен на 80-90% по всем ядрам.

Читать далее

[Перевод] Анализ плутония из советского датчика дыма

Thu, 03/12/2026 - 18:01

Плутоний — это вещество, имеющее широкий спектр применений, от устроения ядерного армагеддона до повседневной защиты от пожаров. Этот химический элемент массово производился в ядерных реакторах со Второй мировой войны, в отработанном ядерном топливе он встречается в различных изотопных составах, по которым можно определить такие параметры конструкции реактора, как выгорание топлива, исходная степень обогащения урана и спектральные характеристики нейтронов. Советский Союз изготовил больше плутония, чем любая другая страна. Основная его часть предназначалась для благородной цели сдерживания капиталистического империализма, однако малая доля досталась и ионизационным датчикам дыма наподобие КИ-1, РИД-1 и РИД-6М. (Буржуазные поджигатели войны предпочитали и по-прежнему предпочитают использовать для этого америций-241.) Время от времени жители бывшего СССР пытаются продавать плутоний из старых датчиков дыма на чёрном рынке ядерных технологий, считая, что их товар привлечёт бешеные деньги террористов, стремящимся развязать ядерную войну. Чуть ниже мы подробнее рассмотрим вероятность этого.

Мне были любопытны технические характеристики плутония из советских датчиков дыма, поэтому я нашёл старый датчик КИ-1 и извлёк из него источник. Конструкция источника во многом походит на конструкцию источников детектирующих камер в виде тюбика помады из первых датчиков Pyrotronics, производившихся в США. Советский выполнен из латуни и немного шире, чем аналогичный Pyrotronics. На внутренней осевой резьбе закрепляется крышкообразная защита от альфа-частиц, закрывающая полосу, которая содержит активный осадок; таким образом регулируется степень ионизации, производимой источником в камере, а также чувствительность датчика. Ниже я опишу свой анализ гамма- и альфа-излучения этого источника, а также поделюсь своими выводами о возрасте, активности, способе производства и пригодности этого плутония для ведения ядерной войны.

Читать далее

[Перевод] Temporal: 9-летний путь к исправлению времени в JavaScript

Thu, 03/12/2026 - 17:57

Cтарший инженер-программист в организации JavaScript Infrastructure & Terminal Experience компании Bloomberg Джейсон Уильямс опубликовал пост, в котором рассказал, как он вместе с командой реализовывал библиотеку Temporal вместо Date для различных типов дат и времени. Автор выступает делегатом TC39 (группы экспертов из Ecma International, отвечающей за стандартизацию и развитие языка JavaScript) и имеет опыт стандартизации функций, реализации языка и участия в крупных проектах с открытым исходным кодом. Джейсон также является создателем движка Boa JavaScript.

Читать далее

Почему Яндекс.Мессенджер

Thu, 03/12/2026 - 17:50

В роли эксперта, который давно в теме корпоративных мессенджеров (ресёрч-разработка-внедрение), нашёл несколько ограничений, которые можно обойти сегодня и получить обновления завтра. Экосистема бизнес-продуктов Яндекса заметно развивается в последние годы. И замечательный поиск, как вишенка на торте.

Читать далее

Сканировать недостаточно: строим системную работу с уязвимостями

Thu, 03/12/2026 - 17:42

За окном 2026 год, а компании по-прежнему взламывают через незакрытые уязвимости. При этом управление уязвимостями часто сводится к нерегулярному скану и надежде, что «пронесёт».

Но не пронесёт. Особенно если внутри работает Jenkins с уязвимостью на чтение произвольных файлов, а наружу торчит GitLab, через который до обновления можно было сбросить пароль к любой учётке.

Привет, Хабр! Я  Виктор Бобыльков, директор по кибербезопасности МТС Web Services Cloud, где помогаю строить нашу собственную платформу и делать Security-процесс прозрачным и удобным.

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

Мы пройдём по пяти уровням зрелости — от базового сканирования до автоматизации, whitebox-подхода и специфики KPI. Размер компании не имеет значения — подойдёт как для небольшой команды, так и для бигтеха. Заодно вы сможете свериться, где находитесь сейчас и какие шаги впереди.

Читать далее

Генерация коммитов, ручной запуск Skills и быстрые действия в чате: Veai 5.6

Thu, 03/12/2026 - 17:31

Работа с агентом обычно прерывается мелкими операциями: написать сообщение коммита, скопировать кусок ответа, прикрепить скриншот. В релизе Veai 5.6 (ИИ-агент к JetBrains IDEs для написания кода, тестирования и отладки с доступом к топовым LLM и всем внутренним инструментам IDE) мы убрали часть этой рутины. Добавили генерацию коммитов из diff, быстрые действия для текста ответа, явный технический контекст запроса, ручной вызов Skills и более простой способ прикреплять изображения.

Читать далее

Тренажёр по BPMN: дистанционное банковское обслуживание

Thu, 03/12/2026 - 17:22

В данной статье-тренажёре мы подготовили 25 заданий на составление BPMN-модели процесса кредитования в ДБО. К каждому заданию мы подготовили рекомендации по его выполнению, а также под спойлерами спрятали наше решение и его объяснение. Возможно, наше понимание и исполнение может отличаться от того, к которому придёте вы — мы будем рады подискутировать в комментариях.

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

Читать далее

Блеск и нищета Cluster API Kubernetes

Thu, 03/12/2026 - 17:19

Kubernetes полюбился разработчикам своим удобством: описал развертывание, в любой момент изменил параметры — и все работает. Но вот раскатка самих кластеров долгое время оставалась лоскутным одеялом: Terraform, Ansible, десятки плейбуков и пайплайнов. Потерял стейт — и начинается квест. 

Cluster API (CAPI) закрыл этот разрыв и за последние годы стал едва ли не стандартом для управления Kubernetes-кластерами. Он превратил развертывание и сопровождение инфраструктуры в такой же декларативный процесс, как деплой приложения.

В нашей платформе «Штурвал» мы уже давно используем Cluster API в продакшене. И довольно быстро стало понятно: это не просто удобный способ развернуть Kubernetes, а смена парадигмы эксплуатации. Но вместе с предсказуемостью приходят новые сложности — от обновлений управляющей плоскости до нетривиальных сценариев отказа. В этой статье разберемся, чем хорош Cluster API, а в чем его подводные камни, о которых обычно узнают уже в ходе эксплуатации.

Читать далее

Who's online

There are currently 0 users and 0 guests online.