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

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

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

Другие каналы: @tproger_channels
Download Telegram
Основы работы с массивами и списками: что нужно знать каждому

Что такое массив и список. Показываем основы работы с данными в программировании. Рассматриваем пошаговую инструкцию Tproger

Читать: «Основы работы с массивами и списками: что нужно знать каждому»

@a_cup_of_java | Другие наши каналы
👍1
Разработка плагина для интеграции Яндекс-Календаря с IntelliJ IDEA

Последние 10 лет я занимаюсь java разработкой и на протяжении всего этого времени Intellij Idea является неотъемлемой частью моей(да и многих других джавистов) работы. К сожалению некоторых вещей, которые были бы удобны лично мне, в ней нет, но к счастью есть возможность расширять IDE с помощью плагинов. На моём ноутбуке установлен linux и нет какой-то удобной нотификации событий из корпоративного календаря, а IDE практически всегда открыта на главном мониторе. По этой причине(а ещё из-за внезапно появившегося окна свободного времени и простого интереса) я решил, почему бы не интегрировать календарь прямо в IDE, чтобы получать нотификации и точно не пропустить ничего важного?
Об этом и пойдёт речь в статье.


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

@a_cup_of_java | Другие наши каналы
👍51
Добавляем скомпилированный фронт внутрь jar-файла при его сборке

Упаковка и развёртывание фронта внутри бэка.
Иллюстрация возможности развернуть фронт на основе встроенного в spring web-сервера.


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

@a_cup_of_java | Другие наши каналы
👍1
Канареечные релизы на Camunda и Togglz

Привет, Хабр! На связи Егор, бэкенд-разработчик из команды Портфолио в Т-Банке. Мы занимаемся актуализацией данных компаний и периодически внедряем новые подходы в наши процессы разработки.

В последнее время мы часто выпускаем новую функциональность, используя метод канареечных релизов. Хочу рассказать о том, как мы это делаем. У себя на проекте мы используем Camunda, поэтому в статье разберем, как более безопасно выпускать новые версии bpmn-схемы на прод, минимизируя влияние багов на пользователей.

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


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

@a_cup_of_java | Другие наши каналы
2👍1
Красивая обработка ответов в WebClient

Преимущества асинхронного взаимодействия ясны многим, однако работа с библиотекой WebFlux часто вызывает затруднения у Java-разработчиков

В этой статье разложены основы работы с webclient и реактивными стримами, взаимодействия Издателя и Подписчика, а также обработки ответов и ошибок, возникающих в процессе выполнения программы


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

@a_cup_of_java | Другие наши каналы
👍5
Стратегии извлечения

Это первая статья из четырех, в которых я попробую подробно описать и найти решение проблеме N+1. Первые две статьи, должны раскрыть причины, которые могут приводить к проблеме N+1. В третьей статье я предложу варианты поиска этой проблемы. В четвертой статье предложу рабочие варианты решения.

N+1 уже набила всем, N+одну оскомину, но до сих пор не теряет актуальность. Со своей стороны, могу сказать, что исключение из кода дополнительных запросов в базу, может значительно ускорить работу вашего приложения.


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

@a_cup_of_java | Другие наши каналы
4
Маппинг даты и времени в Hibernate и JPA

Сегодня любой Java разработчик сходу сможет правильно ответить на вопрос "Как смапить дату и время из колонки таблицы БД на поле в Java классе?". Или нет?

На самом деле, нюансов по ходу решения этой задачи может возникнуть немало.

В новом переводе от команды Spring АйО рассказывается про подробности работы с современным API java.time, правильный маппинг данных с учётом часовых поясов, устаревших типов java.util.Date, Calendar и многое другое.


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

@a_cup_of_java | Другие наши каналы
🔥3
Как писать связующий код без Java-делегатов в Camunda Cloud

Введенный в 2015 году, паттерн внешней задачи (external task pattern) становится всё более популярным. Вместо того чтобы движок процессов активно вызывал какой-либо код (push), паттерн внешней задачи добавляет работу в некую очередь и позволяет воркерам (workers) извлекать их по мере необходимости. Этот метод также известен как публикация/подписка (publish/subscribe). Движок процессов публикует задачи, а воркеры подписываются на их выполнение.


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

@a_cup_of_java | Другие наши каналы
IntelliJ IDEA 2025.1 EAP 2: Поддержка Containerfile и обновления для Dockerfile

Команда Spring АйО рада поделиться с новостью от JetBrains: стала доступна вторая версия EAP IntelliJ IDEA 2025.1.

Среди нововведений — поддержка Containerfile и обновления для Dockerfile.


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

@a_cup_of_java | Другие наши каналы
👍5🎉2
JSpinner: меньше багов, больше стрелочек

Привет, Хабр!

Сегодня поговорим про JSpinner — инструмент, который может показаться чем‑то простым и заурядным. Но это только на первый взгляд. На деле он может стать мастхев инструментом в разработке удобного и надёжного интерфейса.

JSpinner — это компонент для выбора значений из заранее заданной последовательности. Цифры, строки, даты — всё, что душе угодно. И его главная фича — минимизация ошибок: пользователь выбирает значения, а не вводит их вручную.


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

