Исследователи из Oracle и Уппсальского университета представила новый алгоритм сборки мусора — Mark–Scavenge. Он решает проблему избыточной работы, которая возникает при использовании доступности объекта как прокси для оценки его "живучести".
Команда Spring АйО перевела статью, в которой можно подробнее ознакомиться с подробностями работы нового алгоритма.
📚 Читать на Хабре: https://habr.com/ru/companies/spring_aio/articles/863830/
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14🔥5❤3⚡1🤯1
Отвечает эксперт сообщества 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👍17❤8👌2
Команда 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👍11❤3👎1
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
😁46🔥9❤4⚡2
Для тех, кто был слишком занят на неделе или просто пропустил некоторые посты, публикуем дайджест!
– Как жить без IntelliJ IDEA? Часть 3 — HTTP Client
– Mark–Scavenge: ждем, пока мусор выбросит себя сам
– #ВопросЭксперту: Зачем нужен Authorization Server, если мы все уже привыкли к Keycloak, а кроме него есть и полноценные решения с поддержкой и обслуживанием вроде Okta?
– Concurrency в Spring Boot приложениях: как сделать правильный выбор
– Топ 10 нововведений IntelliJ IDEA 2024.3 и Amplicode 2024.3
– Атом.мост и Axiom JDK Certified теперь совместимы так сказали звезды
– Joker опубликовал доклад "Михаил Жилин — Как PostgreSQL может сделать больно, когда не ожидаешь?"
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🔥6❤4
📈 Расширение Spring Data репозиториев стало ещё проще!
В новом релизе Spring Data 2024.1 улучшена возможность добавления кастомной функциональности, что значительно упростило создание переиспользуемых экстеншенов.
В новом переводе от команды Spring АйО вы узнаете, как разработать расширения, которые подойдут для множества проектов, без привязки к конкретному доменному типу.
📚 Читать на Хабр: https://habr.com/ru/companies/spring_aio/articles/865082/
В новом релизе Spring Data 2024.1 улучшена возможность добавления кастомной функциональности, что значительно упростило создание переиспользуемых экстеншенов.
В новом переводе от команды Spring АйО вы узнаете, как разработать расширения, которые подойдут для множества проектов, без привязки к конкретному доменному типу.
📚 Читать на Хабр: https://habr.com/ru/companies/spring_aio/articles/865082/
👍16❤8🔥5⚡2
Media is too big
VIEW IN TELEGRAM
✍️ Закладки в Spring Initializr: создавайте проекты быстрее!
В Spring Initializr появилась новая фича — закладки. Вы можете сохранить ваши настроенные конфигурации проектов и мгновенно возвращаться к ним для генерации новых проектов.
Больше не нужно тратить время на повторное заполнение полей — просто выберите нужную закладку, и ваш проект готов за считанные секунды.
В Spring Initializr появилась новая фича — закладки. Вы можете сохранить ваши настроенные конфигурации проектов и мгновенно возвращаться к ним для генерации новых проектов.
Больше не нужно тратить время на повторное заполнение полей — просто выберите нужную закладку, и ваш проект готов за считанные секунды.
⚡19🔥12👍11❤4👎1🤔1
Опытные инженеры используют ИИ для ускорения процессов, однако джуны зачастую сталкиваются с проблемами из-за неполного понимания сгенерированного кода.
Такой «парадокс знаний» подчеркивает, что ИИ скорее дополняет скиллы опытных специалистов, чем делает разработку доступной для всех. Новичкам же важно воспринимать ИИ как инструмент обучения, но никак не замену знаниям и опыту. Так ли это?
📚 Подробности в новом переводе от команды Spring АйО: https://habr.com/ru/companies/spring_aio/articles/865720/
Please open Telegram to view this post
VIEW IN TELEGRAM
👍23🔥7❤5⚡1
В новой статье из цикла "Как жить без 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
👍23⚡6🔥5👎3😁2❤1
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
😁50👍7🔥4