<?xml version="1.0" encoding="UTF-8"?>

<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" >

  <channel>
    <title><![CDATA[Все статьи подряд / Python / Хабр]]></title>
    <link>https://habr.com/ru/hubs/python/articles/</link>
    <description><![CDATA[Python – высокоуровневый язык программирования]]></description>
    <language>ru</language>
    <managingEditor>editor@habr.com</managingEditor>
    <generator>habr.com</generator>
    <pubDate>Mon, 20 Jul 2026 18:58:58 GMT</pubDate>
    
    
      <image>
        <link>https://habr.com/ru/</link>
        <url>https://habrastorage.org/webt/ym/el/wk/ymelwk3zy1gawz4nkejl_-ammtc.png</url>
        <title>Хабр</title>
      </image>
    

    
      
        
    
    <item>
      <title><![CDATA[Astra Studio: enterprise веб-приложение для взаимодействия с ИИ с нуля]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1061052/</guid>
      <link>https://habr.com/ru/articles/1061052/?utm_campaign=1061052&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/19a/0f8/255/19a0f8255339e76ff98a3a4b4a5517f0.png" /><p><em>Полностью локальное веб-приложение с агентной архитектурой, продвинутым RAG, MCP и мультимодальными возможностями</em></p><p><strong>Репозиторий проекта:</strong>&nbsp;<a href="https://github.com/NeKonnnn/Astra-Studio" rel="noopener noreferrer nofollow">https://github.com/NeKonnnn/Astra-Studio</a></p> <a href="https://habr.com/ru/articles/1061052/?utm_campaign=1061052&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Mon, 20 Jul 2026 15:21:02 GMT</pubDate>
      <dc:creator><![CDATA[NeKonn]]></dc:creator>
      
      <category><![CDATA[LLM]]></category><category><![CDATA[RAG]]></category><category><![CDATA[Агенты]]></category><category><![CDATA[AI]]></category><category><![CDATA[ИИ]]></category><category><![CDATA[web app]]></category><category><![CDATA[diarization]]></category><category><![CDATA[transcription]]></category><category><![CDATA[БЯМ]]></category><category><![CDATA[mcp]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Google добавил AI-отчёты в Search Console. Я разобрался, что они реально показывают]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1060928/</guid>
      <link>https://habr.com/ru/articles/1060928/?utm_campaign=1060928&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/625/84a/bdf/62584abdf84bda3d07b39fd516d2e6ea.jpg" /><p>Google <a href="https://www.seroundtable.com/" rel="noopener noreferrer nofollow">начал разворачивать</a> в Search Console отчётность по своим AI-поверхностям: трафик и показы стало видно с учётом AI Overviews и AI Mode. До этого AI-клики были размазаны внутри общего веб-отчёта, и понять, сколько дал именно ИИ-ответ, было нельзя. Я полез смотреть и довольно быстро уткнулся в потолок.</p><p>Оказалось, что <strong>Search Console показывает только AI-поверхности самого Google</strong>. Ни ChatGPT, ни Perplexity, ни Claude, ни Алиса в него не попадают в принципе — они не Google. Если вы, как и я, хотите видеть весь AI-трафик, а не только гугловский, придётся идти в логи сервера. Ниже — что именно даёт новый отчёт, где у него слепые зоны и как я закрываю их парсером логов.</p> <a href="https://habr.com/ru/articles/1060928/?utm_campaign=1060928&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Mon, 20 Jul 2026 11:58:42 GMT</pubDate>
      <dc:creator><![CDATA[ig_novvv]]></dc:creator>
      
      <category><![CDATA[AEO]]></category><category><![CDATA[GEO]]></category><category><![CDATA[AI-трафик]]></category><category><![CDATA[Search Console]]></category><category><![CDATA[серверные логи]]></category><category><![CDATA[GPTBot]]></category><category><![CDATA[ChatGPT]]></category><category><![CDATA[Perplexity]]></category><category><![CDATA[нейропоиск]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Как красиво разложить граф на экране: метод Сугиямы по шагам]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1060786/</guid>
      <link>https://habr.com/ru/articles/1060786/?utm_campaign=1060786&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/70b/db9/481/70bdb948141801762c7d57bc0cbde40b.jpg" /><p>Как красиво разложить граф из сотни связанных задач на экране: разбираем метод Сугиямы по фазам - от удаления циклов до маршрутизации рёбер в обход узлов.</p> <a href="https://habr.com/ru/articles/1060786/?utm_campaign=1060786&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Mon, 20 Jul 2026 09:29:14 GMT</pubDate>
      <dc:creator><![CDATA[Depensee]]></dc:creator>
      
      <category><![CDATA[метод Сугиямы]]></category><category><![CDATA[теория графов]]></category><category><![CDATA[визуализация графов]]></category><category><![CDATA[graph drawing]]></category><category><![CDATA[раскладка графа]]></category><category><![CDATA[алгоритмы на графах]]></category><category><![CDATA[DAG]]></category><category><![CDATA[минимизация пересечений]]></category><category><![CDATA[критический путь]]></category><category><![CDATA[layout]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Своя GPT-like LLM по WH40K с нуля. Часть 3: pre-train LLM]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1060454/</guid>
      <link>https://habr.com/ru/articles/1060454/?utm_campaign=1060454&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/ff5/f99/056/ff5f99056397615198f3119212f17e0f.png" /><p>Привет, Хабр! Меня зовут Владимир, и это третья часть цикла статей по написании и обучению небольшой decoder-only LLM с нуля. В <a href="https://habr.com/ru/articles/1056212/" rel="noopener noreferrer nofollow">первой части</a> мы обучили токенизатор и собрали pretrain-датасет, во <a href="https://habr.com/ru/articles/1056226/" rel="noopener noreferrer nofollow">второй части</a> реализовали класс Трансформер-блока. В этой части будем собирать и предобучать нашу LLM.</p> <a href="https://habr.com/ru/articles/1060454/?utm_campaign=1060454&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Mon, 20 Jul 2026 06:11:21 GMT</pubDate>
      <dc:creator><![CDATA[GoldenGekko]]></dc:creator>
      
      <category><![CDATA[llm]]></category><category><![CDATA[gpt]]></category><category><![CDATA[pytorch]]></category><category><![CDATA[transformers]]></category><category><![CDATA[nlp]]></category><category><![CDATA[python]]></category><category><![CDATA[pretraining]]></category><category><![CDATA[text generation]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Ассистент, а не агент: как спроектировать предсказуемую LLM-систему]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1060648/</guid>
      <link>https://habr.com/ru/articles/1060648/?utm_campaign=1060648&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/b5e/01f/e71/b5e01fe71c031a187ef1ffe4f5e42e98.jpg" /><p>Привет! Меня зовут Владимир Суворов, я Senior Data Scientist и core-разработчик open-source AutoML-фреймворка OutBoxML.</p><p>В <a href="https://habr.com/ru/articles/1035790/" rel="noopener noreferrer nofollow">прошлой статье</a> я разбирал четыре инженерных принципа, которые перенёс из расчётной механики в архитектуру ML-систем. Сегодня — про то, как спроектировать LLM-систему, которая надежно работает каждый день, не сжигает бюджет на токены и работает предсказуемо. Разберём на реальном примере: ассистенте, который сверяет входящий документ технического задания свободного формата со сводом документации и ставит комментарии наличии запрашиваемых пунктов в соотвествии с документацией.</p><p>Рассмотрим задачу по пяти пунктам:</p> <a href="https://habr.com/ru/articles/1060648/?utm_campaign=1060648&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Sun, 19 Jul 2026 13:36:49 GMT</pubDate>
      <dc:creator><![CDATA[justsuvorov]]></dc:creator>
      
      <category><![CDATA[ии-ассистент]]></category><category><![CDATA[ии помощник]]></category><category><![CDATA[архитектура по]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Температурное поле круглой конфорки. Визуализация]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1059636/</guid>
      <link>https://habr.com/ru/articles/1059636/?utm_campaign=1059636&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/801/74d/f5e/80174df5e0cd14778806add214991577.jpg" /><p>           В одной из предыдущих статей <a href="https://habr.com/p/1016120/" rel="noopener noreferrer nofollow">https://habr.com/p/1016120/</a> мы рассчитали температурное поле T(r, z, t)&nbsp;  круглой конфорки аналитическими методами. В этой статье мы сделаем его компьютерную визуализацию.</p> <a href="https://habr.com/ru/articles/1059636/?utm_campaign=1059636&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Sun, 19 Jul 2026 12:05:53 GMT</pubDate>
      <dc:creator><![CDATA[Maximka200]]></dc:creator>
      
      <category><![CDATA[численные методы]]></category><category><![CDATA[численное интегрирование]]></category><category><![CDATA[численное моделирование]]></category><category><![CDATA[температура]]></category><category><![CDATA[python]]></category><category><![CDATA[визуализация]]></category><category><![CDATA[визуальное программирование]]></category><category><![CDATA[моделирование]]></category><category><![CDATA[физика]]></category><category><![CDATA[математика]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Бот в MAX молчит: четыре грабли Bot API, о которых не пишут в документации]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1060586/</guid>
      <link>https://habr.com/ru/articles/1060586/?utm_campaign=1060586&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/9c8/421/5bf/9c84215bf4a12365fddbc23b41df9bf8.png" /><p>Синяя галочка есть. Ответа нет. Мой собственный бот в MAX игнорирует моё же сообщение: сервер отвечает 200 OK, в логах чисто, а человек на другом конце ничего не видит. Так начались четыре вечера отладки Bot API нового российского мессенджера — четыре грабли, которых нет в документации. Где живёт токен. Почему 404 на чат, в котором ты прямо сейчас переписываешься. Как молча испаряется webhook-подписка. И почему MAX не говорит, которому из твоих ботов написали. Собрал всё, чтобы следующему хватило получаса вместо недели.</p> <a href="https://habr.com/ru/articles/1060586/?utm_campaign=1060586&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Sun, 19 Jul 2026 08:03:56 GMT</pubDate>
      <dc:creator><![CDATA[Denjam]]></dc:creator>
      
      <category><![CDATA[MAX]]></category><category><![CDATA[MAX Bot API]]></category><category><![CDATA[боты]]></category><category><![CDATA[чат-боты]]></category><category><![CDATA[Python]]></category><category><![CDATA[FastAPI]]></category><category><![CDATA[вебхуки]]></category><category><![CDATA[мессенджеры]]></category><category><![CDATA[мультиарендность]]></category><category><![CDATA[интеграция API]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Не отдам Gpick! Он хороший! Но крутить педали придётся…]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1060500/</guid>
      <link>https://habr.com/ru/articles/1060500/?utm_campaign=1060500&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/c04/d9e/b89/c04d9eb89f52f554c3fbd1df54dab1f3.png" /><p>Исторически лучший Gpick в&nbsp;KDE на&nbsp;Wayland остался без&nbsp;пипетки, а&nbsp;штатные kcolorpicker-ы повергают в&nbsp;печаль и&nbsp;уныние. Что делать? Велосипедить! Написал лёгкий Python-скрипт, дёргающий родной XDG-портал.</p><p><strong>UPD:</strong> Прокачал утилиту до&nbsp;полноценного комбайна&nbsp;— теперь она выдаёт чистые данные без&nbsp;префиксов, умеет копировать конкретные форматы (HEX, RGB, HSL) в&nbsp;буфер и&nbsp;идеально встаёт в&nbsp;любые shell-конвейеры и&nbsp;хоткеи. Больше велосипедов богу СПО!</p> <a href="https://habr.com/ru/articles/1060500/?utm_campaign=1060500&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Sat, 18 Jul 2026 16:14:02 GMT</pubDate>
      <dc:creator><![CDATA[Assador]]></dc:creator>
      
      <category><![CDATA[wayland]]></category><category><![CDATA[colorpicker]]></category><category><![CDATA[xdg-desktop-portal]]></category><category><![CDATA[gpick]]></category><category><![CDATA[kde plasma]]></category><category><![CDATA[dbus]]></category><category><![CDATA[python]]></category><category><![CDATA[пипетка]]></category><category><![CDATA[выбор цвета]]></category><category><![CDATA[автоматизация]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Превращаем китайский домофон за 400 рублей в Telegram-звонок с фото и видео]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1060478/</guid>
      <link>https://habr.com/ru/articles/1060478/?utm_campaign=1060478&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/139/129/b41/139129b4135bc678f8051226a21ed18a.webp" /><p>Несколько лет у меня лежал недорогой китайский видеодомофон <strong>Doorbell M8</strong>, работающий через приложение <strong>Ulooka</strong>. Покупал я его на одном из маркетплейсов примерно за 400 рублей — скорее из любопытства, чем из реальной необходимости.</p> <a href="https://habr.com/ru/articles/1060478/?utm_campaign=1060478&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Sat, 18 Jul 2026 13:57:55 GMT</pubDate>
      <dc:creator><![CDATA[vaalimusic]]></dc:creator>
      
      <category><![CDATA[Doorbell M8]]></category><category><![CDATA[Ulooka]]></category><category><![CDATA[MikroTik]]></category><category><![CDATA[RouterOS]]></category><category><![CDATA[RTSP]]></category><category><![CDATA[Python]]></category><category><![CDATA[OpenCV]]></category><category><![CDATA[Telegram Bot API]]></category><category><![CDATA[умный дом]]></category><category><![CDATA[видеодомофон]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Вчера в отчёте было 12 480, сегодня 12 517: пять причин, по которым цифры за прошлый месяц продолжают меняться]]></title>
      <guid isPermaLink="true">https://habr.com/ru/companies/otus/articles/1058824/</guid>
      <link>https://habr.com/ru/companies/otus/articles/1058824/?utm_campaign=1058824&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/220/9a1/aa5/2209a1aa5a04d98ef1c0aabb2963e6b0.png" /><p>Цифры за&nbsp;закрытый месяц внезапно меняются, а&nbsp;поиск причины превращается в&nbsp;разбор всего пайплайна&nbsp;— от&nbsp;загрузки событий до&nbsp;логики витрин.</p><p>В&nbsp;статье разбираем пять типовых сценариев, из‑за которых прошлое в&nbsp;отчётах продолжает «двигаться», и показываем, как&nbsp;сделать пересчёт данных предсказуемым. </p> <a href="https://habr.com/ru/articles/1058824/?utm_campaign=1058824&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Sat, 18 Jul 2026 10:30:29 GMT</pubDate>
      <dc:creator><![CDATA[badcasedaily1 (OTUS)]]></dc:creator>
      
      <category><![CDATA[инкрементальная загрузка]]></category><category><![CDATA[витрины данных]]></category><category><![CDATA[опоздавшие события]]></category><category><![CDATA[идемпотентность]]></category><category><![CDATA[дедупликация]]></category><category><![CDATA[event time]]></category><category><![CDATA[ingested at]]></category><category><![CDATA[SCD]]></category><category><![CDATA[часовые пояса]]></category><category><![CDATA[пересчёт данных]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Harness кодинг‑агента: разобрал исходники Codex, OpenCode, Pi и свою собственную]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1060250/</guid>
      <link>https://habr.com/ru/articles/1060250/?utm_campaign=1060250&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/e20/72c/ab8/e2072cab8b0f9c4aaaace00d284af75c.jpg" /><p>Я собираю своего кодинг‑агента поверх моделей <strong>OpenAI</strong>. Базовый агентный цикл написал сам на <strong>Pydantic AI</strong>, и он быстро заработал. А потом начались сложные узлы: как сжимать распухший контекст, как не дать агенту делать заново уже сделанное, как понять, что он правда закончил, а не выдохся. На каждом таком узле я застревал и шёл смотреть, как это решают взрослые. Благо исходники <strong>Codex</strong>, <strong>OpenCode</strong> и <strong>Pi</strong> лежат открыто, а архитектуру <strong>Claude Code</strong> Anthropic описывает сама.</p><p>Оказалось, кодинг‑агенты различаются не моделью внутри и не списком фич на лендинге. Они различаются архитектурными ставками обвязки, и эти ставки видны прямо в коде. Дальше — разбор по ставкам, <strong>с примерами кода</strong>, и попытка понять, какие из этих ставок стоит закладывать всерьёз, а какие проживут до следующего сильного релиза модели.</p> <a href="https://habr.com/ru/articles/1060250/?utm_campaign=1060250&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Sat, 18 Jul 2026 08:01:19 GMT</pubDate>
      <dc:creator><![CDATA[xonika9]]></dc:creator>
      
      <category><![CDATA[обвязка агента]]></category><category><![CDATA[harness]]></category><category><![CDATA[кодинг-агенты]]></category><category><![CDATA[Codex]]></category><category><![CDATA[OpenCode]]></category><category><![CDATA[Claude Code]]></category><category><![CDATA[агентный цикл]]></category><category><![CDATA[harness engineering]]></category><category><![CDATA[LLM]]></category><category><![CDATA[Pydantic AI]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Structured outputs, которые не работают: пять ситуаций, где схема есть, а гарантий нет]]></title>
      <guid isPermaLink="true">https://habr.com/ru/companies/otus/articles/1058384/</guid>
      <link>https://habr.com/ru/companies/otus/articles/1058384/?utm_campaign=1058384&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/ab7/9f0/c8e/ab79f0c8e13f03c3ce8f188faa69ac24.png" /><p>Strict‑режим включён, схема валидна, ответ успешно парсится&nbsp;— а&nbsp;в&nbsp;проде всё равно всплывают <code>None</code>, пропавшие ограничения и аргументы инструментов не&nbsp;тех типов. </p><p>В&nbsp;статье разберём пять ситуаций, где Structured Outputs создают ложное ощущение надёжности, и посмотрим, какие проверки действительно стоит добавить в&nbsp;LLM‑пайплайн. </p> <a href="https://habr.com/ru/articles/1058384/?utm_campaign=1058384&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Fri, 17 Jul 2026 19:15:16 GMT</pubDate>
      <dc:creator><![CDATA[badcasedaily1 (OTUS)]]></dc:creator>
      
      <category><![CDATA[структурированные ответы]]></category><category><![CDATA[JSON Schema]]></category><category><![CDATA[strict-режим]]></category><category><![CDATA[большие языковые модели]]></category><category><![CDATA[Pydantic]]></category><category><![CDATA[валидация данных]]></category><category><![CDATA[OpenAI API]]></category><category><![CDATA[вызов инструментов]]></category><category><![CDATA[ИИ-агенты]]></category><category><![CDATA[обработка ошибок]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Мой личный джуниор. Бонус: аутентификация в Gradio и пользователи в Langfuse]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1058784/</guid>
      <link>https://habr.com/ru/articles/1058784/?utm_campaign=1058784&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/d97/702/13e/d9770213ef961cc020fc176f4321d9b9.png" /><p>Привет, Хабр! Меня зовут Владимир, и это внеплановое продолжение цикла про локального MCP-агента. <a href="https://habr.com/ru/articles/1043348/" rel="noopener noreferrer nofollow">В первых частях</a> мы собрали агента, научили его работать через LangGraph, добавили Gradio-интерфейс, чекпоинты и трассировку. </p><p>В этой статье я покажу как добавить аутентификацию в Gradio-интерфейс и как использовать её для упорядочивания трейсов в Langfuse и чекпоинтов в LangGraph.</p> <a href="https://habr.com/ru/articles/1058784/?utm_campaign=1058784&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Fri, 17 Jul 2026 05:47:59 GMT</pubDate>
      <dc:creator><![CDATA[GoldenGekko]]></dc:creator>
      
      <category><![CDATA[langgraph]]></category><category><![CDATA[langfuse]]></category><category><![CDATA[gradio]]></category><category><![CDATA[mcp]]></category><category><![CDATA[python]]></category><category><![CDATA[agent]]></category><category><![CDATA[llm]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Сегодня я для себя открыл: Pony ORM]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1056970/</guid>
      <link>https://habr.com/ru/articles/1056970/?utm_campaign=1056970&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/a09/8dc/834/a098dc834e800d6f4b687f7ba2729eee.png" /><p>Читатели хабра знают меня как автора статей о django. Например, в предыдущем посте я писал о том, как собирался переписывать django на async/await. Кстати, <a href="https://github.com/django-async-experiments" rel="noopener noreferrer nofollow">первые эксперименты</a> подтвердили, что подход рабочий, и что django отлично поддаётся переписыванию. А также - что он хорошо расширяем и содержит код высокого качества.</p><p>Однако, я пришёл к выводу, что несмотря на эти достоинства, django сильно уступает <a href="https://ponyorm.org/" rel="noopener noreferrer nofollow">Pony ORM</a>, которая, в отличие от django и других ORM, ещё и спроектирована правильно - способом, дружественным к оптимизациям. Не случайно в статьях, которые есть о ней на хабре, её хвалят именно за производительность.</p><p>В этой статье речь пойдёт о Pony ORM, но не о фичах для пользователя, которых много (о которых можно узнать в этих видео <a href="https://www.youtube.com/watch?v=k8ibmS4yvDU" rel="noopener noreferrer nofollow">1</a>, <a href="https://www.youtube.com/watch?v=w3Mj54BZLkc&amp;t=1s" rel="noopener noreferrer nofollow">2</a>), а о её внутренней архитектуре.</p> <a href="https://habr.com/ru/articles/1056970/?utm_campaign=1056970&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Thu, 16 Jul 2026 21:41:23 GMT</pubDate>
      <dc:creator><![CDATA[abetkin]]></dc:creator>
      
      <category><![CDATA[orm]]></category><category><![CDATA[ponyorm]]></category><category><![CDATA[sessions]]></category><category><![CDATA[caching]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Летняя встреча Go-сообщества: системное и embedded-программирование]]></title>
      <guid isPermaLink="true">https://habr.com/ru/companies/yadro/articles/1059750/</guid>
      <link>https://habr.com/ru/companies/yadro/articles/1059750/?utm_campaign=1059750&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/7e4/f06/9f3/7e4f069f34ad6e57ae6bbef70ec801d2.png" /><p>Если список литературы по Go на лето уже прочитан, пора переходить от теории к живым кейсам. 23 июля собираемся в Москве и онлайн на встрече Go-сообщества от YADRO и Postgres Professional. Начинаем в 19:00 — <a href="https://meetups.yadro.com/go-msk-0726/?utm_source=habr&amp;utm_medium=referral&amp;utm_campaign=go_meetup_2026&amp;utm_content=go_summer_meet_160726&amp;utm_referrer=habr.com">подключайтесь</a> к трансляции и слушайте тех, кто работает с Go каждый день.</p> <a href="https://habr.com/ru/articles/1059750/?utm_campaign=1059750&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Отменяем summertime sadness</a>]]></description>
      
      <pubDate>Thu, 16 Jul 2026 12:07:16 GMT</pubDate>
      <dc:creator><![CDATA[yadro_team (YADRO)]]></dc:creator>
      
      <category><![CDATA[go]]></category><category><![CDATA[системное программирование]]></category><category><![CDATA[разработка на go]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Почему «чем проще, тем лучше» не работает на ИИ-классификаторе]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1059444/</guid>
      <link>https://habr.com/ru/articles/1059444/?utm_campaign=1059444&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/a86/b2d/31e/a86b2d31e7842ffd502a7a2a7d4d70f8.png" /><p>Обучил multi-label классификатор на 15 классов для модерации Discord-сообщества, получил micro F1 = 0.9358 — цифра, с которой можно закрывать задачу и не разбираться дальше. Но стоило посмотреть на precision и recall по каждому классу отдельно, как выяснилось: recall на TOXIC — около 0.78, а для части редких меток test split вообще не подтверждает качество — положительных примеров там почти нет. Разбираю на реальных цифрах и коде: почему агрегированная метрика такое скрывает, как считать вес классов через pos_weight при сильном дисбалансе, почему checkpoint стоит выбирать по macro F1, а не по training loss, и где принцип «чем проще — тем лучше» перестаёт работать при оценке качества классификатора.</p> <a href="https://habr.com/ru/articles/1059444/?utm_campaign=1059444&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Подробнее</a>]]></description>
      
      <pubDate>Thu, 16 Jul 2026 10:00:43 GMT</pubDate>
      <dc:creator><![CDATA[6oT9lpa]]></dc:creator>
      
      <category><![CDATA[machine learning]]></category><category><![CDATA[multi-label classification]]></category><category><![CDATA[ruBERT]]></category><category><![CDATA[class imbalance]]></category><category><![CDATA[nlp]]></category><category><![CDATA[pytorch]]></category><category><![CDATA[bert]]></category><category><![CDATA[text classification]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[4 ошибки в A/B‑тестах, из‑за которых случайный шум выглядит как эффект]]></title>
      <guid isPermaLink="true">https://habr.com/ru/companies/otus/articles/1058818/</guid>
      <link>https://habr.com/ru/companies/otus/articles/1058818/?utm_campaign=1058818&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/bbd/754/67f/bbd75467fa1e5902e71d55535003c8c7.png" /><p>Сплиттер работает корректно, метрика посчитана, а&nbsp;p‑value уверенно опустился ниже 0,05&nbsp;— результат кажется готовым к&nbsp;раскатке. Однако ошибка в&nbsp;оценке дисперсии способна превратить случайное различие в&nbsp;статистически значимое. </p><p>В&nbsp;этой статье разберём четыре типовых сценария, в&nbsp;которых тест подтверждает эффект, которого в&nbsp;данных нет, и посмотрим, как&nbsp;исправить расчёты.</p> <a href="https://habr.com/ru/articles/1058818/?utm_campaign=1058818&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Thu, 16 Jul 2026 08:20:35 GMT</pubDate>
      <dc:creator><![CDATA[badcasedaily1 (OTUS)]]></dc:creator>
      
      <category><![CDATA[А Б тестирование]]></category><category><![CDATA[статистическая значимость]]></category><category><![CDATA[пи значение]]></category><category><![CDATA[дисперсия]]></category><category><![CDATA[доверительный интервал]]></category><category><![CDATA[ошибка первого рода]]></category><category><![CDATA[дельта метод]]></category><category><![CDATA[бутстрэп]]></category><category><![CDATA[CUPED]]></category><category><![CDATA[А А тест]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Книга: «Думай как аналитик. Статистика и данные с примерами на Python. 3-е изд.»]]></title>
      <guid isPermaLink="true">https://habr.com/ru/companies/piter/articles/1058582/</guid>
      <link>https://habr.com/ru/companies/piter/articles/1058582/?utm_campaign=1058582&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/8c1/7e8/ae6/8c17e8ae6875abb01fde65b2eba34275.jpg" /><p>Привет, Хаброжители! Умение писать код — это все, что нужно, чтобы извлекать из данных ценные выводы и находить ответы на сложные вопросы. В этом полностью переработанном издании статистические концепции представлены не в виде громоздких математических формул, а как стройный вычислительный процесс на языке Python. На практических примерах с использованием реальных датасетов изучите весь цикл разведочного анализа данных — от первичной обработки данных и подсчета статистик до выявления закономерностей и проверки гипотез. </p> <a href="https://habr.com/ru/articles/1058582/?utm_campaign=1058582&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Thu, 16 Jul 2026 08:13:19 GMT</pubDate>
      <dc:creator><![CDATA[ph_piter (Издательский дом «Питер»)]]></dc:creator>
      
      <category><![CDATA[аналитик данных]]></category><category><![CDATA[статистика]]></category><category><![CDATA[python]]></category>
    </item>
  

  

  

	
  

  

  

    

  

  

	
  

  
    <item>
      <title><![CDATA[[Перевод] Собираем 3D-сканер комнаты из телефона, SAM, CLIP и DINOv2]]></title>
      <guid isPermaLink="true">https://habr.com/ru/companies/timeweb/articles/1055164/</guid>
      <link>https://habr.com/ru/companies/timeweb/articles/1055164/?utm_campaign=1055164&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/4af/de4/e1d/4afde4e1d762a5445cc266f12b895bc9.jpg" /><p>Привет, «Хабр»! Представляю вашему вниманию практическое руководство по созданию умной 3D-модели комнаты из обычного видео на телефоне.</p><p>Что делать, если нужно спроектировать мебель для комнаты, но жутко не хочется возиться с рулеткой и делать замеры вручную? Можно взять смартфон, наспех отснять пространство и позволить алгоритмам сделать всю рутину за вас. В статье подробно описывается, как вдохнуть семантический смысл в облако точек, масштабировать его под реальные метры и получить чертеж, не обучив при этом ни одной нейросети.</p><p>Нейросети в процессе не обучались заново, в ход идут готовые модели – SAM, CLIP и DINOv2. Весь фокус в том, как их правильно оркестровать.</p> <a href="https://habr.com/ru/articles/1055164/?utm_campaign=1055164&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Thu, 16 Jul 2026 08:06:34 GMT</pubDate>
      <dc:creator><![CDATA[ZheleznyChel (Timeweb Cloud)]]></dc:creator>
      
      <category>3D-сканирование</category><category>фотограмметрия</category><category>SAM</category><category>CLIP</category><category>DINOv2</category><category>NumPy</category><category>timeweb_статьи_перевод</category>
    </item>
  

  

    
    <item>
      <title><![CDATA[Сможете ли вы найти пять ошибок в Python‑коде, который вызывает LLM]]></title>
      <guid isPermaLink="true">https://habr.com/ru/companies/otus/articles/1058816/</guid>
      <link>https://habr.com/ru/companies/otus/articles/1058816/?utm_campaign=1058816&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/4f7/c2c/8aa/4f7c2c8aab352f5eaf138f514708f726.png" /><p>Вызов LLM легко принять за&nbsp;обычную функцию&nbsp;— пока код не&nbsp;сталкивается с&nbsp;квотами, тайм‑аутами, повторными списаниями и плавающими результатами. </p><p>В&nbsp;статье разбираем пять типичных ошибок в&nbsp;Python‑коде вокруг языковых моделей и показываем, какие инженерные привычки помогают пережить реальную нагрузку без&nbsp;сюрпризов в&nbsp;продакшене. </p> <a href="https://habr.com/ru/articles/1058816/?utm_campaign=1058816&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Wed, 15 Jul 2026 20:05:42 GMT</pubDate>
      <dc:creator><![CDATA[badcasedaily1 (OTUS)]]></dc:creator>
      
      <category><![CDATA[Python]]></category><category><![CDATA[LLM]]></category><category><![CDATA[API языковых моделей]]></category><category><![CDATA[асинхронные запросы]]></category><category><![CDATA[ограничение конкурентности]]></category><category><![CDATA[повторные запросы]]></category><category><![CDATA[недетерминизм]]></category><category><![CDATA[тестирование LLM]]></category><category><![CDATA[управление контекстом]]></category><category><![CDATA[подсчёт токенов.]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[pkg-cache — простой локальный кеш пакетов]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1059574/</guid>
      <link>https://habr.com/ru/articles/1059574/?utm_campaign=1059574&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/e10/7ba/7d6/e107ba7d65901d0b1eec0325fd8541c2.png" /><p>Пример реализации простого кэширующего прокси для пакетов npm, composer и pip на базе node.js для Windows и Linux.</p> <a href="https://habr.com/ru/articles/1059574/?utm_campaign=1059574&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Wed, 15 Jul 2026 16:08:47 GMT</pubDate>
      <dc:creator><![CDATA[agb2008]]></dc:creator>
      
      <category><![CDATA[кеширующий прокси]]></category><category><![CDATA[npm-пакеты]]></category><category><![CDATA[composer пакеты]]></category><category><![CDATA[pip]]></category><category><![CDATA[разработка программного обеспечения]]></category><category><![CDATA[offline]]></category><category><![CDATA[оптимизация рабочего времени]]></category><category><![CDATA[node.js]]></category><category><![CDATA[opencode]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Domain-routed agents vs naive RAG: экономика и риски архитектурного выбора]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1059564/</guid>
      <link>https://habr.com/ru/articles/1059564/?utm_campaign=1059564&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/7b3/4ef/aa6/7b34efaa6e181bff83c37b7e8fc66211.jpg" /><p>Классический RAG хорошо ищет отдельные факты, но может пропускать исключения и связи между разными разделами документации. Я проверил альтернативный подход: мультиагентный граф, в котором роутер направляет запрос экспертам по отдельным доменам знаний.</p><p>В статье — архитектура на LangGraph, сравнение с наивным RAG на датасете из 40 вопросов, метрики качества, задержки и стоимость запросов. А главное — разбор, когда дорогой в эксплуатации агент может оказаться выгоднее дешёвого RAG за счёт экономии инженерного времени.</p> <a href="https://habr.com/ru/articles/1059564/?utm_campaign=1059564&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Wed, 15 Jul 2026 15:56:53 GMT</pubDate>
      <dc:creator><![CDATA[snakerzr]]></dc:creator>
      
      <category><![CDATA[RAG]]></category><category><![CDATA[LangGraph]]></category><category><![CDATA[агенты]]></category><category><![CDATA[мультиагентные системы]]></category><category><![CDATA[ИИ]]></category><category><![CDATA[Python]]></category><category><![CDATA[архитектура]]></category><category><![CDATA[NLP]]></category><category><![CDATA[LLM]]></category><category><![CDATA[llm-архитектура]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Магнитное поле постоянного магнита]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1059416/</guid>
      <link>https://habr.com/ru/articles/1059416/?utm_campaign=1059416&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/ef7/554/a6c/ef7554a6c349b1f37deac0671475dd5a.png" /><p>         Рассмотрим следующую задачу:Дан постоянный магнит некоторой формы и нужно получить аналитическое выражение для его магнитного поля B&nbsp;в трёхмерном пространстве.Разберём несколько случаев.Будем считать магнит однородным.</p> <a href="https://habr.com/ru/articles/1059416/?utm_campaign=1059416&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Wed, 15 Jul 2026 11:30:35 GMT</pubDate>
      <dc:creator><![CDATA[Maximka200]]></dc:creator>
      
      <category><![CDATA[физика]]></category><category><![CDATA[python]]></category><category><![CDATA[моделирование]]></category><category><![CDATA[магнитное поле]]></category><category><![CDATA[постоянный магнит]]></category><category><![CDATA[математическое моделирование]]></category><category><![CDATA[математика]]></category><category><![CDATA[математика и реальная жизнь]]></category><category><![CDATA[математический анализ]]></category><category><![CDATA[математика и физика]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Обучаем ИИ видеть то, чего он никогда не видел]]></title>
      <guid isPermaLink="true">https://habr.com/ru/companies/ruvds/articles/1056044/</guid>
      <link>https://habr.com/ru/companies/ruvds/articles/1056044/?utm_campaign=1056044&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/9f7/0ed/59f/9f70ed59f6a753f18beb53f4182b983f.png" /><p>Задача обнаружения объектов на изображении не нова, подходов к её решению существует масса. Вероятно, самым популярным и известным среди них будет <strong>YOLO</strong>. Появившись в 2015 году, эта серия систем по сей день используется, когда хочется сделать детекцию быстро, без долгих экспериментов с архитектурой.</p><p>Однако, какой бы ни была архитектура, все их объединяет одна и та же проблема — данные. Для полноценного обучения нужны сотни и тысячи изображений, с разных ракурсов, в разных условиях. Если цель — академический проект, обнаружение машин или колосков пшеницы, то найти датасет не составляет проблем. Но что, если датасета нет и/или его невозможно собрать в принципе в нужном объеме? Скажем, редкий дефект в производстве, истребитель новой конструкции? Ждать, пока накопится много брака, или надеяться на утечку чертежей?</p><p>Мы провели пару экспериментов с моделью <strong>YOLO</strong> для проверки гипотезы: <strong><em>как далеко можно уехать, используя исключительно синтетические данные?</em></strong></p> <a href="https://habr.com/ru/articles/1056044/?utm_campaign=1056044&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Ознакомиться</a>]]></description>
      
      <pubDate>Wed, 15 Jul 2026 09:01:22 GMT</pubDate>
      <dc:creator><![CDATA[daniilgorbenko (RUVDS.com)]]></dc:creator>
      
      <category><![CDATA[yolov8]]></category><category><![CDATA[yolo]]></category><category><![CDATA[компьютерное зрение]]></category><category><![CDATA[машинное обучение]]></category><category><![CDATA[cv]]></category><category><![CDATA[ruvds_статьи]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Как я собрал OmniBot: Discord Activity, локальный ruBERT и модерация без чёрного ящика]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1059306/</guid>
      <link>https://habr.com/ru/articles/1059306/?utm_campaign=1059306&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/5e3/8a2/76f/5e38a276f4ab871348d3f6f2ec933dd1.png" /><p>Когда я начал развивать Discord-сообщество, обычной команды /ban хватило совсем ненадолго. Роли настраивались в одном месте, приветствия — в другом, логи — в третьем, а за уведомления о стримах отвечал отдельный бот.</p> <a href="https://habr.com/ru/articles/1059306/?utm_campaign=1059306&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Подробнее</a>]]></description>
      
      <pubDate>Wed, 15 Jul 2026 07:46:14 GMT</pubDate>
      <dc:creator><![CDATA[6oT9lpa]]></dc:creator>
      
      <category><![CDATA[Discord]]></category><category><![CDATA[Python]]></category><category><![CDATA[FastAPI]]></category><category><![CDATA[PostgreSQL]]></category><category><![CDATA[ruBERT]]></category><category><![CDATA[NLP]]></category><category><![CDATA[модерация]]></category><category><![CDATA[Discord Activity]]></category><category><![CDATA[ai]]></category><category><![CDATA[ai moderation]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Перенёс ByteTrack на GPU и ускорил мульти-камерный трекинг в 6 раз]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1059236/</guid>
      <link>https://habr.com/ru/articles/1059236/?utm_campaign=1059236&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/f5e/93c/91c/f5e93c91ca32d6891ea41c07e2f91b2a.png" /><p>GPU-версия ByteTrack, где математика всех камер считается общими батчами: один вызов на все потоки вместо трекера-на-камеру. На 16 потоках это ускоряет трекинг в 6 раз (104 → 17 мс/кадр на RTX 4090). А за первой, «наивной» версией пряталось всего 1.2x — почему, показали три антипаттерна PyTorch, на которых легко застрять и вне трекинга: GPU-вызовы в цикле, заливка кадров на 1.6 ГБ/с вместо 25, и FP16, который тихо съедал по 300 мс на кадре. Все цифры воспроизводимы, есть сравнение с NVIDIA DeepStream и открытый код.</p> <a href="https://habr.com/ru/articles/1059236/?utm_campaign=1059236&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Wed, 15 Jul 2026 06:00:02 GMT</pubDate>
      <dc:creator><![CDATA[sweetlhare]]></dc:creator>
      
      <category><![CDATA[ByteTrack]]></category><category><![CDATA[трекинг объектов]]></category><category><![CDATA[multi-object tracking]]></category><category><![CDATA[GPU]]></category><category><![CDATA[PyTorch]]></category><category><![CDATA[ReID]]></category><category><![CDATA[компьютерное зрение]]></category><category><![CDATA[оптимизация производительности]]></category><category><![CDATA[CUDA]]></category><category><![CDATA[видеоаналитика]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Claude Code умеет всё, кроме одного — слушаться вашу программу. Чиним это протоколом ACP]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1059218/</guid>
      <link>https://habr.com/ru/articles/1059218/?utm_campaign=1059218&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/0ed/779/6ab/0ed7796ab0c84c422d221c92df2791bc.png" /><p>Claude Code, Codex, Gemini CLI — мощные штуки. Но живут они в терминале: вы открываете окно, печатаете задачу, смотрите, как агент думает, лезет в файлы, гоняет тесты. Для человека — отлично. А теперь представьте, что в это кресло перед терминалом нужно посадить не человека, а <strong>вашу программу</strong>: чтобы она сама ставила агенту задачу, видела каждый его шаг и могла остановить опасное действие до того, как оно случится.</p><p>Вот тут и начинается ACP — протокол, который позволяет любому коду управлять CLI-агентом.</p> <a href="https://habr.com/ru/articles/1059218/?utm_campaign=1059218&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Смотреть, кто за рулём</a>]]></description>
      
      <pubDate>Wed, 15 Jul 2026 05:10:56 GMT</pubDate>
      <dc:creator><![CDATA[vvlrff]]></dc:creator>
      
      <category><![CDATA[ACP]]></category><category><![CDATA[claude]]></category><category><![CDATA[claude-code]]></category><category><![CDATA[ag2]]></category><category><![CDATA[autogen]]></category><category><![CDATA[codex]]></category><category><![CDATA[python]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[MinIO, MongoDB, PostgreSQL для хранения 25 лет истории стоимости акций]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1059062/</guid>
      <link>https://habr.com/ru/articles/1059062/?utm_campaign=1059062&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/c85/d9e/527/c85d9e527b838ebded39ecb0240420dd.jpg" /><p><strong>💾 MinIO, MongoDB, PostgreSQL для хранения 25 лет истории стоимости акций</strong></p><p>Когда строишь эмулятор для проверки торговой стратегии 20 акций на 25 лет исторических данных поминутно, выбор хранилища становится архитектурной задачей. В статье разобрал, почему попытка использовать MinIO не оправдала себя, где упирается MongoDB и как PostgreSQL с Pgpool-II и read-репликами сократил время чтения одной свечи с 40мс до 10мс</p> <a href="https://habr.com/ru/articles/1059062/?utm_campaign=1059062&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Tue, 14 Jul 2026 13:12:37 GMT</pubDate>
      <dc:creator><![CDATA[tripolskypetr]]></dc:creator>
      
      <category><![CDATA[minio]]></category><category><![CDATA[s3]]></category><category><![CDATA[postgresql]]></category><category><![CDATA[postgres]]></category><category><![CDATA[postgres pro]]></category><category><![CDATA[mongodb]]></category><category><![CDATA[mongodb sharding]]></category><category><![CDATA[atlas]]></category><category><![CDATA[redis]]></category><category><![CDATA[memcache]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Как мой FullMute эволюционировал за время]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1058920/</guid>
      <link>https://habr.com/ru/articles/1058920/?utm_campaign=1058920&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/a39/aeb/544/a39aeb544d7b00e32979c32c240435aa.jpg" /><p>Привет, Хабр! Прошло достаточно много времени с написания моей первой статьи о сканере, который принёс мне выплату в багбаунти. Кто не знает, его суть в получении технологий на сайте, после чего проверки на CVE в массовом обличье. Сегодня я бы хотел рассказать о том, как он эволюционировал, какие были исправления и новшества.</p> <a href="https://habr.com/ru/articles/1058920/?utm_campaign=1058920&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Tue, 14 Jul 2026 08:39:19 GMT</pubDate>
      <dc:creator><![CDATA[KaRaKlA]]></dc:creator>
      
      <category><![CDATA[scanner]]></category><category><![CDATA[pentest]]></category><category><![CDATA[recon]]></category><category><![CDATA[develop]]></category><category><![CDATA[github]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Своя GPT-like LLM по WH40K с нуля. Часть 2: собираем трансформер]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1056226/</guid>
      <link>https://habr.com/ru/articles/1056226/?utm_campaign=1056226&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/4e5/688/4bb/4e56884bbeccf87bf0222dd593b7ed03.png" /><p>Привет, Хабр! Меня зовут Владимир, и это вторая часть цикла статей по написании и обучению небольшой decoder-only LLM с нуля. В первой части мы вытащили текст, обучили Byte-level BPE токенизатор и собрали pretrain-датасет. Теперь напишем сердце модели - трансформер.</p> <a href="https://habr.com/ru/articles/1056226/?utm_campaign=1056226&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Tue, 14 Jul 2026 06:23:23 GMT</pubDate>
      <dc:creator><![CDATA[GoldenGekko]]></dc:creator>
      
      <category><![CDATA[llm]]></category><category><![CDATA[gpt]]></category><category><![CDATA[transformers]]></category><category><![CDATA[self-attention]]></category><category><![CDATA[python]]></category><category><![CDATA[pytorch]]></category><category><![CDATA[nlp]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Запрещаем AI выдумывать методы КОМПАС-3D: 200К пар обучения, модель на 34М и KOMPAS Guard в одном процессе]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1058800/</guid>
      <link>https://habr.com/ru/articles/1058800/?utm_campaign=1058800&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/223/6cf/161/2236cf1611b4e239402d3182a1330f49.png" /><p>Чтобы AI-агент понимал инженера, индустрия предлагает поставить между ними еще одну большую языковую модель. Мы поставили модель на 34 млн параметров, в несколько десятков раз меньше, и она справляется лучше.</p><p>Секрет в данных. 200 тысяч пар «формулировка задачи → элемент КОМПАС API», где негативные примеры подбирались специально коварные: одноименные методы разных интерфейсов, соседние get/set одного свойства, кандидаты, которых базовая модель ошибочно ставила на первое место. Дообучение заняло меньше пяти часов на одной видеокарте, а Hit@5 на запросах, где метод описан задачей, а не именем, вырос с 5,8% до 79,6%.</p><p>Но поиск это только вход. Дальше каждый кандидат проходит через граф типов, константы берутся из настоящих DLL, код сверяет компилятор, а недокументированное поведение агент выясняет экспериментами в живом CAD: пишет зонд, запускает в песочнице, читает результат. Выдать догадку за факт ему негде, на каждом шаге его встречает проверка.</p><p>В статье реальные логи, метрики трех бенчмарков, включая неудобные для нас, и объяснение, почему в продакшен пошла именно первая версия модели, а не две следующие. </p> <a href="https://habr.com/ru/articles/1058800/?utm_campaign=1058800&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Tue, 14 Jul 2026 06:22:22 GMT</pubDate>
      <dc:creator><![CDATA[lya_ocean]]></dc:creator>
      
      <category><![CDATA[КОМПАС-3D]]></category><category><![CDATA[LLM-агенты]]></category><category><![CDATA[семантический поиск]]></category><category><![CDATA[эмбеддинги]]></category><category><![CDATA[дообучение модели]]></category><category><![CDATA[галлюцинации LLM]]></category><category><![CDATA[CAD]]></category><category><![CDATA[RAG]]></category><category><![CDATA[COM API]]></category><category><![CDATA[бенчмарки]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Vera возвращается: как голосовой ассистент превратился в локального AI-агента для Windows]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1058810/</guid>
      <link>https://habr.com/ru/articles/1058810/?utm_campaign=1058810&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/57d/e9f/c57/57de9fc570c7522dfd88314adb3bc16c.png" /><p>Я собирался просто добавить Vera графический интерфейс, а в итоге переписал почти весь проект. Теперь она умеет работать с файлами и изображениями, запоминать пользователя, выполнять фоновые задачи, создавать презентации и все это с одной небольшой локальной моделью.  </p> <a href="https://habr.com/ru/articles/1058810/?utm_campaign=1058810&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Mon, 13 Jul 2026 22:20:06 GMT</pubDate>
      <dc:creator><![CDATA[tripleguard]]></dc:creator>
      
      <category><![CDATA[агент]]></category><category><![CDATA[qwen3.5]]></category><category><![CDATA[искусственный интеллект]]></category><category><![CDATA[пк]]></category><category><![CDATA[python]]></category><category><![CDATA[vera]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Оценка быстродействия детекторов YOLO на Raspberry Pi 5 HAT+]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1058804/</guid>
      <link>https://habr.com/ru/articles/1058804/?utm_campaign=1058804&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/56d/ab6/b16/56dab6b16585815b4e1603cb05cba600.jpg" /><p>В предыдущей <a href="https://habr.com/ru/articles/1048976/" rel="noopener noreferrer nofollow">статье</a> я описал процесс компиляции модели yolo8n в HEF-файл для нейрочипа HAILO-8L в модуле HAT+. В этой работе я оцениваю быстродействие инференса нескольких моделей YOLO для этого же чипа. </p> <a href="https://habr.com/ru/articles/1058804/?utm_campaign=1058804&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Mon, 13 Jul 2026 21:04:17 GMT</pubDate>
      <dc:creator><![CDATA[c_eye]]></dc:creator>
      
      <category><![CDATA[raspberry pi]]></category><category><![CDATA[hailo]]></category><category><![CDATA[hailo-8l]]></category><category><![CDATA[yolo]]></category><category><![CDATA[mlops]]></category><category><![CDATA[ai]]></category><category><![CDATA[computervision]]></category><category><![CDATA[computer vision]]></category><category><![CDATA[detection]]></category><category><![CDATA[opencv]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Суть асинхронности в python]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1058626/</guid>
      <link>https://habr.com/ru/articles/1058626/?utm_campaign=1058626&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/670/e87/f75/670e87f7544a0e1ff935962033855ef9.jpg" /><p>Добрых дней, товарищи хабравчане! Изначально я писал этот текст как&nbsp;конспект по&nbsp;асинхронности в&nbsp;пайтоне для&nbsp;самого себя, потому что&nbsp;вещь эта довольно хитрая и не&nbsp;хотелось&nbsp;бы в&nbsp;будущем растерять и забыть знания о&nbsp;ней, когда буду работать с&nbsp;другими языками программирования и фреймворками. Но&nbsp;потом решил попробовать переделать это в&nbsp;формат статьи и опубликовать, потому что&nbsp;сами знаете&nbsp;— когда кому‑то объясняешь, сам начинаешь лучше понимать. Очень надеюсь на&nbsp;конструктивную критику в&nbsp;комментариях, так как&nbsp;хочу сделать эту статью хорошим пособием для&nbsp;новичков или&nbsp;просто людей, которые хотят повторить и закрепить фундаментальные концепции, потому что&nbsp;без&nbsp;их понимания никуда. Итак, приступим.</p> <a href="https://habr.com/ru/articles/1058626/?utm_campaign=1058626&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Mon, 13 Jul 2026 12:32:31 GMT</pubDate>
      <dc:creator><![CDATA[Sabelius]]></dc:creator>
      
      <category><![CDATA[python 3]]></category><category><![CDATA[asyncio]]></category><category><![CDATA[асинхронность]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Асимптотика на практике: Сравнение алгоритма сортировки вставками и выбором]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1058542/</guid>
      <link>https://habr.com/ru/articles/1058542/?utm_campaign=1058542&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/4b3/703/e52/4b3703e5227ff287d575e50dae206c1e.png" /><p><strong>Асимптотика на практике: Сравнение алгоритма сортировки вставками и выбором</strong></p><p>Автор: Шуравин Александр, к. т. н., доцент, в IT более 20 лет.</p><p><strong>Введение</strong></p><p>В теории алгоритмов мы привыкли оперировать абстракциями: O(n²), O(n log n), O(1). Но что скрывается за этими обозначениями в реальном продакшене? Насколько критичен выбор алгоритма для вашей системы?</p><p>В этой статье я исследую два классических алгоритма сортировки — сортировку выбором (Selection Sort) и сортировку вставками (Insertion Sort) — на трёх типах входных данных:</p><p>1. Случайный массив.</p><p>2. Уже отсортированный массив (best case).</p><p>3. Массив, отсортированный в обратном порядке (worst case).</p><p>&nbsp;Эксперимент проведён на Python с замером времени выполнения для размеров массива от 100 до 1000 с шагом 100.</p><p><strong>Теоретическая справка</strong></p><p><strong>Сортировка выбором (Selection Sort)</strong></p><p><strong>Идея:</strong> На каждой итерации находим минимальный элемент в неотсортированной части массива и меняем его с первым элементом этой части.</p> <a href="https://habr.com/ru/articles/1058542/?utm_campaign=1058542&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Mon, 13 Jul 2026 10:53:57 GMT</pubDate>
      <dc:creator><![CDATA[megabax]]></dc:creator>
      
      <category><![CDATA[алгоритмы]]></category><category><![CDATA[сортировка]]></category><category><![CDATA[python]]></category><category><![CDATA[ассимптотика]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[От сложности к простоте: как я переписал систему логирования Discord-серверов и сделал её в 10 раз проще]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1058506/</guid>
      <link>https://habr.com/ru/articles/1058506/?utm_campaign=1058506&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/d9f/0d5/f53/d9f0d5f533556772acdbde84e4d38fd8.png" /><p>История о том, как сервис логирования Discord-серверов прошёл путь от сложной связки MySQL + PHP + Python до простого решения на Python + SQLite в одном Docker-контейнере — и почему упрощение стека того стоило.</p> <a href="https://habr.com/ru/articles/1058506/?utm_campaign=1058506&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Mon, 13 Jul 2026 10:14:45 GMT</pubDate>
      <dc:creator><![CDATA[Dimentiy-cmd]]></dc:creator>
      
      <category><![CDATA[discord]]></category><category><![CDATA[bot]]></category><category><![CDATA[python]]></category><category><![CDATA[sqlite]]></category><category><![CDATA[docker]]></category><category><![CDATA[docker-compose]]></category><category><![CDATA[disnake bot]]></category><category><![CDATA[flask]]></category><category><![CDATA[open source]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Товароучёт + Честный Знак: как написать свое ПО для работы с маркировкой настольных игр]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1058282/</guid>
      <link>https://habr.com/ru/articles/1058282/?utm_campaign=1058282&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/693/676/0d8/6936760d8c1d61397ca1c6a971c152c6.png" /><p> «Честный Знак» накрывает всех: как не платить по несколько тысяч рублей в месяц за готовые облачные решения, если у вас небольшие тиражи. Рассказываю, как я написал (а точнее навайбкодил) собственное веб-приложение на Python/Flask для учета товаров и автоматизации работы с КМ (кодами маркировки), чтобы упростить складской учет и не сойти с ума от бюрократии.</p> <a href="https://habr.com/ru/articles/1058282/?utm_campaign=1058282&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Sun, 12 Jul 2026 12:51:36 GMT</pubDate>
      <dc:creator><![CDATA[akdengi]]></dc:creator>
      
      <category><![CDATA[Честный Знак]]></category><category><![CDATA[API]]></category><category><![CDATA[Python]]></category><category><![CDATA[Flask]]></category><category><![CDATA[SQLAlchemy]]></category><category><![CDATA[SQLite]]></category><category><![CDATA[Маркировка товаров]]></category><category><![CDATA[Автоматизация склада]]></category><category><![CDATA[настольные игры]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Переиспользуем Python-функции между проектами — без переписывания и передеплоя]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1058256/</guid>
      <link>https://habr.com/ru/articles/1058256/?utm_campaign=1058256&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/895/9c0/e0d/8959c0e0df3d503a7242c5127074b7f6.png" /><p>У меня есть функция. Крошечная - десяток строк, которые приводят суммы из платёжек к нормальному виду: <code>"1 234,50 ₽"</code> превращают в <code>1234.5</code>. Ничего гениального. Но я писал её, кажется, раз пять. В парсере банковских выписок, в импортёре заказов, в отчёте для бухгалтерии, в скрипте, который потом выкинул, и ещё где-то, о чём уже забыл.</p><p>И каждый раз - чуть по-другому. Где-то забыл про неразрывный пробел. Где-то евро вместо рубля. В одном месте нашёл баг с минусом у отрицательных сумм и починил - а в остальных четырёх копиях он так и остался, потому что кто вообще помнит, где ещё живёт этот код.</p><p>Если что-то из этого знакомо - думаю, дальше будет полезно. Это первая из нескольких статей про <strong>splime</strong> - инструмент, который вырос ровно из этой задачи: переиспользовать код между проектами, не копируя его. Начну с общей картины: что это, зачем и как выглядит в работе.</p> <a href="https://habr.com/ru/articles/1058256/?utm_campaign=1058256&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Sun, 12 Jul 2026 09:51:15 GMT</pubDate>
      <dc:creator><![CDATA[YastrebovKS]]></dc:creator>
      
      <category><![CDATA[pyhton]]></category><category><![CDATA[localstorage]]></category><category><![CDATA[library]]></category><category><![CDATA[project]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Оповещения о БПЛА через Яндекс Станцию]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1058250/</guid>
      <link>https://habr.com/ru/articles/1058250/?utm_campaign=1058250&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<p>Задача звучала как на полчаса: пусть Яндекс.Станция сама произносит вслух сообщения из Telegram-канала, без обращения к Алисе. По факту — несколько вечеров, потому что Яндекс не даёт из коробки простой возможности “скажи произвольный текст по внешнему событию”. Прошёл два тупика (виртуальные устройства и локальный TTS) и собрал рабочий пайплайн на Home Assistant + webhook. Рассказываю весь путь, включая то, что не сработало — тупики тут поучительнее итога.</p> <a href="https://habr.com/ru/articles/1058250/?utm_campaign=1058250&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Sun, 12 Jul 2026 09:22:22 GMT</pubDate>
      <dc:creator><![CDATA[nlaik]]></dc:creator>
      
      <category><![CDATA[Home Assistant]]></category><category><![CDATA[Яндекс.Станция]]></category><category><![CDATA[Алиса]]></category><category><![CDATA[Telegram bot]]></category><category><![CDATA[TTS]]></category><category><![CDATA[webhook]]></category><category><![CDATA[умный дом]]></category><category><![CDATA[YandexStation]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[IoT системы не безопасны и разрознены]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1058210/</guid>
      <link>https://habr.com/ru/articles/1058210/?utm_campaign=1058210&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/5d0/4cf/645/5d04cf645a63ba3f3e45924237198790.png" /><p>Ни для кого не секрет, что IoT‑устройства собирают огромное количество информации, в том числе личные данные пользователей и фиксируют их местоположение. А также они жёстко привязаны к конкретному производителю, т.е. пользователь зависим от конкретного производителя или бренда. Гаджеты совместимы с парой основных систем, но кроссплатформенность отсутствует. Устройства разных производителей часто не&nbsp;могут взаимодействовать друг с&nbsp;другом без дополнительных шлюзов. Универсального протокола связи устройств тоже нет. Из стандартов: Zigbee, Matter, Z‑Wave, Bluetooth, Wi-Fi — как следствие умные устройства плохо дружат между собой.</p> <a href="https://habr.com/ru/articles/1058210/?utm_campaign=1058210&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Sat, 11 Jul 2026 23:19:25 GMT</pubDate>
      <dc:creator><![CDATA[Mikhail-24]]></dc:creator>
      
      <category><![CDATA[mqtt]]></category><category><![CDATA[esp32]]></category><category><![CDATA[микроконтроллеры]]></category><category><![CDATA[шифрование]]></category><category><![CDATA[redis]]></category><category><![CDATA[безопасность]]></category><category><![CDATA[diy]]></category>
    </item>
  

  

  

	
  

  

  

      

      

      

    
  </channel>
</rss>
