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

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

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

Другие каналы: @tproger_channels
Download Telegram
ООП не мертво. Вы просто пользуетесь им как молотком по клавиатуре

После каждой новой статьи с заголовком «ООП — это обман» хочется напомнить: ООП — это не набор шаблонов из книжек, а инженерный подход. Если проект страдает от наследования и DI, возможно, проблема не в ООП. А в том, как вы его применяете.


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

@a_cup_of_java | Другие наши каналы
QCon London 2025: Как построить базу данных без сервера

На конференции обсудили опыт Man Group по замене MongoDB на безсерверное объектное хранилище с ArcticDB. Рассмотрены технические сложности, связанные с управлением глобальным состоянием, синхронизацией и использованием CRDT для консистентности данных.

Подробности: https://www.infoq.com/news/2025/05/serverless-database-seaton/

#en

@a_cup_of_java | Другие наши каналы
Разработчик развеял мифы о чистом коде, трендах и идеальном программировании

Разработчик развеял мифы о чистом коде и трендах — почему идеальное программирование не всегда оправдано в реальных проектах

Читать: «Разработчик развеял мифы о чистом коде, трендах и идеальном программировании»

@a_cup_of_java | Другие наши каналы
JForge: Создаем свою мини-IDE на Java Swing с нуля (с темной темой и подсветкой синтаксиса!)

Каждый из нас, Java-разработчиков, хоть раз задумывался: "А что, если взять и написать свою IDE?". Ну, может, не полноценную замену IntelliJ IDEA, но что-то компактное, для души, для изучения Swing или просто для фана. Сегодня я хочу поделиться именно таким проектом – JForge, простой IDE для Java, написанной полностью на Swing, с акцентом на приятный темный интерфейс и базовые, но необходимые фичи.


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

@a_cup_of_java | Другие наши каналы
👍3
Новые обновления Java: в JDK 25 готовы к внедрению несколько ключевых JEP, включая структурированную конкуренцию и гибкие конструкторы. Выпущены релизы Hibernate Reactive 3.0, Infinispan 16.0, JHipster 8.11 и Gatherers4j 0.11 с важными улучшениями и новыми возможностями.

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

#en

@a_cup_of_java | Другие наши каналы
JEP 505: Пятая предварительная версия структурированной конкуренции в Java

В JDK 25 вышла пятая превью Structured Concurrency с улучшениями API. Теперь StructuredTaskScope создаётся через статические методы, что упрощает управление параллельными задачами и повышает безопасность и читаемость кода.

Подробности: https://www.infoq.com/news/2025/05/jep-505-concurrency-preview-5/

#en

@a_cup_of_java | Другие наши каналы
Исследование решений для хранения файлов в Spring Boot: базы данных, локальные системы, облачные сервисы и многое другое

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

В этой статье мы расскажем, как хранить файлы в базе данных с помощью Spring Boot, а также обсудим некоторые альтернативные варианты.


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

@a_cup_of_java | Другие наши каналы
Лучшие курсы PostgreSQL для начинающих в 2025 году

В статье собраны топовые онлайн-курсы по PostgreSQL, включая предложения с Udemy, Coursera и LinkedIn Learning. Курсы подойдут тем, кто хочет быстро освоить базу данных от основ до продвинутого уровня с практическими заданиями. Лучшие бесплатные курсы по программированию и IT: Java, SQL, Linux, Docker и многое другое. Подборка материалов для новичков и опытных разработчиков поможет быстро прокачать навыки и подготовиться к интервью. Полезно для всех, кто хочет развиваться в IT-сфере.

Подробности: http://www.java67.com/2021/12/top-5-online-courses-to-learn.html

#en

@a_cup_of_java | Другие наши каналы
👍1
Лучшие курсы для изучения Google Cloud Platform в 2025 году

В статье собраны актуальные онлайн-курсы, которые помогут освоить Google Cloud Platform — популярную облачную платформу от Google. Ресурсы подходят как новичкам, так и опытным специалистам, заинтересованным в развитии навыков облачных технологий.

