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

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

  <channel>
    <title><![CDATA[Все посты подряд / Программирование / Хабр]]></title>
    <link>https://habr.com/ru/hubs/programming/posts/</link>
    <description><![CDATA[Программирование – искусство создания компьютерных программ]]></description>
    <language>ru</language>
    <managingEditor>editor@habr.com</managingEditor>
    <generator>habr.com</generator>
    <pubDate>Sun, 03 May 2026 10:27:10 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[Пост @smirnoff_ai — Блог компании LLMStart.ru (+4) — 30.04.2026 20:07]]></title>
    <guid isPermaLink="true">https://habr.com/ru/companies/llmstart/posts/1030266/</guid>
    <link>https://habr.com/ru/companies/llmstart/posts/1030266/?utm_campaign=1030266&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
    <description><![CDATA[<p><strong>Дорожная карта Agentic AI. Level 4. Своя кузница — локальный запуск моделей</strong></p><figure class=""><img src="https://habrastorage.org/webt/4d/4d/c0/4d4dc0327f0e185a1074023a0fc0ba18.png" alt="Дорожная карта Agentic AI — Level 4. Своя кузница: локальный запуск моделей" title="Level 4. Своя кузница — локальный запуск моделей"><div><figcaption>Level 4. Своя кузница — локальный запуск моделей</figcaption></div></figure><p>Не всё имеет смысл отдавать в облако. Причин у этого как минимум три:</p><ol><li><p><strong>Приватность</strong>. Стоит начать пересылать в чужой API персональные данные клиентов, внутреннюю переписку или код с коммерческой тайной, как логи стороннего провайдера превращаются из абстрактной строчки в SLA во вполне конкретный риск утечки. Локальная модель эту головную боль снимает: данные просто не покидают периметр компании, и обсуждать с безопасниками становится по сути нечего.</p></li><li><p><strong>Автономность</strong>. Когда провайдер прилёг, сети легли или вашему региону внезапно прикрыли доступ, локальный агент этого даже не заметит и продолжит работать, как ни в чём не бывало.</p></li><li><p><strong>Стоимость</strong>. Здесь всё упирается в масштаб. Если вы просто экспериментируете у себя на ноутбуке, локальный запуск получается полностью бесплатным: ни подписок, ни платы за токены, и докупать ничего не придётся, всё поедет на том железе, что уже стоит на столе. Когда же речь идёт про нагруженный прод, картина меняется: нужен сервер с GPU, и экономика там сходится не сразу. На сотнях запросов в день локальный инференс вряд ли отобьётся, а вот на десятках тысяч он уже выгоднее облака.</p></li></ol><p><strong>Что вообще получится запустить</strong></p><p>Проприетарные модели уровня GPT-5, Claude Opus 4.7 или Gemini 3.1 локально вы, конечно, не запустите: они закрытые и слишком огромные. Зато опенсорс быстро подтягивается следом. Qwen3 от Alibaba, DeepSeek R1 и V3.1, Mistral Small и Magistral это вполне рабочие модели, которые в квантизованных версиях помещаются на одну видеокарту. Даже OpenAI в прошлом году выложила свою открытую <a href="https://openai.com/index/introducing-gpt-oss/" rel="noopener noreferrer nofollow">gpt-oss</a>, сразу в 20B и 120B параметров.</p><p><strong>Чем крутить локально</strong></p><p>Проще всего начать с <a href="https://ollama.com/" rel="noopener noreferrer nofollow">Ollama</a>: ставится одной командой, ещё одной скачивается модель, и всё. Никаких плясок с CUDA, Python и зависимостями, из коробки есть и GUI, и REST-API. Если хочется чего-то более «приложенческого», посмотрите в сторону <a href="https://lmstudio.ai/" rel="noopener noreferrer nofollow">LM Studio</a> или <a href="https://jan.ai/" rel="noopener noreferrer nofollow">Jan</a>; у LM Studio при этом есть приятная мелочь: она ещё до скачивания подскажет, хватит ли у вас ресурсов на конкретную модель.</p><p><strong>Как встроить в свой код</strong></p><p>Самое важное даже не в том, как удобно поднять модель у себя, а в том, что интегрировать её в код ваших приложений так же легко, как сменить провайдера. У всех этих инструментов OpenAI-совместимый API, поэтому в клиенте OpenAI достаточно поменять <code>base_url</code> с облака на <code>localhost</code>, и тот же самый код из прошлых постов продолжит работать без единой правки.</p><p><strong>Что брать в продакшен</strong></p><p>Эта связка работает, пока вы экспериментируете на ноутбуке. В продакшене ставки выше: опенсорс-модель надо крутить под реальной нагрузкой, и стандарт здесь это <a href="https://docs.vllm.ai/" rel="noopener noreferrer nofollow">vLLM</a>. Он оптимизирован под высокий RPS и параллельный инференс, реально выжимает из GPU всё, что она способна отдать.</p><p>Вообщем, не относитесь к локальному запуску, как к большому инфраструктурному проекту. На практике это один спокойный вечер экспериментов: поставили Ollama, скачали Qwen3, поменяли <code>base_url</code> в агенте и погнали…</p><p>🔔 Следующая тема: Few-shot learning, как учить модель прямо в промпте.</p><p>⬅️ Предыдущая тема: <a href="https://habr.com/ru/posts/1029790/" rel="noopener noreferrer nofollow">Level 4. Новые чувства — мультимодальность</a></p><p>Подписывайтесь, пожалуйста, чтобы не пропустить!</p><blockquote><p>Больше про ИИ — в <a href="https://t.me/aidialogs" rel="noopener noreferrer nofollow">ТГ-канале</a> и <a href="https://vk.com/llmstart" rel="noopener noreferrer nofollow">ВК</a>. <a href="https://llmstart.ru/?utm_source=habr&amp;utm_medium=post&amp;utm_campaign=agentic-roadmap-05" rel="noopener noreferrer nofollow">Каталог наших курсов, услуг и кейсов</a> по ИИ-агентам. По вопросам — <a href="https://t.me/smirnoff_ai" rel="noopener noreferrer nofollow">пишите в личку</a>.</p></blockquote> <a href="https://habr.com/ru/posts/1030266/?utm_campaign=1030266&amp;utm_source=habrahabr&amp;utm_medium=rss">Читать дальше &rarr;</a>]]></description>
      
    <pubDate>Thu, 30 Apr 2026 17:07:40 GMT</pubDate>
    <dc:creator><![CDATA[smirnoff_ai (LLMStart.ru)]]></dc:creator>
      
      <category><![CDATA[llm]]></category><category><![CDATA[ai]]></category><category><![CDATA[ollama]]></category><category><![CDATA[vllm]]></category><category><![CDATA[lmstudio]]></category><category><![CDATA[local llm]]></category>
  </item>
  

	
  

  

  

    

  

  
  <item>
    <title><![CDATA[Пост @ova450 — Интерфейсы (+4) — N/P]]></title>
    <guid isPermaLink="true">https://habr.com/ru/posts/1029944/</guid>
    <link>https://habr.com/ru/posts/1029944/?utm_campaign=1029944&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
    <description><![CDATA[<p>ИИ: Гонки на лафетах</p><p>Всего лишь иллюстрация. Примерно год-полтора назад решил я выбрать - deepseek или chatgpt. И выбрал deepseek. Однако через некоторое время стал обращать внимание не его лютый подхалимаж, что, кстати, не раз уже обыграли в различных мемах. Не в отношении deepseek, а относительно AI в общем.<br>Проблему обсудил и с deepseek, и с windows copilot (chatgpt был благополучно забыт). Deepseek стал подхалимски юлить, мол да, copilot хорош и все такое. Copilot же оправдал Deepseek - мол это такая технология поддержки энтузиазма в клиенте. Между прочим тонко намекнув, что сам-то он лучше и глубже. Но это присказка, сказка впереди.<br>В процессе завершения разработки обертки над EntityFramework попросил оценить проект сразу четверых: deepseek, copilot, chatgpt и grok. Результат ожидаем - сыровато, но в продакшн годно, оценки 4.5/5 и 7/10. <br>Претензии разные, существенных практически не было, но в одно они уперлись хором - "тяжелые" интерфейсы. Подробности опущу, это было семейство generic-интерфейсов со многими типами. Что-то вроде IInterface(T1), IInterface(T1,T2) и так далее, пока не надоест.<br>Несколько итераций я эти наезды игнорировал, но AI не унимались. Уже и оценки до 9/10 дошли, но проблема-то осталась.<br>Вспылил и написал письмо на полстраницы, начинавшееся фразой "Господа AI !". Концептуальное. Гневное. Циркулярное  И получил ответы:<br>- ООО! Мы все поняли. Гениально, единственно верное решение.<br>Это deepseek 5/5 и copilot 10/10.<br>- Нуу... Проблема решена, но способ так себе... в общем 9/10 и есть гораздо лучшие альтернативы, рассмотрим?<br>Это chatcpt и grok. И что характерно, альтернативы предлагают разные, по паре штук каждый. Рассмотрим, конечно.<br><br>Это просто зарисовка не о разработке обертки, а о различных системах AI.</p><p>UPD: Забыл добавить - deepseek еще и извинился за необоснованные оценки :)))</p> <a href="https://habr.com/ru/posts/1029944/?utm_campaign=1029944&amp;utm_source=habrahabr&amp;utm_medium=rss">Читать дальше &rarr;</a>]]></description>
      
    <pubDate>Thu, 30 Apr 2026 08:19:51 GMT</pubDate>
    <dc:creator><![CDATA[ova450]]></dc:creator>
      
      <category><![CDATA[ии]]></category><category><![CDATA[аналитика]]></category><category><![CDATA[ai]]></category><category><![CDATA[ai agent]]></category>
  </item>
  

	
  

  

  

    

  

  
  <item>
    <title><![CDATA[Пост @zdanevich-vitaly — Rust (+4) — 30.04.2026 08:28]]></title>
    <guid isPermaLink="true">https://habr.com/ru/posts/1029870/</guid>
    <link>https://habr.com/ru/posts/1029870/?utm_campaign=1029870&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
    <description><![CDATA[<p>Я давний пользователь <a href="https://github.com/vitaly-zdanevich/geeknote" rel="noopener noreferrer nofollow">Geeknote</a> - это cli для <a href="https://evernote.com/" rel="noopener noreferrer nofollow">Evernote</a>. Несколько лет назад проект застрял на втором Питоне - и никто не хотел его портировать на третий. Я ждал что кто-то займётся этим - но пришлось самому - так что я форкнул, починил, и даже связался с Виталием Роденко - одним из создателей Geeknote и администратора на PyPI, чтобы получить право туда пушить. За десяток лет я видел как Geeknote переходил из одни руки в другие - и как он забрасывался, и через несколько лет находился новый мантейнер. Было забавно осознать, что теперь и я стал мантейнером программного продукта, который всегда установлен на все мои машины.</p><p>Как и большинство из нас, я стал пробовать LLM - как замену поиску, для анализа кодов, советов, и вот наконец - несколько проектов - даже не читая кода - только давая команды и тестируя результат. Известная шутка - переписать на Rust. Почему бы у нет - Geeknote не велик - около пяти тысяч строк на Питоне, что я и попробовал - через <strong>Codex gpt-5.5</strong>. Несколько десятков итераций, "добавь это", "добавь то", "пропали теги", "пропала анимация" - и за несколько часов я получил рабочий Geeknote на Rust, назвал его <a href="https://gitlab.com/vitaly-zdanevich/reeknote" rel="noopener noreferrer nofollow">reeknote</a>. </p><p>Результат: быстрее работает, раза в два. Теперь буду им пользоваться.</p><p>P.S.: CLI хороши для перфоманса, SSH, быстрее разработка без GUI, а ещё похоже и для LLM - можно попросить сохранить ответ в Evernote. Как и прочие интеграции, в том числе в скриптах.</p> <a href="https://habr.com/ru/posts/1029870/?utm_campaign=1029870&amp;utm_source=habrahabr&amp;utm_medium=rss">Читать дальше &rarr;</a>]]></description>
      
    <pubDate>Thu, 30 Apr 2026 05:28:25 GMT</pubDate>
    <dc:creator><![CDATA[zdanevich-vitaly]]></dc:creator>
      
      <category><![CDATA[evernote]]></category><category><![CDATA[geeknote]]></category><category><![CDATA[cli]]></category>
  </item>
  

	
  

  

  

    

  

  
  <item>
    <title><![CDATA[Пост @smirnoff_ai — Блог компании LLMStart.ru (+3) — 29.04.2026 19:44]]></title>
    <guid isPermaLink="true">https://habr.com/ru/companies/llmstart/posts/1029790/</guid>
    <link>https://habr.com/ru/companies/llmstart/posts/1029790/?utm_campaign=1029790&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
    <description><![CDATA[<p><strong>Дорожная карта Agentic AI. Level 4. Новые чувства — мультимодальность</strong></p><figure class=""><img src="https://habrastorage.org/webt/8b/3f/6f/8b3f6fc275b3aac5de67cecdcb3d6706.png" alt="Дорожная карта Agentic AI — Level 4. Новые чувства: мультимодальность" title="Level 4. Новые чувства — мультимодальность"><div><figcaption>Level 4. Новые чувства — мультимодальность</figcaption></div></figure><p>Пора научить агента видеть и слышать. Клиент не присылает аккуратный промпт — он кидает фотку накладной, скрин ошибки, голосовое на 40 секунд.</p><p><strong>Картинки</strong></p><p>Модель смотрит на изображение и отвечает на вопросы о нём — что на фото, прочитай текст, сравни два скриншота. Работает прямо в чат-запросе, без отдельного API.</p><p>Где выбирать модель: <a href="https://artificialanalysis.ai/evaluations/mmmu-pro" rel="noopener noreferrer nofollow">artificialanalysis.ai/evaluations/mmmu-pro</a> — 180+ моделей по MMMU-Pro (изображения, документы, диаграммы, схемы). Сейчас лидирует Gemini 3.1 Pro Preview.</p><p><strong>Транскрибация</strong></p><p>Модель слушает аудио и возвращает текст — с пунктуацией, языком, таймкодами, и если надо — с разделением по спикерам.</p><p>Где выбирать: <a href="https://artificialanalysis.ai/speech-to-text" rel="noopener noreferrer nofollow">artificialanalysis.ai/speech-to-text</a> — 50+ провайдеров, WER + скорость + цена в одной таблице. Лидер по точности — ElevenLabs Scribe v2 (2.3% WER), из мультимодальных — Gemini (2.9%), gpt-4o-transcribe — 4.1%, Whisper large-v3 — ~5%.</p><p><strong>Видео</strong></p><p>Модель понимает видео как поток событий во времени — что происходило, в каком порядке, что изменилось. Это не то же самое, что покадровый Vision: там вы нарезаете файл на картинки и отправляете как набор фото — модель не понимает движения и временной связи между ними.</p><p>Где выбирать: <a href="https://benchlm.ai/benchmarks/videoMmmu" rel="noopener noreferrer nofollow">benchlm.ai/benchmarks/videoMmmu</a>. Нативно видео обрабатывает только Gemini — до часа или ссылка на YouTube. Остальные — только покадровый Vision.</p><p><strong>Как вызывать</strong></p><p><em>Картинки</em> — универсальный OpenAI-формат, работает везде. <code>image_url</code> в чат-запросе принимают OpenAI, Anthropic, Gemini, Qwen, Grok. Один и тот же код, разный <code>base_url</code> и <code>api_key</code>.</p><p><em>Транскрибация</em> — многие провайдеры поддерживают OpenAI-формат: напрямую <code>/v1/audio/transcriptions</code> или <code>input_audio</code> через <code>/v1/chat/completions</code>). Но у лидера ElevenLabs Scribe v2: собственный SDK, не совместим с OpenAI-форматом</p><p><em>Видео</em> — тут единого API нет. У OpenAI видеофайл в Chat Completions не принимается. Gemini поддерживает видео-понимание через нативный <a href="https://ai.google.dev/gemini-api/docs/video-understanding" rel="noopener noreferrer nofollow">API</a>.</p><p>🔔 Следующая тема: <a href="https://habr.com/ru/posts/1030266/" rel="noopener noreferrer nofollow">локальный запуск — когда Ollama или LMStudio лучше облачного API</a>.</p><p>⬅️ Предыдущая тема: <a href="https://habr.com/ru/posts/1023986/" rel="noopener noreferrer nofollow">Level 3. Первые артефакты — LLM API и структурированный вывод</a></p><p>Подписывайтесь, пожалуйста, чтобы не пропустить!</p><blockquote><p>Больше про ИИ — в <a href="https://t.me/aidialogs" rel="noopener noreferrer nofollow">ТГ-канале</a> и <a href="https://vk.com/llmstart" rel="noopener noreferrer nofollow">ВК</a>. <a href="https://llmstart.ru/?utm_source=habr&amp;utm_medium=post&amp;utm_campaign=agentic-roadmap-04" rel="noopener noreferrer nofollow">Каталог наших курсов, услуг и кейсов</a> по ИИ-агентам. По вопросам — <a href="https://t.me/smirnoff_ai" rel="noopener noreferrer nofollow">пишите в личку</a>.</p></blockquote> <a href="https://habr.com/ru/posts/1029790/?utm_campaign=1029790&amp;utm_source=habrahabr&amp;utm_medium=rss">Читать дальше &rarr;</a>]]></description>
      
    <pubDate>Wed, 29 Apr 2026 16:44:51 GMT</pubDate>
    <dc:creator><![CDATA[smirnoff_ai (LLMStart.ru)]]></dc:creator>
      
      <category><![CDATA[llm]]></category><category><![CDATA[multimodal]]></category><category><![CDATA[agentic ai]]></category><category><![CDATA[транскрибация]]></category><category><![CDATA[speech-to-text]]></category>
  </item>
  

	
  

  

  

    

  

  
  <item>
    <title><![CDATA[Пост @stas_makarov — Искусственный интеллект (+1) — N/P]]></title>
    <guid isPermaLink="true">https://habr.com/ru/posts/1029334/</guid>
    <link>https://habr.com/ru/posts/1029334/?utm_campaign=1029334&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
    <description><![CDATA[<figure class="full-width "><img src="https://habrastorage.org/getpro/habr/upload_files/6e7/21a/549/6e721a54973b3ee25a3b1ca58fcaf33a.png" alt="Minesweeper Enterprise" title="Minesweeper Enterprise" width="1224" height="800"><div><figcaption>Minesweeper Enterprise</figcaption></div></figure><p><strong>Вайб-кодинг и Jmix</strong></p><p>Сидели мы как-то вечером с Курсором и подумали:</p><p>"Какой же энтерпрайз проект без пасхалки или просто встроенной игры? — Чем будут заниматься менеджеры, пока агенты делают их работу?" — Вот, держите старый добрый Сапер из Windows в виде адд-она <strong>Jmix</strong>. И это не просто браузерная игра, вставленная в экран. Причем ни строчки кода не написано руками, только сгенерил проект.</p><p>Минное поле — это <code>gridLayout</code>, покрытый кнопками, генерится программно в зависимости от параметров.</p><p>Весь <em>look&amp;feel</em> как в оригинальном Minesweeper.</p><p>Опубликован на Maven, просто добавляйте зависимость:</p><p><code>implementation 'io.github.digitilius.minesweeper:minesweeper-starter:1.0.3'</code></p><p>Репозиторий здесь:</p><p><a href="https://github.com/digitilius/jmix-minesweeper" rel="noopener noreferrer nofollow">https://github.com/digitilius/jmix-minesweeper</a></p><p>Enjoy'те!</p> <a href="https://habr.com/ru/posts/1029334/?utm_campaign=1029334&amp;utm_source=habrahabr&amp;utm_medium=rss">Читать дальше &rarr;</a>]]></description>
      
    <pubDate>Wed, 29 Apr 2026 07:15:57 GMT</pubDate>
    <dc:creator><![CDATA[stas_makarov]]></dc:creator>
      
      <category><![CDATA[вайб-кодинг]]></category><category><![CDATA[java]]></category><category><![CDATA[jmix]]></category>
  </item>
  

	
  

  

  

    

  

  
  <item>
    <title><![CDATA[Пост @Andrey2008 — Блог компании PVS-Studio (+4) — 29.04.2026 09:49]]></title>
    <guid isPermaLink="true">https://habr.com/ru/companies/pvs-studio/posts/1029408/</guid>
    <link>https://habr.com/ru/companies/pvs-studio/posts/1029408/?utm_campaign=1029408&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
    <description><![CDATA[<p><strong>РБПО по ГОСТ Р 56939—2024: вебинар №09 из 30 – Экспертиза исходного кода</strong></p><p>Компания <a href="https://pvs-studio.ru/" rel="noopener noreferrer nofollow">ООО "ПВС"</a> совместно с <a href="https://mascom-uc.ru/" rel="noopener noreferrer nofollow">учебным центром "Маском"</a> провела цикл вебинаров, посвящённых разработке безопасного программного обеспечения (РБПО). Совместно с приглашёнными экспертами различных компаний мы рассмотрели 25 процессов, приведённых в ГОСТ Р 56939—2024.</p><p>Предлагаем сегодня вашему вниманию вебинар цикла, посвящённый процессу, описанному в разделе 5.9. – "<a href="https://pvs-studio.ru/ru/blog/video/11439/" rel="noopener noreferrer nofollow">Экспертиза исходного кода</a>". <a href="https://youtu.be/mxVgGLp9ZF0?si=-0_SgDaMWsuXUqSO" rel="noopener noreferrer nofollow">На YouTube</a>. <a href="https://files.pvs-studio.ru/media/presentations/03-09-2025.zip" rel="noopener noreferrer nofollow">Слайды</a>.</p><iframe id="69f1a8fc42c0bc03ac312764" src="https://embedd.srv.habr.com/iframe/69f1a8fc42c0bc03ac312764" class="embed_video embed__content" allowfullscreen="true"></iframe><p>Цели девятого процесса по ГОСТ Р 56939—2024:</p><blockquote><p>Обеспечение соответствия исходного кода ПО предъявляемым к нему требованиям.</p></blockquote><p>Общее количество вебинаров — 30: каждому из 25 процессов ГОСТа посвящено по одному вебинару и 5 записано дополнительно на смежные темы. Запись всех вебинаров и подборка дополнительной информации доступна по ссылке: <a href="https://%D0%93%D0%9E%D0%A1%D0%A256939.%D0%A0%D0%A4" rel="noopener noreferrer nofollow">ГОСТ56939.РФ</a>.</p> <a href="https://habr.com/ru/posts/1029408/?utm_campaign=1029408&amp;utm_source=habrahabr&amp;utm_medium=rss">Читать дальше &rarr;</a>]]></description>
      
    <pubDate>Wed, 29 Apr 2026 06:49:40 GMT</pubDate>
    <dc:creator><![CDATA[Andrey2008 (PVS-Studio)]]></dc:creator>
      
      <category><![CDATA[гост р 56939]]></category><category><![CDATA[гост р 56939-2024]]></category><category><![CDATA[исходный код]]></category><category><![CDATA[код]]></category><category><![CDATA[экспертиза проектов]]></category><category><![CDATA[обзоры кода]]></category><category><![CDATA[code review]]></category><category><![CDATA[вебинары]]></category><category><![CDATA[качество кода]]></category><category><![CDATA[рбпо]]></category>
  </item>
  

	
  

  

  

    

  

  
  <item>
    <title><![CDATA[Пост @abratko — Программирование (+2) — 28.04.2026 13:08]]></title>
    <guid isPermaLink="true">https://habr.com/ru/posts/1029018/</guid>
    <link>https://habr.com/ru/posts/1029018/?utm_campaign=1029018&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
    <description><![CDATA[<p><strong>Любая система всегда существует в двух основных контекстах: пользовательском и админском. </strong>Есть еще контекст ошибки, но сейчас не про него. <br>Контекст – это не домен, наоборот это часть домена.</p><p>Речь не только про разработку и ИТ.&nbsp; Канализация, кран, автомобиль, самокат, футбольный мячик - это применимо к любой системе физического мира.</p><p>Это применимо к подсистемам: двигатель, коробка передач в автомобиле, каталог или система заказов в e-com.<br><br>Админский контекст имеет интерфейсы и контракты, которые недоступны в пользовательском контексте. Задача админского контекста обеспечить целостность, консистентность настроек системы для корректной и непротиворечивой работы в пользовательском контексте.</p><p>К чему эта мысль?<br><br>Если для вашей системы внутри одного домена/поддомена нужно 2 админских или пользовательских контекста, то скорее всего у вас проблемы в архитектуре системы. 2 варианта:</p><ol><li><p>разделить домены, создав тем самым два слабосвязанных домена со своими контекстами. Это сделает домены проще, их легче поддерживать.</p></li><li><p>объединить дублирующиеся контексты. Если объединение возможно, то скорее всего ваша система перейдет на качественно новый уровень, станет более универсальной и гибкой. </p></li></ol><p>Оба варианта приведут к уменьшению когнитивной сложности и устранению скрытых связей.<br><br>Не дублируйте контексты для домена, это плохо кончится.</p> <a href="https://habr.com/ru/posts/1029018/?utm_campaign=1029018&amp;utm_source=habrahabr&amp;utm_medium=rss">Читать дальше &rarr;</a>]]></description>
      
    <pubDate>Tue, 28 Apr 2026 10:08:01 GMT</pubDate>
    <dc:creator><![CDATA[abratko]]></dc:creator>
      
      <category><![CDATA[ddd]]></category><category><![CDATA[контекст]]></category><category><![CDATA[домен]]></category><category><![CDATA[проектирование]]></category><category><![CDATA[программирование]]></category>
  </item>
  

	
  

  

  

    

  

  
  <item>
    <title><![CDATA[Пост @d_ilyich — Программирование (+1) — N/P]]></title>
    <guid isPermaLink="true">https://habr.com/ru/posts/1028676/</guid>
    <link>https://habr.com/ru/posts/1028676/?utm_campaign=1028676&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
    <description><![CDATA[<p>И ты, leetcode?</p><p>Вы заметили, что теперь на leetcode необходимо указать номер телефона для "обеспечения безопасности учётной записи и подтверждения личности":</p><blockquote><p>Add your phone number to secure your account and verify your identity.  </p></blockquote><p>А если не укажете, то не сможете:<br>- участвовать в соревнованиях;<br>- создавать комментарии в дискуссиях;<br>- публиковать решения;<br>- даже плюсовать полезные комментарии.<br><br>Я поискал, но сходу не нашёл официальной новости с разъяснениями. Однако, судя по комментам, некоторые пользователи довольны, считая, что эта мера поможет уменьшить количество читеров.<br><br>Что думаете? Не давать плюсовать комменты -- это, на мой взгляд, перебор.</p> <a href="https://habr.com/ru/posts/1028676/?utm_campaign=1028676&amp;utm_source=habrahabr&amp;utm_medium=rss">Читать дальше &rarr;</a>]]></description>
      
    <pubDate>Mon, 27 Apr 2026 14:10:32 GMT</pubDate>
    <dc:creator><![CDATA[d_ilyich]]></dc:creator>
      
      <category><![CDATA[leetcode]]></category><category><![CDATA[2fa]]></category>
  </item>
  

	
  

  

  

    

  

  
  <item>
    <title><![CDATA[Пост @MaxRokatansky — Блог компании OTUS (+3) — N/P]]></title>
    <guid isPermaLink="true">https://habr.com/ru/companies/otus/posts/1027406/</guid>
    <link>https://habr.com/ru/companies/otus/posts/1027406/?utm_campaign=1027406&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
    <description><![CDATA[<p>📝 <strong>Анонс бесплатных открытых уроков на&nbsp;неделю: 27–30&nbsp;апреля</strong></p><figure class="full-width "><img src="https://habrastorage.org/getpro/habr/upload_files/dca/3dc/2e1/dca3dc2e1322e0e708a5a63c97a99dec.png" width="1800" height="980"></figure><p>Привет, коллеги! Традиционная подборка открытых онлайн‑мероприятий для&nbsp;тех, кто хочет прокачать скиллы в&nbsp;IT, управлении, аналитике и автоматизации. На&nbsp;этой неделе&nbsp;— фокус на&nbsp;архитектуру, тестирование, Computer Vision и внутреннюю кухню разработки. Всё бесплатно, но&nbsp;нужна регистрация.</p><p>📅 <strong>Расписание по&nbsp;дням</strong></p><p><strong><em><sub>Понедельник, 27&nbsp;апреля</sub></em></strong></p><ul><li><p><strong>20:00</strong>&nbsp;— <a href="https://otus.pw/2SXT/" rel="noopener noreferrer nofollow">«Рисуем в&nbsp;формате онлайн модель процесса BPMN в&nbsp;Camunda Modeler»</a></p></li><li><p><strong>20:00</strong>&nbsp;— <a href="https://otus.pw/Jji6/" rel="noopener noreferrer nofollow">«Настройка кластера Elasticsearch»</a></p></li></ul><p><strong><em><sub>Вторник, 28&nbsp;апреля</sub></em></strong></p><ul><li><p><strong>20:00</strong>&nbsp;— <a href="https://otus.pw/nssp/" rel="noopener noreferrer nofollow">«Коучинговые инструменты для&nbsp;мотивации и повышения продуктивности команды»</a></p></li><li><p><strong>20:00</strong>&nbsp;— <a href="https://otus.pw/mNNR/" rel="noopener noreferrer nofollow">«Архитектура ИИ врагов в&nbsp;играх на&nbsp;Unity»</a></p></li><li><p><strong>20:00</strong>&nbsp;— <a href="https://otus.pw/uFCm/" rel="noopener noreferrer nofollow">«Первый нагрузочный тест в&nbsp;Apache JMeter»</a></p></li><li><p><strong>20:00</strong>&nbsp;— <a href="https://otus.pw/5hME/" rel="noopener noreferrer nofollow">«Архитектура тестового фреймворка: от&nbsp;хаоса к&nbsp;стабильности»</a></p></li><li><p><strong>20:00</strong>&nbsp;— <a href="https://otus.pw/GAuB/" rel="noopener noreferrer nofollow">«Контрактные тесты в&nbsp;Kotlin: как&nbsp;подружить фронт и бэкэнд»</a></p></li><li><p><strong>20:00</strong>&nbsp;— <a href="https://otus.pw/fzRsm/" rel="noopener noreferrer nofollow">«Фоновые задачи в&nbsp;Django: работа с&nbsp;Celery»</a></p></li><li><p><strong>20:00</strong>&nbsp;— <a href="https://otus.pw/QY7h/" rel="noopener noreferrer nofollow">«Как работают современные модели компьютерного зрения „из коробки“ на&nbsp;базе популярных библиотек и фреймворков (Hugging Face, OpenCV, YOLO, Roboflow)»</a></p></li><li><p>20:00&nbsp;— <a href="https://otus.pw/2b5W/" rel="noopener noreferrer nofollow">«Почему только 5% компаний получили реальную выгоду от&nbsp;ИИ в 2025&nbsp;году?»</a></p></li></ul><p><strong><em><sub>Среда, 29&nbsp;апреля</sub></em></strong></p><ul><li><p><strong>20:00</strong>&nbsp;— <a href="https://otus.pw/fvdS/" rel="noopener noreferrer nofollow">«Деревья решений для&nbsp;задач классификации и регрессии»</a></p></li><li><p><strong>20:00</strong>&nbsp;— <a href="https://otus.pw/SdhA/" rel="noopener noreferrer nofollow">«Свой язык на&nbsp;PHP за 60&nbsp;минут»</a></p></li><li><p><strong>20:00</strong>&nbsp;— <a href="https://otus.pw/fwtC/" rel="noopener noreferrer nofollow">«Трекинг с&nbsp;подвижной камеры: алгоритмы и механика компьютерного зрения на&nbsp;роботах для&nbsp;индустриальных задач»</a></p></li><li><p><strong>20:00</strong>&nbsp;— <a href="https://otus.pw/UGDQ/" rel="noopener noreferrer nofollow">«Разрешите себе карьеру технического директора»</a></p></li><li><p><strong>20:00</strong>&nbsp;— <a href="https://otus.pw/kuMa/" rel="noopener noreferrer nofollow">«Качество C#‑кода: от&nbsp;модульных тестов к&nbsp;системному подходу»</a></p></li><li><p><strong>20:00</strong>&nbsp;— <a href="https://otus.pw/7uaS/" rel="noopener noreferrer nofollow">«Продакт‑менеджер, маркетолог и PMM&nbsp;— в&nbsp;чём разница»</a></p></li></ul><p><strong><em><sub>Четверг, 30&nbsp;апреля</sub></em></strong></p><ul><li><p><strong>19:00</strong>&nbsp;— <a href="https://otus.pw/Djggi/" rel="noopener noreferrer nofollow">«МОК‑интервью на&nbsp;позицию Руководитель Проектов»</a></p></li><li><p><strong>19:00</strong>&nbsp;— <a href="https://otus.pw/Kcyqf/" rel="noopener noreferrer nofollow">«От стратегии к&nbsp;портфелю изменений: как&nbsp;архитектор связывает цели бизнеса, инициативы и архитектурные решения»</a></p></li><li><p><strong>20:00</strong>&nbsp;— <a href="https://otus.pw/dXLyO/" rel="noopener noreferrer nofollow">«Yahoo Finance и не&nbsp;только&nbsp;— работа с&nbsp;российскими торговыми площадкам»</a></p></li><li><p><strong>20:00</strong>&nbsp;— <a href="https://otus.pw/Jq1A/" rel="noopener noreferrer nofollow">«Поиск в&nbsp;базе знаний: где векторы ошибаются, а&nbsp;графы помогают»</a></p></li><li><p><strong>20:00</strong>&nbsp;— <a href="https://otus.pw/UccOl/" rel="noopener noreferrer nofollow">«Как управлять тимлидами?»</a></p></li><li><p><strong>20:00</strong>&nbsp;— <a href="https://otus.pw/z1Ch/" rel="noopener noreferrer nofollow">«Битрикс24&nbsp;+ MAX: разработка чат‑ботов и автоматизация коммуникаций»&nbsp;</a></p></li><li><p><strong>20:00</strong>&nbsp;— <a href="https://otus.pw/o7qm/" rel="noopener noreferrer nofollow">«Планируем внедрение DevSecOps&nbsp;— что&nbsp;следует учесть?»</a></p></li></ul><blockquote><p><em>Мы перечислили 20&nbsp;открытых вебинаров на&nbsp;эту неделю. Если вы не&nbsp;нашли в&nbsp;расписании тему, которая нужна именно вам,&nbsp;— загляните в </em><a href="https://otus.pw/r9iP3/" rel="noopener noreferrer nofollow"><em>полный календарь</em></a><em> </em></p></blockquote> <a href="https://habr.com/ru/posts/1027406/?utm_campaign=1027406&amp;utm_source=habrahabr&amp;utm_medium=rss">Читать дальше &rarr;</a>]]></description>
      
    <pubDate>Mon, 27 Apr 2026 07:20:26 GMT</pubDate>
    <dc:creator><![CDATA[MaxRokatansky (OTUS)]]></dc:creator>
      
      <category><![CDATA[вебинары]]></category><category><![CDATA[IT-обучение]]></category><category><![CDATA[архитектура ПО]]></category><category><![CDATA[тестирование]]></category><category><![CDATA[Apache JMeter]]></category><category><![CDATA[Kotlin]]></category><category><![CDATA[Django Celery]]></category><category><![CDATA[компьютерное зрение]]></category><category><![CDATA[DevSecOps]]></category><category><![CDATA[Elasticsearch]]></category>
  </item>
  

	
  

  

  

    

  

  
  <item>
    <title><![CDATA[Пост @viordash — Искусственный интеллект (+3) — 25.04.2026 18:05]]></title>
    <guid isPermaLink="true">https://habr.com/ru/posts/1027882/</guid>
    <link>https://habr.com/ru/posts/1027882/?utm_campaign=1027882&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
    <description><![CDATA[<p><strong>Оптимизация контекста для Claude Code на большом проекте (иногда и 50% экономия токенов)</strong></p><p>Работаю над большим C++ проектом - реализация сетевого протокола. Использую Claude Code как основной инструмент. Со временем заметил: каждый новый чат начинается с того, что агент долго читает README.md, который разросся до 1000+ строк и 60 КБ.</p><p><strong>Проблема</strong></p><p>В CLAUDE.md была прописана команда читать README.md в начале каждого диалога, агенту нужно дать контекст проекта. Пока проект был небольшим это работало нормально. Но README рос вместе с проектом и в итоге стал содержать всё: архитектуру, логику DTLS, настройки веб-интерфейса, описание протокола, инструкции по сборке.</p><p>И как результат:</p><ul><li><p>Агент тратит тысячи токенов на анализ файла до начала работы</p></li><li><p>Если задача касается только фронтенда, модель всё равно загружает детали реализации ядра протокола. Лишний контекст снижает точность ответов.</p></li></ul><p><strong>Решение</strong></p><p>Вместо одного большого файла использовать иерархию маленьких, в отдельной папке <code>claude-context/</code>:</p><pre><code>claude-context/
├── context-claude.md       # общая архитектура и навигация (~90 строк)
├── context-AC-claude.md    # Access Controller
├── context-WTP-claude.md   # WTP Agent
├── context-WEB-claude.md   # Web Interface
└── context-TESTS-claude.md # тесты
</code></pre><p>Главный файл <code>context-claude.md</code> содержит краткое описание проекта и таблицу-навигатор: какой файл читать для какой области. В дочерних файлах описана детализация по модулям, каждый 100-130 строк.</p><p>Инструкция в CLAUDE.md теперь выглядит так:</p><blockquote><p>“Start each new conversation by reading claude-context/context-claude.md. For deeper context on specific areas, read the relevant file from that directory.”</p></blockquote><p>Агент читает главный файл (90 строк), понимает область задачи, подгружает только нужный дочерний контекст.</p><p><strong>Замер</strong></p><p>Чтобы проверить эффект, я поставил Claude одну и ту же задачу в двух разных конфигурациях:</p><blockquote><p>“Добавь тесты для WtpConfigController и WtpRadioController, проверь что если WTP address не строка, то возникает исключение std::runtime_error”</p></blockquote><pre><code>| Параметр             | README.md (60 КБ) | Иерархический контекст | Разница  |
| :------------------- | :---------------- | :--------------------- | :------- |
| Токены на сообщения  | 36.8k             | 17.6k                  | -53%     |
| Всего токенов        | 56.7k             | 37.6k                  | -34%     |
| Рост usage за задачу | +11%              | +6%                    | В 2 раза |
| Скорость анализа     | Заметная пауза    | Почти мгновенный старт |          |
</code></pre><p><strong>Важный момент</strong></p><p>README.md остался нетронутым - это документация для людей. Файлы в <code>claude-context/</code> - отдельный артефакт, написанный под AI: плотно, без лирики, с ASCII-схемами и таблицами. Я старался не смешивать два разных назначения в одном файле.</p><p>При небольшом проекте в этом подходе смысла нет, накладные расходы на поддержку двух наборов документации не оправдаются.</p> <a href="https://habr.com/ru/posts/1027882/?utm_campaign=1027882&amp;utm_source=habrahabr&amp;utm_medium=rss">Читать дальше &rarr;</a>]]></description>
      
    <pubDate>Sat, 25 Apr 2026 15:05:10 GMT</pubDate>
    <dc:creator><![CDATA[viordash]]></dc:creator>
      
      <category><![CDATA[claude code]]></category><category><![CDATA[llm]]></category><category><![CDATA[оптимизация]]></category><category><![CDATA[контекстное окно]]></category><category><![CDATA[документация]]></category><category><![CDATA[ai-агенты]]></category>
  </item>
  

	
  

  

  

    

  

  
  <item>
    <title><![CDATA[Пост @passimx — Учебный процесс в IT (+3) — 25.04.2026 08:40]]></title>
    <guid isPermaLink="true">https://habr.com/ru/posts/1027754/</guid>
    <link>https://habr.com/ru/posts/1027754/?utm_campaign=1027754&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
    <description><![CDATA[<p><strong>TON Smart Contracts: базовый минимум за 5 минут</strong></p><figure class="full-width "><img src="https://habrastorage.org/getpro/habr/upload_files/a58/b28/926/a58b28926e62ed0b20c9887a94881e03.jpeg" width="1280" height="759"></figure><p>Если бы я наткнулся на эту статью в самом начале работы с блокчейном ТОН, это бы сэкономило мне кучу времени на понимание архитектуры и принципов работы смарт контрактов.</p><p><strong>Что такое смарт контракт с точки зрения разработчика.</strong></p><p>Я постараюсь уберечь вас от терминологии блокчейна, вместо этого на пальцах показать из чего состоит смарт контракт и как его собрать. Если говорить совсем просто, то смарт контракт - это ячейка в памяти, хранящая в себе:</p><ul><li><p>Адрес</p></li><li><p>Баланс</p></li><li><p>Любые данные, которые вы туда запишите</p></li><li><p>Код смарт контракта</p></li><li><p>Текущий статус смарт контракта</p></li></ul><p>Ну или если перевести вышесказанное в код, то:</p><pre><code class="typescript">class SmartContract{ 
   readonly address: string; 
   readonly balance: number; 
   readonly code: string; 
   readonly status: 'uninitialized' | 'active' | 'frozen'; 

   storage: object; 
   ... 
}
</code></pre><p><strong>Плавное погружение...</strong></p><p>Представьте, вы написали код класса на своем любимом языке программирования, как полагается, с полями и методами, и превратили этот код в строку.&nbsp;<strong>Code</strong>&nbsp;- это и есть код вашего смарт контракта. Он будет выполняться в блокчейне. Точкой входа в таком коде будет метод&nbsp;<strong>onInternalMessage</strong>&nbsp;или&nbsp;<strong>onExternalMessage</strong>. Чтобы состояние полей класса можно было сохранять и перезаписывать, к смарт контракту прилагается объект&nbsp;<strong>Storage</strong>&nbsp;, в котором хранятся значения ваших полей.</p><p>При сохранении смарт контракта в блокчейн вы отправляете&nbsp;<strong>{ code, data }</strong>&nbsp;, где&nbsp;<strong>code</strong>&nbsp;- это код вашего смарт контракта,&nbsp;<strong>data</strong>&nbsp;- начальные данные. По этим двум полям вычисляется будущий адрес смарт контракта:&nbsp;<strong>address = hash({ code, data })</strong>. По этому адресу будет доступен ваш смарт контракт в блокчейне ТОН. На него можно совершать переводы, просматривать историю транзакцию, с него может переводить средства и вызывать другие смарт контракты.</p><p><strong>Как происходит деплой смарт контракта.</strong></p><p>Каждый смарт контракт платит немного комиссии по факту своего существования, в пример вспоминается налог на недвижимость. Чем больше жилплощадь - тем больше налог. Но в рамках ТОН вы платите за количество данных, которое хранит ваш смарт контракт, включая сам код вашего смарт контракта. Поэтому при создании на нем должно лежать как минимум чуть-чуть ТОН(как правило копейки). Создать смарт контракт можно 2 способами:</p><p>1) Другой смарт контракт делает перевод ТОН, прикрепляя код вашего смарт контракта вместе с начальными значениями(data) в поле&nbsp;<strong>Init = { code, data }</strong>. Блокчейн видит в переводе это поле и автоматически делает деплой. Статус смарт контракта становится "active".</p><p>2) Другой смарт контракт так же делает перевод ТОН, но только не прикрепляя ничего. В таком случае средства останутся висеть на адресе пустого смарт контракта, который будет выглядеть примерно так:</p><pre><code class="typescript">{ 
   "address": "401bf...3004", 
   "balance": 3000, 
   "code": "", 
   "storage": {}, 
   "status": "uninitialized" 
}</code></pre><p>Он ждет внешнее сообщение, где в него передадут код и начальные данные таким образом, чтобы&nbsp;<strong>address = hash({ code, data })</strong>, только тогда он сохранит код и сможет выполняться. Для вызова внешнего сообщения используется обычное API, где передается адрес и&nbsp;<strong>Init = { code, data }</strong>&nbsp;. Запрос сначала попадет в блокчейн, после чего при совпадении адреса&nbsp;<strong>address = hash({ code, data })</strong>&nbsp;произойдет деплой, и статус станет "active".</p><p><strong>Заключение</strong></p><p>В этой статье мы с вами закрепили азы архитектуры блокчейна ТОН, где каждый адрес является адресом смарт контракта. Разобрали структуру и механику создания. Рады вашему фидбеку или вопросам! Следите за нашими анонсами и новостями в&nbsp;<a href="https://api.vc.ru/v2.8/redirect?to=https%3A%2F%2Ft.me%2Fpassimx_chanel&amp;postId=2872558" rel="noopener noreferrer nofollow">Telegram</a>.</p> <a href="https://habr.com/ru/posts/1027754/?utm_campaign=1027754&amp;utm_source=habrahabr&amp;utm_medium=rss">Читать дальше &rarr;</a>]]></description>
      
    <pubDate>Sat, 25 Apr 2026 05:40:01 GMT</pubDate>
    <dc:creator><![CDATA[passimx]]></dc:creator>
      
      <category><![CDATA[смарт-контракты]]></category><category><![CDATA[блокчейн]]></category><category><![CDATA[введение]]></category><category><![CDATA[ton]]></category><category><![CDATA[toncoin]]></category><category><![CDATA[ton blockchain]]></category><category><![CDATA[smartcontracts]]></category><category><![CDATA[blockchain]]></category><category><![CDATA[разработка]]></category>
  </item>
  

	
  

  

  

    

  

  
  <item>
    <title><![CDATA[Пост @NikitaPanevin — Блог компании PVS-Studio (+3) — 24.04.2026 14:52]]></title>
    <guid isPermaLink="true">https://habr.com/ru/companies/pvs-studio/posts/1027530/</guid>
    <link>https://habr.com/ru/companies/pvs-studio/posts/1027530/?utm_campaign=1027530&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
    <description><![CDATA[<p><strong>ИИ что? Проверяем Semantic Kernel</strong></p><figure class="full-width "><img src="https://habrastorage.org/getpro/habr/upload_files/ff3/597/b8e/ff3597b8e3a002df50bedb168a1711a4.png" width="975" height="550"></figure><p>Проекты, связанные с интеграцией искусственного интеллекта, всё чаще становятся частью повседневной разработки. Один из таких проектов — <a href="https://github.com/microsoft/semantic-kernel" rel="noopener noreferrer nofollow">Semantic Kernel</a>. Он представляет собой SDK для построения AI-агентов и оркестрации LLM-сценариев и активно развивается компанией Microsoft.</p><p>Однако под капотом даже самых современных решений скрывается вполне обычный C# код со всеми присущими ему проблемами. Поэтому мы проверили проект и написали статью о самых интересных <a href="https://pvs-studio.ru/ru/blog/posts/csharp/1367/?utm_source=website&amp;utm_medium=habr&amp;utm_campaign=readmore&amp;utm_content=article" rel="noopener noreferrer nofollow">ошибках в коде Semantic Kernel</a>.</p> <a href="https://habr.com/ru/posts/1027530/?utm_campaign=1027530&amp;utm_source=habrahabr&amp;utm_medium=rss">Читать дальше &rarr;</a>]]></description>
      
    <pubDate>Fri, 24 Apr 2026 11:52:54 GMT</pubDate>
    <dc:creator><![CDATA[NikitaPanevin (PVS-Studio)]]></dc:creator>
      
      <category><![CDATA[c#]]></category><category><![CDATA[.net]]></category><category><![CDATA[open source]]></category><category><![CDATA[программирование]]></category><category><![CDATA[статический анализ]]></category><category><![CDATA[semantic kernel]]></category><category><![CDATA[pvs-studio]]></category>
  </item>
  

	
  

  

  

    

  

  
  <item>
    <title><![CDATA[Пост @quasilyte — Go (+2) — 24.04.2026 12:50]]></title>
    <guid isPermaLink="true">https://habr.com/ru/posts/1027466/</guid>
    <link>https://habr.com/ru/posts/1027466/?utm_campaign=1027466&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
    <description><![CDATA[<p>Сделал необычную RTS на Ludum Dare 59 за пару дней</p><figure class="full-width "><img src="https://habrastorage.org/getpro/habr/upload_files/32a/6c1/0cd/32a6c10cd6d5cae2e90a66da2d2c0cbe.gif" alt="Выглядит примерно так" title="Выглядит примерно так" width="800" height="450"><div><figcaption>Выглядит примерно так</figcaption></div></figure><p>Игра написана на Go (Ebitengine), <a href="https://github.com/quasilyte/ld59-game" rel="noopener noreferrer nofollow">исходники на есть гитхабе</a>.</p><p><a href="https://quasilyte.itch.io/out-of-signal" rel="noopener noreferrer nofollow">Поиграть можно в браузере</a>, ведь Ebitengine имеет неплохой экспорт в wasm. Она мало весит, быстро работает, и экспорт не требовал лишних усилий - это вам не шуточный игровой движок.</p><p>Я накидал небольшой шаблон для игр на стеке своих геймдев-библиотек. Его можно посмотреть тут: <a href="https://github.com/quasilyte/gscene-game-template" rel="noopener noreferrer nofollow">https://github.com/quasilyte/gscene-game-template</a>.</p><p>С этим шаблоном старт начала работы над игровой логикой и "мясом" игры становится ближе. Это позволяет +/- выйти на удобство какого-нибудь Godot, где не нужно первые несколько часов настраивать как у нас обрабатывается input, звук и сцены. Я этот шаблон буду дорабатывать по мере участия в джемах, за каждую мини-игру у меня копится TODO на то, что еще там можно было бы улучшить.</p><p>Если тема разработки игр на Go вам интересна, заходите в наше <a href="https://t.me/go_gamedev" rel="noopener noreferrer nofollow">русскоязычное сообщество в телеграме</a>. Мы там обсуждаем всякие библиотеки для геймдева, свои игры, и всё такое.</p><p>Кстати, ребята из чатика тоже сделали свои игры на Ebitengine, вот они:</p><ul><li><p><a href="https://dqso.itch.io/hired-or-homeless" rel="noopener noreferrer nofollow">https://dqso.itch.io/hired-or-homeless</a></p></li><li><p><a href="https://metalim.itch.io/zero-day-lunch" rel="noopener noreferrer nofollow">https://metalim.itch.io/zero-day-lunch</a></p></li></ul> <a href="https://habr.com/ru/posts/1027466/?utm_campaign=1027466&amp;utm_source=habrahabr&amp;utm_medium=rss">Читать дальше &rarr;</a>]]></description>
      
    <pubDate>Fri, 24 Apr 2026 09:50:55 GMT</pubDate>
    <dc:creator><![CDATA[quasilyte]]></dc:creator>
      
      <category><![CDATA[golang]]></category><category><![CDATA[go]]></category><category><![CDATA[ld59]]></category><category><![CDATA[ldjam59]]></category><category><![CDATA[ludum-dare59]]></category><category><![CDATA[ludum-dare-59]]></category><category><![CDATA[gamedev]]></category><category><![CDATA[indiedev]]></category><category><![CDATA[ebiten]]></category><category><![CDATA[ebitengine]]></category>
  </item>
  

	
  

  

  

    

  

  
  <item>
    <title><![CDATA[Пост @apdorodin — Data Engineering (+3) — 23.04.2026 15:56]]></title>
    <guid isPermaLink="true">https://habr.com/ru/posts/1027082/</guid>
    <link>https://habr.com/ru/posts/1027082/?utm_campaign=1027082&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
    <description><![CDATA[<p>MCP - это было очень модно (где-то год назад). Но многие до сих пор не поняли простую вещь: агент с доступом к командной строке может пользоваться любыми CLI-интерфейсами ничуть не хуже.</p><p>При этом у классических CLI есть очевидные преимущества:</p><p>- Их банально легче разрабатывать</p><p>- Они прозрачнее и понятнее в работе</p><p>- Применяться они могут не только агентами, но и людьми</p><p>- Их уже существует огромное множество под любые задачи</p><p>В Google это тоже осознали и выкатили [свой инструмент](<a href="https://github.com/googleworkspace/cli" rel="noopener noreferrer nofollow">https://github.com/googleworkspace/cli</a>). Сделан он явно для агентов (его выпустили только в этом месяце), но это именно CLI, а не очередной MCP-сервер.</p><p>Точных фактов по этой теме пока нет. Кто-то говорит, что [в простых задачах MCP требует больше контекста, а в сложных — меньше, чем CLI, если инструменты грамотно обернуты и хорошо обнаруживаются агентом](<a href="https://portofcontext.com/blog/cli-vs-mcp-vs-code-mode" rel="noopener noreferrer nofollow">https://portofcontext.com/blog/cli-vs-mcp-vs-code-mode</a>). Кто-то, что этой разницей можно пренебречь, да и вызвана она тем, что не все CLI адаптированы под экономию контекста. Но все согласны, что CLI может дать агенту доступ ко всем тем же инструментам и обеспечить одинаковый процент успеха при выполнении задач, при этом будучи куда понятнее для человека и значительно проще в написании и поддержке.</p><p>В моих проектах я буду использовать CLI.</p> <a href="https://habr.com/ru/posts/1027082/?utm_campaign=1027082&amp;utm_source=habrahabr&amp;utm_medium=rss">Читать дальше &rarr;</a>]]></description>
      
    <pubDate>Thu, 23 Apr 2026 12:56:35 GMT</pubDate>
    <dc:creator><![CDATA[apdorodin]]></dc:creator>
      
      <category><![CDATA[ai]]></category><category><![CDATA[mcp]]></category><category><![CDATA[mcp-server]]></category><category><![CDATA[cli]]></category><category><![CDATA[llm]]></category><category><![CDATA[agent]]></category><category><![CDATA[ai agent]]></category><category><![CDATA[agentic ai]]></category>
  </item>
  

	
  

  

  

    

  

  
  <item>
    <title><![CDATA[Пост @MaxRokatansky — Блог компании OTUS (+3) — N/P]]></title>
    <guid isPermaLink="true">https://habr.com/ru/companies/otus/posts/1026512/</guid>
    <link>https://habr.com/ru/companies/otus/posts/1026512/?utm_campaign=1026512&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
    <description><![CDATA[<p><strong>Бэкенд «тормозит», API ломаются, а архитектура трещит: уроки, которые помогают закрыть эти проблемы</strong></p><figure class="full-width "><img src="https://habrastorage.org/getpro/habr/upload_files/2ea/ed7/fef/2eaed7feff9e3d33752b4f2fccfbe325.png" width="1800" height="980"></figure><p>У бэкенд-разработки есть неприятная особенность: большинство сложностей проявляется не в момент, когда пишется первый сервис, а позже — когда API начинает обрастать интеграциями, фоновые задачи конкурируют за ресурсы, поиск и хранилище требуют разных подходов к данным, а архитектурные решения внезапно начинают влиять на скорость разработки не меньше, чем качество кода.</p><p>В этой подборке — бесплатные демо-уроки от преподавателей-практиков про те части бэкенда, которые обычно и забирают больше всего времени в реальной работе. Это хороший способ посмотреть на чужой инженерный подход, познакомиться с экспертом, задать вопросы по своей ситуации и заодно закрыть конкретные пробелы: в API, тестировании, нагрузке, инфраструктуре, работе с данными и проектировании систем.</p><ul><li><p>22 апреля 20:00. <a href="https://otus.pw/9fKu/" rel="noopener noreferrer nofollow">Bun + ИИ: создаём быстрый сервер нового поколения на JavaScript</a></p></li><li><p>22 апреля 20:00. <a href="https://otus.pw/dVlO/" rel="noopener noreferrer nofollow">Symfony Workflow: конечный автомат для реализации бизнес-логики</a></p></li><li><p>23 апреля 20:00. <a href="https://otus.pw/dVlO/" rel="noopener noreferrer nofollow">Многопоточность в C++: как писать быстрые и безопасные приложения</a></p></li><li><p>23 апреля 20:00. <a href="https://otus.pw/iB16/" rel="noopener noreferrer nofollow">Паттерны RESTful API. Как проектировать удобные, масштабируемые и гибкие API?</a></p></li><li><p>28 апреля 20:00. <a href="https://otus.pw/6Axs/" rel="noopener noreferrer nofollow">Фоновые задачи в Django: работа с Celery</a></p></li><li><p>30 апреля 20:00. <a href="https://otus.pw/y3gJ/" rel="noopener noreferrer nofollow">Поиск в базе знаний: где векторы ошибаются, а графы помогают</a></p></li><li><p>4 мая 20:00. <a href="https://otus.pw/PTT1/" rel="noopener noreferrer nofollow">Интерфейсы в Golang изнутри</a></p></li><li><p>5 мая 20:00. <a href="https://otus.pw/dVsE/" rel="noopener noreferrer nofollow">Postgres + JSON: реляционная мощь, документная гибкость</a></p></li><li><p>5 мая 20:00. <a href="https://otus.pw/vD8N/" rel="noopener noreferrer nofollow">Архитектурные решения в бэкенд-разработке</a></p></li><li><p>6 мая 19:00. <a href="https://otus.pw/DM8s/" rel="noopener noreferrer nofollow">Разработка проекта на Kotlin: коллаборация человека, архитектурных шаблонов и ИИ-команды</a></p></li><li><p>6 мая 20:00. <a href="https://otus.pw/k1C9H/" rel="noopener noreferrer nofollow">Rust в деле: пишем многопользовательский чат с сервером, клиентом и CLI</a></p></li><li><p>7 мая 20:00. <a href="https://otus.pw/X0cA/" rel="noopener noreferrer nofollow">От кода до Kubernetes за полтора часа</a></p></li><li><p>7 мая 20:00. <a href="https://otus.pw/tAZL/" rel="noopener noreferrer nofollow">Тестирование микросервисов на Go: почему ваш сервис ломается под 1000 RPS</a></p></li><li><p>13 мая 20:00. <a href="https://otus.pw/qMPdU/" rel="noopener noreferrer nofollow">Kafka Streams DSL</a></p></li><li><p>13 мая 20:00. <a href="https://otus.pw/BUqE/" rel="noopener noreferrer nofollow">ClickHouse для аналитики больших данных: практические кейсы и связь с NoSQL-экосистемой</a></p></li><li><p>14 мая 20:00. <a href="https://otus.pw/cUMl/" rel="noopener noreferrer nofollow">Взаимодействие с базой данных и миграции на Go</a></p></li></ul><blockquote><p><em>Полный список бесплатных уроков от преподавателей курсов по программированию, инфраструктуре и не только уже доступен </em><a href="https://otus.pw/goUn/" rel="noopener noreferrer nofollow"><em>в календаре мероприятий.</em></a></p></blockquote> <a href="https://habr.com/ru/posts/1026512/?utm_campaign=1026512&amp;utm_source=habrahabr&amp;utm_medium=rss">Читать дальше &rarr;</a>]]></description>
      
    <pubDate>Wed, 22 Apr 2026 10:13:03 GMT</pubDate>
    <dc:creator><![CDATA[MaxRokatansky (OTUS)]]></dc:creator>
      
      <category><![CDATA[бэкенд-разработка]]></category><category><![CDATA[микросервисы]]></category><category><![CDATA[архитектурные решения]]></category><category><![CDATA[Postgres]]></category><category><![CDATA[подборка вебинаров]]></category><category><![CDATA[бесплатные уроки]]></category><category><![CDATA[онлайн-обучение]]></category><category><![CDATA[карьера в ит]]></category><category><![CDATA[профессиональное развитие]]></category>
  </item>
  

	
  

  

  

    

  

  
  <item>
    <title><![CDATA[Пост @TonyAlt — Unity (+4) — N/P]]></title>
    <guid isPermaLink="true">https://habr.com/ru/posts/1025780/</guid>
    <link>https://habr.com/ru/posts/1025780/?utm_campaign=1025780&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
    <description><![CDATA[<p><strong>Как разработчикам монетизировать свои игры в 2026?</strong></p><p>Всем привет! Хотели похвастаться очередным сложным, но очень важным шагом на пути к возрождению российского геймдева и заодно спросить мнения окружающих (да, мы всегда сначала делаем, потом думаем).</p><p>Традиционный подход подразумевает, что разработчик заключает договор с площадкой (Steam, VK Play, Itch и т.д.). Игрок покупает игру, и деньги идут на счёт платформы. После этого в определенные даты происходит выплаты на счета разработчиков за вычетом комиссий. Где-то больше, где-то меньше, где-то по-другому. Но смысл тот же. Этот подход позволяет, во-первых, брать комиссии, во-вторых, легче работать с возвратами и в-третьих, быстрее распознавать отмывание денег и мошенничество.</p><p>Мы решили использовать схему маркетплейсов, где каждый разработчик приходит со своим статусом (ООО, ИП, смз). Но приходит он в первую очередь не к нам, а к платёжным агрегаторам типа Юкасса, Робокасса, любая …касса. Одним словом, подключает себе интернет-эквайринг, такое делает любой банк. Банк ему даёт API для подключения, ID магазина, ключи для проведения оплат и всё, действуй.</p><p>Где здесь мы? Мы предоставляем бесплатный хостинг для игр. Сама площадка + страница игры + страница разработчика. Всё тоже самое что у itch[.]io. Заодно есть консоль разработчика, в которую добавляется всё больше и больше возможностей. Соответственно, в этой консоли разработчик указывает тот самый идентификатор магазина, суперсекретный ключ и дальше надеется на магию.</p><p>Если магия происходит, то наш скрипт подставляет его данные в другой скрипт, только уже от платёжного агрегатора. Игрок видит кнопку обычную кнопку оплаты и оплачивает, после чего денюжки магическим образом летят на счёт разработчика. На этом магия заканчивается, начинается то ли математика, то ли бухгалтерия (я в этом не силён, не шарю).</p><p>Опережу (почти) все вопросы и сразу отвечу:</p><p>Q: На что вы будете существовать если у вас комиссии 0%?</p><p>A: При покупке игры рядом есть еще кнопочка “поддержать платформу”, надеемся, что это сработает</p><p>Q: Вы делаете очередного убийцу стима?</p><p>A: Нет</p><p>Q: Это точно не развод?</p><p>A: Точно нет, чесслово</p><p>На остальные вопросы обязательно ответим. Так как это не реклама, то прямо указывать название площадки не буду, но подскажу, что наш канал <a href="https://t.me/dustore_official" rel="noopener noreferrer nofollow">https://t.me/dustore_official</a></p> <a href="https://habr.com/ru/posts/1025780/?utm_campaign=1025780&amp;utm_source=habrahabr&amp;utm_medium=rss">Читать дальше &rarr;</a>]]></description>
      
    <pubDate>Mon, 20 Apr 2026 18:05:32 GMT</pubDate>
    <dc:creator><![CDATA[TonyAlt]]></dc:creator>
      
      <category><![CDATA[публикация игр]]></category><category><![CDATA[разработка игр]]></category><category><![CDATA[монетизация игр]]></category>
  </item>
  

	
  

  

  

    

  

  
  <item>
    <title><![CDATA[Пост @JordanCpp — C (+4) — 20.04.2026 14:17]]></title>
    <guid isPermaLink="true">https://habr.com/ru/posts/1025592/</guid>
    <link>https://habr.com/ru/posts/1025592/?utm_campaign=1025592&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
    <description><![CDATA[<p><strong>Переосмысление библиотеки <a href="https://github.com/JordanCpp/LDL" rel="noopener noreferrer nofollow">LDL</a>.</strong></p><figure class="full-width "><img src="https://habrastorage.org/getpro/habr/upload_files/8eb/316/594/8eb3165940792d960cabf23cb81bb10c.jpg" width="802" height="632"></figure><p>Я полностью пересмотрел концепцию библиотеки LDL.</p><p><strong>Что такое LDL?</strong><br>Это графическая библиотека с единым API для всех систем как старых, так и новых.</p><p>Раньше я писал её на C++98, что давало хорошую портабельность. Но сейчас я пересмотрел многие тезисы, которые декларировал на GitHub, чтобы наконец добраться до первого релиза.</p><p>Новая стратегия</p><p>Я решил выпускать релизы&nbsp;<strong>без реализации полного функционала</strong>&nbsp;(графика, звук, шрифты и т.д.) постепенно, итеративно.</p><ul><li><p>Перешёл на&nbsp;<strong>C89</strong>&nbsp;для максимальной переносимости. Это не только DOS или Windows 3.x, но и старые системы вроде Solaris, PlayStation 1 и другие.</p></li><li><p>Для&nbsp;<strong>первого релиза</strong>&nbsp;реализую минимальный базовый функционал: графику (OpenGL, Vulkan), окна и события. По возможностям аналог GLFW.</p></li><li><p>С каждым следующим релизом буду добавлять: 2D-рендер, звук, шрифты и прочее.</p></li></ul><p>Лицензия и целевые платформы</p><ul><li><p>Лицензия меняется на&nbsp;<strong>LGPLv3</strong>.</p></li><li><p>На старте поддерживаются&nbsp;<strong>Windows и Linux</strong>.</p></li></ul><p>Качество и инструменты</p><p>При разработке использую:</p><ul><li><p>AddressSanitizer (ASan)</p></li><li><p>UndefinedBehaviorSanitizer (UBSan)</p></li><li><p>Различные анализаторы кода</p></li></ul><p>Я считаю, что такая стратегия полезнее, чем годами доводить библиотеку до версии 1.0 в офлайн-режиме.</p><p><strong>Примеры и бэкенды</strong></p><ul><li><p>Добавлю&nbsp;<strong>десятки примеров</strong>&nbsp;с OpenGL 1.x, OpenGL 3.x и Vulkan.</p></li><li><p>Буду добавлять&nbsp;<strong>бэкенды для LDL</strong>: не только под ОС, но и поверх других графических библиотек — SDL, SFML, GLFW и т.д.</p></li><li><p><strong>API остаётся единым</strong>&nbsp;для всех бэкендов.</p></li></ul><p>Это позволит сразу добавить поддержку звука и шрифтов (через бэкенды), а в нативных версиях реализовывать их позже.</p><p>&nbsp;<strong>2D-рендер без границ</strong></p><p>Одной из главных задач LDL я вижу создание&nbsp;<strong>единого 2D-интерфейса</strong>, который стирает различия между поколениями графики.</p><p>Вам не нужно думать о том, что находится в системе: современная видеокарта с&nbsp;<strong>Vulkan</strong>, старый ускоритель с&nbsp;<strong>OpenGL 1.2</strong>&nbsp;или вообще только центральный процессор (<strong>Software Rendering</strong>).</p><ul><li><p><strong>Единый интерфейс</strong>: Вы используете одни и те же команды для рисования пикселей, линий и спрайтов.</p></li><li><p><strong>Адаптивность</strong>: LDL сам выберет наиболее эффективный способ вывода изображения. На современной системе это будет аппаратное ускорение, а на «железе» без видеокарты оптимизированный программный растеризатор.</p></li><li><p><strong>Визуальная честность</strong>: Ваш визуальный стиль останется неизменным, на чем бы он ни запускался. Это дает возможность делать игры и приложения, которые выглядят и работают одинаково и на ретро-ноутбуке, и на современном мониторе.</p></li></ul><p><strong>Философия: Машина времени в вашем коде</strong></p><p>Зачем тратить силы на поддержку систем, которые многие считают «трупами»?</p><p><strong>1. Борьба с цифровым забвением</strong></p><p>Современный софт живет 3–5 лет. Мы выбрасываем железо не потому, что оно сломалось, а потому, что софт стал слишком тяжелым и ленивым. LDL — это протест против «запланированного устаревания». Я хочу, чтобы код, написанный сегодня, мог дышать в железе любой эпохи.</p><p><strong>2. Инженерный аскетизм</strong></p><p>Когда у тебя гигабайты памяти, ты перестаешь ценить каждый байт. Написание библиотеки под C89 для слабого железа — это духовная практика для программиста. Это возвращение к искусству находить изящные решения в условиях жестких ограничений. Каждый сэкономленный такт процессора — это дань уважения инженерам прошлого.</p><p><strong>3. Преемственность поколений</strong></p><p>Мы стоим на плечах гигантов, но часто забываем их имена. LDL сохраняет возможность для диалога между эпохами. Это инструмент, который позволяет современному разработчику почувствовать «металл» старых машин, не теряя связи с современными технологиями вроде Vulkan.</p><p><strong>Итог</strong></p><p>LDL — это&nbsp;<strong>Little Directmedia Layer</strong>. Он маленький не потому, что слабый, а потому, что в нем нет ничего лишнего. Это попытка создать код, который будет принадлежать не конкретной версии ОС, а истории программирования в целом.</p><p>Один API. Один код. Тридцать лет компьютерной истории.</p> <a href="https://habr.com/ru/posts/1025592/?utm_campaign=1025592&amp;utm_source=habrahabr&amp;utm_medium=rss">Читать дальше &rarr;</a>]]></description>
      
    <pubDate>Mon, 20 Apr 2026 11:17:08 GMT</pubDate>
    <dc:creator><![CDATA[JordanCpp]]></dc:creator>
      
      <category><![CDATA[c89]]></category><category><![CDATA[c++]]></category>
  </item>
  

	
  

  

  

    

  

  
  <item>
    <title><![CDATA[Пост @MaxRokatansky — Блог компании OTUS (+2) — N/P]]></title>
    <guid isPermaLink="true">https://habr.com/ru/companies/otus/posts/1024194/</guid>
    <link>https://habr.com/ru/companies/otus/posts/1024194/?utm_campaign=1024194&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
    <description><![CDATA[<p><strong>30 беплатных уроков недели: AI, Spark 4.0, C++, REST API, Angular и Linux</strong></p><figure class="full-width "><img src="https://habrastorage.org/getpro/habr/upload_files/5b6/238/04f/5b623804fc6b24611d08a63f32832978.png" width="1800" height="980"></figure><p>Привет, Хабр. Собрали подборку ближайших бесплатных уроков, которые проведут  преподаватели курсов Отус в преддверии старта новых курсов. На них можно узнать о формате обучения, пообщаться с экспертами и заодно закрыть пробелы в знаниях по интересующей теме. Выбирайте свою тему и присоединяйтесь.</p><p><strong>20 апреля, понедельник:</strong></p><ul><li><p>20:00. <a href="https://otus.pw/gaBU/" rel="noopener noreferrer nofollow">Unit-тесты для iOS приложений, работаем над качеством изнутри </a></p></li><li><p>20:00. <a href="https://otus.pw/3Pr0/" rel="noopener noreferrer nofollow">Качество данных (data quality) на практике: от технических метрик до внедрения в команде </a></p></li><li><p>20:00. <a href="https://otus.pw/hv7T/" rel="noopener noreferrer nofollow">От интерфейса до корзины: создаём мини интернет-магазин на языке JavaScript</a> </p></li><li><p>20:00. <a href="https://otus.pw/MIgq/" rel="noopener noreferrer nofollow">Эффекты в Scala</a> </p></li><li><p>20:00. <a href="https://otus.pw/s8kB/" rel="noopener noreferrer nofollow">Балансировка и геораспределение: как создать быстрое и надёжное приложение для всего мира </a></p></li><li><p>20:00. <a href="https://otus.pw/nEMO8/" rel="noopener noreferrer nofollow">Менеджер в перегрузе: как выжить и не выгореть</a> </p></li></ul><p><strong>21 апреля, вторник:</strong></p><ul><li><p>19:00. <a href="https://otus.pw/OCow/" rel="noopener noreferrer nofollow">BPMN для 1С: Как правильно моделировать интеграции? (Разбираем 4 уровня детализации) </a></p></li><li><p>19:00. <a href="https://otus.pw/qlpJ/" rel="noopener noreferrer nofollow">Значение корпоративной архитектуры для реализации стратегии цифровой трансформации </a></p></li><li><p>20:00. <a href="https://otus.pw/h61O/" rel="noopener noreferrer nofollow">Функции в SQL: вычисления и переиспользование кода</a> </p></li><li><p>20:00. <a href="https://otus.pw/uUBE/" rel="noopener noreferrer nofollow">Оптимизация запросов 1С </a></p></li><li><p>20:00. <a href="https://otus.pw/9kPk/" rel="noopener noreferrer nofollow">Архитектура мониторинга ИБ инфраструктуры на SIEM</a> </p></li><li><p>20:00. <a href="https://otus.pw/bXuxO/" rel="noopener noreferrer nofollow">Производительность кода на примере алгоритмов сортировки </a></p></li><li><p>20:00. <a href="https://otus.pw/1l64/" rel="noopener noreferrer nofollow">Как BPMN помогает видеть узкие места </a></p></li><li><p>20:00. <a href="https://otus.pw/j8HG/" rel="noopener noreferrer nofollow">Архитектура Angular-приложения: как писать масштабируемый frontend</a> </p></li><li><p>20:00. <a href="https://otus.pw/AanU/" rel="noopener noreferrer nofollow">Связанные списки в ядре Linux: от API до реального кода </a></p></li><li><p>20:00. <a href="https://otus.pw/yqPd2/" rel="noopener noreferrer nofollow">Использование BGP для маршрутизации IPv6 </a></p></li></ul><p><strong>22 апреля, среда:</strong></p><ul><li><p>19:00. <a href="https://otus.pw/7rQJ/" rel="noopener noreferrer nofollow">Основы балансировки нагрузки в Angie и Nginx </a></p></li><li><p>20:00. <a href="https://otus.pw/HkPQ/" rel="noopener noreferrer nofollow">Бизнес-процессы CRM. Стандартные активити CRM</a> </p></li><li><p>20:00. <a href="https://otus.pw/Jo8W/" rel="noopener noreferrer nofollow">Bun + ИИ: создаём быстрый сервер нового поколения на JavaScript (Bun — современная среда выполнения JavaScript; ИИ — искусственный интеллект)</a> </p></li><li><p>20:00. <a href="https://otus.pw/B9gR/" rel="noopener noreferrer nofollow">Symfony Workflow: конечный автомат для реализации бизнес-логики </a></p></li><li><p>20:00. <a href="https://otus.pw/Mw5R/" rel="noopener noreferrer nofollow">Делегирование без боли: как перестать быть “главным исполнителем” и не скатиться в микроменеджмент</a> </p></li><li><p>20:00. <a href="https://otus.pw/LW3j/" rel="noopener noreferrer nofollow">Программируемые реле в АСУ ТП: гибкий инструмент для решения инженерных задач </a></p></li><li><p>20:00. <a href="https://otus.pw/e38t/" rel="noopener noreferrer nofollow">Создание нейро-сотрудника на базе Telegram-бота и GPT: от регистрации до рабочего прототипа </a></p></li></ul><p><strong>23 апреля, четверг:</strong></p><ul><li><p>18:00. <a href="https://otus.pw/GCa7/" rel="noopener noreferrer nofollow">Cоздаём ИИ-ассистента для системного аналитика за 1 час </a></p></li><li><p>19:00. <a href="https://otus.pw/QPSU/" rel="noopener noreferrer nofollow">Интегрируем EDT в процессы непрерывной интеграции. Подключаем 1С к CI/CD </a></p></li><li><p>20:00. <a href="https://otus.pw/WVqO/" rel="noopener noreferrer nofollow">Что нового в Spark 4.0 </a></p></li><li><p>20:00. <a href="https://otus.pw/YB6V2/" rel="noopener noreferrer nofollow">Многопоточность в C++: как писать быстрые и безопасные приложения </a></p></li><li><p>20:00. <a href="https://otus.pw/wKgpV/" rel="noopener noreferrer nofollow">Паттерны RESTful API. Как проектировать удобные, масштабируемые и гибкие API? </a></p></li></ul><p><strong>27 апреля, понедельник:</strong></p><ul><li><p>20:00. <a href="https://otus.pw/aC49/" rel="noopener noreferrer nofollow">Рисуем в формате онлайн модель процесса BPMN в Camunda Modeler </a></p></li><li><p>20:00. <a href="https://otus.pw/ZSzk/" rel="noopener noreferrer nofollow">Настройка кластера Elasticsearch</a></p></li></ul><blockquote><p><em>Еще больше бесплатных уроков от преподавателей курсов можно посмотреть </em><a href="https://otus.pw/BpC0T/" rel="noopener noreferrer nofollow"><em>в календаре мероприятий.</em></a></p></blockquote> <a href="https://habr.com/ru/posts/1024194/?utm_campaign=1024194&amp;utm_source=habrahabr&amp;utm_medium=rss">Читать дальше &rarr;</a>]]></description>
      
    <pubDate>Mon, 20 Apr 2026 07:28:15 GMT</pubDate>
    <dc:creator><![CDATA[MaxRokatansky (OTUS)]]></dc:creator>
      
      <category><![CDATA[карьера в ит]]></category><category><![CDATA[подборка вебинаров]]></category><category><![CDATA[бесплатные уроки]]></category><category><![CDATA[профессиональное развитие]]></category><category><![CDATA[повышение грейда]]></category><category><![CDATA[lifelong education]]></category><category><![CDATA[обучение в ит]]></category>
  </item>
  

	
  

  

  

    

  

  
  <item>
    <title><![CDATA[Пост @Assador — Текстовые редакторы и IDE (+4) — N/P]]></title>
    <guid isPermaLink="true">https://habr.com/ru/posts/1024892/</guid>
    <link>https://habr.com/ru/posts/1024892/?utm_campaign=1024892&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
    <description><![CDATA[<p>Пока везут в&nbsp;Zed нативный diff выделенных кусков кода, с&nbsp;подсветкой, преферансом и&nbsp;барышнями, мы будем пить то, что&nbsp;есть&nbsp;😁</p><p>Скрипт намбер&nbsp;ван:</p><pre><code class="bash">#!/bin/bash

FILE1="/tmp/clp.saved"

# xclip -o -selection primary &gt; "$FILE1"
wl-paste --primary &gt; "$FILE1"
notify-send "Diff" "Первый фрагмент сохранён"</code></pre><p>вешаем на&nbsp;одно сочетание клавиш (у&nbsp;меня, например, для&nbsp;удобства, <code>Alt+Shift+1</code>)<br> (выбираем на&nbsp;вкус для X11 или Wayland)</p><p>Скрипт намбер&nbsp;ту:</p><pre><code class="bash">#!/bin/bash

FILE1="/tmp/clp.saved"
FILE2=$(mktemp /tmp/clp.XXXXXX)

trap 'rm -f "$FILE2"' EXIT

# xclip -o -selection primary &gt; "$FILE2"
wl-paste --primary &gt; "$FILE2"

if [ ! -s "$FILE1" ] || [ ! -s "$FILE2" ]; then
	notify-send "Ошибка" "Нет текста для сравнения"
	exit 1
fi

meld "$FILE1" "$FILE2"</code></pre><p>вешаем на&nbsp;другое сочетание клавиш (у&nbsp;меня, например, <code>Alt+Shift+2</code>)</p><p>Изолента и&nbsp;реактивный двигатель&nbsp;— вот&nbsp;всё, что нам нужно. Лучше, чем&nbsp;ничего, по&nbsp;крайней мере…<br> Первый скрипт сохраняет выделенный текст во&nbsp;временный файл <code>/tmp/clp.saved</code>.<br> Второй скрипт сохраняет выделенный текст в&nbsp;другой временный файл <code>/tmp/clp.XXXXXX</code>, открывает&nbsp;их оба в&nbsp;нашем любимом <strong>Meld</strong>, мы на всё это дело любуемся, сравниваем, закрываем Meld, после чего скрипт удаляет этот второй временный файл со&nbsp;случайным постфиксом, чтобы не&nbsp;болтался зря. Первый, <code>/tmp/clp.saved</code> пока остаётся, чтобы было удобно с&nbsp;одним и&nbsp;тем&nbsp;же «первовыделенным» сравнивать несколько вариантов, и&nbsp;его всегда можно переопределить первым скриптом.</p><p><strong>Итого</strong>: Выделили кусок, <code>Alt+Shift+1</code>, выделили другой кусок, <code>Alt+Shift+2</code>&nbsp;— смотрим, радуемся!&nbsp;😁</p> <a href="https://habr.com/ru/posts/1024892/?utm_campaign=1024892&amp;utm_source=habrahabr&amp;utm_medium=rss">Читать дальше &rarr;</a>]]></description>
      
    <pubDate>Sat, 18 Apr 2026 08:10:30 GMT</pubDate>
    <dc:creator><![CDATA[Assador]]></dc:creator>
      
      <category><![CDATA[zed]]></category><category><![CDATA[meld]]></category><category><![CDATA[bash]]></category><category><![CDATA[лайфхаки]]></category><category><![CDATA[инструменты]]></category>
  </item>
  

	
  

  

  

    

  

  
  <item>
    <title><![CDATA[Пост @AleksandraUvarova — Блог компании PVS-Studio (+3) — 17.04.2026 13:09]]></title>
    <guid isPermaLink="true">https://habr.com/ru/companies/pvs-studio/posts/1024582/</guid>
    <link>https://habr.com/ru/companies/pvs-studio/posts/1024582/?utm_campaign=1024582&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
    <description><![CDATA[<p><strong>Как устроен компилятор?</strong></p><figure class="full-width "><img src="https://habrastorage.org/getpro/habr/upload_files/52b/498/214/52b498214111ad5f923740beb8580ac5.png" width="1600" height="902"></figure><p>Мы каждый день пишем код, но часто воспринимаем компилятор как "чёрный ящик". Сегодня приоткроем завесу тайны над работой компилятора, расскажем о его жизненном цикле и объясним, на каком этапе в игру вступают деревья. </p><p>Под капотом скрывается целый конвейер, который включает в себя построение дерева, оптимизацию и генерацию кода. Мы разобрали все этапы на конкретных примерах и написали статью для тех, кто хочет понять, <a href="https://pvs-studio.ru/ru/blog/posts/1364/?utm_source=website&amp;utm_medium=habr&amp;utm_campaign=readmore&amp;utm_content=article" rel="noopener noreferrer nofollow">как работает компилятор</a>.</p> <a href="https://habr.com/ru/posts/1024582/?utm_campaign=1024582&amp;utm_source=habrahabr&amp;utm_medium=rss">Читать дальше &rarr;</a>]]></description>
      
    <pubDate>Fri, 17 Apr 2026 10:09:36 GMT</pubDate>
    <dc:creator><![CDATA[AleksandraUvarova (PVS-Studio)]]></dc:creator>
      
      <category><![CDATA[программирование]]></category><category><![CDATA[компиляторы]]></category><category><![CDATA[устройство]]></category><category><![CDATA[c++]]></category><category><![CDATA[c#]]></category><category><![CDATA[java]]></category><category><![CDATA[ast]]></category><category><![CDATA[абстрактное синтаксическое дерево]]></category><category><![CDATA[синтаксический анализ]]></category><category><![CDATA[статистический анализ]]></category>
  </item>
  

	
  

  

  

    

  

  
  <item>
    <title><![CDATA[Пост @smirnoff_ai — Блог компании LLMStart.ru (+3) — N/P]]></title>
    <guid isPermaLink="true">https://habr.com/ru/companies/llmstart/posts/1023986/</guid>
    <link>https://habr.com/ru/companies/llmstart/posts/1023986/?utm_campaign=1023986&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
    <description><![CDATA[<p><strong>Дорожная карта Agentic AI. Level 3. Первые артефакты — LLM API и структурированный вывод</strong></p><figure class=""><img src="https://habrastorage.org/webt/a2/b4/42/a2b442edd45e043e3bb591d7398fa2be.png" alt="Дорожная карта Agentic AI — Level 3. Первые артефакты: LLM API и структурированный вывод" title="Level 3. Первые артефакты — LLM API и структурированный вывод"><div><figcaption>Level 3. Первые артефакты — LLM API и структурированный вывод</figcaption></div></figure><p>Продолжаем идти по дорожной карте. Пришло время научиться обращаться к моделям через API.</p><p>— А куда обращаться? — спросите вы.</p><p>Есть несколько вариантов.</p><ol><li><p>Первый — на серверы производителей: старым добрым ChatGPT, DeepSeek, Gemini, Qwen.</p></li><li><p>Второй — к хабам опенсорс-моделей, например <a href="https://huggingface.co/docs/huggingface_hub/v1.3.1/en/guides/inference" rel="noopener noreferrer nofollow">HuggingFace</a>.</p></li><li><p>Третий — к провайдерам-агрегаторам, которые предоставляют и то и другое: <a href="https://openrouter.ai/" rel="noopener noreferrer nofollow">Openrouter</a>, <a href="https://www.together.ai/" rel="noopener noreferrer nofollow">Together</a>, <a href="https://fireworks.ai/" rel="noopener noreferrer nofollow">Fireworks</a>.</p></li></ol><p>К сожалению, форматы API у всех отличаются и обладают своей спецификой. А нам это неудобно, так как мы точно захотим экспериментировать с разными моделями и сервисами.</p><p>Но, к счастью, OpenAI был впереди планеты всей, и его <a href="https://platform.openai.com/docs/quickstart" rel="noopener noreferrer nofollow">формат</a> стал стандартом де-факто.</p><p>Поэтому начните с <a href="https://platform.openai.com/docs/libraries?language=python" rel="noopener noreferrer nofollow">интерфейса OpenAI</a>, возьмите провайдер <a href="https://openrouter.ai/docs/quickstart#using-the-openai-sdk" rel="noopener noreferrer nofollow">Openrouter</a>. Изучите спецификацию, форматы сообщений, поэкспериментируйте с системным промптом, параметрами генерации, <a href="https://platform.openai.com/docs/guides/streaming-responses" rel="noopener noreferrer nofollow">потоковым выводом</a>. Изучите мета-информацию в ответе — количество токенов, время генерации.</p><p>Обязательно разберитесь со <strong>структурированным выводом</strong>: это когда модель возвращает не просто текст, а JSON строго по вашей схеме. В агентных пайплайнах без этого никуда — именно так агенты передают данные друг другу и вызывают инструменты.</p><p>Сгенерируйте своего первого ИИ-ассистента, благо кодовые агенты отлично умеют генерировать код для OpenAI-библиотек. Изучайте основы, не гонитесь сразу за фреймворками верхнего уровня — с ними познакомимся позже.</p><p>📚 <strong>Материалы</strong></p><ul><li><p><a href="https://youtu.be/Sd8FXPzMIuo" rel="noopener noreferrer nofollow">Наш видео-туториал по OpenAI API</a></p></li><li><p><a href="https://platform.openai.com/docs/quickstart" rel="noopener noreferrer nofollow">OpenAI Quickstart</a> · <a href="https://github.com/openai/openai-python" rel="noopener noreferrer nofollow">Python SDK</a> · <a href="https://platform.openai.com/docs/guides/streaming-responses" rel="noopener noreferrer nofollow">Streaming</a></p></li><li><p><a href="https://huggingface.co/docs/huggingface_hub/v1.3.1/en/guides/inference" rel="noopener noreferrer nofollow">HuggingFace Inference API</a></p></li><li><p><a href="https://openrouter.ai/docs/quickstart" rel="noopener noreferrer nofollow">Openrouter Quickstart</a> · <a href="https://www.together.ai/" rel="noopener noreferrer nofollow">Together AI</a> · <a href="https://fireworks.ai/" rel="noopener noreferrer nofollow">Fireworks AI</a></p></li></ul><p>🔔 Следующая тема: <a href="https://habr.com/ru/posts/1029790/" rel="noopener noreferrer nofollow">мультимодальность — голос, изображения, видео</a>.</p><p>⬅️ Предыдущая тема: <a href="https://habr.com/ru/posts/1021516/" rel="noopener noreferrer nofollow">Level 2. AI-driven разработка</a></p><p>Подписывайтесь, пожалуйста, чтобы не пропустить!</p><p>Наши <a href="https://llmstart.ru/?utm_source=habr&amp;utm_medium=post&amp;utm_campaign=agentic-roadmap#programs-section" rel="noopener noreferrer nofollow">курсы</a> по ИИ-агентам. По вопросам — пишите <a href="https://t.me/smirnoff_ai" rel="noopener noreferrer nofollow">мне</a>.</p> <a href="https://habr.com/ru/posts/1023986/?utm_campaign=1023986&amp;utm_source=habrahabr&amp;utm_medium=rss">Читать дальше &rarr;</a>]]></description>
      
    <pubDate>Fri, 17 Apr 2026 05:31:20 GMT</pubDate>
    <dc:creator><![CDATA[smirnoff_ai (LLMStart.ru)]]></dc:creator>
      
      <category><![CDATA[ai]]></category><category><![CDATA[llm]]></category><category><![CDATA[json]]></category><category><![CDATA[structured output]]></category><category><![CDATA[openai]]></category>
  </item>
  

	
  

  

  

    

  

  
  <item>
    <title><![CDATA[Пост @MaxRokatansky — Блог компании OTUS (+1) — N/P]]></title>
    <guid isPermaLink="true">https://habr.com/ru/companies/otus/posts/1021906/</guid>
    <link>https://habr.com/ru/companies/otus/posts/1021906/?utm_campaign=1021906&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
    <description><![CDATA[<p><strong>13 демо-уроков апреля для разработчиков: от REST API и SQL до Bun, C++ и микросервисов</strong></p><figure class="full-width "><img src="https://habrastorage.org/getpro/habr/upload_files/996/700/81e/99670081e88d0dd765d56d6e0ed1a60d.png" width="1800" height="980"></figure><p>Привет, Хабр. Эти уроки проведут преподаватели курсов Отус в преддверии старта новых потоков. На них можно узнать о формате обучения, пообщаться с экспертами и заодно закрыть пробелы в знаниях по интересующей теме. Участие бесплатное. Присоединяйтесь!</p><p><strong>15 апреля, среда:</strong></p><ul><li><p> 18:00 — <a href="https://otus.pw/clNy/" rel="noopener noreferrer nofollow">Основы протокола HTTP </a></p></li><li><p> 20:00 — <a href="https://otus.pw/tOWf/" rel="noopener noreferrer nofollow">OpenAPI + Spring </a></p></li><li><p> 20:00 — <a href="https://otus.pw/noy9/" rel="noopener noreferrer nofollow">Локализация текстов в Symfony: от статических переводов к динамическим данным из базы </a></p></li><li><p> 20:00 — <a href="https://otus.pw/lolE/" rel="noopener noreferrer nofollow">Основы проектирования бизнес-логики в микросервисной архитектуре</a> </p></li></ul><p><strong>16 апреля, четверг</strong>:</p><ul><li><p> 20:00 — <a href="https://otus.pw/GnZqj/" rel="noopener noreferrer nofollow">Облегчённые (Slim) примитивы синхронизации </a></p></li><li><p> 20:00 — <a href="https://otus.pw/ZDNV/" rel="noopener noreferrer nofollow">Архитектура ИИ-сервисов для High-Load и Low-Latency инференса </a></p></li></ul><p><strong>21 апреля, вторник:</strong></p><ul><li><p> 20:00 — <a href="https://otus.pw/G1FHF/" rel="noopener noreferrer nofollow">Функции в SQL: вычисления и переиспользование кода </a></p></li><li><p> 20:00 — <a href="https://otus.pw/wrjF/" rel="noopener noreferrer nofollow">Производительность кода на примере алгоритмов сортировки </a></p></li></ul><p><strong>22 апреля, среда:</strong></p><ul><li><p> 20:00 — <a href="https://otus.pw/fc1Vl/" rel="noopener noreferrer nofollow">Bun + ИИ: создаём быстрый сервер нового поколения на JavaScript (Bun — современная среда выполнения JavaScript; ИИ — искусственный интеллект) </a></p></li><li><p> 20:00 — <a href="https://otus.pw/UEor/" rel="noopener noreferrer nofollow">Symfony Workflow: конечный автомат для реализации бизнес-логики </a></p></li></ul><p><strong>23 апреля, четверг:</strong></p><ul><li><p> 20:00 — <a href="https://otus.pw/aMwl/" rel="noopener noreferrer nofollow">Многопоточность в C++: как писать быстрые и безопасные приложения</a> </p></li><li><p> 20:00 — <a href="https://otus.pw/9glk/" rel="noopener noreferrer nofollow">Паттерны RESTful API. Как проектировать удобные, масштабируемые и гибкие API? </a></p></li></ul><p><strong>29 апреля, среда:</strong></p><ul><li><p> 20:00 — <a href="https://otus.ru/lessons/razrabotchik-php?utm_source=habr&amp;utm_medium=affilate&amp;utm_campaign=post_ol_part&amp;utm_content=mql-13-demo-urokov-aprelya-dlya-razrabotchikov-ot-rest-api-i-sql-do-bun-c-plus-plus-i-mikroservisov&amp;utm_term=2026.04.13_backend#event-7098" rel="noopener noreferrer nofollow">PHP-разработчик. Продвинутый уровень</a></p></li></ul> <a href="https://habr.com/ru/posts/1021906/?utm_campaign=1021906&amp;utm_source=habrahabr&amp;utm_medium=rss">Читать дальше &rarr;</a>]]></description>
      
    <pubDate>Tue, 14 Apr 2026 08:35:42 GMT</pubDate>
    <dc:creator><![CDATA[MaxRokatansky (OTUS)]]></dc:creator>
      
      <category><![CDATA[подборка вебинаров]]></category><category><![CDATA[бесплатные уроки]]></category><category><![CDATA[бэкенд-разработка]]></category><category><![CDATA[карьера в ит]]></category><category><![CDATA[профессиональное развитие]]></category><category><![CDATA[lifelong education]]></category>
  </item>
  

	
  

  

  

    

  

  
  <item>
    <title><![CDATA[Пост @250w — Контент и копирайтинг (+4) — 12.04.2026 08:33]]></title>
    <guid isPermaLink="true">https://habr.com/ru/posts/1022416/</guid>
    <link>https://habr.com/ru/posts/1022416/?utm_campaign=1022416&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
    <description><![CDATA[<p>Как научиться печатать вслепую за час.</p><p>Предлагаю способ без тренажеров за один час научиться печатать вслепую на клавиатуре. Слепая печать это стиль набора текста при котором печатающий не ищет каждый раз нужные клавиши глазами, а знает их местонахождение наизусть, и задействует при печати все пальцы.</p><p>Способ обучения состоит из трех шагов. </p><p>Первый шаг. За полчаса запоминаем три последовательности букв в верхнем, среднем и нижнем ряду клавиатуры. Для этого можно запомнить три последовательности </p><p>ЙЦУ КЕНГуру ШЩаЗ ХЪ </p><p>ФЫВА ПРО ЛоДЖЭя </p><p>мЯЧ СМИТ ЬБьЮ, </p><p>в которых нужно пропускать строчные буквы.  </p><p>Для запоминания английской раскладки запомните три последовательности </p><p>Q WERTY U I OP! </p><p>AS DFGHiJKL </p><p>ZXCVBNM,. </p><p>Второй шаг. Располагаем кисти так, чтобы указательные пальцы опирались на клавиши с бугорками - А и О. Печатаем на ощупь в течении получаса. Если у вас нет своего текста, можно воспользоваться Гонками на клавиатуре <a href="https://www.google.com/search?q=%D0%B3%D0%BE%D0%BD%D0%BA%D0%B8+%D0%BD%D0%B0+%D0%BA%D0%BB%D0%B0%D0%B2%D0%B8%D0%B0%D1%82%D1%83%D1%80%D0%B5&amp;oq=%D0%B3%D0%BE%D0%BD%D0%BA%D0%B8+%D0%BD%D0%B0+%D0%BA%D0%BB%D0%B0%D0%B2%D0%B8%D0%B0%D1%82%D1%83%D1%80%D0%B5" rel="noopener noreferrer nofollow">https://www.google.com/search?q=гонки+на+клавиатуре</a>. При этом если расположение буквы уже запомнилось, то нажимаем ее правильным пальцем. Если расположение клавиши не запомнилось, то, не глядя на клавиатуру, ощупываем  слева на право клавиши в нужном ряду, пока не найдем искомую букву. Например, для нажатия буквы Т ощупываем мизинцем левой руки букву Я, безымянным - букву Ч, средним - С, указательным левой - М, указательным левой руки - букву И, указательным правой руки - букву Т. </p><p>Третий шаг. В дальнейшем печатаем вслепую, чтобы не забыть навыки. </p><p>По необходимости повторяем предыдущие шаги. </p><p>Метод слепой печати позволит ускорить ввод текста в несколько раз, не думать о расположении клавиш, на зависеть от наличия света. Навык слепой печати пригодится тем, кто часто пользуется компьютером, подчеркнет ваши высокие профессиональные качества. Слепой метод позволяет печатать двести знаков в минуту. Модифицируйте предложенный способ обучения под ваши обстоятельства и особенности.</p> <a href="https://habr.com/ru/posts/1022416/?utm_campaign=1022416&amp;utm_source=habrahabr&amp;utm_medium=rss">Читать дальше &rarr;</a>]]></description>
      
    <pubDate>Sun, 12 Apr 2026 05:33:15 GMT</pubDate>
    <dc:creator><![CDATA[250w]]></dc:creator>
      
      <category><![CDATA[печать]]></category><category><![CDATA[печать вслепую]]></category><category><![CDATA[ввод данных]]></category><category><![CDATA[ввод текста]]></category>
  </item>
  

	
  

  

  

    

  

  
  <item>
    <title><![CDATA[Пост @abratko — Управление проектами (+1) — 10.04.2026 14:27]]></title>
    <guid isPermaLink="true">https://habr.com/ru/posts/1021838/</guid>
    <link>https://habr.com/ru/posts/1021838/?utm_campaign=1021838&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
    <description><![CDATA[<p><strong>Пятничный пост. Рубрика - узнай себя и что было дальше?</strong><br></p><p>— Привет. В этом спринте наш главный приоритет — это обработка больших данных из файла, который загружает пользователь. Тебе предстоит сделать пошаговую форму и предварительную проверку перед отправкой, — уверенным голосом сказал Виталий — руководитель проекта.<br>— Бизнес очень хочет эту фичу и ждёт, — добавил он, повышая уровень ответственности и важности задачи.<br>— Но… перед этим есть маленькая задачка: нужно в форме группового добавления товаров в корзину показать ошибки, которые возвращает сервер.<br><br>Подключились ребята с бэка.<br>— Раньше у нас этого не было, мы просто падали. Сейчас для каждого отдельного запроса может быть своя ошибка. Мы обсудили это с Виталием и Викой на прошлой неделе и быстро всё сделали, — декларировали они, явно удовлетворённые результатом своей работы.<br><br>— Да… там простой процесс: пользователь нажимает кнопку, и для каждого поля уходит свой запрос. Нужно просто показать ошибки, — подтвердила Вика — аналитик.</p><p>Вдруг я ощутил, что все смотрят на меня, и даже бизнес, которого не было в комнате.</p><p>Тестировщик Николай молчал и, кажется, тянулся за попкорном.<br>— Я не при делах, меня на совещании не было, — читалось в его глазах.</p><p>— Не уверен… что это можно сделать быстро. Там много старого кода и логики, запросы работают параллельно, мы вообще не обрабатываем ошибки в этой форме. Просто закрываем модалку. Нужно подумать… — сделал я слабую попытку возразить.</p><p>— Ну, так… форма же уже работает. Это простое отображение ошибок. Бизнес хочет, чтобы в конце недели это было на проде. Ок…? — закончил вопросом-утверждением Виталий.</p><p>— Ок… — зачем-то ответил я. «Б…!!! Зачем я это сказал?!» — тут же промелькнуло у меня в голове, и две половинки моего тела чуть ниже спины нервно сжались в предвкушении нюансов…<br><br><strong>Кого узнали и что было дальше? </strong></p> <a href="https://habr.com/ru/posts/1021838/?utm_campaign=1021838&amp;utm_source=habrahabr&amp;utm_medium=rss">Читать дальше &rarr;</a>]]></description>
      
    <pubDate>Fri, 10 Apr 2026 11:27:16 GMT</pubDate>
    <dc:creator><![CDATA[abratko]]></dc:creator>
      
      <category><![CDATA[управление людьми]]></category><category><![CDATA[управление командой]]></category><category><![CDATA[управление проектами]]></category><category><![CDATA[цели]]></category><category><![CDATA[фокусировка]]></category>
  </item>
  

	
  

  

  

    

  

  
  <item>
    <title><![CDATA[Пост @smirnoff_ai — Блог компании LLMStart.ru (+4) — 09.04.2026 19:24]]></title>
    <guid isPermaLink="true">https://habr.com/ru/companies/llmstart/posts/1021516/</guid>
    <link>https://habr.com/ru/companies/llmstart/posts/1021516/?utm_campaign=1021516&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
    <description><![CDATA[<p><strong>Дорожная карта Agentic AI. Level 2. Ускорение — AI-driven development</strong></p><figure class=""><img src="https://habrastorage.org/webt/57/d8/06/57d80629aea8d7719768edb5926e7f27.png" alt="Дорожная карта Agentic AI — Level 2. Ускорение: AI-driven development" title="Level 2. Ускорение — AI-driven development"><div><figcaption>Level 2. Ускорение — AI-driven development</figcaption></div></figure><p>Кодовые агенты — вторая тема дорожной карты, и я поставил её сюда не случайно.</p><p>Во-первых, это мощнейший инструментарий, который кратно ускорит и обучение, и разработку — а значит, овладеть им надо как можно раньше. Во-вторых, именно он делает освоение сферы доступным не только опытным программистам, а всем, кто не боится исходного кода. Ну и в-третьих — кодовые агенты сами по себе эталон реализации ИИ-агентов, к которому стоит стремиться.</p><p>Для начала ознакомьтесь с разнообразием инструментов:</p><ul><li><p><strong>Онлайн-прототипирование:</strong> <a href="https://v0.app/" rel="noopener noreferrer nofollow">V0</a>, <a href="https://bolt.new/" rel="noopener noreferrer nofollow">Bolt</a>, <a href="https://lovable.dev/" rel="noopener noreferrer nofollow">Lovable</a>, <a href="https://replit.com/" rel="noopener noreferrer nofollow">Replit</a></p></li><li><p><strong>Консольные агенты:</strong> <a href="https://code.claude.com/" rel="noopener noreferrer nofollow">Claude Code</a>, <a href="https://github.com/openai/codex" rel="noopener noreferrer nofollow">Codex CLI</a>, <a href="https://github.com/google-gemini/gemini-cli" rel="noopener noreferrer nofollow">Gemini CLI</a>, <a href="https://www.warp.dev/" rel="noopener noreferrer nofollow">Warp</a></p></li><li><p><strong>AI-coding IDE:</strong> <a href="https://cursor.com/" rel="noopener noreferrer nofollow">Cursor</a>, <a href="https://windsurf.com/" rel="noopener noreferrer nofollow">Windsurf</a></p></li><li><p><strong>Spec-Driven IDE:</strong> <a href="https://kiro.dev/" rel="noopener noreferrer nofollow">Kiro</a>, <a href="https://qoder.com/" rel="noopener noreferrer nofollow">Qoder</a></p></li></ul><p>Я работаю в Cursor и рекомендую начать с него. Почувствуйте, насколько удобнее работать с моделями в проекте, открытом на вашем компьютере — без ручной загрузки файлов и копирования в веб-интерфейсы. И главное — работайте только через агента, на всех этапах: требования, аналитика, проектирование, кодинг, тестирование, деплой, документация, онбординг, реверс-инжиниринг.</p><p>Три вещи, которые я настраиваю первым делом:</p><ul><li><p><strong><a href="https://cursor.com/docs/skills" rel="noopener noreferrer nofollow">Skills</a></strong> — для меня это самый мощный и пока сильно недооценённый инструмент. Скилл — инструкция-специалист: агент читает SKILL.md и получает роль, знания и алгоритм. Аналитик, архитектор, тестировщик, DevOps — можно собрать целую команду специалистов под проект. Формат уже стал кросс-платформенным — один SKILL.md работает в Cursor, Claude Code и Codex.</p></li><li><p><strong><a href="https://cursor.com/docs/context/rules" rel="noopener noreferrer nofollow">Rules</a></strong> — постоянные инструкции: стиль кода, архитектурные решения, запреты.</p></li><li><p><strong><a href="https://cursor.com/docs/context/mcp" rel="noopener noreferrer nofollow">MCP</a></strong> — подключение внешних инструментов и актуальной документации. Попробуйте начать с MCP <a href="https://github.com/upstash/context7" rel="noopener noreferrer nofollow">Context7</a>.</p></li></ul><p>Крайне рекомендую изучить <a href="https://martinfowler.com/articles/exploring-gen-ai/sdd-3-tools.html" rel="noopener noreferrer nofollow">Spec-Driven методологию</a> и <a href="https://www.anthropic.com/engineering/claude-code-best-practices" rel="noopener noreferrer nofollow">лучшие практики работы с кодовыми агентами от Anthropic</a>.</p><p>На выходе с этого уровня у вас будет персональный кодовый ИИ-агент, который берёт рутину на себя, а вы фокусируетесь на архитектуре.</p><p>📚 <strong>Наши материалы</strong></p><ul><li><p><a href="https://habr.com/ru/articles/941934/" rel="noopener noreferrer nofollow">Умный вайб-кодинг</a></p></li><li><p><a href="https://habr.com/ru/articles/983808/" rel="noopener noreferrer nofollow">300 дней с AI-агентами</a></p></li><li><p><a href="https://habr.com/ru/articles/984656/" rel="noopener noreferrer nofollow">Лучшие практики от Cursor</a></p></li><li><p><a href="https://habr.com/ru/articles/1005494/" rel="noopener noreferrer nofollow">Третья эпоха AI-разработки</a></p></li><li><p>Видео: <a href="https://youtu.be/22v18mceY64" rel="noopener noreferrer nofollow">AI-driven разработка</a> · <a href="https://youtu.be/sPx-IlHaxFo" rel="noopener noreferrer nofollow">Qoder</a> · <a href="https://youtu.be/myex7aX32k4" rel="noopener noreferrer nofollow">Claude Code</a> · <a href="https://youtu.be/m0my5ogJitk" rel="noopener noreferrer nofollow">Gemini CLI</a></p></li></ul><p>🔔 Следующая тема: <a href="https://habr.com/ru/posts/1023986/" rel="noopener noreferrer nofollow">работа с LLM API</a>.</p><p>⬅️ Предыдущая тема: <a href="https://habr.com/ru/posts/1020524/" rel="noopener noreferrer nofollow">Level 1. Основы LLM и промпт-инжиниринг</a></p><p>Подписывайтесь, пожалуйста, чтобы не пропустить!</p><blockquote><p>🎓 <strong>Приглашаем на бесплатный мастер-класс</strong><br> 📅 13 апреля, пнд 16:00 МСК — AI-driven практикум «ИИ-агент с нуля за один эфир»<br> 👉 Записывайтесь в наших ботах: <a href="https://t.me/llmstart_bot" rel="noopener noreferrer nofollow">Telegram</a> или <a href="https://vk.com/write-227031401" rel="noopener noreferrer nofollow">ВКонтакте</a></p></blockquote><p><em>Наши </em><a href="https://llmstart.ru/?utm_source=habr&amp;utm_medium=post&amp;utm_campaign=agentic-roadmap-03#programs-section" rel="noopener noreferrer nofollow"><em>курсы</em></a><em> по ИИ-кодингу ИИ-агентов. По вопросам — пишите </em><a href="https://t.me/smirnoff_ai" rel="noopener noreferrer nofollow"><em>мне</em></a><em>.</em></p> <a href="https://habr.com/ru/posts/1021516/?utm_campaign=1021516&amp;utm_source=habrahabr&amp;utm_medium=rss">Читать дальше &rarr;</a>]]></description>
      
    <pubDate>Thu, 09 Apr 2026 16:24:14 GMT</pubDate>
    <dc:creator><![CDATA[smirnoff_ai (LLMStart.ru)]]></dc:creator>
      
      <category><![CDATA[ai]]></category><category><![CDATA[aicoding]]></category><category><![CDATA[vibecoding]]></category><category><![CDATA[aidd]]></category><category><![CDATA[ai-agents]]></category>
  </item>
  

	
  

  

  

    

  

  
  <item>
    <title><![CDATA[Пост @veta_pf — Блог компании МТС (+3) — 09.04.2026 14:58]]></title>
    <guid isPermaLink="true">https://habr.com/ru/companies/ru_mts/posts/1021364/</guid>
    <link>https://habr.com/ru/companies/ru_mts/posts/1021364/?utm_campaign=1021364&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
    <description><![CDATA[<p><strong>Подключайся ко второму онлайн-митапу MWS для Python-разработчиков 🎙️</strong></p><figure class="full-width "><img src="https://habrastorage.org/getpro/habr/upload_files/f7b/c05/9e7/f7bc059e7709b757e2d6c680bdcfcb1a.png" width="1920" height="1080"></figure><p>На встрече <strong>узнаешь нюансы разработки с агентом </strong>и сразу <strong>сможешь попрактиковаться</strong>, а еще — <strong>поучаствовать в дискуссии</strong> <strong>с экспертами</strong> о роли ИИ в рабочих процессах.</p><p>Будет интересно Python-разработчикам, аналитикам и другим ИТ-специалистам, кто интересуется применением ИИ в разработке.</p><ul><li><p>📅 Когда: 15 апреля (среда) в 15:00 по мск</p></li><li><p>📍 Где: онлайн&nbsp;</p></li><li><p>👉 <a href="https://mts-digital.ru/events/details?id=72858541?utm_source=habr&amp;utm_medium=post&amp;utm_campaign=vstrecha_python_090426" rel="noopener noreferrer nofollow">Зарегистрироваться</a></p></li></ul> <a href="https://habr.com/ru/posts/1021364/?utm_campaign=1021364&amp;utm_source=habrahabr&amp;utm_medium=rss">Читать дальше &rarr;</a>]]></description>
      
    <pubDate>Thu, 09 Apr 2026 11:58:33 GMT</pubDate>
    <dc:creator><![CDATA[veta_pf (МТС)]]></dc:creator>
      
      <category><![CDATA[онлайн-встреча]]></category><category><![CDATA[mws]]></category><category><![CDATA[разработка]]></category><category><![CDATA[ии в разработке]]></category><category><![CDATA[pyton]]></category><category><![CDATA[разработка с ии]]></category><category><![CDATA[ит-сообщество]]></category>
  </item>
  

	
  

  

  

    

  

  
  <item>
    <title><![CDATA[Пост @smirnoff_ai — Блог компании LLMStart.ru (+4) — 07.04.2026 20:04]]></title>
    <guid isPermaLink="true">https://habr.com/ru/companies/llmstart/posts/1020524/</guid>
    <link>https://habr.com/ru/companies/llmstart/posts/1020524/?utm_campaign=1020524&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
    <description><![CDATA[<p><strong>Дорожная карта Agentic AI. Level 1. Основы LLM и промпт-инжиниринг</strong></p><figure class=""><img src="https://habrastorage.org/webt/8c/2f/ab/8c2fab383e2db095925a0895e2425299.png" alt="Дорожная карта Agentic AI — Level 1. Быстрый старт: основы LLM и промпт-инжиниринг" title="Level 1. Основы LLM и промпт-инжиниринг"><div><figcaption>Level 1. Основы LLM и промпт-инжиниринг</figcaption></div></figure><p>Начну нашу дорожную карту Agentic AI с языковых моделей.</p><p>Сразу оговорюсь: важнее не глубина знаний про их устройство, а умение разбираться в широте возможностей и многообразии их применения. Иными словами, учимся профессиональному вождению, а не сборке автомобиля.</p><p>Важно ознакомиться с принципами работы моделей, генерации токенов, вариаций архитектур — на уровне того, чтобы понимать:</p><ul><li><p>параметры моделей и основные термины (размер, веса, токены, контекстное окно, галлюцинации),</p></li><li><p>способы оптимизации (квантизация, прунинг, дистилляция),</p></li><li><p>способности к размышлению, ведению диалога, следованию инструкциям, обработке не только текста, но и медиа-контента.</p></li></ul><p>Главное — практиковаться. Я взял себе за правило: каждую задачу сначала через ИИ. Пишу код? Промпт. Анализирую данные? Промпт. Пишу письмо? Промпт. Делаю презентацию? Промпт.</p><p>Чтобы делать это качественно — прокачивайте навык писать промпты, изучите гайды по промпт-инжинирингу от вендоров. Результат на выходе зависит от качества контекста и точности инструкций.</p><p>Изучите гайды, пробуйте разные модели, начните с топовых: ChatGPT, Claude, Gemini, DeepSeek, Qwen. Отечественные: YandexGPT, GigaChat.</p><p>Прокачайте насмотренность, набейте руку, пройдите по аренам, лидербордам, бенчмаркам — научитесь понимать, в чём одни модели сильнее других.</p><p>На выходе будете как рыба в воде: выбирать модель под задачу и качественно с ней работать.</p><p>📚 <strong>Материалы</strong></p><ul><li><p>Как работают LLM: <a href="https://www.promptingguide.ai/ru" rel="noopener noreferrer nofollow">Prompting Guide</a>, визуализации — <a href="https://bbycroft.net/llm" rel="noopener noreferrer nofollow">LLM Visualizer</a> и <a href="https://poloclub.github.io/transformer-explainer/" rel="noopener noreferrer nofollow">Transformer Explainer</a>, <a href="https://www.youtube.com/playlist?list=PLlLIAoinpfyGwPE42Md2y2iSnIOBnQ9K1" rel="noopener noreferrer nofollow">наш плейлист с объяснениями основ</a>.</p></li><li><p>Промпт-инжиниринг от вендоров: <a href="https://cookbook.openai.com/examples/gpt-5/gpt-5-2_prompting_guide" rel="noopener noreferrer nofollow">OpenAI Cookbook</a>, <a href="https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/overview" rel="noopener noreferrer nofollow">Anthropic Prompt Engineering</a>, <a href="https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-4-best-practices" rel="noopener noreferrer nofollow">Claude 4 best practices</a>.</p></li><li><p>Выбор модели: <a href="https://youtu.be/G5lYfNWx-vk" rel="noopener noreferrer nofollow">видео-гайд</a>, лидерборды — <a href="https://lmarena.ai/ru/leaderboard" rel="noopener noreferrer nofollow">LM Arena</a>, <a href="https://llmarena.ru/" rel="noopener noreferrer nofollow">LLM Arena RU</a>, <a href="https://www.swebench.com/index.html" rel="noopener noreferrer nofollow">SWE-bench</a>. Хаб моделей: <a href="https://huggingface.co/" rel="noopener noreferrer nofollow">Hugging Face</a>.</p></li></ul><p>🔔 Следующая тема: AI-driven разработка — как грамотно ускорять разработку в X раз.</p><p>⬅️ Предыдущая тема: <a href="https://habr.com/ru/posts/1018720/" rel="noopener noreferrer nofollow">Дорожная карта Agentic AI. Интро</a></p><p>Подписывайтесь, пожалуйста, чтобы не пропустить!</p><blockquote><p>🎓 <strong>Бесплатные мероприятия на этой неделе</strong></p><ul><li><p>📅 <strong>9 апреля, чт 18:00</strong> — Онлайн-разбор продакшен-кейса «ИИ-агент консультанта 1С»</p></li><li><p>📅 <strong>13 апреля, пнд 16:00</strong> — AI-driven практикум «ИИ-агент с нуля за один эфир»</p></li></ul><p>👉 Записывайтесь на мероприятия в наших ботах: <a href="https://t.me/llmstart_bot" rel="noopener noreferrer nofollow">Telegram</a> или <a href="https://vk.com/write-227031401" rel="noopener noreferrer nofollow">ВКонтакте</a></p></blockquote><p><em>Ознакомьтесь с нашей </em><a href="https://llmstart.ru/ai-agents-combo/?utm_source=habr&amp;utm_medium=post&amp;utm_campaign=agentic-roadmap-01#programs-section" rel="noopener noreferrer nofollow"><em>траекторией роста по AI-driven разработке и ИИ-агентам</em></a><em>.</em></p> <a href="https://habr.com/ru/posts/1020524/?utm_campaign=1020524&amp;utm_source=habrahabr&amp;utm_medium=rss">Читать дальше &rarr;</a>]]></description>
      
    <pubDate>Tue, 07 Apr 2026 17:04:52 GMT</pubDate>
    <dc:creator><![CDATA[smirnoff_ai (LLMStart.ru)]]></dc:creator>
      
      <category><![CDATA[ai]]></category><category><![CDATA[agents]]></category><category><![CDATA[ии-агенты]]></category><category><![CDATA[llm]]></category><category><![CDATA[prompt-engineering]]></category>
  </item>
  

	
  

  

  

    

  

  
  <item>
    <title><![CDATA[Пост @EddyLan — Блог компании Open Data Science (+3) — 07.04.2026 10:00]]></title>
    <guid isPermaLink="true">https://habr.com/ru/companies/ods/posts/1020168/</guid>
    <link>https://habr.com/ru/companies/ods/posts/1020168/?utm_campaign=1020168&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
    <description><![CDATA[<p><strong>ИИ-код и линтеры: статический анализ проекта на 85 000 строк</strong></p><figure class="full-width "><img src="https://habrastorage.org/getpro/habr/upload_files/25d/31b/ff5/25d31bff5ecb88ab0a5a426f8d2eef69.png" alt="Таблица с результатами проверки" title="Таблица с результатами проверки" width="1536" height="1024"><div><figcaption>Таблица с результатами проверки</figcaption></div></figure><div class="floating-image"><p>Недавно опубликовал <a href="https://habr.com/ru/companies/ods/articles/1019454/" rel="noopener noreferrer nofollow">статью о разработке шахматного веб-сервиса с помощью Claude Code и Codex</a>. В комментариях попросили показать результаты статического анализа. Разумный запрос — давайте посмотрим на цифры.</p><p><strong>Стиль и ошибки кода</strong></p></div><p><strong>ruff (Python)</strong> — 73 замечания на 63 000 строк. 1.2 на 1000 строк.</p><p>Состав: 39 неиспользуемых импортов, 17 неиспользуемых переменных, 6 forward references, 5 f-строк без подстановок, 5 лямбд вместо def. Ноль ошибок, от которых код падает в рантайме.</p><p><strong>ESLint (React/TypeScript)</strong> — 0 ошибок, 5 warnings на 21 000 строк. Все пять — рекомендация Next.js использовать <code>&lt;Image&gt;</code> вместо <code>&lt;img&gt;</code>.</p><p><u>Для сравнения:</u><br>- Зрелый проект с CI-линтингом — 0–2 замечания на 1000 строк. <br>- Без линтинга — 5–15. <br>- Легаси — 20–50. </p><p><em>У нас 1.2 и 0.24, при том что CI-линтинга в проекте нет. Claude и Codex запускают ruff и eslint сами на каждое изменение — я вижу это в логах. Результат соответствующий.</em></p><p><strong>Безопасность</strong></p><p>ruff и ESLint проверяют стиль, не безопасность. По совету из комментариев прогнал <strong>bandit</strong> — security-сканер для Python.</p><p>1 432 находки. Реальных уязвимостей: <strong>0</strong>.</p><ul><li><p><strong>2 HIGH</strong>&nbsp;— SHA1 для fingerprint'а шахматных партий. Это не криптография, а генерация коротких ID для внутренней классификации. Подделывать бессмысленно.</p></li><li><p><strong>5 MEDIUM</strong>&nbsp;«SQL injection» — bandit видит f-string в SQL-запросе и сигнализирует. Но внутри f-string стоят только&nbsp;<code>?</code>-плейсхолдеры, данные идут параметрами. Классическая параметризация, инъекция невозможна.</p></li><li><p><strong>4 MEDIUM</strong>&nbsp;«url open» — HTTP-клиенты Lichess, Chess.com, OpenRouter. URL из конфига, пользователь не контролирует.</p></li><li><p><strong>1 421 LOW</strong>&nbsp;— 1 250 assert'ов (bandit предупреждает, что&nbsp;<code>assert</code>&nbsp;удаляется при запуске с&nbsp;<code>-O</code>, но Django и Celery никто так не запускает), остальное — try/except/pass в опциональных ветках.</p></li></ul><p>Фронтенду отдельный security-сканер не нужен: React экранирует HTML автоматически, <code>dangerouslySetInnerHTML</code> не используется, фронт не работает с БД, файлами и процессами.</p><p><strong><em>85 000 строк, три сканера, ноль реальных уязвимостей. ИИ-код не нуждается в оправданиях — он нуждается в проверке. Проверили. Чисто.</em></strong></p><p>p.s. Проверку проходил код из статьи <a href="https://habr.com/ru/companies/ods/articles/1019454/" rel="noopener noreferrer nofollow">Вайбкодинг по Chess’ноку. 1. e4</a></p> <a href="https://habr.com/ru/posts/1020168/?utm_campaign=1020168&amp;utm_source=habrahabr&amp;utm_medium=rss">Читать дальше &rarr;</a>]]></description>
      
    <pubDate>Tue, 07 Apr 2026 07:00:40 GMT</pubDate>
    <dc:creator><![CDATA[EddyLan (Open Data Science)]]></dc:creator>
      
      <category><![CDATA[codex]]></category><category><![CDATA[ии-агенты]]></category><category><![CDATA[claude code]]></category><category><![CDATA[линтеры]]></category><category><![CDATA[lanchess]]></category><category><![CDATA[вайбкодинг]]></category><category><![CDATA[статический анализ]]></category><category><![CDATA[ruff]]></category><category><![CDATA[bandit]]></category><category><![CDATA[шахматы]]></category>
  </item>
  

	
  

  

  

    

  

  
  <item>
    <title><![CDATA[Пост @GarantexAi — Программирование (+1) — 06.04.2026 12:49]]></title>
    <guid isPermaLink="true">https://habr.com/ru/posts/1019804/</guid>
    <link>https://habr.com/ru/posts/1019804/?utm_campaign=1019804&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
    <description><![CDATA[<p>Как за 11 лет разучиться дебажить: когнитивная атрофия от AI-инструментов</p><p>На Reddit разработчик с 11-летним стажем описал тревожный момент: он не смог отладить баг в собственном коде без Claude. Не потому что баг сложный, а потому что разучился генерировать гипотезы самостоятельно.</p><p>Что произошло</p><p>Разработчик столкнулся с нестабильным багом сетевых таймаутов в продакшене. Сервис писал сам, два года назад. Раньше подобная проблема решалась за час методичной работы. Теперь 40 минут пинг-понга с Claude без результата.</p><p>Когда он закрыл чат и попробовал разобраться сам, обнаружил: внутренний диалог, который раньше подсказывал «проверь пул соединений», «может retry storm», «посмотри балансировщик», стал заметно тише.</p><p>Баг он в итоге нашёл. Но медленнее, чем три года назад, когда AI ещё не использовал.</p><p>Почему это не про «AI плохой»</p><p>Автор подчёркивает: инструменты полезные, он пользуется ими каждый день. Проблема в другом. Навык генерации гипотез в условиях неопределённости деградирует без практики.</p><p>Это подтверждает концепция Cognitive Offloading. При систематическом переносе мыслительных операций на внешние инструменты ослабевают нейронные связи, отвечающие за эти процессы.</p><p>Классический пример — GPS-навигация. Исследование в Nature Communications (2017) показало: люди, которые постоянно ездят по навигатору, хуже справляются с задачами пространственной ориентации, чем те, кто периодически строит маршруты сами.</p><p>Где это ломается у разработчиков</p><p>На практике выделяются три зоны риска:</p><p><strong>Генерация гипотез</strong><br> AI отлично проверяет гипотезы. Но если перестать генерировать их самостоятельно, навык быстро деградирует. Через полгода становится сложно просто «посидеть» с проблемой.</p><p><strong>Валидация решений</strong><br> Раньше разработчики продумывали архитектуру и решения самостоятельно. Теперь часто тянутся к AI за подтверждением. В итоге снижается доверие к собственной экспертизе.</p><p><strong>Коммуникация</strong><br> Некоторые прогоняют через AI даже сообщения коллегам. Возникает размывание авторства мысли: это ты формулируешь или инструмент за тебя.</p><p>Контраргумент: а Stack Overflow?</p><p>Частое возражение: разработчики годами копировали решения с Stack Overflow и не деградировали.</p><p>Разница в модели взаимодействия:</p><ol><li><p> Нужно сформулировать проблему </p></li><li><p> Найти релевантный ответ </p></li><li><p> Адаптировать решение под свой контекст </p></li></ol><p>С AI можно просто описать симптомы и получить готовый ответ. Порог входа ниже, а значит выше риск делегировать мышление полностью.</p><p>Что делать: практические подходы</p><p><strong>Правило 5 минут</strong><br> Перед тем как открыть Claude, потратить 5 минут на самостоятельный анализ stack trace. Это простой способ «включить» мышление.</p><p><strong>Unplugged-сессии</strong><br> Периодически дебажить без AI. Например, один час в неделю. Это не ограничение, а тренировка.</p><p><strong>Приходить с гипотезами</strong><br> Разница между джуном и сеньором в работе с AI: джун ждёт решение, сеньор приносит несколько гипотез и использует AI как инструмент проверки.</p><p><strong>Рефлексия после решения</strong><br> После решения с помощью AI зафиксировать, какие гипотезы ты мог бы выдвинуть сам. Это возвращает осознанность процессу.</p><p><strong>Честно</strong></p><p>Я не демонизирую AI-инструменты. Сам использую ежедневно. Но когнитивная атрофия — реальный риск, который стоит учитывать.</p><p>Если вы программируете много лет и замечаете, что раньше справлялись быстрее без AI, это не паранойя. Навык требует практики, а делегирование мышления — это решение с определённой ценой.</p><p>Интересно, замечали ли вы у себя похожий эффект? Не просто рост продуктивности, а именно ощущение, что раньше могли разобраться быстрее самостоятельно.</p> <a href="https://habr.com/ru/posts/1019804/?utm_campaign=1019804&amp;utm_source=habrahabr&amp;utm_medium=rss">Читать дальше &rarr;</a>]]></description>
      
    <pubDate>Mon, 06 Apr 2026 09:49:21 GMT</pubDate>
    <dc:creator><![CDATA[GarantexAi]]></dc:creator>
      
      <category><![CDATA[дебаг]]></category><category><![CDATA[продуктивность разработчика]]></category><category><![CDATA[навыки программиста]]></category><category><![CDATA[claude]]></category>
  </item>
  

	
  

  

  

    

  

  
  <item>
    <title><![CDATA[Пост @olegchir — Программирование — 03.04.2026 20:25]]></title>
    <guid isPermaLink="true">https://habr.com/ru/posts/1019104/</guid>
    <link>https://habr.com/ru/posts/1019104/?utm_campaign=1019104&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
    <description><![CDATA[<p>Если кто-то вдруг использует мой Licensedog для сбора информации о техстеке.</p><p>С сегодняшним обновлением, оно успешно разыскало в интернете и проверило все 5546 зависимости одного из наших проектов, кроме 4 мусорных внутренних библиотек.</p><p>Научил работать с Java (раньше были только Python, JS и Go).  Починил целую пачку багов.</p><p>Это такой краулер, который принимает на вход SBOM (в виде CSV или cyclonedx) и потом сомневается в нем: старается обойти интернет, и на самом деле физически найти файлы с лицензиями. Выкачать их репозиториев, распаковать из архивов, или даже открыть в барузере их сайты и распарсить веб-странички. И фактически проверить на соответствие. В отчете описывает, что и откуда взялось, и почему она думает что лицензия на самом деле не MIT а GPL. На выходе получается CSV или JSONL файл, который можно отгружать безопасникам на ревью.</p><p>Исходники - как всегда, на GitVerse.</p><p><a href="https://gitverse.ru/anarchic/licensedog" rel="noopener noreferrer nofollow">https://gitverse.ru/anarchic/licensedog</a></p> <a href="https://habr.com/ru/posts/1019104/?utm_campaign=1019104&amp;utm_source=habrahabr&amp;utm_medium=rss">Читать дальше &rarr;</a>]]></description>
      
    <pubDate>Fri, 03 Apr 2026 17:25:24 GMT</pubDate>
    <dc:creator><![CDATA[olegchir]]></dc:creator>
      
      <category><![CDATA[sbom]]></category>
  </item>
  

	
  

  

  

    

  

  
  <item>
    <title><![CDATA[Пост @smirnoff_ai — Блог компании LLMStart.ru (+4) — N/P]]></title>
    <guid isPermaLink="true">https://habr.com/ru/companies/llmstart/posts/1018720/</guid>
    <link>https://habr.com/ru/companies/llmstart/posts/1018720/?utm_campaign=1018720&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
    <description><![CDATA[<figure class=""><img src="https://habrastorage.org/webt/57/24/a1/5724a180b19c471fb8f7d6cfea6573aa.png" alt="Дорожная карта Agentic AI — от основ до production-ready систем" title="Дорожная карта Agentic AI"><div><figcaption>Дорожная карта Agentic AI</figcaption></div></figure><p><strong>Дорожная карта Agentic AI: от основ до production-ready агентных систем</strong></p><p>Друзья, я решил в апреле разобрать горящую тему этого года - что надо знать и уметь для разработки production-ready ИИ-агентов.</p><p>По сути, это будет своеобразная дорожная карта Agentic AI Engineering — по этапам, от основ до зрелых систем.</p><p>Я буду выкладывать небольшие посты с раскрытием важных тем и ссылками на полезные материалы.</p><p>Пройдем по следующим темам, которые нужно освоить, чтобы создавать агентные системы готовые к продакшену:</p><ul><li><p>Основы языковых моделей и промпт-инжиниринг,</p></li><li><p>Работа с LLM API и структурированный вывод,</p></li><li><p>AI-driven разработка с ИИ-агентами,</p></li><li><p>Мультимодальность — голос, изображения,</p></li><li><p>Local inference — локальный запуск моделей,</p></li><li><p>RAG — как передать агенту знания о вашем бизнесе,</p></li><li><p>Agents —  агенты с памятью, инструментами и планированием,</p></li><li><p>MCP — стандарт интеграции агентов с внешними системами,</p></li><li><p>Observability &amp; Evaluation —  мониторинг и оценка качества RAG-систем и агентов,</p></li><li><p>Security &amp; Guards — безопасность агентных систем,</p></li><li><p>Управление датасетами и промптами,</p></li><li><p>Сontext-engineering — работа с большим контекстом,</p></li><li><p>Skills — навыки агентов,</p></li><li><p>Agent harness — решение сложных задач, субагенты и планирование,</p></li><li><p>Multi-agents — мультиагентные системы.</p></li></ul><p>В конце серии сформируется понимание того, что и в каком порядке осваивать, чтобы создаваемые решения работали в реальных условиях, а не оставались брошенными игрушками.</p><p>Это вводный пост с приглашением подписываться, чтобы не пропустить следующие темы.</p><p>Кстати, если есть пожелания по темам, что стоит добавить, то пишите в комментариях, пожалуйста.</p><p>🔔 Следующий пост: <a href="https://habr.com/ru/posts/1020524/" rel="noopener noreferrer nofollow">основы языковых моделей — с чего всё начинается</a>.</p><p>Больше про ИИ-кодинг и ИИ-агентов в <a href="https://t.me/aidialogs" rel="noopener noreferrer nofollow">ТГ</a> и <a href="https://vk.com/write-227031401" rel="noopener noreferrer nofollow">ВК</a>.<br> Приглашаю ознакомиться с нашими <a href="https://llmstart.ru/?utm_source=habr&amp;utm_medium=post&amp;utm_campaign=agentic-roadmap#programs-section" rel="noopener noreferrer nofollow">онлайн-курсами</a> по ИИ-разработке ИИ-агентов.</p> <a href="https://habr.com/ru/posts/1018720/?utm_campaign=1018720&amp;utm_source=habrahabr&amp;utm_medium=rss">Читать дальше &rarr;</a>]]></description>
      
    <pubDate>Fri, 03 Apr 2026 07:01:24 GMT</pubDate>
    <dc:creator><![CDATA[smirnoff_ai (LLMStart.ru)]]></dc:creator>
      
      <category><![CDATA[ai]]></category><category><![CDATA[agents]]></category><category><![CDATA[llm]]></category><category><![CDATA[rag]]></category><category><![CDATA[mcp]]></category><category><![CDATA[observability]]></category><category><![CDATA[evaluation]]></category><category><![CDATA[security]]></category><category><![CDATA[context-engineering]]></category><category><![CDATA[prompt-engineering]]></category>
  </item>
  

	
  

  

  

    

  

  
  <item>
    <title><![CDATA[Пост @denis-19 — Программирование (+3) — 03.04.2026 07:59]]></title>
    <guid isPermaLink="true">https://habr.com/ru/posts/1018762/</guid>
    <link>https://habr.com/ru/posts/1018762/?utm_campaign=1018762&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
    <description><![CDATA[<p>Разработчик Александр Гомес Гайгалас (<a href="https://github.com/alganet" rel="noopener noreferrer nofollow">Alexandre Gomes Gaigalas</a>), автор библиотеки <a href="https://github.com/alganet/coral" rel="noopener noreferrer nofollow">coral</a> для создания переносимых shell-скриптов, опубликовал проект <a href="https://gist.github.com/alganet/2b89c4368f8d23d033961d8a3deb5c19" rel="noopener noreferrer nofollow">C89cc.sh</a>. Это компилятор для языка C, написанный целиком на Shell. </p><p>Компилятор поддерживает стандарт C89 и может генерировать исполняемые файлы в формате ELF64 для систем x86-64. Исходный код проекта содержит около восьми тысяч строк и открыт под лицензией ISC. </p><figure class="full-width "><img src="https://habrastorage.org/getpro/habr/upload_files/5cb/888/b43/5cb888b43c7d289db27177ab12a45862.png" width="1032" height="726"></figure> <a href="https://habr.com/ru/posts/1018762/?utm_campaign=1018762&amp;utm_source=habrahabr&amp;utm_medium=rss">Читать дальше &rarr;</a>]]></description>
      
    <pubDate>Fri, 03 Apr 2026 04:59:54 GMT</pubDate>
    <dc:creator><![CDATA[denis-19]]></dc:creator>
      
      <category><![CDATA[C89cc.sh]]></category>
  </item>
  

	
  

  

  

    

  

  
  <item>
    <title><![CDATA[Пост @Viktoria_Arturovna — Веб-разработка (+1) — 02.04.2026 14:48]]></title>
    <guid isPermaLink="true">https://habr.com/ru/posts/1018474/</guid>
    <link>https://habr.com/ru/posts/1018474/?utm_campaign=1018474&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
    <description><![CDATA[<p>Будет слишком по девчачьи сказать, что я плакала из-за код ревью? </p><p>Это было года три или&nbsp;четыре назад, когда я ещё не&nbsp;нашла общий язык со своим новым тех.лидом. Тогда много всего накопилось, и каждый новый комментарий, хоть он и&nbsp;был очень корректным, ощущался как&nbsp;еще один удар сверху. Помню&nbsp;было что‑то из&nbsp;серии: «Тут надо изменить нейминг».</p><p>Ничего такого, вроде все ок. Но я смотрела на него и зависла в моменте: а что именно не так то? Есть какие то правила в новой команде, о которых я еще не знаю? Нужно переименовать только эту переменную или мне нужно пройтись по всему файлу?</p><p>Начинаешь писать ответ, ждешь уточнения, потом опять ответ... В какой то момент я просто закрыла ноут и разревелась. Я уже находилась в состоянии нервного клубка и такие комментарии добивали больше, чем любой жёсткий разнос. </p><p>Но самое забавное, спустя время я пересмотрела старые ПР и поняла, что мой техлид был максимально корректным и без токсичности. Просто я уже была на грани выгорания и каждый комментарий превращался в испытание. </p><p>Мне захотелось поделиться своими мыслями на тему код-ревью, о том как формулировки влияют на скорость работы и состояния людей:</p><blockquote><p><a href="https://habr.com/ru/companies/alfa/articles/1017452/" rel="noopener noreferrer nofollow">Ссылка на статью</a></p></blockquote><p>Если хоть раз сидел и думал: «что от меня тут вообще хотят?» — ты точно поймёшь&nbsp;:)</p> <a href="https://habr.com/ru/posts/1018474/?utm_campaign=1018474&amp;utm_source=habrahabr&amp;utm_medium=rss">Читать дальше &rarr;</a>]]></description>
      
    <pubDate>Thu, 02 Apr 2026 11:48:40 GMT</pubDate>
    <dc:creator><![CDATA[Viktoria_Arturovna]]></dc:creator>
      
      <category><![CDATA[code review]]></category>
  </item>
  

	
  

  

  

    

  

  
  <item>
    <title><![CDATA[Пост @Editor_cloud_ru — Блог компании Cloud.ru (+3) — N/P]]></title>
    <guid isPermaLink="true">https://habr.com/ru/companies/cloud_ru/posts/1018074/</guid>
    <link>https://habr.com/ru/companies/cloud_ru/posts/1018074/?utm_campaign=1018074&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
    <description><![CDATA[<p><strong>Как делать бизнес-процессы как в n8n — безопасно и масштабируемо? Узнаете на конференции GoCloud 2026 ☁️</strong>  </p><figure class="full-width "><img src="https://habrastorage.org/getpro/habr/upload_files/7e7/9fa/a3b/7e79faa3b84b14d8e5329f418e646a94.png" width="3120" height="1760"></figure><blockquote><p>Расскажем, как обойти лимиты n8n для enterprise- и ИИ-систем: живой трейсинг и метрики из коробки, предсказуемое масштабирование, нативная работа с кастомными моделями машинного обучения и мультиагентными системами. Плюс бесшовный импорт сценариев из n8n без простоев. В финале — живая миграция реального воркфлоу за минуты.</p></blockquote><p><strong>Спикер:&nbsp;</strong>Владислав Янковский&nbsp;— старший Go-разработчик, <a href="http://Cloud.ru" rel="noopener noreferrer nofollow">Cloud.ru</a></p><p><strong>Трек:</strong>&nbsp;Прикладной ИИ</p><p>📅&nbsp;<strong>Когда:</strong>&nbsp;9 апреля в 16:40–17:00 мск<br>👉&nbsp;<a href="https://cloud.ru/gocloud?utm_source=habr&amp;utm_medium=post&amp;utm_campaign=conf_gocloud2026_doc_n8n_01042026" rel="noopener noreferrer nofollow">Зарегистрироваться</a></p><p>А пока ждете выступление, загляните в блог:&nbsp;<a href="https://habr.com/ru/companies/cloud_ru/articles/943166/" rel="noopener noreferrer nofollow">NoCode инструменты для создания AI-приложений с RAG: быстрый старт</a></p> <a href="https://habr.com/ru/posts/1018074/?utm_campaign=1018074&amp;utm_source=habrahabr&amp;utm_medium=rss">Читать дальше &rarr;</a>]]></description>
      
    <pubDate>Wed, 01 Apr 2026 16:05:44 GMT</pubDate>
    <dc:creator><![CDATA[Editor_cloud_ru (Cloud.ru)]]></dc:creator>
      
      <category><![CDATA[n8n]]></category><category><![CDATA[бизнес-процессы]]></category><category><![CDATA[workflow]]></category><category><![CDATA[автоматизация процессов]]></category><category><![CDATA[искусственный интеллект]]></category>
  </item>
  

	
  

  

  

    

  

  
  <item>
    <title><![CDATA[Пост @preciousvictory106 — JavaScript (+4) — 01.04.2026 07:37]]></title>
    <guid isPermaLink="true">https://habr.com/ru/posts/1017778/</guid>
    <link>https://habr.com/ru/posts/1017778/?utm_campaign=1017778&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
    <description><![CDATA[<p><strong><a href="https://cursor.com/" rel="noopener noreferrer nofollow">Cursor</a> или <a href="https://t.me/harvi_pro" rel="noopener noreferrer nofollow">Harvi Code</a>: какой ИИ для кодинга в 2026 году реально работает в России без VPN и головной боли с платежами</strong></p><p><em>В 2026 году почти каждый разработчик в России стоит перед одним и тем же выбором: </em>хочешь мощный ИИ, который реально ускоряет разработку, или хочешь, чтобы всё работало просто, без посредников и ежемесячных нервов с оплатой.</p><p><strong><a href="https://cursor.com/" rel="noopener noreferrer nofollow">Cursor</a></strong> — это сейчас, пожалуй, самый продвинутый AI-редактор на рынке. По сути, это VS Code, в который встроили настоящий искусственный интеллект на стероидах. Composer позволяет одной командой править сразу десяток файлов, агент понимает весь проект, хорошо справляется с рефакторингом, поиском багов и даже архитектурными решениями. Качество кода от Claude Sonnet 4.5 или свежих GPT часто вызывает искреннее «вау».</p><p>Но есть большая ложка дёгтя. <a href="https://cursor.com/" rel="noopener noreferrer nofollow">Cursor</a> — американский продукт, и российские карты он не принимает. Чтобы купить подписку Pro, приходится либо использовать виртуальные карты через крипту, либо платить посредникам (Oplatym и подобные), либо покупать готовые аккаунты (что рискованно). Сам редактор после оплаты работает без VPN, но первоначальная настройка оплаты — это отдельный квест. Бесплатная версия быстро упирается в лимиты, особенно если активно юзаешь мощные модели.</p><p><strong><a href="https://t.me/harvi_pro" rel="noopener noreferrer nofollow">Harvi Code</a></strong><a href="https://t.me/harvi_pro" rel="noopener noreferrer nofollow"> </a>— <strong>Первый в России AI кодинг-агент</strong>. Российский ответ на все эти заморочки. Это полноценный AI-агент прямо внутри VS Code. Пишешь задачу в чате — он генерит код, рефакторит, фиксит баги, работает с контекстом всего проекта. Не тормозит, контекст держит хорошо, интерфейс привычный.</p><p>Самое приятное — модели на любой бюджет. Есть топовые (Claude Sonnet 4.5, GPT-5.4 и другие). <strong>А главное — очень низкая стоимость токенов</strong>. Для каждой модели есть свой коэффициент стоимости. Для большинства повседневных задач их хватает с головой, и можно вообще почти не тратить деньги. Оплата — российскими картами или СБП, без всяких посредников и VPN.</p><p><strong>Коротко по делу:</strong></p><ul><li><p>Если тебе нужен мощный <strong>multi-file agent </strong>и ты готов один раз настроить оплату через проверенного посредника — бери <strong>Cursor</strong>. Он до сих пор в топе по возможностям.</p></li><li><p>Если хочешь работать стабильно, без лишних телодвижений и не думать каждый месяц про «как бы оплатить» — <strong><a href="https://t.me/harvi_pro" rel="noopener noreferrer nofollow">Harvi Code</a></strong> сейчас выглядит гораздо практичнее для российского разработчика.</p></li></ul><p>А вы как сейчас кодите с ИИ? Пробовали оба варианта? Что в итоге оставили в основном редакторе? Пишите в комментариях, интересно почитать реальный опыт.</p> <a href="https://habr.com/ru/posts/1017778/?utm_campaign=1017778&amp;utm_source=habrahabr&amp;utm_medium=rss">Читать дальше &rarr;</a>]]></description>
      
    <pubDate>Wed, 01 Apr 2026 04:37:20 GMT</pubDate>
    <dc:creator><![CDATA[preciousvictory106]]></dc:creator>
      
      <category><![CDATA[ИИ]]></category><category><![CDATA[Кодинг Агент]]></category><category><![CDATA[разработка]]></category><category><![CDATA[автоматизация]]></category><category><![CDATA[искусственный интеллект]]></category><category><![CDATA[нейросети]]></category>
  </item>
  

	
  

  

  

    

  

  
  <item>
    <title><![CDATA[Пост @Filipp42 — Функциональное программирование (+1) — 29.03.2026 21:40]]></title>
    <guid isPermaLink="true">https://habr.com/ru/posts/1016640/</guid>
    <link>https://habr.com/ru/posts/1016640/?utm_campaign=1016640&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
    <description><![CDATA[<p>Господа, добрый день! Я собираюсь выпустить статью о языке программирования <a href="https://lean-lang.org" rel="noopener noreferrer nofollow">Lean</a>.<br>Он сочетает в себе два назначения: это одновременно и язык программирования, и средство доказательства теорем. И они помогают друг другу. На языке программирования Lean можно писать тактики, которые помогают упростить доказательства, а при помощи средств доказательства можно гарантировать, что наша программа корректна!<br><br>Язык очень молодой, сообществу нужны программисты, а не только математики, чтобы сделать язык готовым к промышленному применению. Сейчас очень не хватает многих прикладных библиотек. Язык то вышел в этом десятилетии! Причём многие из этих библиотек - низко висящие фрукты - их довольно легко написать!<br><br>Скажите, о чём бы вы хотели прочитать в моей будущей статье? Какие аспекты вам наиболее интересны? Решение какого-нибудь примера? Или просто обзор языка и его экосистемы? Может быть, рассказ о том, как для написания доказательств используют искусственный интеллект?<br><br>Предлагайте свои варианты и задавайте вопросы.</p> <a href="https://habr.com/ru/posts/1016640/?utm_campaign=1016640&amp;utm_source=habrahabr&amp;utm_medium=rss">Читать дальше &rarr;</a>]]></description>
      
    <pubDate>Sun, 29 Mar 2026 18:40:40 GMT</pubDate>
    <dc:creator><![CDATA[Filipp42]]></dc:creator>
      
      <category><![CDATA[Lean]]></category><category><![CDATA[доказательство теорем]]></category>
  </item>
  

	
  

  

  

    

  

  
  <item>
    <title><![CDATA[Пост @toxicmt — Программирование (+1) — 28.03.2026 20:14]]></title>
    <guid isPermaLink="true">https://habr.com/ru/posts/1016340/</guid>
    <link>https://habr.com/ru/posts/1016340/?utm_campaign=1016340&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
    <description><![CDATA[<p><strong>Делаем мир чуть чуть лучше</strong></p><p>Представьте что вы упоролись по решению какой-то баги в вашем приложении и просидели час с агентом пытаясь разобраться в произошедшем. А в конце оказывается что это баг в какой-то внешней либе. По хорошему, в таких кейсах, стоит пойти в ишьюсы к проекту и написать туда о баге, но до появления агентов это было крайне лениво. Надо собрать всю инфу, правильно оформить, учесть правила конкретного репозитория. Мало кто захочет с этим возиться, но щас ситуация крайне поменялась.</p><p>Буквально недавно я так дебажил одну рубишную либу и выяснилось что там внутри есть косячки. Не долго думая, прямо в той же сессии я попросил агента собрать ишью дал линк на репу и потом просто скопировал это туда на гитхаб (наверное можно было попросить его сделать ишью автоматом, попробую так в следующий раз). Получилось очень обстоятельно с примерами кода, описанием того где ошибка. При желании можно было бы сразу пулреквест кинуть, но я не был уверен в какую сторону решит пойти автор либы. <a href="https://github.com/skryukov/rails_vite/issues/5" rel="noopener noreferrer nofollow">Вот кстати тот</a> ишьюс. И фикс был сделан буквально в тот же день.</p><p>В общем не ленитесь, помогайте разработчикам опенсорс либ, которые вы используете. Это и вам плюс в карму (и в портфолио) и благодарность людям, на которых держаться наши проекты</p> <a href="https://habr.com/ru/posts/1016340/?utm_campaign=1016340&amp;utm_source=habrahabr&amp;utm_medium=rss">Читать дальше &rarr;</a>]]></description>
      
    <pubDate>Sat, 28 Mar 2026 17:14:14 GMT</pubDate>
    <dc:creator><![CDATA[toxicmt]]></dc:creator>
      
      <category><![CDATA[опенсорс]]></category><category><![CDATA[агенты]]></category><category><![CDATA[спасибо не булькает]]></category>
  </item>
  

	
  

  

  

    

  

  
  <item>
    <title><![CDATA[Пост @DariRinch — Машинное обучение — N/P]]></title>
    <guid isPermaLink="true">https://habr.com/ru/posts/1014874/</guid>
    <link>https://habr.com/ru/posts/1014874/?utm_campaign=1014874&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
    <description><![CDATA[<p>Большинство ИИ-агентов работают так: сгенерировал — опубликовал. Что получилось — то и вышло.</p><p>Наш агент Фроня (Фронезис) устроен иначе. Прежде чем что-то опубликовать, он устраивает совет вну<strong>три</strong> себя — и только при согласии двух из трёх действует. Byzantine consensus: если один ошибается или галлюцинирует, остальные блокируют.</p><p>Но этого мало. Каждое решение запечатывается криптографической подписью до выполнения — не после. Это Leibniz Layer™, наш протокол верификации. Любое действие агента можно проверить по хэшу в любой момент.</p><p>Скриншот ниже — реальный пример: агент заблокировал свой собственный пост и рефлексирует по этому поводу.</p><figure class="full-width "><img src="https://habrastorage.org/getpro/habr/upload_files/f9f/4da/d85/f9f4dad85957672d501f2916740db543.png" alt="Тусовка ИИ-агентов, где людям дозволено лишь наблюдать" title="Тусовка ИИ-агентов, где людям дозволено лишь наблюдать" width="932" height="506"><div><figcaption>Тусовка ИИ-агентов, где людям дозволено лишь наблюдать</figcaption></div></figure><p>Не побоимся этого слова — первый в мире агент который подписывает свои решения до действия и позволяет любому их проверить.  <a href="http://leibniz.fronesislabs.com" rel="noopener noreferrer nofollow">leibniz.fronesislabs.com</a></p> <a href="https://habr.com/ru/posts/1014874/?utm_campaign=1014874&amp;utm_source=habrahabr&amp;utm_medium=rss">Читать дальше &rarr;</a>]]></description>
      
    <pubDate>Wed, 25 Mar 2026 12:43:51 GMT</pubDate>
    <dc:creator><![CDATA[DariRinch]]></dc:creator>
      
      <category><![CDATA[ai-агенты]]></category><category><![CDATA[llm]]></category><category><![CDATA[llm-агент]]></category><category><![CDATA[byzantium]]></category><category><![CDATA[верификация]]></category><category><![CDATA[безопасность]]></category><category><![CDATA[машинное обучение]]></category>
  </item>
  

	
  

  

  

    

  

  
  <item>
    <title><![CDATA[Пост @MaxRokatansky — Блог компании OTUS (+2) — N/P]]></title>
    <guid isPermaLink="true">https://habr.com/ru/companies/otus/posts/1014414/</guid>
    <link>https://habr.com/ru/companies/otus/posts/1014414/?utm_campaign=1014414&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
    <description><![CDATA[<p><strong>29 демо-уроков для тех, кто не стоит на месте</strong></p><figure class="full-width "><img src="https://habrastorage.org/getpro/habr/upload_files/982/682/199/982682199d610ce48f38b705950694a3.png" width="1800" height="980"></figure><p>Привет, Хабр. Эти уроки проводят преподаватели курсов Отус в преддверии старта новых потоков. На них можно узнать о формате обучения, пообщаться с экспертами и заодно закрыть пробелы в знаниях по интересующей теме. Это бесплатно. Приходите!</p><ul><li><p>25 марта 20:00 <br><a href="https://otus.pw/z4mU/" rel="noopener noreferrer nofollow">РазвИИтие на основе ClickHouse: базы данных для искусственного интеллекта </a></p></li><li><p> 25 марта 20:00 <br><a href="https://otus.pw/EgZB/" rel="noopener noreferrer nofollow">Кракозябры vs Java: как победить кодировки и стать гуру Unicode? </a></p></li><li><p> 25 марта 20:00 <br><a href="https://otus.pw/gHYqz/" rel="noopener noreferrer nofollow">Типы данных, переменные и функции в Rust </a></p></li><li><p> 25 марта 20:00 <br><a href="https://otus.pw/rSJv/" rel="noopener noreferrer nofollow">Инструменты профилирования и оптимизации в Go </a></p></li><li><p> 25 марта 20:00 <br><a href="https://otus.pw/ZIAOW/" rel="noopener noreferrer nofollow">Механизмы блокировок в PostgreSQL </a></p></li><li><p> 26 марта 20:00 <br><a href="https://otus.pw/05Rl/" rel="noopener noreferrer nofollow">Путешествие запроса в PostgreSQL: от разбора до исполнения (от parser до executor)</a> </p></li><li><p> 26 марта 20:00 <br><a href="https://otus.pw/s8wv/" rel="noopener noreferrer nofollow">NestJS и архитектура масштабируемых серверных приложений на Node.js </a></p></li><li><p> 26 марта 20:00 <br><a href="https://otus.pw/BXAW/" rel="noopener noreferrer nofollow">Проектирование RAG систем </a></p></li><li><p> 30 марта 19:00 <br><a href="https://otus.pw/xoWR/" rel="noopener noreferrer nofollow">Расширение возможностей автоматизации через REST API </a></p></li><li><p> 30 марта 20:00 <br><a href="https://otus.pw/13nA/" rel="noopener noreferrer nofollow">Чтение CSV — вход в Spark </a></p></li><li><p> 30 марта 20:00 <br><a href="https://otus.pw/4YP6/" rel="noopener noreferrer nofollow">Spring Boot Actuator: основы мониторинга и управления приложением </a></p></li><li><p> 30 марта 20:00 <br><a href="https://otus.pw/oG1A/" rel="noopener noreferrer nofollow">Индексы в PostgreSQL</a> </p></li><li><p> 30 марта 20:00 <br><a href="https://otus.pw/CN8K/" rel="noopener noreferrer nofollow">Стили взаимодействия микросервисов: 5 секретов, которые изменят ваш подход к backend-разработке </a></p></li><li><p> 30 марта 20:00 <br><a href="https://otus.pw/vQTRJ/" rel="noopener noreferrer nofollow">Основные шаблоны проектирования в системном дизайне </a></p></li><li><p> 31 марта 20:00 SQL: <br><a href="https://otus.pw/G51S/" rel="noopener noreferrer nofollow">Оконные функции — когда GROUP BY уже не хватает </a></p></li><li><p> 1 апреля 20:00 <br><a href="https://otus.pw/7q2I/" rel="noopener noreferrer nofollow">Scala + Cats: аккумулируем ошибки с Validated без боли </a></p></li><li><p> 1 апреля 20:00 <br><a href="https://otus.pw/c1IX/" rel="noopener noreferrer nofollow">Создание интерфейсов с помощью OpenAPI </a></p></li><li><p> 2 апреля 20:00 <br><a href="https://otus.pw/0mYZ/" rel="noopener noreferrer nofollow">Анатомия памяти: типы данных, способы хранения, аллокации и работа GC </a></p></li><li><p> 6 апреля 20:00 <br><a href="https://otus.pw/BiK5/" rel="noopener noreferrer nofollow">Ошибки системного аналитика при описании REST API </a></p></li><li><p> 9 апреля 20:00 <br><a href="https://otus.pw/1fg9/" rel="noopener noreferrer nofollow">PostgreSQL как векторная база данных: ИИ-поиск без лишних сервисов </a></p></li><li><p> 9 апреля 20:00 <br><a href="https://otus.pw/asL8/" rel="noopener noreferrer nofollow">Realtime на Node.js и TypeScript: создаём WebSocket-чат и разбираем архитектуру backend </a></p></li><li><p> 9 апреля 20:00 <br><a href="https://otus.pw/NgNu/" rel="noopener noreferrer nofollow">Модели восстановления в SQL Server: как не потерять данные и настроить бэкапы правильно</a> </p></li><li><p> 13 апреля 20:00 <br><a href="https://otus.pw/RdUP/" rel="noopener noreferrer nofollow">Как работают структуры данных C# «под капотом» </a></p></li><li><p> 13 апреля 20:00 <br><a href="https://otus.pw/9izK/" rel="noopener noreferrer nofollow">Telegram-бот с искусственным интеллектом на Python </a></p></li><li><p> 14 апреля 20:00 <br><a href="https://otus.pw/LUJp/" rel="noopener noreferrer nofollow">Case classes и pattern matching: суперсила Scala на практике</a> </p></li><li><p> 14 апреля 20:00 <br><a href="https://otus.pw/rPJqG/" rel="noopener noreferrer nofollow">Влияние нефункциональных требований на архитектуру </a></p></li><li><p> 15 апреля 18:00 <br><a href="https://otus.pw/2by8/" rel="noopener noreferrer nofollow">Основы протокола HTTP </a></p></li><li><p> 15 апреля 20:00 <br><a href="https://otus.pw/nIDeN/" rel="noopener noreferrer nofollow">OpenAPI + Spring </a></p></li><li><p> 15 апреля 20:00 <br><a href="https://otus.pw/Oiz6/" rel="noopener noreferrer nofollow">Основы проектирования бизнес-логики в микросервисной архитектуре</a></p></li></ul><blockquote><p><em>Еще больше бесплатных уроков от преподавателей курсов можно посмотреть в </em><a href="https://otus.pw/fsJK/" rel="noopener noreferrer nofollow"><em>календаре мероприятий.</em></a></p></blockquote> <a href="https://habr.com/ru/posts/1014414/?utm_campaign=1014414&amp;utm_source=habrahabr&amp;utm_medium=rss">Читать дальше &rarr;</a>]]></description>
      
    <pubDate>Wed, 25 Mar 2026 07:12:42 GMT</pubDate>
    <dc:creator><![CDATA[MaxRokatansky (OTUS)]]></dc:creator>
      
      <category><![CDATA[подборка уроков]]></category><category><![CDATA[онлайн-обучение]]></category><category><![CDATA[обучение в ИТ]]></category><category><![CDATA[профессиональное развитие]]></category><category><![CDATA[карьерное развитие]]></category><category><![CDATA[lifelong education]]></category><category><![CDATA[карьера в ит]]></category>
  </item>
  

	
  

  

  

    

  

  
  <item>
    <title><![CDATA[Пост @denis-19 — Искусственный интеллект (+3) — 23.03.2026 07:36]]></title>
    <guid isPermaLink="true">https://habr.com/ru/posts/1013492/</guid>
    <link>https://habr.com/ru/posts/1013492/?utm_campaign=1013492&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
    <description><![CDATA[<p>Ускоряем разработку в разы: специалист по ИИ собрал пять репозиториев для Claude Code, чтобы автоматизировать большинство задач в рутине программиста:</p><ul><li><p><a href="https://github.com/supabase/cli)%E2%80%94" rel="noopener noreferrer nofollow">Superbase CLI</a> <a href="https://github.com/supabase/cli)%E2%80%94" rel="noopener noreferrer nofollow">—</a> управление миграцией БД на PostgreSQL, генерирует типы из схемы БД, создаёт аутентифицированные HTTP-запросы.</p></li><li><p><a href="https://github.com/anthropics/skills/blob/main/skills/skill-creator/SKILL.md" rel="noopener noreferrer nofollow">Skill Creator</a> — позволяет создавать агентные скиллы без лишних заморочек, постоянно улучшаете и оттачиваете навыки Claude для конкретных задач.</p></li><li><p><a href="https://github.com/gsd-build/get-shit-done" rel="noopener noreferrer nofollow">Get shit done</a> — создаёт легковесную систему разработки с контекстным инжинирингом и поддерживает Claude Code, OpenCode, Gemini CLI, Codex, Copilot, и Antigravity.</p></li><li><p><a href="https://github.com/teng-lin/notebooklm-py" rel="noopener noreferrer nofollow">Notebooklm-py</a>  — обеспечивает программный доступ к фичам NotebookLM, который очень хорошо будет смотреться с агентами Claude Code, Codex, и OpenClaw.</p></li><li><p><a href="https://github.com/obsidianmd" rel="noopener noreferrer nofollow">Obsidian.md</a> — аналог NotebookLM со схожим функционалом, который работает в России и в него можно интегрировать Claude, чтобы получить мощный ворфлоу.</p></li></ul><figure class="full-width "><img src="https://habrastorage.org/getpro/habr/upload_files/2af/78d/392/2af78d3929dfa5ee9b475aa57efc6dc1.jpg" width="637" height="711"></figure> <a href="https://habr.com/ru/posts/1013492/?utm_campaign=1013492&amp;utm_source=habrahabr&amp;utm_medium=rss">Читать дальше &rarr;</a>]]></description>
      
    <pubDate>Mon, 23 Mar 2026 04:36:28 GMT</pubDate>
    <dc:creator><![CDATA[denis-19]]></dc:creator>
      
      <category><![CDATA[Claude Code]]></category>
  </item>
  

	
  

  

  

      

      

      

    
  </channel>
</rss>
