TGViewer
Channel Public Channel
Spring АйО

Spring АйО

@spring_aio

Русскоязычное сообщество Spring-разработчиков.

Habr: bit.ly/433IK46
YouTube: bit.ly/4h3Ci0x
VK: bit.ly/4hF0OG8
Rutube: bit.ly/4b4UeX6
Яндекс Музыка: bit.ly/3EIizWy

Чат для общения: @spring_aio_chat
По вопросам сотрудничества: @befayer
Subscribers
10.9K
Photos
530
Videos
323
Links
703
Recent Posts 16 shown
Post #1168 1.74K
⚡️⚡️Joker 2026: что происходит с профессией разработчика

Индустрия разработки проходит через серьезный переломный момент. Меняются не только инструменты и фреймворки, но и привычный подход к работе.

Поэтому в этом сезоне меняется и Joker: первый день традиционно посвящен Java — Core Java, рантайму и работе на уровне железа. А во второй день будем обсуждать, как прямо сейчас меняется сама инженерная практика.

В программе — Context Engineering, команды из людей и ИИ-агентов, Self-Evolving Agents, новые подходы к архитектуре и работе с моделями, а также вопросы ответственности и роли эксперта.

Собрали главные темы второго дня в карточках.

🌟С промокодом: springaio персональные билеты дешевле

Полное расписание и билеты — на сайте.
  • ❤ 6
  • 🤔 4
  • 🔥 3
Post #1167 2.71K
🧑‍💻 Трагедия версионирования ПО

Мы привыкли читать версии по SemVer. Появились несовместимые изменения, значит пора повышать major. Сломалась совместимость после 4.1.0? Ждём 5.0.

Со Spring Boot так не работает.

Проект использует привычный формат major.minor.patch, но не следует SemVer буквально. Патч-релизы должны оставаться совместимыми, а вот minor-релизы могут содержать несовместимые изменения. Номер версии здесь показывает не строгий контракт, а ожидаемую сложность обновления.

И это не странность Spring Boot. Версионирование связано с релизным циклом, политикой совместимости, сроками поддержки и тем, как часто пользователи готовы обновляться.

Поэтому выбор схемы версий оказывается архитектурной задачей, а не упражнением с тремя цифрами.

Хороших разборов этой темы мало, поэтому наш эксперт, Михаил Поливаха подготовил свой.

🔗 Читать материал: https://habr.com/ru/companies/spring_aio/articles/1084716/
  • 👍 18
  • 🔥 9
  • ❤ 8
Post #1166 3.11K

Forwarded from OpenIDE – мультиязычная среда разработки

⚡️ Вышла OpenIDE 2026.2

Обновили базовую платформу до версии 2026.2, новая версия уже доступна для скачивания:

https://openide.ru/download/

Параллельно готовим к релизу AI-плагин, который в ближайшее время появится в составе OpenIDE Pro.

А познакомиться с возможностями Pro можно уже сейчас: пробная лицензия на 2 месяца доступна всем бесплатно и без регистрации!


Обновляйтесь и делитесь впечатлениями в @openide_chat — будем рады обратной связи!
  • 👍 21
  • 🔥 14
  • ❤ 9
  • 😁 2
  • ⚡ 1
Post #1165 3.31K
БЕСПЛАТНАЯ ЛЕКЦИЯ ДЛЯ ВСЕХ 🔥

Друзья, 23 сентября открываем первую лекцию курса «Java в продакшене». Прийти может любой!

Два часа занятия о том, что происходит, когда Spring Boot-приложение встречается с настоящим продакшеном:

• зависимость тормозит и тянет за собой всю систему;
• запросы начинают падать каскадом;
• сервис захлёбывается под нагрузкой;
• обычный retry делает ситуацию ещё хуже.

Разберём Circuit Breaking, Bulkhead, Load Shedding и приоритизацию трафика. Поговорим не только о паттернах, но и о том, когда они действительно спасают систему, а когда создают новые проблемы.


Тема: «Когда что-то идёт не так. Отказоустойчивость Spring Boot-приложений»
🎓 Лектор: Михаил Поливаха. Senior Software Engineer, контрибьютор Spring, спикер JPoint, Joker, Spring I/O Barcelona и Devoxx Belgium.
🗓 23 сентября

В конце проведем открытую Q&A-сессию.
Ссылка на лекцию будет в канале.

