Чашечка Java
8.57K subscribers
3.88K photos
13 videos
56 files
6.33K links
Лучшие материалы по Java на русском и английском

Разместить рекламу: @tproger_sales_bot

Правила общения: https://tprg.ru/rules

Другие каналы: @tproger_channels
Download Telegram
Как положить приложение 21 запросом* к /actuator/health

Уточнение для въедливых :)

* 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 | Другие наши каналы
🔥3🥰21
Генерация 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 | Другие наши каналы
222👍1🔥1
Релиз Jmix 2.3: что нового?

Эта статья рассказывает о ключевых обновлениях, которые были включены в недавно опубликованный релиз 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 | Другие наши каналы
🎉3
Как войти в backend-разработку на 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 | Другие наши каналы
3👏2🤝1
Кэш второго уровня Hibernate для чайников

Будучи студентом или стажером, вы наверняка столкнетесь с подобной задачей — включить кэширование сущностей, чтобы сэкономить на обращениях к базе данных. Эта статья ставит перед собой цель упростить эту задачу и подробно показать, как настроить базовый кэш в 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 | Другие наши каналы
👍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 | Другие наши каналы
🔥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 | Другие наши каналы
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 | Другие наши каналы
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 | Другие наши каналы
Портируем ML модели на Java с помощью ONNX

Всем привет, меня зовут Евгений Мунин. Я Senior ML Engineer в Ad Tech, а точнее в программатик платформе по доставке Web рекламы.

Сегодня речь пойдет про то, как сделать ML модели, совместимыми с бэк э


Читать: https://habr.com/ru/articles/833992/?utm_campaign=833992

@a_cup_of_java | Другие наши каналы
🔥31
Что нового в 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 | Другие наши каналы
👍322
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 | Другие наши каналы
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 | Другие наши каналы
🔥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
2
Даже математики ошибаются

Мы знаем, что математика — наука точная. Значит ли это, что 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 | Другие наши каналы
🎉3
Общее представление о контейнерах и бинах в Spring

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