Подробности: http://www.java67.com/2021/12/-best-google-cloud-platform-course-online.html

#en

@a_cup_of_java | Другие наши каналы
Спасаемся от Spring: есть ли альтернативы репозиторным фреймворкам? Часть первая. Решения Spring

С точки зрения доступа к базе данных, Java-сообщество однозначно делится на два лагеря: одни любят Spring Data JPA за его простоту и низкий порог вхождения, другие предпочитают Spring JDBC за его точность и возможность тюнинга запросов. И кого останавливает, что и то, и другое — Spring?

Какую сторону выбрать? И Spring Data JPA, и Spring Data JDBC, при их очевидных достоинствах, имеют недостатки, делающие разработку на них не очень подходящей для прода. Эти решения являются двумя крайностями, а нам нужна золотая середина.

Вы спросите: какие альтернативы? И я отвечу: давайте посмотрим на проблему шире. Вы джавист? Вам повезло — есть хорошая альтернатива. Котлинист? Ещё лучше — есть отличная альтернатива!

О них и поговорим.


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

@a_cup_of_java | Другие наши каналы
🌚4👍1
Jmix/Spring-приложение в IFrame

Предположим, у нас появилась задача встроить какой-то функционал, реализуемый системой на Jmix/Vaadin/Spring на другой сайт или в веб-приложение. Сейчас существует большое количество статических генераторов и других систем управления содержимым, где у разработчика есть доступ только к фронтенд-части. Если это не портальная система, обычным решением в таких случаях будет использовать встраивание через IFrame.

Для того чтобы приложение с интерфейсом на Vaadin открывалось в айфрейме за пределами локалхоста, ему требуется включенная поддержка cookie, что по современным стандартам безопасности возможно только если и сайт и приложение, находящиеся на разных доменах, работают по протоколу HTTPS доверенного уровня и для сессионных кук включен параметр Secure и выключен SameSite. Поэтому нам придется немного заморочиться, что бы это все заработало в Spring Boot-приложении даже если речь идет о тестовых средах.


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

@a_cup_of_java | Другие наши каналы
👍1
ООП или не ООП — вот в чём ревью

Псевдокод, страсть и pull-request на грани добра и зла

Кто-то звал Smalltalk, кто-то бросал в нас Haskell, кто-то доставал из-под кровати подшивку статей «ECS лучше всего» — и всё это с праведной уверенностью.


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

@a_cup_of_java | Другие наши каналы
👍1
Всё, что вам нужно знать о Feign-клиентах в Spring Boot: Что под капотом, настройка, использование, функции

Чтобы сделать вызовы REST API проще и декларативнее, Spring Boot предлагает встроенную интеграцию с Feign‑клиентами. Feign представляет собой HTTP‑клиент, который позволяет разработчикам определять REST‑эндпоинты с помощью интерфейсов Java. Вместо того чтобы писать дублирующийся код для обработки HTTP‑запросов, мы можем определять эндпоинты и их поведение в наглядной и лаконичной форме.

В этой статье мы подробно рассмотрим технические аспекты работы Feign‑клиентов в Spring Boot. Вы узнаете, как их настраивать, как под капотом обрабатываются запросы, ответы и ошибки.


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

@a_cup_of_java | Другие наши каналы
👍1🔥1
Ультрабыстрые in-memory базы данных с Java: как EclipseStore ускоряет работу приложений до 1000 раз и снижает расходы на облако более чем на 90%. Альтернатива традиционным СУБД для высокопроизводительных и устойчивых решений. Подробнее — в статье. EclipseStore: революция в хранении данных на Java

EclipseStore – новый Java-фреймворк, который обеспечивает в 1000 раз быстрее обработку данных и снижает затраты на облачные базы до 90%. Без сложных маппингов и серверов, с минимальным энергопотреблением и поддержкой распределённых систем. EclipseStore: будущее баз данных на Java
EclipseStore предлагает хранение данных полностью в памяти без классических серверов и SQL. Это упрощает архитектуру, ускоряет работу и снижает затраты. Ключевой вызов — мыслить не как в реляционных БД, а как Java-разработчик.

