Чашечка 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
Инверсия управления Контейнеров и паттерн Инъекции Зависимостей — перевод

В основе сборки любых компонентов лежит общий шаблон того, как они выполняют прокидывание зависимостей, это концепция, которую разработчики называют очень общим именем Inversion of Control (IoC: инверсия контроля). В этой статье я углублюсь в то, как работает этот паттерн под более конкретным названием «Dependency Injection» (Инъекция зависимостей), и сравню его с альтернативой - Service Locator


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

@a_cup_of_java | Другие наши каналы
2
«Java – это язык синих воротничков»

Поговорили с Сергеем, ведущим Java-разработчиком Нижегородского подразделения «Криптонита». В интервью – о языке программирования Java, «синих воротничках», бесполезности pet-проектов и работе инженера в энтерпрайзе без прикрас.

Сергей, расскажи, как именно ты пришёл к мысли изучать Java?

Это забавная история. Все мальчишки в начале 90-х хотели компьютер для игр. Моим товарищам покупали «Спектрум», на котором игры были цветные. У моих родителей не было таких денег. Поэтому они, скрепя сердце, купили мне старый компьютер без модуля цветной псевдографики. Назывался он «Партнер 01.01», как сейчас помню.


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

@a_cup_of_java | Другие наши каналы
🥰5👍42👎2
Soft Assertions в AssertJ

Бывало ли у вас такое, что тест падает на первом же assertion'e из десяти? Вы исправляете ошибку, запускаете тест снова, и он падает на втором assertion'e. И так десять раз. Выматывает, не так ли?

На самом деле, есть способ ускорить этот процесс — использовать Soft Assertions. С их помощью тест выполнится полностью, даже если один или несколько assertion'ов упадут, и вы сразу увидите все ошибки.

В новой статье от Михаила Поливахи, эксперта сообщества Spring АйО, вы узнаете, что такое Soft Assertions и как ими пользоваться.


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

@a_cup_of_java | Другие наши каналы
👍4🔥32
Spring Boot Starter: практически, принципиально и подробнее. Часть 3

Привет, Хабр! С вами снова Сергей Соловых, Java-разработчик в команде МТС Digital. Мы продолжаем изучать возможности и нюансы построения собственного Spring Boot Starter. В предыдущих частях мы разобрали структуру стартеров, автоконфигурацию и зависимости бинов. А сегодня давайте поговорим о параметрах приложения.

Умение работать с файлами конфигураций позволяет избежать hard-coding-данных в коде библиотеки. Это делает ее более гибкой и легко конфигурируемой, это значит, что ее можно адаптировать под конкретные требования. С помощью параметров можно настроить контекст или изменить поведение сервиса. Начнем с рассмотрения нескольких способов интеграции параметров из файла конфигурации в код приложения.


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

@a_cup_of_java | Другие наши каналы
🥰4👍2
Поддержка AWS SDK для Java 1.x прекращается

С июля 2024 года AWS прекращает обновления для SDK версии 1.x, ограничившись только критическими исправлениями и обновлениями безопасности до конца 2025 года. Рекомендуем переходить на версию 2.x, которая предлагает улучшенные функции, производительность и поддержку.

Подробности: https://aws.amazon.com/blogs/developer/the-aws-sdk-for-java-1-x-is-in-maintenance-mode-effective-july-31-2024/

#en

@a_cup_of_java | Другие наши каналы
5
Самый простой способ проверить работу веб-приложения под нагрузкой на примере JMeter и Grafana

Привет, меня зовут Рамиль, я программист в отделе разработки серверных решений ЮMoney. В этой статье расскажу о своём эксперименте с нагрузочным тестированием с помощью JMeter, Grafana и Prometheus, а также покажу, как тестировал три сценария: с двумя, 10 и 100 запросами в секунду.


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

@a_cup_of_java | Другие наши каналы
👍3
Поисковый запрос на баги в Apache Solr

И вновь мы проверяем продукт Apache. На этот раз выбор пал на Solr — платформу поискового сервера с открытым исходным кодом. Благодаря Solr можно эффективно и быстро искать информацию в базах данных и на интернет-ресурсах. При решении такой сложной задачи очень легко допустить разнообразные ошибки, даже несмотря на огромный опыт разработчиков Apache. Именно такие ошибки мы рассмотрим в этой статье.


Читать: https://habr.com/ru/companies/pvs-studio/articles/832842/?utm_campaign=832842

@a_cup_of_java | Другие наши каналы
👍3
Как положить приложение 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