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

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

Канал для общения: @spring_aio_chat
Download Telegram
🗑 Mark–Scavenge: ждем, пока мусор выбросит себя сам

Исследователи из Oracle и Уппсальского университета представила новый алгоритм сборки мусора — Mark–Scavenge. Он решает проблему избыточной работы, которая возникает при использовании доступности объекта как прокси для оценки его "живучести".

Команда Spring АйО перевела статью, в которой можно подробнее ознакомиться с подробностями работы нового алгоритма.

📚 Читать на Хабре: https://habr.com/ru/companies/spring_aio/articles/863830/
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14🔥531🤯1
#ВопросЭксперту: В одном из своих докладов ты говорил, что рядом со Spring Security в текущее время жив и здравствует Authorization Server. А зачем он нужен, если мы все уже привыкли к Keycloak, а кроме него есть и полноценные решения с поддержкой и обслуживанием вроде Okta?

Отвечает эксперт сообщества Spring АйО – Павел Кислов.

–––

Spring Authorization Server - это инструмент, который при прочих равных может быть потенциально гибче. Можно дописать свою логику любую и он будет вести себя так, как вы захотите. Его можно адаптировать под нужды вашей экосистемы и научить делать все необходимые вам "финты". Кроме того, для Spring-разработчика он может быть потенциально понятнее. Если что-то идет не так, можно открыть исходники вашего проекта и подебажить, воспроизведя уязвимость в "карманном варианте", например. Работа с хранилищем данных настраивается и дописывается. И это огромный плюс. Вот нет у вас вездесущего PostgreSQL. или нужна нереляционная база. По "исторически сложившимся" причинам, например. Вы можете написать свою имплементацию для нужного сервиса работы с данными и подключить любой источник данных. В Keycloak или Okta мы были бы ограничены.

Еще одним важным аспектом является потенциальная "лицензия" и коммерческая часть. Выбирая опенсорс решение вроде Keycloak, вы часто остаетесь между двух огней. С одной стороны нет возможности досконально изучить исходники того же Keycloak, хоть он и написан на Java. В него бы пришлось сильно погрузиться и прочитать большое количество исходников, чтобы реализовать свою хотелку, кроме того пришлось бы читать еще и исходники подтянутых им maven-зависимостей. Задача не из легких. С другой стороны он уже готовый этот Keycloak. Разверул и поехали. И в то же время, чтобы понять, как сделать нестандартный ход под ваш конкретный запрос тяжело. Кода много.

Со Spring Authorization Server ты оказываешься в игровой комнате с конструктором в руках. Как собрал, так и поехало. Допустим, не нужен тебе ui - не используй ui. Это просто бекенд приложение. У вас уже есть ui "с прошлого раза", у которого используются специфичные url? - укажите их в конфигах Authroization Server, и он будет использовать их.

Мы можем "натянуть сову на глобус", и все это в рамках привычного для нас кода на Spring. Выбрав коммерческое решение, вы часто получаете "закрытую коробочку" и многих это может оттолкнуть. Кроме того, вы отдаете производителю на откуп решение проблем с купленным решением и завяываетесь на сроки вендора. Если вы не делаете rocket science и пользуетесь совсем небольшим количеством возможностей, то, возможно, есть смысл присмотреться к самостоятельной реализации. Это позволяет быстро чиниться и дорабатываться в случае необходимости.

Spring Authorization Server - это совсем не "серебряная пуля" в сравнении с уже имеющимися решениями, а просто возможная альтернатива, развитие и поддержка которой реализуемы и понятны c точки зрения кода для Spring/Java-разработчика.

Кстати, Spring предоставляет неплохую документацию к Authorization Server и отличные описания к исходникам на Github, которые подсвечивают все нужные термины и дают прямые ссылки на спецификации, читая которые, можно разобраться в том, как и что на самом деле устроено в "безопасном" мире.

Отличная пища для ума, поле для изучение и полигон для экспериментов.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥35👍178👌2
👥 Concurrency в Spring Boot приложениях: как сделать правильный выбор

Команда Spring АйО перевела и адаптировала доклад "Concurrency in Spring Boot Applications: Making the Right Choice" Андрея Шакирина с последнего Devoxx Belgium.

В докладе автор рассказал про различные подходы по работе с concurrency в целом и в Spring Boot приложениях в частности.

📚 Читать на Хабр: https://habr.com/ru/companies/spring_aio/articles/862950/
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥19👍113👎1
📈 Расширение Spring Data репозиториев стало ещё проще!

В новом релизе Spring Data 2024.1 улучшена возможность добавления кастомной функциональности, что значительно упростило создание переиспользуемых экстеншенов.

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

📚 Читать на Хабр: https://habr.com/ru/companies/spring_aio/articles/865082/
👍168🔥52
Media is too big
VIEW IN TELEGRAM
✍️ Закладки в Spring Initializr: создавайте проекты быстрее!

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

Больше не нужно тратить время на повторное заполнение полей — просто выберите нужную закладку, и ваш проект готов за считанные секунды.
19🔥12👍114👎1🤔1
🧠 Горькая правда о программировании с использованием ИИ

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

Такой «парадокс знаний» подчеркивает, что ИИ скорее дополняет скиллы опытных специалистов, чем делает разработку доступной для всех. Новичкам же важно воспринимать ИИ как инструмент обучения, но никак не замену знаниям и опыту. Так ли это?

📚 Подробности в новом переводе от команды Spring АйО: https://habr.com/ru/companies/spring_aio/articles/865720/
Please open Telegram to view this post
VIEW IN TELEGRAM
👍23🔥751
⚡️ Как жить без IntelliJ IDEA? Часть №4. Database Client

В новой статье из цикла "Как жить без IntelliJ IDEA" команда Spring АйО изучила альтернативы DB-клиенту от JetBrains, входящему в состав Ultimate и полюбившемуся многим разработчикам.

Мы также постарались выяснить, насколько альтернативные инструменты удобны и эффективны на практике.

📚 Читать на Хабр: https://habr.com/ru/companies/spring_aio/articles/866500/
Please open Telegram to view this post
VIEW IN TELEGRAM
👍236🔥5👎3😁21