Чашечка Java – Telegram
Чашечка Java
8.92K subscribers
3.84K photos
12 videos
56 files
6.24K links
Лучшие материалы по Java на русском и английском

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

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

Другие каналы: @tproger_channels
Download Telegram
Паттерны ООП c примерами на Java: порождающие шаблоны

Привет! Меня зовут Бромбин Андрей. В этой статье мы рассмотрим порождающие паттерны ООП. Обсудим, что такое хороший дизайн и почему не стоит начинать всё с нуля каждый раз, когда перед нами новая задача. Также разберёмся, где эти паттерны действительно помогают и какую пользу несут — всё это с наглядными примерами на Java, приближёнными к реальным.

Всем нам хочется делать больше и тратить на это меньше времени. Браться за новые задачи смелее и выполнять их эффективнее. В этом нам и помогают паттерны: они дают рабочую схему для типовых кейсов, чтобы не выдумывать решение каждый раз с чистого листа.
Шаблонизироваться

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

@a_cup_of_java | Другие наши каналы
👍2
Освоение Unicode в Java: создаём на Quarkus REST API, готовый к глобальной аудитории

В этом руководстве мы разберем непонятности вокруг Unicode и узнаем, как строить надёжные, интернациональные Java-приложения. Разберём теорию, укажем на подводные камни, а затем соберём «Глобальный сервис приветствий» на Quarkus, который переживёт весь хаос реального текста.

К концу статьи вы разберётесь с тем,

– как устроен Unicode и как Java на самом деле хранит текст;
– почему длина строки и перебор символов сложнее, чем кажется;
– как нормализация предотвращает неприятные несоответствия;
– как настроить REST-сервис и базу данных для безопасной работы с Unicode.
Unicode без боли

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

@a_cup_of_java | Другие наши каналы
SSE + Java + WebFlux = энтерпрайз решение для отправки пушей

В этом посте я расскажу, почему для доставки push-уведомлений в клиентское приложение была выбрана технология Server-Sent Events, и главное, как реализовать масштабируемый SSE сервис на Java + Spring Boot + Webflux, который подойдет для использования не только в небольших проектах, но и в крупных организациях с большим количеством пользователей. Естественно, без подготовки дополнительной инфраструктуры не обойдется.


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

@a_cup_of_java | Другие наши каналы
❤‍🔥2👍1
Сравнение Grafana и Dimension-UI на задаче мониторинга истории активных сессий

Недавно рассказывал про мониторинг истории активных сессий в базах данных Oracle, PostgreSQL, ClickHouse и MS SQL Server с использованием desktop-приложения Dimension-UI (link). В комментариях @KPSB92 задал вопрос о преимуществах/отличиях связки exporter Prometheus/Grafana и Dimension-UI, решил оформить ответ в эту небольшую статью.

Итак, возьмем для примера просмотр данных активных сессий в базе данных PostgreSQL и сравним визуализацию в Grafana и Dimension-UI. Посмотрим работу с интерфейсами обоих систем в динамике с помощью скринкастов.
(трафик 21 Мб)

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

@a_cup_of_java | Другие наши каналы
DispatcherServlet в Spring MVC — роль и внутренняя работа

В статье объясняется, как DispatcherServlet выступает Front Controller: принимает все запросы, сопоставляет их с контроллерами через handler mappings, разрешает представления через ViewResolver и отправляет ответ. Полезно для подготовки к собеседованиям. Большой каталог по Java и JEE

В статье собран обширный каталог материалов: уроки и сравнения (JSP, Servlet, Struts), темы по Spring, Hibernate, коллекциям, сотни вопросов для собеседований и подборки курсов и книг для подготовки и практики. Полный путеводитель по Spring Framework

В статье — подборка примеров, уроков, курсов и решений для Spring/Spring Boot: аннотации, REST, микросервисы, тестирование, Spring Security, Actuator и ответы на интервью. Полезно для практикующих Java-разработчиков.

Подробности: http://www.java67.com/2017/06/what-is-use-of-dispatcherservlet-in-spring-mvc.html

#en

@a_cup_of_java | Другие наши каналы
Поиск работы в IT сломан. Я устал это терпеть и написал код, который играет против правил

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

Давайте по-честному. Искать работу в IT - это боль. Это не похоже на то, что нам обещали: интеллектуальные задачи, интересные проекты, уважение. Вместо этого мы получили бесконечный скроллинг hh.ru, вымученные сопроводительные письма и звенящую тишину в ответ.

Как консультант, я вижу всю изнанку этого процесса, и хочу поделиться, почему все так хреново. Это игра с поломанными правилами, где побеждает не самый талантливый, а самый выносливый.


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

@a_cup_of_java | Другие наши каналы
Ошибка ClassNotFoundException: ContextLoaderListener — как исправить

