<?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, 23 Apr 2026 21:28:14 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[Оформление сборок в Revit. Вращение видов, начало сборки]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1027214/</guid>
      <link>https://habr.com/ru/articles/1027214/?utm_campaign=1027214&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/525/5c2/120/5255c21205a6dfe768cfe38900072d71.png" /><p>Начало сборки&nbsp;в Revit при ее создании всегда ориентировано в направлении глобальных осей координат, несмотря на то, как ориентированы ее компоненты. В этой статье рассмотрим, что такое начало сборки и как оно влияет на положение видов, как стандартизировать и ускорить оформления сборок путем поворота их начала вручную и средствами Dynamo и IronPython.</p> <a href="https://habr.com/ru/articles/1027214/?utm_campaign=1027214&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Thu, 23 Apr 2026 17:53:01 GMT</pubDate>
      <dc:creator><![CDATA[masha_chukhno]]></dc:creator>
      
      <category><![CDATA[Revit]]></category><category><![CDATA[bim]]></category><category><![CDATA[сборки]]></category><category><![CDATA[dynamo]]></category><category><![CDATA[ironpython]]></category><category><![CDATA[поворот начала]]></category><category><![CDATA[поворот видов]]></category><category><![CDATA[оформление сборок]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Не всё деплоем правится: как мы вынесли интерфейс из кода с помощью Server-Driven UI]]></title>
      <guid isPermaLink="true">https://habr.com/ru/companies/gri/articles/1026592/</guid>
      <link>https://habr.com/ru/companies/gri/articles/1026592/?utm_campaign=1026592&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/e2b/32f/b79/e2b32fb796f549c90112599372814b34.png" /><p>Изменения интерфейса мобильного приложения часто упираются не в сложность реализации, а в скорость релизного цикла: даже простые правки проходят через полный конвейер — разработку, рецензирование, сборку и публикацию. При высокой частоте изменений это увеличивает time-to-market, перегружает команду и делает быстрые итерации по интерфейсу практически невозможными.</p><p>Меня зовут Михаил Рыбочкин, я бэкенд-разработчик в компании GRI. Участвую в разработке и поддержке платформы для крупного ювелирного ритейлера. Я расскажу, как реализован Server-Driven UI для интернет-торговли с более чем 1000 розничных магазинов; как устроено управление конфигурацией интерфейса через Django Admin и как это позволяет менять интерфейс без релизов приложения; какие у этого подхода есть ограничения и какой инцидент произошёл в эксплуатации. Особенность нашего подхода в том, что SDUI одновременно обслуживает и нативные мобильные приложения, и веб на Vue. Один конфиг, один API, две целевых платформы</p> <a href="https://habr.com/ru/articles/1026592/?utm_campaign=1026592&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Thu, 23 Apr 2026 13:10:21 GMT</pubDate>
      <dc:creator><![CDATA[luciandeveloper (GRI)]]></dc:creator>
      
      <category><![CDATA[SDUI]]></category><category><![CDATA[BDUI]]></category><category><![CDATA[веб-разработка]]></category><category><![CDATA[backend]]></category><category><![CDATA[django]]></category><category><![CDATA[server-driven ui]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Даже гениям отказывают]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1027092/</guid>
      <link>https://habr.com/ru/articles/1027092/?utm_campaign=1027092&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/47e/666/828/47e666828838ab97745717e8eb01671e.jpg" /><p>Привет, Хабр.</p><p>Многие до сих пор воспринимают собеседования примерно одинаково. Кажется, что всё решает техническая часть: насколько быстро ты соображаешь, как пишешь код, помнишь ли теорию, можешь ли объяснить сложность алгоритма или нарисовать архитектуру на доске.</p><p>На практике всё часто работает чуть иначе.</p><p>Да, техничка важна. Никто с этим не спорит. Но оффер нередко ломается не на алгоритмах, не на лайвкодинге и даже не на ошибке в каком-нибудь ответе. Очень часто всё решают вопросы, которые на первый взгляд выглядят максимально безобидно. Из серии: “кем вы видите себя через пять лет?”, “что вас мотивирует?”, “почему хотите уйти?” или “какой у вас был самый большой косяк?”.</p><p>И вот именно на них люди регулярно сыпятся.</p><p>Не потому что они глупые. И не потому что не умеют разговаривать. А потому что воспринимают эти вопросы как формальность. Как будто это просто обязательный HR-блок, который надо пережить перед чем-то действительно важным.</p><p>Хотя на деле именно там интервьюер часто и пытается понять главное: как вы мыслите, насколько вы устойчивы, чего хотите от работы и совпадает ли это с реальностью конкретной команды.</p><p>Сразу уточню важный момент. Я не пытаюсь доказать, что такие вопросы идеальны или что именно так и нужно проводить собеседования. У многих к ним вполне обоснованные претензии, и я их понимаю. Но пока рынок продолжает их задавать, полезно хотя бы понимать, что именно через них пытаются считать и почему на seemingly простом ответе иногда тихо умирает оффер.</p><p>Почему вообще такие вопросы так важны</p><p>Потому что технические ответы очень часто показывают только верхний слой.</p><p>Можно хорошо помнить теорию. Можно неплохо выступить на лайвкодинге. Можно уверенно пройти по стеку. Но при этом оставить после себя ощущение, что с человеком дальше будет тяжело: он быстро выгорит, упрётся в потолок роли, не совпадёт по темпу или просто уйдёт через полгода.</p><p>Именно поэтому рынок так любит эти странные вопросы, которые вроде бы не про технологии.</p><p>Они не проверяют знания. Они проверяют совместимость.</p><p>В своем&nbsp;<a href="https://t.me/+2BoktvjAEZcxOGVi" rel="noopener noreferrer nofollow">Telegram-блоге</a>&nbsp;я регулярно пишу про рынок IT, тестирование, автоматизацию и карьеру в индустрии.</p><p>Всегда рад новым читателям!</p> <a href="https://habr.com/ru/articles/1027092/?utm_campaign=1027092&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Thu, 23 Apr 2026 13:07:14 GMT</pubDate>
      <dc:creator><![CDATA[nomanhero]]></dc:creator>
      
      <category><![CDATA[тестирование]]></category><category><![CDATA[автоматизация]]></category><category><![CDATA[автоматизация тестирования]]></category><category><![CDATA[hh.ru]]></category><category><![CDATA[поиск работы в it]]></category><category><![CDATA[поиск работы]]></category><category><![CDATA[карьера]]></category><category><![CDATA[qa]]></category><category><![CDATA[qa automation]]></category><category><![CDATA[qa engineer]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Почему автотесты пропускают изменения в API и как это исправить с Pydantic]]></title>
      <guid isPermaLink="true">https://habr.com/ru/companies/infowatch/articles/1026490/</guid>
      <link>https://habr.com/ru/companies/infowatch/articles/1026490/?utm_campaign=1026490&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<p>Приветствую, Хабр!</p><p>Меня зовут Владислав Тимашенков, я занимаюсь автоматизацией тестирования в ГК Infowatch.</p><p>Наша команда столкнулась с популярными болями автотестов для API:</p><p> - одно изменение в API требует обновления нескольких тестов;<br> - проверка структуры ответа распределена по тестам и не централизована;<br> - валидация вложенных структур и генерируемых полей требует дополнительного кода.</p><p>И мы задались вопросом: какой инструмент для валидации контракта нам подойдёт?</p><p>В этой статье расскажем о нашем переосмыслении подхода к тестированию API с помощью внедрения&nbsp;<strong>Pydantic</strong>.</p> <a href="https://habr.com/ru/articles/1026490/?utm_campaign=1026490&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Thu, 23 Apr 2026 12:34:23 GMT</pubDate>
      <dc:creator><![CDATA[VladislavTimashenkov (InfoWatch)]]></dc:creator>
      
      <category><![CDATA[pydantic]]></category><category><![CDATA[pydantic v2]]></category><category><![CDATA[python]]></category><category><![CDATA[тестирование]]></category><category><![CDATA[api]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Несколько Клодов над одним проектом: locks, handoffs и email 1982 года]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1027064/</guid>
      <link>https://habr.com/ru/articles/1027064/?utm_campaign=1027064&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/e88/1bb/e03/e881bbe03e041041c184c410f68bf294.png" /><p>Я с командой пишу один большой C++ проект. У каждого свой Claude Code, у некоторых по два-три параллельно. Все они правят один и тот же репозиторий в одно и то же время.</p><p>Проблема простая и бесящая: агенты друг о друге не знают. Один рефакторит модуль, а в соседнем чате коллега правит тот же файл. Второй чинит баг, который уже починили два часа назад.</p><p>Я построила им координацию - и по дороге переизобрела обычную почту. Восемьдесят второго года. Адрес получателя, тема для быстрой сортировки, In-Reply-To для цепочек, у каждой сессии свой ящик, broadcast через папку all/.</p><p>Каждый Claude при старте заглядывает в свой ящик и, если есть непрочитанное, докладывает это себе в контекст до первого промпта. Ответ падает в sent отправителю, подтверждение доставки - в квитанциях. Ни брокера, ни опросов, ни централизованного сервиса - только markdown-файлы.</p><p>Сверху ещё два слоя: append-only передача смены между своими сессиями и атомарные файлы-замки с heartbeat’ом на общие ресурсы.</p><p>mclaude, open source, зависимостей в ядре - ноль.</p> <a href="https://habr.com/ru/articles/1027064/?utm_campaign=1027064&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Thu, 23 Apr 2026 12:29:51 GMT</pubDate>
      <dc:creator><![CDATA[Sonia_Black]]></dc:creator>
      
      <category><![CDATA[claude-code]]></category><category><![CDATA[multi-agent]]></category><category><![CDATA[open source]]></category><category><![CDATA[llm]]></category><category><![CDATA[ai-агенты]]></category><category><![CDATA[python]]></category><category><![CDATA[anthropic]]></category><category><![CDATA[distributed systems]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Я хотел оживить голема, но получил галлюцинирующего идиота]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1027038/</guid>
      <link>https://habr.com/ru/articles/1027038/?utm_campaign=1027038&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/f80/56f/fc6/f8056ffc604045c6c7fe01849cac04d7.png" /><p>В игре Warcraft есть такая тварь — железный голем. Здоровенная кукла, слепленная из глины и металла, которую оживляют магическим словом. Тупой, но мощный исполнитель. Сказали бить — бьёт. Сказали охранять — стоит насмерть.</p><p>Я захотел такого же, но в коде.</p><p>Телом пусть будет Telegram-бот. А мозгом — нейросеть. Не просто очередной «чат с ИИ», а настоящий кодинг-агент. Чтобы кидаешь ему проект, а он: «Тут у тебя SQL-инъекция, тут гонка данных, тут ты импорт забыл, и вообще у тебя в зависимостях дыра». Идея казалась простой: берём&nbsp;<code>aiogram</code>, прикручиваем DeepSeek, пишем промпт «ты senior-разработчик, разбери этот код» — и готово.</p><p>Первая версия была готова за вечер.</p><p>Я кинул Голему свой проект. Он задумался на пару секунд и выдал:</p> <a href="https://habr.com/ru/articles/1027038/?utm_campaign=1027038&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Thu, 23 Apr 2026 11:49:40 GMT</pubDate>
      <dc:creator><![CDATA[Web_5]]></dc:creator>
      
      <category><![CDATA[telegrambot]]></category><category><![CDATA[анализ]]></category><category><![CDATA[python]]></category><category><![CDATA[go]]></category><category><![CDATA[ruff]]></category><category><![CDATA[golem]]></category><category><![CDATA[llm-агент]]></category>
    </item>
  

  

  

	
  

  

  

    

  

  

	
  

  
    <item>
      <title><![CDATA[[Перевод] Как дообучать локальные LLM в 2026 году: практическое руководство]]></title>
      <guid isPermaLink="true">https://habr.com/ru/companies/otus/articles/1026700/</guid>
      <link>https://habr.com/ru/companies/otus/articles/1026700/?utm_campaign=1026700&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/12e/86d/017/12e86d01793194f55a0d44191a4e757b.jpg" /><p>В 2026 году дообучение локальных LLM перестало быть задачей «для тех, у кого есть кластер и бюджет». Снижение требований к VRAM, развитие QLoRA и появление инструментов вроде Unsloth сделали возможным запуск полноценного fine-tuning на обычной потребительской видеокарте. Это меняет практику: теперь модель можно адаптировать под свои задачи без облаков и внешних API, контролируя и данные, и поведение.</p><p>В статье разбирается весь процесс — от момента, когда вообще стоит задуматься о дообучении, до подготовки датасета, настройки обучения и оценки результата. Без абстракций и с фокусом на реальных ограничениях: память, время, качество данных и то, как не получить на выходе модель, которая «что-то выучила», но работать с ней невозможно.</p> <a href="https://habr.com/ru/articles/1026700/?utm_campaign=1026700&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Открыть материал</a>]]></description>
      
      <pubDate>Thu, 23 Apr 2026 08:50:28 GMT</pubDate>
      <dc:creator><![CDATA[kmoseenk (OTUS)]]></dc:creator>
      
      <category>LLM</category><category>локальные llm</category><category>дообучение</category><category>fine tuning</category><category>дообучение LLM</category><category>локальные модели</category><category>QLoRA</category><category>RAG</category><category>LoRA</category>
    </item>
  

  

    
    <item>
      <title><![CDATA[Мультиагентный хаос: как мы собрали команду AI-сотрудников, а получили бесконечное совещание ни о чем]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1026856/</guid>
      <link>https://habr.com/ru/articles/1026856/?utm_campaign=1026856&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/599/376/2ca/5993762ca65f6c021e1b4b0c6e7ebb17.png" /><p>В 2026 году каждый второй стартап обещает заменить команду разработчиков роем AI-агентов. Звучит как мечта уставшего тимлида: один агент пишет код, второй ревьюит, третий деплоит, четвертый отвечает на вопросы в Slack, а пятый, наверное, уже сам заказывает пиццу в офис. Никаких больничных, никаких «я не успеваю», только железная продуктивность 24/7.</p><p>Я тоже купился. Взял CrewAI, собрал команду из трёх агентов для анализа конкурентов и генерации отчётов. Демо отработало идеально: агенты обменялись парой сообщений, выдали связный Markdown-файл и даже отправили его в Telegram. «Ну всё, — подумал я, — теперь можно увольнять аналитиков и копирайтеров. Будущее наступило».</p><p>Ровно через четыре часа после запуска на реальной задаче я наблюдал картину, достойную сюрреалистического полотна: пять AI-агентов устроили бесконечный митинг в духе худших корпоративных созвонов. Они перебивали друг друга, уточняли уже уточнённое, ходили по кругу и, кажется, начали обсуждать погоду. Один агент назначил себя лидом и раздавал указания, которые остальные игнорировали. Другой пытался писать в файл, который в этот момент читал третий. Спустя 127 вызовов LLM и сожжённые $4.30 на API-ключах я остановил этот цирк вручную.</p><p>В этой статье я расскажу, почему готовые мультиагентные фреймворки превращают вашу задачу в хаос, как мы построили систему, которая действительно работает, и в каких случаях проще вообще не связываться с мультиагентностью. Спойлер: LLM — не главная проблема. Проблема — в архитектуре оркестрации, которую многие принимают за магию.</p> <a href="https://habr.com/ru/articles/1026856/?utm_campaign=1026856&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Как остановить этот хаос и написать граф</a>]]></description>
      
      <pubDate>Thu, 23 Apr 2026 06:41:47 GMT</pubDate>
      <dc:creator><![CDATA[kardanShurup]]></dc:creator>
      
      <category><![CDATA[мультиагентные системы]]></category><category><![CDATA[crewai]]></category><category><![CDATA[langgraph]]></category><category><![CDATA[autogen]]></category><category><![CDATA[оркестрация агентов]]></category><category><![CDATA[llm]]></category><category><![CDATA[архитектура ai]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Почему Cluely и другие плохо слышат русских айтишников: разбор того, как Whisper ломается и что мы сделали с этим]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1026778/</guid>
      <link>https://habr.com/ru/articles/1026778/?utm_campaign=1026778&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/0a4/bc3/2ce/0a4bc32ce44ba02d24bd57ea7da95373.jpg" /><p>В январе я купил подписки на Cluely, Final Round AI и Sensei. Хотел посмотреть как они справляются с русским айти-собесами, раз уж все три заявляют о поддержке русского. Подключил по очереди к тестовому звонку в Телемосте (сомневаюсь, что платформа имела роль, но все же), прогнал одну и ту же запись: Senior Python backend разработчик, 45 минут, стек FastAPI + PostgreSQL + Kafka + Kubernetes. Обычный русский спикер, если важно - из Москвы, с речью проблем не было, нормальный микрофон</p><p>Все три выдали транскрипт и все три провалились, как неожиданно..</p><p>"Кафка" в половине случаев становилась "как-то" или "кофта". "Кубернетис" превращался в "губер нет тест". "Сабскрайбер патерн" - в "саб скрайп патерн". "Middleware для CSRF" - "мидл-вер для си эс эр эф" - это еще норм</p><p>Проблема не в том, что человек говорил по-русски, и не в том, что Whisper не умеет русский (сноска: хорошо не умеет). Whisper умеет русский нормально, около 9.8% WER на Common Voice. Проблема в другом: русскоязычный айтишник не говорит ни на чистом русском, ни на чистом английском. Он говорит на гибриде: русская грамматика плюс английские термины плюс своеобразное произношение этих терминов плюс местами свой жаргон вроде "гошечки" и "крудошлёпа"</p><p>Этот гибрид ни один из популярных STT не держит. Потому что его в тренировочных данных почти нет</p><p>Разбираю ниже, как устроена эта проблема, что с ней делают конкуренты (почти ничего), и что сделали мы</p> <a href="https://habr.com/ru/articles/1026778/?utm_campaign=1026778&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Wed, 22 Apr 2026 19:18:04 GMT</pubDate>
      <dc:creator><![CDATA[billiedark]]></dc:creator>
      
      <category><![CDATA[Whisper]]></category><category><![CDATA[STT]]></category><category><![CDATA[speech-to-text]]></category><category><![CDATA[fine-tuning]]></category><category><![CDATA[LoRA]]></category><category><![CDATA[ASR]]></category><category><![CDATA[NLP]]></category><category><![CDATA[распознавание речи]]></category><category><![CDATA[русский язык]]></category><category><![CDATA[code-switching]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Костыли телеграма: «печатает...» в избранных и «вы сделали скриншот!» в любом чате]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1026728/</guid>
      <link>https://habr.com/ru/articles/1026728/?utm_campaign=1026728&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/320/d41/195/320d411955e037a50b3fe809761d8588.png" /><p>Почти каждый человек в&nbsp;СНГ пользуется телеграмом, но&nbsp;не&nbsp;каждый задумывается о&nbsp;том, на&nbsp;каких костылях держится его любимая платформа. Всё начинается с «печатает...» в&nbsp;избранном, а&nbsp;заканчивается тем, что&nbsp;форумы&nbsp;—&nbsp;лишь иллюзия интерфейса.</p><p>Давайте&nbsp;же разберёмся, какие костыли есть в&nbsp;телеграме и почему это не&nbsp;всегда плохо.</p> <a href="https://habr.com/ru/articles/1026728/?utm_campaign=1026728&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Wed, 22 Apr 2026 16:42:08 GMT</pubDate>
      <dc:creator><![CDATA[SashaGonch]]></dc:creator>
      
      <category><![CDATA[телеграм]]></category><category><![CDATA[telegram]]></category><category><![CDATA[дуров]]></category><category><![CDATA[костыли]]></category><category><![CDATA[мессенджеры]]></category><category><![CDATA[разработка]]></category><category><![CDATA[реверс-инжиниринг]]></category><category><![CDATA[форумы]]></category><category><![CDATA[api]]></category><category><![CDATA[telethon]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Практическое руководство по Qwen: установка, настройка vLLM и работа через API]]></title>
      <guid isPermaLink="true">https://habr.com/ru/companies/selectel/articles/1026406/</guid>
      <link>https://habr.com/ru/companies/selectel/articles/1026406/?utm_campaign=1026406&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/231/929/72d/23192972d500b48d3c2f132f1082bf84.jpeg" /><p>Разворачивать LLM на своих мощностях часто приходится не из-за любви к self-hosted решениям, а ради контроля над данными и предсказуемого инференса. И обычно этого еще требуют стандарты безопасности или архитектура внутренних инструментов компании.</p><p>В статье покажем, как поднять Qwen <a href="https://selectel.ru/services/cloud/?utm_source=habr.com&amp;utm_medium=referral&amp;utm_campaign=cloud_article_qweninstall_220426_content">на своем облачном сервере</a> через vLLM. На выходе получим стандартный OpenAI-совместимый API с авторизацией по токену и интерфейс Open WebUI для тестов. Детали внутри.</p> <a href="https://habr.com/ru/articles/1026406/?utm_campaign=1026406&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Wed, 22 Apr 2026 12:00:43 GMT</pubDate>
      <dc:creator><![CDATA[natlysky (Selectel)]]></dc:creator>
      
      <category><![CDATA[ai]]></category><category><![CDATA[ml]]></category><category><![CDATA[selectel]]></category><category><![CDATA[qwen]]></category><category><![CDATA[openai api]]></category><category><![CDATA[openai]]></category><category><![CDATA[vllm]]></category><category><![CDATA[llm]]></category><category><![CDATA[self-hosted]]></category><category><![CDATA[inference]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[api2app: Использование совместно с FastAPI]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1025296/</guid>
      <link>https://habr.com/ru/articles/1025296/?utm_campaign=1025296&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/f3b/5c3/f72/f3b5c3f72c13df1101a1d9fc5c7de9d9.png" /><p>Для создания графического интерфейса для приложений на <a href="https://pypi.org/project/fastapi/" rel="noopener noreferrer nofollow">FastAPI</a> часто <strong>Python</strong>-разработчики используют что-то вроде <a href="https://pypi.org/project/gradio/" rel="noopener noreferrer nofollow">gradio </a>или <a href="https://pypi.org/project/streamlit/" rel="noopener noreferrer nofollow">streamlit</a>. В этом уроке я расскажу про ещё одну альтернативу - <a href="https://github.com/andchir/api2app-frontend" rel="noopener noreferrer nofollow">api2app</a>.</p><p>Отличие этой альтернативы в том, что вам не нужно изучать библиотеки и программировать, графический интерфейс для своего приложения можно создать, используя другой интуитивно понятный графический интерфейс. При этом код не будет привязан к какому-то стороннему серверу, вы сможете его скачать и использовать <strong>на своём сервере</strong>. Кроме того, при помощи <strong>api2app</strong> вы можете тестировать свои API.</p> <a href="https://habr.com/ru/articles/1025296/?utm_campaign=1025296&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Wed, 22 Apr 2026 10:59:58 GMT</pubDate>
      <dc:creator><![CDATA[Andchir]]></dc:creator>
      
      <category><![CDATA[api2app]]></category><category><![CDATA[gradio]]></category><category><![CDATA[streamlit]]></category><category><![CDATA[графический интерфейс]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Волков бояться — uplift в прод не катить, или AUF 2.0]]></title>
      <guid isPermaLink="true">https://habr.com/ru/companies/alfa/articles/1024090/</guid>
      <link>https://habr.com/ru/companies/alfa/articles/1024090/?utm_campaign=1024090&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/b82/472/47f/b8247247f0bffbe76c66a0bf03b03df9.png" /><p>Всем привет! Меня зовут Мельников Виктор, middle data scientist в Альфа-Банке в Управлении по разработке инструментов автоматизации моделирования.</p><p>Год назад вышла статья <a href="https://habr.com/ru/companies/alfa/articles/895002/">о первой open source библиотеке Альфа-Банка</a> для автоматического построения uplift-моделей <strong>Automatic Uplift Framework</strong> или же, сокращённо, AUF🐺. В ней мы рассмотрели основной функционал библиотеки с примерами кода. Также в ней можно найти ссылку на ноутбук с примером кода на открытом датасете.</p><p>Прошел год, пришла пора рассказать о новшествах, а также о результатах применения библиотеки в Альфа-Банке. Также в конце будет ссылка на обновленный пример кода, с которым ты сможешь сразу начать строить uplift-модели быстро и качественно! Достаточно создать окружение с <strong>Python 3.8 </strong>и выполнить в нем команду <strong>pip install auf</strong>. Также доступен исходный код <a href="https://github.com/Alfa-Advanced-Analytics/auf">библиотеки на </a><strong><a href="https://github.com/Alfa-Advanced-Analytics/auf">GitHub</a>.</strong></p><p>В статье начнём с разбора того, как AutoML помогает превратить сложный поиск инкрементального эффекта в эффективный промышленный процесс. Вспомним основы uplift-моделирования и на практических кейсах покажем, как автоматизация ускорила разработку, позволила внедрить автопереобучение в продакшн и успешно реализовать поддержку мультитритмента. Вы узнаете, в каких сценариях AUF приносит максимум пользы, с какими ограничениями можно столкнуться и как использовать библиотеку для решения задач вашего бизнеса.</p><p>Кроме прикладных кейсов, заглянем «под капот» архитектурных обновлений: от рефакторинга оптимизатора до продвинутой аналитики в стиле профи. Мы разберем новые режимы обучения, кастомизацию и инструменты глубокого анализа моделей, такие как оценка чувствительности сегментов и сравнение с моделями склонности. В завершение поделимся результатами масштабного рефакторинга кода, который сделал систему стабильнее, и расскажем, как наше видение «умных и свободных» моделей воплощается в жизнь прямо сейчас</p> <a href="https://habr.com/ru/articles/1024090/?utm_campaign=1024090&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Wed, 22 Apr 2026 09:41:02 GMT</pubDate>
      <dc:creator><![CDATA[dcamvik2020 (Альфа-Банк)]]></dc:creator>
      
      <category><![CDATA[uplift modelling]]></category><category><![CDATA[data science]]></category><category><![CDATA[machine learning]]></category><category><![CDATA[python]]></category><category><![CDATA[open source]]></category><category><![CDATA[automl]]></category><category><![CDATA[библиотека]]></category><category><![CDATA[коммуникация с клиентом]]></category><category><![CDATA[маркетинг]]></category><category><![CDATA[визуализации]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Как выучить Python и не разориться: 5 лучших бесплатных курсов для новичков]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1026362/</guid>
      <link>https://habr.com/ru/articles/1026362/?utm_campaign=1026362&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/9f1/203/8c3/9f12038c3ce4fddf3305a582148f551d.jpg" /><p>Из каждого баннера кричат про зарплаты в 300к в наносекунду и предлагают взять кредит на обучение ИТ-профессиям. Но базу Python можно и нужно учить бесплатно. Синтаксис и основные алгоритмы давно лежат в открытом доступе, главная проблема — отфильтровать качественный материал от маркетингового мусора. Собрал подборку из 5 проверенных бесплатных курсов для новичков (от академичных лекций до геймифицированных квестов), где фокус сделан на знания и практику, а не на продажу платных модулей.</p> <a href="https://habr.com/ru/articles/1026362/?utm_campaign=1026362&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Wed, 22 Apr 2026 05:11:50 GMT</pubDate>
      <dc:creator><![CDATA[enamored_poc]]></dc:creator>
      
      <category><![CDATA[Python]]></category><category><![CDATA[программирование]]></category><category><![CDATA[обучение программированию]]></category><category><![CDATA[бесплатные курсы]]></category><category><![CDATA[для начинающих]]></category><category><![CDATA[stepik]]></category><category><![CDATA[самообразование]]></category><category><![CDATA[войти в it]]></category><category><![CDATA[основы программирования]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Как я сделал Variables в Airflow 3 удобнее]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1023060/</guid>
      <link>https://habr.com/ru/articles/1023060/?utm_campaign=1023060&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/f9e/901/afb/f9e901afbeadadd6b6c5dedccd450cea.png" /><p>Ровно год назад, 22 апреля, вышел Airflow 3, который сильно изменил архитектуру и UX платформы. Но одно из изменений неожиданно ухудшило повседневную работу — Variables: маленькое поле ввода, неудобный JSON и отсутствие нормального редактирования. В статье разбираю, что именно сломалось в привычном сценарии и как я решил это с помощью собственного плагина.</p> <a href="https://habr.com/ru/articles/1023060/?utm_campaign=1023060&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Wed, 22 Apr 2026 04:58:18 GMT</pubDate>
      <dc:creator><![CDATA[MrNightSky]]></dc:creator>
      
      <category><![CDATA[Python plugin]]></category><category><![CDATA[Apache Airflow]]></category><category><![CDATA[Airflow Variables]]></category><category><![CDATA[JSON configuration]]></category><category><![CDATA[DAG configuration]]></category><category><![CDATA[Data Engineering]]></category><category><![CDATA[Airflow plugin]]></category><category><![CDATA[configuration management]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Асинхронный загрузчик видео на aiogram 3 и yt-dlp: как не положить Event Loop и прикрутить честный прогресс-бар]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1026238/</guid>
      <link>https://habr.com/ru/articles/1026238/?utm_campaign=1026238&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/f89/3f4/4da/f893f44da60b27b283c536d9f18af408.jpg" /><p>Казалось бы, тема заезженная до состояния покрышки камаза: «сделай бота, который качает ролики». На Хабре уже лежит десяток туториалов, на GitHub — сотни форков. Но если вы хоть раз открывали такой бот в проде — вы знаете, что 90% из них падают на втором пользователе, а оставшиеся 10% честно умирают на видео длиннее 15 минут.</p><p>Я полез в органическую выдачу Google, чтобы понять, <strong>почему</strong> люди вообще ищут Telegram-ботов, а не пользуются веб-сервисами. И выдача, честно говоря, удручает.</p> <a href="https://habr.com/ru/articles/1026238/?utm_campaign=1026238&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Tue, 21 Apr 2026 16:27:21 GMT</pubDate>
      <dc:creator><![CDATA[katya_anonim]]></dc:creator>
      
      <category><![CDATA[бот телеграм скачать ютуб]]></category><category><![CDATA[скачать видео тикток бот]]></category><category><![CDATA[скачать видео инстаграм бот]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Sediment Palace: локальная память для AI-агентов с моделью седиментации]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1026126/</guid>
      <link>https://habr.com/ru/articles/1026126/?utm_campaign=1026126&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/396/0fb/771/3960fb77197ea1f3c567384f45a5ba70.png" /><p>AI-агенты в 2025 году умеют почти всё. Одного хорошо не умеют — помнить. Я взял две чужие идеи и склеил их.</p> <a href="https://habr.com/ru/articles/1026126/?utm_campaign=1026126&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Tue, 21 Apr 2026 13:04:45 GMT</pubDate>
      <dc:creator><![CDATA[ANTON62]]></dc:creator>
      
      <category><![CDATA[вайб-кодинг]]></category><category><![CDATA[память]]></category><category><![CDATA[ai-агенты]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[LLM как декодер в ASR: опыт адаптации SOTA архитектуры для спонтанной русскоязычной речи]]></title>
      <guid isPermaLink="true">https://habr.com/ru/companies/skbkontur/articles/1024206/</guid>
      <link>https://habr.com/ru/companies/skbkontur/articles/1024206/?utm_campaign=1024206&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/c68/d45/bbe/c68d45bbe7af5000ea8f6242b5c190c2.png" /><p>Привет, Хабр! Меня зовут Коля, я разработчик машинного обучения в команде речевых технологий Контура. Мы разрабатываем собственную систему распознавания речи (ASR), которая ежедневно переваривает миллионы звонков и записей видеоконференций, чтобы потом использовать их для речевой аналитики качества коммуникаций с клиентами и для создания протоколов и резюме встреч в Контур.Толке.</p><p>Мы постоянно работаем над тем, чтобы дать пользователям лучшее качество и опыт взаимодействия с нашими продуктами: борьба уже давно идет за десятые доли процента WER (Word Error Rate) – особенно сложные и трудные для распознавания случаи.</p><p>В конце прошлого года Nvidia изрядно встряхнула Open Source комьюнити, выкатив серию новеньких моделей распознавания речи. Одна из них нам особенно приглянулась: Canary-Qwen-2.5B на архитектуре SALM (Speech Augmented Language Model), установившая новый рекорд по качеству в HuggingFace OpenASR, благодаря использованию гибридного подхода, совмещающего речевой энкодер и LLM в своей работе.</p><p>Мы в Контуре решили не проходить мимо и проверить: а как эта новоиспеченная SOTA покажет себя на наших реалиях — на русском языке, в домене телефонии и видеоконференций, в условиях, когда у нас нет десятков тысяч часов размеченных людьми данных.</p> <a href="https://habr.com/ru/articles/1024206/?utm_campaign=1024206&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Tue, 21 Apr 2026 12:31:57 GMT</pubDate>
      <dc:creator><![CDATA[DesMonNt (Контур)]]></dc:creator>
      
      <category><![CDATA[машинное+обучение]]></category><category><![CDATA[распознавание речи]]></category><category><![CDATA[asr]]></category><category><![CDATA[llm]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Как я научил торгового бота рисовать свечные графики и перестал спамить текстом]]></title>
      <guid isPermaLink="true">https://habr.com/ru/companies/beeline_cloud/articles/1026056/</guid>
      <link>https://habr.com/ru/companies/beeline_cloud/articles/1026056/?utm_campaign=1026056&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/ae0/0c7/68c/ae00c768c89ae68b2c7adfb750b1c029.png" /><p>Привет, Хабр! Меня зовут Николай Пискунов, я руководитель направления Big Data и эксперт курса Cloud DevSecOps по безопасной разработке от Академии вАЙТИ <a href="https://cloud.beeline.ru/?utm_source=owned_media&amp;utm_medium=habr&amp;utm_campaign=beeline_cloud&amp;utm_term=candlechartmaker">Beeline Cloud</a>. Сегодня расскажу о разработке системы, которая строит свечные графики для трейдинг-бота на Python. Это полноценный инструмент анализа, который помогает принимать торговые решения в реальном времени. Важная часть этой системы&nbsp;— быстрая связь с пользователем через бота в Телеграме.&nbsp;</p> <a href="https://habr.com/ru/articles/1026056/?utm_campaign=1026056&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Tue, 21 Apr 2026 10:53:04 GMT</pubDate>
      <dc:creator><![CDATA[kbooo (Beeline Cloud)]]></dc:creator>
      
      <category><![CDATA[python]]></category><category><![CDATA[websocket]]></category><category><![CDATA[trading bot]]></category><category><![CDATA[telegram bot]]></category><category><![CDATA[aiogram]]></category><category><![CDATA[matplotlib]]></category><category><![CDATA[финансовые данные]]></category><category><![CDATA[кеширование]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Python Executor: как мы встроили Python в автоматизации «Первой Формы», не пуская его в ядро]]></title>
      <guid isPermaLink="true">https://habr.com/ru/companies/1forma/articles/1026030/</guid>
      <link>https://habr.com/ru/companies/1forma/articles/1026030/?utm_campaign=1026030&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/89b/d76/39e/89bd7639efa77fc0d8043129fb10c19f.png" /><p>Автоматизация бизнес-процессов заметно изменилась за последние годы. Если раньше во многих сценариях хватало маршрутизации, правил и несложной бизнес-логики, то сейчас в процессы всё чаще встраиваются более тяжёлые вычислительные задачи, например, интеграции с внешними AI-сервисами. Иными словами, автоматизация перестаёт быть только реакцией на событие и всё чаще становится вычислительным слоем внутри самого процесса. Но для того, чтобы система выдерживала нагрузку, нужен мощный язык исполнения.</p><p>В этой статье расскажем, как мы в «Первой Форме» реализовали это с помощью Python. Мы встроили его в контур платформы так, чтобы получить его сильные стороны для AI- и ресурсоёмких сценариев обработки данных, но не исполнять произвольный Python-код внутри бэкенда. Для нас это была не задача в духе «поддержать ещё один язык», мы хотели расширить платформу, не размывая границы безопасности и устойчивости ядра.&nbsp;</p> <a href="https://habr.com/ru/articles/1026030/?utm_campaign=1026030&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Tue, 21 Apr 2026 10:23:26 GMT</pubDate>
      <dc:creator><![CDATA[1forma (Первая Форма)]]></dc:creator>
      
      <category><![CDATA[python]]></category><category><![CDATA[bpms]]></category><category><![CDATA[ai]]></category><category><![CDATA[автоматизация процессов]]></category><category><![CDATA[it-системы]]></category><category><![CDATA[lua]]></category><category><![CDATA[оптимизация]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Запускаем Pine Script на биржах без TradingView]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1026010/</guid>
      <link>https://habr.com/ru/articles/1026010/?utm_campaign=1026010&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/662/f0f/6d3/662f0f6d366aaa556be0a018eedf4ade.jpg" /><p>🌲 <strong>Запускаем Pine Script на данных из Excel</strong><br><br>Региональных фондовых бирж развивающихся рынков нет на TradingView. Ни данных, ни торговли.В статье показан пример, как запустить Pine Script на собственных данных сохраненных локально веб скрапингом</p> <a href="https://habr.com/ru/articles/1026010/?utm_campaign=1026010&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Tue, 21 Apr 2026 10:05:43 GMT</pubDate>
      <dc:creator><![CDATA[tripolskypetr]]></dc:creator>
      
      <category><![CDATA[pine script]]></category><category><![CDATA[tradingview]]></category><category><![CDATA[алгоритмический трейдинг]]></category><category><![CDATA[бектестинг]]></category><category><![CDATA[торговля]]></category><category><![CDATA[аналитика]]></category><category><![CDATA[аналитика данных]]></category><category><![CDATA[визуализация]]></category><category><![CDATA[визуализация данных]]></category><category><![CDATA[программирование]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Архивист — ламповый консольный API-архиватор]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1025980/</guid>
      <link>https://habr.com/ru/articles/1025980/?utm_campaign=1025980&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/396/ef1/f80/396ef1f80020569355899c7d51afb11c.png" /><p>Две причины побудили меня написать эту статью и небольшой MVP.</p><p>1. Потребность в большем объеме сырых данных с наших рынков. Большую часть из них я могу получать посредством API. Такую возможность предоставляет и Московская биржа, и Т-Банк и Финам. Причем, речь идет не о разовой загрузке больших архивов, а скорей о регулярных задачах, которые должны выполняться с определенной периодичностью.</p><p>2. Ностальгия по ламповому TUI(Text User Interface). В этом направлении всегда было место для творчества в условиях ограничений в части отображения (картинки и графики особо не покажешь). Но есть и преимущество - консольное приложение в сравнении с GUI - не столь требовательно к ресурсам и по сути может работать везде, где есть текстовая консоль, ну а в случае моего MVP - еще и Python.</p><p>В статье описал личную историю вдохновления, ссылку на код проекта ну и небольшую инструкцию.</p> <a href="https://habr.com/ru/articles/1025980/?utm_campaign=1025980&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Tue, 21 Apr 2026 09:59:40 GMT</pubDate>
      <dc:creator><![CDATA[bazden]]></dc:creator>
      
      <category><![CDATA[archivist]]></category><category><![CDATA[python]]></category><category><![CDATA[json]]></category><category><![CDATA[api]]></category><category><![CDATA[csv]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Я удалил backpropagation из нейросети. Она обучилась методами XIX века]]></title>
      <guid isPermaLink="true">https://habr.com/ru/companies/selectel/articles/1025542/</guid>
      <link>https://habr.com/ru/companies/selectel/articles/1025542/?utm_campaign=1025542&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/274/d18/1aa/274d181aa1d02af73b1da032ffc5b68c.png" /><p>Все началось с того, что я открыл PyTorch и удалил из модели .backward(). Взял и стер как строчку, которая «вроде ничего не делала». Только вот эта строчка делала вообще все.</p><p>Я хотел понять одну вещь: а что, если забыть, что backpropagation существует? Не как упражнение, чтобы вспомнить основы, а буквально обучить нейросеть, ни разу не посчитав градиент. То есть без всего того математического аппарата, который мы с вами воспринимаем как воздух.</p><p>И у меня получилось. Правда попутно я обнаружил, что Adam — это, по сути, уравнение движения с трением, записанное на Python. (Лагранж бы такое одобрил, наверное).</p> <a href="https://habr.com/ru/articles/1025542/?utm_campaign=1025542&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Tue, 21 Apr 2026 08:00:59 GMT</pubDate>
      <dc:creator><![CDATA[inkedsymon (Selectel)]]></dc:creator>
      
      <category><![CDATA[нейронные сети]]></category><category><![CDATA[backpropagation]]></category><category><![CDATA[градиентный спуск]]></category><category><![CDATA[оптимизация]]></category><category><![CDATA[SGD]]></category><category><![CDATA[momentum]]></category><category><![CDATA[метод Ланжевена]]></category><category><![CDATA[случайный поиск]]></category><category><![CDATA[история математики]]></category><category><![CDATA[selectel]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Как я парсил банковские платёжки всех российских банков на Python: история боли, костылей и XML-матрёшек]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1025626/</guid>
      <link>https://habr.com/ru/articles/1025626/?utm_campaign=1025626&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/bec/e48/747/bece4874732e8c339d5eca0db6a05b06.jpg" /><p><em>Привет, Хабр! (И тебе, случайный бухгалтер, который думает, что «выгрузить из банка» - это нажать одну кнопку. И тебе, 1С-разработчик, который слышит «парсинг PDF» и сразу уходит на больничный. И тебе, Python-разработчик, который уверен, что pip install magic_solution решит любую проблему.)</em></p><p>Сегодня расскажу, как мне поставили задачу, от которой у SAP-а ушло, видимо, несколько команд и много времени, а мне дали на это… ну, скажем так, поменьше. Задача звучала элегантно, но всегда есть но, и не одно))</p><p><em>(Спойлер для тех, кому лень читать: я узнал, что Сбербанк формирует WORD-документы с такой XML-вложенностью, что в ней можно заблудиться, ВТБ зачем-то маскирует WORD под RTF, а файл на 10 000 платёжек из 37 мегабайт разворачивается в 1 гигабайт XML. И да, всё по итогу заработало.)</em></p> <a href="https://habr.com/ru/articles/1025626/?utm_campaign=1025626&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Tue, 21 Apr 2026 06:15:25 GMT</pubDate>
      <dc:creator><![CDATA[MrSotnik]]></dc:creator>
      
      <category><![CDATA[python]]></category><category><![CDATA[flask]]></category><category><![CDATA[1с]]></category><category><![CDATA[парсинг]]></category><category><![CDATA[pdf]]></category><category><![CDATA[docx]]></category><category><![CDATA[rtf]]></category><category><![CDATA[банки]]></category><category><![CDATA[интеграции]]></category><category><![CDATA[оптимизация]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Интерактивные графики в Python: Изучаем основные фишки Plotly]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1025868/</guid>
      <link>https://habr.com/ru/articles/1025868/?utm_campaign=1025868&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/38b/e5e/f20/38be5ef207574c768c9852fc6864181c.jpg" /><p>Помните, как вы в очередной раз гуглили, как повернуть подписи осей в Matplotlib на 45 градусов? Или как на созвоне вас просили объяснить «вон ту аномальную точку» на красивом графике Seaborn, и вам приходилось судорожно лезть в Jupyter писать новые фильтры, потому что график — это просто статичная картинка? Знакомая боль.</p><p>А теперь представьте: вы пишете всего одну строчку кода, и график оживает прямо в браузере. Наводите курсор — появляются точные цифры. Выделяете область мышкой — график приближается. Кликаете по легенде — скрываются лишние данные. Всё это умеет Plotly.</p> <a href="https://habr.com/ru/articles/1025868/?utm_campaign=1025868&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Tue, 21 Apr 2026 05:36:34 GMT</pubDate>
      <dc:creator><![CDATA[enamored_poc]]></dc:creator>
      
      <category><![CDATA[python]]></category><category><![CDATA[plotly]]></category><category><![CDATA[plotly express]]></category><category><![CDATA[визуализация данных]]></category><category><![CDATA[анализ данных]]></category><category><![CDATA[интерактивные графики]]></category><category><![CDATA[matplotlib]]></category><category><![CDATA[seaborn]]></category><category><![CDATA[дашборды]]></category><category><![CDATA[tutorial]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Slow Feature Analysis. Разбор метода и реализация на Python с нуля]]></title>
      <guid isPermaLink="true">https://habr.com/ru/companies/okama/articles/1025754/</guid>
      <link>https://habr.com/ru/companies/okama/articles/1025754/?utm_campaign=1025754&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<p><strong>Slow Feature Analysis</strong> - метод обучения без учителя, который извлекает из входного сигнала наиболее медленно меняющиеся признаки, решая задачу минимизации производной выходного сигнала. Главная ценность метода заключается в способности отфильтровывать шум и быстрые колебания, фокусируясь на фундаментальных, устойчивых закономерностях.</p> <a href="https://habr.com/ru/articles/1025754/?utm_campaign=1025754&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Tue, 21 Apr 2026 02:31:31 GMT</pubDate>
      <dc:creator><![CDATA[Scryphin (Окама)]]></dc:creator>
      
      <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[Как я реализовал Blue-Green деплой с нулевым даунтаймом на Docker Compose]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1025776/</guid>
      <link>https://habr.com/ru/articles/1025776/?utm_campaign=1025776&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/d75/3c8/fe2/d753c8fe298c7e924e43eb4ace46694d.png" /><p>Недавно я внедрил blue‑green деплой в&nbsp;проде. Реализация довольно простая и кастомная, но&nbsp;справляется со своей задачей на&nbsp;ура! Также сообщу, что&nbsp;используется обычный докер композ на&nbsp;виртуалке&nbsp;— возможно, кому‑то такой подход будет полезен.</p><p><strong>Для&nbsp;фоновых процессов (воркеров)</strong></p><p>В&nbsp;приложение добавляется специальный инфрастуктурный singleton класс с&nbsp;флагом is_accepting, и обертка на&nbsp;consumers. В&nbsp;каждом консьюмере перед обработкой проверяем этот флаг: если True&nbsp;— обрабатываем задачу, если False&nbsp;— переносим задачу на&nbsp;повторную обработку (например, в&nbsp;rabbitmq делаем сразу nack(requeue=true))</p> <a href="https://habr.com/ru/articles/1025776/?utm_campaign=1025776&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Mon, 20 Apr 2026 18:03:45 GMT</pubDate>
      <dc:creator><![CDATA[merra123]]></dc:creator>
      
      <category><![CDATA[blue-green deployment]]></category><category><![CDATA[zero downtime]]></category><category><![CDATA[docker-compose]]></category><category><![CDATA[cicd]]></category><category><![CDATA[rabbitmq]]></category><category><![CDATA[kafka]]></category><category><![CDATA[faststream]]></category><category><![CDATA[celery]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[[Парсинг | Python] — ниша в которую легко вкатится и сложно продолжить]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1025760/</guid>
      <link>https://habr.com/ru/articles/1025760/?utm_campaign=1025760&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/b0c/826/908/b0c82690840226635764790bb72bee20.png" /><p><strong>Привет Хабр!</strong></p><p>Сегодня я бы хотел написать об такой нише как <em>парсинг</em>, так-как я пристрастился к Python только благодаря тому что я люблю <s>халяву</s> свободные данные, а так-же и с пониманием того что данные в удобном формате это не просто куча структурированных данных это будущее. Что сейчас мы и видим в эру ИИ.</p> <a href="https://habr.com/ru/articles/1025760/?utm_campaign=1025760&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Парсинг наше всё!</a>]]></description>
      
      <pubDate>Mon, 20 Apr 2026 17:09:29 GMT</pubDate>
      <dc:creator><![CDATA[GameHipe]]></dc:creator>
      
      <category><![CDATA[парсинг]]></category><category><![CDATA[python]]></category><category><![CDATA[python для начинающих]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Книга: «Паттерны Coding Interview. Подготовка к сложному техническому интервью»]]></title>
      <guid isPermaLink="true">https://habr.com/ru/companies/piter/articles/1025724/</guid>
      <link>https://habr.com/ru/companies/piter/articles/1025724/?utm_campaign=1025724&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/b7a/f69/53a/b7af6953a5203e502fe4918df3150c3a.jpg" /><p>Привет, Хаброжители! Хотите успешно пройти Coding Interview в ведущую IT-компанию? Эта книга меняет правила игры в подготовке к кодинг-интервью. Алекс Сюй предлагает структурированный подход к распространенным паттернам, разбирает сложные концепции и делает реальные задачи намного доступнее.</p><p>Практические примеры, детальные объяснения и реальные задачи помогут не только пережить интервью, но и отточить навыки кодинга. А практические советы помогут понять на что именно обращают внимание эксперты, проводящие собеседования.</p> <a href="https://habr.com/ru/articles/1025724/?utm_campaign=1025724&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Mon, 20 Apr 2026 17:00:29 GMT</pubDate>
      <dc:creator><![CDATA[ph_piter (Издательский дом «Питер»)]]></dc:creator>
      
      <category><![CDATA[coding interview]]></category><category><![CDATA[кодинг-интервью]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Объяснение лямбда исчисления через Python]]></title>
      <guid isPermaLink="true">https://habr.com/ru/companies/timeweb/articles/1002268/</guid>
      <link>https://habr.com/ru/companies/timeweb/articles/1002268/?utm_campaign=1002268&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/300/1ec/f94/3001ecf94f1206d1a35f23113854ed2c.jpg" /><p>Реализация ключевых конструкций лямбда‑исчисления на Python и объяснение их работы. Подойдёт даже тем, кто не очень знаком с Python.</p><p>Если хотите понять, как из одних лишь функций строятся булевы, списки и числа и, быть может, попробовать дойти до реализации некоторых алгоритмов самостоятельно — добро пожаловать под кат.</p> <a href="https://habr.com/ru/articles/1002268/?utm_campaign=1002268&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Mon, 20 Apr 2026 09:05:58 GMT</pubDate>
      <dc:creator><![CDATA[j4niwzis (Timeweb Cloud)]]></dc:creator>
      
      <category><![CDATA[лямбда исчисление]]></category><category><![CDATA[python]]></category><category><![CDATA[функциональное программирование]]></category><category><![CDATA[комбинаторы]]></category><category><![CDATA[рекурсия]]></category><category><![CDATA[аппликация]]></category><category><![CDATA[абстракция]]></category><category><![CDATA[редукция]]></category><category><![CDATA[timeweb_статьи]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Весна на «б». Как Пастернак радуется весне одной буквой]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1021264/</guid>
      <link>https://habr.com/ru/articles/1021264/?utm_campaign=1021264&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/259/208/365/2592083657eb3b81a527f0135be64be9.png" /><p>Как Пастернак призывал весну и какие интересные лексические средства использовал для выражения этого ожидания. С помощью Python раскрываю скрытые паттерны в стихотворении Бориса Пастернака</p> <a href="https://habr.com/ru/articles/1021264/?utm_campaign=1021264&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Mon, 20 Apr 2026 08:46:52 GMT</pubDate>
      <dc:creator><![CDATA[Eco_coder]]></dc:creator>
      
      <category><![CDATA[python]]></category><category><![CDATA[читальный зал]]></category><category><![CDATA[книги]]></category><category><![CDATA[литература]]></category><category><![CDATA[поэзия]]></category><category><![CDATA[поэзия и проза]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Исправление обработки блока reasoning content в CoT-моделях для LangChain]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1025460/</guid>
      <link>https://habr.com/ru/articles/1025460/?utm_campaign=1025460&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<p>В процессе работы с фреймворком LangChain была обнаружена существенная проблема в чат-классах (<code>ChatOpenAI</code>, <code>ChatDeepSeek</code> и др.) при интеграции с различными провайдерами и агрегаторами LLM. Ни один из них не сохраняет содержимое блока рассуждений (reasoning content) в финальном ответе, что увеличивает время ожидания ответа пользователем и негативно сказывается на UX ИИ-приложений, использующих CoT-модели.</p><p>В данной статье я расскажу как можно решить эту проблему на примере модели <strong>stepfun/step-3.5-flash </strong>и провайдера polza.ai.</p> <a href="https://habr.com/ru/articles/1025460/?utm_campaign=1025460&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Mon, 20 Apr 2026 08:23:49 GMT</pubDate>
      <dc:creator><![CDATA[RadAI]]></dc:creator>
      
      <category><![CDATA[langchain]]></category><category><![CDATA[openai api]]></category><category><![CDATA[исправление ошибок]]></category><category><![CDATA[исправление багов]]></category><category><![CDATA[ии-приложение]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Собираем AI-агента нового поколения: Python, RAG и внешние инструменты через MCP (Model Context Protocol)]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1025428/</guid>
      <link>https://habr.com/ru/articles/1025428/?utm_campaign=1025428&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/dc6/8f8/ac7/dc68f8ac7c0c8e633ce784b02e88e887.png" /><p>Ещё пару лет назад типичное LLM-приложение выглядело как последовательная цепочка вызовов: взяли промпт, добавили контекст из векторной базы, отправили в модель, получили ответ. LangChain популяризировал эту парадигму — chains, retrievers, memory — и это работало для простых сценариев вроде «ответь на вопрос по документации».<br>Но бизнес-задачи редко укладываются в линейный пайплайн. Пользователь хочет не просто получить ответ, а чтобы система&nbsp;<strong>совершила действие</strong>: создала тикет в Jira, отправила письмо, запросила данные из CRM, проверила погоду и только потом сформулировала ответ. Именно здесь на сцену выходят&nbsp;<strong>AI-агенты</strong>&nbsp;— системы, которые не просто генерируют текст, а автономно принимают решение,&nbsp;<em>какой инструмент вызвать</em>, в каком порядке, и интерпретируют результат. Проблема в том, что до недавнего времени подключение каждого нового инструмента требовало написания «клея» — кастомных функций, обёрнутых в&nbsp;<code>@tool</code>&nbsp;декоратор LangChain, с ручным управлением аутентификацией, обработкой ошибок и сериализацией данных. Для продакшена это быстро превращалось в зоопарк нестандартных интеграций, который сложно поддерживать и масштабировать.<br><strong>Model Context Protocol (MCP)</strong>&nbsp;от Anthropic решает эту проблему, предлагая единый стандарт для подключения инструментов и источников данных к LLM-приложениям. Вместо того чтобы для каждого API писать свой адаптер, мы просто запускаем MCP-сервер, который предоставляет инструменты по стандартизированному протоколу. Агент подключается к этому серверу через MCP-клиент и получает доступ ко всем инструментам без лишнего кода.<br>В этой статье мы соберём полноценного агента, который:<br>1. Умеет работать с внешним миром через MCP (узнавать погоду и создавать GitHub Issues);<br>2. Имеет доступ к внутренней базе знаний через RAG;<br>3. Принимает решения по ReAct-подходу с использованием LangGraph.</p> <a href="https://habr.com/ru/articles/1025428/?utm_campaign=1025428&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Разбираем код и архитектуру</a>]]></description>
      
      <pubDate>Mon, 20 Apr 2026 07:18:33 GMT</pubDate>
      <dc:creator><![CDATA[kardanShurup]]></dc:creator>
      
      <category><![CDATA[python]]></category><category><![CDATA[ai]]></category><category><![CDATA[machine learning]]></category><category><![CDATA[langchain]]></category><category><![CDATA[langgraph]]></category><category><![CDATA[mcp]]></category><category><![CDATA[rag]]></category><category><![CDATA[chromadb]]></category><category><![CDATA[fastmcp]]></category><category><![CDATA[llm]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Зачем вам нужен прокси для Langfuse]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1025168/</guid>
      <link>https://habr.com/ru/articles/1025168/?utm_campaign=1025168&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/431/7ed/e96/4317ede96a49803a3b968323385c0145.png" /><p>Langfuse, помимо трассирования запросов, удобно использовать для prompt management и LLM-as-a-judge. &nbsp;Но в закрытой корпоративной среде он упирается в простую вещь: &nbsp;LF работает со статическим API key, а ваш LLM gateway — нет. То есть gateway требует короткоживущий JWT, а Langfuse не умеет его получать. &nbsp;И в этот момент интеграция ломается.</p><p>Мы столкнулись именно с такой ситуацией. Модели self-hosted, OpenAI подобный API, но для доступа к нему на каждый запрос нужен JWT, который выдаётся централизованным провайдером. Langfuse&nbsp;в LLM Connection умеет передать API key и заголовки, но не сможет сам сходить в auth-сервис, получить временный токен и подставить его в запрос.</p><p>В этой статье я рассказываю о своем опыте решения этой проблемы на продакшен уровне. </p> <a href="https://habr.com/ru/articles/1025168/?utm_campaign=1025168&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Mon, 20 Apr 2026 06:00:47 GMT</pubDate>
      <dc:creator><![CDATA[Devenir-Glorieux]]></dc:creator>
      
      <category><![CDATA[llm]]></category><category><![CDATA[litellm]]></category><category><![CDATA[fastapi]]></category><category><![CDATA[proxy]]></category><category><![CDATA[proxy-server]]></category><category><![CDATA[langfuse]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Первый серьёзный проект на Python: Manga-Day — асинхронный парсер манги и путь к микросервисам]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1025398/</guid>
      <link>https://habr.com/ru/articles/1025398/?utm_campaign=1025398&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/aa3/654/b23/aa3654b23f31ece605575948ba949c09.png" /><p>Привет Хабр! В&nbsp;данной статье хотел&nbsp;бы рассказать о&nbsp;том как&nbsp;я создал свой первый проект на&nbsp;десятки тысяч строк, о&nbsp;том как&nbsp;я горбатился над ним, с&nbsp;какими проблемами я столкнулся и как&nbsp;я их решил.</p> <a href="https://habr.com/ru/articles/1025398/?utm_campaign=1025398&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Mon, 20 Apr 2026 05:28:38 GMT</pubDate>
      <dc:creator><![CDATA[GameHipe]]></dc:creator>
      
      <category><![CDATA[Python]]></category><category><![CDATA[первый проект]]></category><category><![CDATA[микросервисы]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Парсинг тарифов интернета и ТВ: Анализируем тарифы провайдеров с инструментами Pandas, Seaborn, Matplotlib]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1025008/</guid>
      <link>https://habr.com/ru/articles/1025008/?utm_campaign=1025008&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/490/5e1/ce0/4905e1ce0e3a0a3d0560869cadc20e6d.png" /><p>Даже на относительно небольшой выборке данных анализ получился весьма интересным. Я провел исследование тарифных сеток двух крупных провайдеров России - Ростелекому и Дом.ру, в шести городах-миллионниках: Москва, Санкт-Петербург, Екатеринбург, Казань, Новосибирск, Красноярск. И вот какой результат получил, расскажу и покажу всё на графиках:</p> <a href="https://habr.com/ru/articles/1025008/?utm_campaign=1025008&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Mon, 20 Apr 2026 04:53:59 GMT</pubDate>
      <dc:creator><![CDATA[MalblshProgrammist]]></dc:creator>
      
      <category><![CDATA[аналитика]]></category><category><![CDATA[pandas]]></category><category><![CDATA[seaborn]]></category><category><![CDATA[провайдеры интернет]]></category><category><![CDATA[провайдеры связи]]></category><category><![CDATA[цены на тарифы]]></category><category><![CDATA[сравни]]></category><category><![CDATA[сравнительный обзор]]></category><category><![CDATA[сравнительный анализ]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Как я изобрёл велосипед: создание языка программирования с нуля ради одной игры и Telegram-бота]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1025306/</guid>
      <link>https://habr.com/ru/articles/1025306/?utm_campaign=1025306&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/f93/b07/d5d/f93b07d5d8cafc9aaa5610a992004982.png" /><p>Разработка собственного языка программирования с нуля: от лексера и парсера до компилятора и интерпретатора. Разбираем архитектуру, <strong>построение AST</strong>, обратную польскую нотацию, обработку ошибок со стрелочками и <strong>двустороннюю интеграцию с Python</strong>. </p><p>А в качестве демонстрации — пишем на получившемся языке игру на Pygame и Telegram-бота с long polling. Язык называется LawScript, и <strong>он умеет больше, чем кажется</strong>. </p> <a href="https://habr.com/ru/articles/1025306/?utm_campaign=1025306&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Sun, 19 Apr 2026 15:45:59 GMT</pubDate>
      <dc:creator><![CDATA[BERKYT115]]></dc:creator>
      
      <category><![CDATA[Интерпретатор]]></category><category><![CDATA[компиляторы]]></category><category><![CDATA[игры]]></category><category><![CDATA[телеграм-бот]]></category><category><![CDATA[python]]></category><category><![CDATA[язык программирования]]></category><category><![CDATA[интерпретаторы]]></category><category><![CDATA[пет-проект]]></category><category><![CDATA[велосипедостроение]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Домашний Netflix за вечер: Transmission + Jellyfin + Telegram-бот на Docker с поддержкой NAS]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1025302/</guid>
      <link>https://habr.com/ru/articles/1025302/?utm_campaign=1025302&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<p>У меня дома стоит роутер Keenetic с USB-диском на 2 ТБ. Долгое время он работал просто как сетевое хранилище — файлы лежат, Transmission на роутере крутится, всё вроде бы работает. Но дефолтный интерфейс Transmission выглядит как привет из 2009 года, управлять им с телефона неудобно, а посмотреть скачанное на телевизоре — вообще отдельный квест.</p><p>Однажды вечером решил это исправить. Итог — три Docker-контейнера, которые поднимаются одной командой, и теперь выглядит это так:</p> <a href="https://habr.com/ru/articles/1025302/?utm_campaign=1025302&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Sun, 19 Apr 2026 15:34:47 GMT</pubDate>
      <dc:creator><![CDATA[vvs3]]></dc:creator>
      
      <category><![CDATA[Docker]]></category><category><![CDATA[Self-hosted]]></category><category><![CDATA[Jellyfin]]></category><category><![CDATA[Transmission]]></category><category><![CDATA[Home Server]]></category><category><![CDATA[Telegram Bot]]></category><category><![CDATA[Python]]></category><category><![CDATA[Keenetic]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Интеграция Google Gemini API в асинхронный Telegram-бот на aiogram 3.x и Python]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1025300/</guid>
      <link>https://habr.com/ru/articles/1025300/?utm_campaign=1025300&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/5ce/fdb/d11/5cefdbd116a6c45ac8377423eb9e9654.png" /><p>В прошлую пятницу, ровно в 18:47, когда я уже мысленно открывал великолепный, наполненный витаминами, напиток,, мне прилетело сообщение от тимлида: «Бот лежит, пользователи жалуются, Gemini API возвращает 429». Наш корпоративный Telegram-бот, который должен был помогать саппорту отвечать на тикеты, просто встал колом. Причина оказалась до банальности простой: мы не учли rate limiting и думали, что 50 RPM (запросов в минуту) на бесплатном тарифе — это «бесконечно много». С тех пор мы переписали архитектуру, добавили очереди, кэширование и middleware для retry. В этой статье разберу, как с нуля подружить Gemini API с Telegram-ботом на aiogram 3.x, не наступая на те же грабли.</p> <a href="https://habr.com/ru/articles/1025300/?utm_campaign=1025300&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Sun, 19 Apr 2026 15:15:44 GMT</pubDate>
      <dc:creator><![CDATA[kardanShurup]]></dc:creator>
      
      <category><![CDATA[gemini api]]></category><category><![CDATA[telegram бот]]></category><category><![CDATA[aiogram]]></category><category><![CDATA[python]]></category><category><![CDATA[llm]]></category><category><![CDATA[асинхронное программирование]]></category><category><![CDATA[rate limiting]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Опыт разработки picows, самой быстрой библиотеки веб-сокетов для asyncio]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1025286/</guid>
      <link>https://habr.com/ru/articles/1025286/?utm_campaign=1025286&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/7bb/98f/c58/7bb98fc58ae955c75ccbdfa83dce1c7f.png" /><p>Всем привет!</p><p>Меня зовут Тарас, я автор библиотеки <a href="https://github.com/tarasko/picows" rel="noopener noreferrer nofollow">picows</a> — ультрабыстрых вебсокетов для <a href="https://docs.python.org/3/library/asyncio.html" rel="noopener noreferrer nofollow">asyncio</a>. В этой статье я расскажу, почему вообще появилась ещё одна библиотека для вебсокетов, покажу результаты бенчмарков и заодно порассуждаю о производительности в asyncio.</p><p>Предистория</p><p>В далёком-предалёком 2021 году мне довелось поучаствовать в разработке алготрейдинг-платформы для криптовалютных бирж. Выбор языка пал на Python из-за разнообразия ML-библиотек, возможность быстро собирать прототипы и проверять идеи, отсутствия этапа компиляции и в целом наличия богатой экосистемы. Если какая-то идея взлетит, критичный участок всегда можно оптимизировать, хотя бы частично переписав его на C/C++/Cython.</p> <a href="https://habr.com/ru/articles/1025286/?utm_campaign=1025286&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Sun, 19 Apr 2026 14:46:40 GMT</pubDate>
      <dc:creator><![CDATA[snuffachka]]></dc:creator>
      
      <category><![CDATA[websockets]]></category><category><![CDATA[python]]></category><category><![CDATA[asyncio]]></category><category><![CDATA[optimization]]></category><category><![CDATA[client]]></category><category><![CDATA[server]]></category><category><![CDATA[picows]]></category><category><![CDATA[aiohttp]]></category><category><![CDATA[benchmark]]></category><category><![CDATA[low latency]]></category>
    </item>
  

  

  

	
  

  

  

      

      

      

    
  </channel>
</rss>
