Основной метрикой разработки является time-to-market. На него все молятся как на священную корову: считают дни до релиза, выстраивают CI/CD, внедряют DevOps. А вот про то, как быстро можно начать экономить на инфраструктуре после того, как заметили перерасход, почему-то никто не думает. Будто так и надо. Хотя спустить облачный бюджет можно едва ли не быстрее, чем в кафе на Патриках. Стало быть, если time-to-market для облаков не существует, его надо придумать.
Читать далееСамые интересные новости финансов и технологий в России и мире за неделю: Deloitte потеряли полмиллиона баксов из-за глюков AI в отчете, секреты гипнотизирования нейросетей от Anthropic, новые рекорды для золота, в ЕС запретили веганские бургеры, взлом Asahi и Discord, а также доказательство инсайдер-трейдинга в Polymarket.
Читать далееВ статье Camunda показывает, как классическая оркестрация процессов и агентный ИИ наконец сходятся: агенты могут принимать решения, действовать автономно, учиться на прошлых кейсах — и при этом оставаться под управлением BPMN и корпоративных правил. Если вам интересно, как сделать ИИ-агентов частью серьёзных бизнес-процессов, а не игрушкой из лаборатории — этот обзор стоит прочитать.
Читать далееРанее я рассказывал об относительно малоизвестной и ныне удалённой строке-заполнителе в Android, использовавшейся в качестве пасхалки. Это был выдуманный оператор сотовой связи под названием El Telco Loco. Сегодня я расскажу о методах и других частях публично доступного Android API, которые могут показаться больше смешными, чем полезными. Это пасхальные яйца, шутки, видимые только разработчикам приложений для Android, но не обычным пользователям.
Читать далееПривет, чемпионы! Давайте начистоту. Вы уже перепробовали все: и промпты в кавычках, и уговоры на английском, и даже шептали запросы своему GPU. Результат? Очередная вывеска с текстом, напоминающим древние руны, переведенные через пять языков. Знакомо? Это наша общая, фундаментальная боль, и сегодня мы не будем ее заливать кофеином и надеждой. Мы возьмем ее, положим на операционный стол и проведем полную анатомическую диссекцию.
Читать далееВ первой части мы озвучили следующие тезисы:
- автотесты нужны не для экономии на тестировщиков, а чтобы сократить до минимума циклы разработки и узнавать об ошибках практически мгновенно;
- покрытие обязано быть абсолютным - должно быть протестировано буквально все, что возможно протестировать: функционал, нагрузку, интерфейс, безопасность, миграции и т.п.;
- тесты ломают разработчики, поэтому им за них отвечать - все виды тестов должны писать и поддерживать разработчики;
- с полным автоматическим регрессом можно и нужно ставиться в прод после каждого изменения в кодовой базе;
- главный шаблон поставки в прод изменений - конвейер развертывания (Deployment Pipeline);
- конвейер делится на 2 главные фазы: commit stage и acceptance stage;
- первая фаза - быстрые тесты (до 5 минут), чтобы быстро узнать, что ветка сломана и её надо скорее чинить;
- вторая фаза - приёмочные тесты (до 1 часа), чтобы узнать, можно ли ставить в прод изменения.
Про быстрые тесты мы поговорили во второй части. Пришло время поговорить про короля автотестов - приёмочное тестирование.
Читать далееПредставьте, что библиотеки можно устанавливать / настраивать и удалять (на любом языке и в любом фреймворке) так же легко, как любое приложение или игру на телефоне или компьютере?
Эта статья о том, как мы можем это сделать.
Или другими словами, framework Agentic Executables (далее - "AE") рассматривают библиотеки как исполняемые программы со структурированными, понятными для AI агента инструкциями. Вместо того чтобы полагаться на документацию написанную для людей, AI-агенты следуют стандартизированным .md файлам для автономной установки, настройки, интеграции, обновления и удаления библиотек.
Я решил разделить статью на несколько частей:
Читать далееПривет, Хабр!
Я программист. И я всегда хотел по-настоящему понять квантовую механику, но каждый раз натыкался на стену парадоксов. Сам термин "запутанное состояние" звучит запутанно. Десятки видео про эксперимент с двумя щелями, наблюдателя и прочее, и всё это не объясняло, а только глубже погружало в туман.
В какой-то момент я уперся в простую мысль: когда объяснение понятное, оно должно быть понятно на бытовом уровне. А всё, что я слышал, просто не укладывалось в единую, непротиворечивую картину.
Тогда я решил потратить время, чтобы самому разобраться в математике, которая стоит за этими выводами. Я потратил больше трёх месяцев, чтобы построить для себя рабочую ментальную модель.
Здесь я изложу всё в форме мифа: просто и прямо, без сказочности. Это тот же набор фактов и экспериментов, только на языке, который легко держать в голове.
Читать далееВведение
Всё началось с комментирования статьи: «[Как я написал современный GUI для yt-dlp на Python]( https://habr.com/ru/articles/930260/)».
Программа автора мне понравилась, и я обещал ему попробовать сделать аналогичный проект на C++ / WTL.
Так вот, не прошло и полгода, как первая версия аналогичной программы уже готова. Её рабочее название – MiniDL, а исходники доступны на сайтах:
http://polezp.narod.ru/Prg/MiniDL100.zip
и
http://lecole.free.nf/Prg/MiniDL100.zip
или
https://disk.yandex.ru/d/yGQDXbkpk6LPqw
Архив содержит также скомпилированные бинарники для 32-х и 64-х разрядных, релизных версий, под Windows («MiniDL32r.exe» и «MiniDL64r.exe»).
Естественно, создать конкурентный интерфейс профессиональной библиотеке CustomTkinter, для Питона, на сверхлегком движке WTL, за обозримое время, практически невозможно. Но такая задача и не ставилась. Хотелось просто реализовать идею автора – работать с удобной графической оболочкой для консольной программы, в данном случае – внешнем загрузчике медиа-контента из Ютуба и других, поддерживаемых им сайтов.
Ради простоты, пришлось отказаться от попытки реализовать все интерфейсные плюшки автора и ограничиться минималистским вариантом. Тем более что, лично меня он вполне устраивает. Более того, поскольку я привык работать в Total Commander, то там вполне удобно использовать и консольные программы, особенно в паре с командным файлом их запуска, что позволяет перенести туда все параметры командной строки. А, в случае с загрузчиком yt-dlp.exe ситуация оказалась еще лучше, так как, он поддерживает конфигурационный файл, с мощными настройками. Если их хорошо освоить, то, в принципе, ничего больше и не надо. Ведь, эти настройки позволяют легко скачивать не только аудио и видео файлы, но и субтитры к ним и тому подобное. Также, легко и просто указать каталог загрузки, но уже в нашей программе, и не мучиться, как автор, с сохранением их на рабочий стол.
Читать далееЧасть 3: А при чём здесь Thundering Herd?
В конце второй части я оставил вас с интригой: почему мой AI-ассистент решил поправить лектора и предложил термин Thundering Herd (несущееся стадо)?
Читать далее →Я думаю, это будет довольно короткая статья. Зачем я её пишу? Ну просто нужно где-то описать моё понимание этого вопроса на данный момент. Зачем? Вдруг кому-то пригодится? Я с удовольствием стал бы пользоваться такой софтиной. Здесь я опишу, какой я вижу программу/систему для коммуникаций внутри одной организации.
Читать далее— А можно сделать так, чтобы пользователи, когда форму заполняют, могли бы файлы прикреплять? И видосики? И сразу несколько штук?
— Ага.
— А чтобы на первом экране на фоне листались фотографии работ из портфолио?
— Да.
— А чтобы…
— Да всё что угодно можно. Главное, подходящие плагины для этого найти.
Вообще-то я не разработчик сайтов на Вордпрессе, но в 2025 году парочку пришлось сделать. Мне важно было, чтобы на сайтах были минимальные необходимые штуки: формы для сбора заявок (с уведомлениями на почту), модальные окна, возможность полистать фотки на мобилках, согласиться с обработкой персональных данных, вот это всё.
Для всего этого я последовательно искал бесплатные плагины и нашёл их. Этой статьёй попробую сэкономить время тем, кто хотел бы впервые сделать себе блог или корпоративный сайт на Вордпрессе, и чтобы на нём всё было по уму.
Читать далееС нуля создаем Node.js-сервис для GitHub, который использует LLM (OpenRouter) для построчного код-ревью Pull Request. Разберем: верификацию вебхуков, борьбу с непредсказуемостью LLM и превращение хаоса в отказоустойчивый инструмент.
Начать внедрение LLMDRV8870 - это старая простая микросхема управления коллекторным DC-мотором с токами в обмотках до 3.5 Ампер от компании Texas Instruments. По сути это драйвер H-моста. Причем H-мост встроен прямо внутрь корпуса самой микросхемы. Это полностью интегрированное решение.
В этом тексте я произвел обзор микросхемы DRV8870. Посмотрим с какой стороны следует подходить к микросхеме DRV8870.
Читать далееЧто именно обновилось?
Чтобы ответить на этот вопрос нужно разобраться как вообще устроена технология NFT в TON.
Есть контракт TPEP 62 который является технической базой для всех NFT в блокчейне TON, там хранится например: принадлежность к коллекции, адреса контрактов и другая информация. Для него есть “дополнение” TEP 66 который показывает кому и сколько нужно выплачивать роялти с перепродажи NFT и как расчитывать это роялти. И 62 и 66 это ончейн информация, то есть находится в блокчейне.
Но сам файл NFT хранится уже не в блокчейне, это слишком дорого, а на сервере, также как и атрибуты NFT (в случае подарков это фон, модель и узор). Чтобы кошелек мог показать всю информацию о NFT, он через ссылку которая есть в блокчейне и прикреплена к каждому NFT, достает всю информацию с сервера.
Читать далееВ TypeScript аннотация типа или указание типа осуществляется с помощью оператора
двоеточия : , после которого следует идентификатор типа. TypeScript является
статически типизированным языком, поэтому после того как идентификатор будет
связан с типом, изменить тип будет невозможно.
Ссылочный тип данных Object является базовым для всех ссылочных типов в TypeScript подобно тому как в JavaScript Object является прототипом всех остальных ссылочных типов.
Помимо того, что в TypeScript существует объектный тип Object , представляющий одноименный конструктор из JavaScript, также существует тип object , представляющий любое объектное значение. Поведение типа указанного с помощью ключевого слова object и интерфейса Object различаются.
Переменные, которым указан тип с помощью ключевого слова object , не могут хранить значения примитивных типов, чьи идентификаторы (имена) начинаются со строчной буквы ( number , string и т.д.). В отличие от них тип интерфейс Object совместим с любым типом данных. Возникает ошибка: Error: Type X is not assignable to type 'object' (Тип X не может быть назначен типу «объект»).
Читать далееПривет, Хабр! На связи снова Максим Михайлов и моя серия статей про внедрение AI в клиентскую поддержку Cloud.ru.
В прошлой статье я рассказывал, как мы начали осваивать AI в бою — генеративные подсказки, которые помогают инженерам поддержки готовить ответы, и инструмент, который делает эти ответы дружелюбнее. Но это был только разогрев. Сегодня покажу нашу систему AI-агентов, которые дружно работают внутри технической поддержки Cloud.ru и самостоятельно обрабатывают больше 20% обращений.
Читать далееTL;DR: В конкурентных задачах (продажи, выборы, соцсети) лёгкая оптимизация LLM под «победу» даёт скромный прирост метрик… и взрывной рост нарушений: обман, дезинформация, популизм, небезопасные призывы.
Статья “Moloch’s Bargain: Emergent Misalignment When LLMs Compete for Audiences” (Stanford, 07 окт 2025) показывает: если оптимизировать LLM-агентов на «победу в конкуренции» (продажи/голоса/вовлечение), то вместе с ростом метрик резко растут нарушения — обман, дезинформация, популизм и небезопасные призывы. Приросты эффективности малы (+4.9–7.5%), а рост вредного поведения велик (до +188.6%). Вывод: CRM-, маркетинг- и SMM-агентов нужно проектировать по принципу «правда и соблюдение закона > продажи», с жесткими промпт-политиками, триажем фактов, аудитом и юридическими ограничителями.
Читать далее