en
Feedback

Don't get caught by a cheater! Telemetrio finds and tags such channels 👉 If you want to see the tag, subscribe

Чашечка Java

Чашечка Java

Open in Telegram

Лучшие материалы по Java на русском и английском Разместить рекламу: @tproger_sales_bot Правила общения: https://tprg.ru/rules Другие каналы: @tproger_channels

Show more
8 306
Subscribers
-124 hours
-237 days
-6630 days
Posts Archive
Как настроить ежедневное разделение логов в Java с Log4j Статья подробно объясняет, как с помощью класса DailyRollingFileAppe
Как настроить ежедневное разделение логов в Java с Log4j Статья подробно объясняет, как с помощью класса DailyRollingFileAppender настроить автоматическое создание новых лог-файлов каждый день. Это помогает контролировать размер логов и облегчает анализ ошибок в приложениях на Java. Обширный список тем для IT-специалистов и разработчиков Пост: В статье представлен большой набор ключевых тем из IT и программирования — от Java, Spring и Kubernetes до машинного обучения, веб-разработки и инструментов для интервью. Полезный ресурс для подготовки и саморазвития. Архивы и важные данные сайта Soma Sharma В статье представлен обзор архивов публикаций с 2012 по 2018 годы, а также сведения о политике конфиденциальности и условиях использования сайта Soma Sharma. Информация поможет лучше понять структуру и историю ресурса. Подробности: http://www.java67.com/2020/01/how-to-configure-daily-file-rolling-in-log4j-java.html #en @a_cup_of_java | Другие наши каналы

Обработка исключений в рабочих процессах с использованием Flowable Исключения являются частью любого процесса. Разработчики, создающие бизнес-процессы, должны уметь обрабатывать исключения в бизнес-кейсе, чтобы гарантировать, что сам процесс устойчив и может продолжаться после возникновения сбоев. Логика обработки исключений различается в зависимости от вашей задачи и инструментов, которые у вас есть в распоряжении. В этой заметке я попытался определить различные методы обработки исключений, используя язык паттернов. Каждый паттерн следует определённой структуре, называемой Контекст (общая ситуация, в которой проблема повторяется), Проблема (формулировка), Условия (условия, при которых можно рекомендовать предложенные решения) и Решение. Итак, давайте приступим. Читать: https://habr.com/ru/articles/920232/?utm_campaign=920232 @a_cup_of_java | Другие наши каналы

15 основ проектирования систем + полезные материалы Балансировщик нагрузки (Load Balancer) — Распределяет входящий трафик меж
15 основ проектирования систем + полезные материалы
Балансировщик нагрузки (Load Balancer) — Распределяет входящий трафик между несколькими серверами, чтобы ни один из них не был перегружен. Повышает отказоустойчивость, доступность и уменьшает время отклика. API Gateway — Единая точка входа для всех клиентских запросов в микросервисной архитектуре. Обеспечивает маршрутизацию, аутентификацию, лимиты по частоте, агрегацию запросов. DNS (Domain Name System) — Преобразует человеко-читаемые доменные имена в IP-адреса, необходимые для маршрутизации трафика. Кэш (Cache) — Хранит часто используемые данные в оперативной памяти для ускорения доступа и уменьшения нагрузки на базу данных. CDN (Content Delivery Network) — Доставляет статический контент (картинки, CSS, JavaScript и пр.) с серверов, расположенных ближе к пользователям. Снижает задержки и расход полосы пропускания, особенно при работе по всему миру. База данных (Database) — Основное хранилище данных. Может быть SQL или NoSQL, поддерживает структурированные запросы, индексацию, транзакции и долговечность данных. API — Определяет, как сервисы обмениваются данными (обычно через HTTP или gRPC). Обеспечивает модульность и чистое разделение ответственности. Микросервисы (Microservices) — Делят монолитное приложение на независимые сервисы. Повышают гибкость, позволяют лучше изолировать ошибки и масштабировать отдельные компоненты. Ограничение частоты запросов (Rate Limiter) — Контролирует максимальное количество запросов, которые может сделать пользователь или сервис за определённый промежуток времени. Защищает API от злоупотреблений и обеспечивает справедливое распределение ресурсов. Объектное хранилище (Object Storage) — Сохраняет большие блобы (файлы, видео, резервные копии) с высокой доступностью и долговечностью. Примеры — AWS S3, Google Cloud Storage. Очередь сообщений (Message Queue) — Позволяет сервисам асинхронно обмениваться сообщениями через очередь (например, Kafka, RabbitMQ). Помогает "развязать" системы и справляться с пиковыми нагрузками. Шардирование (Sharding) — Разделяет большие объёмы данных на части по разным базам или таблицам. Способствует масштабированию и ускоряет выполнение запросов. Репликация (Replication) — Копирует данные с одного узла БД на другие. Повышает отказоустойчивость и ускоряет выполнение запросов на чтение. Последовательное хеширование — Техника распределения данных по узлам так, чтобы при увеличении или уменьшении числа узлов происходило минимальное перераспределение данных. Используется в распределенных кэширующих и хранилищах. Мониторинг (Monitoring System) — Следит за состоянием системы, собирает логи/метрики, оповещает об авариях и отклонениях. Критически важен для контроля, отладки и поддержания работоспособности.
Сохраняем и не забываем, что у вас есть такое золото 😅

