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
Mostrar más📈 Análisis del canal de Telegram Spring АйО
El canal Spring АйО (@spring_aio) es un actor destacado. Actualmente la comunidad reúne a 10 903 suscriptores, ocupando la posición 10 975 en la categoría Tecnologías y Aplicaciones y el puesto 58 493 en la región Rusia.
📊 Métricas de audiencia y dinámica
Desde su creación el невідомо, el proyecto ha mostrado un crecimiento acelerado, reuniendo a 10 903 suscriptores.
Según los últimos datos del 26 agosto, 2026, el canal mantiene una actividad estable. En los últimos 30 días la variación de miembros fue de -19, y en las últimas 24 horas de -2, conservando un alto alcance.
- Estado de verificación: No verificado
- Tasa de interacción (ER): El promedio de interacción de la audiencia es 50.90%. Durante las primeras 24 horas tras publicar, el contenido suele obtener 24.82% de reacciones respecto al total de suscriptores.
- Alcance de las publicaciones: Cada publicación recibe en promedio 5 550 visualizaciones. En el primer día suele acumular 2 706 visualizaciones.
- Reacciones e interacción: La audiencia responde de forma activa: el promedio de reacciones por publicación es 64.
- Intereses temáticos: El contenido se centra en temas clave como айо, хабр, api, jep, amplicode.
📝 Descripción y política de contenido
El autor describe el recurso como un espacio para expresar opiniones subjetivas:
“Русскоязычное сообщество Spring-разработчиков.
Habr: bit.ly/433IK46
YouTube: bit.ly/4h3Ci0x
VK: bit.ly/4hF0OG8
Rutube: bit.ly/4b4UeX6
Яндекс Музыка: bit.ly/3EIizWy
Чат для общения: @spring_aio_chat
По вопросам сотрудничества: @befayer”
Gracias a la alta frecuencia de actualizaciones (últimos datos recibidos el 27 agosto, 2026), el canal mantiene la vigencia y un amplio alcance. La analítica demuestra que la audiencia interactúa activamente con el contenido, lo que lo convierte en un punto de referencia dentro de la categoría Tecnologías y Aplicaciones.
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
