<?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>Sat, 05 Sep 2026 20:23:27 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[Как использовать облачные AI модели внутри контура компании и не получить по шее от ИБ?]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1078824/</guid>
      <link>https://habr.com/ru/articles/1078824/?utm_campaign=1078824&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/415/69c/3d2/41569c3d2b710bc3380df881851afa4d.jpg" /><p>Или пример того, что будет, если роль пакетного менеджера доверить AI.</p><p>[ Перед прочтением ознакомьтесь с политикой безопасности в вашей компании ]</p> <a href="https://habr.com/ru/articles/1078824/?utm_campaign=1078824&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Sat, 05 Sep 2026 14:25:33 GMT</pubDate>
      <dc:creator><![CDATA[fomenko_ai]]></dc:creator>
      
      <category><![CDATA[ai]]></category><category><![CDATA[ии]]></category><category><![CDATA[agents]]></category><category><![CDATA[иб]]></category><category><![CDATA[безопасность]]></category><category><![CDATA[qa]]></category><category><![CDATA[тестирование]]></category><category><![CDATA[python]]></category><category><![CDATA[pytest]]></category><category><![CDATA[uv]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Один пользователь зарегистрировался у вас четыре раза, и все четыре легально]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1076430/</guid>
      <link>https://habr.com/ru/articles/1076430/?utm_campaign=1076430&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<p>Коллеги жаловались на дубли в базе пользователей: людей меньше, чем учётных записей, а откуда берётся расхождение - непонятно. Объяснилось оно одной строкой в коде, которая сравнивает адреса посимвольно.</p><p>В базе четыре учётные записи: <code>Ivan.Petrov@gmail.com</code>, <code>ivanpetrov@gmail.com</code>, <code>ivan.petrov+shop@gmail.com</code>, <code>IVAN.PETROV@gmail.com</code>. С точки зрения кода это четыре разных строки. С точки зрения почты - один и тот же ящик, все письма придут в одно место.</p><p>Дальше начинается интересное: акции «только для новых пользователей», лимиты на бесплатный период, «одна заявка на человека» - всё это обходится без единой уловки, просто точкой в адресе.</p> <a href="https://habr.com/ru/articles/1076430/?utm_campaign=1076430&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Sat, 05 Sep 2026 07:00:04 GMT</pubDate>
      <dc:creator><![CDATA[jbenderov]]></dc:creator>
      
      <category><![CDATA[email]]></category><category><![CDATA[валидация]]></category><category><![CDATA[unicode]]></category><category><![CDATA[регистрация]]></category><category><![CDATA[python]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Claude Code взломали просьбой пересказать сайт]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1078702/</guid>
      <link>https://habr.com/ru/articles/1078702/?utm_campaign=1078702&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/6eb/11e/2f7/6eb11e2f7d8f74fcd828e1c8391c399c.png" /><p>Представь простую задачу: ты просишь агента пересказать содержимое сайта. <br>Не установить пакет.<br>Не запустить скачанный скрипт.<br>Не открыть подозрительное вложение.<br>Просто прочитать страницу и сделать краткое резюме. Через несколько шагов на твоей машине выполняется код атакующего, устанавливается соединение с управляющим сервером и для наглядности открывается калькулятор.</p><p>И самое интересное: агент не нарушал прямой запрет. Наоборот, в ключевой момент он поступил "безопасно" — отказался запускать неизвестный бинарный файл и написал собственный декодер на Python. Именно это решение и стало частью атаки.</p><p>Такую цепочку продемонстрировал исследователь безопасности Иоганн Ребергер на Claude Code с моделью Opus 5 в Auto Mode. В его небольших сериях тестов атака срабатывала в трёх или четырёх запусках из пяти. Это не означает, что "Claude взламывается с вероятностью 80%", но хорошо показывает более важную проблему: безопасный на вид отдельный шаг ничего не гарантирует, если вся цепочка строится в среде, которую контролирует атакующий.</p> <a href="https://habr.com/ru/articles/1078702/?utm_campaign=1078702&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">И чего он там наломал?</a>]]></description>
      
      <pubDate>Fri, 04 Sep 2026 19:28:16 GMT</pubDate>
      <dc:creator><![CDATA[dKosarevsky]]></dc:creator>
      
      <category><![CDATA[ai]]></category><category><![CDATA[agents]]></category><category><![CDATA[claudecode]]></category><category><![CDATA[cybersecurity]]></category><category><![CDATA[promptinjection]]></category><category><![CDATA[agentic]]></category><category><![CDATA[agentic ai]]></category><category><![CDATA[agentic coding]]></category><category><![CDATA[agentic engineering]]></category><category><![CDATA[aircrack]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[От парсинга постов к сбору данных: что на самом деле можно достать из Telegram]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1076966/</guid>
      <link>https://habr.com/ru/articles/1076966/?utm_campaign=1076966&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/325/c9b/1cd/325c9b1cdced44949f4913fb71db4a1e.png" /><p>Я&nbsp;бы сделал начало более естественным и менее похожим на&nbsp;презентацию продукта. Например:</p><p>В&nbsp;прошлой статье я разбирал, как&nbsp;с&nbsp;помощью Python и Telethon автоматизировать сбор публикаций из&nbsp;Telegram‑каналов. Тогда мы фактически решали задачу первого уровня: получили сообщения, забрали текст и сохранили результат.</p><p>На&nbsp;практике довольно&nbsp;быстро выясняется, что&nbsp;у&nbsp;Telegram‑публикации есть гораздо больше интересных данных, чем просто текст.</p><p>У&nbsp;сообщения есть источник, время публикации, просмотры, реакции, комментарии, медиафайлы и другие связанные данные. Если собирать информацию сразу из&nbsp;нескольких каналов, всё это уже хочется не&nbsp;просто выгрузить в&nbsp;таблицу, а&nbsp;нормально связать между собой.</p><p>Например, один и тот&nbsp;же пользователь может встречаться сразу в&nbsp;нескольких чатах, а&nbsp;один пост может иметь десятки комментариев и несколько типов реакций. При&nbsp;обычном экспорте такие связи&nbsp;быстро теряются.</p><p>Поэтому после первой версии парсера я решил пойти немного дальше и посмотреть, что&nbsp;получится, если относиться к&nbsp;Telegram не&nbsp;как&nbsp;к&nbsp;источнику отдельных сообщений, а&nbsp;как&nbsp;к&nbsp;набору связанных данных.</p><p>В&nbsp;этой статье покажу, как&nbsp;я организовал такой сбор, какие данные можно получить из&nbsp;публикаций и что&nbsp;с&nbsp;ними можно делать после парсинга.</p> <a href="https://habr.com/ru/articles/1076966/?utm_campaign=1076966&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Fri, 04 Sep 2026 12:27:54 GMT</pubDate>
      <dc:creator><![CDATA[LascarDev]]></dc:creator>
      
      <category><![CDATA[telegram]]></category><category><![CDATA[telegram api]]></category><category><![CDATA[telegram парсер]]></category><category><![CDATA[тг парсинг]]></category><category><![CDATA[telethon]]></category><category><![CDATA[smm]]></category><category><![CDATA[smm-менеджер]]></category><category><![CDATA[парсинг каналов]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Гонка за исключением или как один except Exception может лишить сна на неделю]]></title>
      <guid isPermaLink="true">https://habr.com/ru/companies/otus/articles/1071382/</guid>
      <link>https://habr.com/ru/companies/otus/articles/1071382/?utm_campaign=1071382&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/bf3/891/328/bf3891328e6101eecf1ea5c62a30618e.png" /><p>Сервис зависает, контейнер не&nbsp;отвечает, а&nbsp;в&nbsp;логах&nbsp;— только «обработанные» ошибки. Часто причина таких инцидентов скрывается в&nbsp;слишком широком <code>except Exception</code>, который мешает приложению корректно завершаться. Разберем, как&nbsp;правильно обрабатывать исключения в&nbsp;production‑воркерах и избежать подобных проблем. </p> <a href="https://habr.com/ru/articles/1071382/?utm_campaign=1071382&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать разбор</a>]]></description>
      
      <pubDate>Fri, 04 Sep 2026 11:45:14 GMT</pubDate>
      <dc:creator><![CDATA[Andrey_Biryukov (OTUS)]]></dc:creator>
      
      <category><![CDATA[Python]]></category><category><![CDATA[исключения]]></category><category><![CDATA[обработка ошибок]]></category><category><![CDATA[микросервисы]]></category><category><![CDATA[Kubernetes]]></category><category><![CDATA[Docker]]></category><category><![CDATA[backend-разработка]]></category><category><![CDATA[production]]></category><category><![CDATA[очереди сообщений]]></category><category><![CDATA[отказоустойчивость]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Измерительные приборы под контролем — универсальный SCPI-драйвер управления: Python + Keysight, АКИП, R&amp;S]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1078472/</guid>
      <link>https://habr.com/ru/articles/1078472/?utm_campaign=1078472&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/13c/42f/1cb/13c42f1cb16019eb2b2dc24208d9ef1a.png" /><p>Привет! В предыдущей статье <a href="https://habr.com/ru/articles/1042328/" rel="noopener nofollow">https://habr.com/ru/articles/1042328/</a> я рассказал о математической оценке коэффициента шума (КШ) методом отношения сигнал-шум. Сегодня перейдем от теории к практике - к автоматизации радиоизмерений. Покажу, как построить гибкую систему управления измерительными приборами на Python, которая не боится разношёрстного парка оборудования в лаборатории.</p> <a href="https://habr.com/ru/articles/1078472/?utm_campaign=1078472&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Fri, 04 Sep 2026 09:24:02 GMT</pubDate>
      <dc:creator><![CDATA[MaksAnt]]></dc:creator>
      
      <category><![CDATA[SCPI]]></category><category><![CDATA[Python]]></category><category><![CDATA[keysight]]></category><category><![CDATA[акип]]></category><category><![CDATA[анализатор спектра]]></category><category><![CDATA[генератор сигналов]]></category><category><![CDATA[github]]></category><category><![CDATA[радиоизмерения]]></category><category><![CDATA[автоматизация]]></category><category><![CDATA[калибровка]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Три поломки одного вечера: рубль в заголовке, обёртка stdout и капча, которая выросла на весь экран]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1078280/</guid>
      <link>https://habr.com/ru/articles/1078280/?utm_campaign=1078280&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<p>Вечером 02.09 у нас не вышел плановый пост в TenChat. В логе задачи планировщика — ничего осмысленного, просто ненулевой код возврата и алерт «слот не закрыт». Разбор растянулся на весь вечер, потому что там оказались не одна поломка, а три, и каждая маскировала следующую.</p> <a href="https://habr.com/ru/articles/1078280/?utm_campaign=1078280&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Thu, 03 Sep 2026 16:31:33 GMT</pubDate>
      <dc:creator><![CDATA[r_o_m_k_o_l_a]]></dc:creator>
      
      <category><![CDATA[python]]></category><category><![CDATA[unicode]]></category><category><![CDATA[windows]]></category><category><![CDATA[автоматизация]]></category><category><![CDATA[кодировка]]></category><category><![CDATA[textiowrapper]]></category><category><![CDATA[капча]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Пользователь придумал пароль из 100 символов. От 28 из них ваша проверка не зависит]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1076402/</guid>
      <link>https://habr.com/ru/articles/1076402/?utm_campaign=1076402&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<p>Тикет пришёл от разработчика, который писал импорт учёток из старой системы. Формулировка была такая: «кажется, у нас ломается верификация, но ломается она в плюс — подходят пароли, которых не было».</p><p>Ломалось не у него. Так работает bcrypt, и работает уже двадцать семь лет.</p> <a href="https://habr.com/ru/articles/1076402/?utm_campaign=1076402&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Thu, 03 Sep 2026 15:00:11 GMT</pubDate>
      <dc:creator><![CDATA[jbenderov]]></dc:creator>
      
      <category><![CDATA[bcrypt]]></category><category><![CDATA[пароли]]></category><category><![CDATA[хеширование]]></category><category><![CDATA[аутентификация]]></category><category><![CDATA[php]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Мы не смогли выбрать таск‑трекер и написали свой за два дня. Канбан прожил два с половиной часа]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1078194/</guid>
      <link>https://habr.com/ru/articles/1078194/?utm_campaign=1078194&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/fc3/ebd/cfb/fc3ebdcfb338459bab4d236fa9f7c4e7.png" /><p>Команда — шесть разработчиков, полтора десятка параллельных проектов. Задачи жили в Excel, чатах и головах. В какой-то момент стало понятно, что «а кто это делает?» задаётся чаще, чем «как это сделать», — пора заводить трекер.</p><p>Дальше случилось то, что случалось у многих: мы честно прошлись по рынку, везде что-то мешало, и в понедельник я открыл пустой репозиторий. Во вторник команда уже вела задачи в своём трекере.</p><p>А самое интересное произошло между этими точками: канбан-доска — то, ради чего всё затевалось, — прожила в интерфейсе два с половиной часа. По истории коммитов видно точно.</p><p>Расскажу по порядку: почему не подошло готовое, что выкинули, что оставили и почему «свой трекер за два дня» — это не подвиг, а холодный расчёт про длину петли обратной связи.</p><p><strong>Почему не готовое</strong></p><p>Сразу дисклеймер: всё перечисленное ниже — нормальные инструменты. Не подошли они нам из-за наших ограничений, а не потому что плохие.</p><p><strong>Jira и Linear</strong> отпали первыми: данные о внутренних проектах не должны жить во внешнем облаке, а с обслуживанием российских аккаунтов у обоих вендоров всё сложно. <strong>Kaiten, YouGile, Weeek</strong> — приличные российские альтернативы, но это опять облако с чужим хранением, а по деньгам на команду — подписка за то, чем мы будем пользоваться на пять процентов.</p><p><strong>Self-hosted Plane</strong> был ближе всего, но тащить и обслуживать чужой комбайн ради шести человек не хотелось.</p><p><strong>GitHub Issues</strong> мы используем и любим, но тут споткнулись о главное: <em>трекер нужен не только разработчикам</em>. Руководителю нужны карточки, сроки и картинка загрузки — а не list view с лейблами. Фраза, убившая этот вариант, звучала так: «Issues не умеют пользоваться менеджеры». Это не претензия к менеджерам — это факт о интерфейсе.</p> <a href="https://habr.com/ru/articles/1078194/?utm_campaign=1078194&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Как умирал канбан</a>]]></description>
      
      <pubDate>Thu, 03 Sep 2026 12:59:54 GMT</pubDate>
      <dc:creator><![CDATA[Canados]]></dc:creator>
      
      <category><![CDATA[таск-трекер]]></category><category><![CDATA[канбан]]></category><category><![CDATA[управление задачами]]></category><category><![CDATA[FastAPI]]></category><category><![CDATA[Next.js]]></category><category><![CDATA[самописные инструменты]]></category><category><![CDATA[GitHub]]></category><category><![CDATA[ИИ-агенты]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Разработчик и маркетинговое сальто]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1078062/</guid>
      <link>https://habr.com/ru/articles/1078062/?utm_campaign=1078062&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/66a/b06/2b4/66ab062b4f30cc050c06dd57bd343fa3.png" /><p>Огромное количество разработчиков мечтают создать свой проект, который будет приносить им доход поверх зарплаты на основной работе.</p><p>Начинается все с большого энтузиазма, грёз о том, какой классный и полезный будет его продукт. Потом формирование основного функционала, планирование разработки, рисование архитектуры и инфраструктуры, создание репозитория и, конечно же, разработка. У кого-то это длится несколько недель, у кого-то годами. И вот когда заветный проект готов, назначается так называемая дата релиза. Проект уже запущен локально или в стейдж окружении, создатель его протестировал, все работает хорошо, возможно даже дал попользоваться нескольким знакомым, которые нехотя прокликали и сказали, какое же классное и полезное приложение.</p><p>В дату релиза проект деплоится в прод. Но почему-то там все также один пользователь — сам создатель.</p><p>Ты вроде и понимаешь почему, логично ведь, что без рекламы и маркетинга пользователей не будет, но пока пишешь код - делаешь, что умеешь, а маркетинг это что-то неизвестное и непонятно. На самом деле маркетингом нужно было заниматься с первого дня, даже раньше, чем пришла идея.Но пока вернемся к нашему наивному разработчику. <br><br>Он сидит, смотрит на свой проект и прям чувствует, как энтузиазм сходит на нет. Приходит понимание, что нужно как-то привлекать пользователей, но как? На самом деле на этом этапе уже многие так и остаются, и проект просто попадает на так называемое «кладбище пет-проектов».</p><p>Но если же нет, то этому разработчику приходится становиться в абсолютно диаметрально противоположное амплуа, к которому он не привык. Ибо с приходом нейросетей разработка стала менее ценной, проектов больше, конкуренция за пользователя выше, соответственно маркетинг сложнее.</p> <a href="https://habr.com/ru/articles/1078062/?utm_campaign=1078062&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Thu, 03 Sep 2026 10:06:20 GMT</pubDate>
      <dc:creator><![CDATA[SsdPie]]></dc:creator>
      
      <category><![CDATA[пет-проект]]></category><category><![CDATA[разработка приложений]]></category><category><![CDATA[разработка]]></category><category><![CDATA[стартап]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[«Аниме-завод» открыт: выкладываю код конвейера, который сам режет эпизоды на Shorts]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1078032/</guid>
      <link>https://habr.com/ru/articles/1078032/?utm_campaign=1078032&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/033/b1b/569/033b1b569c343793145b24e9d5e26207.jpeg" /><p>За последнее время я написал три статьи про систему, которая превращает длинные видео в вертикальные клипы: <a href="https://habr.com/ru/articles/1014810/" rel="noopener nofollow">общий обзор «аниме-завода»</a>, разбор <a href="https://habr.com/ru/articles/1021278/" rel="noopener nofollow">виртуальной камеры с face tracking</a> и рассказ о том, <a href="https://habr.com/ru/articles/1021552/" rel="noopener nofollow">почему связка «транскрипт + LLM» почти всегда даёт мусор</a>.</p><p>Комментарий, который повторялся под всеми тремя, был один и тот же: «покажи код».</p><p>Показываю.</p><p><strong>→ <a href="https://github.com/ialakey/shorts-factory" rel="noopener nofollow">github.com/ialakey/shorts-factory</a></strong></p><p>Это витринная ветка большого приватного проекта: MVP, в котором оставлен полный путь «взял длинное видео → получил готовый вертикальный клип», а всё остальное вырезано. Ниже — что именно внутри, как код соотносится с тремя предыдущими статьями и что пришлось выкинуть.</p> <a href="https://habr.com/ru/articles/1078032/?utm_campaign=1078032&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Заглянуть на производство</a>]]></description>
      
      <pubDate>Thu, 03 Sep 2026 09:12:54 GMT</pubDate>
      <dc:creator><![CDATA[i_alakey]]></dc:creator>
      
      <category><![CDATA[python]]></category><category><![CDATA[open source]]></category><category><![CDATA[автоматизация]]></category><category><![CDATA[ffmpeg]]></category><category><![CDATA[opencv]]></category><category><![CDATA[llm]]></category><category><![CDATA[youtube shorts]]></category><category><![CDATA[видео]]></category><category><![CDATA[алгоритмы]]></category><category><![CDATA[архитектура]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Как запускать Python‑функцию с её зависимостями — и не засорять окружение проекта]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1077882/</guid>
      <link>https://habr.com/ru/articles/1077882/?utm_campaign=1077882&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/4b1/f46/c94/4b1f46c94f181f959219f64a550cc5a7.png" /><p>Полезная внутренняя функция редко остаётся функцией без&nbsp;зависимостей. Сегодня ей понадобился <code>python-dateutil</code>, завтра&nbsp;— конкретная версия NumPy. Когда тот&nbsp;же код нужен во&nbsp;втором проекте, приходится&nbsp;либо менять его lockfile,&nbsp;либо собирать отдельный контейнер,&nbsp;либо превращать десять строк в&nbsp;сервис.</p><p><strong>splime</strong> предлагает ещё один вариант: опубликовать доверенную Python‑функцию вместе с&nbsp;точными версиями пакетов и вызывать её по&nbsp;имени. Локальный демон сам собирает окружение и хранит его отдельно от&nbsp;проекта, который будет вызывать функцию. Общая модель&nbsp;была в <a href="https://habr.com/ru/articles/1058256/" rel="noopener nofollow">первой статье</a>, а&nbsp;упаковка функции&nbsp;— в <a href="https://habr.com/ru/articles/1076680/" rel="noopener nofollow">предыдущей части</a>. Этот текст можно читать отдельно.</p><p>Сначала запустим функцию, чья зависимость вообще не&nbsp;установлена у&nbsp;вызывающего кода. Затем посмотрим, откуда берётся venv, почему он кэшируется и когда одной ноде стоит назначить <code>native</code>, <code>venv-subprocess</code> или <code>Docker</code>. Материал рассчитан на&nbsp;macOS и Linux с&nbsp;Python 3.13+; в&nbsp;splime 0.4.9&nbsp;сборка локальных окружений требует POSIX.</p> <a href="https://habr.com/ru/articles/1077882/?utm_campaign=1077882&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Thu, 03 Sep 2026 03:50:31 GMT</pubDate>
      <dc:creator><![CDATA[YastrebovKS]]></dc:creator>
      
      <category><![CDATA[python]]></category><category><![CDATA[localstorage]]></category><category><![CDATA[library]]></category><category><![CDATA[project]]></category><category><![CDATA[splime]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Как создавался агрегатор ИБ‑новостей: склейка сюжетов, семь признаков важности и порог по данным]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1076014/</guid>
      <link>https://habr.com/ru/articles/1076014/?utm_campaign=1076014&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/764/83e/b59/76483eb5918811e55aa39100646c32e9.png" /><p>Идея агрегатора новостей по кибербезопасности зародилась еще давно. Хотелось получать самое важное и без инфошума. LLM тогда ещё не были повседневным инструментом, и первую версию реализовал на модели суммаризации rut5_base_sum_gazeta, а важность считал textrank. Работало так себе. Потом появились сервисы, которые сами подбирают новости под настроенную ленту. Но оптимального решения так и не увидел – это либо про всё сразу, либо что-то про одну узкую тему.</p><p>Задача изначально выглядела простой. Моделей полно, готовых наработок должно было быть много. Но на практике уже первые недели ушли на тюнинг, и лучше при этом не становилось: поднял порог – канал молчит сутки, опустил – в ленту попали вебинары, квадранты и пресс-релизы продуктов. Из этого опыта родилось гибридное решение. Важность теперь считает формула из семи признаков, все логируется, а модель пишет тексты и отсекает нерелевантное.</p> <a href="https://habr.com/ru/articles/1076014/?utm_campaign=1076014&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Wed, 02 Sep 2026 16:30:49 GMT</pubDate>
      <dc:creator><![CDATA[AlbertM]]></dc:creator>
      
      <category><![CDATA[агрегатор новостей]]></category><category><![CDATA[llm]]></category><category><![CDATA[кибербезопасность]]></category><category><![CDATA[ранжирование новостей]]></category><category><![CDATA[кластеризация]]></category><category><![CDATA[cvss]]></category><category><![CDATA[epss]]></category><category><![CDATA[kev]]></category><category><![CDATA[threat intelligence]]></category><category><![CDATA[rss]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Локальный путь в image_input съел четыре слота подряд]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1077800/</guid>
      <link>https://habr.com/ru/articles/1077800/?utm_campaign=1077800&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<p>31 августа в 14:32 по Москве у нас вышла последняя штатная публикация. Дальше cron честно стартовал по расписанию, генератор успевал выбрать тему и написать текст, но в ленте ничего не появлялось. Так повторилось четыре раза: три запуска 1 сентября и утренний запуск 2 сентября.</p> <a href="https://habr.com/ru/articles/1077800/?utm_campaign=1077800&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Wed, 02 Sep 2026 16:25:47 GMT</pubDate>
      <dc:creator><![CDATA[r_o_m_k_o_l_a]]></dc:creator>
      
      <category><![CDATA[python]]></category><category><![CDATA[автоматизация]]></category><category><![CDATA[мониторинг]]></category><category><![CDATA[cron]]></category><category><![CDATA[интеграции]]></category><category><![CDATA[отказоустойчивость]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Действительно ли Вселенная расширяется? Анализ спектра квазара после 2 миллиардов световых лет пути]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1076174/</guid>
      <link>https://habr.com/ru/articles/1076174/?utm_campaign=1076174&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/9d4/e47/fc8/9d4e47fc803c88dd899a9232b4f75b7b.jpg" /><p>Вселенная постоянно меня удивляет тем, что&nbsp;здесь на&nbsp;Земле нет ничего постоянного&nbsp;— облака в&nbsp;небе в&nbsp;следующую секунду уже другой формы, а&nbsp;птенцы, едва вылупившись, уже через несколько недель становятся взрослыми птицами и навсегда покидают гнездо. Все меняется настолько стремительно, что&nbsp;кажется, и в&nbsp;космосе так&nbsp;же. Но&nbsp;нет, всякий раз, когда я получаю спектр звезды и вижу ее&nbsp;линии водорода неизменно на&nbsp;одних и тех&nbsp;же позициях, я удивляюсь: неужели свет не&nbsp;встречает на&nbsp;своем пути ничего, что&nbsp;может его изменить, там действительно так пусто?</p><p>Например, от&nbsp;Бетельгейзе свет идет около 600&nbsp;лет, но&nbsp;в&nbsp;любой день сними ее спектр&nbsp;—&nbsp;линии на&nbsp;своих местах. А&nbsp;если взять объект за&nbsp;миллиарды световых лет от&nbsp;Земли, что&nbsp;покажут фотоны? Ученые говорят, на&nbsp;таком расстоянии длина волны света сильно растянута из‑за расширения пространства и&nbsp;линии смещены в&nbsp;красную зону спектра.</p><p>Мне захотелось проверить это самой. Что&nbsp;из&nbsp;этого вышло, я расскажу ниже, и забегая вперед, скажу, что&nbsp;спектр меня удивил. А&nbsp;начну с&nbsp;любопытной предыстории.</p> <a href="https://habr.com/ru/articles/1076174/?utm_campaign=1076174&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Wed, 02 Sep 2026 16:00:47 GMT</pubDate>
      <dc:creator><![CDATA[Dorial]]></dc:creator>
      
      <category><![CDATA[redshift]]></category><category><![CDATA[спектроскопия]]></category><category><![CDATA[любительская астрономия]]></category><category><![CDATA[расширение вселенной]]></category><category><![CDATA[темная энергия]]></category><category><![CDATA[космология]]></category><category><![CDATA[эффект доплера]]></category><category><![CDATA[квазары]]></category><category><![CDATA[python]]></category><category><![CDATA[энергия вакуума]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Как подключить к LLM вашу документацию и базу знаний]]></title>
      <guid isPermaLink="true">https://habr.com/ru/companies/otus/articles/1075188/</guid>
      <link>https://habr.com/ru/companies/otus/articles/1075188/?utm_campaign=1075188&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/c32/7fd/719/c327fd719839803af0a7cdf523203f1f.png" /><p>LLM умеет отвечать на&nbsp;вопросы, но&nbsp;не&nbsp;знает особенностей вашего проекта и внутренней документации. В&nbsp;статье разберём, как&nbsp;с&nbsp;помощью RAG подключить собственные данные к&nbsp;модели: от&nbsp;подготовки документов и эмбеддингов до&nbsp;поиска нужного контекста и генерации ответов. </p> <a href="https://habr.com/ru/articles/1075188/?utm_campaign=1075188&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Разобрать подход</a>]]></description>
      
      <pubDate>Wed, 02 Sep 2026 15:45:46 GMT</pubDate>
      <dc:creator><![CDATA[Andrey_Biryukov (OTUS)]]></dc:creator>
      
      <category><![CDATA[искусственный интеллект]]></category><category><![CDATA[Python]]></category><category><![CDATA[LLM]]></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[Написал детектор ИИ‑текста на 13 правил и прогнал 59 своих статей: сумма баллов не забраковала ни одну]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1077790/</guid>
      <link>https://habr.com/ru/articles/1077790/?utm_campaign=1077790&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/691/8e3/467/6918e34673222a6644a49515ac25604c.jpg" /><p>Площадки перестали пускать машинный текст самотёком. Habr проверяет публикации автоматически, а Кевин Индиг <a href="https://www.growth-memo.com/p/slop-antibodies" rel="noopener nofollow">пишет о том, что платформы строят anti-slop-системы</a> — механизмы подавления массового низкокачественного ИИ-контента. Дальше обычно следует совет писать хорошо, и на этом разговор заканчивается.</p><p>Мне нужно было проверяемое условие вместо совета, поэтому я собрал детектор на правилах и прогнал через него 59 собственных статей. Главный результат оказался не в том, сколько текстов он забраковал, а в том, что при агрегатном подсчёте он не забраковал ни одного, хотя дефекты были в сорока.</p> <a href="https://habr.com/ru/articles/1077790/?utm_campaign=1077790&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Wed, 02 Sep 2026 15:42:42 GMT</pubDate>
      <dc:creator><![CDATA[sburyi]]></dc:creator>
      
      <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><category><![CDATA[лингвистика]]></category><category><![CDATA[метрики]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Что нового в Location King]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1077740/</guid>
      <link>https://habr.com/ru/articles/1077740/?utm_campaign=1077740&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/6e3/f6b/d88/6e3f6bd88e7727df86a362ecb5769add.png" /><p><strong>Главное: теперь можно играть, ничего не заводя.</strong></p><p>Заходите на <a href="http://locationking.ru" rel="noopener nofollow">locationking.ru</a> и жмите «Сыграть пять раундов без регистрации». Пять известных мест — Москва, Париж, Манхэттен, пирамиды Гизы, Лондон, — и минуты три времени. Аккаунт нужен только чтобы результаты сохранялись.</p><p>Об игре читайте в первой <a href="https://habr.com/ru/articles/1076220/" rel="noopener nofollow">статье. </a></p> <a href="https://habr.com/ru/articles/1077740/?utm_campaign=1077740&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Wed, 02 Sep 2026 13:48:07 GMT</pubDate>
      <dc:creator><![CDATA[vomas]]></dc:creator>
      
      <category><![CDATA[geo]]></category><category><![CDATA[gamedev]]></category><category><![CDATA[world]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Я не откликаюсь на вакансии. Я пишу людям — и написал программу, которая их находит]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1077720/</guid>
      <link>https://habr.com/ru/articles/1077720/?utm_campaign=1077720&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/527/fe5/9ea/527fe59ea526b5acf3d243bc1f77c297.png" /><p><em>24 коллектора, 111 ATS-досок компаний, 345 тестов, ноль API-ключей и ноль ИИ. Windows-exe, который считает совпадение резюме с вакансией и приносит 1–3 живых человека, которым можно написать самому. Внутри — архитектура, три бага, из-за которых я чуть не отправил письма сотрудникам чужих компаний, и раздел «честные ограничения», без которого это была бы реклама.</em></p> <a href="https://habr.com/ru/articles/1077720/?utm_campaign=1077720&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Wed, 02 Sep 2026 12:56:43 GMT</pubDate>
      <dc:creator><![CDATA[i_alakey]]></dc:creator>
      
      <category><![CDATA[python]]></category><category><![CDATA[парсер вакансий]]></category><category><![CDATA[поиск работы]]></category><category><![CDATA[ats]]></category><category><![CDATA[карьера]]></category><category><![CDATA[scraping]]></category><category><![CDATA[resume2human]]></category><category><![CDATA[open source]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Я управлял AutoCAD из Claude Code через Python — пока не понял, что AutoCAD вообще не нужен]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1075022/</guid>
      <link>https://habr.com/ru/articles/1075022/?utm_campaign=1075022&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/cd2/e68/8b2/cd2e688b2405543e7285cb4d7f653377.png" /><p>В <a href="https://habr.com/ru/articles/1067234/" rel="noopener nofollow">прошлой статье</a> я разбирал флот из тридцати трёх ИИ-агентов и в разделе про энергетику упомянул вскользь: чертёж там рисуется одной функцией сразу в двух форматах. Большинство читателей эту фразу пропустили, а зря — за ней стоит развилка, на которой я потерял недели.</p><p>Задача звучит просто. Есть данные — параметры подстанции, состав оборудования, нагрузки. Нужен чертёж: не картинка, а лист формата А3, который инженер откроет в AutoCAD и поправит.</p><p>Очевидный путь — взять AutoCAD и рисовать в нём программно. Я так и сделал: подключился к нему из Python по COM и начал водить его снаружи. Работает. Но когда дошло до генерации по данным, выяснилось, что CAD в этой задаче чаще мешает, чем помогает.</p><p>Разберу оба пути на живом коде: где COM незаменим, где он тихо врёт, и почему в итоге чертежи у меня генерирует код, не открывающий никакого CAD вообще.</p><p>Вот что на выходе — лист, собранный кодом из строки текста с параметрами:</p> <a href="https://habr.com/ru/articles/1075022/?utm_campaign=1075022&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Wed, 02 Sep 2026 12:00:16 GMT</pubDate>
      <dc:creator><![CDATA[hamidun]]></dc:creator>
      
      <category><![CDATA[DXF]]></category><category><![CDATA[autocad]]></category><category><![CDATA[pywin32]]></category><category><![CDATA[генерация чертежей]]></category><category><![CDATA[com]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[JupyterLab на GPU-сервере: полное руководство по настройке для команды в 2026 году]]></title>
      <guid isPermaLink="true">https://habr.com/ru/companies/hostkey/articles/1077686/</guid>
      <link>https://habr.com/ru/companies/hostkey/articles/1077686/?utm_campaign=1077686&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/0f6/cf0/e07/0f6cf0e07ae18fc2e0faee1a368307aa.png" /><p>Пошаговое руководство по развертыванию JupyterLab на GPU-сервере. Рассказываем про настройку JupyterHub, драйверов NVIDIA, безопасности (Nginx/SSL), лимитов ресурсов и мониторинга. </p> <a href="https://habr.com/ru/articles/1077686/?utm_campaign=1077686&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Wed, 02 Sep 2026 11:50:20 GMT</pubDate>
      <dc:creator><![CDATA[akdengi (HOSTKEY)]]></dc:creator>
      
      <category><![CDATA[hostkey]]></category><category><![CDATA[JupyterLab]]></category><category><![CDATA[GPU-сервер]]></category><category><![CDATA[JupyterHub]]></category><category><![CDATA[Machine Learning]]></category><category><![CDATA[NVIDIA CUDA]]></category><category><![CDATA[Ubuntu]]></category><category><![CDATA[Docker]]></category><category><![CDATA[Data Science]]></category><category><![CDATA[Администрирование]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Как проверять ответы API Яндекс Директа и не соврать заказчику]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1077680/</guid>
      <link>https://habr.com/ru/articles/1077680/?utm_campaign=1077680&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/832/951/747/832951747e14f09b705dd49b1dcde4cb.png" /><p>Отчёт Директа показал пять конверсий, потом ноль, потом три. Все три запроса вернули 200 OK. Разбор трёх мест, где успешный ответ API не означает, что вы получили нужные данные, что операция выполнилась и что настройка совпала с замыслом.</p> <a href="https://habr.com/ru/articles/1077680/?utm_campaign=1077680&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Wed, 02 Sep 2026 11:39:07 GMT</pubDate>
      <dc:creator><![CDATA[eignatiev]]></dc:creator>
      
      <category><![CDATA[яндекс директ]]></category><category><![CDATA[api]]></category><category><![CDATA[конверсии]]></category><category><![CDATA[яндекс метрика]]></category><category><![CDATA[python]]></category><category><![CDATA[контекстная реклама]]></category><category><![CDATA[автоматизация]]></category><category><![CDATA[отчёты]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[В ответах нейросетей почти всегда есть ссылки. Но не по всем из них видно, что за источник за этим стоит]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1077666/</guid>
      <link>https://habr.com/ru/articles/1077666/?utm_campaign=1077666&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/8a6/22b/863/8a622b863d8b065325f213c76187ae1b.jpg" /><p>Ответ нейросети с включённым поиском обычно приходит со списком источников, и этот список выглядит как готовый ответ на вопрос «где про эту тему пишут». Я собрал такой список по семи запросам одной темы из логов собственного прогона — получилось 359 уникальных адресов. Раскрыть удалось 199. За остальными 160 стоит редирект, за которым реальный сайт не виден ни из кода, ни глазами.</p><p>Ниже — откуда берётся этот пробел, почему его нельзя закрыть локально, что из неё всё-таки вытаскивается бесплатно и как из-за неё врут метрики, если считать их наивно.</p> <a href="https://habr.com/ru/articles/1077666/?utm_campaign=1077666&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Wed, 02 Sep 2026 11:03:01 GMT</pubDate>
      <dc:creator><![CDATA[ig_novvv]]></dc:creator>
      
      <category><![CDATA[источники нейросетей]]></category><category><![CDATA[редирект]]></category><category><![CDATA[grounding]]></category><category><![CDATA[разбор логов]]></category><category><![CDATA[Python]]></category><category><![CDATA[парсинг ссылок]]></category><category><![CDATA[ИИ-поиск]]></category><category><![CDATA[метрики видимости]]></category><category><![CDATA[Gemini]]></category><category><![CDATA[аналитика данных]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Лучший бесплатный и платный хостинг для Телеграм‑бота на Python в 2026]]></title>
      <guid isPermaLink="true">https://habr.com/ru/companies/amvera/articles/1077548/</guid>
      <link>https://habr.com/ru/companies/amvera/articles/1077548/?utm_campaign=1077548&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/6ec/97e/14c/6ec97e14c22c9010bb1acf09a3db5369.png" /><p>В статье мы сравним основных PaaS и VPS-провайдеров, рассмотрим критерии выбора и опишем деплой бота на хостинг. Также расскажем, как сделать так, чтобы Телеграм-бот работал несмотря на региональные блокировки.</p> <a href="https://habr.com/ru/articles/1077548/?utm_campaign=1077548&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Wed, 02 Sep 2026 08:21:06 GMT</pubDate>
      <dc:creator><![CDATA[MarkovM (Amvera)]]></dc:creator>
      
      <category><![CDATA[Хостинг для бота]]></category><category><![CDATA[хостинг для телеграм бота]]></category><category><![CDATA[хостинг тг бота]]></category><category><![CDATA[бесплатный хостинг бота]]></category><category><![CDATA[сервер для тг бота]]></category><category><![CDATA[сервер для телеграм бота]]></category><category><![CDATA[vps для бота]]></category><category><![CDATA[хостинг для python бота]]></category><category><![CDATA[хостинг для телеграмм бота]]></category><category><![CDATA[лучший хостинг для бота]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Мой первый RAG без LangChain]]></title>
      <guid isPermaLink="true">https://habr.com/ru/companies/ruvds/articles/1074156/</guid>
      <link>https://habr.com/ru/companies/ruvds/articles/1074156/?utm_campaign=1074156&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/5cb/7d2/965/5cb7d296547319db219f09302523c788.jpg" /><p>В наши дни все, кому было интересно, уже попробовали RAG, я в том числе. И стандартная схема тривиальна: цепляем LangChain, три импорта, <code>.from_documents()</code> — и бот с базой знаний готов. Мой первый опыт был такой же, и это даже заработало за один вечер.</p><p>Но как это поддерживать? А что случится, если всё полетит?</p><p>Пять слоёв абстракции, и я без понятия, что происходит на любом из них. Поэтому я решил повторить свой эксперимент <a href="https://habr.com/ru/articles/881428/">с контейнерами</a>: отбросил все слои и переписал вручную на Python.</p><p>В этой статье я хочу рассказать о том, что я смог узнать о RAG, с какими подводными камнями столкнулся и как будет выглядеть итоговый продукт.</p> <a href="https://habr.com/ru/articles/1074156/?utm_campaign=1074156&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Wed, 02 Sep 2026 07:01:49 GMT</pubDate>
      <dc:creator><![CDATA[net0pyr (RUVDS.com)]]></dc:creator>
      
      <category><![CDATA[rag]]></category><category><![CDATA[ml]]></category><category><![CDATA[mlops]]></category><category><![CDATA[python]]></category><category><![CDATA[ruvds_статьи]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Одна сессия Claude Code на нескольких машинах: что ломается, если просто синхронизировать папку]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1077424/</guid>
      <link>https://habr.com/ru/articles/1077424/?utm_campaign=1077424&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/ca7/239/1c4/ca72391c41521e8ae784c8a117a04592.png" /><p>Разговор с Claude Code остаётся на той машине, где начат. Разбираю, почему облачная папка эту задачу не решает, и шесть граблей, на которые я наступил, пока делал перенос сессий, памяти и инструментов между Linux, Windows и macOS.</p> <a href="https://habr.com/ru/articles/1077424/?utm_campaign=1077424&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Tue, 01 Sep 2026 21:09:49 GMT</pubDate>
      <dc:creator><![CDATA[Voland_CoderMan]]></dc:creator>
      
      <category><![CDATA[Claude Code]]></category><category><![CDATA[AI-агенты]]></category><category><![CDATA[синхронизация]]></category><category><![CDATA[git]]></category><category><![CDATA[LLM]]></category><category><![CDATA[dotfiles]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Переводим книги нейронками для себя: год спустя. Словари, скорости и почему переводчики всё ещё нужны]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1077366/</guid>
      <link>https://habr.com/ru/articles/1077366/?utm_campaign=1077366&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/c37/5d5/c4c/c375d5c4cf438e42ba7c8c5cb33b2b6c.png" /><p> </p><p>Год назад я написал статью «<a href="https://habr.com/ru/articles/946870/" rel="noopener nofollow">Переводим fb2 книжки, с нейронками, для себя</a>» — про то, как собрал на паре Tesla P40 в гараже программу <strong>Sunny Narrator</strong> («Солнечный сказочник»), которая переводит художественные книги через локальные и облачные LLM. Тогда это был скорее прототип «доказать себе, что так можно»: черновики читались с головной болью, книга в тысячу страниц переводилась два дня, а электричество, отключённое посреди процесса, стоило ещё двух.</p><p>За год программа доехала до версии 2.1, я перевёл достаточно книг, чтобы набить руку, и понял главное: <strong>это уже инструмент не только для меня, но и для переводчиков — и для всех любопытных</strong>. Рассказываю, что изменилось, сколько это стоит в токенах и почему без человека ничего не работает.</p> <a href="https://habr.com/ru/articles/1077366/?utm_campaign=1077366&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Tue, 01 Sep 2026 18:08:39 GMT</pubDate>
      <dc:creator><![CDATA[neowisard]]></dc:creator>
      
      <category><![CDATA[перевод]]></category><category><![CDATA[переводы]]></category><category><![CDATA[fb2]]></category><category><![CDATA[epub]]></category><category><![CDATA[llm]]></category><category><![CDATA[llm-приложения]]></category><category><![CDATA[словари]]></category><category><![CDATA[tesla p40]]></category><category><![CDATA[qwen]]></category><category><![CDATA[gemma]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Кроссплатформенный мониторинг аппаратных ресурсов на C++ и Python: библиотека hardware_monitor_cpp]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1077310/</guid>
      <link>https://habr.com/ru/articles/1077310/?utm_campaign=1077310&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/1d9/534/b8d/1d9534b8d8dcfc78dd839582a0d5605d.png" /><p>После того как мой пет-проект случайно «выстрелил» на Reddit, я решил, что пора поделиться так же и своей кроссплатформенной библиотекой на C++20 для мониторинга железа, с нативной поддержкой Python.</p><p>Рассказываю историю создания <strong>hardware_monitor_cpp</strong>: как избавиться от лишних зависимостей, получить адекватную статистику swap-файла под Windows и macOS, упаковать все в удобное C++ API, а заодно получить готовую консольную утилиту с визуализацией графиков прямо в терминале.</p> <a href="https://habr.com/ru/articles/1077310/?utm_campaign=1077310&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Tue, 01 Sep 2026 16:14:25 GMT</pubDate>
      <dc:creator><![CDATA[idimus]]></dc:creator>
      
      <category><![CDATA[c++]]></category><category><![CDATA[c++17]]></category><category><![CDATA[c++20]]></category><category><![CDATA[мониторинг]]></category><category><![CDATA[мониторинг сервера]]></category><category><![CDATA[python]]></category><category><![CDATA[open source]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Код прошёл ревью, потому что читался правильно. Выполняется он иначе]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1076410/</guid>
      <link>https://habr.com/ru/articles/1076410/?utm_campaign=1076410&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<p>Патч был на две строки: правка в проверке прав доступа. На ревью читается ровно то, что задумано, — апрув, мёрж. Через день выясняется, что проверка не срабатывает, хотя код перед глазами правильный.</p><p>На ревью смотрят глазами. Глаз видит символы так, как их нарисовал шрифт, а интерпретатор читает байты. Между этими двумя представлениями есть зазор, и в него помещается логика, которую при чтении кода не видно.</p><p>Этим зазором пользуются двумя способами, и оба закрываются одной проверкой.</p> <a href="https://habr.com/ru/articles/1076410/?utm_campaign=1076410&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Tue, 01 Sep 2026 15:00:48 GMT</pubDate>
      <dc:creator><![CDATA[jbenderov]]></dc:creator>
      
      <category><![CDATA[unicode]]></category><category><![CDATA[code review]]></category><category><![CDATA[python]]></category><category><![CDATA[уязвимости]]></category><category><![CDATA[статический анализ]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Задача в проекте оказалась обработана за 11 секунд до создания…]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1077292/</guid>
      <link>https://habr.com/ru/articles/1077292/?utm_campaign=1077292&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/22a/4a3/d82/22a4a3d822d807ef6ee640e732be5d32.png" /><p>После прошлого поста я вдохновился на продолжение, помимо того, что я изначально хотел его доработать, я также увидел, что количество людей увидевших мой пост перевалило за 7,5 тысяч. </p><p>Поэтому я сел за доработку согласно предыдущему плану, что я писал в той статье. Я решил идти по первому пути и сделать логирование асинхронным. Дело в том, что так это становится изолированной переменной, ведь банально легче доработать и тестировать, чем заниматься рефакторингом всего кода и разносить его по разным процессам. После доработки я конечно же решил протестировать новую версию и я очень удивился результатам. Изначально throughput действительно вырос, что обрадовало меня. </p><p>Я уже думал писать статью, но решил мимолетом запустить 175 воркеров. Это решение создало неожиданную проблему - задача оказалась обработана за 11 секунд до ее создания.</p> <a href="https://habr.com/ru/articles/1077292/?utm_campaign=1077292&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Tue, 01 Sep 2026 14:56:14 GMT</pubDate>
      <dc:creator><![CDATA[Balaklav]]></dc:creator>
      
      <category><![CDATA[Python]]></category><category><![CDATA[FastAPI]]></category><category><![CDATA[Docker]]></category><category><![CDATA[logging]]></category><category><![CDATA[PostgreSQL]]></category><category><![CDATA[performing]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[«Завтра в 18:00» — это когда? Разбираем даты и часовые пояса в Python]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1077284/</guid>
      <link>https://habr.com/ru/articles/1077284/?utm_campaign=1077284&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/85d/561/816/85d561816cd9920c0428306850a6ac72.png" /><p>Фраза «завтра в 18:00» кажется простой, пока сервер и пользователь не оказываются по разные стороны полуночи. В Doday я сделал быстрое добавление задач из одной строки и обнаружил, что программа считает «сегодня» по UTC. Из-за этого дата сдвигалась, а указанное время могло остаться в названии.</p><p>В статье покажу, как передать часовой пояс из браузера, в каком порядке собирать локальную дату и время, зачем фиксировать текущее время в тестах и какие ещё ошибки нашлись у фраз «через месяц», «каждый понедельник» и меток с @.</p> <a href="https://habr.com/ru/articles/1077284/?utm_campaign=1077284&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать разбор</a>]]></description>
      
      <pubDate>Tue, 01 Sep 2026 14:37:55 GMT</pubDate>
      <dc:creator><![CDATA[SwairIt]]></dc:creator>
      
      <category><![CDATA[Python]]></category><category><![CDATA[FastAPI]]></category><category><![CDATA[datetime]]></category><category><![CDATA[ZoneInfo]]></category><category><![CDATA[UTC]]></category><category><![CDATA[часовые пояса]]></category><category><![CDATA[парсинг дат]]></category><category><![CDATA[дата и время]]></category><category><![CDATA[pytest]]></category><category><![CDATA[веб-разработка]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Где счетный бейзлайн бьет трансформер: честное сравнение на русских отзывах]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1077244/</guid>
      <link>https://habr.com/ru/articles/1077244/?utm_campaign=1077244&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/2cd/570/a80/2cd570a80e65efb12d2eb98d8b65fcb4.png" /><p>Когда нужно классифицировать текст, дефолтный ход в 2026 – взять предобученный трансформер и дообучить. TF-IDF воспринимается как музейный экспонат: работал в эпоху до BERT, сейчас не всерьез. Обычно этот выбор никто не проверяет на своих данных, потому что и так понятно, кто победит.</p><p>Мы решили проверить. Взяли одну задачу, один корпус, одну метрику и прогнали три подхода подряд: счетный бейзлайн на TF-IDF, сверточную сеть TextCNN и дообученный русский энкодер. Считали не только качество, но и стоимость – время обучения и скорость предсказания на обычном процессоре.</p><p>Короткий вывод: на этой задаче счетный бейзлайн обучается за три секунды и по честной метрике держится вровень с трансформером, который дообучался восемь минут. А трансформер, взятый по стандартному рецепту, сначала вообще проиграл – и проиграл поучительно.</p><p>Дальше – как так вышло и что из этого забрать себе.</p> <a href="https://habr.com/ru/articles/1077244/?utm_campaign=1077244&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Tue, 01 Sep 2026 13:11:25 GMT</pubDate>
      <dc:creator><![CDATA[photonchikk]]></dc:creator>
      
      <category><![CDATA[NLP]]></category><category><![CDATA[TF-IDF]]></category><category><![CDATA[трансформеры]]></category><category><![CDATA[rubert]]></category><category><![CDATA[классификация текста]]></category><category><![CDATA[macro-F1]]></category><category><![CDATA[несбалансированные данные]]></category><category><![CDATA[бейзлайн]]></category><category><![CDATA[PyTorch]]></category><category><![CDATA[эмбеддинги]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Микромагия: Flask+psutil = self‑service]]></title>
      <guid isPermaLink="true">https://habr.com/ru/companies/uralsib/articles/1077200/</guid>
      <link>https://habr.com/ru/companies/uralsib/articles/1077200/?utm_campaign=1077200&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/b68/d22/a70/b68d22a70e23c751941a9874ac75e221.png" /><p>Всем привет, меня зовут Евгений Тихонов я работаю в Банке Уралсиб, в дирекции по сопровождению комплаенс-систем, факторинга и электронных продаж. Я хочу рассказать вам о простом кейсе, который облегчил жизнь отдела разработки рекламных crm-кампаний. </p> <a href="https://habr.com/ru/articles/1077200/?utm_campaign=1077200&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Tue, 01 Sep 2026 12:31:56 GMT</pubDate>
      <dc:creator><![CDATA[evgeny586 (Уралсиб)]]></dc:creator>
      
      <category><![CDATA[python3]]></category><category><![CDATA[psutils]]></category><category><![CDATA[flask]]></category><category><![CDATA[self-service]]></category><category><![CDATA[linux]]></category><category><![CDATA[банковские технологии]]></category><category><![CDATA[маркетинг]]></category><category><![CDATA[автоматизация]]></category><category><![CDATA[it-инфраструктура]]></category><category><![CDATA[ldap]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Ноль устройств в базе: четыре бага, которые видно только в упакованном билде Electron и невнимательность]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1077178/</guid>
      <link>https://habr.com/ru/articles/1077178/?utm_campaign=1077178&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/ae2/cd8/f6b/ae2cd8f6b61deff641846d74734f4190.jpg" /><p>Привет, Хабр! Пилю потихоньку пет‑проект и решил поделиться тем, что&nbsp;вылезло при&nbsp;первом&nbsp;же деплое. </p><p><strong>Откуда взялась эта штука</strong>&nbsp;</p><p>Основная занятость у&nbsp;меня связана с&nbsp;ИИ, но&nbsp;есть ещё подработки по 1С&nbsp;— в&nbsp;основном администрирование: обновления, настройка оборудования, выгрузки и прочее. Всё взаимодействие идёт в&nbsp;Telegram: множество чатов, в&nbsp;каждом свои задачи, у&nbsp;каждой свой дедлайн и своё техническое окно, когда её вообще можно делать. Базу не&nbsp;обновишь в&nbsp;разгар рабочего дня&nbsp;— значит, задача не&nbsp;просто «к пятнице», а «в пятницу после семи». </p><p>Пока задач несколько, они держатся в&nbsp;голове. Дальше начинается путаница: помнишь, что&nbsp;на&nbsp;этой неделе у&nbsp;кого‑то обновление, а&nbsp;у&nbsp;кого именно&nbsp;— уже нет. Я начал забывать про&nbsp;клиентов. Писал на&nbsp;бумажке. Бумажка не&nbsp;работает по&nbsp;простой причине: про&nbsp;неё тоже надо вспомнить. Она лежит рядом и молчит. А&nbsp;напоминание должно приходить само и туда, где я и так сижу целый день. Так и родилась мысль сделать свой блэкджек. </p> <a href="https://habr.com/ru/articles/1077178/?utm_campaign=1077178&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Tue, 01 Sep 2026 11:51:01 GMT</pubDate>
      <dc:creator><![CDATA[ATretyakovDev]]></dc:creator>
      
      <category><![CDATA[telegrambot]]></category><category><![CDATA[telegram]]></category><category><![CDATA[electron]]></category><category><![CDATA[typescript]]></category><category><![CDATA[javascript]]></category><category><![CDATA[пет-проект]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Отступы или скобочки? — Да]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1077166/</guid>
      <link>https://habr.com/ru/articles/1077166/?utm_campaign=1077166&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/445/fe7/666/445fe76666f73e20ce6b560fe713d253.jpeg" /><p>Спор «скобочки или отступы» старше, чем некоторые из его участников. У этого спора нет судьи и нет призового фонда, но есть ветераны и есть потерянные души, которые однажды написали <code>end</code> в Питоне и с тех пор не могут остановиться. Выиграть этот спор невозможно: стороны спорят о вкусах, а не о свойствах. Поэтому предлагаю - давайте закончим этот спор не победой, а разоружением.</p><p>Я написал маленькую утилиту, которая переводит исходный код Python между тремя синтаксисами: классические отступы, C-подобные фигурные скобки, S-выражения в духе Лиспа. Один и тот же quicksort, три вида:</p> <a href="https://habr.com/ru/articles/1077166/?utm_campaign=1077166&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Tue, 01 Sep 2026 11:26:58 GMT</pubDate>
      <dc:creator><![CDATA[wirewalk]]></dc:creator>
      
      <category><![CDATA[Python]]></category><category><![CDATA[Lisp]]></category><category><![CDATA[S-выражения]]></category><category><![CDATA[синтаксис]]></category><category><![CDATA[AST]]></category><category><![CDATA[конвертер]]></category><category><![CDATA[отступы]]></category><category><![CDATA[скобки]]></category><category><![CDATA[Nim]]></category><category><![CDATA[холивар]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Инженер отсутствует, но его работа выполняется?]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1077144/</guid>
      <link>https://habr.com/ru/articles/1077144/?utm_campaign=1077144&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/dfe/af5/607/dfeaf560766ffe438525bf355d2a7c3b.png" /><p>Всем привет! Меня зовут Илья, я инженер-программист, но чаще пишу промпты вместо кода, что привело к некоторым артефактам, о которых ниже.</p><p>В данной статье я покажу, как интегрировать n8n с OpenWebUI, вайбкодить по делу и без, а также напомню о том, как найти идею, если кто не знал.</p><p>Некоторое время назад я оказался в не очень злачном месте, чтобы "развлекаться" околоинтеллигентными разговорами про экономику, международную политику и научно-технический прогресс. Чем еще было заниматься осенним субботним вечером в 2022 году?</p> <a href="https://habr.com/ru/articles/1077144/?utm_campaign=1077144&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Tue, 01 Sep 2026 10:47:16 GMT</pubDate>
      <dc:creator><![CDATA[bazhil]]></dc:creator>
      
      <category><![CDATA[триз]]></category><category><![CDATA[ии]]></category><category><![CDATA[pet-project]]></category><category><![CDATA[пресейл]]></category><category><![CDATA[osint]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Как определить CMS у 53 тысяч сайтов за один обход. И почему картина всё равно смещена]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1077138/</guid>
      <link>https://habr.com/ru/articles/1077138/?utm_campaign=1077138&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<p>Задача&nbsp;была прикладная: мы переносим интернет‑магазины на&nbsp;свой движок и хотели понять, сколько в&nbsp;зоне <code>.ru</code> магазинов на&nbsp;каждой платформе и как&nbsp;их находить. Готовые сервисы вроде BuiltWith продают выгрузки по&nbsp;подписке, но&nbsp;нам нужен&nbsp;был воспроизводимый обход, который можно гонять когда угодно и по&nbsp;своим правилам.</p><p>Написали свой пробер, обошли <strong>53 305&nbsp;доменов</strong> и получили распределение платформ. Заодно собрали коллекцию ловушек, на&nbsp;каждой из&nbsp;которых успели ошибиться. Про&nbsp;них и статья&nbsp;— цифры без&nbsp;описания граблей мало чего стоят.</p> <a href="https://habr.com/ru/articles/1077138/?utm_campaign=1077138&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Tue, 01 Sep 2026 10:36:14 GMT</pubDate>
      <dc:creator><![CDATA[yakov_etern8]]></dc:creator>
      
      <category><![CDATA[детект CMS]]></category><category><![CDATA[футпринт]]></category><category><![CDATA[веб-скрапинг]]></category><category><![CDATA[asyncio]]></category><category><![CDATA[1С-Битрикс]]></category><category><![CDATA[WooCommerce]]></category><category><![CDATA[OpenCart]]></category><category><![CDATA[InSales]]></category><category><![CDATA[Tranco]]></category><category><![CDATA[смещение выборки]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Ипотечный кризис 2008 через свой риск-движок: в деньгах слом виден на год раньше, чем в ROC-AUC]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1076714/</guid>
      <link>https://habr.com/ru/articles/1076714/?utm_campaign=1076714&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/4a2/b4a/6a4/4a2b4a6a463ac7176ef8221869dd5834.png" /><p>Модель кредитного риска, обученная на данных до 2009 года, ранжирует займы с ROC-AUC 0.89. Ожидаемые потери портфеля она оценила в 161 млн долларов, реальные составили 546. Увидеть эту ошибку можно было еще в 2007 году, за год до дна ROC-AUC, но не в метриках качества, а взвесив ошибку модели деньгами. Ниже — прогон на 26.5 млн реальных ипотечных записей, метрики против денег. Числа воспроизводятся до последнего разряда — код движка и инструкции в опенсорсе.</p> <a href="https://habr.com/ru/articles/1076714/?utm_campaign=1076714&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Tue, 01 Sep 2026 07:00:19 GMT</pubDate>
      <dc:creator><![CDATA[nmrcs]]></dc:creator>
      
      <category><![CDATA[кредитный риск]]></category><category><![CDATA[ипотечный кризис 2008]]></category><category><![CDATA[калибровка модели]]></category><category><![CDATA[walk-forward]]></category><category><![CDATA[бэктест]]></category><category><![CDATA[ROC-AUC]]></category><category><![CDATA[риск-менеджмент]]></category><category><![CDATA[VaR]]></category><category><![CDATA[Монте-Карло]]></category><category><![CDATA[scikit-learn]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Я распознал паспорт. Чем я могу это доказать?]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1076808/</guid>
      <link>https://habr.com/ru/articles/1076808/?utm_campaign=1076808&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/d55/9cc/9ed/d559cc9ede7a691d8f63b3713d1df45a.png" /><p>Система работает и разбирает документы. Претензия у меня к ней одна, зато неустранимая изнутри: я не могу доказать ни одно из полученных значений.</p><p>Ниже — опись. По каждому полю: как оно читается, чем проверяется и чего эта проверка стоит. Последняя строка описи самая интересная, потому что напротив неё не стоит ничего.</p> <a href="https://habr.com/ru/articles/1076808/?utm_campaign=1076808&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Tue, 01 Sep 2026 05:12:07 GMT</pubDate>
      <dc:creator><![CDATA[Timur555]]></dc:creator>
      
      <category><![CDATA[OCR]]></category><category><![CDATA[Tesseract]]></category><category><![CDATA[LLM]]></category><category><![CDATA[Ollama]]></category><category><![CDATA[распознавание документов]]></category><category><![CDATA[MRZ]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Как Python‑функция превращается в ноду: локальный уровень splime изнутри]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1076680/</guid>
      <link>https://habr.com/ru/articles/1076680/?utm_campaign=1076680&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/60e/dac/b05/60edacb05148f65b4364eb8cc829880b.png" /><p>В&nbsp;комментариях к <a href="https://habr.com/ru/articles/1058256/" rel="noopener nofollow">прошлой статье</a> сформулировали правило, под&nbsp;которым я подписываюсь обеими руками: «платить» за&nbsp;внепроцессный вызов имеет смысл тогда, когда сама работа дороже транспорта. <code>clean_amount</code> из&nbsp;квикстарта&nbsp;— десять строк, ноль зависимостей, микросекунды работы&nbsp;— этот порог не&nbsp;проходит. Свою задачу тот пример выполнил: показал механику publish/call в&nbsp;шесть строк. Но&nbsp;ноды существуют не&nbsp;для&nbsp;него: <code>2 + 2</code> через демон не&nbsp;нужно никому, и splime строился не&nbsp;для&nbsp;этого.</p><p>Возьмём случай, где оверхед оправдан, залезем под&nbsp;капот и посмотрим, что&nbsp;происходит между <code>publish</code> и <code>call</code>: где физически живёт нода, как&nbsp;Python‑функция превращается в&nbsp;переносимый объект и как&nbsp;две ноды передают друг другу данные, которым не&nbsp;место в&nbsp;JSON.</p><p>Напомню контекст из&nbsp;прошлой статьи. <strong>splime</strong> упаковывает Python‑функции в&nbsp;переносимые вычислительные элементы&nbsp;— <strong>ноды</strong>, узлы вычислительного графа,&nbsp;— связывает их в <strong>пайплайны</strong> и исполняет там, где вы скажете: в&nbsp;текущем процессе, через локальный демон или&nbsp;на&nbsp;другой машине.</p><p>Всё, что&nbsp;ниже, проверено на&nbsp;актуальной <strong>splime 0.4.9</strong>.</p> <a href="https://habr.com/ru/articles/1076680/?utm_campaign=1076680&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Tue, 01 Sep 2026 04:25:04 GMT</pubDate>
      <dc:creator><![CDATA[YastrebovKS]]></dc:creator>
      
      <category><![CDATA[pyhton]]></category><category><![CDATA[localstorage]]></category><category><![CDATA[library]]></category><category><![CDATA[project]]></category><category><![CDATA[project managment]]></category>
    </item>
  

  

  

	
  

  

  

      

      

      

    
  </channel>
</rss>
