<?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>Thu, 30 Apr 2026 12:18:54 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[Как мы переписывали логику очередей: Celery =&gt; aio-pika =&gt; FastStream]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1030082/</guid>
      <link>https://habr.com/ru/articles/1030082/?utm_campaign=1030082&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/7e0/225/6f4/7e02256f4c208f80a4ae4977d99aab80.webp" /><p>Наш путь активной работы с очередями RabbitMQ начался с классического Celery. Осознав критичность низкоуровневого контроля системы, принялись работать с aio-pika. Но и этот уровень слишком местами сложный (далее расскажу почему), и нашли отличное решение, на текущий момент, в лице FastStream. Сразу оставлю такую пометку, что каждый инструмент подходит для решения своей задачи. Мы больше хотели сделать акцент на удобство и скорость разработки относительно затрачиваемого времени на миграции решений. </p><p><em>N.B.</em>: Код возможно покажется неоптимальным или старым. Это всё наш дорогой Легаси.</p> <a href="https://habr.com/ru/articles/1030082/?utm_campaign=1030082&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Thu, 30 Apr 2026 10:58:52 GMT</pubDate>
      <dc:creator><![CDATA[GregTMJ]]></dc:creator>
      
      <category><![CDATA[celery]]></category><category><![CDATA[rabbitmq]]></category><category><![CDATA[faststream]]></category><category><![CDATA[aio-pika]]></category><category><![CDATA[python3]]></category>
    </item>
  

  

  

	
  

  

  

    

  

  

	
  

  
    <item>
      <title><![CDATA[[Перевод] WebAssembly как платформа расширений для Python: ускорение, встраивание и опасные ловушки API]]></title>
      <guid isPermaLink="true">https://habr.com/ru/companies/otus/articles/1030058/</guid>
      <link>https://habr.com/ru/companies/otus/articles/1030058/?utm_campaign=1030058&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/577/187/708/577187708d75f1d159e4fd4643c99044.jpg" /><p>WebAssembly можно использовать как способ расширять Python без нативной сборки под каждую платформу: упаковать Wasm-модуль внутрь библиотеки, запускать его через <code>wasmtime-py</code> и ускорять участки, где чистый Python уже не справляется. Но за удобной схемой быстро проявляются неочевидные детали: <code>store</code>, линейная память, знаковые указатели, ручное копирование данных и риск записать их совсем не туда. </p><p>В статье разберёмся, где Wasm действительно полезен для Python и почему работа с таким API требует особой аккуратности.</p> <a href="https://habr.com/ru/articles/1030058/?utm_campaign=1030058&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать разбор</a>]]></description>
      
      <pubDate>Thu, 30 Apr 2026 10:20:37 GMT</pubDate>
      <dc:creator><![CDATA[kmoseenk (OTUS)]]></dc:creator>
      
      <category>WebAssembly</category><category>Python</category><category>WASM</category><category>wasmtime-py</category><category>расширения Python</category><category>линейная память</category><category>указатели</category><category>API</category><category>производительность</category><category>встраиваемые модули</category>
    </item>
  

  

    
    <item>
      <title><![CDATA[Топ-5 мифов о Python, в которые давно пора перестать верить]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1030026/</guid>
      <link>https://habr.com/ru/articles/1030026/?utm_campaign=1030026&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/9c6/bcc/bd2/9c6bccbd2188f8ac53db8e17e43596d2.jpg" /><p>Если вы до сих пор слышите эти аргументы от коллег или на собеседованиях, значит, ваши оппоненты застряли где-то в эпохе Python 2.7. На дворе 2026 год, язык давно повзрослел, оброс мощными инструментами и тянет на себе гигантский энтерпрайз, но стереотипы продолжают жить.</p><p>Выкатил на Хабр новую статью, где предлагаю трезво взглянуть на реальность и разобрать топ-5 самых живучих мифов о Python.</p> <a href="https://habr.com/ru/articles/1030026/?utm_campaign=1030026&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Thu, 30 Apr 2026 09:25:15 GMT</pubDate>
      <dc:creator><![CDATA[enamored_poc]]></dc:creator>
      
      <category><![CDATA[python]]></category><category><![CDATA[python3]]></category><category><![CDATA[python для начинающих]]></category><category><![CDATA[мифы]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Логи, которые реально помогают: как дебажить продакшен-бота]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1029992/</guid>
      <link>https://habr.com/ru/articles/1029992/?utm_campaign=1029992&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/ce9/e05/58c/ce9e0558c92c3514ff9218efcd603d5a.jpeg" /><p>Знакомая ситуация: бот вроде&nbsp;бы работает. Люди тыкают кнопки, получают ответы, всё хорошо. Но&nbsp;иногда случается странное.</p><p>Прилетает сообщение в&nbsp;поддержку: «Бот не&nbsp;отвечает». Или&nbsp;ещё хуже: «Бот выдал какую‑то ошибку и всё». Вы бежите к&nbsp;терминалу, поднимаете историю... и ничего не&nbsp;видите. Ни ошибки, ни стека, ни даже намёка на&nbsp;то, где именно всё сломалось.</p><p>Вы просто слепы.</p><p>Без&nbsp;нормальных логов вы не&nbsp;понимаете ровно ничего: обработчик не&nbsp;сработал, API молчит, база данных упала или&nbsp;вы просто забыли зарегистрировать хендлер. Спойлер: я через это проходил, и не&nbsp;раз.</p> <a href="https://habr.com/ru/articles/1029992/?utm_campaign=1029992&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее...</a>]]></description>
      
      <pubDate>Thu, 30 Apr 2026 08:45:37 GMT</pubDate>
      <dc:creator><![CDATA[andreypopov321]]></dc:creator>
      
      <category><![CDATA[python]]></category><category><![CDATA[logging]]></category><category><![CDATA[логирование]]></category><category><![CDATA[программирование]]></category><category><![CDATA[ошибки]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[ТОП-7 графиков для вашей презентации]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1029978/</guid>
      <link>https://habr.com/ru/articles/1029978/?utm_campaign=1029978&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/980/70d/8fc/98070d8fca793ad54bf1611d552aa9f5.png" /><p><em>Лучше один раз увидеть, чем сто раз услышать — в аналитике эта пословица работает на все сто. В новой статье  разбираем, почему одна удачная визуализация объясняет процессы, зависимости и помогает найти инсайты быстрее, чем десятки слайдов с текстом и формулами. Также рассмотрим несколько оригинальных интерактивных визуализаций на Plotly — за пределами привычных распределений, боксплотов и прочих «школьных» графиков.&nbsp;</em><br><br></p><p><strong>Об авторе:</strong><a href="http://t.me/data_easy" rel="noopener noreferrer nofollow"> Мария Жарова — преподаватель Центра «Пуск» МФТИ, ML-инженер в Wildberries, автор канала EasyData</a>.</p><p><br></p> <a href="https://habr.com/ru/articles/1029978/?utm_campaign=1029978&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Thu, 30 Apr 2026 08:25:49 GMT</pubDate>
      <dc:creator><![CDATA[mipt_digital]]></dc:creator>
      
      <category><![CDATA[визуализация данных]]></category><category><![CDATA[python]]></category><category><![CDATA[plotly]]></category><category><![CDATA[data mining]]></category><category><![CDATA[аналитика данных]]></category><category><![CDATA[интерактивные графики]]></category><category><![CDATA[презентация]]></category><category><![CDATA[бизнес-анализ]]></category><category><![CDATA[бизнес-аналитика]]></category><category><![CDATA[бизнес-анализ данных]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Пишем свой SQL query builder на Python: DSL, кеширование в Redis и защита от инъекций]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1029968/</guid>
      <link>https://habr.com/ru/articles/1029968/?utm_campaign=1029968&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/e75/d53/0fc/e75d530fc9d79a66a1ed9b0b157f351e.jpg" /><p>Объектный построитель SQL-запросов без ORM и моделей. Позволяет писать сложные SQL-запросы в виде цепочек Python-методов (table[‘person’].filter(…).join(…).get()) и получать результат в виде списка словарей. Под капотом — параметризованные запросы для защиты от инъекций, продуманная система кеширования с инвалидацией по таблицам (in-memory и Redis), поддержка синхронного и асинхронного кода из коробки. Для тех случаев, когда ORM избыточна, а сырой SQL небезопасен.</p> <a href="https://habr.com/ru/articles/1029968/?utm_campaign=1029968&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Thu, 30 Apr 2026 08:15:55 GMT</pubDate>
      <dc:creator><![CDATA[Antony_Glyzin]]></dc:creator>
      
      <category><![CDATA[python]]></category><category><![CDATA[sql]]></category><category><![CDATA[orm]]></category><category><![CDATA[dsl]]></category><category><![CDATA[caching]]></category><category><![CDATA[asyncio]]></category><category><![CDATA[sql-инъекция]]></category><category><![CDATA[query cache]]></category><category><![CDATA[django]]></category><category><![CDATA[redis]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Защищаем личные номера телефонов на маркетплейсах: соединяем клиента и исполнителя]]></title>
      <guid isPermaLink="true">https://habr.com/ru/companies/exolve/articles/1029734/</guid>
      <link>https://habr.com/ru/companies/exolve/articles/1029734/?utm_campaign=1029734&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/607/e5c/0a8/607e5c0a8514fc43e2c3043353885462.jpg" /><p>Если вы развиваете маркетплейс или сервис, где клиент общается с выездными специалистами, то важно удерживать звонки внутри платформы. Когда мастер и клиент уходят в прямой контакт, компания теряет комиссию, историю общения и повторные продажи.</p><p>Полностью избежать обмена номерами невозможно, при встрече исполнитель и клиент могут договориться напрямую. Но если клиент не хочет оставлять личный номер исполнителям и предпочитает гарантии и возможности вашей платформы, такой сценарий помогает сохранять контакт защищённым.</p><p>В этом материале соберём такой сценарий на Python, используя вместо базы данных Битрикс24. Решение берёт контекст из CRM в момент звонка и через МТС Exolve соединяет клиента, исполнителя или поддержку.&nbsp;</p> <a href="https://habr.com/ru/articles/1029734/?utm_campaign=1029734&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Thu, 30 Apr 2026 07:08:41 GMT</pubDate>
      <dc:creator><![CDATA[Katner (Exolve)]]></dc:creator>
      
      <category><![CDATA[мтс exolve]]></category><category><![CDATA[защита данных]]></category><category><![CDATA[защита персональных данных]]></category><category><![CDATA[защита информации]]></category><category><![CDATA[маркетплейсы]]></category><category><![CDATA[маркетплейс]]></category><category><![CDATA[ecommerce]]></category><category><![CDATA[ecom]]></category><category><![CDATA[exolve callback api]]></category><category><![CDATA[sip api]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Почему ваша LLM-платформа — следующая цель: аудит безопасности AI-сервиса изнутри]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1029822/</guid>
      <link>https://habr.com/ru/articles/1029822/?utm_campaign=1029822&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/0b1/f6a/8af/0b1f6a8aff4197a949425a360dd2e0f6.png" /><p>Мы искали уязвимости в RAG-платформе с десятками тысяч пользователей — а нашли доступ ко всей инфраструктуре и API-ключам с бюджетом в сотни тысяч долларов. Две недели мы строили сложные цепочки: SSRF через LangChain, инъекции в промпты, HTTP smuggling, CVE в десериализации. Ни одна не дала результата. А потом мы сделали один <code>curl</code> к открытому порту — и получили все ключи за 5 минут.</p><p>Эта статья — <strong>не гайд по взлому</strong>. Это разбор того, почему LLM-инфраструктура создаёт принципиально новые риски, какие ошибки мы раз за разом видим в AI-стартапах, и на что стоит обратить внимание, если вы строите что-то похожее.</p> <a href="https://habr.com/ru/articles/1029822/?utm_campaign=1029822&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Wed, 29 Apr 2026 18:41:58 GMT</pubDate>
      <dc:creator><![CDATA[Svortex]]></dc:creator>
      
      <category><![CDATA[пентест]]></category><category><![CDATA[LLM]]></category><category><![CDATA[SSRF]]></category><category><![CDATA[JWT]]></category><category><![CDATA[Docker]]></category><category><![CDATA[LangChain]]></category><category><![CDATA[AI Security]]></category><category><![CDATA[аудит безопасности]]></category><category><![CDATA[RAG]]></category><category><![CDATA[API-ключи]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Возвращение блудного программиста (ч.3)]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1029736/</guid>
      <link>https://habr.com/ru/articles/1029736/?utm_campaign=1029736&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/b11/e5c/7c2/b11e5c7c224e34a6bbb442a81ca864a8.jpg" /><p>Эта часть будет практической, если помните я решил углубиться в React и Flask. Поэтому при помощи ИИ начинаю. Нет, ИИ не будет делать за меня весь проект, он будет выполнять функцию наставника. Ну и иногда чернорабочего (как, например, собрать файл SQL для инициирования БД) для ускорения ручного труда.</p> <a href="https://habr.com/ru/articles/1029736/?utm_campaign=1029736&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Wed, 29 Apr 2026 14:50:52 GMT</pubDate>
      <dc:creator><![CDATA[VAnderskaeV]]></dc:creator>
      
      <category><![CDATA[flask]]></category><category><![CDATA[python]]></category><category><![CDATA[backend]]></category><category><![CDATA[обучение программированию]]></category><category><![CDATA[войти в айти]]></category><category><![CDATA[возвращение в it]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[OpenWebUI: System Prompt vs Skills vs MCP Tools — разбираем на живом примере валидации URL]]></title>
      <guid isPermaLink="true">https://habr.com/ru/companies/hostkey/articles/1029730/</guid>
      <link>https://habr.com/ru/companies/hostkey/articles/1029730/?utm_campaign=1029730&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/75d/518/8e8/75d5188e88bf2e2283788b819709fa18.png" /><p>System Prompt учит модель что говорить, Skills — как проверить сказанное, MCP Tools — как сделать это в реальном мире. Разбираем трёхуровневую архитектуру на примере бота техподдержки с валидацией ссылок.</p> <a href="https://habr.com/ru/articles/1029730/?utm_campaign=1029730&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Wed, 29 Apr 2026 14:47:07 GMT</pubDate>
      <dc:creator><![CDATA[akdengi (HOSTKEY)]]></dc:creator>
      
      <category><![CDATA[hostkey]]></category><category><![CDATA[OpenWebUI]]></category><category><![CDATA[System Prompt]]></category><category><![CDATA[Skills]]></category><category><![CDATA[MCP Tools]]></category><category><![CDATA[валидация URL]]></category><category><![CDATA[LLM]]></category><category><![CDATA[чат-бот техподдержки]]></category><category><![CDATA[интеграция]]></category><category><![CDATA[архитектура]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[z.ai GLM 5.1: Как я научил слепую модель видеть]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1029682/</guid>
      <link>https://habr.com/ru/articles/1029682/?utm_campaign=1029682&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/aac/f94/589/aacf94589e0c07f2dd01b0fc6384d641.png" /><p>Если у вас есть неограниченный доступ к фронтир моделям (Calude, Codex и т.д.), то эта статья не для вас.</p><p>Сегодня доступны отличные недорогие модели для кодинга и архитектуры. Например,&nbsp;<a href="https://%F0%9F%9A%80%20You%E2%80%99ve%20been%20invited%20to%20join%20the%20GLM%20Coding%20Plan!%20Enjoy%20full%20support%20for%20Claude%20Code,%20Cline,%20and%2020+%20top%20coding%20tools%20%E2%80%94%20starting%20at%20just%20%2418/month.%20Subscribe%20now%20and%20grab%20the%20limited-time%20deal!%20%20%F0%9F%91%89Join%20now:%20https://z.ai/subscribe?ic=BMHQOIYYAM" rel="noopener noreferrer nofollow">GLM-5.1</a>&nbsp;(реферальная ссылка +10% бонус на пополнение) умеет генерировать, рефакторить, отлаживать код, строить архитектуру – в десятки раз дешевле фронтит моделей или вообще бесплатно при локальном развёртывании.</p><p>Но у всех таких моделей часто есть общая слепая зона:&nbsp;<strong>они не видят результат своей работы</strong>. В этой статье я рассказываю, как "научить модель видеть".</p> <a href="https://habr.com/ru/articles/1029682/?utm_campaign=1029682&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Wed, 29 Apr 2026 13:42:15 GMT</pubDate>
      <dc:creator><![CDATA[Xronofag]]></dc:creator>
      
      <category><![CDATA[MCP]]></category><category><![CDATA[vision]]></category><category><![CDATA[VLM]]></category><category><![CDATA[qwen3-vl]]></category><category><![CDATA[Ollama]]></category><category><![CDATA[кодинг-агент]]></category><category><![CDATA[тестирование]]></category><category><![CDATA[скриншот]]></category><category><![CDATA[open-source]]></category><category><![CDATA[prompt-tuning]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Делаем мини-CRM с СМС-уведомлениями через МТС Exolve]]></title>
      <guid isPermaLink="true">https://habr.com/ru/companies/ru_mts/articles/1029264/</guid>
      <link>https://habr.com/ru/companies/ru_mts/articles/1029264/?utm_campaign=1029264&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/e09/3e9/f4b/e093e9f4b21d03a5b5de8644f51cca7e.jpg" /><p>Привет, Хабр.</p><p>В сервисном бизнесе есть простой, но обременительный процесс — рассылать уведомления о записях на услуги, готовых заказах и предстоящих визитах. Уведомления нужны салону красоты, автосервису, фитнес-студии, клинике и кому только не.&nbsp;</p><p>Пока записей мало, рассылать можно вручную. Когда больше — информация теряется или дублируется, не видно, отправлено ли сообщение и что клиент ответил.</p><p>Я Леонид Тараскин, руководитель портфеля продуктов в МТС Exolve. В этом гайде на Python расскажу, как собрать из связки  МТС Exolve и MWS Tables легкую CRM с исходящими и входящими СМС-уведомлениями.</p> <a href="https://habr.com/ru/articles/1029264/?utm_campaign=1029264&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Wed, 29 Apr 2026 12:00:01 GMT</pubDate>
      <dc:creator><![CDATA[Feros (МТС)]]></dc:creator>
      
      <category><![CDATA[управление продажами]]></category><category><![CDATA[crm-системы]]></category><category><![CDATA[блог компании мтс]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Пишем прототип ИИ-агента для EdTech-саппорта без векторных баз и фреймворков: чистый Python, Gemini и JSON]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1029542/</guid>
      <link>https://habr.com/ru/articles/1029542/?utm_campaign=1029542&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/e74/0ee/1ad/e740ee1adb9dd968bec6cbae4301a27a.jpg" /><p>У любого EdTech продукта есть проблема поддержки студентов. Я и сам столкнулся с ней в мою бытность автором курсов на степик. Студенты сталкиваются с трудностями и пишут в чат / на форум в надежде, что им помогут (особенно, если они заплатили за обучение свои кровные).</p><p>Традиционный способ решения данной проблемы - куратор. Это человек, достаточно хорошо разбирающийся в предмете и структуре курса, задача которого отвечать на такие вопросы студентов. К сожалению, такой способ решения обладает радом недостатков, обусловленными человеческим фактором.</p><p>Однако, в эпоху развития технологий искусственного интеллекта появился новый способ решения проблемы поддержки студентов. Прототип такого решения я недавно собрал и хочу вам об этом рассказать.</p> <a href="https://habr.com/ru/articles/1029542/?utm_campaign=1029542&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Wed, 29 Apr 2026 10:20:39 GMT</pubDate>
      <dc:creator><![CDATA[DanilaSysoev]]></dc:creator>
      
      <category><![CDATA[llm]]></category><category><![CDATA[ai]]></category><category><![CDATA[gemini]]></category><category><![CDATA[rag]]></category><category><![CDATA[телеграм-бот]]></category><category><![CDATA[python]]></category><category><![CDATA[edtech]]></category><category><![CDATA[prompt engineering]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Самые популярные ошибки начинающего SDET-специалиста]]></title>
      <guid isPermaLink="true">https://habr.com/ru/companies/simbirsoft/articles/1027022/</guid>
      <link>https://habr.com/ru/companies/simbirsoft/articles/1027022/?utm_campaign=1027022&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/7e7/7b1/0c4/7e77b10c4dc8d2c7063e68c7e1fa1e7a.png" /><p>По&nbsp;мере того как&nbsp;современная разработка программного обеспечения движется в&nbsp;сторону непрерывной доставки и микросервисов, цена ошибок возрастает. Нестабильные тесты, плохо масштабируемый код автотестов или&nbsp;неправильное использование инструментов могут приводить к&nbsp;задержкам релизов или&nbsp;к&nbsp;росту количества багов из‑за затрат времени и ресурсов на&nbsp;выявление причин падения автотестов. То, что&nbsp;сначала кажется временным исправлением, впоследствии может обернуться отложенными последствиями для&nbsp;всей команды.</p><p>В&nbsp;этой статье мы рассмотрим семь распространенных ошибок, которые совершают начинающие SDET. Разберем не&nbsp;только то, что&nbsp;идет не&nbsp;так, но&nbsp;и почему это имеет значение и как&nbsp;подходить к&nbsp;решению каждой из&nbsp;проблем наиболее эффективно. Цель статьи&nbsp;— помочь начинающим SDET заложить прочный фундамент для&nbsp;эффективного тестирования, основанного на&nbsp;качестве, масштабируемости и взаимодействии с&nbsp;командой.</p> <a href="https://habr.com/ru/articles/1027022/?utm_campaign=1027022&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее 🦾</a>]]></description>
      
      <pubDate>Wed, 29 Apr 2026 09:46:04 GMT</pubDate>
      <dc:creator><![CDATA[SSul (SimbirSoft)]]></dc:creator>
      
      <category><![CDATA[qa]]></category><category><![CDATA[тестирование]]></category><category><![CDATA[qa automation]]></category><category><![CDATA[автоматизация тестирования]]></category><category><![CDATA[автотесты]]></category><category><![CDATA[code quality]]></category><category><![CDATA[качество кода]]></category><category><![CDATA[чистая архитектура]]></category><category><![CDATA[рефакторинг]]></category><category><![CDATA[python]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Методы обнаружения контуров в изображении: пространственные фильтры]]></title>
      <guid isPermaLink="true">https://habr.com/ru/companies/timeweb/articles/1022270/</guid>
      <link>https://habr.com/ru/companies/timeweb/articles/1022270/?utm_campaign=1022270&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/341/335/cd5/341335cd595b2dc468f3f72113d7d894.jpg" /><p>Большинство современных CV-алгоритмов невозможно представить без выделения границ объектов. В этой статье разбираем, как работают пространственные фильтры — от простейших масок 2×2 до полноценного детектора Канни.</p><p>Рассмотрим математическую базу: производные первого и второго порядка, градиент, дискретный Лапласиан. Как из аппроксимации производных получаются операторы — Робертса, Прюитта, Собеля, Лапласа. Разберем детектор Канни по шагам: сглаживание Гаусса, поиск градиентов, подавление не-максимумов, двойная пороговая фильтрация. Отдельно — адаптивный фильтр Уоллеса для автоматического подбора порога.</p> <a href="https://habr.com/ru/articles/1022270/?utm_campaign=1022270&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Wed, 29 Apr 2026 08:05:31 GMT</pubDate>
      <dc:creator><![CDATA[Adamowicz_I (Timeweb Cloud)]]></dc:creator>
      
      <category><![CDATA[контуры]]></category><category><![CDATA[opencv]]></category><category><![CDATA[python]]></category><category><![CDATA[ml]]></category><category><![CDATA[cv]]></category><category><![CDATA[математика]]></category><category><![CDATA[математика для программистов]]></category><category><![CDATA[математическое моделирование]]></category><category><![CDATA[обработка изображений]]></category><category><![CDATA[timeweb_статьи]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[NumPy с нуля: понятный гайд для тех, кто хочет в Data Science]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1029440/</guid>
      <link>https://habr.com/ru/articles/1029440/?utm_campaign=1029440&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/a15/479/514/a154795140a60c61b952f1bd8a5969da.jpg" /><p>Стандартные списки в Python прекрасны своей гибкостью, но когда дело доходит до больших данных и математики, они превращаются в медленных черепах. 🐢</p><p>Подготовил для вас максимально практичный гайд: «NumPy с нуля до понимания за 1 статью». Никакой академической воды — только база для быстрого старта в Data Science и аналитике.</p> <a href="https://habr.com/ru/articles/1029440/?utm_campaign=1029440&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Wed, 29 Apr 2026 07:37:54 GMT</pubDate>
      <dc:creator><![CDATA[enamored_poc]]></dc:creator>
      
      <category><![CDATA[numpy]]></category><category><![CDATA[numpy datascience]]></category><category><![CDATA[python]]></category><category><![CDATA[python3]]></category><category><![CDATA[python для начинающих]]></category><category><![CDATA[python tutor]]></category><category><![CDATA[data science]]></category><category><![CDATA[data analysis]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Как использовать GitHub Actions и настроить интеграцию с PyPI для Python-проектов]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1029354/</guid>
      <link>https://habr.com/ru/articles/1029354/?utm_campaign=1029354&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/51f/91b/35c/51f91b35c9c0d6fa04438378e4fb5493.png" /><p>Когда я создавал свой первый Python-пакет я столкнулся с интересной задачей:как настроить&nbsp;<code>CI/CD</code>&nbsp;в GitHub так,&nbsp;чтобы при отправке новых изменений ничего не ломалось,&nbsp;а код автоматически публиковался в&nbsp;<code>PyPI</code>. </p><p>Обычно,&nbsp;чтобы проверить любой коммит,&nbsp;попадающий в master-ветку через pull request,&nbsp;необходимо запускать тесты. Кроме того,&nbsp;полезно использовать линтеры для проверки стиля кода,&nbsp;особенно если над проектом работают несколько разработчиков. <br><br>В этой статье я расскажу как все это настроить в Github, чтоб оно выполнялось автоматически.</p> <a href="https://habr.com/ru/articles/1029354/?utm_campaign=1029354&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Tue, 28 Apr 2026 23:45:47 GMT</pubDate>
      <dc:creator><![CDATA[ViAchKoN]]></dc:creator>
      
      <category><![CDATA[python]]></category><category><![CDATA[github]]></category><category><![CDATA[github actions]]></category><category><![CDATA[ci]]></category><category><![CDATA[cd]]></category><category><![CDATA[deployment]]></category><category><![CDATA[pypi]]></category><category><![CDATA[poetry]]></category><category><![CDATA[tutorial]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Как проводить нагрузочное тестирование на Python]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1028950/</guid>
      <link>https://habr.com/ru/articles/1028950/?utm_campaign=1028950&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/a89/30a/21b/a8930a21b59b28435641404735601057.jpg" /><p>Помните момент, когда сервис работал нормально, но&nbsp;после рассылки, рекламной кампании или&nbsp;наплыва пользователей начал тормозить? </p><p>В&nbsp;такие секунды и выясняется, что&nbsp;без&nbsp;нагрузочного тестирования команда на&nbsp;самом деле не&nbsp;знает, где у&nbsp;системы потолок, как&nbsp;проседает производительность и в&nbsp;какой точке критично растёт время отклика. Хорошо настроенное нагрузочное тестирование на&nbsp;Python помогает опираться на&nbsp;цифры: сколько запросов выдерживает API, как&nbsp;ведут себя ключевые бизнес‑сценарии и когда инфраструктура начинает деградировать.</p> <a href="https://habr.com/ru/articles/1028950/?utm_campaign=1028950&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Tue, 28 Apr 2026 08:34:31 GMT</pubDate>
      <dc:creator><![CDATA[sergodeem]]></dc:creator>
      
      <category><![CDATA[нагрузочное тестирование]]></category><category><![CDATA[Python]]></category><category><![CDATA[Locust]]></category><category><![CDATA[производительность]]></category><category><![CDATA[метрики]]></category><category><![CDATA[RPS]]></category><category><![CDATA[время отклика]]></category><category><![CDATA[тестирование стабильности]]></category><category><![CDATA[HTTP-запросы]]></category><category><![CDATA[сценарии нагрузки]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Франкенштейн на 30 ГБ RAM: Как мы пересадили мозг Gemma в скелет DeepSeek и сломали Transformers]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1028910/</guid>
      <link>https://habr.com/ru/articles/1028910/?utm_campaign=1028910&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/331/a57/6e9/331a576e94621c7818617fda78f790d8.jpg" /><p>Операционная «Ghetto MLOps»: пересадка 31B‑мозга Gemma в&nbsp;MoE‑экзоскелет DeepSeek. Без&nbsp;наркоза и дообучения. </p><p><em>Дисклеймер: Эта статья не о том, как сделать убийцу ChatGPT бесплатно. Она о том, как глубоко можно залезть под капот PyTorch и Transformers, и как заставить работать вместе вещи, которые физически не должны работать. Слабонервным математикам читать с осторожностью.</em></p><p>У нас было две бесплатные видеокарты T4 в Kaggle, 30 ГБ оперативной памяти и безумная идея: что будет, если взять веса классической модели (Gemma-4-31B) и хирургическим путем, без всякого дообучения, вшить их в MoE-архитектуру (DeepSeek-V4)?</p><p>В академической среде вам скажут, что это невозможно: разные размерности, несовместимые слои нормализации, разные принципы роутинга токенов. Но в парадигме&nbsp;<strong>Ghetto MLOps</strong>&nbsp;нет слова «невозможно». Есть только вопрос:&nbsp;<em>сколько костылей потребуется, чтобы это скомпилировалось?</em></p> <a href="https://habr.com/ru/articles/1028910/?utm_campaign=1028910&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Tue, 28 Apr 2026 07:11:20 GMT</pubDate>
      <dc:creator><![CDATA[Livadies]]></dc:creator>
      
      <category><![CDATA[llm]]></category><category><![CDATA[deepseek]]></category><category><![CDATA[gemma]]></category><category><![CDATA[transformers]]></category><category><![CDATA[huggingface]]></category><category><![CDATA[pytorch]]></category><category><![CDATA[monkey patching]]></category><category><![CDATA[moe]]></category><category><![CDATA[kaggle]]></category><category><![CDATA[ghetto mlops]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Matplotlib для самых маленьких: от пустого окна до красивого графика]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1028868/</guid>
      <link>https://habr.com/ru/articles/1028868/?utm_campaign=1028868&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/919/a59/aac/919a59aacc7939de53a89e8d7b8f67ac.jpg" /><p>Каждый, кто начинал визуализировать данные на Python, сталкивался с этим: берешь кусок кода со StackOverflow, пытаешься подвинуть легенду или добавить вторую ось, и внезапно весь график ломается. А главное — почему одни пишут plt.plot(), а другие ax.plot()? Какой синтаксис правильный?</p><p>В этом туториале мы не просто нарисуем пару линий. Мы заглянем под капот Matplotlib и разберем «анатомию» графиков на простых примерах. Вы поймете разницу между процедурным и объектно-ориентированным подходом, научитесь кастомизировать основные типы визуализаций и навсегда избавитесь от ошибки «белого квадрата» при сохранении файлов.</p> <a href="https://habr.com/ru/articles/1028868/?utm_campaign=1028868&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Tue, 28 Apr 2026 05:55:38 GMT</pubDate>
      <dc:creator><![CDATA[enamored_poc]]></dc:creator>
      
      <category><![CDATA[matplotlib]]></category><category><![CDATA[python]]></category><category><![CDATA[python3]]></category><category><![CDATA[python для начинающих]]></category><category><![CDATA[python 3]]></category><category><![CDATA[визуализация]]></category><category><![CDATA[графики]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Я сделал Телеграм бота для Evernote, о котором немного мечтал годами]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1028850/</guid>
      <link>https://habr.com/ru/articles/1028850/?utm_campaign=1028850&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/c03/e18/341/c03e1834191af0e036706937449ff9eb.webp" /><p>Прывітаначкі, похоже с&nbsp;одной стороны сегодня программистов нужно меньше чем раньше, с&nbsp;другой стороны&nbsp;— благодаря LLM действительно можно делать задачи на&nbsp;порядок&nbsp;быстрее. Предполагаю, что&nbsp;в&nbsp;ручную этого бота я&nbsp;бы делал месяц, через Codex gpt-5.5&nbsp;xhigh&nbsp;— часа три.</p><p>В&nbsp;Evernote у&nbsp;меня записано много идей. Хорошо&nbsp;бы то, хорошо&nbsp;бы это. И таки некоторый прогресс в&nbsp;их реализации есть. И вот недавно&nbsp;— открываю официальное приложение <a href="https://evernote.com/" rel="noopener noreferrer nofollow">Evernote</a> на&nbsp;iPhone, а&nbsp;заметки не&nbsp;загружаются. У&nbsp;меня самый дорогой премиум аккаунт. Вот так стало понятно&nbsp;— надо делать.</p><p>Про&nbsp;другие неофициальные клиенты:</p><p>Я мантейнер <a href="https://github.com/vitaly-zdanevich/geeknote" rel="noopener noreferrer nofollow">Geeknote</a>&nbsp;— неофициальный CLI на&nbsp;Питоне, он внутри моего бота.</p><p><a href="https://github.com/robert7/nixnote2" rel="noopener noreferrer nofollow">NixNote</a> на&nbsp;C++</p><p><a href="https://github.com/TcM1911/clinote" rel="noopener noreferrer nofollow">CliNote</a> на&nbsp;Go&nbsp;— недавно заархивирован&nbsp;— feel free to форкнуть и починить.</p><p>И вот теперь я сделал Телеграм бота <a href="https://gitlab.com/vitaly-zdanevich/bot_telegram_evernote" rel="noopener noreferrer nofollow">https://gitlab.com/vitaly‑zdanevich/bot_telegram_evernote</a></p><p>На&nbsp;Питоне&nbsp;— хотя я предпочитаю Go&nbsp;— но&nbsp;Geeknote зависимость на&nbsp;нём, так что&nbsp;для&nbsp;единообразия.</p> <a href="https://habr.com/ru/articles/1028850/?utm_campaign=1028850&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Tue, 28 Apr 2026 03:03:19 GMT</pubDate>
      <dc:creator><![CDATA[zdanevich-vitaly]]></dc:creator>
      
      <category><![CDATA[evernote]]></category><category><![CDATA[geeknote]]></category><category><![CDATA[telegrambot]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Высокоэнтропийный вайбкодинг]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1028834/</guid>
      <link>https://habr.com/ru/articles/1028834/?utm_campaign=1028834&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/9a7/44a/6a4/9a744a6a41a6405f2d0af5e4349c9cc7.jpeg" /><p>Генератор картинок видит "высокоэнтропийный вайбкодинг" как-то так. Но имеется более практическое применение.  </p> <a href="https://habr.com/ru/articles/1028834/?utm_campaign=1028834&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">&gt;&gt;&gt;&gt;ЧИТАТЬ</a>]]></description>
      
      <pubDate>Mon, 27 Apr 2026 22:21:08 GMT</pubDate>
      <dc:creator><![CDATA[TimurZhoraev]]></dc:creator>
      
      <category><![CDATA[энтропия текста]]></category><category><![CDATA[вайбкодинг]]></category><category><![CDATA[большие языковые модели]]></category><category><![CDATA[векторизация текста]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[At-least-once. Это не баг провайдера. Это ваша архитектурная проблема]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1028708/</guid>
      <link>https://habr.com/ru/articles/1028708/?utm_campaign=1028708&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/3d5/f5c/934/3d5f5c934f989ba5af8f0e5cd733ac1b.jpg" /><p>Думал, зайду в крипту и буду просто дёргать API блокчейна. Не вышло.</p><p>Захожу в проект. Стек: FastAPI, PostgreSQL, Redis как Celery broker, Celery workers, Docker, Web3. Стартап на хайпе, деньги реальные, архитектура собрана на коленке. Смотрю на архитектуру платёжного процессинга и первая мысль: ребята, вы серьёзно? Финансовые операции с реальными деньгами, без idempotency вообще, Redis как брокер без persistence, Web3.py синхронные вызовы внутри Celery тасков.</p><p>Разговор был короткий: задача такая, чини что есть. Сроки горели.</p> <a href="https://habr.com/ru/articles/1028708/?utm_campaign=1028708&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Mon, 27 Apr 2026 15:55:21 GMT</pubDate>
      <dc:creator><![CDATA[wicsion]]></dc:creator>
      
      <category><![CDATA[idempotency]]></category><category><![CDATA[PostgreSQL]]></category><category><![CDATA[Celery]]></category><category><![CDATA[FastAPI]]></category><category><![CDATA[Redis]]></category><category><![CDATA[at-least-once]]></category><category><![CDATA[webhook]]></category><category><![CDATA[distributed systems]]></category><category><![CDATA[финтех]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Android, iOS и немного Python: подходит ли Kivy для реальных кроссплатформенных задач?]]></title>
      <guid isPermaLink="true">https://habr.com/ru/companies/selectel/articles/1028464/</guid>
      <link>https://habr.com/ru/companies/selectel/articles/1028464/?utm_campaign=1028464&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/3f2/51a/19c/3f251a19c1c571c5c84b371ce80da93d.jpeg" /><p>Привет, меня зовут Саша, я ведущий специалист технической поддержки <a href="https://selectel.ru/services/is/?utm_source=habr.com&amp;utm_medium=referral&amp;utm_campaign=cserveses_article_kivy_270426_content">по услугам ИБ</a>. Однажды я решил, что мне обязательно нужен свой пет-проект, ну или как минимум какое-то хобби, которым можно заниматься в свободное время.&nbsp;</p><p>Первым делом на ум, конечно же, пришло программирование. Создать небольшое приложение «для себя» можно не погружаясь в тонкости работы языков и фреймворков, а для старта – это именно то, что нужно.&nbsp;</p><p>В своей работе я часто использую Python, однако код, который я на нем пишу, предназначен для автоматизации задач по обработке данных, запускается в терминале и не предусматривает прямое взаимодействие с пользователем через интерфейс. Полноценному приложению необходим понятный интерфейс, а для его создания нужны дополнительные инструменты.&nbsp;</p><p>В этой статье я хочу познакомить вас с Python-фреймворком, который, на первый взгляд, может показаться достаточно специфичным, но притом отлично подойдет новичкам и любителям, делающим первые шаги в сфере разработки приложений.</p><p>&nbsp;Давайте вместе разберемся — что же такое Kivy?</p> <a href="https://habr.com/ru/articles/1028464/?utm_campaign=1028464&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Mon, 27 Apr 2026 12:00:59 GMT</pubDate>
      <dc:creator><![CDATA[hdgtail (Selectel)]]></dc:creator>
      
      <category><![CDATA[python]]></category><category><![CDATA[selectel]]></category><category><![CDATA[kivy]]></category><category><![CDATA[kivymd]]></category><category><![CDATA[kivy framework]]></category><category><![CDATA[фреймфорк]]></category><category><![CDATA[программирование]]></category><category><![CDATA[приложение]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Гринд ликвидности с помощью ИИ]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1028592/</guid>
      <link>https://habr.com/ru/articles/1028592/?utm_campaign=1028592&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/7d3/a34/82d/7d3a3482d0559c7fae8783fe9b579f02.jpg" /><p><strong>🔪 Гринд ликвидности с помощью ИИ</strong></p><p>Телеграм полон каналов, публикующих торговые рекомендации с  указанием цены входа в покупку или продажу биткоина. Прежде чем следовать любому из них, имеет смысл протестировать их на исторических данных.</p><p><strong>По другую сторону клавиатуры робот злоумышленник</strong></p> <a href="https://habr.com/ru/articles/1028592/?utm_campaign=1028592&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Mon, 27 Apr 2026 11:48:24 GMT</pubDate>
      <dc:creator><![CDATA[tripolskypetr]]></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[мосбиржа]]></category><category><![CDATA[python]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[С чего начинается Родина для ИИ? Мы строим российскую модель искусственного интеллекта без трансформера]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1028548/</guid>
      <link>https://habr.com/ru/articles/1028548/?utm_campaign=1028548&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/331/e39/cbe/331e39cbe314674fb6a245d19875e1fd.png" /><p>С чего начинается Родина для искусственного интеллекта? С датасета на русском языке? С гигантских кластеров H100, закупленных по параллельному импорту? С вывески корпорации на фасаде модели, архитектуру которой придумали в Google? Родина начинается с отказа от вероятностей. С собственных чертежей. С опоры на национальную научную школу.</p> <a href="https://habr.com/ru/articles/1028548/?utm_campaign=1028548&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Mon, 27 Apr 2026 10:52:49 GMT</pubDate>
      <dc:creator><![CDATA[linabesson]]></dc:creator>
      
      <category><![CDATA[суверенитет]]></category><category><![CDATA[россия]]></category><category><![CDATA[ai]]></category><category><![CDATA[искусственный интеллект]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Пишем быстрые UI-автотесты без флаков, стендов и боли: изоляционный подход в CI/CD]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/982296/</guid>
      <link>https://habr.com/ru/articles/982296/?utm_campaign=982296&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/bd4/9a5/ad9/bd49a5ad91e755b43aab2bd5b6c9a2de.png" /><p>Большинство UI-тестов флакают, медленно работают и в итоге отключаются в CI. Показываю альтернативу — изоляционные UI-тесты без стендов, таймингов и боли.</p> <a href="https://habr.com/ru/articles/982296/?utm_campaign=982296&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Mon, 27 Apr 2026 06:35:48 GMT</pubDate>
      <dc:creator><![CDATA[sound_right]]></dc:creator>
      
      <category><![CDATA[python]]></category><category><![CDATA[ui]]></category><category><![CDATA[qa]]></category><category><![CDATA[qa automation]]></category><category><![CDATA[автотесты]]></category><category><![CDATA[docker]]></category><category><![CDATA[cicd]]></category><category><![CDATA[mock]]></category><category><![CDATA[моки]]></category><category><![CDATA[мокирование]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Правильная агентская архитектура в 2026 г. Часть 1. Долговременное состояние (durable state): ход, шаг, событие]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1028290/</guid>
      <link>https://habr.com/ru/articles/1028290/?utm_campaign=1028290&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/a3b/b9b/637/a3bb9b637cccb905f94385014d7dac48.png" /><p><em>Практическое пособие по&nbsp;устройству production‑ready агента. </em></p><p>Поскольку последнее время я плотно занимаюсь разработкой ии‑агента, и, по&nbsp;прогнозам директора, должен скоро все сдать (лол), то я решил описать <strong>в&nbsp;первую очередь для&nbsp;себя</strong> кое‑какие моменты, которые стоит учесть при&nbsp;разработке агентской системы в 2026&nbsp;году. Я планирую серию статей на&nbsp;основании своего опыта. Не&nbsp;судите строго, на&nbsp;платных курсах расскажут гораздо лучше. Накидать в&nbsp;комменты приветствуется. Перевод терминологии вольный.</p><p>Сейчас мне кажется, что&nbsp;весь софт, который последнее время делается&nbsp;— это один сплошной ии‑агент, который потенциально должен уметь всё на&nbsp;свете. При&nbsp;этом пользователи в 2026&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/1028290/?utm_campaign=1028290&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Mon, 27 Apr 2026 06:09:27 GMT</pubDate>
      <dc:creator><![CDATA[kobubu]]></dc:creator>
      
      <category><![CDATA[ml]]></category><category><![CDATA[ai]]></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/articles/1028300/</guid>
      <link>https://habr.com/ru/articles/1028300/?utm_campaign=1028300&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/14d/5ca/1c1/14d5ca1c11e349beebb8e587ef3b6faa.jpeg" /><p>Это часть 2. <a href="https://habr.com/ru/articles/1026078/" rel="noopener noreferrer nofollow">Первую часть смотреть по ссылке</a>.</p><p>Данная статья является второй из цикла по описанию особенностей построения приложений с использованием идей, описанных в книге «Искусство неизменяемой архитектуры: теория и практика управления данными в распределенных системах».</p><p>Описание создаваемого ТЕСТОВОГО / ТРЕНИРОВОЧНОГО приложения и базовые сокращения можно найти в начале <a href="https://habr.com/ru/articles/1026078/" rel="noopener noreferrer nofollow">первой части</a>.</p><p>В рамках данной статьи будет описана задача реализации аутентификации внешних клиентов/сервисов с помощью сертификатов и идей «неизменяемой архитектуры».</p><p>Что такое аутентификация и ее отличие от авторизации можно уточнить по этой <a href="https://habr.com/ru/articles/720842/" rel="noopener noreferrer nofollow">ссылке</a>.</p> <a href="https://habr.com/ru/articles/1028300/?utm_campaign=1028300&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Mon, 27 Apr 2026 01:31:55 GMT</pubDate>
      <dc:creator><![CDATA[VOrlyanskiy]]></dc:creator>
      
      <category><![CDATA[неизменяемая архиектура]]></category><category><![CDATA[сертификаты]]></category><category><![CDATA[сертификаты x.509]]></category><category><![CDATA[kotlin]]></category><category><![CDATA[python]]></category><category><![CDATA[rest]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Проектирование на основе абстрактного синтаксического дерева]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1028268/</guid>
      <link>https://habr.com/ru/articles/1028268/?utm_campaign=1028268&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/156/9f1/2c8/1569f12c81531e9a55e990827f0612cc.png" /><p>Представлен образ проекта, направленного на&nbsp;организацию проектирования программного обеспечения с&nbsp;использованием абстрактного синтаксического дерева и виртуальной машины на&nbsp;его основе с&nbsp;элементами искусственного интеллекта. </p> <a href="https://habr.com/ru/articles/1028268/?utm_campaign=1028268&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Редактор АСД</a>]]></description>
      
      <pubDate>Sun, 26 Apr 2026 21:04:44 GMT</pubDate>
      <dc:creator><![CDATA[TimurZhoraev]]></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>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Перенос данных из отчетов 1С в PostgreSQL в два клика]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1028016/</guid>
      <link>https://habr.com/ru/articles/1028016/?utm_campaign=1028016&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/e9b/419/85c/e9b41985cc466edd96dc9842ca828882.jpg" /><p>Все началось с&nbsp;того, что&nbsp;мне поставили задачу: «У менеджеров есть большой телевизор. Сделай так чтобы у&nbsp;них там крутились красивые циферки и графики с&nbsp;результатами продаж». </p> <a href="https://habr.com/ru/articles/1028016/?utm_campaign=1028016&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Sun, 26 Apr 2026 07:45:34 GMT</pubDate>
      <dc:creator><![CDATA[glass777]]></dc:creator>
      
      <category><![CDATA[postgresql]]></category><category><![CDATA[postgres]]></category><category><![CDATA[superset]]></category><category><![CDATA[apache]]></category><category><![CDATA[python]]></category><category><![CDATA[1c]]></category><category><![CDATA[excel]]></category><category><![CDATA[данные]]></category><category><![CDATA[перенос]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[От каши к структуре: гибридная AI‑система для обработки свободного текста]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1027724/</guid>
      <link>https://habr.com/ru/articles/1027724/?utm_campaign=1027724&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/9c7/991/18d/9c799118dc07dde609517a96e93ed90e.jpg" /><p><em>Как&nbsp;превратить десятки неструктурированных описаний участников сообщества в&nbsp;систему поиска</em></p><p>«Занимаюсь бэкендом лет 7, Go и Python, немного ML»&nbsp;— попробуйте найти среди двухсот таких описаний нужного человека. Руками&nbsp;— часы. Я автоматизировал это через гибрид LLM + детерминированного кода, и отловил все возможные проблемы. <br><br>Рассказываю про&nbsp;архитектуру, промпты и решения.<br><br>*<em> На&nbsp;обложке&nbsp;— Архимболдо «Библиотекарь» (1566): из&nbsp;разрозненных книг складывается цельный образ. Как&nbsp;и профиль участника в&nbsp;системе </em> </p> <a href="https://habr.com/ru/articles/1027724/?utm_campaign=1027724&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Sat, 25 Apr 2026 09:53:31 GMT</pubDate>
      <dc:creator><![CDATA[andrey_chuyan]]></dc:creator>
      
      <category><![CDATA[LLM]]></category><category><![CDATA[структурирование данных]]></category><category><![CDATA[гибридная архитектура]]></category><category><![CDATA[нормализация]]></category><category><![CDATA[Python]]></category><category><![CDATA[Qwen]]></category><category><![CDATA[YAML]]></category><category><![CDATA[поиск по профилям]]></category><category><![CDATA[нетворкинг]]></category><category><![CDATA[обработка естественного языка]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[От атомного ядра до Ланиакеи. И немного спектрального]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1027750/</guid>
      <link>https://habr.com/ru/articles/1027750/?utm_campaign=1027750&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/574/172/511/574172511fb30a7fa296bca3cc269091.png" /><p>Мы покажем вам красоту Вселенной. От кварковой плазмы до сверхскопления Ланиакеи, на фоне которого наш дом, галактика Млечный путь кажется песчинкой. Пройдем от атомов и планет через слияния чёрных дыр и галактик до Космической Паутины и заглянем в далёкое будущее, увидев звёзды- чёрные карлики.</p> <a href="https://habr.com/ru/articles/1027750/?utm_campaign=1027750&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Sat, 25 Apr 2026 03:43:21 GMT</pubDate>
      <dc:creator><![CDATA[Babai25]]></dc:creator>
      
      <category><![CDATA[безумный ученый]]></category><category><![CDATA[визуализация данных]]></category><category><![CDATA[космология]]></category><category><![CDATA[diy]]></category><category><![CDATA[астрофизика]]></category><category><![CDATA[python3]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Все об устройстве WSPR с примерами на Python (часть 2)]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1027722/</guid>
      <link>https://habr.com/ru/articles/1027722/?utm_campaign=1027722&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/3c9/124/1ec/3c91241ec4e70a77362d143abc714a5d.png" /><p>WSPR — цифровой протокол, разработанный Джо Тейлором (K1JT) в 2008-2009 годах, с целью исследования распространения радиосигналов от коротковолновых передатчиков малой и сверхмалой мощности. В <a href="https://habr.com/en/articles/1017728/" rel="noopener noreferrer nofollow">предыдущей части</a> были рассмотрены механизмы помехозащищенного кодирования данных и формирования сигнала для отправки его в эфир. В этой части статьи рассматриваются механизмы детектирования и декодирования принимаемого из сигнала.</p><p>Статья может быть интересна радиолюбителям, как знакомым, так и не знакомым с WSPR, а также тем, кто интересуется темой цифровой обработки сигналов и хочет понять устройство этого протокола.</p> <a href="https://habr.com/ru/articles/1027722/?utm_campaign=1027722&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Fri, 24 Apr 2026 20:05:28 GMT</pubDate>
      <dc:creator><![CDATA[bashkirtsevich]]></dc:creator>
      
      <category><![CDATA[ham]]></category><category><![CDATA[hamradio]]></category><category><![CDATA[python]]></category><category><![CDATA[numpy]]></category><category><![CDATA[fec]]></category><category><![CDATA[fsk]]></category><category><![CDATA[convolutional encoding]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Воскрешение NumLockCalc после 17 лет забвения]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1027720/</guid>
      <link>https://habr.com/ru/articles/1027720/?utm_campaign=1027720&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/6f3/ba4/05e/6f3ba405e33f03b95d63d1eed8491e62.jpg" /><p>Эта статья про одну клавишу и рефлекс длиной в двадцать с лишним лет.</p><p>С 2003-го у меня привычка: палец сам идёт на <strong>NumLock</strong> → появляется калькулятор. Пользовался каждый день, тысячи нажатий. Потом пришли Win11 и корпоративный запрет *.exe – клавиша опустела, а палец всё равно идёт.</p><p>В какой-то момент надоело, сел и сделал скрипт. Код писала нейросеть, а я три ночи подряд тыкал её носом в то, что не работает. По дороге узнал много нового про внутренности калькулятора Win11, перехват NumLock и прозрачность чужих окон.</p><p>Дальше по классике: одна фича потянула остальные. В трее теперь живут ещё <strong>единицы измерения, заметки для Obsidian, учёт времени и скриншоты</strong>. <strong>CalcNumLock</strong>, один PYW на 150 kB или .exe на 50 МБ, исходник на GitHub.</p> <a href="https://habr.com/ru/articles/1027720/?utm_campaign=1027720&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Бесплатно | Без рекламы | Без интернета .&rarr;</a>]]></description>
      
      <pubDate>Fri, 24 Apr 2026 19:56:09 GMT</pubDate>
      <dc:creator><![CDATA[Akudlay_ru]]></dc:creator>
      
      <category><![CDATA[калькулятор]]></category><category><![CDATA[горячие клавиши]]></category><category><![CDATA[автоматизация]]></category><category><![CDATA[Python]]></category><category><![CDATA[PyQt5]]></category><category><![CDATA[desktop-утилиты]]></category><category><![CDATA[перехват клавиш]]></category><category><![CDATA[NumLock]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Model Context Protocol (MCP): как ИИ-агенты «разговаривают» с внешним миром]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1027508/</guid>
      <link>https://habr.com/ru/articles/1027508/?utm_campaign=1027508&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/3a5/e29/176/3a5e2917618a90636e5e445c7a58b3fe.png" /><p>Если вы читали или смотрели видео про MCP, то наверняка сталкивались с таким комментарием: </p><p><em>«Спасибо, ещё одна статья, из которой я ничего не понял».</em></p><p>Аналогии и пояснения вроде <em>«MCP — это как USB Type-C»</em> или <em>«MCP — это Tools, Resources и Prompts»</em> лично мне не добавляли понимания. Поэтому я решил подробно изучить данную технологию и написать статью, где будет <strong>понятно, достоверно и применимо</strong>. Без магии. Попутно я прошёл обучение у Anthropic (ссылки дам, сертификаты выдают, курсы бесплатные, cправда на английском). </p><p>Я ставил себе цель ответить на вопросы:</p><p>Что такое MCP и как он связан с ИИ?</p><p>Как чат GPT (большая языковая модель, LLM) может вызвать какой-то инструмент (tool)? </p><p>Модель же <em>языковая</em>, т.е. она умеет говорить, рассуждать, отвечать, но никак не <em>делать</em>. <strong>Как LLM может читать файлы, вызывать программы, открывать интернет сайты, вызывать внешние API?</strong></p><p>Для программистов, кто в теме и уже использовал MCP-сервера, т.е. знает <strong>серверные примитивы: <em>tools, resources и prompts</em></strong>, возможно будут интересны <strong>клиентские примитивы: <em>sampling, roots, elicitation</em></strong>. Они звучат загадочно и трудно переводимы. И чтобы вас заинтриговать: MCP-сервер благодаря <em>sampling </em>может «сжигать» <strong>ваши </strong>LLM-токены для выполнения своих серверных задач. А благодаря <em>roots </em>получать доступ к файлам на вашем компьютере.</p> <a href="https://habr.com/ru/articles/1027508/?utm_campaign=1027508&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Итак, поехали.</a>]]></description>
      
      <pubDate>Fri, 24 Apr 2026 15:55:06 GMT</pubDate>
      <dc:creator><![CDATA[Dmitry_Barovik]]></dc:creator>
      
      <category><![CDATA[mcp]]></category><category><![CDATA[model context protocol]]></category><category><![CDATA[llm]]></category><category><![CDATA[ии-агенты]]></category><category><![CDATA[ml]]></category><category><![CDATA[ai]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Как в СНГ выбирают людей для AI-внедрения — и почему это страшно. Кейс из жизни]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1027410/</guid>
      <link>https://habr.com/ru/articles/1027410/?utm_campaign=1027410&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/b5a/a8b/f48/b5aa8bf4895a99c885cf537d410da187.png" /><p>Реальная история: компания внедряет AI, но оценивать экспертов назначила DevOps-инженера на n8n. Это не исключение — это норма для СНГ-рынка. И вот почему это проблема.</p> <a href="https://habr.com/ru/articles/1027410/?utm_campaign=1027410&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Fri, 24 Apr 2026 09:05:52 GMT</pubDate>
      <dc:creator><![CDATA[yakvenalex]]></dc:creator>
      
      <category><![CDATA[искусственный интеллект]]></category><category><![CDATA[langgraph]]></category><category><![CDATA[vllm]]></category><category><![CDATA[llama.cpp]]></category><category><![CDATA[python]]></category><category><![CDATA[it-рынок снг]]></category><category><![CDATA[it-рынок]]></category><category><![CDATA[it-рынок россии]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Архитектура тестового фреймворка]]></title>
      <guid isPermaLink="true">https://habr.com/ru/companies/otus/articles/1026132/</guid>
      <link>https://habr.com/ru/companies/otus/articles/1026132/?utm_campaign=1026132&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/e86/fbe/543/e86fbe543729ce22198cd10de8c0f356.png" /><p>Красные тесты на CI, зелёные локально,&nbsp;<code>time.sleep</code>&nbsp;в каждом втором тесте, а после смены селектора всё равно всё падает? Знакомо. Это не судьба, а отсутствие архитектуры. Разбираем, как превратить хаос из автотестов в промышленный фреймворк: слои, паттерны (POM, Builder, DI), анти-паттерны и работу с окружениями. С примерами на Python.  </p> <a href="https://habr.com/ru/articles/1026132/?utm_campaign=1026132&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Fri, 24 Apr 2026 08:50:24 GMT</pubDate>
      <dc:creator><![CDATA[Andrey_Biryukov (OTUS)]]></dc:creator>
      
      <category><![CDATA[архитектура тестового фреймворка]]></category><category><![CDATA[автотесты Python]]></category><category><![CDATA[Page Object Model]]></category><category><![CDATA[pytest]]></category><category><![CDATA[антипаттерны тестирования]]></category><category><![CDATA[flaky tests]]></category><category><![CDATA[WebDriver ожидания]]></category><category><![CDATA[тестовые данные изоляция]]></category><category><![CDATA[стабильность автотестов]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Nuitka 4.0: как я разогнал свой Python-скрипт на 335% и почему JIT-будущее уже на пороге]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1027354/</guid>
      <link>https://habr.com/ru/articles/1027354/?utm_campaign=1027354&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/a80/b78/993/a80b78993941fd55a115fe18d95d67cb.png" /><p>Представьте себе: вы запускаете свой старый добрый Python-скрипт, он привычно задумывается на пару секунд, а потом начинает работать. А теперь представьте, что тот же самый скрипт без единого изменения в коде — просто после прогона через одну утилиту — стартует почти мгновенно и работает втрое быстрее. Никакой магии, просто вышел Nuitka 4.0.</p><p>22 апреля 2026 года проект, который когда-то начинался как нишевый компилятор, дорос до мажорной версии 4.0. И это не просто «пофиксили баги, добавили пару флагов» — это реально меняет правила игры для тех, кто пишет на Python и хочет, чтобы код летал, а не ползал. По данным официальных тестов, скомпилированные скрипты показывают повышение производительности на 335% в <a href="https://www.opennet.ru/opennews/art.shtml?num=65271" rel="noopener noreferrer nofollow">pystone-бенчмарке</a> по сравнению с CPython. Можете представить, что ваш веб-парсер или ML-пайплайн ускоряется втрое без переписывания на Rust.</p><p>Если совсем просто: PyInstaller просто пакует ваш скрипт вместе с интерпретатором в один файл — по сути, это архив с «батарейками». А Nuitka переписывает весь Python-код на чистый C и компилирует его в настоящий исполняемый файл. Никакой интерпретации на лету — только скомпилированный бинарник, который в теории может обогнать даже PyPy. И теперь, с версией 4.0, эта теория стала куда ближе к практике. «Раньше я думал, что ускорение от Nuitka довольно скромное... но с версией 4.0 вижу реальный прогресс», — примерно так звучат комментарии на <a href="https://news.ycombinator.com/item?id=16979664#16979664" rel="noopener noreferrer nofollow">Hacker News</a>, и я с ними согласен.</p> <a href="https://habr.com/ru/articles/1027354/?utm_campaign=1027354&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Fri, 24 Apr 2026 07:30:45 GMT</pubDate>
      <dc:creator><![CDATA[kardanShurup]]></dc:creator>
      
      <category><![CDATA[python]]></category><category><![CDATA[cpython]]></category><category><![CDATA[nuitka]]></category><category><![CDATA[nuitka 4.0]]></category><category><![CDATA[pyinstaller]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Как мы заставили vLLM «лениться» под нагрузкой и спасли Time-to-First-Token]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1027288/</guid>
      <link>https://habr.com/ru/articles/1027288/?utm_campaign=1027288&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<p><strong>Теги:</strong>&nbsp;Инфраструктура, LLM, Python, Прокси-серверы, Оптимизация</p><p>Когда GPU-кластер с vLLM задыхается от пиковых нагрузок, классический Rate Limiting и блокировка пользователей — это худший UX из возможных. А что если не отбрасывать запросы, а заставить саму языковую модель «сжать» свои промпты и стать предельно лаконичной, выдавая только самую суть? В этой статье мы разбираем архитектуру LazyGate — open-source шлюза, который в фоновом режиме читает метрики видеокарты и с помощью системных промптов динамически регулирует «болтливость» нейросети, кардинально спасая метрику Time-to-First-Token.</p> <a href="https://habr.com/ru/articles/1027288/?utm_campaign=1027288&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Fri, 24 Apr 2026 04:19:58 GMT</pubDate>
      <dc:creator><![CDATA[Uladzislau_by]]></dc:creator>
      
      <category><![CDATA[Инфраструктура]]></category><category><![CDATA[LLM]]></category><category><![CDATA[Python]]></category><category><![CDATA[Прокси-серверы]]></category><category><![CDATA[Оптимизация]]></category>
    </item>
  

  

  

	
  

  

  

      

      

      

    
  </channel>
</rss>
