uk
Feedback

Не попадись на ботовода! Telemetrio знаходить і позначає такі канали мітками 👉 Хочеш бачити мітку, оформляй підписку

Spring АйО

Spring АйО

Відкрити в Telegram

Русскоязычное сообщество Spring-разработчиков. Habr: bit.ly/433IK46 YouTube: bit.ly/4h3Ci0x VK: bit.ly/4hF0OG8 Rutube: bit.ly/4b4UeX6 Яндекс Музыка: bit.ly/3EIizWy Чат для общения: @spring_aio_chat По вопросам сотрудничества: @befayer

Показати більше

📈 Аналітичний огляд Telegram-каналу Spring АйО

Канал Spring АйО (@spring_aio) є активним учасником. На даний момент спільнота об'єднує 10 943 підписників, посідаючи 11 249 місце в категорії Технології та додатки та 58 243 місце у регіоні Росія.

📊 Показники аудиторії та динаміка

З моменту свого створення невідомо, проект продемонстрував стрімке зростання, зібравши аудиторію у 10 943 підписників.

За останніми даними від 30 жовтня, 2026, канал демонструє стабільну активність. Хоча за останні 30 днів спостерігається зміна кількості учасників на 56, а за останні 24 години на -6, загальне охоплення залишається високим.

  • Статус верифікації: Не верифікований
  • Рівень залученості (ER): Середній показник залученості аудиторії становить 52.86%. Протягом перших 24 годин після публікації контент зазвичай збирає 22.38% реакцій від загальної кількості підписників.
  • Охоплення публікацій: В середньому кожен допис отримує 5 785 переглядів. Протягом першої доби публікація в середньому набирає 2 449 переглядів.
  • Реакції та взаємодія: Аудиторія активно підтримує контент: середня кількість реакцій на один пост – 43.
  • Тематичні інтереси: Контент зосереджений навколо ключових тем, таких як айо, хабр, api, jep, amplicode.

📝 Опис та контентна політика

Автор описує ресурс як майданчик для висловлення суб'єктивної думки:
“Русскоязычное сообщество Spring-разработчиков. Habr: bit.ly/433IK46 YouTube: bit.ly/4h3Ci0x VK: bit.ly/4hF0OG8 Rutube: bit.ly/4b4UeX6 Яндекс Музыка: bit.ly/3EIizWy Чат для общения: @spring_aio_chat По вопросам сотрудничества: @befayer”

Завдяки високій частоті оновлень (останні дані отримано 31 жовтня, 2026), канал підтримує актуальність та високий рівень охоплення публікацій. Аналітика показує, що аудиторія активно взаємодіє з контентом, що робить його важливою точкою впливу в категорії Технології та додатки.

10 943
Підписники
-624 години
-227 днів
+5630 днів
Архів дописів
Когда генератор нагрузки замирает вместе с сервером Если генератор и тестируемая система работают в одной JVM, пауза GC остан
Когда генератор нагрузки замирает вместе с сервером Если генератор и тестируемая система работают в одной JVM, пауза GC останавливает обоих. Сервер не отвечает, но и новые запросы никто не планирует. В итоге p99 выглядит лучше, чем его увидели бы реальные клиенты. Они-то сборку мусора не ждут. В экспериментах SPECjbb2015 разница между режимами достигала 34 против 100 мс, а с Serial GC даже 278 против 1750 мс. В статье разбираем coordinated omission и объясняем, почему для честного измерения задержек генератор нагрузки стоит вынести в отдельную JVM. 🔗 Статья на Хабр: https://habr.com/ru/companies/spring_aio/articles/1101598/

🪨 Прод начинается там, где заканчивается магия Наши эксперты Михаил Поливаха и Евгений Сулейманов выступили с двумя практиче
🪨 Прод начинается там, где заканчивается магия Наши эксперты Михаил Поливаха и Евгений Сулейманов выступили с двумя практическими разборами для JVM Dev. • Евгений показал, как Redis сначала спасает latency, а потом незаметно начинает влиять на консистентность, права доступа, релизы и отказоустойчивость. Внутри Spring Boot, PostgreSQL, код, метрики и проблемы, которые обычно приходят уже после фразы «давайте просто добавим кэш». 🤩 СМОТРЕТЬ НА YOUTUBE • Михаил разобрал Spring Data JDBC на примере open-source проекта Axelix. Как проектировать агрегаты, не портить доменную модель и при этом не проигрывать в производительности. 🤩 СМОТРЕТЬ НА YOUTUBE Приятного просмотра!

