Spring АйО
Русскоязычное сообщество 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 903 підписників, посідаючи 10 975 місце в категорії Технології та додатки та 58 493 місце у регіоні Росія.
📊 Показники аудиторії та динаміка
З моменту свого створення невідомо, проект продемонстрував стрімке зростання, зібравши аудиторію у 10 903 підписників.
За останніми даними від 26 серпня, 2026, канал демонструє стабільну активність. Хоча за останні 30 днів спостерігається зміна кількості учасників на -19, а за останні 24 години на -2, загальне охоплення залишається високим.
- Статус верифікації: Не верифікований
- Рівень залученості (ER): Середній показник залученості аудиторії становить 50.90%. Протягом перших 24 годин після публікації контент зазвичай збирає 24.82% реакцій від загальної кількості підписників.
- Охоплення публікацій: В середньому кожен допис отримує 5 550 переглядів. Протягом першої доби публікація в середньому набирає 2 706 переглядів.
- Реакції та взаємодія: Аудиторія активно підтримує контент: середня кількість реакцій на один пост – 64.
- Тематичні інтереси: Контент зосереджений навколо ключових тем, таких як айо, хабр, 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”
Завдяки високій частоті оновлень (останні дані отримано 27 серпня, 2026), канал підтримує актуальність та високий рівень охоплення публікацій. Аналітика показує, що аудиторія активно взаємодіє з контентом, що робить його важливою точкою впливу в категорії Технології та додатки.
null для ссылок, 0 для чисел, false для boolean) и только затем выполняется код инициализации.
По итогу на уровне JVM существует короткий промежуток времени, когда поле уже можно прочитать, хотя ему ещё не присвоили настоящее значение. Давайте рассмотрим вот такой пример:
class Parent {
Parent() {
// Вызов попадёт в переопределённый метод Child (dynamic dispatch),
// хотя конструктор Child ещё не закончил выполняться!
printValue();
}
void printValue() {}
}
class Child extends Parent {
private final int value;
Child() {
// Неявный super() уже был вызван, и только после него полю "value" присвоится 42.
this.value = 42;
}
@Override
void printValue() {
// Пока выполняется Parent(), здесь всё ещё значение по умолчанию - печатается 0, а не 42
System.out.println(value);
}
}
И вот OpenJDK хочет сделать шаг на пути исправления этой проблемы. В рамках JEP 539 завозят новый механизм "строгих полей" (strict fields). Их поведение будет немного отличаться в зависимости от того, static поле или нет, но цель одна - не допустить ситуации выше.
Например, если пометить value поле выше как strict (сейчас вы это никак не сделаете), то при загрузке класса будет VerifyError, т.к. строгие поля объектов необходимо присвоить до вызова super().
То есть Parent() уже не сможет вызвать printValue() и увидеть промежуточный 0: JVM отклонит некорректный байткод ещё при его проверке.
Зачем вообще нечто подобное делать? В основном ради Project Valhalla и концепции "Integrity By Default", о которой мы уже писали.
Java движется к value classes, а для них состояние объекта должно иметь гораздо более строгие гарантии. С точки зрения пользователя, Value классы нужны в основном для скаляризации (Вспоминаем девиз: "codes like a 'class', works like an 'int'"). А для того, чтобы JIT мог эффективно скаляризировать классы, он должен быть абсолютно уверен, что наблюдаемое им состояние объекта единственно верное, и остальные наблюдают его ровно таким же.
Проблема в том, что даже для final полей в Java это не так. С одной стороны из-за проблемы выше, а с другой из-за того, что final на самом деле не совсем final.
Соответственно, примерно через полгода мы уже, скорее всего, увидим эту фичу в preview. Подробнее можно почитать в самом JEP.
⚠️ Важно! Механизм строгих полей это opt-in механизм, который пока, по умолчанию, будет касаться только value классов. Существующий код механизм "строгих полей" пока не касается!.
🔗 JEP 539: https://openjdk.org/jeps/539Погнали по примерам. 1. cURL закрыл программу bug bounty из-за потока AI-отчётов Разработчик cURL Даниэль Стенберг объявил о закрытии HackerOne-программы после того, как количество ложных сообщений резко выросло. По данным OpenSSF: – к июлю 2025 года около 95% сообщений оказались недействительными; – объём заявок вырос примерно в 8 раз по сравнению с исторической нормой; – основная проблема — AI-сгенерированные отчёты, проверка каждого из которых требует времени человека. 2. OpenSSF выпустила отдельное руководство для мейнтейнеров Open Source Security Foundation (OpenSSF) и CNCF даже подготовили специальный документ "Securing Open Source in the Age of AI". Они прямо пишут, что LLM могут находить уязвимости и генерировать отчёты с беспрецедентной скоростью, но это создаёт новую операционную проблему: сопровождающие проектов оказываются завалены отчётами, каждый из которых приходится проверять вручную. 3. AI-DDoS В июле 2026 года вышла работа с говорящим названием "AI Slop is DDoSing Open Source" Авторы проанализировали 294 популярных GitHub-проекта и пришли к выводу, что после массового распространения генеративного ИИ: – число pull request'ов выросло; – процент принимаемых изменений снизился; – сильнее всего пострадали проекты, живущие за счёт добровольцев. Они даже ввели термин AI-DDoS. Это ситуация, когда проект оказывается перегружен не запросами к серверу, а правдоподобными, но низкокачественными AI-сгенерированными вкладами.Похоже, в ближайшие годы команды безопасности будут автоматизировать не только поиск уязвимостей, но и проверку самих отчётов об уязвимостях. 🔗 Источник: https://blogs.vmware.com/tanzu/broadcoms-investment-in-spring-to-combat-ai-fueled-security-challenges-in-the-enterprise/
«Напиши скрипт, который анализирует входящий JSON, фильтрует записи и отправляет результат в REST API».Дальше агент генерирует код, который выполняется локально через GraalVM. Понятно, что это не замена полноценной разработке. Но для интеграций, автоматизации и прототипирования такой подход имеет право на жизнь. Кроме AI Script Agent, в GraalVM 25.2 появились и другие изменения: • G1 GC теперь поддерживается в Native Image на всех основных платформах, включая Windows. • Vector API включён по умолчанию, что должно упростить использование SIMD-оптимизаций без дополнительной настройки. Пока рано говорить востребованности сей мероприятия. Поживем-увидим, как говорится. 🔗 Подробнее: https://www.infoq.com/news/2026/08/java-news-roundup-jul27-2026/
RestTemplate в статус @Deprecated в Spring Framework 7.1.
😄 Пора переходить на RestClient? Или еще подождем?
Хронология:
• Spring 6.1 — появился RestClient;
• Spring 7.1 — RestTemplate официально помечен как @Deprecated;
• Spring 8.0 — RestTemplate планируют удалить.
Для многих это конец целой эпохи.
RestTemplate появился ещё в 2009 году вместе со Spring 3 и больше 15 лет был стандартным способом отправлять HTTP-запросы. Но его API перестал масштабироваться.
Каждая новая фича требовала десятков перегруженных методов (getForObject(), exchange(), postForEntity()...), из-за чего развивать клиент становилось всё сложнее.
Видимо, именно поэтому Spring сделал ставку на RestClient — современный RestTemplate уже не надо. Если же поддерживаете существующий код, стоило бы запланировать постепенную миграцию, пока она не превратилась в обязательную.
Много кто у нас на RestClient сидит?
👍 Да, перешли.
🤔 Пока остаёмся на RestTemplate.
🔥 Для синхронных вызовов давно используем WebClient.
🔗 Release Notes Spring Framework 7.1: https://github.com/spring-projects/spring-framework/wiki/Spring-Framework-7.1-Release-NotesWe noticed that the JAXB message converter can consume a lot of CPU resources at runtime, even if XML isn't being used by the application.В любом случае автоматическое определение компонентов не бесплатно само по себе. Это: - дополнительные проверки при старте; - лишняя работа ClassLoader; - расход CPU; - усложнение процесса инициализации. По отдельности это мелочи. Но именно из таких мелочей складывается время запуска современных приложений. Раньше фреймворк старался угадать, что может понадобиться разработчику. Теперь всё чаще действует другой принцип:
Не делай ничего, пока тебя об этом явно не попросили.И, кажется, это правильно. 🔗 Источник: Spring Framework 7.1 Release Notes https://github.com/spring-projects/spring-framework/wiki/Spring-Framework-7.1-Release-Notes
Возможно ли, каким-то образом, обнаружить в процессе тестирования, что Hibernate под капотом делает что-то страшное?На деле вопрос очень интересный и практичный. Мы решили оформить его в небольшую статью в виде размышлений о том, какие вещи, в теории, можно попробовать. Данная статья не является исчерпывающим материалом, а больше аккамулирует опыт и рассказывает - что, на практике, имеет смысл, а что не очень. На деле, одними тестами тут обойтись будет тяжело. Лучше всего использовать комбинированный подход. 😎 Приятного чтения! 📎 Статья на Хабр: https://habr.com/ru/companies/spring_aio/articles/1068176/
AGENTS.md и Skills недостаточно. Агенту нужны инструменты, которые проверят результат и помогут найти ошибку.
В новом видео разбираем это на примере ArchUnit: агент нарушит архитектуру Spring-приложения, получит упавший тест и самостоятельно исправит код.Но видео не про ArchUnit. Оно про то, как тесты, линтеры и анализаторы создают для AI-агента обратную связь и помогают ему работать качественнее. 😉 СМОТРЕТЬ НА YOUTUBE 😄 СМОТРЕТЬ В VK ВИДЕО 🥰 СМОТРЕТЬ НА RUTUBE
