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

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

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

Другие каналы: @tproger_channels
Download Telegram
Как скопировать дерево, но не точь-в-точь

На собеседованиях и литкоде любят вращать бинарные деревья. Но что насчёт трансформации обычного дерева в другое? Как решить эту задачу, и какие могут быть подходы? Рассмотрим на опыте трансляции одного синтаксического в другое, чтобы разобраться.


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

@a_cup_of_java | Другие наши каналы
Spring без боли: моя шпаргалка для собесов в Java. Часть 3

Всем привет!

Сейчас я работаю Senior Java Developer в одном из банков, и за последние годы мне довелось пройти множество собеседований, столкнуться с десятками непростых вопросов и вложить кучу времени в подготовку. И со временем я заметил одну закономерность: Spring — одна из самых объёмных и любимых тем на Java‑собеседованиях, причём спрашивают её у кандидатов любого уровня.

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


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

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

Данный пост является продолжением предыдущего поста, оно посвящено детальному разбору вещественного типа данных с плавающей точкой удвоенной точности double


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

@a_cup_of_java | Другие наши каналы
1
Нативный API Versioning в Spring 7: долгожданная официальная поддержка

Команда Spring АйО подготовила перевод статьи о том, как Spring Framework 7 приносит нативную поддержку API-версионирования — темы, которая годами оставалась на разработчиках и собирала тонны костылей. Теперь Spring Framework предлагает единый, продуманный механизм как для серверной, так и для клиентской стороны. Что это меняет для архитектуры и разработки на Spring — разберёмся в статье.


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

@a_cup_of_java | Другие наши каналы
Как IN (:ids) раздувал Hibernate Query Plan Cache до 100+ МБ и почему ANY(:ids) спас прод

При разборе продакшн heap dump я обнаружил странность: Hibernate Query Plan Cache занимал почти треть памяти. Обычный IN (:ids) внезапно генерировал тысячи SQL-планов и раздувал heap.

Почему так происходит и как полностью решить проблему с помощью ANY(:ids) — разбираю пошагово на реальном примере


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

@a_cup_of_java | Другие наши каналы
😁5
Мечтают ли ИИ-агенты об удобных IDE?

О программировании с помощью AI-агентов трубят из-за каждого угла. Последнее время появилось достаточно много инструментов, которые буквально пишут код за разработчика. Наша команда следит за индустрией ИИ в разработке достаточно давно. Помимо внедрения ИИ в сам процесс разработки наших продуктов, мы активно занимаемся интеграцией Amplicode с современными AI-агентами и не только. И у нас есть свои мысли на этот счет)


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

@a_cup_of_java | Другие наши каналы
1
Axiom JDK: криптография «из коробки» и подключение ГОСТ-провайдеров

Приглашаем на вебинар, на котором поговорим, как защитить сборки, избежать зависимостей от внешних репозиториев и повысить надёжность.

Вебинар бесплатный, нужно только зарегистрироваться.


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

@a_cup_of_java | Другие наши каналы
CookBook maven plugin. CDI, отладка и тестирование

CookBook maven plugin. CDI, отладка и тестирование. Цель статьи - рассказать об опыте разработки плагина.


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

@a_cup_of_java | Другие наши каналы
БД без боли: моя шпаргалка для собесов в Java. Часть 3

Всем привет!
Я Senior Java Developer в банке, и за эти годы мне довелось пройти немало собеседований. Где-то было спокойно, где-то — как в допросной, с каверзными вопросами, странными задачами и вечным «а почему так, а не иначе?». В процессе я собрал целую коллекцию тем, которые всплывают снова и снова, особенно когда дело касается баз данных.

Сегодня хочу поделиться этим опытом и разобрать вопросы, которые чаще всего задают именно по SQL-базам.


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

@a_cup_of_java | Другие наши каналы
Spring 7 и Spring Boot 4: API‑версионирование, JSpecify и резильенс

По данным InfoQ, релизы вводят встроенное REST API‑версионирование, JSpecify‑аннотации для null‑безопасности, механизмы устойчивости (retry, concurrency limit), миграцию на Jackson 3 и модульную автонастройку. Читайте статью.

Подробности: https://www.infoq.com/news/2025/11/spring-7-spring-boot-4/

#en

@a_cup_of_java | Другие наши каналы
3👍1
Упрощаем работу с микросервисами при помощи API Gateway на Java

Микросервисы легко разрастаются до зоопарка эндпоинтов, где каждый сервис живёт по своим правилам, а клиенту приходится знать обо всех. В статье разберем, как API Gateway превращает этот хаос в единую точку входа: берёт на себя маршрутизацию, аутентификацию, агрегацию запросов и наблюдаемость. На простом примере с Spring Cloud Gateway рассмотрим, как собрать такой слой поверх Java-сервисов и упростить жизнь и разработчикам, и внешним потребителям API.
Разобраться с Gateway

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

@a_cup_of_java | Другие наши каналы
Вышла GigaIDE 2025.1: подключаем свой маркетплейс плагинов

На днях вышла новая версия GigaIDE Community Edition. Долгожданное обновление, которое помимо обновления базовой платформы до IntelliJ 2025.1 и мультиагентной системы на базе GigaCode, имеет собственный маркетплейс плагинов. Особенно стоит отметить, что команда GigaIDE пошла по пути максимальной открытости и добавила возможность переключаться между различными маркетплейсами прямо в интерфейсе GigaIDE.


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

@a_cup_of_java | Другие наши каналы
Kafka без боли: моя шпаргалка для собесов в Java. Часть 5

Всем привет!

Я работаю Senior Java Developer в одном из банков, и за последние годы мне довелось пройти не один десяток собеседований, выслушать массу неожиданных вопросов и потратить немало времени на подготовку. И вот что я понял: Kafka - одна из самых любимых и в то же время самых коварных тем на технических интервью. Независимо от уровня кандидата, вопросы по Kafka появляются почти всегда - от базовой архитектуры до тонкостей гарантий доставки и работы consumer groups.

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


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

@a_cup_of_java | Другие наши каналы
🔥2❤‍🔥1
Spring Boot 4. Новые модули. Зачем?

Это довольно короткая статья, целью которой является пояснение того, что вообще такое "модуляризация" Spring Boot, почему она появилась и откуда, собственно, ноги растут.

Для многих Spring Boot это просто автоконфигурация. Само собой Spring Boot гораздо шире и включает в себя в том числе ещё и

Spring Boot Actuator

Spring Boot DevTools

Spring Boot Tools и т.д.


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

@a_cup_of_java | Другие наши каналы
❤‍🔥2
Как я проходил собеседование на Senior Java

Всем привет!

Сейчас я работаю Senior Java Developer в банке, и за последние годы мне довелось пройти немало собеседований — разных по уровню, стилю и степени «жесткости». Сегодня я хочу рассказать об одном из них и поделиться опытом, который может быть полезен тем, кто тоже готовится к новым вызовам.


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

@a_cup_of_java | Другие наши каналы
5
Расширяем функционал Apache NiFi 2.0: руководство к написанию своего процессора

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

Apache NiFi — программный продукт с открытым исходным кодом, написанный на языке Java, предназначенный для автоматизации потоков данных между системами. Главная его задача: организовывать ETL-процессы. На GitHub у Apache NiFi имеется 5.9 тысяч звезд.

Эта статья посвящена написанию процессора для Apache NiFi на Java и требует базовых знаний в области Apache NiFi, опыт программирования на Java и IDE на борту компьютера.


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

@a_cup_of_java | Другие наши каналы
1
Не пишите хрупкие unit-тесты — фокус на поведении, не на реализации

Кратко: статья объясняет, почему тесты ломаются при рефакторинге и как писать поведенческие тесты — проверять контракт (вход/выход), избегать избыточного мокирования. Описано, как AI‑ревьюер CodeRabbit помогает улучшить качество тестов. Обзор тем блога Javarevisited. В статье собран исчерпывающий список меток и тем: Java и Spring, Spring Boot, микросервисы, SQL, Python, ML, DevOps, веб и мобильная разработка, тестирование и подготовка к собеседованиям. Полезно для планирования обучения. Архив блога и полезные ссылки

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

Подробности: http://www.java67.com/2025/11/dont-write-brittle-unit-tests-focus-on.html

#en

@a_cup_of_java | Другие наши каналы
Обновление Spring: массовые GA-релизы — InfoQ сообщает о выходе Spring Boot 4.0, Security 7, Spring for GraphQL 2 и ряда модулей (Integration, Modulith, Batch, AMQP, Kafka, Web Services, Vault). Добавлены поддержка JSpecify и Jackson 3, багфиксы и новые API. Подробнее на InfoQ.

Подробности: https://www.infoq.com/news/2025/11/spring-news-roundup-nov17-2025/

#en

@a_cup_of_java | Другие наши каналы
Статический анализ OpenIDE

Если хотите посмотреть, что нашёл статический анализатор PVS-Studio в исходном коде Intellij платформы, используемой OpenIDE, то добро пожаловать в статью.


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

@a_cup_of_java | Другие наши каналы
Безопасность маленьких проектов

Привет, Хабр! Я заметила, что в стартап-культуре и среди небольших команд бытует миф: «Мы слишком малы, чтобы нас атаковали». Я считаю, что сейчас это одно из опаснейших заблуждений, поэтому и решила написать статью, чтобы поделиться своими мыслями и некоторыми знаниями на эту тему.


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

@a_cup_of_java | Другие наши каналы
1
Мой Maven plugin для IDEA. Часть 3. Заключительная. Easy Maven — запуск тестов, приложения и отладка

Всем привет. Ранее я уже публиковал статьи (раз и два), где рассказывал о проблемах IDEA Maven плагина, основная из которых - это импорт проектов. И о своем решении Easy Maven, как получить информацию о проекте с помощью нативного Maven плагина. Теперь я бы хотел поговорить о запуске и отладке проектов в IDEA. С ними на самом деле похожая проблема. Чтобы это все работало, нужно импортировать в IDEA все настройки компилятора из билд файлов, чтобы среда разработки могла сама компилировать и запускать проект. Но это не так то просто - постоянно появляются новые параметры и возможности компиляторов, также для каждого из JVM языка (Java, Kotlin, Groovy, Scala и т.д.) есть свой компилятор со своими особенностями, annotation processors - которые надо дополнительно распознавать и загружать как jar-файлы с их транзитивными зависимостями и импортировать в IDEA. Постоянно нужно за всем этим следить и нам опять приходить играть в догонялки. Только мы всегда находимся на шаг позади в роли отстающих и нужно тратить много ресурсов, чтобы заставить запускаться проект корректно из IDEA. Поэтому я решил и тут пойти другим путем - а зачем нам вообще все это делать и переносить настройки в IDEA, если мы можно просто выполнить Maven таск для соответствующего плагина - запуск теста или приложения? Поэтому я хотел бы остановиться на этом поподробнее и рассказать о своем решении.


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

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