😶 Java упала до первого лога. Виноват AOT-кэш Docker-образ собрали на процессоре с AVX или SVE. JDK 25 сохранила CPU-специфи
😶 Java упала до первого лога. Виноват AOT-кэш Docker-образ собрали на процессоре с AVX или SVE. JDK 25 сохранила CPU-специфичные адаптеры в AOT-кэш, а затем попыталась выполнить их на машине без этих инструкций. Результат получился на удивление нативным для Java-приложения — SIGILL. В статье разбираем путь от ~AdapterBlob в крэш-логе до бага в OpenJDK. А ещё показываем, как собрать переносимый multi-arch образ, сохранить ускорение старта и не играть в лотерею с процессорами CI-раннеров. 🔗 Статья на Хабр: https://habr.com/ru/companies/spring_aio/articles/1100616/

🍃 Spring обошёл авторизацию, Java ускоряется, интерфейсы не нужны? | Spring АйО Подкаст №77 😉 СМОТРЕТЬ НА YOUTUBE 😄 СМОТРЕТЬ НА VK ВИДЕО 🥰 СМОТРЕТЬ НА RUTUBE 🗯 СЛУШАТЬ НА ЯНДЕКС.МУЗЫКЕ 🤩 СЛУШАТЬ НА SPOTIFY 🤩 СЛУШАТЬ НА APPLE PODCASTS 💬 Аудио версию подкаста можно найти в комментариях

🧑‍💻 Мы вынесли Actuator на отдельный порт и потеряли авторизацию Конфигурация самая обычная: бизнес-API на 8080, Actuator н
🧑‍💻 Мы вынесли Actuator на отдельный порт и потеряли авторизацию Конфигурация самая обычная: бизнес-API на 8080, Actuator на 8081. Так делают очень многие, и это хорошая практика. Но у наших друзей из Axelix при такой настройке Actuator endpoints принимали запросы без JWT-токена. Фильтр при этом был, проверка подписи работала безупречно, просто запрос тайно проходил IAM. Виноват механизм, который живёт в Spring уже лет двадцать и про который в эпоху Spring Boot многие забыли: иерархия ApplicationContext. В статье разбираем:
- кто кого видит в иерархии контекстов и почему parent не знает о своих детях; - почему «видеть бин» не значит «использовать его»; - что на самом деле меняет management.server.port; - как Axelix закрыл уязвимость.
⚠️ Полезно всем, кто выносит Actuator на отдельный порт или пишет свои стартеры 🔗 Статья на Хабр: https://habr.com/ru/companies/spring_aio/articles/1099408/

🐸 JDK 28 перестает дегать MALLOC по каждой мелочи Arena.ofConfined() получит пулы для небольших сегментов. Вместо постоянных
🐸 JDK 28 перестает дегать MALLOC по каждой мелочи Arena.ofConfined() получит пулы для небольших сегментов. Вместо постоянных вызовов malloc и free JDK сможет повторно использовать блоки памяти. В микробенчмарках выделение 5–20 байт ускорилось в 6,8–18,9 раза. Код менять не придётся, а прежние гарантии безопасности сохранятся. В новом переводе разбираемся, как устроена оптимизация и кому она принесёт пользу. 🔗 Статья на Хабр: https://habr.com/ru/companies/spring_aio/articles/1098450/

😈 Преждевременная оптимизация не всегда зло Все знают фразу Дональда Кнута: «Преждевременная оптимизация — корень всех зол».
😈 Преждевременная оптимизация не всегда зло Все знают фразу Дональда Кнута:
«Преждевременная оптимизация — корень всех зол».
Но обычно цитату обрывают слишком рано. Кнут предлагал забыть о небольшом выигрыше в 97% случаев, но не упускать возможности в оставшихся критически важных 3%. Иногда для них не нужны профилировщик и чёрная магия. Достаточно не компилировать регулярку при каждом вызове, не искать постоянно по List, когда нужен Set, и не создавать новые строки ради сравнения без учёта регистра. В статье разобрали простые приёмы для строк, коллекций, enum и инициализации объектов. Код становится не только быстрее, но и понятнее. Редкое и приятное совпадение. 🔗 Статья на Хабр: https://habr.com/ru/companies/spring_aio/articles/1097566/

🍃 AI захватил конференции, почему Kotlin переобулся, статика — зло | Spring АйО Подкаст №76 😉 СМОТРЕТЬ НА YOUTUBE 😄 СМОТРЕТЬ НА VK ВИДЕО 🥰 Чуть позже... 🗯 СЛУШАТЬ НА ЯНДЕКС.МУЗЫКЕ 🤩 СЛУШАТЬ НА SPOTIFY 🤩 СЛУШАТЬ НА APPLE PODCASTS 💬 Аудио версию подкаста можно найти в комментариях