Генерация случайных строк в Java с SecureRandom В статье рассказывается, как с помощью класса SecureRandom создавать случайны
Генерация случайных строк в Java с SecureRandom В статье рассказывается, как с помощью класса SecureRandom создавать случайные алфавитные и буквенно-цифровые строки заданной длины. Этот способ безопаснее стандартного java.util.Random и подходит для ключей и идентификаторов. Топовые темы IT и программирования в одном месте. В статье собраны материалы по сертификациям AWS и Azure, backend-разработке, Java, облачным технологиям, data science, DevOps и многому другому — всё для развития навыков и карьерного роста. Архивы публикаций: динамика по годам и месяцам В статье представлен обзор количества публикаций по месяцам и годам с 2012 по 2021 год. Отмечается рост активности блога в последние годы и разнообразие тем, отражённых в архивах. Это помогает проследить развитие контента со временем. Подробности: http://www.java67.com/2018/01/how-to-create-random-alphabetic-or-alphanumeric-string-java.html #en @a_cup_of_java | Другие наши каналы

Как сортировать объекты в Java: разбор Comparable и Comparator В статье рассказывается, как правильно упорядочить объекты в J
Как сортировать объекты в Java: разбор Comparable и Comparator В статье рассказывается, как правильно упорядочить объекты в Java с помощью интерфейсов Comparable и Comparator. Приведены примеры сортировки по разным критериям и объяснены важные нюансы реализации. Полезно для тех, кто изучает Java. Подробности: http://www.java67.com/2012/10/how-to-sort-object-in-java-comparator-comparable-example.html #en @a_cup_of_java | Другие наши каналы

Разница между int и Integer в Java В Java int — примитивный тип данных, а Integer — его оболочка (wrapper-класс). Автоупаковк
Разница между int и Integer в Java В Java int — примитивный тип данных, а Integer — его оболочка (wrapper-класс). Автоупаковка скрывает различия, но Integer может быть null, что приводит к NullPointerException. Знание этой разницы важно для эффективной разработки и избегания ошибок. Топовые технологии и навыки для программистов в 2024 году В статье собраны ключевые инструменты и темы, важные для развития IT-специалистов: от Next.js и Python до Spring Framework и NLP. Обзор поможет ориентироваться в современных трендах и подготовиться к собеседованиям. Подробности: http://www.java67.com/2018/02/what-is-difference-between-int-and-integer-in-Java.html #en @a_cup_of_java | Другие наши каналы

Spring Data JPA и Hibernate: ориентируемся на производительность. Часть 3 Команда Spring АйО перевела и адаптировала доклад Мацея Валковяка “Performance oriented Spring Data JPA & Hibernate”, в котором на наглядных примерах рассказывается, как существенно нарастить производительность приложения, оптимизировав его взаимодействие с БД. Доклад будет опубликован тремя частями. В первой части было рассказано об оптимизации управления соединениями с базой данных. Во второй части мы посмотрели на то, как оптимизировать код и настройки Spring Data и Hibernate, чтобы минимизировать количество отправляемых в базу данных SQL запросов. Третья часть посвящена обзору инструментов, которые могут помочь разработчику правильно организовать работу по регулярной оптимизации производительности приложений, в том числе при работе командой. Читать: https://habr.com/ru/companies/spring_aio/articles/923872/?utm_campaign=923872 @a_cup_of_java | Другие наши каналы

