<?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>Fri, 01 May 2026 08:18:11 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[Tilda + СБИС Presto: пишем интеграцию на Python, когда готового решения не существует]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1030324/</guid>
      <link>https://habr.com/ru/articles/1030324/?utm_campaign=1030324&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/bf5/50a/08b/bf550a08bcc05482b961b003f8feacfe.jpg" /><p>Клиент пришёл с простой задачей: заказы с сайта на <strong>Tilda должны автоматически попадать в СБИС Presto.</strong> Казалось бы, популярные инструменты — должно быть готовое решение. Его не оказалось.</p><p>Написали свой сервис месяц в продакшене, всё работает. Рассказываем как — с кодом, граблями и объяснением неочевидных мест в документации СБИС.</p><p><strong>Стек: Python, FastAPI, Pydantic, httpx, cachetools.</strong></p> <a href="https://habr.com/ru/articles/1030324/?utm_campaign=1030324&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Thu, 30 Apr 2026 20:15:56 GMT</pubDate>
      <dc:creator><![CDATA[alex_grom38]]></dc:creator>
      
      <category><![CDATA[python]]></category><category><![CDATA[fastapi]]></category><category><![CDATA[сбис]]></category><category><![CDATA[tilda]]></category><category><![CDATA[webhook]]></category><category><![CDATA[интеграция]]></category><category><![CDATA[pydantic]]></category><category><![CDATA[httpx]]></category><category><![CDATA[presto]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Per-user OAuth для MCP-серверов: Keycloak, n8n и Telegram-бот через один Auth Proxy]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1030302/</guid>
      <link>https://habr.com/ru/articles/1030302/?utm_campaign=1030302&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/3ae/7f5/261/3ae7f52619d1669b89f5dcbf7f8e6156.png" /><p>MCP-серверы не умеют в авторизацию, n8n не умеет в per-user токены, а OAuth-клиенты говорят на разных диалектах. Рассказываем, как один Auth Proxy перед FastMCP Gateway закрыл все три проблемы — и почему в итоге бот переехал на LangGraph</p> <a href="https://habr.com/ru/articles/1030302/?utm_campaign=1030302&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Архитектура, грабли и код</a>]]></description>
      
      <pubDate>Thu, 30 Apr 2026 19:02:32 GMT</pubDate>
      <dc:creator><![CDATA[fuckseer]]></dc:creator>
      
      <category><![CDATA[MCP]]></category><category><![CDATA[OAuth2]]></category><category><![CDATA[Keycloak]]></category><category><![CDATA[FastMCP]]></category><category><![CDATA[LangGraph]]></category><category><![CDATA[n8n]]></category><category><![CDATA[Telegram-бот]]></category><category><![CDATA[per-user авторизация]]></category><category><![CDATA[AI-агент]]></category><category><![CDATA[Auth Proxy]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Mountain| Первый финал, первая победа и новый старт]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1030270/</guid>
      <link>https://habr.com/ru/articles/1030270/?utm_campaign=1030270&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/781/c6b/191/781c6b1914e23ae152bd6dbc8526ce89.jpg" /><p>За 25 дней нам удалось добиться довольно больших изменений в нашем проекте. </p><p>Мы провели:</p><p>Рефакторинг back-end сервисов</p><p>Убрали часть легаси кода на фронте</p><p>Переработали некоторый UI элементы и добавили плавности</p><p>Добавили новый функционал</p> <a href="https://habr.com/ru/articles/1030270/?utm_campaign=1030270&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Thu, 30 Apr 2026 17:17:25 GMT</pubDate>
      <dc:creator><![CDATA[Cayo]]></dc:creator>
      
      <category><![CDATA[мессенджер]]></category><category><![CDATA[мессенджеры для командной работы]]></category><category><![CDATA[своими руками]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Медленное мышление для быстрых машин: архитектура рефлексирующего ИИ-агента нового поколения]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1030196/</guid>
      <link>https://habr.com/ru/articles/1030196/?utm_campaign=1030196&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/e50/18a/c8e/e5018ac8e879ba64f907e1ed361b2bda.jpg" /><p>Мы привыкли, что ИИ-агенты — это про скорость. Быстрее написать код, быстрее ответить, быстрее сгенерировать. Но скорость без размышления — это не интеллект, а рефлекс. Настоящий прорыв происходит, когда агент начинает <strong>думать, прежде чем делать</strong>. Проверять себя после каждого шага. Сомневаться. Спрашивать разрешения. И только потом действовать.</p><p>Современные языковые модели отлично рассуждают в теории. Но стоит дать им инструменты и доступ к реальному миру, как проявляются системные уязвимости: галлюцинации, превращённые в действия; каскадные ошибки, где одна неточность тянет за собой цепочку неверных решений; слепое следование цели с игнорированием побочных эффектов; отсутствие самокритики. Решение — не в том, чтобы сделать модель умнее. Решение — <strong>в архитектуре</strong>, которая принудительно встраивает размышление в каждое звено цикла «восприятие → решение → действие → проверка».</p><p>Эта статья — про архитектуру, которая превращает бездумный конвейер генерации в <strong>мыслящего коллегу</strong>. И она применима не только к работе с кодом, а к любому домену, где цена ошибки высока: юриспруденция, медицина, финансы, управление инфраструктурой, маркетинг, поддержка клиентов, образование.</p> <a href="https://habr.com/ru/articles/1030196/?utm_campaign=1030196&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Thu, 30 Apr 2026 14:35:19 GMT</pubDate>
      <dc:creator><![CDATA[TAU15]]></dc:creator>
      
      <category><![CDATA[llm]]></category><category><![CDATA[python]]></category><category><![CDATA[gpt]]></category><category><![CDATA[agent]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[В чем реальная проблема внедрения видеоаналитики на предприятиях?]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1030188/</guid>
      <link>https://habr.com/ru/articles/1030188/?utm_campaign=1030188&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/e84/f5f/c39/e84f5fc3978ea5c53c5bf60a435161e2.jpg" /><p>Многие заказчики полагают, что современная видеоаналитика мыслит почти как человек: видит кадр, узнает объект и принимает решение. На самом деле это не так. Нейросети, лежащие в основе этих систем, пока далеки от человеческого мышления.</p><p>Нейросеть не ищет в своей памяти «похожую картинку», как это делал бы человек. Вместо этого она выделяет в кадре набор математических признаков (например: «объект круглой формы находится в верхней части другого объекта»). На основе миллионов заранее обученных весов (параметров) сеть вычисляет вероятность: «это каска — 96%», «это человек — 98%».</p><p><strong>Откуда берутся весы?</strong>&nbsp;База знаний нейросети наполняется вручную на этапе обучения. Специалисты-разметчики показывают модели тысячи кадров, выделяя на них людей, каски, инструменты и другие нужные объекты.</p> <a href="https://habr.com/ru/articles/1030188/?utm_campaign=1030188&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Thu, 30 Apr 2026 14:24:55 GMT</pubDate>
      <dc:creator><![CDATA[Nikittq]]></dc:creator>
      
      <category><![CDATA[видеоаналитика]]></category><category><![CDATA[IT-интегратор]]></category><category><![CDATA[внедерение]]></category><category><![CDATA[промышеленные предприятия]]></category><category><![CDATA[нейросеть]]></category>
    </item>
  

  

  

	
  

  

  

    
    <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/companies/mipt_digital/articles/1029978/</guid>
      <link>https://habr.com/ru/companies/mipt_digital/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>Лучше один раз увидеть, чем сто раз услышать&nbsp;— в&nbsp;аналитике эта пословица работает на&nbsp;все сто. В&nbsp;новой статье разбираем, почему одна удачная визуализация объясняет процессы, зависимости и помогает найти инсайты&nbsp;быстрее, чем десятки слайдов с&nbsp;текстом и формулами. Также рассмотрим несколько оригинальных интерактивных визуализаций на&nbsp;Plotly&nbsp;— за&nbsp;пределами привычных распределений, боксплотов и прочих «школьных» графиков.&nbsp;</em></p><p><strong>Об&nbsp;авторе:</strong><a href="http://t.me/data_easy"> Мария Жарова&nbsp;— преподаватель Центра «Пуск» МФТИ, ML‑инженер в&nbsp;Wildberries, автор канала EasyData</a>.</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>
  

  

  

	
  

  

  

      

      

      

    
  </channel>
</rss>