⚡️ Meta Harness OpenIDE: комментарии, новые агенты и много исправлений Поправили зависания, работу больших чатов и много мелочей в интерфейсе, а в каталог агентов добавили «Астра ИИ Код», SourceCraft от Яндекса, Koda CLI и ещё больше десятка агентов.
Главная новинка – комментарии для AI: можно выделить фрагмент кода или ответа агента, написать, что нужно изменить, и собрать замечания в одну пачку либо сразу отправить правку в выбранный или новый чат.
В коротком видео показываем, как это работает прямо в IDE. Скачивайте свежий релиз OpenIDE Pro и два месяца пользуйтесь всеми её возможностями бесплатно и без ограничений. https://openide.ru/download

🔄 Переход Java 21 → 25. Где искать грабли Просто поменять версию в pom.xml может быть недостаточно. На JDK 25 могут перестат
🔄 Переход Java 21 → 25. Где искать грабли Просто поменять версию в pom.xml может быть недостаточно. На JDK 25 могут перестать запускаться процессоры аннотаций, сломаться старые параметры JVM и измениться разбор дат. Иногда приложение упадёт сразу. Иногда проблема всплывёт позже, что даже веселее. В новом переводе собрали реальные несовместимости и проверки, которые стоит выполнить до переезда. 🔗 Статья на Хабр: https://habr.com/ru/companies/spring_aio/articles/1096850/

Netflix ускорила ИИ-агентов с помощью IntelliJ IDEA Netflix подключила Claude Code и Codex к движку анализа кода JetBrains и
Netflix ускорила ИИ-агентов с помощью IntelliJ IDEA Netflix подключила Claude Code и Codex к движку анализа кода JetBrains и теперь агенты могут работать с индексом проекта и зависимостей вместо раскопок в JAR-файлах через декомпиляцию и grep. На реальных Java и Kotlin проектах расход времени и токенов снизился в среднем на 20–30%, а лучший результат достиг 65%. Вывод простой. Даже умной модели полезно сначала нормально показать код. 🔗 Статья на Хабр 🔗 Исследование JetBrains и Netflix

😀 Joker 2026 && Spring АйО 🍃 Два дня в Петербурге пролетели быстрее, чем прогрев JVM. Доклады, дискуссии, Java, Spring, ИИ-
+6
😀 Joker 2026 && Spring АйО 🍃 Два дня в Петербурге пролетели быстрее, чем прогрев JVM. Доклады, дискуссии, Java, Spring, ИИ-агенты и, главное, много живого общения. Спасибо всем, кто подошёл познакомиться, поговорить и обсудить происходящее в нашем уютном энтерпрайзе. Были рады увидеть старых знакомых и встретить новых. Joker 2026 завершился, а впечатления остались. До новых встреч на конференциях! ❤️️️️️️️ И как всегда, спасибо Jug Ru Group за организацию. Все как всегда на высшем уровне!

🎬 Записи докладов с JPoint 2026 уже в открытом доступе JUG Ru Group выложили записи с прошедшего JPoint 2026. Мы собрали в одном посте доклады Spring-трека, который курировала команда Spring АйО. 🔐 Илья Николаев — Передаём секреты в Spring Boot-бины безопасно СМОТРЕТЬ НА YOUTUBE 🛡 Михаил Поливаха — Axelix. Delta Force для экосистемы Spring Boot СМОТРЕТЬ НА YOUTUBE 🧩 Никита Кириллов — Beyond @SpringBootApplication: создание собственных экосистем поверх Spring Boot СМОТРЕТЬ НА YOUTUBE 📈 Рустам Курамшин — Мониторь это. Как писать свои метрики для Micrometer и Grafana СМОТРЕТЬ НА YOUTUBE 🗄 Артемий Дегтярев — Spring Data JDBC: где мы находимся сейчас СМОТРЕТЬ НА YOUTUBE 👀 Пять докладов - от безопасной работы с секретами до собственных экосистем поверх Spring Boot. Хватит на пару вечеров. 💬 Какой доклад зашёл больше всего? Пишите в комментариях

👩‍💻 Kotlin получил почти настоящие статики Начиная с Kotlin 2.5.0-Beta1 можно экспериментировать с блоками-компаньонами.

data class Vector(val x: Double, val y: Double) {
    companion {
        val ZERO = Vector(0.0, 0.0)
    }
}
Выглядит как companion object, только без object. На JVM содержимое такого блока компилируется в статические члены. Никакого отдельного объекта и меньше церемоний при работе с Java. Ещё интереснее companion extensions. Они позволяют добавить член любому Kotlin- или Java-классу, даже если у него нет собственного компаньона.