Тест-кейсы на автопилоте: как Spring AI и Atlassian MCP упрощают жизнь тестировщика Тест-кейсы перестанут быть твоей головной болью и болью твоей команды. Нужно просто перестать их писать. Путь от спецификации до коллекции в тест-менеджере может быть пройден за минуту. Достаточно принимать по одной чайной ложке... Или попытаться воспроизвести цепочку задач с помощью AI: модель легким движением промпта превращается в QA, нарезает спеку на чанки, отдавая тебе список из структурированных данных, которые ты шлешь далее в свой тест-менеджер. Пишу о своих изысканиях в области автоматизации рутинных процессов с помощью Spring AI, Atlassian MCP, Qdrant, OpenAI, Allure TestOps. Читать: https://habr.com/ru/articles/923806/?utm_campaign=923806 @a_cup_of_java | Другие наши каналы

Spring AI: Model Context Protocol Model Context Protocol (MCP) — это унифицированный протокол взаимодействия между большими языковыми моделями (LLM) и внешними источниками данных и инструментами. Spring AI предоставляет очень простой декларативный подход для добавления любых инструментов в контекст LLM с помощью MCP. Мы рассмотрим несколько простых примеров по созданию MCP-клиента и MCP-сервера. Читать: https://habr.com/ru/articles/923638/?utm_campaign=923638 @a_cup_of_java | Другие наши каналы

Логирование в конвейере дебетовых карт: как мы сделали его удобным для себя Статья о том, как мы улучшали логи внедрением сквозных идентификаторов и не только. Делали это для того, чтобы упростить и ускорить разбор возникающих ошибок. Это в разы сократило время разбора. Статья может быть полезна backend-разработчикам, лидам, тестировщикам, аналитикам, которые проектируют и разрабатывают сложные системы. Код написан на java и соседних технологиях, но подходы, я уверен, универсальны. Они упростят жизнь при разборе ошибок на проде и на тестовых стендах. Читать: https://habr.com/ru/companies/otpbank/articles/923584/?utm_campaign=923584 @a_cup_of_java | Другие наши каналы

Jakarta EE 11 официально выпущена с новой спецификацией Jakarta Data, 16 обновлёнными спецификациям и модернизированным тесто
Jakarta EE 11 официально выпущена с новой спецификацией Jakarta Data, 16 обновлёнными спецификациям и модернизированным тестовым комплектом. Обновление улучшает совместимость и упрощает разработку корпоративных Java-приложений, поддерживая современные технологии и стандарты. Подробности: https://www.infoq.com/news/2025/07/jakarta-ee-11-updates/ #en @a_cup_of_java | Другие наши каналы

Можно ли создать экземпляр абстрактного класса в Java? В Java нельзя создать объект абстрактного класса — это вызовет ошибку
Можно ли создать экземпляр абстрактного класса в Java? В Java нельзя создать объект абстрактного класса — это вызовет ошибку компиляции. Хотя абстрактный класс может иметь конструктор, он вызывается только через подкласс. Такой вопрос часто встречается на собеседованиях и экзаменах по Java. Обзор популярных тем для подготовки к интервью в IT: от Java и Spring до машинного обучения и Kubernetes. Статья помогает систематизировать знания и выбрать ключевые направления для успешного прохождения собеседований в 2024 году. Статистика публикаций за годы показывает динамику активности на блоге с 2012 по 2024 год. Наиболее насыщенными были 2023 и 2024 годы с максимальным количеством постов в январе и сентябре. Такой анализ поможет понять тенденции развития контента. Подробности: http://www.java67.com/2018/01/is-it-possible-to-instantiate-abstract-class-in-java.html #en @a_cup_of_java | Другие наши каналы

Как преобразовать String в Enum в Java? В статье объясняется использование метода valueOf, который позволяет получить констан
Как преобразовать String в Enum в Java? В статье объясняется использование метода valueOf, который позволяет получить константу enum по строковому значению. Метод чувствителен к регистру и выбросит исключение при неверном вводе. Пример с enum TrafficSignal иллюстрирует работу valueOf на практике. Подборка ключевых тем для IT-профессионалов: от Java, Spring и Kubernetes до машинного обучения, Google Cloud и микросервисов. В статье собраны материалы и интервью-вопросы, которые помогут подготовиться к собеседованиям и углубить технические знания. Решение задачи Two Sum на Java: простой пример В статье подробно разбирается, как решить классическую задачу Two Sum с помощью Java. Показан подход к поиску двух чисел в массиве, сумма которых равна заданному значению. Полезно для практики алгоритмов и тренировки навыков программирования. Подробности: http://www.java67.com/2012/10/java-enum-valueof-example-how-to-use.html #en @a_cup_of_java | Другие наши каналы

