Spring АйО
10K subscribers
403 photos
280 videos
526 links
Русскоязычное сообщество Spring-разработчиков.

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

Чат для общения: @spring_aio_chat
По вопросам сотрудничества: @befayer
Download Telegram
🛠️ Observability-as-Code в Spring Boot: Контракты и тесты для метрик, логов и трейсов

Думаешь, метрики и логи — дело вкуса? А вот и нет. В продвинутых командах они становятся частью контракта: что логировать, какие метрики собирать, как проверять всё это тестами и в CI.

В статье от эксперта Spring АйО Евгения Сулейманова рассмотрим, как внедрить наблюдаемость "по-серьезному" — через код, тесты и архитектурные правила. Spring Boot, Micrometer, OpenTelemetry и немного магии ArchUnit.

📚 Читать на Хабр: https://habr.com/ru/companies/spring_aio/articles/987358/
👍41🔥1710
👩‍💻 Почему Kotlin ломает JPA

Используешь Kotlin с Jakarta Persistence и думаешь, что всё работает? Возможно, до первой неожиданной ошибки. data class, val, final-классы и даже значения по умолчанию — всё это может тайно мешать корректной работе JPA.

Вместе с Торбеном Янссеном в новом переводе от команды Spring АйО разберем скрытые ловушки и показывают, как настроить проект правильно, чтобы не наступить на мину.

📚 Читать на Хабр: https://habr.com/ru/companies/spring_aio/articles/987890/
Please open Telegram to view this post
VIEW IN TELEGRAM
👍30🔥85😁3
Forwarded from OpenIDE
🔥 Роман Елизаров про AI в разработке ПО, OpenSource и культуру IT

Большая часть интервью — про практику. Насколько хорошо ИИ-агенты пишут код сегодня, где они реально помогают, а где создают дополнительные риски.

Поговорили о качестве сгенерированного кода, границе ответственности, безопасности, конфликте интересов между разработчиками и безопасниками, а также о монополизации в Open Source.

В конце — про будущее профессии: как будут выглядеть инструменты разработки, куда расти инженеру в эпоху автоматизации и есть ли у разработчика жизнь вне кода.

😉 СМОТРЕТЬ НА YOUTUBE
😄 СМОТРЕТЬ В VK ВИДЕО
🥰 СМОТРЕТЬ НА RUTUBE
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18🔥1152
☕️ 23 января 1996 года — день, с которого началась Java как мы ее знаем

Друзья, ровно в этот день вышла первая стабильная версия Java Development Kit 1.0. Не демка и не академический эксперимент, а полноценный набор инструментов для разработчиков: компилятор javac, интерпретатор байткода, VM и стандартная библиотека. Все, чтобы писать, собирать и запускать Java-приложения «из коробки».

Для своего времени это был настоящий прорыв. Код можно было написать один раз и запускать на разных платформах — без необходимости компиляции под разные ABI ОС и разные CPU ISAs. Именно тогда появилась идея, которая позже превратится в мем, а затем — в индустриальный стандарт:

Write Once, Run Anywhere.


Интересно, что Java изначально рождалась не как «удобный язык», а как ответ на вполне конкретные инженерные боли. Как говорил James Gosling в одном из интервью:

“I do not want to have to debug another freaking memory corruption bug.”


Отсюда — управляемая память, строгая модель типов и ставка на безопасность, которая в 90-х выглядела почти радикально.

Несколько любопытных фактов вдогонку:

🛑Изначально Java задумывалась для embedded-устройств, а вовсе не для веба и enterprise. Массовое использование Java в Web — результат эволюции платформы, а не исходный план.

🛑Многие вещи, которые когда-то подавались как Java киллер фичи, со временем либо полностью исчезли из JDK, либо стали устаревшими. Например:
– Java Serialization API
– Java Applets
– Java RMI
– и ряд других технологий, когда-то казавшихся «будущим»

Первая версия JDK была далека от сегодняшней экосистемы, но именно с нее начался путь, который привел нас к современным JVM, Spring, микросервисам, облакам и enterprise-разработке. И удивительно, сколько фундаментальных решений, принятых почти 30 лет назад, до сих пор лежат в основе того, чем мы пользуемся каждый день.

👀 А вы помните, с какой версии Java начали работать вы?
Please open Telegram to view this post
VIEW IN TELEGRAM
70🔥24👍16🤩2
Forwarded from Amplicode
«Безобидный» активатор IntelliJ IDEA — это не патч лицензии, а полноценный Java-агент, который встраивается в JVM до старта IDE

Shell-скрипт сначала ставит зависимости (на Linux — через sudo, на macOS — с правками ~/.zshrc), затем скачивает набор JAR’ов с внешнего сервера без подписей и checksums и прописывает -javaagent в vmoptions.

С этого момента сторонний код получает доступ и может менять байткод любых классов — включая стандартную библиотеку Java.

Дальше начинается самое интересное.

Агент:
— блокирует DNS и HTTP-запросы к серверам лицензирования JetBrains
— скрывает своё присутствие, подменяя списки VM-аргументов и загрузку классов
— патчит BigInteger#oddModPow() и подменяет результат модульного возведения в степень по правилам из конфига

Это фундаментальная операция для RSA (криптографический алгоритм с открытым ключом). То есть компрометируется не только проверка лицензии, а вся криптография внутри JVM процесса IDE: HTTPS, Git over SSL, подписи, API-аутентификация.

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