companion fun Vector.unit(angle: Double) =
    Vector(cos(angle), sin(angle))
Вызывать можно привычно через Vector.unit(...). Существующие companion object никуда не исчезают. Они по-прежнему нужны, если компаньон должен реализовать интерфейс или обладать собственной идентичностью. Для экспериментов нужен флаг -Xcompanion-blocks-and-extensions. Только учитывайте, что расширения-компаньоны пока создают pre-release-бинарники. Тащить их в публичную библиотеку рановато. 🙅‍♂️ 🔗 Наш перевод на Хабр 🔗 Анонс JetBrains 🔗 KEEP

🍃 Spring Boot ломает совместимость, G1 тормозит микросервисы, Java долго релизит фичи | Spring АйО Подкаст №75 😉 СМОТРЕТЬ НА YOUTUBE 😄 СМОТРЕТЬ НА VK ВИДЕО 🥰 СМОТРЕТЬ НА RUTUBE 🗯 СЛУШАТЬ НА ЯНДЕКС.МУЗЫКЕ 🤩 СЛУШАТЬ НА SPOTIFY 🤩 СЛУШАТЬ НА APPLE PODCASTS 💬 Аудио версию подкаста можно найти в комментариях

👩‍💻 Spring Config Import без магии У наших друзей из Axelix вышла статья о том, как Spring Boot грузит внешнюю для себя кон
👩‍💻 Spring Config Import без магии У наших друзей из Axelix вышла статья о том, как Spring Boot грузит внешнюю для себя конфигурацию, например из Spring Cloud Config сервера или из Hashicorp Vault. Статья про EnvironmentPostProcessor побудила довольно большое обсуждение вокруг темы того:
- Как Spring грузит конфигурацию в целом? - При чём тут bootstrap.yaml и BootstrapContext? - Что кардинально поменялось? - И в чём же такая особенность spring.config.import и почему она требует особого внимания?
⚠️ Полезно всем, кто хоть раз пытался понять, откуда Spring взял конкретное значение 🔗 Статья на Хабр: https://habr.com/ru/companies/spring_aio/articles/1091064/

🥲 В Java 27 TLS научился переживать квантовую атаку При установке HTTPS-соединения клиент и сервер создают общий секрет. Затем с его помощью шифруется передаваемый трафик. Современные алгоритмы обмена ключами считаются надёжными для обычных компьютеров. Но достаточно мощный квантовый компьютер сможет их взломать. Есть атака, которая называется harvest now, decrypt later. Трафик перехватывают сегодня, а расшифровывают через несколько лет. Так вот JEP 527 добавил в Java 27 гибридный обмен ключами для TLS 1.3. Основная схема называется X25519MLKEM768. Она объединяет классический X25519 и постквантовый ML-KEM-768. Секрет зависит от обоих алгоритмов. Даже если один из них когда-нибудь взломают, второй продолжит защищать соединение. Клиент на JDK 27 по умолчанию предлагает серверу две схемы. Новую гибридную и обычную X25519. Если сервер поддерживает гибридную, используется она. Если нет, TLS продолжает работать по старой схеме. Для нас, как для Spring-разработчиков приятно то, что при использовании стандартного javax.net.ssl защита включается по умолчанию. На код никак не влияет, если приложение не переопределяет список TLS-групп. 👀 Получается редкий апгрейд безопасности, который можно получить простым обновлением JDK. Правда, защищает он не от квантового компьютера сегодня, а от слишком хитрого запасливого злоумышленника. 🔗 Подробнее о JEP 527

⚡️⚡️Строки кода стремятся подешеветь до цены токена. Что остается ценным? Про это — трек «Замысел» 15 октября. Во второй день
+4
⚡️⚡️Строки кода стремятся подешеветь до цены токена. Что остается ценным? Про это — трек «Замысел» 15 октября. Во второй день Joker, посвященный разработке будущего. О том, как человек понимает, почему он называет что-то проблемой, и формулирует свою цель, а не ту, что навязана ему извне. Теперь это общая работа для всех ролей, от разработчика до CEO: шаблонными решениями и готовыми схемами думает модель. В карточках к посту рассказываем, почему так получилось, и показываем доклады из трека: спикеры расскажут, о чем нужно подумать еще до постановки задачи, и чем будет заниматься новый тип инженера — Context Engineer. К дискуссиям после докладов — собираем ваши кейсы. Напишите в комментариях поста, если у вас бывало такое: — агент час работал не над той задачей, потому что задача была сформулирована плохо; — ускорение одного этапа не сдвинуло общий срок; — узким местом оказалась не модель или инфраструктура, а знание, которое никто не записал. Joker 2026 — 14–15 октября, Санкт-Петербург и онлайн. 🌟По промокоду springaio персональные билеты дешевле ▶️ Исследуйте разработку будущего — на сайте Joker.

