Как положить приложение 21 запросом* к /actuator/health
Уточнение для въедливых :)
* 21 и более параллельным запросом в определённых условиях :)
Привет, сегодня поговорим о подводных камнях использования виртуальных потоков в написанных на Java веб-приложениях. В статье описан случай из жизни, сперва поставивший в тупик, но оказавшийся не столь уж и запутанным, а причина и вовсе была известна и документирована.
Читать: https://habr.com/ru/articles/832568/?utm_campaign=832568
@a_cup_of_java | Другие наши каналы
Уточнение для въедливых :)
* 21 и более параллельным запросом в определённых условиях :)
Привет, сегодня поговорим о подводных камнях использования виртуальных потоков в написанных на Java веб-приложениях. В статье описан случай из жизни, сперва поставивший в тупик, но оказавшийся не столь уж и запутанным, а причина и вовсе была известна и документирована.
Читать: https://habr.com/ru/articles/832568/?utm_campaign=832568
@a_cup_of_java | Другие наши каналы
❤2
Разработка Java-проекта с ChatGPT-4: от идеи до реализации
Как Java-методист с 15-летним опытом я решил проверить, как нейросеть ChatGPT-4 придумывает use cases, создает доменную модель и пишет программный код. Давайте посмотрим, способна ли эта большая языковая модель в ее текущей итерации заменить разработчика или, по крайней мере, упростить процесс разработки.
Привет, Хабр! Меня зовут Игорь Судакевич, я преподаватель-практик Учебного центра IBS по программированию на языке Java. В начале 2024 года мой коллега из IBS уже делился собственным опытом создания базовой программы с помощью ChatGPT. В том эксперименте использовалась бесплатная модель 3.5, и мы получили множество комментариев из серии «А вы бы тоже самое провернули на последней версии модели — она всё делает в разы лучше!» Мол, и разработчики скоро будут никому не нужны.
Читать: https://habr.com/ru/companies/ibs/articles/833034/?utm_campaign=833034
@a_cup_of_java | Другие наши каналы
Как Java-методист с 15-летним опытом я решил проверить, как нейросеть ChatGPT-4 придумывает use cases, создает доменную модель и пишет программный код. Давайте посмотрим, способна ли эта большая языковая модель в ее текущей итерации заменить разработчика или, по крайней мере, упростить процесс разработки.
Привет, Хабр! Меня зовут Игорь Судакевич, я преподаватель-практик Учебного центра IBS по программированию на языке Java. В начале 2024 года мой коллега из IBS уже делился собственным опытом создания базовой программы с помощью ChatGPT. В том эксперименте использовалась бесплатная модель 3.5, и мы получили множество комментариев из серии «А вы бы тоже самое провернули на последней версии модели — она всё делает в разы лучше!» Мол, и разработчики скоро будут никому не нужны.
Читать: https://habr.com/ru/companies/ibs/articles/833034/?utm_campaign=833034
@a_cup_of_java | Другие наши каналы
🔥3🥰2❤1
Генерация HTTP клиентов для Spring Boot приложения по OpenAPI спецификации
В новом переводе от команды Spring АйО вы узнаете, как можно сгенерировать код HTTP клиентов для Spring Boot приложения по OpenAPI спецификации, используя плагин openapi-generator для Gradle.
В статье вы найдете:
1. Пошаговую инструкцию по использованию openapi-generator для Gradle
2. Настройки для генератора, которые помогут оставить только нужный код
3. Пример конфигурации сгенерированных Spring-бинов
Читать: https://habr.com/ru/companies/spring_aio/articles/833096/?utm_campaign=833096
@a_cup_of_java | Другие наши каналы
В новом переводе от команды Spring АйО вы узнаете, как можно сгенерировать код HTTP клиентов для Spring Boot приложения по OpenAPI спецификации, используя плагин openapi-generator для Gradle.
В статье вы найдете:
1. Пошаговую инструкцию по использованию openapi-generator для Gradle
2. Настройки для генератора, которые помогут оставить только нужный код
3. Пример конфигурации сгенерированных Spring-бинов
Читать: https://habr.com/ru/companies/spring_aio/articles/833096/?utm_campaign=833096
@a_cup_of_java | Другие наши каналы
⚡2✍2❤2👍1🔥1
Релиз Jmix 2.3: что нового?
Эта статья рассказывает о ключевых обновлениях, которые были включены в недавно опубликованный релиз Jmix 2.3. Полные сведения об изменениях и советы по обновлению проектов можно найти в разделе документации Что нового.
Читать: https://habr.com/ru/companies/haulmont/articles/833280/?utm_campaign=833280
@a_cup_of_java | Другие наши каналы
Эта статья рассказывает о ключевых обновлениях, которые были включены в недавно опубликованный релиз Jmix 2.3. Полные сведения об изменениях и советы по обновлению проектов можно найти в разделе документации Что нового.
Читать: https://habr.com/ru/companies/haulmont/articles/833280/?utm_campaign=833280
@a_cup_of_java | Другие наши каналы
👍2
5 уроков локализации из разработки игры в Telegram
Многие разработчики хотят, чтобы их продукт был доступен максимально широкому кругу пользователей. И локализация на языки целевой аудитории может достаточно положительно сказаться на её росте. Вряд ли в данной статье будет что-то новое для людей, которые собаку съели на локализации, однако постараюсь поделиться максимально полезными советы по реализации для тех, кто только начинает свой путь.
Читать: https://habr.com/ru/companies/miip/articles/832950/?utm_campaign=832950
@a_cup_of_java | Другие наши каналы
Многие разработчики хотят, чтобы их продукт был доступен максимально широкому кругу пользователей. И локализация на языки целевой аудитории может достаточно положительно сказаться на её росте. Вряд ли в данной статье будет что-то новое для людей, которые собаку съели на локализации, однако постараюсь поделиться максимально полезными советы по реализации для тех, кто только начинает свой путь.
Читать: https://habr.com/ru/companies/miip/articles/832950/?utm_campaign=832950
@a_cup_of_java | Другие наши каналы
🎉3
Как войти в backend-разработку на Java
Java популярна во многих сферах разработки, и одна из них — backend. Рассказываем, как начать изучать Java самостоятельно и войти в IT.
Читать: «Как войти в backend-разработку на Java»
@a_cup_of_java | Другие наши каналы
Java популярна во многих сферах разработки, и одна из них — backend. Рассказываем, как начать изучать Java самостоятельно и войти в IT.
Читать: «Как войти в backend-разработку на Java»
@a_cup_of_java | Другие наши каналы
👍2
Использование очередей (Queue/Deque) для решения алгоритмических задач на Java
Как всегда, сначала немного базовой теории для понимания того, с чем мы имеем дело.
Queue - однонаправленная очередь, представляет собой структуру данных, которая строится по принципу FIFO (first-in-first-out). Другими словами, чем раньше элемент был добавлен в коллекцию, тем раньше он оттуда будет удален.
Выжимка по методам:
Читать: https://habr.com/ru/articles/833444/?utm_campaign=833444
@a_cup_of_java | Другие наши каналы
Как всегда, сначала немного базовой теории для понимания того, с чем мы имеем дело.
Queue - однонаправленная очередь, представляет собой структуру данных, которая строится по принципу FIFO (first-in-first-out). Другими словами, чем раньше элемент был добавлен в коллекцию, тем раньше он оттуда будет удален.
Выжимка по методам:
Читать: https://habr.com/ru/articles/833444/?utm_campaign=833444
@a_cup_of_java | Другие наши каналы
❤3👏2🤝1
Кэш второго уровня Hibernate для чайников
Будучи студентом или стажером, вы наверняка столкнетесь с подобной задачей — включить кэширование сущностей, чтобы сэкономить на обращениях к базе данных. Эта статья ставит перед собой цель упростить эту задачу и подробно показать, как настроить базовый кэш в Hibernate 6.
Читать: https://habr.com/ru/articles/833478/?utm_campaign=833478
@a_cup_of_java | Другие наши каналы
Будучи студентом или стажером, вы наверняка столкнетесь с подобной задачей — включить кэширование сущностей, чтобы сэкономить на обращениях к базе данных. Эта статья ставит перед собой цель упростить эту задачу и подробно показать, как настроить базовый кэш в Hibernate 6.
Читать: https://habr.com/ru/articles/833478/?utm_campaign=833478
@a_cup_of_java | Другие наши каналы
❤6👍4
Сдача Spring Certified Professional (2V0-72.22) в 2024 году: Удаленно из России
Привет, недавно я сдал сертификацию по Spring Framework от Broadcom. В связи с уходом сертификационных центров из России процесс сдачи экзамена усложнился. В данной статье я расскажу про свой опыт подготовки и поделюсь способом сдачи экзамена удаленно из России.
Читать: https://habr.com/ru/articles/833710/?utm_campaign=833710
@a_cup_of_java | Другие наши каналы
Привет, недавно я сдал сертификацию по Spring Framework от Broadcom. В связи с уходом сертификационных центров из России процесс сдачи экзамена усложнился. В данной статье я расскажу про свой опыт подготовки и поделюсь способом сдачи экзамена удаленно из России.
Читать: https://habr.com/ru/articles/833710/?utm_campaign=833710
@a_cup_of_java | Другие наши каналы
👍3🤷3
Java News Roundup: Hazelcast 5.5, Projects Loom and Valhalla, Hibernate ORM and Validation
This week's Java roundup for July 29th, 2024 features news highlighting: the release of Hazelcast 5.5; early-access releases for Project Loom and Project Valhalla; beta releases of Hibernate ORM 7.0 and Hibernate Validation 9.0; and point releases for Quarkus, Helidon, GlassFish, JobRunr and Testcontainers for Java.
By Michael Redlich
Read: https://www.infoq.com/news/2024/08/java-news-roundup-jul29-2024/
@a_cup_of_java | Другие наши каналы
This week's Java roundup for July 29th, 2024 features news highlighting: the release of Hazelcast 5.5; early-access releases for Project Loom and Project Valhalla; beta releases of Hibernate ORM 7.0 and Hibernate Validation 9.0; and point releases for Quarkus, Helidon, GlassFish, JobRunr and Testcontainers for Java.
By Michael Redlich
Read: https://www.infoq.com/news/2024/08/java-news-roundup-jul29-2024/
@a_cup_of_java | Другие наши каналы
🔥3👍2
Spring Boot 3.3 Boosts Performance, Security, and Observability
VMware released Spring Boot 3.3 on May 23, 2024, with significant performance, security, and observability improvements. These include Class Data Sharing (CDS) for faster startup and reduced memory usage, virtual thread support for websockets, enhanced security with JWT authentication auto-configuration, and Software Bill of Materials (SBOM) support for better supply chain security.
By Karsten Silz
Read: https://www.infoq.com/news/2024/08/spring-boot-3-3/
@a_cup_of_java | Другие наши каналы
VMware released Spring Boot 3.3 on May 23, 2024, with significant performance, security, and observability improvements. These include Class Data Sharing (CDS) for faster startup and reduced memory usage, virtual thread support for websockets, enhanced security with JWT authentication auto-configuration, and Software Bill of Materials (SBOM) support for better supply chain security.
By Karsten Silz
Read: https://www.infoq.com/news/2024/08/spring-boot-3-3/
@a_cup_of_java | Другие наши каналы
❤2
Нахождение преобладающего элемента последовательности (алгоритм большинства голосов Бойера-Мура)
Пару статей назад я уже рассматривала один из алгоритмов Бойера-Мура, с помощью которого можно было найти подстроку в строке.
Сегодня хочу поболтать об алгоритме большинства голосов, который позволяется найти преобладающий элемент последовательности.
Предлагаю сразу использовать его на примере задачи «Majority Element» с leetcode.
Условие здесь: https://leetcode.com/problems/most-frequent-even-element/description/
Кстати, у меня есть телеграм-канал, где пишу подходы к решениям всяких задачек с LeetCode, там больше разборов конкретных задач, чем здесь, потому что не всегда нужна статья. В общем, если интересно - жду здесь - t.me/crushiteasy :)
Возвращаемся к Муру!
Кратко: на вход мы получаем массив, состоящий из чисел. Нужно найти число, которое встречается наибольшее количество раз.
Не супер очевидно, но это число занимает больше половины элементов массива, т.е.
Читать: https://habr.com/ru/articles/833932/?utm_campaign=833932
@a_cup_of_java | Другие наши каналы
Пару статей назад я уже рассматривала один из алгоритмов Бойера-Мура, с помощью которого можно было найти подстроку в строке.
Сегодня хочу поболтать об алгоритме большинства голосов, который позволяется найти преобладающий элемент последовательности.
Предлагаю сразу использовать его на примере задачи «Majority Element» с leetcode.
Условие здесь: https://leetcode.com/problems/most-frequent-even-element/description/
Кстати, у меня есть телеграм-канал, где пишу подходы к решениям всяких задачек с LeetCode, там больше разборов конкретных задач, чем здесь, потому что не всегда нужна статья. В общем, если интересно - жду здесь - t.me/crushiteasy :)
Возвращаемся к Муру!
Кратко: на вход мы получаем массив, состоящий из чисел. Нужно найти число, которое встречается наибольшее количество раз.
Не супер очевидно, но это число занимает больше половины элементов массива, т.е.
Читать: https://habr.com/ru/articles/833932/?utm_campaign=833932
@a_cup_of_java | Другие наши каналы
❤2👍2👌1
Netflix Adopts Virtual Threads: A Case Study on Performance and Pitfalls
Netflix, a long-time Java adopter, recently upgraded to Java 21. They are now harnessing new features such as generational ZGC and virtual threads to improve performance across their extensive microservices fleet. While virtual threads, designed for high-throughput concurrent applications, showed early promise, they also brought unique challenges in real-world scenarios.
By A N M Bazlur Rahman
Read: https://www.infoq.com/news/2024/08/netflix-performance-case-study/
@a_cup_of_java | Другие наши каналы
Netflix, a long-time Java adopter, recently upgraded to Java 21. They are now harnessing new features such as generational ZGC and virtual threads to improve performance across their extensive microservices fleet. While virtual threads, designed for high-throughput concurrent applications, showed early promise, they also brought unique challenges in real-world scenarios.
By A N M Bazlur Rahman
Read: https://www.infoq.com/news/2024/08/netflix-performance-case-study/
@a_cup_of_java | Другие наши каналы
Портируем ML модели на Java с помощью ONNX
Всем привет, меня зовут Евгений Мунин. Я Senior ML Engineer в Ad Tech, а точнее в программатик платформе по доставке Web рекламы.
Сегодня речь пойдет про то, как сделать ML модели, совместимыми с бэк э
Читать: https://habr.com/ru/articles/833992/?utm_campaign=833992
@a_cup_of_java | Другие наши каналы
Всем привет, меня зовут Евгений Мунин. Я Senior ML Engineer в Ad Tech, а точнее в программатик платформе по доставке Web рекламы.
Сегодня речь пойдет про то, как сделать ML модели, совместимыми с бэк э
Читать: https://habr.com/ru/articles/833992/?utm_campaign=833992
@a_cup_of_java | Другие наши каналы
🔥3❤1
Что нового в Amplicode 2024.2
Мы рады сообщить, что второй мажорный релиз Amplicode в 2024 году успешно состоялся. В этот релиз вошло множество улучшений и исправлений, а также много новых фич. Вот некоторые из них:
* Gutter Icons для Spring-объектов
* Улучшенная генерация Spring Web тестов
* Поддержка Extends и Include в Docker Compose
* Генерация отдельных HTTP-методов для REST-контроллеров
* Поддержка Kubernetes и Helm
Подробнее о каждом из нововведений рассказали в статье.
Читать: https://habr.com/ru/companies/haulmont/articles/834164/?utm_campaign=834164
@a_cup_of_java | Другие наши каналы
Мы рады сообщить, что второй мажорный релиз Amplicode в 2024 году успешно состоялся. В этот релиз вошло множество улучшений и исправлений, а также много новых фич. Вот некоторые из них:
* Gutter Icons для Spring-объектов
* Улучшенная генерация Spring Web тестов
* Поддержка Extends и Include в Docker Compose
* Генерация отдельных HTTP-методов для REST-контроллеров
* Поддержка Kubernetes и Helm
Подробнее о каждом из нововведений рассказали в статье.
Читать: https://habr.com/ru/companies/haulmont/articles/834164/?utm_campaign=834164
@a_cup_of_java | Другие наши каналы
👍3❤2✍2
Vaadin 24.4.0 Introduces Vaadin Copilot and a Unified Vaadin Platform
Vaadin, an open-source web application development platform for Java developers, released version 24.4 in June 2024. The release aims to improve and simplify the developer experience by unifying the Hilla framework with the Vaadin platform, introducing the Vaadin Copilot, and several enhancements to the design system.
By Sirisha Pratha
Read: https://www.infoq.com/news/2024/08/vaadin-24-4/
@a_cup_of_java | Другие наши каналы
Vaadin, an open-source web application development platform for Java developers, released version 24.4 in June 2024. The release aims to improve and simplify the developer experience by unifying the Hilla framework with the Vaadin platform, introducing the Vaadin Copilot, and several enhancements to the design system.
By Sirisha Pratha
Read: https://www.infoq.com/news/2024/08/vaadin-24-4/
@a_cup_of_java | Другие наши каналы
Java Digest #15
Всем привет! 👋 👋 👋 👋 Мы Java-разработчики Т-Банка: Андрей, Арсений, Константин и Константин. Собираем интересные новости, статьи, туториалы и другие материалы из мира Java-разработки и делимся этим со всем сообществом.
В этом выпуске у нас много материалов, посвященных развитию Java. Коснемся и Leyden, и Valhalla, и Loom, и GC в JDK 23. За прошедший месяц вышло много интересных докладов с последнего JPoint, некоторые из них мы осветили в этом выпуске. А в разделе со статьями собрали много туториалов и обзоров. Dev-контейнеры от JetBrains, реализация Transactional Outbox с использованием Spring Boot, отслеживание вызова Deprecated-методов, история сбоя в Netflix, связанного с виртуальными тредами, — вот далеко не полный список. И на сладкое — пара свежих выпусков подкастов JavaHut и javaswag. Приятного чтения 😉
Читать выпуск 15
Читать: https://habr.com/ru/companies/tbank/articles/834448/?utm_campaign=834448
@a_cup_of_java | Другие наши каналы
Всем привет! 👋 👋 👋 👋 Мы Java-разработчики Т-Банка: Андрей, Арсений, Константин и Константин. Собираем интересные новости, статьи, туториалы и другие материалы из мира Java-разработки и делимся этим со всем сообществом.
В этом выпуске у нас много материалов, посвященных развитию Java. Коснемся и Leyden, и Valhalla, и Loom, и GC в JDK 23. За прошедший месяц вышло много интересных докладов с последнего JPoint, некоторые из них мы осветили в этом выпуске. А в разделе со статьями собрали много туториалов и обзоров. Dev-контейнеры от JetBrains, реализация Transactional Outbox с использованием Spring Boot, отслеживание вызова Deprecated-методов, история сбоя в Netflix, связанного с виртуальными тредами, — вот далеко не полный список. И на сладкое — пара свежих выпусков подкастов JavaHut и javaswag. Приятного чтения 😉
Читать выпуск 15
Читать: https://habr.com/ru/companies/tbank/articles/834448/?utm_campaign=834448
@a_cup_of_java | Другие наши каналы
🔥2
6 лучших книг для изучения виртуальной машины Java, сборки мусора и производительности [UPDATED]
В последние пару лет я наблюдаю тенденцию, когда многие Java-разработчики хотят узнать все больше и больше о внутреннем устройстве JVM и о том, как работает виртуальная машина Java и ее различные компоненты. В прошлом десятилетии эта тенденция была не так сильна, но с ростом внимания к параллелизму, производительности и масштабируемости Java-разработчики все более подробно изучают внутреннее устройство JVM, сборку мусора и настройку производительности. К сожалению, существует не так много хороших книг, позволяющих узнать о внутреннем устройстве JVM и ее различных компонентах, но, к счастью, у нас есть отличная спецификация виртуальной машины Java для изучения основ. Она также является наиболее актуальным справочником, поскольку Java и JVM постоянно меняются, особенно после выхода Java 10.
Вопросы и учебные пособия для собеседования по Java
Read: http://www.java67.com/2019/08/best-books-to-learn-java-virtual-machine-in-depth.html
В последние пару лет я наблюдаю тенденцию, когда многие Java-разработчики хотят узнать все больше и больше о внутреннем устройстве JVM и о том, как работает виртуальная машина Java и ее различные компоненты. В прошлом десятилетии эта тенденция была не так сильна, но с ростом внимания к параллелизму, производительности и масштабируемости Java-разработчики все более подробно изучают внутреннее устройство JVM, сборку мусора и настройку производительности. К сожалению, существует не так много хороших книг, позволяющих узнать о внутреннем устройстве JVM и ее различных компонентах, но, к счастью, у нас есть отличная спецификация виртуальной машины Java для изучения основ. Она также является наиболее актуальным справочником, поскольку Java и JVM постоянно меняются, особенно после выхода Java 10.
Вопросы и учебные пособия для собеседования по Java
Read: http://www.java67.com/2019/08/best-books-to-learn-java-virtual-machine-in-depth.html
❤2
Даже математики ошибаются
Мы знаем, что математика — наука точная. Значит ли это, что GeoGebra — программное обеспечение для интерактивного изучения математики — столь же точно? Проанализируем же исходный код проекта с помощью PVS-Studio!
Читать: https://habr.com/ru/companies/pvs-studio/articles/834952/?utm_campaign=834952
@a_cup_of_java | Другие наши каналы
Мы знаем, что математика — наука точная. Значит ли это, что GeoGebra — программное обеспечение для интерактивного изучения математики — столь же точно? Проанализируем же исходный код проекта с помощью PVS-Studio!
Читать: https://habr.com/ru/companies/pvs-studio/articles/834952/?utm_campaign=834952
@a_cup_of_java | Другие наши каналы
👍2👎1
И опыт, сын ошибок трудных: обрабатываем ошибки в Spring Boot
Долгое время разрабатывая микросервисы в разных командах, я сталкивался с типовой задачей: созданием максимально информативного ответа на запрос, когда произошла какая-то ошибка. Особенно это актуально для систем с пользовательским фронтендом, большим количеством интеграций или систем, которые представляют свой API как продукт. Во многих случаях это решалось выдачей сообщения «Ошибка системы» с HTTP-кодом 500. Из раза в раз меня не покидало ощущение, что решению этой задачи не уделяется должного внимания и времени. В текущем проекте нам пришлось пройти все круги ада, изменить несколько подходов и реализаций. И здесь я постарался описать, как это было, и сформулировать выводы, которые мы сделали на каждом шаге решения проблемы.
Читать: https://habr.com/ru/companies/T1Holding/articles/834288/?utm_campaign=834288
@a_cup_of_java | Другие наши каналы
Долгое время разрабатывая микросервисы в разных командах, я сталкивался с типовой задачей: созданием максимально информативного ответа на запрос, когда произошла какая-то ошибка. Особенно это актуально для систем с пользовательским фронтендом, большим количеством интеграций или систем, которые представляют свой API как продукт. Во многих случаях это решалось выдачей сообщения «Ошибка системы» с HTTP-кодом 500. Из раза в раз меня не покидало ощущение, что решению этой задачи не уделяется должного внимания и времени. В текущем проекте нам пришлось пройти все круги ада, изменить несколько подходов и реализаций. И здесь я постарался описать, как это было, и сформулировать выводы, которые мы сделали на каждом шаге решения проблемы.
Читать: https://habr.com/ru/companies/T1Holding/articles/834288/?utm_campaign=834288
@a_cup_of_java | Другие наши каналы
🎉3
Общее представление о контейнерах и бинах в Spring
IoC container - это контейнер, реализующий принцип Inversion of Control (IoC). Он управляет созданием, связыванием и жизненным циклом бинов, которые конфигурируются на различных этапах сборки приложения и затем добавляются в контекст.
Ознакомиться
Читать: https://habr.com/ru/articles/834966/?utm_campaign=834966
@a_cup_of_java | Другие наши каналы
IoC container - это контейнер, реализующий принцип Inversion of Control (IoC). Он управляет созданием, связыванием и жизненным циклом бинов, которые конфигурируются на различных этапах сборки приложения и затем добавляются в контекст.
org.springframework.beans и org.springframework.context пакеты являются основой для Spring Framework’s IoC container. BeanFactory это интерфейс контейнера Spring, предоставляющий базовый функционал для создания и управления бинами. BeanFactory используется в основном для простых приложений и в случаях, когда ресурсы ограничены. Это наиболее низкоуровневый интерфейс, предоставляющий базовые возможности по конфигурации и управлению бинами. ApplicationContext является под-интерфейсом BeanFactory. Он добавляет:Ознакомиться
Читать: https://habr.com/ru/articles/834966/?utm_campaign=834966
@a_cup_of_java | Другие наши каналы
👍2