Разработка приложения с авторизацией пользователя Java 17 + SpringBoot 3.4 + Keycloak 26
Столкнулась на проекте с задачей по настройке флоу auth2 для Java приложения с использованием Keycloak в качестве сервера авторизации.
Вроде бы информации много на разных ресурсах и документация есть, но встречаюсь с такими нюансами: версии Keycloak-а меняются так, что утсраевают старые примеры, никто уже не использует их адаптер, на который массу примеров; меняются версии Spring и их примеры тоже быстро устаревают и прошлые варианты реализации всё равно надо по новому переписывать в новых версиях. Плюс для меня это был новый опыт работы с auth2, потому, конечно, множество источников пришлось перелопатить.
Потому решила написать небольшую инструкцию как в общем я реализовывала эту задачу.
Версии на момент разработки:
Java Coretto 17,
SpringBoot 3.4.1,
Keycloak 26.0.7.
Репозиторий:https://github.com/ElenaSpb/keycloak-example
1. Настройка Keycloak для локальной разработки
1.1 Cкачиваем последнюю версию, запускаем.
У меня он скачен в c:\distr\keycloak, перехожу там в папку \bin и запускаю сервер Keycloak командой kc.bat start-dev --http-port 8085 . На порту 8085 в dev профиле делаю.
1.2 При первом запуске он просит создать пользователя temporary admin user, админа сервера то есть, задав логин и пароль, создаю lenas / lenas.
Вот логи:
Читать: https://habr.com/ru/articles/884358/?utm_campaign=884358
@a_cup_of_java | Другие наши каналы
Столкнулась на проекте с задачей по настройке флоу auth2 для Java приложения с использованием Keycloak в качестве сервера авторизации.
Вроде бы информации много на разных ресурсах и документация есть, но встречаюсь с такими нюансами: версии Keycloak-а меняются так, что утсраевают старые примеры, никто уже не использует их адаптер, на который массу примеров; меняются версии Spring и их примеры тоже быстро устаревают и прошлые варианты реализации всё равно надо по новому переписывать в новых версиях. Плюс для меня это был новый опыт работы с auth2, потому, конечно, множество источников пришлось перелопатить.
Потому решила написать небольшую инструкцию как в общем я реализовывала эту задачу.
Версии на момент разработки:
Java Coretto 17,
SpringBoot 3.4.1,
Keycloak 26.0.7.
Репозиторий:https://github.com/ElenaSpb/keycloak-example
1. Настройка Keycloak для локальной разработки
1.1 Cкачиваем последнюю версию, запускаем.
У меня он скачен в c:\distr\keycloak, перехожу там в папку \bin и запускаю сервер Keycloak командой kc.bat start-dev --http-port 8085 . На порту 8085 в dev профиле делаю.
1.2 При первом запуске он просит создать пользователя temporary admin user, админа сервера то есть, задав логин и пароль, создаю lenas / lenas.
Вот логи:
Читать: https://habr.com/ru/articles/884358/?utm_campaign=884358
@a_cup_of_java | Другие наши каналы
👍1🔥1
Новые интересные диагностики в PVS-Studio 7.35
С релизом PVS-Studio 7.35 в анализаторе появилось много новых диагностических правил. Вас ждёт: много MISRA для C, новые Unity-диагностики для C# и покрытие OWASP Top 10 для Java и многое другое!
Подробности вы сможете узнать в этой заметке.
>>>
Читать: https://habr.com/ru/companies/pvs-studio/articles/886662/?utm_campaign=886662
@a_cup_of_java | Другие наши каналы
С релизом PVS-Studio 7.35 в анализаторе появилось много новых диагностических правил. Вас ждёт: много MISRA для C, новые Unity-диагностики для C# и покрытие OWASP Top 10 для Java и многое другое!
Подробности вы сможете узнать в этой заметке.
>>>
Читать: https://habr.com/ru/companies/pvs-studio/articles/886662/?utm_campaign=886662
@a_cup_of_java | Другие наши каналы
Можно ли спасти LinkedList? Пишем быстрый List на связном списке
Существует мнение, что LinkedList - неудачная коллекция и всегда и везде лучше использовать ArrayList. И так оно и есть =)
Давайте поможем LinkedList и сделаем его лучше и быстрее с помощью простой пластиковой бутылки кеширующего массива.
Вы увидите, как он обгонит ArrayList на 10 миллионах элементов и 100 тыс операциях в тестах, имитирующих реальную работу приложения.
Читать: https://habr.com/ru/articles/886710/?utm_campaign=886710
@a_cup_of_java | Другие наши каналы
Существует мнение, что LinkedList - неудачная коллекция и всегда и везде лучше использовать ArrayList. И так оно и есть =)
Давайте поможем LinkedList и сделаем его лучше и быстрее с помощью простой пластиковой бутылки кеширующего массива.
Вы увидите, как он обгонит ArrayList на 10 миллионах элементов и 100 тыс операциях в тестах, имитирующих реальную работу приложения.
Читать: https://habr.com/ru/articles/886710/?utm_campaign=886710
@a_cup_of_java | Другие наши каналы
⚡2
За каким чертом нам SpringExtension?
Новый перевод от команды Spring АйО расскажет вам, что такое
Читать: https://habr.com/ru/companies/spring_aio/articles/886700/?utm_campaign=886700
@a_cup_of_java | Другие наши каналы
Новый перевод от команды Spring АйО расскажет вам, что такое
SpringExtension, как правильно пользоваться этим расширением и когда его надо (или не надо) регистрировать вручную. Читать: https://habr.com/ru/companies/spring_aio/articles/886700/?utm_campaign=886700
@a_cup_of_java | Другие наши каналы
👍2
Что на радаре в Java: программа JPoint 2025
Конференцию JPoint мы проводим уже 12 лет. За это время немало оперативки утекло, и актуальные для Java-разработчиков темы ощутимо изменились: например, когда мы всё начинали, ещё толком не было Kotlin. Какие-то понятия можно назвать «вечными» (например, о базах данных говорят из года в год), но и там конкретные темы докладов меняются.
А что будет на новом JPoint в апреле? Какие инструменты и подходы актуальны для разработчиков в 2025-м?
Во-первых, представляем вам полное описание программы. Можете изучить краткие описания всех докладов и понять, интересны ли они вам.
А во-вторых, у нас есть просьба. Чтобы делать программу как можно актуальнее, мы затеяли инициативу TechRadar. Если вы Java-разработчик, по возможности пройдите опрос о том, какими технологиями пользуетесь. Так и доклады получатся максимально соответствующими запросам сообщества, и без результатов опроса вас тоже не оставим — сможем позже все их как следует обсудить!
Читать: https://habr.com/ru/companies/jugru/articles/886492/?utm_campaign=886492
@a_cup_of_java | Другие наши каналы
Конференцию JPoint мы проводим уже 12 лет. За это время немало оперативки утекло, и актуальные для Java-разработчиков темы ощутимо изменились: например, когда мы всё начинали, ещё толком не было Kotlin. Какие-то понятия можно назвать «вечными» (например, о базах данных говорят из года в год), но и там конкретные темы докладов меняются.
А что будет на новом JPoint в апреле? Какие инструменты и подходы актуальны для разработчиков в 2025-м?
Во-первых, представляем вам полное описание программы. Можете изучить краткие описания всех докладов и понять, интересны ли они вам.
А во-вторых, у нас есть просьба. Чтобы делать программу как можно актуальнее, мы затеяли инициативу TechRadar. Если вы Java-разработчик, по возможности пройдите опрос о том, какими технологиями пользуетесь. Так и доклады получатся максимально соответствующими запросам сообщества, и без результатов опроса вас тоже не оставим — сможем позже все их как следует обсудить!
Читать: https://habr.com/ru/companies/jugru/articles/886492/?utm_campaign=886492
@a_cup_of_java | Другие наши каналы
Как не сломать прод: настройка CORS и заголовков безопасности в ASP.NET
Настраиваем CORS и заголовки безопасности в ASP.NET: защищаем API от несанкционированных запросов, XSS-атак и утечек данных. Разбираем ключевые настройки без лишней головной боли.
Читать: «Как не сломать прод: настройка CORS и заголовков безопасности в ASP.NET»
@a_cup_of_java | Другие наши каналы
Настраиваем CORS и заголовки безопасности в ASP.NET: защищаем API от несанкционированных запросов, XSS-атак и утечек данных. Разбираем ключевые настройки без лишней головной боли.
Читать: «Как не сломать прод: настройка CORS и заголовков безопасности в ASP.NET»
@a_cup_of_java | Другие наши каналы
👍2
История о том, как мы в ОК упрощали процесс создания API
Представьте ситуацию: у вас есть большой «зрелый» ИТ-продукт, но специалистов, способных его поддерживать, крайне мало. Что делать, в такой ситуации — продолжать «тянуть чемодан без ручки» или искать способ перехода на понятные и распространенные технологии?
Не так давно команда ОК столкнулась с подобной дилеммой: исторически для отображения страниц мы использовали server-side рендеринг на базе GWT (Google Web Toolkit) и RDK (наша внутренняя разработка), так как разработка первой версии ОК началась более 20 лет назад. Такой набор технологий «под капотом» был оптимален в те времена, но сейчас он, мягко говоря, не самый желательный. Поэтому нам было важно перейти на более распространенную библиотеку, а точнее — на React. Это мы и начали делать итеративно, шаг за шагом для каждого раздела сайта.
Меня зовут Александр Косницкий, я разработчик в компании ОК. В этой статье я расскажу, как мы переводили на React раздел «Обсуждения»: с чего начинали, с чем сталкивались и как в результате смогли получить то, что поможет не только нам, но и остальным командам с переводом на новую библиотеку их собственных разделов.
Читать: https://habr.com/ru/companies/vk/articles/886730/?utm_campaign=886730
@a_cup_of_java | Другие наши каналы
Представьте ситуацию: у вас есть большой «зрелый» ИТ-продукт, но специалистов, способных его поддерживать, крайне мало. Что делать, в такой ситуации — продолжать «тянуть чемодан без ручки» или искать способ перехода на понятные и распространенные технологии?
Не так давно команда ОК столкнулась с подобной дилеммой: исторически для отображения страниц мы использовали server-side рендеринг на базе GWT (Google Web Toolkit) и RDK (наша внутренняя разработка), так как разработка первой версии ОК началась более 20 лет назад. Такой набор технологий «под капотом» был оптимален в те времена, но сейчас он, мягко говоря, не самый желательный. Поэтому нам было важно перейти на более распространенную библиотеку, а точнее — на React. Это мы и начали делать итеративно, шаг за шагом для каждого раздела сайта.
Меня зовут Александр Косницкий, я разработчик в компании ОК. В этой статье я расскажу, как мы переводили на React раздел «Обсуждения»: с чего начинали, с чем сталкивались и как в результате смогли получить то, что поможет не только нам, но и остальным командам с переводом на новую библиотеку их собственных разделов.
Читать: https://habr.com/ru/companies/vk/articles/886730/?utm_campaign=886730
@a_cup_of_java | Другие наши каналы
Лучшие курсы Udemy для изучения AWS S3 и DynamoDB в 2025 году.
Ищете качественные курсы для изучения AWS S3 и DynamoDB? В статье представлены лучшие программы от Udemy, Coursera и Pluralsight для всех уровней подготовки. Эти курсы помогут не только освоить ключевые сервисы AWS, но и подготовиться к сертификациям AWS.
Подробности: http://www.java67.com/2020/08/top-5-courses-to-learn-aws-s3-and-dynamoDB-in-depth.html
#en
@a_cup_of_java | Другие наши каналы
Ищете качественные курсы для изучения AWS S3 и DynamoDB? В статье представлены лучшие программы от Udemy, Coursera и Pluralsight для всех уровней подготовки. Эти курсы помогут не только освоить ключевые сервисы AWS, но и подготовиться к сертификациям AWS.
Подробности: http://www.java67.com/2020/08/top-5-courses-to-learn-aws-s3-and-dynamoDB-in-depth.html
#en
@a_cup_of_java | Другие наши каналы
Исследуем возможности ИИ писать код. Часть 1
ИИ — одна из самых обсуждаемых тем последних лет. Многие считают, что он заменит разработчиков, сделав их ненужными. Я решил проверить, насколько это утверждение правдиво, и провести исследование возможностей ИИ в написании кода
Читать: https://habr.com/ru/articles/886960/?utm_campaign=886960
@a_cup_of_java | Другие наши каналы
ИИ — одна из самых обсуждаемых тем последних лет. Многие считают, что он заменит разработчиков, сделав их ненужными. Я решил проверить, насколько это утверждение правдиво, и провести исследование возможностей ИИ в написании кода
Читать: https://habr.com/ru/articles/886960/?utm_campaign=886960
@a_cup_of_java | Другие наши каналы
Утренний рефакторинг с Дженной Ортегой*
На относительно простом примере показываю как можно сделать программу «снова великой». Ключевые стадии рефакторинга, Java, эмулятор и Jenna Ortega в нейросетевом исполнении.
Читать: https://habr.com/ru/articles/886890/?utm_campaign=886890
@a_cup_of_java | Другие наши каналы
На относительно простом примере показываю как можно сделать программу «снова великой». Ключевые стадии рефакторинга, Java, эмулятор и Jenna Ortega в нейросетевом исполнении.
Читать: https://habr.com/ru/articles/886890/?utm_campaign=886890
@a_cup_of_java | Другие наши каналы
Подготовка к экзамену GCP Data Engineer: бесплатные курсы
Текст поста: Если вы планируете сдачу экзамена на Google Cloud Professional Data Engineer в 2025 году, обратите внимание на 5 бесплатных курсов на Udemy. Эти курсы помогут вам овладеть необходимыми навыками и успешно пройти сертификацию, открыв двери к профессиональному росту.
Подробности: http://www.java67.com/2020/10/5-free-courses-to-pass-google-cloud-professional-data-engineer-certification-exam.html
#en
@a_cup_of_java | Другие наши каналы
Текст поста: Если вы планируете сдачу экзамена на Google Cloud Professional Data Engineer в 2025 году, обратите внимание на 5 бесплатных курсов на Udemy. Эти курсы помогут вам овладеть необходимыми навыками и успешно пройти сертификацию, открыв двери к профессиональному росту.
Подробности: http://www.java67.com/2020/10/5-free-courses-to-pass-google-cloud-professional-data-engineer-certification-exam.html
#en
@a_cup_of_java | Другие наши каналы
👍2
Реализация постквантовых алгоритмов на Java и Go
В последнее время в СМИ много публикаций о новых квантовых компьютерах, которые представляют угрозу для современной криптографии. Например, недавно Google сообщила о разработке квантового процессора Willow, который в специально сформулированной задаче превышает производительность самого мощного суперкомпьютера в септиллион раз (септиллион = 1025).
Хотя квантовая криптография быстро развивается, ей ещё далеко до того, чтобы угрожать современной криптографии. Более того, разработан ряд постквантовых алгоритмов и шифров, которые устойчивы к квантовым вычислениям.
Читать: https://habr.com/ru/companies/globalsign/articles/887178/?utm_campaign=887178
@a_cup_of_java | Другие наши каналы
В последнее время в СМИ много публикаций о новых квантовых компьютерах, которые представляют угрозу для современной криптографии. Например, недавно Google сообщила о разработке квантового процессора Willow, который в специально сформулированной задаче превышает производительность самого мощного суперкомпьютера в септиллион раз (септиллион = 1025).
Хотя квантовая криптография быстро развивается, ей ещё далеко до того, чтобы угрожать современной криптографии. Более того, разработан ряд постквантовых алгоритмов и шифров, которые устойчивы к квантовым вычислениям.
Читать: https://habr.com/ru/companies/globalsign/articles/887178/?utm_campaign=887178
@a_cup_of_java | Другие наши каналы
3200% нагрузки на процессор
Совсем недавно моя машина была в таком запущенном состоянии, что я едва мог подключиться к ней через ssh. 3200% нагрузки на CPU — полностью использовались все 32 ядра хоста! Сравните это с моим последним багом, когда использовалось всего одно ядро, то есть 100%
К счастью, я использовал среду выполнения Java 17, у которой были дампы потоков с указанием времени CPU!
Читать: https://habr.com/ru/articles/887040/?utm_campaign=887040
@a_cup_of_java | Другие наши каналы
Совсем недавно моя машина была в таком запущенном состоянии, что я едва мог подключиться к ней через ssh. 3200% нагрузки на CPU — полностью использовались все 32 ядра хоста! Сравните это с моим последним багом, когда использовалось всего одно ядро, то есть 100%
К счастью, я использовал среду выполнения Java 17, у которой были дампы потоков с указанием времени CPU!
Читать: https://habr.com/ru/articles/887040/?utm_campaign=887040
@a_cup_of_java | Другие наши каналы
👍2
Java News Roundup: Stable Values, Spring Modulith, Open Liberty, Quarkus, JReleaser, Gradle
This week's Java roundup for February 24th, 2025 features news highlighting: JEP 502, Stable Values (Preview), Proposed to Target for JDK 25; milestone and point releases for Spring Modulith; the February 2025 release of Open Liberty; and the releases of Quarkus 3.19.0, JReleaser 1.17.0 and Gradle 8.13.0.
By Michael Redlich
Read: https://www.infoq.com/news/2025/03/java-news-roundup-feb24-2025/
@a_cup_of_java | Другие наши каналы
This week's Java roundup for February 24th, 2025 features news highlighting: JEP 502, Stable Values (Preview), Proposed to Target for JDK 25; milestone and point releases for Spring Modulith; the February 2025 release of Open Liberty; and the releases of Quarkus 3.19.0, JReleaser 1.17.0 and Gradle 8.13.0.
By Michael Redlich
Read: https://www.infoq.com/news/2025/03/java-news-roundup-feb24-2025/
@a_cup_of_java | Другие наши каналы
Квиз: Сможешь ли ты сделать устойчивую систему на Java?
Тебе нужно разработать систему, которая будет выдерживать любую нагрузку и не падать. Ты разработчик на Java, и твоя задача — выбрать самый подходящий фреймворк.
Пройди квиз и сделай эту систему железобетонной: https://tprg.ru/YDLN
@a_cup_of_java | Другие наши каналы
Тебе нужно разработать систему, которая будет выдерживать любую нагрузку и не падать. Ты разработчик на Java, и твоя задача — выбрать самый подходящий фреймворк.
Пройди квиз и сделай эту систему железобетонной: https://tprg.ru/YDLN
@a_cup_of_java | Другие наши каналы
👍4❤1
За кулисами JIT: Секреты HotSpot JVM C2 компилятора (Часть 2)
Новый перевод от команды Spring АйО является продолжением разговора о JIT (Just in Time) компиляции, а также дает представление о различных инструментах, позволяющих работать со скомпилированным кодом, визуализировать его и отлаживать в интерактивной форме. Перед прочтением рекомендуем ознакомиться с первой статьей из цикла статей про JIT.
Во второй части мы рассмотрим:
— Инлайнинг GVN (global value numbering) во время синтаксического анализа (parsing).
— Использование IGV (Ideal Graph Visualizer) и rr (отладчик), чтобы посмотреть на IR и его трансформации.
— Простая “идеализация”
— Упражнения для читателя: несколько дополнительных трансформаций, которые читатель сможет проанализировать.
Читать: https://habr.com/ru/companies/spring_aio/articles/887724/?utm_campaign=887724
@a_cup_of_java | Другие наши каналы
Новый перевод от команды Spring АйО является продолжением разговора о JIT (Just in Time) компиляции, а также дает представление о различных инструментах, позволяющих работать со скомпилированным кодом, визуализировать его и отлаживать в интерактивной форме. Перед прочтением рекомендуем ознакомиться с первой статьей из цикла статей про JIT.
Во второй части мы рассмотрим:
— Инлайнинг GVN (global value numbering) во время синтаксического анализа (parsing).
— Использование IGV (Ideal Graph Visualizer) и rr (отладчик), чтобы посмотреть на IR и его трансформации.
— Простая “идеализация”
101 * a + 202 * a в 303 * a.— Упражнения для читателя: несколько дополнительных трансформаций, которые читатель сможет проанализировать.
Читать: https://habr.com/ru/companies/spring_aio/articles/887724/?utm_campaign=887724
@a_cup_of_java | Другие наши каналы
Рецензия на книгу “Spring и Spring Boot. Разработка облачных приложений на Java”
Spring и Spring Boot — это фундаментальные технологии для современных Java-разработчиков. С их помощью создаются сложные и гибкие корпоративные приложения, при этом минимизируются рутинные задачи. Если вы действующий разработчик на Java или пока учитесь на ИТ-курсах / в ВУЗе и только планируете им стать, знание Spring будет “must have” скиллом. Ведь практически все новые проекты ведутся с его использованием. Более того, Spring Boot существенно упрощает работу с Spring Framework, автоматизируя настройку и позволяя разработчикам сосредоточиться на логике приложения.
Читать: https://habr.com/ru/companies/ssp-soft/articles/888090/?utm_campaign=888090
@a_cup_of_java | Другие наши каналы
Spring и Spring Boot — это фундаментальные технологии для современных Java-разработчиков. С их помощью создаются сложные и гибкие корпоративные приложения, при этом минимизируются рутинные задачи. Если вы действующий разработчик на Java или пока учитесь на ИТ-курсах / в ВУЗе и только планируете им стать, знание Spring будет “must have” скиллом. Ведь практически все новые проекты ведутся с его использованием. Более того, Spring Boot существенно упрощает работу с Spring Framework, автоматизируя настройку и позволяя разработчикам сосредоточиться на логике приложения.
Читать: https://habr.com/ru/companies/ssp-soft/articles/888090/?utm_campaign=888090
@a_cup_of_java | Другие наши каналы
Presentation: Building a Lightning Fast Firewall with Java & eBPF
Johannes Bechberger discusses building a high-throughput firewall leveraging the combined power of eBPF and Java.
By Johannes Bechberger
Read: https://www.infoq.com/presentations/firewall-java-ebpf/
@a_cup_of_java | Другие наши каналы
Johannes Bechberger discusses building a high-throughput firewall leveraging the combined power of eBPF and Java.
By Johannes Bechberger
Read: https://www.infoq.com/presentations/firewall-java-ebpf/
@a_cup_of_java | Другие наши каналы
👍3
OpenIDE: первый взгляд
Большая статья с анонсом этого проект находится тут, автор сразу напросился на бета‑тестирование и сегодня получил письмо со ссылкой на сборку.
Ниже небольшой обзор и скриншоты в работе под FreeBSD, что наверное создателей немного удивит. Но я предупреждал ;)
Читать: https://habr.com/ru/articles/888310/?utm_campaign=888310
@a_cup_of_java | Другие наши каналы
Большая статья с анонсом этого проект находится тут, автор сразу напросился на бета‑тестирование и сегодня получил письмо со ссылкой на сборку.
Ниже небольшой обзор и скриншоты в работе под FreeBSD, что наверное создателей немного удивит. Но я предупреждал ;)
Читать: https://habr.com/ru/articles/888310/?utm_campaign=888310
@a_cup_of_java | Другие наши каналы
Платформа OpenBPM, или как я научился не волноваться и полюбил бизнес-процессы
Компания Haulmont представляет новый продукт для разработки процессных приложений — OpenBPM.
Что это — очередная BPMS-платформа? Чем OpenBPM отличается от других решений на рынке? Что входит в её состав? Когда ожидается релиз? Ответы на эти и другие вопросы вы найдёте в данной статье.
Читать: https://habr.com/ru/companies/haulmont/articles/888390/?utm_campaign=888390
@a_cup_of_java | Другие наши каналы
Компания Haulmont представляет новый продукт для разработки процессных приложений — OpenBPM.
Что это — очередная BPMS-платформа? Чем OpenBPM отличается от других решений на рынке? Что входит в её состав? Когда ожидается релиз? Ответы на эти и другие вопросы вы найдёте в данной статье.
Читать: https://habr.com/ru/companies/haulmont/articles/888390/?utm_campaign=888390
@a_cup_of_java | Другие наши каналы
Docker для начинающих: простое развертывание приложения за несколько шагов
Всем привет! Для своей первой статьи я решил выбрать проблему, с которой сам столкнулся при изучении Java и попытке упаковки приложения в докер-контейнер. К сожалению не нашел ни одной исчерпывающей статьи, как это делать, поэтому решил написать свою.
Начну, пожалуй, с самого сервиса. Я написал достаточно простое веб-приложение на стеке - Java, Spring, Maven, REST, HTTP, Hibernate, Postgresql, JSP/JSTL. Пока приложение представлено достаточно в сыром виде, но для понимания, как оно упаковывается в контейнер, вполне подойдет. Если вкратце, то это сервис для голосования за лучший ресторан, где можно зарегистрироваться, добавить ресторан, его описание, оставить отзыв и проставить рейтинг. Также, в зависимости от роли, можно посмотреть информацию о пользователях и редактировать ее.
Читать: https://habr.com/ru/articles/888540/?utm_campaign=888540
@a_cup_of_java | Другие наши каналы
Всем привет! Для своей первой статьи я решил выбрать проблему, с которой сам столкнулся при изучении Java и попытке упаковки приложения в докер-контейнер. К сожалению не нашел ни одной исчерпывающей статьи, как это делать, поэтому решил написать свою.
Начну, пожалуй, с самого сервиса. Я написал достаточно простое веб-приложение на стеке - Java, Spring, Maven, REST, HTTP, Hibernate, Postgresql, JSP/JSTL. Пока приложение представлено достаточно в сыром виде, но для понимания, как оно упаковывается в контейнер, вполне подойдет. Если вкратце, то это сервис для голосования за лучший ресторан, где можно зарегистрироваться, добавить ресторан, его описание, оставить отзыв и проставить рейтинг. Также, в зависимости от роли, можно посмотреть информацию о пользователях и редактировать ее.
Читать: https://habr.com/ru/articles/888540/?utm_campaign=888540
@a_cup_of_java | Другие наши каналы
❤4