Отдельный слой рисков — системный. Скрипт получает root-права на время установки, модифицирует shell-конфиги и загружает исполняемый код с сервера третьей стороны. Что именно окажется в JAR’ках завтра — пользователь не контролирует.

И, наконец, юридические риски. Использование пиратского ПО — прямое нарушение ст. 146 УК РФ. В корпоративной среде порог «крупного ущерба» достигается очень быстро: достаточно нескольких нелегальных лицензий. В случае инцидента крайним почти всегда оказывается тот, кто установил софт.

Подробный технический разбор — от shell-скрипта до патча криптопримитивов — в новой статье на Хабре.

👉 Любая IDE от JetBrains бесплатно: что на самом деле происходит, когда вы запускаете “безобидный” активатор
👎44👍23🤯17🔥12😁42
Media is too big
VIEW IN TELEGRAM
🍃 Зачем убивать JVM, статья Евгения Сулейманова, почему Kotlin ломает JPA | Spring АйО Подкаст №48

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

💬 Аудио версию подкаста можно найти в комментариях
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🔥87
🖥 Паттерны проектирования в Data Engineering, которые необходимо освоить в 2026 году

Настоящая устойчивость систем — в архитектуре. В новом переводе от команды Spring АйО — 8 фундаментальных паттернов проектирования, на которых держатся все современные data engineering-стеки.

Освоив их, вы перестанете тушить пожары и начнёте проектировать платформы, которые выдерживают продакшен.

📚 Читать на Хабр: https://habr.com/ru/companies/spring_aio/articles/990336/
Please open Telegram to view this post
VIEW IN TELEGRAM
👍188🔥8
🔨 Больше чем Proxy: Istio вместо классического Nginx

Что делать, когда инфраструктура, сдерживавшая злоумышленников, внезапно начинает мешать легитимным клиентам? В Dodo Payments такой момент наступил в 23:00 в четверг — и стал точкой невозврата.

В новом переводе от команды Spring АйО подробно разберем переход с классического ingress-контроллера на полноценный service mesh. Миграция заняла 11 недель и навсегда изменила подход к платформенной инженерии.

📚 Читать на Хабр: https://habr.com/ru/companies/spring_aio/articles/990674/
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16🔥116
🔥 Redis. Больше, чем просто кеш

Пора перестать воспринимать Redis как временное хранилище key-value. Сегодня это многофункциональный движок, объединяющий в себе брокер сообщений с поддержкой Pub/Sub, гео-БД с Spatial-индексами, и надежный инструмент синхронизации через распределенные блокировки (Redlock). Современный Redis, потенциально, может заменить стек из 3–4 узкоспециализированных сервисов.

В новом переводе от команды Spring АйО рассмотрим, как использовать Redis на полную катушку и превратить его в фундамент вашей архитектуры.

📚 Читать на Хабр: https://habr.com/ru/companies/spring_aio/articles/991088/
🔥2919👍17
Forwarded from OpenIDE
🔥 Fullstack проект на React, Python, Go и Spring: OpenIDE в действии

В новом видео Михаил Поливаха, Павел Кислов и Александр Шустанов проверяют OpenIDE на прочность в работе с мультиязычным стеком.

По ходу видео эксперты рассказывают про типичные инженерные вещи — тестирование, прикладную бизнес-логику и интеграцию компонентов.

В финале — краткие итоги и разговор про роль AI в разработке и инструментах программирования.

😉 СМОТРЕТЬ НА YOUTUBE
😄 СМОТРЕТЬ В VK ВИДЕО
🥰 СМОТРЕТЬ НА RUTUBE
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2111🔥9👎1
🥳🥳🥳🥳🥳
Please open Telegram to view this post
VIEW IN TELEGRAM
11👍84🔥66156🤩4
Media is too big
VIEW IN TELEGRAM
🍃 Go vs Java, Redis как кэш, Istio vs Nginx | Spring АйО Подкаст №49

😉 СМОТРЕТЬ НА YOUTUBE
😄 СМОТРЕТЬ В VK ВИДЕО
🥰 СМОТРЕТЬ НА RUTUBE
🗯 Чуть позже...
🤩 СЛУШАТЬ НА SPOTIFY
🤩 СЛУШАТЬ НА APPLE PODCASTS

💬 Аудио версию подкаста можно найти в комментариях
Please open Telegram to view this post
VIEW IN TELEGRAM
16👍12🔥7
👩‍💻 Почему ваш Docker-контейнер взломают завтра (и как этого избежать)

«Контейнер скомпрометирован». С этих слов начался трёхчасовой ночной кошмар с утечкой данных и полным отчётом об инциденте. Всё из-за банального запуска контейнера от root с лишними правами.

В новом переводе от команды Spring АйО — 11 конкретных шагов, которые помогут вам избежать катастрофы: от запуска от непривилегированного пользователя до минимальных образов, сканирования уязвимостей, изоляции сетей и настройки профилей безопасности.

Если вы разворачиваете контейнеры в продакшене — это руководство должно стать вашей чеклист-основой. Ошибка может стоить очень дорого.

📚 Читать на Хабр: https://habr.com/ru/companies/spring_aio/articles/992696/
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥198👍5🤯2