В данной статье будем рассматривать технические детали графических API Metal, API Vulkan и многопоточное программирование, от читателя требуется знание перечисленных технологий.
Всем привет! Я Андрей, разработчик 3D-графики в 2ГИС.
Если вы пишете рендер на C++ и у вас есть отдельный RenderThread, то, скорее всего, вы уже сталкивались с подобным: данные грузятся в фоне, а вот создание GPU‑ресурсов всё равно происходит в потоке отрисовки через прямое обращение к графическим API Vulkan, Metal, Direct3D 12. И пока RenderThread в длинном цикле создает буферы и текстуры, он не рисует — он стоит, пока не обработает список загруженных ресурсов.
У нас это выглядело так на типичной средней сцене: до появления первого кадра на поток отрисовки приходило 532 текстуры и 2713 буферов, которые удерживали 45 МБ и 20 МБ временной памяти в RAM соответственно. Всё это нужно было доставить до GPU, создать наборы буферов и текстур, далее всё освободить и только потом начинать собирать батчи и рисовать.
В статье разберём, как мы вынесли создание буферов и текстур на потоки загрузки, что для этого дает Metal, почему в Vulkan всё сложнее, и какие ограничения по особенностям работы графических API пришлось учитывать.
Читать далееВсем привет! Меня зовут Олеся, я руковожу отделом процессов и технологических стандартов ИТ на Московской Бирже.
Сегодня хочу поделиться опытом, который мы накопили при построении единой производственной системы SDLC (Software Development Life Cycle), включающей три компании Группы MOEX.
Это была не просто бюрократическая задача по написанию инструкций, а сложный инженерный и организационный вызов для нас!
Материал будет полезен CIO, руководителям ИТ-подразделений и архитекторам, которые сталкиваются с проблемой разрозненности в подходах к разработке внутри одной экосистемы.
Что полезного вас ждет в этой статье?
Читать далееВнешний сервис может вернуть 500 вместо ожидаемого 400, принять запрос с ошибкой или ответить успешным статусом, но потерять часть данных внутри ответа.
Разберём, какие негативные сценарии стоит проверять заранее, как проектировать слой защиты между системами и почему надежная интеграция начинается с анализа того, как она может сломаться.
Изучить практикуЯ живу один, и обычно знаю, кто может быть у меня дома. Но во время отъезда в голову иногда лезут неприятные мысли. «А вдруг кто-то всё-таки заходил, пока меня не было?». Это мог быть сосед, родственник или мастер, но без камеры остаётся только гадать.
И захотелось закрыть этот вопрос одним простеньким скриптом. Камера видит человека у двери, а в Telegram приходит сообщение и кадр. В процессе немного перестарался. Получился бот с поддержкой нескольких камер, тревогой, голосом, распознаванием лиц и возможностью вынести обработку данных на отдельный сервер.
В этой статье расскажу, зачем здесь вообще нужна YOLO и почему простого детектора движения оказалось мало. Как я проверял работоспособность проекта в реальных условиях, почему не отправляю в чат обычные фотографии людей и как организована приватность. А также как подключить телефон в качестве камеры и вынести тяжёлую обработку на удалённый сервер.
Смотреть дальшеСегодня практически невозможно найти инфраструктуру, которая обходилась бы без использования контейнеров и виртуальных машин. Для безопасности данных, сохранения производительности системы и большей эффективности использования ресурсов очень важно понимать, как устроены эти две технологии и где проходит граница между ними.
На первый взгляд оба подхода делают одно и то же: позволяют запускать несколько приложений на одном сервере так, чтобы они не мешали друг другу и эффективно использовали ресурсы. Различие кроется в самом подходе к изоляции, который и определяет особенности их применения.
Виртуализация позволяет запускать на одном физическом сервере несколько виртуальных машин. Каждая из них имеет собственную операционную систему, настройки и окружение. Это обеспечивает высокий уровень изоляции и гибкости, но требует больше вычислительных ресурсов.
Контейнеризация изолирует приложение со всеми его зависимостями
на уровне операционной системы. Контейнеры используют общее ядро хоста, что обеспечивает высокую скорость запуска и большую экономию ресурсов. Однако такая модель изоляции требует дополнительных мер защиты.
В этой статье разберем обе технологии на уровне базовых концепций, выявим ключевые различия, поймем, где их лучше применять и, самое главное, рассмотрим, с какими угрозами безопасности можно столкнуться в каждой из них и как от этих угроз защищаться.
Читать далееВ данной статье расскажу про проект logporter, который для меня полностью заменил решение от Google для централизованного и полнофункционального мониторинга контейнеров Docker.
Экспортер написан на Go и совмещает функции сборщика метрик, логов, проверки обновлений образов и встроенной панели мониторинга в одном легковесном образе.
Читать далее«Закину промпт в ИИ, а через секунду получу готовый интерфейс, свой сайт или дашборд» — такая идея наверняка приходила каждому, кто не связан с дизайном или разработкой. ИИ-инструменты для этих сфер активно распространяются и обещают такие фантастические результаты, что закрадывается мысль: а что, если скоро дизайнеры будут не нужны?
Все же между картинкой и рабочим прототипом большая пропасть. Иерархия элементов на экране, адаптивность, доступность, логика сценариев и продуктовые метрики — это лишь ограниченный список пунктов, которые очень сложно уложить в один промпт.
Забыла представиться: меня зовут Камила, я проектировщик интерфейсов в Selectel. Вместе с бумом ИИ коллеги чаще начали ко мне приходить с вопросами такого рода: «Мне ИИшка макет сделала, сделай ревью, пожалуйста». Так что я решила разобраться со своей дизайн-колокольни — где ИИ может помочь, а где создает привлекательную, но не самую работающую концепцию.
Читать далееСобрал собственный опыт, наблюдения и небольшие исследования про устоявшиеся правила-ритуалы в офисах Японии: кто их использует, зачем, какие тонкости есть в терминах и использовании.
Это цикл статей для тех, кто интересуется Японией, её современной жизнью и культурой повседневных деталей. В прошлый раз я писал, как префектуры Японии могут бесплатно использовать покемонов для развития своей области.
Читать далееТри года назад я поставила себе задачу: с пару десятков устройств, ноль облачных зависимостей, и чтобы всё крутилось на своей железке в шкафу. За последние 22 месяца правда упало дважды, но всего-лишь на минуты. Задержка от «нога переступила порог» до «свет зажёгся» — 110 миллисекунд. Я это мерила, и очень очень этим гордилась. А жить теперь в доме с повышенным IQ стало хуже. Почему? Об этом ниже.
Читать далееИнженерам-проектировщикам часто приходится формировать опросные листы на различное оборудование. Этот процесс занимает немало времени. Однако с выходом 25‑й версии КОМПАС‑3D ситуация изменилась: в решении «Схема принципиальная» приложения «Технология: ТХ» появились индивидуальные отчёты. Этот инструмент автоматически формирует по шаблону табличные документы на один и более объектов, для которых в рамках одного отчёта выводится некоторое количество атрибутов (характеристик/свойств) объекта или объектов. Ярким примером такого отчёта в реальной практике является опросный лист, к примеру, на датчик или насос.
Читать далееВажнейшим инструментом в любом научном исследовании является информация. Чем больше данных об исследуемом объекте есть, тем больше можно понять о том, как он работает. Огромную роль в получении этой информации играет микроскопия. Возможность рассмотреть то, что для невооруженного глаза остается невидимым, позволяет тщательно изучать мельчащие строительные блоки Вселенной. Однако, несмотря на внушительные способности современных электронных микроскопов, они все же обладают рядом ограничений. Ученые из Венского университета (Вена, Австрия) разработали новый тип микроскопа, который использует особенности квантовой физики, что позволяет ему быть еще более точным и визуализировать ранее упущенные аспекты тех или иных образцов. Какую роль играет квантовая составляющая в данной разработке, как именно работает квантовый микроскоп, и что именно он позволяет увидеть? Ответы на эти вопросы мы найдем в докладе ученых.
Читать далееПришло время поиграться на плате TZT RK-ZYNQ7020-F v1.1 (Zynq-7000, XC7Z020-CLG484-2) с имеющейся у меня камерой на базе сенсора OV5647 (CSI-2, RAW10) и вывести одновременную картинку по HDMI и по Ethernet с использованием стриминга сжатого потока по UDP. Данная статья представляет собой практический мануал: если выполнять шаги по порядку и не переходить дальше, пока предыдущий не дал ожидаемый результат, вы получите живую картинку на мониторе и поток, который открывается в браузере, VLC или ffplay.
Собрать «камеру на ПЛИС» — это не набрать IP-блоки с именами MIPI и HDMI в Vivado. Настоящая работа — в цепочке невидимых договорённостей: кто поднимает тактовые и память, у какого сброса должен быть фронт, в каком порядке включаются источник и сток, какое соглашение о цвете живёт в кадровом буфере, и почему молчаливый отказ почти всегда выглядит как поломка совсем другого блока. Картинка на экране и поток в браузере появляются только тогда, когда все эти договорённости одновременно верны.
Все это мы разберем в этом материале. Всем интересующимся - добро пожаловать под кат!
Читать далееНовая языковая модель может появиться утром, к вечеру оказаться в топе нескольких лидербордов, а через пару недель уступить место следующей версии. Для команды, которая использует LLM в продукте, это создаёт вопрос: когда обновляться и как делать это без лишнего риска для пользователей и разработки.
В «Первой Форме» ИИ-агент помогает в контуре разработки: работает с кодом, инструментами и ревью. Состав моделей в этом контуре мы регулярно пересматриваем. За последние недели мы обновили Muse Spark с версии 1.2 до 1.3, добавили Gemini 3.8 Flash и подготовили для него быстрый откат на предыдущую модель. Расскажем, как устроен этот процесс.
Читать далееВ прошлом году я купила 3D-принтер и где-то в июле решила напечатать себе удобный органайзер для мелочей. Я перерыла кучу сайтов, но так и не нашла подходящую готовую модель, поэтому решила попробовать смоделировать её сама в Blender. Однако открыв программу, я просто растерялась: интерфейс показался мне невероятно сложным, кнопок и настроек было слишком много, и я совершенно не понимала, с чего начать — в итоге забросила эту затею.
А недавно я наткнулась в сообществе на интересные кейсы о том, как люди управляют Blender через Codex с помощью GPT-6 Astra. Во мне снова проснулся азарт, и я решила дать себе второй шанс! Оказалось, что теперь мне вовсе не обязательно помнить наизусть горячие клавиши или досконально знать Python: достаточно четко описать задачу, а агент сам выберет способ — кликнет мышью через плагин Computer Use, напишет внутренний скрипт bpy или запустит фоновую команду.
Хочу поделиться своим опытом: от подключения модели до создания настольной лампы и рендера плавной 360° анимации.
Читать далееChatGPT Business — командный тариф OpenAI: общее рабочее пространство, админка, SSO и договорная гарантия, что переписки сотрудников не попадут в обучение моделей. Для российского юрлица напрямую он не продаётся: оплата только картой, а карты российских банков шлюз OpenAI отклоняет. Разбираем актуальные тарифы 2026 года, чем Business отличается от Plus, и как оплатить его от компании — с полным комплектом документов за 1 рабочий день.
Читать далееИтан Сигел (американский астрофизик‑теоретик и научный журналист, автор рубрики «Спросите Итана», один из пропагандистов современных научных знаний), рассказывает удивительную историю Эйнштейна, который не показывал никаких успехов, по мнению его самого известного учителя, Германа Минковского. Но в итоге сам Минковский во многом стал известен именно благодаря Эйнштейну...
@avshkol перевёл эту статью, поскольку рассуждения о том бы ли Эйнштейн гением, не был ли, списал ли он свою теорию у более известных математиков, или сформулировал сам, постоянно возникают в интернет-дискуссиях. Статья показывает, какой сложный путь прошёл Эйнштейн, благодаря своему упорству, умению увидеть физическую природу явлений и облечь свои идеи в математическую форму (да, не без помощи своих коллег-профессиональных математиков).
Читать далееСоветский Союз был известен в том числе и тем, что в нём нещадно копировались камеры зарубежного производства. Но сложно представить иную камеру, которая бы именно в виде копии стала популярнее оригинала, создав целый культ на Западе и производящуюся до сих пор!
Читать далееОбновили скрипты для продавцов, выпустили новый регламент по возвратам, запустили новую акцию. Проходит время, а продавцы продолжают оформлять возвраты по старинке, акцию не предлагают, на вопросы клиентов отвечают как придётся. Наверное, надо изменить подход? Разослать подробные инструкции, провести часовое обучение, продублировать напоминание. И снова итог не утешительный: процент ошибок по возвратам держится на прежнем уровне, конверсия по акции остаётся низкой.
Читать далееНе так давно группа лауретов премии Филдса (математический анализ Нобеля) написали открытое обращение по поводу опасности решений математических задач, генерируемых ИИ.
Судя по комментариям к этой новости, многие ее поняли превратно - типа маститые математики опасаются конкуренции, и что их заменят роботы. Хотя подобные страхи имеют место быть, однако основное опасение не в этом. Решения от ИИ являются ущербными с точки зрения математиков... но почему?
Данная статья разбирает, что не так с доказательствами, полученными машиной (на самом деле все так, т.е. в этих доказательств чаще всего нет логических ошибок), и чем именно они уступают доказательствам, придуманным людьми.
Читать далееКоллеги, всем привет, меня зовут Алексей и это продолжение предыдущей статьи о проблемах с Ceph возникших после обновления.
Коротко напомню, прошлый раз, я столкнулся с проблемой добавления в кластер Ceph, нового монитора, последней версии и OSD. Как мне казалось тогда, проблема была с пакетами Ceph для Ubuntu 24.04, которые собирают разработчики Ceph, но все оказалось намного сложнее и интереснее. К решению меня подтолкнул наш коллега по habr, который оставил свой комментарий к предыдущей статье. Он дал наводку, что возможно это связано с Cephx и обновлением ключей. Он же и сподвиг меня к написанию продолжения. Надеюсь эта статья принесет пользу и может быть кому-то поможет. Итак, поехали.
Прочитав документацию по Cephx, я обнаружил, что разработчики рекомендуют после обновления кластера до последней версии провести так же и обновление ключей, используемых для аутентификации и авторизации в Ceph.
Cephx — это протокол аутентификации, имеющий дизайн как у Kerberos. Раньше для ключей использовался тип шифрования, который назывался — aes. Согласно документации, это старая 16-байтная структура, закодированная base64. Но самое главное она подвержена уязвимости согласно — CVE-2025-30156. По рекомендации разработчиков, для устранения уязвимостей, необходимо обновить Ceph до последних актуальных версий, которые поддерживают новый тип ключа — aes256k. Это 32-байтная расширенная структура. И поддержка такого типа ключей появилась в самых свежих версиях — 19.2.6(squid) и 20.2.4(tentacle).
Читать далее