Привет, Друзья!
Эксперт нашего сообщества, Евгений Сулейманов, проводит опрос зрелости Production систем. Опрос довольно небольшой, и Spring АйО просит Вас пройти его с целью того, чтобы понять, как эксплуатируются современные системы.
Опрос довольно небольшой, агрегированные и обезличенные результаты потом опубликуем.
Евгений Сулейманов:
Пройти опрос:
State of Production Engineering 2026
Эксперт нашего сообщества, Евгений Сулейманов, проводит опрос зрелости Production систем. Опрос довольно небольшой, и Spring АйО просит Вас пройти его с целью того, чтобы понять, как эксплуатируются современные системы.
Опрос довольно небольшой, агрегированные и обезличенные результаты потом опубликуем.
Евгений Сулейманов:
Запускаю State of Production Engineering 2026 - исследование о том, как команды разработки живут в ПРОДе.
Это не опрос про Java.
Не опрос про Kubernetes.
Не опрос про DevOps.
И не "какой инструмент observability вы используете".
Смотрим шире:
- архитектура и владение
- поставка и безопасность релизов
- управление инцидентами
- observability как способность расследовать, а не просто смотреть графики
- resilience
- данные
- рантайм и работа с платформой
- AI в процессе SDLC
- инженерная культура
- стоимость инцидентов, даунтаймы и надежность.
Основная идея проста: зрелость production engineering - это не наличие инструментов, а способность команды управляемо проводить изменение от идеи до стабильной эксплуатации в ПРОДе.
Нужны ответы людей, которые действительно связаны с ПРОДом:
CTO, Head of Engineering, тимлиды, архитекторы, разработчики, SRE, DevOps, QA лиды, delivery/product менеджеры - все, кто участвует в релизах, инцидентах, эксплуатации, архитектурных решениях и инженерных процессах.
Анкета занимает примерно 10–15 минут.
Можно отвечать без имени и компании.
По итогам подготовлю публичный отчет и бенчмарки по зрелости production engineering.
Ваш опыт очень важен.
Пройти опрос:
State of Production Engineering 2026
👍10❤8😁5👌1
Media is too big
VIEW IN TELEGRAM
💬 Аудио версию подкаста можно найти в комментариях
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥17❤8👍7😁4
Вы аккуратно расставили
FetchType.LAZY на всех *ToOne связях, уверены, что лишних запросов в БД нет — и тут в логах всплывает необъяснимый SELECT, который вы не просили. Особенно обидно, когда это
@OneToOne: на @ManyToOne ровно тот же LAZY работает железно и всегда, а здесь Hibernate вдруг идёт в базу eagerly, будто вашей аннотации и не было. А самое неприятное — большинство объяснений в сети сводятся к тому, что просто так уж устроено, но главный вопрос "Почему?" остается без ответа. Почему один и тот же
LAZY в одном случае работает, а в другом молча игнорируется?
В новой статье Михаил Поливаха, разбирает по полочкам:
FetchType.LAZY и почему это всего лишь hint, а не приказ;@OneToOne иногда невозможно сделать lazy именно в Java; @ManyToOne при этом ленив всегда — и при чём тут владение связью и foreign key;optional = false, дизайн схемы, @MapsId и другое.Please open Telegram to view this post
VIEW IN TELEGRAM
🔥30👍17❤5🤩1
🛡 Project Valhalla: 10 спустя
В Java наконец появляется ответ на старую проблему: полноценные классы часто слишком дорогие для памяти и процессора.
Пример - массив из миллиона, например, точек
Project Valhalla добавляет value class. Это обычный на вид класс с полями, конструктором и методами, но без идентичности объекта. JVM сможет хранить такие данные плотнее: например, прямо внутри массива, без отдельного объекта для каждого значения.
JEP 401 планируют включить в JDK 28 как preview. Это еще не финал: value class пока может быть null, а полная поддержка быстрых generics и плотных коллекций появится позже. Но первый рабочий шаг Valhalla уже близко.
📎 Статья целиком: https://habr.com/ru/companies/spring_aio/articles/1050938/
В Java наконец появляется ответ на старую проблему: полноценные классы часто слишком дорогие для памяти и процессора.
Пример - массив из миллиона, например, точек
Point. Сейчас это обычно не миллион точек подряд, а миллион ссылок на объекты в куче. У каждого объекта есть служебные данные, его нужно создать, потом убрать сборщиком мусора. Плюс процессор постоянно прыгает по памяти, а это медленно.Project Valhalla добавляет value class. Это обычный на вид класс с полями, конструктором и методами, но без идентичности объекта. JVM сможет хранить такие данные плотнее: например, прямо внутри массива, без отдельного объекта для каждого значения.
JEP 401 планируют включить в JDK 28 как preview. Это еще не финал: value class пока может быть null, а полная поддержка быстрых generics и плотных коллекций появится позже. Но первый рабочий шаг Valhalla уже близко.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍35🔥27❤11
Наши друзья из Axiom проводят вебинар для тех, кто сталкивается с Java, Kubernetes и всем, что связано с защищённым контуром.
Ребята обещают показать самый что ни на есть практический сценарий: Java-сервисы внутри Kubernetes, mTLS, ГОСТ TLS, Axiom JDK Certified и КриптоПро/JTLS. В общем самая жиза.
Будет разбор:
• зачем сервисам сертификаты;
• как работает mTLS;
• где в этой схеме Axiom JDK Certified и КриптоПро;
• почему не надо хранить ключи в container image;
• как network policies помогают не превращать кластер в проходной двор.
👆 Спикер — Дмитрий Сапожников.
❓ 30 июня в 11:00
Если тема вам близка, регаться тут
Ребята обещают показать самый что ни на есть практический сценарий: Java-сервисы внутри Kubernetes, mTLS, ГОСТ TLS, Axiom JDK Certified и КриптоПро/JTLS. В общем самая жиза.
Будет разбор:
• зачем сервисам сертификаты;
• как работает mTLS;
• где в этой схеме Axiom JDK Certified и КриптоПро;
• почему не надо хранить ключи в container image;
• как network policies помогают не превращать кластер в проходной двор.
Если тема вам близка, регаться тут
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11❤4🔥3
Эра AI-агентов изменила разработку до неузнаваемости: кода стало больше, а скорость, с которой он попадает в репозиторий, выросла кратно. Вместе с этим встаёт честный вопрос — как не дать этой скорости размыть качество кодовой базы? Ведь сгенерировать тысячу строк сегодня проще, чем когда-либо, а вот удержать архитектурную целостность — нет.
И тут обнаруживается узкое место, о котором редко говорят вслух. Финальное решение о том, как изменение вписывается в проект, по-прежнему принимает человек на code review — и именно это ревью становится той точкой, где качество либо сохраняется, либо незаметно утекает. Проблема в том, что у человеческого внимания есть предел, и большие изменения пробивают его слишком легко.
В этой статье я расскажу, как мы в Axelix подошли к этой проблеме на уровне процесса и CI, какие возражения от команды при этом неизбежно всплывают и почему они не выдерживают проверки практикой. А ещё разберём угловые случаи, которые ломают любое красивое правило в реальной жизни, — и что мы с ними делаем.
https://habr.com/ru/companies/spring_aio/articles/1051808/
Please open Telegram to view this post
VIEW IN TELEGRAM
1❤13👍7🔥4🤩4😁1
Spring Batch - проект в рамках экосистемы Spring Framework, который, как правило не получает должного внимания. Тем не менее, это хорошее решение для Enterprise Batch Processing.
Долгое время Spring Batch требовал SQL-базу для хранения общего состояния, шагов перехода, статусов выполнения и время запусков. Даже если проект жил на MongoDB, рядом часто приходилось держать Postgres или MySQL только ради метаданных.
В Spring Boot 4.1 стало проще: появился
spring-boot-starter-batch-data-mongodb. Теперь Spring Batch научился работать с MongoDB.В статье Josh Long рассказывает про новинки в рамках Spring Batch, в том числе и новую интеграцию с MongoDB, а также работу с GraalVM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16❤10🔥7
Друзья, всем привет!
Недавно эксперт сообщества, Михаил Поливаха, выступил на подкасте "Тысяча Фичей" Александра Пахомова, спикера Jpoint.
Парни поговорили о наболевшем:
1. Почему Java до сих пор плотно держит Enterprise и на цифрах не сдает позиции.
2. Почему Oracle отказался от своего Enterprise Edition для Java.
3. Когда Spring Framework придёт конец и придёт ли вообще.
4. Когда нужно и не нужно использовать AI.
5. Как сохранить экспертизу и глубокое понимание в эру искусственного интелекта.
Подкаст довольно длинный, и все темы удалось разобрать довольно глубоко.
Слушать в Apple Podcasts | Spotify | Яндекс | браузер
Ссылка на канал Александра
Надеемся, Вам будет интересно! 🫡
Недавно эксперт сообщества, Михаил Поливаха, выступил на подкасте "Тысяча Фичей" Александра Пахомова, спикера Jpoint.
Парни поговорили о наболевшем:
1. Почему Java до сих пор плотно держит Enterprise и на цифрах не сдает позиции.
2. Почему Oracle отказался от своего Enterprise Edition для Java.
3. Когда Spring Framework придёт конец и придёт ли вообще.
4. Когда нужно и не нужно использовать AI.
5. Как сохранить экспертизу и глубокое понимание в эру искусственного интелекта.
Подкаст довольно длинный, и все темы удалось разобрать довольно глубоко.
Слушать в Apple Podcasts | Spotify | Яндекс | браузер
Ссылка на канал Александра
Надеемся, Вам будет интересно! 🫡
1🔥31❤6👍5
Forwarded from Amplicode – ускоряем разработку на Spring
⚡ Skill of the Week: Spring Data JDBC
Продолжаем рубрику Skill of the Week: каждую неделю разбираем скилл, который помогает вам и AI-агентам в реальной работе.
Spring Data JDBC — сознательно простой стек: агрегаты в духе DDD, загрузил корень целиком, изменил, сохранил. Казалось бы, чем проще технология, тем легче с ней агенту.
Так ли это на практике?Скорее наоборот.
Skill объясняет агенту, как Spring Data JDBC устроен на самом деле: что такое агрегат, где проходит его граница и почему репозиторий бывает только у корня. Для моделей среднего класса это критично (на отдельных задачах скилл подтягивает Haiku почти до уровня Opus!).
Этому и посвящён скилл недели.
📚 Как научить агента мыслить агрегатами разобрали в статье на Хабре
Продолжаем рубрику Skill of the Week: каждую неделю разбираем скилл, который помогает вам и AI-агентам в реальной работе.
Spring Data JDBC — сознательно простой стек: агрегаты в духе DDD, загрузил корень целиком, изменил, сохранил. Казалось бы, чем проще технология, тем легче с ней агенту.
Так ли это на практике?
Кода с Spring Data JDBC в открытом доступе мало, и модели приходится достраивать поведение фреймворка по своим общим представлениям. Итог: агент ссылается на внутренний компонент чужого агрегата, заводит репозиторий для владеемой сущности и нарушает границы там, где этого делать нельзя 🫠.
Skill объясняет агенту, как Spring Data JDBC устроен на самом деле: что такое агрегат, где проходит его граница и почему репозиторий бывает только у корня. Для моделей среднего класса это критично (на отдельных задачах скилл подтягивает Haiku почти до уровня Opus!).
Этому и посвящён скилл недели.
📚 Как научить агента мыслить агрегатами разобрали в статье на Хабре
👍20❤13🔥10⚡2
🤑 В Java нет универсального типа для денег
double быстрый, но хранит десятичные числа как двоичные приближения:
Выбор зависит от задачи: для метрик и ML хватит
Ошибка не в
🔗 Полный текст: https://habr.com/ru/companies/spring_aio/articles/1054074/
double быстрый, но хранит десятичные числа как двоичные приближения:
0.1 + 0.2 дает 0.30000000000000004. BigDecimal точен в десятичной арифметике, но дороже по памяти и CPU.Выбор зависит от задачи: для метрик и ML хватит
double с допуском, для налогов и счетов нужен BigDecimal с явным RoundingMode, для низкой latency - fixed-point на long.Ошибка не в
double или BigDecimal, а в выборе без понимания точности, округления и нагрузки.Please open Telegram to view this post
VIEW IN TELEGRAM
👍23😁13❤4🔥1
Media is too big
VIEW IN TELEGRAM
💬 Аудио версию подкаста можно найти в комментариях
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥6❤3