Если понравится - будем рады вашим регистрациям на весь курс.

🔗 Ссылка на курс: https://spring-aio.ru/java_in_production
  • 👍 23
  • ❤ 10
  • 🔥 8
  • ⚡ 2
  • 🤔 1
Post #1164 3.77K
🎓 Отличный повод классно провести пятничный вечер!

Друзья, уже сегодня наши друзья из Axiom собирают Java Рок Стар Митап.

Из докладов:

☑️ Иван Углянский — про проект Valhalla и value-типы в Java.

Зачем они нужны, почему работа над ними растянулась на годы и какой новый подход приблизил проект к реализации. Заглянем под капот JVM и разберёмся, в каких задачах пригодятся value-классы.

☑️ Максим Козлов, CTO и сооснователь GitFlic, — про разработку с AI-агентами.

Агенты ускоряют работу, но как проверить, что в итоге получилось именно то, что требовалось? Поговорим о связи требований, изменений в коде и поведения системы, а также об обратной связи, которая помогает сохранять контроль над разработкой.


⚠️ Обязательно регистрируйтесь по ссылке внизу поста.

🗓 18 сентября (СЕГОДНЯ) – сбор с 18:00, доклады с 19:00

📍 Москва, лофт Casa Picassa, Бауманская, 11, стр. 8, зал «Кандинский»

Встреча пройдёт офлайн, после неё организаторы обещают записи выступлений. Участие бесплатное, нужна предварительная регистрация.

👉 Программа и регистрация
  • 🔥 13
  • ❤ 3
  • 👍 2
Post #1163 3.91K
🖥 Новые фичи Java нужны не только на собеседованиях

Друзья, всем привет! Так как буквально на днях вышла Java 27, скоро многие команды вновь поднимают вопрос о миграции на более свежие версии Java. Мы знаем, что у вас до сих пор полно Java 11 и Java 17 😈

Для большинства разработчиков изменения в Java Runtime не так заметны - мы нечасто сталкиваемся с этим на повседневной основе. Однако, новые фичи именно Java как языка: sealed типы, ScopedValue, виртуальные потоки и т.д - с этим мы сталкиваемся (или кто-то лишь ещё будет сталкиваться) больше.

И к сожалению, большинство использует эти фичи лишь на Java собеседовании, а не в реальном production, и как следствие, опыта в том, а где же реально могут пригодиться новые фичи Java у людей нет. Пора это исправить!

Команда Axelix написала статью на тему того, как относительно новые фичи Java помогли решить им ряд проблем в Open Source ядре. На практике и без воды - код открытый, вы можете сами клонировать и изучить его более детально 🫡

🔗 Статья на Habr
  • 👍 19
  • ❤ 9
  • 🔥 4
  • ⚡ 1
Post #1162 4.15K
🍃 Hibernate тормозит, Java чинит конструкторы, 100% coverage — зло | Spring АйО Подкаст №73

😉 СМОТРЕТЬ НА YOUTUBE
😄 СМОТРЕТЬ В VK ВИДЕО
🥰 СМОТРЕТЬ НА RUTUBE
🗯 СЛУШАТЬ НА ЯНДЕКС.МУЗЫКЕ
🤩 СЛУШАТЬ НА SPOTIFY
🤩 СЛУШАТЬ НА APPLE PODCASTS

💬 Аудио версию подкаста можно найти в комментариях
  • ❤ 14
  • 👍 10
  • 🔥 7
  • ⚡ 1
Post #1161 4.65K
🚀 Spring АйО запускает публичные mock-интервью

Хотите проверить свои знания в разработке, потренироваться перед реальным собеседованием и понять, чего не хватает до следующего оффера?

Друзья, мы запускаем публичные интервью с экспертами Spring АйО. Желающие могут его пройти и получить честную обратную связь с рекомендациями по дальнейшему развитию.

Формат собеседования подберём вместе:

• теоретические вопросы по Java, библиотекам и фреймворкам
• code review
• live coding
• system design
• алгоритмические задачи

❓ Как всё проходит:

1. Вы заполняете небольшую анкету.
2. Мы созваниваемся на 30 минут, знакомимся и обсуждаем детали.
3. Выбираем формат и удобную дату, время.
4. Проводим и записываем собеседование.
5. Вместе делаем ревью и готовим выпуск к публикации на площадках Spring АйО.