🙅‍♂️ Не каждый AI-вызов должен генерировать текст Иногда от модели нужен не красивый ответ, а быстрое решение. Пропустить за
🙅‍♂️ Не каждый AI-вызов должен генерировать текст Иногда от модели нужен не красивый ответ, а быстрое решение. Пропустить запрос или заблокировать, выбрать маршрут, оценить результат, отфильтровать документы для RAG. Для этого появился Spring AI TypeSafe. Проект интегрирует Jev API, который отвечает на типизированные вопросы числовыми значениями и не генерирует текст. Разбираемся, как поставить быструю и дешёвую проверку перед дорогим вызовом чат-модели и платить по-крупному только тогда, когда это действительно нужно. 🔗 Читать статью

JEP 544: JVM будет сохранять машинный код между запусками JEP 544 (Ahead-of-Time Code Compilation) предложен в JDK 28, релиз
JEP 544: JVM будет сохранять машинный код между запусками JEP 544 (Ahead-of-Time Code Compilation) предложен в JDK 28, релиз в марте 2027. Это очередной слой AOT-кэша из Project Leyden. В JDK 24 туда попали загруженные и слинкованные классы (JEP 483), в JDK 25 - профили методов (JEP 515). Теперь дошла очередь до самого машинного кода. Как это работает На обучающем запуске JVM компилирует горячие методы обычными C1 и C2 и складывает результат в кэш. В рабочем запуске запрос на компиляцию метода закрывается готовым кодом. Процедура та же, что и раньше: -XX:AOTCacheOutput при обучении, -XX:AOTCache в проде. Включать ничего не нужно. Код из кэша остаётся обычным кодом HotSpot. Если рабочая нагрузка ушла в сторону от обучающей, метод деоптимизируется и перекомпилируется JIT-ом, как любой другой. Профили из JEP 515 при этом продолжают работать: по ним JVM выбирает порядок загрузки кода и пересобирает методы. Чем AOT-код хуже JIT-кода JIT компилирует метод, когда нужные классы давно инициализированы. Он подставляет значения static final полей как константы и выбрасывает проверки инициализации. Код из кэша начинает работать раньше, чем классы успели инициализироваться, а значение static final может отличаться от запуска к запуску. Поле приходится читать по-настоящему. Для методов, которые обращаются к статике других классов, C2 собирает две версии: медленную с проверками инициализации и быструю без них. Поэтому JIT никуда не уходит. AOT-код даёт быстрый старт, до пика доводит перекомпиляция. Когда кэш не сработает Обучающий и рабочий запуски должны совпадать по архитектуре процессора, набору инструкций и сборщику мусора: барьеры GC вшиты в машинный код. Собрали образ на хотсе с AVX-512, pod уехал на узел без него - код из кэша не загрузится. Ошибки не будет, JVM молча перейдёт на интерпретатор и JIT. В кластере с разнородными узлами это легко пропустить. Поддерживаются x64 и AArch64, из сборщиков - Serial, Parallel, G1 и ZGC. Цифры По данным JEP, AOT-кэш без кода сокращает время старта на 50-70%, с кодом - на 65-80%. Основную часть выигрыша на старте дают уже вышедшие JDK 24-26, новый JEP добавляет 10-15 п.п. Заметнее эффект на прогреве. В PR есть замер на Quarkus-сервисе с двумя ядрами: обычная JVM начинает отвечать быстрее 1 мс после 420 запросов, JDK 26 с AOT-кэшем - примерно после 200, сборка с JEP 544 - чуть позже сотого. Второй эффект касается CPU. JIT на старте перестаёт отбирать ядра у приложения, и сильнее всего это видно на контейнерах с лимитом в 1-2 CPU. Там, где запас по CPU закладывали под прогрев, его можно будет пересмотреть. Оценить вклад кода на своём сервисе можно диагностическим флагом: -XX:+UnlockDiagnosticVMOptions -XX:-AOTCodeCaching Заодно станет видно, насколько вырос файл кэша. Что остаётся неудобным Обучающий запуск. Кэш хорош настолько, насколько нагрузка при сборке похожа на боевую, а готового инструмента для этого нет. Spring Boot и Quarkus умеют записывать кэш при сборке, но прогон реальных сценариев остаётся на вашей стороне. Упрощение этого процесса авторы JEP прямо вынесли за рамки. JEP: https://openjdk.org/jeps/544