Кратко: причина в отсутствии класса org.springframework.web.context.ContextLoaderListener в CLASSPATH. Добавьте spring-web.jar (Spring 3+) или spring.jar (старые версии), проверьте Maven-зависимости/Deployment Assembly и очистите кэш Tomcat. Курсы и ресурсы: Java, Spring, DevOps

В статье собрана большая подборка курсов и туториалов по Java, Spring, Hibernate, DSA, MERN, Docker, Kubernetes и DevOps, включая бесплатные материалы и рекомендации для подготовки к интервью и сертификациям. Большая подборка материалов по Java и Spring Boot
В статье собраны руководства, примеры проектов, ответы на интервью, советы по микросервисам и исправления ошибок. Полезно для практики и подготовки к собеседованиям. Подробности в оригинальной статье.

Подробности: http://www.java67.com/2015/06/org.Springframework.Web.Context.ContextLoaderListener.html

#en

@a_cup_of_java | Другие наши каналы
Отправка email в Java через Spring — быстрый гайд

По материалам Java67: показано, как настроить JavaMailSenderImpl как bean, сформировать MimeMessage (from/to/cc/bcc, тема, HTML) и отправить письмо. Описаны также вложения и отправка HTML-контента. Большой каталог IT‑тем и материалов

В статье на блоге Javarevisited собран обширный перечень тем и ресурсов: Java, Spring, Python, ML, DevOps, интервью и курсы. Подойдёт для обучения и подготовки к собеседованиям. Читайте оригинал на сайте. Архив блога Soma Sharma — публикации по годам и месяцам

В статье собран архив постов 2012–2025 с числом записей за месяцы, есть разделы Privacy и Popular Posts, форма подписки и указаны авторские права — удобно для поиска материалов на сайте.

Подробности: http://www.java67.com/2019/10/how-to-send-email-in-java-using-spring.html

#en

@a_cup_of_java | Другие наши каналы
Вот чем займусь, если перестану писать код

Открыть бизнес? Пойти за мечтой? Уйти на пенсию и жить на пассивный доход? Или работать руками? Что делать вне IT? Пофантазировали и собрали мнения разработчиков.


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

@a_cup_of_java | Другие наши каналы
Explyt 5.0 на Joker: поддержка Rider и новый тестовый агент

Всем привет! Рады представить новую версию Explyt 5.0 с поддержкой Rider 🚀 новым тестовым агентом, Web search & Web fetch и другими приятными улучшениями.
Агентский режим генерации тестов

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

@a_cup_of_java | Другие наши каналы
О зависимостях в объектах и переходе к Kotlin

В парадигме ООП объекты взаимодействуют друг с другом. Первоначальная идея такого взаимодействия, впервые появившаяся в языке Smalltalk, заключалась в том, что объект A отправлял сообщение объекту B. В языках, разработанных позднее, используется вызов методов. В обоих случаях возникает один и тот же вопрос: как объект ссылается на другие объекты, чтобы достичь желаемых результатов?

В этой статье я рассматриваю проблему передачи зависимостей объекту. Я рассмотрю несколько вариантов и проанализирую их преимущества и недостатки.


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

@a_cup_of_java | Другие наши каналы
11 топовых библиотек и фреймворков для Java в 2025 году

Топ библиотек и фреймворков Java 2025: Spring Boot, Hibernate, JUnit, Micronaut, Quarkus. Практические советы от Senior и Lead разработчиков.

Читать: «11 топовых библиотек и фреймворков для Java в 2025 году»

@a_cup_of_java | Другие наши каналы
👍2
Хакатоны: не пора ли их переизобрести?

Дорогие читатели, сегодня - статья о хакатонах. Нет - не о том, что их нужно проводить в поездах. Хотя, полюбуйтесь: сотрудники Авито не смогли найти другого места для хакатона, чем поезд дальнего следования. И забронировали для этого целый вагон! Одно слово - хипстеры!

Но эта статья - о том, как хакатоны можно изменить и переосмыслить. Нужно, конечно, оставить всё веселье. Также, нужно добавить свободы участникам: когда хакатоны проводят компании, они обычно делают это со своими конкретными целями. И третье - нужно сделать их более длительными. Я предлагаю хакатон длительностью где-то в спринт (2 недели), но так, чтобы время активной работы было по-прежнему около нескольких суток. Другими словами, нужен хакатон, доступный работающему и, возможно, семейному человеку. Возможно ли это? Нужно Ваше мнение.


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

@a_cup_of_java | Другие наши каналы
1
VibeCode. Как не назови все равно полетит

Plain Text vs XML or Markdown: на чём писать промпты для ИИ‑кодера?

Структура — это новый язык общения с ИИ. Особенно когда дело касается кода.
Есть миф: чтобы попросить ИИ написать код, достаточно набросать запрос в чат «как есть». Plain text, без правил. Сработает? Иногда. Будет эффективно? Редко.
Почему ИИ «понимает» структурированный промпт (с тегами, отступами, чёткими блоками) лучше, чем простой текст?


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

@a_cup_of_java | Другие наши каналы
Числовой тип данных с плавающей точкой float IEEE 754