❗️ Уровень опыта не так важен. Гораздо важнее желание проверить себя, получить конструктивную обратную связь и поделиться этим опытом с сообществом.

✉️ Оставить заявку на участие

Ждем на собес!
  • 👍 40
  • 🔥 19
  • ❤ 11
  • 😁 5
Post #1160 4.56K
🔥 Завтра выходит Java 27!

Главное:

• Compact Object Headers включаются по умолчанию. Метаданные каждого объекта становятся компактнее, что может уменьшить потребление heap примерно на 20% и снизить нагрузку на GC. Раньше для этого требовался флаг -XX:+UseCompactObjectHeaders.

• G1 становится сборщиком мусора по умолчанию во всех окружениях. Раньше JVM могла выбирать Serial GC на машинах и в контейнерах с небольшим количеством ресурсов. Поэтому после обновления стоит перепроверить память, паузы и CPU именно на маленьких инстансах.

• JFR начинает автоматически скрывать чувствительные данные. Пароли, токены, API-ключи и секреты в аргументах JVM, переменных окружения и системных свойствах больше не должны случайно попадать в запись Flight Recorder.

⚠️ Но есть и изменения, способные сломать старые конфигурации

Флаги -noverify и -Xverify:none окончательно удалены. -XX:InitiatingHeapOccupancyPercent переименован в -XX:G1IHOP, а JSON-дампы потоков получили новую версию формата и теперь записывают идентификаторы числами, а не строками.

Java 27 не LTS, поэтому массовая миграция в продакшене вряд ли начнётся завтра. Но проверить сервисы и контейнеры уже стоит, так как часть оптимизаций включится автоматически, а старые JVM-флаги могут внезапно напомнить о себе.

Редкий релиз, где отсутствие новых фич может уменьшить потребление памяти.

🔗 Статья на Хабр: https://habr.com/ru/companies/spring_aio/articles/1082138/
  • ❤ 24
  • 👍 14
  • 🔥 12
Post #1159 5.01K
☄️ Вчера у наших друзей из Axelix вышел 1.1.0 релиз!

Парни сфокусировались на том, чтобы Axelix Master соответствовал требованиям современных систем к мониторингу и безопасности. Подробности можно прочитать в Release Notes.

Мы знаем, что среди участников Spring АйО довольно много контрибьютеров в ядро Axelix. Отдельный респект всем, кто контрибьютит!🧑‍💻

Это как раз возможность для тех кто давно хотел попробовать себя в Open Source, но никак не было возможности.

Если вы давно хотели получить инструмент, который позволит вам заглянуть внутрь ваших Spring Boot приложений, то это инструмент для Вас!

👩‍💻 Исходный код
🔗 Документация

Ну и конечно, ядро проекта Open Source, так что можно уже этим пользоваться уже сегодня
  • ❤ 19
  • 👍 9
  • 🔥 9
  • ⚡ 1
  • 😁 1
  • 🤩 1
Post #1158 5.55K
☕️ Java стала похожа на Rust. Кто-то явно пропустил несколько обновлений

В X сравнили два фрагмента кода. Сверху современная Java, снизу Rust. Оба описывают температуру в Цельсиях и Фаренгейтах, разбирают варианты и обрабатывают результат преобразования строки в число.

И если ваша Java до сих пор состоит из геттеров, сеттеров и бесконечных instanceof, верхняя половина картинки может удивить.

В Java здесь работают вместе:

☑️ Records – чтобы описать данные без простыни служебного кода.
☑️ Sealed interface – чтобы ограничить набор допустимых вариантов.
☑️ Pattern matching в switch – чтобы сразу разобрать вариант и достать его содержимое.
☑️ Условия when – чтобы прямо в ветке проверить значение.

В Rust похожая задача решается через enum и match. Синтаксис отличается, но ход мысли уже очень близкий - описали возможные состояния → явно обработали каждое.

Правда, как в том анекдоте, есть нюанс. Оказанный в Java Result.of(...) – не стандартный аналог растовского Result. Его реализация на скриншоте не раскрыта. Так что принимать всю картинку за возможности Java из коробки не стоит.

Но повод пересмотреть старые претензии к языку вполне есть. Шутки про многословную Java помнят все. А до records и pattern matching в собственном проекте добрались ещё не все.