@a_cup_of_java | Другие наши каналы
1
Как писать связующий код без Java-делегатов в Camunda Cloud

Бернд Рюкер рассказывает о о преимуществах использования паттерна external task по сравнению с JavaDelegate и уверяет, что это совсем не больно. А если вы хотите использовать standalone-движок, то в общем-то у вас нет выбора, только external task.


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

@a_cup_of_java | Другие наши каналы
🥰3
PVS-Studio в 2024 году

За окном январь 2025 года, а это значит, пора подвести итоги за 2024 год! В этой статье вы узнаете, чем занималась команда PVS-Studio в прошлом году: новые плагины, интеграции, фичи и многое другое!


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

@a_cup_of_java | Другие наши каналы
Демистификация размеров объектов в Java: компактные заголовки, сжатые указатели и многое другое

Понимание размера объектов в Java — важный шаг для оптимизации памяти в высоконагруженных системах.

В новом переводе от команды Spring АйО вы узнаете про использование HotSpot JVM таких механизмов, как сжатые указатели (Compressed Oops) и компактные заголовки объектов (Compact Object Headers), необходимых для минимизации объема занимаемой памяти.


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

@a_cup_of_java | Другие наши каналы
Прагматичное функциональное программирование в Java

Прагматичное функциональное программирование в Java при помощи монады XResult<t, которая сочетает в себе свойства Optional<t, Result<t и Either<l,r
...

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

@a_cup_of_java | Другие наши каналы
🎉2
Топ 26 тем для интервью по Java в 2025 году

Готовитесь к интервью по Java? Узнайте, какие темы наиболее актуальны для собеседований в 2025 году. Наиболее востребованы: основы Java, ООП, многопоточность, сборка мусора и внутренности JVM. Подбирайте подготовку в соответствии с опытом работы и требованиями вакансии. Подготовка к интервью Java-разработчика

Текст: Планируете собеседование на позицию Java-разработчика? Изучите ключевые темы: многопоточность, фреймворки Spring и Hibernate, безопасность. Исследуйте ресурсы с вопросами и ответами по Java и веб-разработке, а также курсы для углубленного изучения. 🎓 Гид по подготовке к интервью по Spring

Ищете ресурсы для подготовки к интервью по Spring? Ознакомьтесь с подборкой вопросов и курсов по Spring Boot, Spring Cloud и Spring MVC. Это поможет вам укрепить знания в области микросервисов и аннотаций. Подпишитесь на обновления, чтобы не пропустить новинки!

Подробности: https://www.java67.com/2024/08/26-best-java-topics-for-interviews-in.html

#en

@a_cup_of_java | Другие наши каналы
Docker — все в одной «коробке»

Представь себе ситуацию, когда для включения компа тебе понадобилось бы отдельно включать монитор, клавиатуру, мышку, колонки и с толкача заводить БП в коробке с материнской платой. Так себе история. А так, нажал кнопку и всё включилось. С кодом можно сделать то же самое — собрать все под один “включатель” — Docker.


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

@a_cup_of_java | Другие наши каналы
👍1
Гайд по подготовке к собеседованию для Backend-разработчиков

Недавно я провёл своё 40-е собеседование в Booking.com, где оцениваю кандидатов по кодингу, системному дизайну и код‑ревью. Я хорошо понимаю ожидания от кандидатов на разные уровни: core developer, senior developer и engineering manager. Эти знания могут быть полезны для тех, кто готовится к собеседованию в Booking.com или других крупных компаниях с аналогичной структурой.


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

@a_cup_of_java | Другие наши каналы
Java для Sega Mega Drive — возможно ли это?

В этом проекте я хотел ответить на вопрос: возможно ли написать игру на Java для Sega Mega Drive/Genesis. Не хочу раскрывать спойлеры, но ответом будет «да».
Несколько лет назад я повстречал проект Java Grinder, который позволяет писать код для различных ретро процессоров на Java, в том числе для Sega Mega Drive. По сути, он интерпретирует байт-код из файлов .class, полученных после компиляции, в код на Ассемблере 68K. Если файлу класса нужны другие файлы классов, то они тоже считываются и обрабатываются. Все вызовы методов API записываются в выходном коде, либо как встроенный ассемблерный код, либо как вызовы предварительно написанных функций, выполняющих свою задачу.


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

@a_cup_of_java | Другие наши каналы
🔥4
Spring News Roundup: Milestone Releases of Boot, Framework, Data, Security, Integration, Modulith

There was a flurry of activity in the Spring ecosystem during the week of January 20th, 2025, highlighting milestone releases of: Spring Boot, Spring Framework, Spring Data, Spring Security, Spring Integration and Spring Modulith.
By Michael Redlich

Read: https://www.infoq.com/news/2025/01/spring-news-roundup-jan20-2025/

@a_cup_of_java | Другие наши каналы
Как тестировать бизнес-процессы в Camunda: пошаговый гайд

На один из процессов я разработала почти 150 тестов. В статье показываю и рассказываю, как тестировать в Camunda.


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

@a_cup_of_java | Другие наши каналы