Подробности: https://www.infoq.com/presentations/eclipse-store/

#en

@a_cup_of_java | Другие наши каналы
👍2
Первые шаги в Spring Security с JWT

Команда Spring АйО перевела статью о работе с JWT в Spring Security с примерами и объяснениями. Прочитав данную статью, вы узнаете, как сделать первые шаги в создании приложения, в котором за безопасность отвечают токены JWT и фреймворк Spring Security, работающие в гармоничном тандеме.


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

@a_cup_of_java | Другие наши каналы
1
Проверка наличия значения в массиве Java: линейный и двоичный поиск

Статья объясняет, как проверить, содержит ли массив число или строку, используя методы Java API и собственные реализации линейного и двоичного поиска. Полезно для подготовки к собеседованиям и улучшения навыков программирования. Проверка наличия числа в массиве на Java: простой пример с циклом и современное решение через Java 8 Stream API. Статья показывает, как быстро определить, содержится ли заданное число в массиве, используя базовые и новые возможности языка.

Подробности: http://www.java67.com/2014/11/how-to-test-if-array-contains-certain-value-in-java.html

#en

@a_cup_of_java | Другие наши каналы
👍2
Проверьте, умеете ли вы определять, является ли одна строка ротацией другой в Java

В статье подробно объясняют, что такое ротация строки и как решить популярную задачу с использованием алгоритмов на строках в рамках интервью по Java.

Подробности: http://www.java67.com/2017/07/string-rotation-in-java-write-program.html

#en

@a_cup_of_java | Другие наши каналы
2
Как найти пропущенное число в отсортированном массиве с помощью Java

В статье рассматривается классическая задача поиска пропущенного элемента в отсортированном массиве чисел от 0 до n-1. Описано решение с использованием бинарного поиска, который работает быстрее линейного — за O(log N). Такой подход полезен при работе с большими данными.

Подробности: http://www.java67.com/2014/12/how-to-find-missing-number-in-sorted.html

#en

@a_cup_of_java | Другие наши каналы
👍2
ООП для кота – моделируем кота через классы

Программирование — довольно сложная штука, и, поэтому, его хорошо учить на наглядных примерах.

А что может быть наглядней котофея? :-)) Поэтому, попробуем рассмотреть кота через объектно-ориентированное программирование (ООП) и его классы.

Итак, что же представляет собой кот с точки зрения ООП?


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

@a_cup_of_java | Другие наши каналы
Топ-5 онлайн-курсов по кибербезопасности в 2025 году. В статье представлены лучшие обучающие программы на платформах Udemy, Coursera и Pluralsight для новичков и продвинутых специалистов, которые хотят освоить защиту от хакеров, управление рисками и работу с угрозами ransomware и insider threats. Лучшие бесплатные курсы для IT-обучения
В статье собрана подборка бесплатных онлайн-курсов по Django, Deep Learning, веб-разработке, кибербезопасности и другим востребованным темам. Подойдёт как новичкам, так и тем, кто хочет расширить знания в сфере IT.

Подробности: http://www.java67.com/2021/11/5-best-courses-to-learn-cyber-security.html

#en

@a_cup_of_java | Другие наши каналы
Лучшие бесплатные курсы по паттернам проектирования в Java и TypeScript в 2025 году

В статье собраны пять бесплатных онлайн-курсов, которые помогут освоить классические паттерны проектирования. Эти ресурсы подойдут как новичкам, так и опытным разработчикам для улучшения качества кода. Архив публикаций и вопросы для подготовки к собеседованиям по Java и Spring. В статье представлен большой каталог материалов для разных уровней, включая вопросы по Java, SQL, микросервисам и Spring Framework, полезные для успешного прохождения интервью.

Подробности: http://www.java67.com/2022/03/top-5-free-courses-to-learn-design.html

#en

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