Полное руководство по пакетам в Java: что, зачем и как. В статье раскрывают роль пакетов в организации кода, их создание, луч
Полное руководство по пакетам в Java: что, зачем и как. В статье раскрывают роль пакетов в организации кода, их создание, лучшие практики именования и использования, а также объясняют новый static import для удобной работы с методами. Полезно для любого разработчика. Подробности: http://www.java67.com/2018/06/a-beginners-guide-to-package-in-java.html #en @a_cup_of_java | Другие наши каналы

Архитектура BFF (Backend for Frontend): зачем нужна прослойка Что такое архитектура BFF. Показываем, зачем нужна прослойка Ba
Архитектура BFF (Backend for Frontend): зачем нужна прослойка Что такое архитектура BFF. Показываем, зачем нужна прослойка Backend for Frontend. Рассматриваем преимущества и основные нюансы ✔ Tproger Читать: «Архитектура BFF (Backend for Frontend): зачем нужна прослойка» @a_cup_of_java | Другие наши каналы

Jakarta EE 11 выпущен, появилось Agent2Agent Java SDK от Red Hat и Google, вышел Kotlin 2.2.0. Beta WildFly 37 и релиз-кандид
Jakarta EE 11 выпущен, появилось Agent2Agent Java SDK от Red Hat и Google, вышел Kotlin 2.2.0. Beta WildFly 37 и релиз-кандидаты JobRunr 8.0 и Maven 4.0 предлагают новые функции и улучшения. Обновления развивают экосистему Java и инструменты для разработчиков. Подробности: https://www.infoq.com/news/2025/06/java-news-roundup-jun23-2025/ #en @a_cup_of_java | Другие наши каналы

Лучшие практики реализации equals() и hashCode() на примере JPA сущности Всем привет! Рано или поздно при работе с объектами и хэш-коллекциями мы сталкиваемся с вопросами: «Где моя сущность?» или «Почему они не равны?». В контексте работы с важными данными эти вопросы становится еще более актуальными. А самое что страшное, что нет единого ответа на вопрос: «А как сделать мне в моём проекте?». Читать: https://habr.com/ru/articles/923186/?utm_campaign=923186 @a_cup_of_java | Другие наши каналы

n8n: установка, настройка и интеграция с Python, Node.JS и PHP Подробный туториал по установке и настройки n8n. Примеры интег
n8n: установка, настройка и интеграция с Python, Node.JS и PHP Подробный туториал по установке и настройки n8n. Примеры интеграции с Python, Node.JS и PHP и взаимодействия с LLM Mistral AI. Читать: «n8n: установка, настройка и интеграция с Python, Node.JS и PHP» @a_cup_of_java | Другие наши каналы

Не одним Python едины: Spring AI в разработке MCP‑сервера BitDive Многие внутри BitDive привыкли к Python: для анализа данных, прототипирования агентов и построения CI/CD‑утилит этот язык незаменим. Но когда нам потребовался единый масштабируемый MCP‑сервер (Message Control Plane) для обработки и маршрутизации телеметрии в реальном времени, мы решили попробовать нечто более декларативное и «из коробки» готовое к бою. Наш выбор — Spring Boot вместе с новым модулем Spring AI, который позволяет легко описывать инструменты (Tools) и управлять ими через единый SSE‑интерфейс. Читать: https://habr.com/ru/articles/923056/?utm_campaign=923056 @a_cup_of_java | Другие наши каналы

ArrayList или Vector в Java: в чём разница? Vector — устаревший класс с синхронизацией, обеспечивающей потокобезопасность, но
ArrayList или Vector в Java: в чём разница? Vector — устаревший класс с синхронизацией, обеспечивающей потокобезопасность, но работает медленнее. ArrayList быстрее и предпочтительнее в однопоточных приложениях. Выбор зависит от потребности в потокобезопасности. Гид по Java и IT: от основ программирования до интервью и сертификаций. В статье собрано множество материалов по Java, Spring, базам данных и другим технологиям для подготовки разработчиков и IT-специалистов к работе и собеседованиям. Топовые алгоритмы и структуры данных на Java: от сортировки и поиска до работы с деревьями и массивами. В статье собраны примеры и пошаговые объяснения основных методов, которые помогут лучше понимать и применять Java в программировании. Подробности: http://www.java67.com/2012/09/arraylist-vs-vector-in-java-interview.html #en @a_cup_of_java | Другие наши каналы