👀 У вас современная Java уже в коде или пока только номер версии в сборке?
  • 👍 36
  • ❤ 9
  • 🔥 9
Post #1157 5.35K
🔥 Java ускорила Ed25519 и X25519 почти на 50%

3 сентября 2026 команда Java опубликовала результаты оптимизаций криптографии в JDK 27/28. И цифры там весьма впечатляющие.

В JDK 27 за счёт изменений реализации Curve25519 получили:

• X25519 key generation/agreement: +49–54% throughput
• Ed25519 key generation/sign/verify: +46–49%
• X25519MLKEM768, то есть hybrid post-quantum key exchange: +27–51%


Причём прикол в том, что разработчику для этого не нужно переписывать код. Ускорение получают обычные JCE API – KeyAgreement, Signature, KeyPairGenerator – и JSSE при TLS 1.3.

А в JDK 28 они пошли дальше и добавили intrinsics для x86_64 и AArch64. JVM начинает использовать архитектурно-оптимизированные инструкции. Это даёт ещё примерно до +20% поверх программных оптимизаций в зависимости от алгоритма и архитектуры.

Java ускорила популярную криптографию почти в полтора раза. Просто обновлением JDK.
Без нового API. Без изменения кода. Без новой зависимости.


И это не сторонний бенчмарк, ведь цифры опубликовала сама команда Java на Inside java 3 сентября.

🔗 Официальный материал Inside Java
  • 👍 35
  • 🔥 14
  • ⚡ 6
  • ❤ 3
Post #1156 4.95K
☕️ Java, Valhalla и AI-агенты — встречаемся на митапе!

Наши друзья из Axiom собирают Java Рок Стар Митап при поддержке Spring АйО. Будут два доклада и время на разговоры с Java-комьюнити.

☑️ Иван Углянский — про проект Valhalla и value-типы в Java.

Зачем они нужны, почему работа над ними растянулась на годы и какой новый подход приблизил проект к реализации. Заглянем под капот JVM и разберёмся, в каких задачах пригодятся value-классы.


☑️ Максим Козлов, CTO и сооснователь GitFlic, — про разработку с AI-агентами.

Агенты ускоряют работу, но как проверить, что в итоге получилось именно то, что требовалось? Поговорим о связи требований, изменений в коде и поведения системы, а также об обратной связи, которая помогает сохранять контроль над разработкой.


📅 18 сентября — сбор с 18:00, доклады с 19:00
📍 Москва, лофт Casa Picassa, Бауманская, 11, стр. 8, зал «Кандинский»

Встреча пройдёт офлайн, после неё организаторы обещают записи выступлений. Участие бесплатное, нужна предварительная регистрация.

👉 Программа и регистрация
  • 👍 20
  • 🔥 8
  • ❤ 7
Post #1155 5.5K
👩‍💻 Spring Data JDBC: укрощение строптивого

Каждый Java разработчик в том или ином виде сталкивается с проблемой выбора инструментария для работы с БД. Если говорить про ORM-ы, то выбор у нас невелик: Spring Data JDBC или Hibernate. И тут часто возникает набор вопросов:

- Когда выбирать Hibernate, а когда Spring Data JDBC?
- Как дизайнить Aggregate-ы в Spring Data JDBC?
- Что из DDD просто теория, а что реально важно на практике? и т.д.


Мы оттекстовали доклад Михаила Поливаха с прошедшего Spring I/O Barcelona. В докладе обсуждаются все эти и многие другие вопросы, с которыми часто сталкиваются люди при проектировании доменной модели в целом.

Будет полезно, если присматриваетесь к Spring Data JDBC или уже используете его и накопили вопросы.

⚠️ А если хочется глубже погрузиться в разработку реальных приложений, у нас в Академии скоро стартует новый поток «Java в продакшене».

🔗 Ссылка на статью
😉 Ссылка на доклад (на английском)
🔗 Курс «Java в продакшене»
  • 👍 22
  • ❤ 12
  • 🔥 6
  • 🤔 1
Post #1154 7.21K
👩‍💻 Линус Торвальдс пофиксил баг в ядре Linux при помощи ИИ

После полного выключения и включения компьютера Linux показывал чёрный экран. Графическая оболочка постоянно перезапускалась, хотя сама система продолжала работать. Лечилось перезапуском оболочки.