Как устроен формат кодирования с плавающей точкой, что он из себя представляют и где может использоваться.


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

@a_cup_of_java | Другие наши каналы
Kafka для начинающих: откуда такой спрос и зачем нужна эта технология

Почему REST API не подходит для общения микросервисов?
Разбираем на примере интернет-магазина, как Kafka решает проблемы синхронной коммуникации, масштабирования и отказоустойчивости.

Простыми словами о топиках, партициях, consumer groups — для начинающих разработчиков.


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

@a_cup_of_java | Другие наши каналы
🔥2
@PropertySource в Spring: подключаем свойства просто

В статье объясняется, как аннотация @PropertySource добавляет PropertySource в Environment и позволяет через @Value и Environment читать application.properties (пример с DataConfig) и переопределять значения переменными окружения. Гид по Spring и Hibernate

Обзор подборки материалов: руководства, вопросы для собеседований, книги и курсы по Spring, Spring Boot, MVC и Hibernate, а также темы кэширования и сертификации. Поможет быстро подготовиться к собеседованию и выбрать полезные ресурсы. Большая подборка уроков и решений по Spring Boot
В статье собраны руководства и решения типичных задач: конфигурация, REST/JSON, CORS, безопасность, несколько источников данных, тестирование, новые фичи Spring Boot/6, отладка SQL, микросервисы и исправления частых ошибок.

Подробности: http://www.java67.com/2021/10/what-is-property-source-in-spring.html

#en

@a_cup_of_java | Другие наши каналы
Как отключить кэш браузера в Spring MVC (Cache-Control)
В статье показано, как с помощью WebContentInterceptor в Spring MVC выставлять заголовки Cache-Control/Expires, чтобы запретить кэширование динамических страниц (например страницы входа) и повысить безопасность приложения; приведён пример конфигурации. Полный справочник Java и Spring для подготовки к интервью
В статье собраны ключевые темы, туториалы и подборки курсов по Java, Spring, микросервисам и сопутствующим технологиям — полезно для обучения и подготовки к собеседованиям. Архив блога и контактная информация — Статья представляет страницу архива с перечислением записей по годам и месяцам, ссылками на политику конфиденциальности и условия, формой подписки и пометкой авторства Copyright by Soma Sharma 2021–2025. Полезно для поиска старых публикаций.

Подробности: http://www.java67.com/2017/07/how-to-prevent-browsers-from-caching-static-content-using-spring-framework-mvc.html

#en

@a_cup_of_java | Другие наши каналы
Топ-5 аннотаций Spring Cloud для Java‑микросервисов

На Java67 объясняют ключевые аннотации: @EnableConfigServer, @EnableEurekaServer, @EnableDiscoveryClient, @EnableCircuitBreaker и @HystrixCommand. Кратко о назначении, примерах и как они упрощают разработку облачных микросервисов на Spring. Навигатор по темам Java и Dev

В статье собран обширный индекс материалов на Javarevisited: Java, Spring и Spring Boot, микросервисы, базы данных, алгоритмы, инструменты и онлайн‑курсы. Полезно для поиска материалов и подготовки к интервью. Полный архив блога и подписка

На сайте собран подробный архив публикаций по годам и месяцам, есть ссылки на политику конфиденциальности и условия, форма подписки и заметка о копирайте Soma Sharma 2021–2025. Полезно для поиска старых материалов и навигации по контенту.

Подробности: http://www.java67.com/2018/12/top-5-spring-cloud-annotations-for-java.html

#en

@a_cup_of_java | Другие наши каналы
Что такое ContextLoaderListener в Spring MVC?
В статье объясняют роль ContextLoaderListener: он создаёт root ApplicationContext, загружает сервисные и DAO-бины, работает вместе с DispatcherServlet и может быть настроен через web.xml или Java Config (Servlet 3.0+). Подборка по Spring и Hibernate: курсы, туториалы и вопросы для собеседований
В статье собраны полезные курсы, туториалы и списки интервью‑вопросов по Spring, Spring MVC, Spring Boot и Hibernate — пригодится для подготовки к собеседованию и повышения практических навыков. Обзор: Spring Boot, микросервисы и курсы

Статья собирает практичные гайды, примеры, решения ошибок и подборки курсов по Spring, Spring Boot и микросервисам — полезно Java‑разработчикам, ищущим быстрые практические инструкции.

Подробности: http://www.java67.com/2019/05/contextloaderlistener-in-spring-mvc-10.html

#en

@a_cup_of_java | Другие наши каналы
Java 25: упрощённые исходники

Язык Java развивается. Не так давно вышла очередная версия, в которой, помимо всего прочего, вышло любопытное обновление языка (JEP-512).

Изменения, в язык внесенные, делают его более пригодным и удобным для обучения и написания коротких программ.

В этой статье хочу рассказать о том, как это сделано. Для этого заглянем в компилятор и немного коснемся теории создания языков.


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

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