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

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

  <channel>
    <title><![CDATA[Все статьи подряд / Java / Хабр]]></title>
    <link>https://habr.com/ru/hubs/java/articles/</link>
    <description><![CDATA[Java – объектно-ориентированный язык программирования]]></description>
    <language>ru</language>
    <managingEditor>editor@habr.com</managingEditor>
    <generator>habr.com</generator>
    <pubDate>Tue, 19 May 2026 03:20:22 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[Spring Agent Toolkit: ультимативный набор для вашего AI-агента]]></title>
      <guid isPermaLink="true">https://habr.com/ru/companies/haulmont/articles/1034688/</guid>
      <link>https://habr.com/ru/companies/haulmont/articles/1034688/?utm_campaign=1034688&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/bf1/45d/cab/bf145dcab18c357c9232d6fe60256619.jpeg" /><p>AI-агенты уже стали частью повседневной разработки. Сначала это выглядит как магия: формулируешь задачу, получаешь код, тесты, иногда даже готовый PR.</p><p>Но довольно быстро приходит осознание:<br>– токены улетают слишком быстро;<br>– задача выполняется дольше, чем ожидалось;<br>– результат не всегда совпадает с тем, что было задумано.</p><p>В этой статье разберем, что с этим можно сделать на практике и почему для хорошего результата критически важен правильно подобранный набор инструментов.</p> <a href="https://habr.com/ru/articles/1034688/?utm_campaign=1034688&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Mon, 18 May 2026 10:49:36 GMT</pubDate>
      <dc:creator><![CDATA[ikuchmin (Haulmont)]]></dc:creator>
      
      <category><![CDATA[spring-boot]]></category><category><![CDATA[ai-агенты]]></category><category><![CDATA[mcp]]></category><category><![CDATA[skill]]></category><category><![CDATA[jpa]]></category><category><![CDATA[rest]]></category><category><![CDATA[генерация кода]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Качество кода в эпоху AI: как не утонуть в багах и уязвимостях]]></title>
      <guid isPermaLink="true">https://habr.com/ru/companies/veai/articles/1035778/</guid>
      <link>https://habr.com/ru/companies/veai/articles/1035778/?utm_campaign=1035778&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/4e6/f86/0fa/4e6f860faca79b8ecfa4f1aa864c8b05.jpg" /><p>Это конспект вебинара.&nbsp;Спикер&nbsp;—&nbsp;Даниил Степанов,&nbsp;разработчик-исследователь Veai,&nbsp;преподаватель ИТМО,&nbsp;ранее работал в JetBrains и Huawei.</p><p><strong>AI уже пишет заметную часть промышленного кода,&nbsp;а процессы качества у многих команд остались такими,&nbsp;будто код всё ещё пишет только человек и в прежнем объёме.</strong></p><p>Если коротко:&nbsp;проблема чаще всего не в том,&nbsp;что&nbsp;"модель тупая".&nbsp;Проблема в том,&nbsp;что вокруг агента нет инженерного контура:&nbsp;спецификации,&nbsp;ограничений,&nbsp;независимых тестов,&nbsp;security-checks,&nbsp;ревью-пайплайна и артефактов,&nbsp;которым можно верить.</p> <a href="https://habr.com/ru/articles/1035778/?utm_campaign=1035778&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Mon, 18 May 2026 10:05:40 GMT</pubDate>
      <dc:creator><![CDATA[dirvika (Veai)]]></dc:creator>
      
      <category><![CDATA[программирование]]></category><category><![CDATA[java]]></category><category><![CDATA[javascript]]></category><category><![CDATA[ai-агенты]]></category><category><![CDATA[ai]]></category><category><![CDATA[llm-модели]]></category><category><![CDATA[llm-агент]]></category><category><![CDATA[llm]]></category><category><![CDATA[kotlin]]></category><category><![CDATA[kotlin native]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[А с вашими миграциями все в порядке?]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1036052/</guid>
      <link>https://habr.com/ru/articles/1036052/?utm_campaign=1036052&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/209/f10/3c8/209f103c86fb5d4785a1635e5902b2e3.jpg" /><p>Миграции базы данных вроде бы есть, Liquibase подключен, changelog лежит в репозитории, CI зелёный, релизы проходят регулярно. Значит, процесс под контролем?</p><p>Не всегда…</p> <a href="https://habr.com/ru/articles/1036052/?utm_campaign=1036052&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Sun, 17 May 2026 14:18:10 GMT</pubDate>
      <dc:creator><![CDATA[rurikovich]]></dc:creator>
      
      <category><![CDATA[миграции базы данных]]></category><category><![CDATA[Liquibase]]></category><category><![CDATA[Flyway]]></category><category><![CDATA[changelog]]></category><category><![CDATA[rollback миграций]]></category><category><![CDATA[checksum]]></category><category><![CDATA[database schema]]></category><category><![CDATA[SQL миграции]]></category><category><![CDATA[безопасный релиз]]></category><category><![CDATA[ревью миграций]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Очереди в микросервисах: 5 ошибок, которые приводят к дублям и потерям]]></title>
      <guid isPermaLink="true">https://habr.com/ru/companies/otus/articles/1031284/</guid>
      <link>https://habr.com/ru/companies/otus/articles/1031284/?utm_campaign=1031284&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/84c/894/28c/84c89428c92ed6dc8e0bb9b0a2bb27ca.png" /><p>Почему добавление второго consumer«а в&nbsp;очередь может привести к&nbsp;двойным списаниям? Разбираем на&nbsp;реальном кейсе: как&nbsp;один Topic стоил компании 312&nbsp;дублей за&nbsp;час. »</p><p>Сравниваем поведение JMS, Kafka и RabbitMQ, показываем, почему ни одна очередь не&nbsp;даёт exactly‑once из&nbsp;коробки, и как&nbsp;идемпотентность, Dead Letter Queue и правильный выбор канала (команды vs события) делают интеграции надёжными.“</p><p><strong>Готовые схемы, продакшен‑код на&nbsp;Java и чек‑лист, который стоит применить прямо сейчас!</strong></p> <a href="https://habr.com/ru/articles/1031284/?utm_campaign=1031284&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать разбор</a>]]></description>
      
      <pubDate>Fri, 15 May 2026 19:40:25 GMT</pubDate>
      <dc:creator><![CDATA[sproshchaev (OTUS)]]></dc:creator>
      
      <category><![CDATA[очереди сообщений]]></category><category><![CDATA[микросервисы]]></category><category><![CDATA[брокеры сообщений]]></category><category><![CDATA[RabbitMQ]]></category><category><![CDATA[Kafka]]></category><category><![CDATA[JMS]]></category><category><![CDATA[publish-subscribe]]></category><category><![CDATA[competing consumers]]></category><category><![CDATA[идемпотентность]]></category><category><![CDATA[Dead Letter Queue]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Обработка исключений, возникших при обработке исключений]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1035762/</guid>
      <link>https://habr.com/ru/articles/1035762/?utm_campaign=1035762&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/6ae/6f5/3e4/6ae6f53e472f2d3a91ea9b6ff2577cbd.jpg" /><p>Исключения рождаются не только в основном коде, но и в обработчиках этих самых исключений. Зачастую вопросу не уделяется должного внимания. Действительно, что может пойти не так в блоке <code>catch</code>? Там ведь код тривиальный! Но это только на первый взгляд.</p><p>Например, безобидный <code>LOG.warn("...")</code> выливается в десяток вызовов нижележащих методов. И чем больше «наслоений» в библиотеке логгирования, тем выше вероятность сбоя. Всё бы ничего, если бы не одна особенность языка Java…</p> <a href="https://habr.com/ru/articles/1035762/?utm_campaign=1035762&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Fri, 15 May 2026 17:12:13 GMT</pubDate>
      <dc:creator><![CDATA[flaz14]]></dc:creator>
      
      <category><![CDATA[безопасное программирование]]></category><category><![CDATA[чистый код]]></category><category><![CDATA[обработка исключений]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Сравнение моделей конкурентности JVM языков: Нужен ли еще ThreadPool после coroutines, ZIO и Virtual Threads?]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1035740/</guid>
      <link>https://habr.com/ru/articles/1035740/?utm_campaign=1035740&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/2c7/e07/ee3/2c7e07ee3ab90ddc596f2ad1a4fd1d0b.jpg" /><p>В последней части про модели конкурентности JVM языков мы сравним разные подходы друг с другом. И ответим на вопрос “А зачем теперь тред пулы, если есть столько модных концепций: корутины, файберы, виртуальные потоки ?”</p> <a href="https://habr.com/ru/articles/1035740/?utm_campaign=1035740&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Узнать что есть кроме Java Threads</a>]]></description>
      
      <pubDate>Fri, 15 May 2026 16:12:19 GMT</pubDate>
      <dc:creator><![CDATA[rurikovich]]></dc:creator>
      
      <category><![CDATA[Java]]></category><category><![CDATA[JVM]]></category><category><![CDATA[Kotlin]]></category><category><![CDATA[Clojure]]></category><category><![CDATA[ZIO]]></category><category><![CDATA[coroutines]]></category><category><![CDATA[virtual threads]]></category><category><![CDATA[thread pools]]></category><category><![CDATA[Project Loom]]></category><category><![CDATA[concurrency]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Полный гайд по каналам обмена сообщениями: от теории к реальным кейсам]]></title>
      <guid isPermaLink="true">https://habr.com/ru/companies/otus/articles/1022192/</guid>
      <link>https://habr.com/ru/companies/otus/articles/1022192/?utm_campaign=1022192&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/d57/5d8/3bd/d575d83bda1fd42d4d8c87dce911d890.png" /><p>Первая статья из&nbsp;цикла о&nbsp;каналах обмена сообщениями. Разбираем архитектурные дилеммы, конкурирующих потребителей, message storm, гарантированную доставку и лучшие практики команд, работающих с&nbsp;JMS и Kafka.</p> <a href="https://habr.com/ru/articles/1022192/?utm_campaign=1022192&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Fri, 15 May 2026 13:10:32 GMT</pubDate>
      <dc:creator><![CDATA[sproshchaev (OTUS)]]></dc:creator>
      
      <category><![CDATA[архитектура ПО]]></category><category><![CDATA[интеграция]]></category><category><![CDATA[обмен сообщениями]]></category><category><![CDATA[каналы сообщений]]></category><category><![CDATA[Java]]></category><category><![CDATA[Kafka]]></category><category><![CDATA[микросервисы]]></category>
    </item>
  

  

  

	
  

  

  

    

  

  

	
  

  
    <item>
      <title><![CDATA[[Перевод] Kotlin переходит к деструктурированию по именам]]></title>
      <guid isPermaLink="true">https://habr.com/ru/companies/spring_aio/articles/1035596/</guid>
      <link>https://habr.com/ru/companies/spring_aio/articles/1035596/?utm_campaign=1035596&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/700/6ee/b55/7006eeb55576ec12a408a29dc5057e2c.png" /><p>В Kotlin деструктурирование выглядело так: <code>val (name, age) = person</code>. Но компилятор берет значения не по именам, а по позиции <code>component1/component2</code>.</p><p>Отсюда проблемы. Если поменяли порядок параметров в data class или сделали age вычисляемым свойством: то та же строка начинает доставать другое поле. Причем иногда код даже скомпилируется, но, конечно, смысл изменится: <code>val (age, name) = person</code>.</p><p>И вот теперь Kotlin эксперементально переводит круглые скобки на деструктурирование по имени. Синтаксис будет такой: <code>(val name, val age) = person</code>. И порядок внутри скобок не важен. Переименование явно: <code>(val years = age, val theName = name) = person</code>.</p><p>Позиционное же деструктурирование остается, но переезжает в квадратные скобки для Pair/Triple и коллекций: <code>val [x, y] = point</code>.</p><p>Разбираемся полностью в новом переводе от команды <a href="https://t.me/+acrI2N6q080wZjM6">Spring АйО</a>.</p> <a href="https://habr.com/ru/articles/1035596/?utm_campaign=1035596&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Fri, 15 May 2026 12:36:34 GMT</pubDate>
      <dc:creator><![CDATA[spring_aio (Spring АйО)]]></dc:creator>
      
      <category>java</category><category>kotlin</category><category>spring</category><category>spring boot</category><category>java core</category><category>kotlin multiplatform</category><category>kotlin dsl</category>
    </item>
  

  

    
    <item>
      <title><![CDATA[Как собрать пайплайн с LLM агентом который фиксит нативные Android UI автотесты]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1035390/</guid>
      <link>https://habr.com/ru/articles/1035390/?utm_campaign=1035390&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/98f/50d/6ce/98f50d6ced29a6f93e072dc46e1015b5.png" /><p><strong>Что будем делать или что может быть интересного в статье:</strong></p><p>- Пайплайн из двух независимых LLM агентов</p><p>- Запуск и анализ ошибки UI автотеста (Root Cause Analysis)</p><p>- Фикс автотеста в цикле с его запуском.</p><p>- Кастомизация MCP инструментов чтобы оптимизировать контекстное окно.</p><p>- Система приоритетов в работе LLM агентов.</p> <a href="https://habr.com/ru/articles/1035390/?utm_campaign=1035390&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Fri, 15 May 2026 10:19:43 GMT</pubDate>
      <dc:creator><![CDATA[Panarik]]></dc:creator>
      
      <category><![CDATA[llm-агент]]></category><category><![CDATA[llm-агенты]]></category><category><![CDATA[llm-модели]]></category><category><![CDATA[android development]]></category><category><![CDATA[espresso]]></category><category><![CDATA[ui-тесты]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Kafka, таксономии и удаление событий: как исключить обработку неактуальных сообщений]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1035526/</guid>
      <link>https://habr.com/ru/articles/1035526/?utm_campaign=1035526&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/8a3/8c9/5c7/8a38c95c7072badb8e36661d0f5f0c0f.jpg" /><p>В рамках задачи по обработке XBRL-таксономий возникло требование: если таксономия удалена до обработки событий расчёта кэша, эти события не должны приводить к созданию данных для уже неактуальной сущности.</p><p>На первый взгляд кажется, что достаточно найти соответствующие сообщения и удалить их из Kafka topic. Но Kafka хранит данные как commit log, поэтому точечное удаление сообщений по версии таксономии или другому бизнес-признаку оказывается небезопасным.</p><p>В статье рассмотрим, почему прямое удаление сообщений не подошло, какие варианты были рассмотрены и как в итоге был применён комбинированный подход: стабильный Kafka key, tombstone-сообщения, compact/delete policy и проверка состояния таксономии на стороне consumer.</p> <a href="https://habr.com/ru/articles/1035526/?utm_campaign=1035526&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Разберём решение</a>]]></description>
      
      <pubDate>Fri, 15 May 2026 09:23:47 GMT</pubDate>
      <dc:creator><![CDATA[AndrejGV]]></dc:creator>
      
      <category><![CDATA[kafka]]></category><category><![CDATA[spring boot]]></category><category><![CDATA[Spring Kafka]]></category><category><![CDATA[java]]></category><category><![CDATA[микросервисы]]></category><category><![CDATA[tombstone objects]]></category><category><![CDATA[Compacted topic]]></category><category><![CDATA[log compaction]]></category><category><![CDATA[consumer]]></category><category><![CDATA[идемпотентность]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Сравнение моделей конкурентности JVM языков: Kotlin coroutines, ZIO runtime и Clojure]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1034938/</guid>
      <link>https://habr.com/ru/articles/1034938/?utm_campaign=1034938&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/3e7/f80/ce6/3e7f80ce6fa0fab8e8713ec77486d592.jpg" /><p>Coroutine, Fiber, Virtual thread - это всё одно и то же?</p><p>Или нет ?</p><p>Или нет.</p><p>А если под капотом всё равно JVM, почему нельзя просто везде включить virtual threads и успокоиться? Разберемся!</p> <a href="https://habr.com/ru/articles/1034938/?utm_campaign=1034938&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Узнать что есть кроме Java Threads</a>]]></description>
      
      <pubDate>Fri, 15 May 2026 06:57:21 GMT</pubDate>
      <dc:creator><![CDATA[rurikovich]]></dc:creator>
      
      <category><![CDATA[Java]]></category><category><![CDATA[JVM]]></category><category><![CDATA[Kotlin]]></category><category><![CDATA[Clojure]]></category><category><![CDATA[ZIO]]></category><category><![CDATA[coroutines]]></category><category><![CDATA[virtual threads]]></category><category><![CDATA[Project Loom]]></category><category><![CDATA[thread pools]]></category><category><![CDATA[concurrency]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Codex 5.3 vs Claude Opus 4.6 на реальном Java‑монолите]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1034452/</guid>
      <link>https://habr.com/ru/articles/1034452/?utm_campaign=1034452&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/3c8/8dd/809/3c88dd809b7801bb25b511c655cb79ae.jpeg" /><p>Я сравнил Codex 5.3, Claude Opus 4.6 и GPT-5.5 на реальном многомодульном Java-монолите: скопировал проект в отдельные ветки, дал агентам похожие задачи и прогнал их через цикл правок, ревью и e2e-тестов.</p><p>Результат: чем дешевле - тем лучше результат.</p> <a href="https://habr.com/ru/articles/1034452/?utm_campaign=1034452&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Thu, 14 May 2026 17:31:22 GMT</pubDate>
      <dc:creator><![CDATA[NickAlister]]></dc:creator>
      
      <category><![CDATA[Codex]]></category><category><![CDATA[Claude]]></category><category><![CDATA[GPT-5.5]]></category><category><![CDATA[AI-агенты]]></category><category><![CDATA[вайбкодинг]]></category><category><![CDATA[Java]]></category><category><![CDATA[Spring AI]]></category><category><![CDATA[Telegram-бот]]></category><category><![CDATA[LLM]]></category><category><![CDATA[ReAct]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Техники GenAI в Spring AI]]></title>
      <guid isPermaLink="true">https://habr.com/ru/companies/tbank/articles/1035232/</guid>
      <link>https://habr.com/ru/companies/tbank/articles/1035232/?utm_campaign=1035232&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/7d9/19e/9ad/7d919e9ad9f071faf00261612d29ffd1.png" /><p>В статье рассмотрим ряд техник GenAI, реализованных в модуле Spring AI, и ответим на вопрос: является ли ChatClient лишь тонкой оберткой над API провайдеров LLM или предоставляет функциональные возможности, которые имеет смысл применять в реальных проектах. В качестве примера будем итеративно разрабатывать приложение, интегрированное с Anthropic, и разбирать возникающие по ходу проблемы.</p> <a href="https://habr.com/ru/articles/1035232/?utm_campaign=1035232&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Thu, 14 May 2026 13:52:11 GMT</pubDate>
      <dc:creator><![CDATA[nectar92 (Т-Банк)]]></dc:creator>
      
      <category><![CDATA[kotlin]]></category><category><![CDATA[spring]]></category><category><![CDATA[ai]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Локальное нагрузочное тестирование в Java с использованием Virtual Threads]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1035238/</guid>
      <link>https://habr.com/ru/articles/1035238/?utm_campaign=1035238&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/6ac/b6c/7f6/6acb6c7f643cebadf98aeb8e9b4f79e4.jpg" /><p>Всем привет! Меня зовут Михаил, я работаю главным экспертом в ОТП Банке.</p><p>Я люблю тестировать свои решения и почти всегда пишу unit- и integration-тесты. Но вот с нагрузочным тестированием ситуация обычно совсем другая: о нем вспоминают ближе к релизу, когда архитектуру уже поздно менять.</p><p>В какой-то момент я поймал себя на мысли:</p><p>А как вообще заранее понять, сколько ресурсов будет потреблять сервис под нагрузкой?</p><p>Сколько памяти съест приложение? Когда упрется в CPU? Как поведет себя БД при разном кол-ве запросов?</p><p>Чтобы ответить на эти вопросы, я написал небольшую библиотеку для локального нагрузочного тестирования на Java Virtual Threads. Она запускает большое количество задач, собирает метрики и формирует отчет - прямо в консоли или в CSV.</p><p>Сегодня я покажу сам подход, разберу код библиотеки и оставлю ссылку на GitHub-репозиторий, чтобы вы могли попробовать ее у себя или адаптировать под свои задачи.</p> <a href="https://habr.com/ru/articles/1035238/?utm_campaign=1035238&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Thu, 14 May 2026 13:14:01 GMT</pubDate>
      <dc:creator><![CDATA[MishaBucha]]></dc:creator>
      
      <category><![CDATA[java]]></category><category><![CDATA[virtual threads]]></category><category><![CDATA[multithreading]]></category><category><![CDATA[виртуальные потоки]]></category><category><![CDATA[нагрузочное тестирование]]></category><category><![CDATA[нагрузочное тестрование]]></category><category><![CDATA[unit-testing]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Паноптикум и ИИ]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1034894/</guid>
      <link>https://habr.com/ru/articles/1034894/?utm_campaign=1034894&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/e7a/d81/c97/e7ad81c976dd89c62b8f79b04f79290c.jpg" /><p>Давайте попробуем еще раз, в прошлый раз как-то не задалось, но много воды утекло с тех пор. Проект начался как простой способ "заглянуть в БД сервера" собственно таким он и остается до сих пор. Но по мере развития ИИ в нем появились новые фишки.</p><p>Как гласит слоган на главной странице: Panopticum — место, откуда видно всё. Собственно я старался сделать его именно таким, чтобы можно было посмотреть и проверить как можно больше из одного места, желательно с одинаковым интерфейсом.</p><p>Сначала я просто начал наращивать количество коннекторов. И если сначала это было четыре вида БД, потом шесть, то теперь это 26 разных БД, логи из Kuberneties и просмотр S3 бакетов.</p> <a href="https://habr.com/ru/articles/1034894/?utm_campaign=1034894&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Wed, 13 May 2026 18:29:28 GMT</pubDate>
      <dc:creator><![CDATA[Sharque]]></dc:creator>
      
      <category><![CDATA[mcp]]></category><category><![CDATA[ии]]></category><category><![CDATA[базы данных]]></category><category><![CDATA[кубернетис]]></category><category><![CDATA[s3]]></category><category><![CDATA[mongodb]]></category><category><![CDATA[redis]]></category><category><![CDATA[postgresql]]></category><category><![CDATA[oracle]]></category><category><![CDATA[mysql]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Открытое ТЗ для пет-проекта: сервис поиска пропавших людей]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1034426/</guid>
      <link>https://habr.com/ru/articles/1034426/?utm_campaign=1034426&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<p>Долго думал, в каком формате это написать, в итоге решил по-простому - рассказать, что есть, и кому это может пригодиться.</p><p>Мы с коллегой делали выпускной проект для курсов CloudJava и CloudJava K8S. Это техзадание на бэкенд распределенной системы - четыре микросервиса, Gateway, обвязка. Изначально оно было доступно только участникам курсов, теперь решили открыть бесплатно, без регистрации или “оставьте email”. Просто страница с текстом и тремя OpenAPI-спеками.</p><p>Ссылки сразу, чтобы не листать:</p><p>Описание проекта:&nbsp;<a href="https://javaops.ru/view/cloudjava3" rel="noopener noreferrer nofollow">https://javaops.ru/view/cloudjava3</a></p><p>Само ТЗ:&nbsp;<a href="https://javaops.ru/view/cloudjava3/rescue-service.html" rel="noopener noreferrer nofollow">https://javaops.ru/view/cloudjava3/rescue-service.html</a></p> <a href="https://habr.com/ru/articles/1034426/?utm_campaign=1034426&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Tue, 12 May 2026 18:56:38 GMT</pubDate>
      <dc:creator><![CDATA[aasmc]]></dc:creator>
      
      <category><![CDATA[java]]></category><category><![CDATA[spring boot]]></category><category><![CDATA[kafka]]></category><category><![CDATA[postgresql]]></category><category><![CDATA[пет проект]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Сравнение моделей конкурентности JVM языков: Треды, Пулы и Structured Concurrency]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1033894/</guid>
      <link>https://habr.com/ru/articles/1033894/?utm_campaign=1033894&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/32f/051/de4/32f051de41ed9f989c5aab0fd89be105.jpg" /><p>Вы пробовали что-нибудь кроме new Thread() ?</p><p>Конечно пробовали: Future !</p><p>И всё ?!</p><p>Разберемся с разными моделями конкурентности в Java, Kotlin, Scala/ZIO и Clojure: у всех JVM под капотом, но подходы разные. Начнём с разбора тредов, пулов, virtual threads из Project Loom и Structured Concurrency. Дальше: корутины, fibers, ZIO runtime и Clojure.</p> <a href="https://habr.com/ru/articles/1033894/?utm_campaign=1033894&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Узнать что есть кроме Java Threads</a>]]></description>
      
      <pubDate>Tue, 12 May 2026 17:05:05 GMT</pubDate>
      <dc:creator><![CDATA[rurikovich]]></dc:creator>
      
      <category><![CDATA[Java]]></category><category><![CDATA[JVM]]></category><category><![CDATA[многопоточность]]></category><category><![CDATA[Thread]]></category><category><![CDATA[Thread Pool]]></category><category><![CDATA[ExecutorService]]></category><category><![CDATA[Virtual Threads]]></category><category><![CDATA[Project Loom]]></category><category><![CDATA[Structured Concurrency]]></category><category><![CDATA[Blocking IO]]></category>
    </item>
  

  

  

	
  

  

  

    

  

  

	
  

  
    <item>
      <title><![CDATA[[Перевод] Команда Spring о Spring Framework 7 и Spring Boot 4]]></title>
      <guid isPermaLink="true">https://habr.com/ru/companies/spring_aio/articles/1034282/</guid>
      <link>https://habr.com/ru/companies/spring_aio/articles/1034282/?utm_campaign=1034282&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/116/a4f/43f/116a4f43fad1bbb764b9c5f3b7902696.png" /><p>В новом переводе от команды <a href="https://t.me/+acrI2N6q080wZjM6">Spring АйО</a> рассмотрим выход Spring Boot 4 и Spring Framework 7. InfoQ взяли интервью у core команды Spring с целью узнать, куда движется самая популярная в Java экосистема.</p><p>Spring Boot 4 модуляризировал автоконфигурацию. Теперь при запуске проверяется меньше классов в classpath, а uber-jar будет более компактным: будут подключаться только нужные модули. Параллельно Spring Boot 4 переходит на Jackson 3, но добавлен модуль совместимости с Jackson 2, потому что экосистема ещё догоняет.</p><p>Spring Framework 7 тащит core resilience в ядро: <code>RetryTemplate</code>, <code>@Retryable</code> и <code>@ConcurrencyLimit</code> доступны без отдельной зависимости. <code>@Retryable</code> работает и с реактивными типами (через Retry из Project Reactor); для обычных вызовов используется RetryTemplate с политикой retry/backoff. <code>@ConcurrencyLimit</code> помогает ограничивать доступ к ресурсу, что особенно полезно с Virtual Threads.</p> <a href="https://habr.com/ru/articles/1034282/?utm_campaign=1034282&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Tue, 12 May 2026 13:04:33 GMT</pubDate>
      <dc:creator><![CDATA[spring_aio (Spring АйО)]]></dc:creator>
      
      <category>java</category><category>kotlin</category><category>spring</category><category>spring boot</category><category>spring framework</category><category>spring-boot</category><category>spring data</category><category>ai</category><category>agents</category>
    </item>
  

  

    
    <item>
      <title><![CDATA[Интеграция SAP NetWeaver AS Java с Keycloak: SAML, 2FA и неожиданные проблемы]]></title>
      <guid isPermaLink="true">https://habr.com/ru/companies/jetinfosystems/articles/1034088/</guid>
      <link>https://habr.com/ru/companies/jetinfosystems/articles/1034088/?utm_campaign=1034088&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/747/d3e/90b/747d3e90beb59766cc7b59a73b7d65f8.jpg" /><p>Хабр, привет! </p><p>В последнее время обсуждать миграцию с продуктов SAP – это база. Однако для многих компаний эти системы пока остаются ключевыми.</p><p>Типичная защита периметра: «свои» внутри, «чужие» снаружи. Но бывает инверсия. Заказчик открывает SAP NetWeaver AS Java в большой мир. SAML в этой системе активируется быстрее, чем вы моргнете — буквально в два клика. Но если на том конце провода не дремлет злоумышленник, а у вас нет 2FA… считайте, что ключи от дома вы спрятали под ковриком.</p><p>Мы столкнулись с этой болью на проекте у одного из заказчиков. Нужно было настроить двухфакторную аутентификацию. И вот тут начались нюансы. </p><p>В этом материале мы опишем настройку интеграции портала SAP NetWeaver AS Java с внешним Identity Provider (IdP) — Keycloak — с реализацией двухфакторной аутентификации (2FA). До нашего вмешательства аутентификация происходила напрямую в SAP-системе.</p><p>Сама настройка и реализация несложные, однако есть несколько моментов, с которыми мы столкнулись на практике, и при этом не нашли достаточно подробного описания в документации.</p><p>Далее кратко рассмотрим процесс настройки и разберем возникшие проблемы. </p> <a href="https://habr.com/ru/articles/1034088/?utm_campaign=1034088&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Tue, 12 May 2026 08:00:58 GMT</pubDate>
      <dc:creator><![CDATA[JetHabr (Инфосистемы Джет)]]></dc:creator>
      
      <category><![CDATA[sap]]></category><category><![CDATA[saml]]></category><category><![CDATA[keycloak]]></category><category><![CDATA[2fa-аутентификация]]></category><category><![CDATA[2fa]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Как мы написали социальную сеть внутри Minecraft на 13 версиях — и почему это не было безумием]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1033858/</guid>
      <link>https://habr.com/ru/articles/1033858/?utm_campaign=1033858&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/b22/9f2/c86/b229f2c86c44fc753af2f85277f7a07e.png" /><p>Небольшая команда сделала мод-социальную-сеть для Minecraft, который объединяет в общий граф друзей игроков на любых поддерживаемых версиях клиента — от 1.7.10 до 1.21.1. Поддерживаются три популярных загрузчика модов и любые клиенты Minecraft, как лицензионные, так и офлайн. Серверная часть, веб-админка, обвязка и документация — всё своё.</p><p>Главное, что хотелось рассказать: дисциплина (не скорость) была решающим ресурсом, и <strong>категория продукта изменила правила игры</strong> настолько, что классическая формула «MVP на одной версии — потом расширяемся» оказалась контрпродуктивной.</p> <a href="https://habr.com/ru/articles/1033858/?utm_campaign=1033858&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Mon, 11 May 2026 17:15:49 GMT</pubDate>
      <dc:creator><![CDATA[Xuxodofu]]></dc:creator>
      
      <category><![CDATA[Моды]]></category><category><![CDATA[java]]></category><category><![CDATA[minecraft]]></category><category><![CDATA[minecraft модификации]]></category><category><![CDATA[социальные сети]]></category><category><![CDATA[программирование]]></category><category><![CDATA[системное программирование]]></category><category><![CDATA[go]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Даже дождь выглядит как интеграция: История одной профдеформации]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1033826/</guid>
      <link>https://habr.com/ru/articles/1033826/?utm_campaign=1033826&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/c28/2fe/8e8/c282fe8e8f512de7f62bd643c82f9f55.jpg" /><p>Всем привет, меня зовут Михаил, я back-end разработчик в ОТП банке. Сегодня хочу рассказать о профдеформации - о том, как разработка перестраивает мозг без спроса.</p><p>Разработка - это не восьмичасовой найм. Это перепрошивка, о которой никто не предупреждает на собеседовании. Мы видим, как всё работает за кулисами. А потом вдруг ловим себя на том, что с женой разговариваем эндпоинтами, а в очереди к врачу видим легаси-монолит.</p><p>И знаете что? Это не лечится.</p><p>Дальше - несколько моих личных симптомов. Пишите в комментариях свои, уверен, что у каждого такое было!</p> <a href="https://habr.com/ru/articles/1033826/?utm_campaign=1033826&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Mon, 11 May 2026 15:48:19 GMT</pubDate>
      <dc:creator><![CDATA[MishaBucha]]></dc:creator>
      
      <category><![CDATA[профдеформация]]></category><category><![CDATA[карьера]]></category><category><![CDATA[карьера в it]]></category><category><![CDATA[карьера программиста]]></category><category><![CDATA[мнение]]></category><category><![CDATA[java]]></category><category><![CDATA[kotlin]]></category><category><![CDATA[backend]]></category><category><![CDATA[программирование]]></category><category><![CDATA[программист]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Subject Matter Expert. Чёрная Метка Для Разработчика]]></title>
      <guid isPermaLink="true">https://habr.com/ru/companies/spring_aio/articles/1033330/</guid>
      <link>https://habr.com/ru/companies/spring_aio/articles/1033330/?utm_campaign=1033330&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/871/983/4d6/8719834d6c18dc2e38b38a9fcea61dff.jpg" /><p>Это не совсем привычная для меня статья, но я давно хотел поделиться одним своим наблюдением. В ней не будет никаких вещей, связанных непосредственно с разработкой на Java или Kotlin, не будет кода. Я просто решил поделиться опытом. Я надеюсь, читать эту статью Вы будете вечером, в спокойный, выходной день.</p><p>Ну что же, поехали.</p><p>Я предполагаю, что Spring АйО читают в основном Java или Kotlin разработчики. В том или ином виде, Java / Kotlin разработчики часто пишут какие-то Enterprise решения. Одной из отличительных особенностей enterprise является сложная доменная область. Если Вы хотя бы какое-то время писали Enterprise бекенд, то я думаю, для Вас это не новость.</p> <a href="https://habr.com/ru/articles/1033330/?utm_campaign=1033330&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Sat, 09 May 2026 15:09:43 GMT</pubDate>
      <dc:creator><![CDATA[mipo256 (Spring АйО)]]></dc:creator>
      
      <category><![CDATA[менеджмент]]></category><category><![CDATA[менеджмент проектов]]></category><category><![CDATA[enterprise]]></category><category><![CDATA[java]]></category><category><![CDATA[разработка]]></category><category><![CDATA[backend]]></category><category><![CDATA[менеджмент персонала]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[АЭС для всех, или как мы провели двухдневный воркшоп в Индии]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1033340/</guid>
      <link>https://habr.com/ru/articles/1033340/?utm_campaign=1033340&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/b78/831/7d7/b788317d7a288ba936c076661e253687.jpg" /><p>Как&nbsp;обучить&nbsp;работе&nbsp;с&nbsp;тренажёрами&nbsp;АЭС&nbsp;группу&nbsp;из&nbsp;30&nbsp;человек&nbsp;в&nbsp;Индийском&nbsp;технологическом&nbsp;институте&nbsp;Бомбея&nbsp;(IIT&nbsp;Bombay),&nbsp;если&nbsp;половина&nbsp;аудитории&nbsp;впервые&nbsp;слышит&nbsp;про&nbsp;атомную&nbsp;энергетику,&nbsp;а&nbsp;другая&nbsp;половина&nbsp;уже&nbsp;готова&nbsp;моделировать&nbsp;аварийные&nbsp;ситуации?</p><p>Именно&nbsp;с&nbsp;таким&nbsp;вызовом&nbsp;я&nbsp;столкнулся,&nbsp;когда&nbsp;готовил&nbsp;курс&nbsp;для&nbsp;индийских&nbsp;коллег.&nbsp;Мы&nbsp;разделили&nbsp;программу&nbsp;на&nbsp;два&nbsp;дня.&nbsp;В&nbsp;первый&nbsp;день&nbsp;— теория:&nbsp;основы&nbsp;работы&nbsp;АЭС,&nbsp;подготовка&nbsp;персонала,&nbsp;принципы&nbsp;создания&nbsp;математических&nbsp;моделей&nbsp;и&nbsp;тренажёров.&nbsp;Во&nbsp;второй&nbsp;— полноценный&nbsp;воркшоп&nbsp;с&nbsp;индивидуальной&nbsp;работой&nbsp;на&nbsp;тренажёрах.</p><p>Но&nbsp;гладко&nbsp;было&nbsp;только&nbsp;на&nbsp;бумаге.&nbsp;На&nbsp;практике&nbsp;пришлось&nbsp;решать&nbsp;целый&nbsp;ряд&nbsp;задач:</p> <a href="https://habr.com/ru/articles/1033340/?utm_campaign=1033340&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Sat, 09 May 2026 14:48:36 GMT</pubDate>
      <dc:creator><![CDATA[Sbukreev]]></dc:creator>
      
      <category><![CDATA[обучение]]></category><category><![CDATA[аэс]]></category><category><![CDATA[тренажеры для обучения персонала]]></category><category><![CDATA[моделирование]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Вайбкодинг — это гемблинг]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1033130/</guid>
      <link>https://habr.com/ru/articles/1033130/?utm_campaign=1033130&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/e32/0c6/29b/e320c629b36c561672f97f43d8c05a6f.jpeg" /><p>Наблюдая за&nbsp;тем,&nbsp;как&nbsp;ИИ внедряется на&nbsp;работе и дома,&nbsp;я всё чаще ловлю себя на&nbsp;простой мысли:&nbsp;всё труднее писать код самому и всё больше хочется делегировать ИИ.&nbsp;Да&nbsp;ещё и провайдеры ИИ призывают тратить больше токенов,&nbsp;руководители всё чаще призывают команды активнее пользоваться ИИ.&nbsp;В&nbsp;соцсетях регулярно попадаются шуточные видео про&nbsp;то,&nbsp;как&nbsp;CEO предлагает потреблять токены ради самого потребления,&nbsp;а&nbsp;в крупных компаниях уже идёт негласное соревнование:&nbsp;кто больше использует AI‑инструменты,&nbsp;кто больше автоматизирует,&nbsp;кто&nbsp;быстрее покажет,&nbsp;что&nbsp;«мы тоже в&nbsp;игре».</p><p>Из&nbsp;названия понятно,&nbsp;к&nbsp;чему я веду.&nbsp;Но&nbsp;мне хочется поговорить не&nbsp;про&nbsp;хайп и не&nbsp;про&nbsp;страх перед ИИ,&nbsp;а&nbsp;про более&nbsp;бытовую,&nbsp;инженерную и неприятную сторону:&nbsp;вайбкодинг очень легко превращается в&nbsp;гемблинг.</p> <a href="https://habr.com/ru/articles/1033130/?utm_campaign=1033130&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Fri, 08 May 2026 14:34:44 GMT</pubDate>
      <dc:creator><![CDATA[NickAlister]]></dc:creator>
      
      <category><![CDATA[ai]]></category><category><![CDATA[vibe coding]]></category><category><![CDATA[llm]]></category><category><![CDATA[java]]></category><category><![CDATA[openrouter]]></category><category><![CDATA[ai agents]]></category><category><![CDATA[telegram bot]]></category><category><![CDATA[ollama]]></category><category><![CDATA[agentic engineering]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Почему AI-агент чинит симптом, а не баг: трейсы выполнения и бенчмарки на BugSwarm]]></title>
      <guid isPermaLink="true">https://habr.com/ru/companies/veai/articles/1033008/</guid>
      <link>https://habr.com/ru/companies/veai/articles/1033008/?utm_campaign=1033008&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/f41/092/86f/f4109286ffb57caae38b42cdcd5fc7b0.png" /><p>Когда AI-агенту дают только stack trace и текст файла с упавшим тестом,&nbsp;он часто чинит симптом,&nbsp;а не причину.&nbsp;Тест зеленеет,&nbsp;баг переезжает в master,&nbsp;через неделю всплывает в другом месте.&nbsp;На простых багах это незаметно,&nbsp;на нетривиальных&nbsp;—&nbsp;становится правилом.</p><p>В этой статье&nbsp;—&nbsp;что меняется,&nbsp;если вместо stack trace дать агенту сжатый трейс выполнения,&nbsp;собранный на стороне IDE.&nbsp;Три бага из реального кода,&nbsp;эвристики сжатия трейса,&nbsp;склейка многопоточных вызовов по timestamp и цифры на датасете BugSwarm Pro для DeepSeek V3.2 и проприетарных LLM.</p><p>Статья пригодится,&nbsp;если вы:</p> <a href="https://habr.com/ru/articles/1033008/?utm_campaign=1033008&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Fri, 08 May 2026 10:31:43 GMT</pubDate>
      <dc:creator><![CDATA[dirvika (Veai)]]></dc:creator>
      
      <category><![CDATA[программирование]]></category><category><![CDATA[java]]></category><category><![CDATA[javascript]]></category><category><![CDATA[kotlin]]></category><category><![CDATA[kotlin native]]></category><category><![CDATA[аналитика данных]]></category><category><![CDATA[аналитика]]></category><category><![CDATA[аналитика проекта]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Skills для AI-агентов: всё, что тебе нужно знать]]></title>
      <guid isPermaLink="true">https://habr.com/ru/companies/haulmont/articles/1027460/</guid>
      <link>https://habr.com/ru/companies/haulmont/articles/1027460/?utm_campaign=1027460&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/8cf/972/c8d/8cf972c8de7c5b5eff9a72c7e722ab4c.jpeg" /><p>Добавляя новый Skill, мы ждем от агента простого результата: меньше ошибок, более стабильная работа и лучшее понимание библиотек и фреймворков.</p><p>На практике же часто можно наблюдать:<br>– один skill активируется почти всегда, даже когда не&nbsp;нужен<br>– другой&nbsp;— не&nbsp;включается в&nbsp;момент, когда мы на&nbsp;него рассчитываем<br>– третий&nbsp;— срабатывает «в паре» с&nbsp;соседними и они мешают друг другу</p><p>В какой-то момент может показаться, что агент работает хаотично и явно хуже, и хочется выключить все skills и вернуться к первоначальному состоянию.</p><p>Почему так происходит и что с этим можно сделать, разбираемся в статье.</p> <a href="https://habr.com/ru/articles/1027460/?utm_campaign=1027460&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Fri, 08 May 2026 10:01:40 GMT</pubDate>
      <dc:creator><![CDATA[ikuchmin (Haulmont)]]></dc:creator>
      
      <category><![CDATA[AI-агенты]]></category><category><![CDATA[Spring Boot]]></category><category><![CDATA[skills для AI-агентов]]></category><category><![CDATA[Spring Agent Toolkit]]></category><category><![CDATA[активация skills]]></category><category><![CDATA[YAML frontmatter]]></category><category><![CDATA[prompt engineering]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Veai 5.10: общие скиллы и подсказки в чате]]></title>
      <guid isPermaLink="true">https://habr.com/ru/companies/veai/articles/1032012/</guid>
      <link>https://habr.com/ru/companies/veai/articles/1032012/?utm_campaign=1032012&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/b2f/0c7/afd/b2f0c7afd50576fdee0eeea2056b6b8f.png" /><p>Главное в <strong>Veai 5.10 </strong>– скиллы теперь подхватываются из dot-директорий других ассистентов. В чат добавили быструю документацию по ссылкам на код.</p><p><strong>Запуск и получение конфигураций в Rider</strong></p><p>До Veai 5.10 в C#/.NET-проекте нужно было просить агента прогнать тесты в модуле или собрать проект. Агент шёл в терминал и пытался угадать команду: какой <code>dotnet</code>, какой TFM, какой фильтр и какой путь к csproj. На монорепо с несколькими SDK и <code>global.json</code> это регулярно заканчивалось exit code 1 и попыткой починить рабочий код.</p> <a href="https://habr.com/ru/articles/1032012/?utm_campaign=1032012&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Thu, 07 May 2026 11:07:12 GMT</pubDate>
      <dc:creator><![CDATA[Trip-Hope (Veai)]]></dc:creator>
      
      <category><![CDATA[ai-агенты]]></category><category><![CDATA[llm]]></category><category><![CDATA[автоматизация тестирования]]></category><category><![CDATA[генерация кода ai]]></category><category><![CDATA[автоматизация разработки]]></category><category><![CDATA[ai в разработке]]></category><category><![CDATA[автоматическая генерация кода]]></category><category><![CDATA[ии-ассистент]]></category><category><![CDATA[intellij idea plugin]]></category><category><![CDATA[документация]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Хватит копировать security YAML: AppSec-слой для Java-проектов через Gradle convention plugin]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1032532/</guid>
      <link>https://habr.com/ru/articles/1032532/?utm_campaign=1032532&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/48e/167/710/48e167710e5bb43931edef4874c907dc.png" /><p>Практический разбор того, как я вынес security-проверки Java-проектов из разрозненных CI/CD-скриптов в переиспользуемый Gradle plugin</p> <a href="https://habr.com/ru/articles/1032532/?utm_campaign=1032532&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Thu, 07 May 2026 10:41:06 GMT</pubDate>
      <dc:creator><![CDATA[NicholasKuzya]]></dc:creator>
      
      <category><![CDATA[cicd]]></category><category><![CDATA[gitlab-ci]]></category><category><![CDATA[java]]></category><category><![CDATA[gradle]]></category><category><![CDATA[gradle-plugin]]></category><category><![CDATA[security]]></category><category><![CDATA[sast]]></category><category><![CDATA[sbom]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Отказываемся от wkhtmltopdf: как мы искали решение для генерации нетривиальных PDF]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1032366/</guid>
      <link>https://habr.com/ru/articles/1032366/?utm_campaign=1032366&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/056/3b5/98b/0563b598bae268a03e2a17337afdfc57.jpg" /><p><strong>wkhtmltopdf долгое время был одним из основных инструментов для генерации PDF из HTML. Мы столкнулись с ним на собственном проекте, но, когда потребовалось реализовать сложные макеты, колонтитулы и повторяющиеся заголовки в многостраничных документах — возникли проблемы.</strong></p><p><strong>В этой статье — краткий обзор альтернатив (Headless Chrome, Puppeteer, Playwright, WeasyPrint, Gotenberg), их плюсы и минусы, а также наш итоговый выбор и подводные камни, которые всплыли в процессе внедрения.</strong></p> <a href="https://habr.com/ru/articles/1032366/?utm_campaign=1032366&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Thu, 07 May 2026 10:30:52 GMT</pubDate>
      <dc:creator><![CDATA[true_engineering]]></dc:creator>
      
      <category><![CDATA[генерация pdf]]></category><category><![CDATA[wkhtmltopdf альтернативы]]></category><category><![CDATA[печать сложных документов React]]></category><category><![CDATA[отказ от wkhtmltopdf]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Как сделать Maven build security-aware: AppSec-проверки без дрейфа CI/CD]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1032514/</guid>
      <link>https://habr.com/ru/articles/1032514/?utm_campaign=1032514&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/5cd/852/70e/5cd85270e13813f25276f8e41ae37e61.jpg" /><p>Единый плагин для сканирования на безопасность Java проектов. Maven. Или как проверять кучу микросервисов на безопасность управляя этим в одном месте</p> <a href="https://habr.com/ru/articles/1032514/?utm_campaign=1032514&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Скачать плагин</a>]]></description>
      
      <pubDate>Thu, 07 May 2026 10:26:10 GMT</pubDate>
      <dc:creator><![CDATA[NicholasKuzya]]></dc:creator>
      
      <category><![CDATA[java]]></category><category><![CDATA[плагин]]></category><category><![CDATA[cicd]]></category><category><![CDATA[gitlab-ci]]></category><category><![CDATA[sast]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Как мы перестали размножать BIRT‑шаблоны и собрали блочную платформу self‑service генерации страховых полисов в PDF]]></title>
      <guid isPermaLink="true">https://habr.com/ru/companies/alfastrah/articles/1032464/</guid>
      <link>https://habr.com/ru/companies/alfastrah/articles/1032464/?utm_campaign=1032464&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/945/361/d23/945361d23b94d328ca79ad2b484f7ddf.jpg" /><p>Когда документов и партнёров стало много, модель «один кейс — один шаблон» начала мешать даже простым правкам. Рассказываю, как мы вынесли композицию, версии и публикацию в отдельный backend-слой поверх BIRT, чтобы бизнес мог менять PDF-полисы без постоянного участия разработки.  </p> <a href="https://habr.com/ru/articles/1032464/?utm_campaign=1032464&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Thu, 07 May 2026 09:41:38 GMT</pubDate>
      <dc:creator><![CDATA[ElisBuh (АльфаСтрахование)]]></dc:creator>
      
      <category><![CDATA[BIRT]]></category><category><![CDATA[PDF]]></category><category><![CDATA[генерация документов]]></category><category><![CDATA[шаблоны]]></category><category><![CDATA[Java]]></category><category><![CDATA[Spring Boot]]></category><category><![CDATA[версионирование]]></category><category><![CDATA[конфигурирование]]></category><category><![CDATA[self-service]]></category><category><![CDATA[страхование]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Реально большая стейт-машина: как мы строили облачную запись и ИИ-конспектирование в Телемосте]]></title>
      <guid isPermaLink="true">https://habr.com/ru/companies/yandex/articles/1032168/</guid>
      <link>https://habr.com/ru/companies/yandex/articles/1032168/?utm_campaign=1032168&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/4de/74b/73f/4de74b73fcc9894573cd79431677d997.png" /><p>Всем привет! Меня зовут Илья Григорьев, я старший бэкенд-разработчик в команде Телемоста. В этой статье я разберу наш опыт разработки двух фич последнего года — ИИ-конспект с Алисой Про и облачной записи на Диск. Покажу, как мы проектировали их архитектуру, почему не всё получилось с первого раза, с какими системными и техническими ограничениями столкнулись при работе с медиаданными и как в итоге выстроили пайплайн их обработки и анализа.</p> <a href="https://habr.com/ru/articles/1032168/?utm_campaign=1032168&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Thu, 07 May 2026 07:19:29 GMT</pubDate>
      <dc:creator><![CDATA[ilyagrig2000 (Яндекс)]]></dc:creator>
      
      <category><![CDATA[бэкенд]]></category><category><![CDATA[java]]></category><category><![CDATA[postgresql]]></category><category><![CDATA[ffmpeg]]></category><category><![CDATA[стейт-машина]]></category><category><![CDATA[телемост]]></category><category><![CDATA[медиасервер]]></category><category><![CDATA[оптимизация]]></category><category><![CDATA[оптимизация производительности]]></category><category><![CDATA[backend-разработка]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Cursor удалил прод за 9 секунд, а Zig и JVM запретили AI-коммиты]]></title>
      <guid isPermaLink="true">https://habr.com/ru/companies/haulmont/articles/1032174/</guid>
      <link>https://habr.com/ru/companies/haulmont/articles/1032174/?utm_campaign=1032174&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/64a/18a/09b/64a18a09bb7f76c64b3287c06831178e.jpeg" /><p>Двенадцатый выпуск еженедельных IT-новостей от OpenIDE!</p><p>На этой неделе прошёл JPoint 2026, вышел Amplicode 2026.1 со Spring Agent Toolkit, а Anthropic впервые обогнала OpenAI по оценке на вторичном рынке. Плюс история о том, как AI-агент удалил продакшн-базу данных за 9 секунд.</p> <a href="https://habr.com/ru/articles/1032174/?utm_campaign=1032174&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Wed, 06 May 2026 13:03:15 GMT</pubDate>
      <dc:creator><![CDATA[honest_niceman (Haulmont)]]></dc:creator>
      
      <category><![CDATA[Amplicode]]></category><category><![CDATA[Spring Agent Toolkit]]></category><category><![CDATA[Cursor]]></category><category><![CDATA[Claude Opus]]></category><category><![CDATA[GitHub Copilot]]></category><category><![CDATA[Anthropic]]></category><category><![CDATA[Ghostty]]></category><category><![CDATA[Zig]]></category><category><![CDATA[AI инфраструктура]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Цирк уехал, а управление осталось: как разные менеджеры ломают разработку]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1031790/</guid>
      <link>https://habr.com/ru/articles/1031790/?utm_campaign=1031790&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/58d/89b/5ac/58d89b5acc98a9e556f37bf3e5f8b91f.jpg" /><p>За&nbsp;несколько лет работы я сменил несколько проектов и команд. Стек менялся: где‑то&nbsp;был Kotlin, где‑то классическая Java, где‑то вообще старый монолит на&nbsp;виртуалках.</p><p>Но&nbsp;самое сильное различие&nbsp;было не&nbsp;в&nbsp;технологиях.</p><p>Всё решали люди, которые руководят разработкой.</p><p>За&nbsp;это время я поработал с&nbsp;разными типами руководителей: от&nbsp;токсичного&nbsp;лида, которого боялась вся команда, до&nbsp;менеджера, который жил ради одобрения заказчика, и руководства, способного за&nbsp;пару месяцев развалить нормальный проект.</p><p>И самое неожиданное&nbsp;— один из&nbsp;них, при&nbsp;всех своих минусах, оказался для&nbsp;меня полезнее остальных.</p><p>В&nbsp;этой статье&nbsp;— три реальных кейса и то, чему они меня научили. И как&nbsp;каждый из&nbsp;руководителей влияет на&nbsp;разработку.</p> <a href="https://habr.com/ru/articles/1031790/?utm_campaign=1031790&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Wed, 06 May 2026 12:29:45 GMT</pubDate>
      <dc:creator><![CDATA[MishaBucha]]></dc:creator>
      
      <category><![CDATA[java]]></category><category><![CDATA[kotlin]]></category><category><![CDATA[карьера программиста]]></category><category><![CDATA[руководство]]></category><category><![CDATA[карьера]]></category><category><![CDATA[хаос]]></category><category><![CDATA[хаос в компании]]></category><category><![CDATA[хаос-менеджмент]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Анализируем heap‑дампы с прода, не привлекая внимания безопасников]]></title>
      <guid isPermaLink="true">https://habr.com/ru/companies/spring_aio/articles/1031462/</guid>
      <link>https://habr.com/ru/companies/spring_aio/articles/1031462/?utm_campaign=1031462&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/8dd/07d/6da/8dd07d6da21d65129f3066a5d935b110.jpg" /><p>Heap‑дампы JVM&nbsp;— бесценный источник информации при&nbsp;разборе аварий с <code>OutOfMemory</code> и оптимизации производительности. Но&nbsp;вместе с&nbsp;тем они&nbsp;же&nbsp;— потенциальные каналы утечки данных, ведь будучи снятыми с&nbsp;боевого сервиса, дампы уносят в&nbsp;себе всё, с&nbsp;чем работал сервис на&nbsp;момент снимка: логины, пароли (иногда в&nbsp;открытом виде), важные ID и тому подобное&nbsp;— словом, всяческие sensitive данные, которые не&nbsp;нужны для&nbsp;анализа, но&nbsp;могут навлечь на&nbsp;получателя дампа серьёзную ответственность и риски. Как&nbsp;этого избежать без&nbsp;ущерба делу&nbsp;— разбираемся под&nbsp;катом.</p> <a href="https://habr.com/ru/articles/1031462/?utm_campaign=1031462&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Wed, 06 May 2026 10:57:12 GMT</pubDate>
      <dc:creator><![CDATA[Toparvion (Spring АйО)]]></dc:creator>
      
      <category><![CDATA[jvm]]></category><category><![CDATA[heap]]></category><category><![CDATA[performance]]></category><category><![CDATA[security]]></category><category><![CDATA[leak]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Java Digest #35]]></title>
      <guid isPermaLink="true">https://habr.com/ru/companies/tbank/articles/1031954/</guid>
      <link>https://habr.com/ru/companies/tbank/articles/1031954/?utm_campaign=1031954&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/8c7/6c4/c82/8c76c4c82db92873c4e23968dd4642f8.jpg" /><p>Всем привет! 👋👋👋👋👋</p><p>Мы — Java-разработчики Т-Банка: <a href="https://habr.com/ru/users/evertimes/">Андрей</a>, <a href="https://habr.com/ru/users/MuonKvark/">Арсений</a>, <a href="https://habr.com/ru/users/roma00712/">Роман</a>, <a href="https://habr.com/ru/users/maximovkl/">Константин</a> и <a href="https://habr.com/ru/users/kpolshchikov/">Константин.</a> Собираем интересные новости, статьи, туториалы и другие материалы из мира Java-разработки и делимся этим со всем сообществом.</p><p>В этом выпуске рассказываем, когда ждать релиз Java 27 и как Oracle планирует регулировать использование генеративного ИИ при написании кода. Посмотрим детальное интервью о Spring Framework 7 и Spring Boot 4 с самой командой создателей Spring. Почитаем, как безопасно работать с нативной памятью в многопоточной среде с помощью VarHandle. А еще изучим любопытный постмортем, посвященный расследованию раздувания памяти в контейнерах после перехода на JDK 17. Приятного чтения!</p> <a href="https://habr.com/ru/articles/1031954/?utm_campaign=1031954&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать 35 выпуск</a>]]></description>
      
      <pubDate>Wed, 06 May 2026 09:55:49 GMT</pubDate>
      <dc:creator><![CDATA[evertimes (Т-Банк)]]></dc:creator>
      
      <category><![CDATA[java]]></category><category><![CDATA[jdk]]></category><category><![CDATA[jep]]></category><category><![CDATA[spring]]></category><category><![CDATA[spring-boot]]></category><category><![CDATA[hibernate]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Как собрать пайплайн с LLM агентом использующим эмуляторы Android девайсов]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1032042/</guid>
      <link>https://habr.com/ru/articles/1032042/?utm_campaign=1032042&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/e0a/728/b4a/e0a728b4a905beb87212aecf017250a6.png" /><p>LLM пока не может хорошо обращаться с Е2Е автотестами потому что для этого нужно провести целый комплекс мероприятий. Сложность возникает уже на этапе запуска такого автотеста. В отличии от юнит автотестов, Е2Е автотесты почти всегда PageObject и целый проект со своей архитектурой на базе Selenium Appium Espresso и тд.</p> <a href="https://habr.com/ru/articles/1032042/?utm_campaign=1032042&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Wed, 06 May 2026 09:23:29 GMT</pubDate>
      <dc:creator><![CDATA[Panarik]]></dc:creator>
      
      <category><![CDATA[android]]></category><category><![CDATA[aqa]]></category><category><![CDATA[llm]]></category><category><![CDATA[llm-агент]]></category><category><![CDATA[автоматизация]]></category><category><![CDATA[автотесты]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Как Monium приручил GC: разбираемся со сборщиками мусора в observability‑платформе]]></title>
      <guid isPermaLink="true">https://habr.com/ru/companies/yandex_cloud_and_infra/articles/1031710/</guid>
      <link>https://habr.com/ru/companies/yandex_cloud_and_infra/articles/1031710/?utm_campaign=1031710&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/332/f2e/5c3/332f2e5c3d2f2b63574f3560a0b5c436.png" /><p>Всем привет, меня зовут Антон Рыбочкин, я старший разработчик бэкенда в&nbsp;команде Yandex Monium. Monium&nbsp;— это платформа для&nbsp;сбора, хранения и анализа телеметрии (метрик, логов и трейсов). Она позволяет дать оценку того, как&nbsp;себя чувствует сервис, находить причины сбоев, оперативно уведомлять об&nbsp;аномалиях. </p><p>Изначально эта платформа развивалась как&nbsp;внутренняя система для&nbsp;мониторинга сервисов в&nbsp;масштабах всего Яндекса. Отсюда высокие требования к&nbsp;надёжности сервиса&nbsp;— телеметрия должна&nbsp;быть доступна, даже когда другие сервисы лежат. И с&nbsp;точки зрения бэкенда в&nbsp;таких кейсах есть свои вызовы, один из&nbsp;них&nbsp;— сборка мусора, или&nbsp;сокращённо GC. </p><p>В&nbsp;этой статье я расскажу про&nbsp;наш опыт с&nbsp;разными сборщиками мусора: с&nbsp;какими проблемами Java GC мы столкнулись в&nbsp;разных сервисах, как&nbsp;их можно диагностировать и как&nbsp;решить. </p> <a href="https://habr.com/ru/articles/1031710/?utm_campaign=1031710&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Wed, 06 May 2026 09:00:21 GMT</pubDate>
      <dc:creator><![CDATA[raipc (Yandex Cloud & Yandex Infrastructure)]]></dc:creator>
      
      <category><![CDATA[java]]></category><category><![CDATA[gc]]></category><category><![CDATA[opentelemetry]]></category><category><![CDATA[yandex monium]]></category><category><![CDATA[monium]]></category><category><![CDATA[observability]]></category><category><![CDATA[generational zgc]]></category><category><![CDATA[parallelgc]]></category><category><![CDATA[FullGC]]></category><category><![CDATA[shenandoah]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Оптимизируем JDBC connection pool HikariCP. Прод, ресурсы и типовые ошибки]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1031770/</guid>
      <link>https://habr.com/ru/articles/1031770/?utm_campaign=1031770&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/f8c/b46/ba7/f8cb46ba72d9f4b35053dbfae18bbacf.jpg" /><p>Продолжаем разбирать HikariCP: как выбирать размер пула, что учитывать в Kubernetes и при нескольких сервисах, почему большой maximumPoolSize не всегда помогает, какие настройки стоит пересмотреть перед продом и какие ошибки чаще всего приводят к проблемам с базой.</p> <a href="https://habr.com/ru/articles/1031770/?utm_campaign=1031770&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Tue, 05 May 2026 15:19:36 GMT</pubDate>
      <dc:creator><![CDATA[rurikovich]]></dc:creator>
      
      <category><![CDATA[HikariCP]]></category><category><![CDATA[JDBC]]></category><category><![CDATA[connection pool]]></category><category><![CDATA[PostgreSQL]]></category><category><![CDATA[Spring Boot]]></category><category><![CDATA[JVM]]></category><category><![CDATA[Java]]></category><category><![CDATA[Scala]]></category><category><![CDATA[Kubernetes]]></category><category><![CDATA[пул соединений]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Ollama Cloud Client: когда модели слишком тяжелы для локального запуска]]></title>
      <guid isPermaLink="true">https://habr.com/ru/companies/beeline_cloud/articles/1031708/</guid>
      <link>https://habr.com/ru/companies/beeline_cloud/articles/1031708/?utm_campaign=1031708&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/d0a/b64/da0/d0ab64da0c73bb23b69a463bc795bc9e.png" /><p>Привет. Меня зовут Николай Пискунов, я руководитель направления Big Data и эксперт курса Cloud DevSecOps по безопасной разработке от Академии вАЙТИ <a href="https://cloud.beeline.ru/?utm_source=owned_media&amp;utm_medium=habr&amp;utm_campaign=beeline_cloud&amp;utm_term=ollamacloudclient">Beeline Cloud</a>. Сегодня я хочу поделиться историей создания одного интересного проекта&nbsp;— клиента для облачного сервиса Ollama.</p> <a href="https://habr.com/ru/articles/1031708/?utm_campaign=1031708&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Tue, 05 May 2026 12:18:55 GMT</pubDate>
      <dc:creator><![CDATA[kbooo (Beeline Cloud)]]></dc:creator>
      
      <category><![CDATA[ollama]]></category><category><![CDATA[llm]]></category><category><![CDATA[spring boot]]></category><category><![CDATA[java]]></category><category><![CDATA[react]]></category><category><![CDATA[typescript]]></category><category><![CDATA[sse]]></category><category><![CDATA[server sent events]]></category><category><![CDATA[streaming]]></category><category><![CDATA[ai api]]></category>
    </item>
  

  

  

	
  

  

  

      

      

      

    
  </channel>
</rss>