Фиксом занялся сам Линус Торвальдс. И в помощники он взял себе AI.

Сама причина находилась в драйвере Intel Xe и расчёте границы видеопамяти. Часть VRAM видеокарта резервирует для служебных данных аппаратного сжатия. Драйвер получает адрес, с которого начинается эта закрытая область, и передаёт всю память ниже него обычным приложениям.

Но адрес не всегда совпадал с границей страницы памяти.

Легаси код использовал round_up() – округлял адрес вверх. Из-за этого граница свободной памяти сдвигалась внутрь зарезервированной области.

На компьютере Линуса граница проходила посередине страницы размером 4 КБ: последние 2 КБ уже принадлежали механизму сжатия, но драйвер мог отдать всю страницу приложению.

По итогу видеокарта записывала служебные данные поверх размещённой там таблицы страниц. Графическая оболочка теряла доступ к нужной области памяти и падала.

Исправлением послужила замена round_up() на round_down().

Теперь адрес округляется вниз до начала страницы. Если хотя бы часть страницы занята служебными данными видеокарты, драйвер исключает из доступной памяти всю страницу. Теряется несколько килобайт VRAM, зато приложения больше не получают память, которую может перезаписать оборудование.

Само исправление уместилось всего в одну строку. Но для его поиска потребовались 24 диагностических патча и 18 перезагрузок ядра.

AI по сути занялся основной рутиной. Он добавлял различный диагностический код и анализировал результаты. Правда, несколько раз помощник объявлял проблему нерешаемой и предлагал остановиться на составлении отчёта 😅 . Как говорится, "лень прежде нас родилась".

Но Линус был упрямее и каждый раз заставлял его продолжать.

В конце Торвальдс признал, что AI оказал огромную помощь, и даже разрешил ему написать описание итогового коммита. Какую модель он использовал, Линус не сообщил.

Мораль сей басни такова, что AI не нашёл ошибку одной волшебной командой и не заменил инженера (выдыхаем). Он выполнял механическую работу, пока человек строил гипотезы, проверял результаты и не принимал ответ, якобы это невозможно.

Михаил Поливаха обещал обсудить баг на подкасте более детально. Ждем!

🔗 Источник: коммит в ядре Linux
  • ❤ 42
  • 👍 29
  • 🔥 18
  • 😁 5
Post #1153 6.58K
100% покрытия. Все тесты зелёные. Значит, код надёжен?

Не совсем.

Можно выполнить каждую строку программы и всё равно пропустить важный сценарий. Например, проверить a > b и a < b, но забыть про a == b.

Мутационное тестирование предлагает дерзкий способ оценить качество тестов: намеренно ломает код. Меняет > на >=, true на false, возвращаемое значение на null. Если тесты не замечают подмены, значит, «мутант» выжил, а в тестовом наборе есть слепая зона.

Звучит как идеальный инструмент. Но на реальном проекте быстро появляются нюансы. Например, ложные срабатывания, долгие запуски и отчёты, которые всё равно приходится разбирать человеку.

В новой статье на простом Java-примере показываем:

– как работает мутационное тестирование с Pitest;
– почему 100% покрытия недостаточно;
– откуда берутся выжившие мутанты;
– почему не стоит прогонять MT по всему проекту;
– и в каких случаях этот подход действительно окупается.

А ещё как поручить настройку и запуск Pitest AI-агенту с помощью готового skill.

Мутационное тестирование само по себе не является серебряной пулей. Но иногда именно оно задаёт вашим тестам самый неприятный и самый полезный вопрос: «А вы точно хоть что-нибудь проверяете?»

🔗 Читать статью: https://habr.com/ru/companies/spring_aio/articles/1078564/
  • 👍 16
  • ❤ 7
  • 🔥 5
  • 😁 1
Older posts →

About this channel

How can I read @spring_aio without a Telegram account?
TGViewer shows the public web preview Telegram publishes for Spring АйО: recent posts, photos, videos and the subscriber count, with no app, login or account.
How many subscribers does Spring АйО have?
Spring АйО (@spring_aio) has 10.9K subscribers on Telegram, refreshed roughly every 30 minutes.
Does Spring АйО know I viewed it here?
No. Public channel previews carry no viewer identity, and TGViewer has no accounts or tracking of what you look up.
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →