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

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

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

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

Безопасные методы работы с массивами в JavaScript: toSorted(), toReversed() и toSpliced() вместо мутирующих sort(), reverse() и splice(). Примеры использования в React, сравнение методов и поддержка браузерами. Как писать чистый код без побочных эффектов.

Читать: «Безопасные методы работы с массивами в JavaScript»

@a_cup_of_java | Другие наши каналы
Участвуй в VTB API hackathon 2025 с призовым фондом 2 млн ₽

VTB API hackathon — специализированный хакатон по открытым API с 5-летней историей. Решай реальные задачи и создавай продукты для открытого банкинга!

🔵 27 октября – 22 ноября

🔵 Онлайн и офлайн

🔵 Крутой кейс в портфолио

🔵 14 дней на решение задачи

🔵 Поддержка экспертов ВТБ

Ждём тех, кто на «ты» с открытыми API.

- Студентов и выпускников технических вузов
- Backend/Frontend-разработчиков
- Аналитиков, QA, AQA и SDET
- Product/Project-менеджеров
- Системных архитекторов
- Специалистов по ИБ

Выбери свой трек из 3 актуальных задач по открытым API.

🔹Мультибанк: единый интерфейс финансового сервиса. Реализуй мультибанковское приложение для клиентов, используя Открытые API.

🔹Защита API: автоматический анализ уязвимостей. Собери инструмент, который за один клик проверит безопасность API и спасет тысячи сервисов от внешних угроз.

🔹«Оркестр» из API: анализ и тестирование бизнес-процессов. Разработай единый ИИ-инструмент для анализа и тестирования бизнес-процессов с применением нескольких API.

Прими участие в составе команды от 2 до 5 человек или индивидуально.

💙 Пройди регистрацию до 2 ноября, 23:59 МСК по ссылке.
Поддержка HTTP/3 в Java: что нового в JDK 26 и как это использовать

В JDK 26 появилась долгожданная поддержка HTTP/3 в стандартном классе HttpClient. Хотя само API почти не изменилось, теперь можно явно указывать предпочтение использования HTTP/3 как на уровне клиента, так и на уровне запроса.

В новом переводе от команды Spring АйО подробно описывается, как работает выбор версии HTTP, что такое Http3DiscoveryMode, как принудительно использовать HTTP/3 и как HttpClient "обучается" на основе заголовков alt-svc.


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

@a_cup_of_java | Другие наши каналы
❤‍🔥2
Ускоряем сборку с помощью Gradle Build Services

На одном из проектов, над которым я работаю, я столкнулся с постоянно растущим временем сборки проекта на CI. Оказалось, что причина была в интеграционных тестах работы с БД в модулях с использованием Testcontainers. Каждый модуль запускал свой контейнер и в придачу применял на них миграции Liquibase.

В данной статье я хочу рассмотреть способ решения этой проблемы с помощью Gradle Build Services — механизма для разделения состояния между задачами. Цель - использовать только один контейнер PostgreSQL на всю сборку, и настроить все тестовые задачи на его использование.


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

@a_cup_of_java | Другие наши каналы
Circuit Breaker в микросервисах — что это и как реализовать
По материалам Java67: паттерн защищает систему от каскадных ошибок, описаны состояния Closed/Open/Half-Open, преимущества и пример реализации на Netflix Hystrix с настройкой порогов и fallback. Каталог тем для Java‑разработчика — Javarevisited

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

В статье собраны практические руководства и решения: от обработки ошибок и тестирования до новых фич Spring 6, микросервисов, загрузки файлов и интеграции с Vue.js. Полезно для Java‑разработчиков, ищущих готовые примеры и исправления.

Подробности: http://www.java67.com/2023/04/what-is-circuit-breaker-design-pattern.html

#en

@a_cup_of_java | Другие наши каналы
Что такое Backend for Front-End (BFF) в микросервисах?

В статье на Java67 объясняется паттерн BFF: выделение специализированных бэкендов для конкретных фронтов, агрегация и трансформация данных, преимущества в производительности и безопасности, а также практические советы по внедрению и ограничения. Полный каталог тем: Java, Spring и IT
На блоге JavaRevisited — огромный каталог тегов и ресурсов: Java, Spring, Spring Boot, микросервисы, базы данных, DevOps, ML и др. Полезно для подготовки к интервью и быстрого поиска материалов по нужной теме. Архив блога Soma Sharma — посты по годам и месяцам. Страница отображает количество публикаций с 2012 по 2025 годы, содержит ссылки на политику конфиденциальности, условия, раздел популярных записей, форму подписки и указание авторства.

Подробности: http://www.java67.com/2023/07/what-is-backend-for-front-end-pattern.html

#en

@a_cup_of_java | Другие наши каналы
18 возможностей Spring Cloud для Java‑микросервисов

На Java67 описаны ключевые функции Spring Cloud: сервисная регистрация, балансировка, circuit breaker, централизованная конфигурация, API‑шлюз, трассировка, безопасность и мониторинг для построения масштабируемых и отказоустойчивых сервисов. Большой справочник для Java‑разработчика

Подборка тем и статей на блоге Javarevisited: Java, Spring, микросервисы, алгоритмы, DevOps, облака и машинное обучение. Руководства, примеры кода и материалы для подготовки к собеседованиям — полезно для прокачки навыков. Подборка: Spring Boot и Java — практические гайды

В статье собраны решения и уроки: Spring Boot с Vue, микросервисы, новинки Spring 6, отладка SQL и проблемы с embedded DB, Mockito и WebClient. Полезная подборка для Java‑разработчиков.

Подробности: http://www.java67.com/2023/04/spring-cloud-features-for-microservices.html

#en

@a_cup_of_java | Другие наши каналы
Ошибка "Error starting ApplicationContext" в Spring — как найти и исправить
В статье Java67 объясняют типичные причины (конфликты зависимостей, ошибки конфигурации и бинов, проблемы с БД и classpath) и предлагают практические шаги: смотреть логи и debug, чистить сборку, обновлять зависимости и обращаться в сообщество. Обзор: полный справочник по Java и Spring

На сайте Javarevisited собрана огромная подборка материалов: туториалы, экзамены, интервью и советы по Java, Spring Boot, микросервисам, SQL, Kubernetes и другим технологиям — удобно для подготовки к собеседованиям и прокачки навыков. Архив и навигация блога: На странице представлен хронологический архив записей по годам и месяцам, ссылки на политику конфиденциальности и условия, раздел популярных постов и форма подписки. Указан копирайт Soma Sharma (2021–2025).

Подробности: http://www.java67.com/2023/08/how-to-solve-error-starting-application.html

#en

@a_cup_of_java | Другие наши каналы
Экспорт приватных типов в Go: почему это антипаттерн

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

Читать: «Экспорт приватных типов в Go: почему это антипаттерн»

@a_cup_of_java | Другие наши каналы
👎3
Оркестрация на BPMN: взгляд изнутри

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

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


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

@a_cup_of_java | Другие наши каналы
Apple выпустила Swift SDK для написания Android-приложений — спустя 11 лет после релиза языка

Apple выпустила Swift SDK для Android — теперь на Swift можно писать нативные Android-приложения и переносить код между платформами

Читать: «Apple выпустила Swift SDK для написания Android-приложений — спустя 11 лет после релиза языка»

@a_cup_of_java | Другие наши каналы
71
RAG: как объединить генеративные модели и бизнес-данные

В статье Маттео Росси показано, как на базе Spring Boot, Spring AI, MongoDB Atlas и OpenAI построить гибкий pipeline для точных контекстных ответов и прикладных решений в финансах, здравоохранении и поддержке клиентов.

Подробности: https://www.infoq.com/articles/rag-with-spring-mongo-open-ai/

#en

@a_cup_of_java | Другие наши каналы
1
Обзор Spring: RC для Boot, Security, GraphQL и других

По материалам InfoQ: вышли первые релиз-кандидаты множества модулей Spring — Boot 4.0, Security 7.0, GraphQL 2.0, Integration, Modulith, Batch, AMQP, Kafka, Pulsar и др. Коротко о фичах, апгрейдах зависимостей и важных исправлениях.

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

#en

@a_cup_of_java | Другие наши каналы
1
JEP 401: Value классы и объекты

Команда проекта Valhalla выпустила early-access сборку JDK с полной реализацией JEP 401 — value-классы и объекты теперь можно попробовать в действии! В новом переводе от команды Spring АйО — примеры использования, объяснение концепции, сравнение производительности с обычными объектами и практические советы для разработчиков.


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

@a_cup_of_java | Другие наши каналы
🔥1
BDD: Как заставить тесты говорить на одном языке с бизнесом (и перестать платить за недопонимание)

Привет! Меня зовут Анатолий, я ведущий разработчик в ITFB Group, и сегодня я хочу рассказать о том, как можно превратить скучные тесты в главного специалиста по продукту.

Знакомо: ваши JUnit-тесты проходят, CI/CD зелёный, все довольны. Но тут приходит бизнес-аналитик и спрашивает: "А этот сценарий проверяет, что будет, если клиент с рейтингом 700 запросит 10 миллионов?"

Вы начинаете лихорадочно копаться в коде, пытаясь найти тот самый @Test... А что если бы ответ на этот вопрос лежал не в глубинах Java-кода, а в красивом, читаемом файле, который понятен всем — от тимлида до заказчика?


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

@a_cup_of_java | Другие наши каналы
Java: недельный обзор — CPU Oracle, Grails 7, Micronaut, Hazelcast, LangChain4j
По InfoQ: выпущен октябрьский Critical Patch Update, BellSoft обновил Liberica JDK; GA Grails 7.0, Micronaut 4.10, Hazelcast 5.6, LangChain4j 1.8 и бета Open Liberty. Читайте статью InfoQ.

Подробности: https://www.infoq.com/news/2025/10/java-news-roundup-oct20-2025/

#en

@a_cup_of_java | Другие наши каналы
Что еще могёт курсор

Началось все весьма прозаично, клиент позвонить к нам в техподдержку и спросил «а как бы мне поставить ваш софт но в другую схему БД». Собственно вопрос проще некуда — мы писали на спринге, а значит лезем в application.yml и ставим схему. Но, клиент не из тупых и уже это попробовал — не сработало.

Начинаем разбираться что сломалось и кто виноват. Первым делом ДевОпс повторяет кульбиты клиента и выдает простой вердикт: «В 151 миграции лажа». Я открываю и: «батюшки родный, да это же лосенок явное указание схемы!»


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

@a_cup_of_java | Другие наши каналы
От REST к gRPC и GraphQL: современный подход к API

В статье сравним REST, gRPC и GraphQL с точки зрения производительности, гибкости и архитектуры микросервисов. Покажем, как объединить GraphQL и gRPC для фронтенда и бэкенда, чтобы получить мощный API без лишнего трафика и задержек.


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

@a_cup_of_java | Другие наши каналы
Ошибки, которые инженеры совершают при код-ревью

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

В новом переводе от команды Spring АйО эксперты сообщества подробно и на собственном опыте рассказали про нюансы код-ревью.


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

@a_cup_of_java | Другие наши каналы
Шаблоны и принципы деления кода на классы

За 9 лет разработки ПО  я периодически выступал в  роли ментора и сталкивался с проблемой, которую недавно озвучил начинающий программист после онлайн-курсов:

«Не понимаю, как делить код на классы».

Оказалось, на курсах учили языку, но не программированию. А ведь язык — лишь инструмент, и принципы проектирования кода универсальны для разных языков программирования.

Я показал студенту несколько готовых шаблонов классов, чтобы он мог сразу применить, и хотел дать методичку по теории, но под рукой не оказалось ни заметок, ни статей, ни книг. Поиск в интернете и запросы к ИИ выдавали только материалы по ООП и принципам SOLID, которые мало касались нужной темы. Выходило так, что вся нужная для такой методички информация, лежит у меня в голове.

Так и родилась идея написать эту статью.


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

@a_cup_of_java | Другие наши каналы
Final должен быть значением по умолчанию для Java-классов

А что, если вам сказали бы, что класс без final — это ошибка проектирования? Что возможность наследования должна быть исключением, а не правилом? В новом переводе от команды Spring АйО автор предлагает радикальную идею: все классы должны быть final по умолчанию.

⚠️ Статья была написана ещё до появления Kotlin`а. Цель перевода данной статьи – поднять запылившийся на полке вопрос в дизайне API: "Нужно ли оставлять API открытым по-умолчанию для внешнего расширения?"


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

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