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

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

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

Другие каналы: @tproger_channels
Download Telegram
5 бесплатных книг по SQL для начинающих и опытных

SQL — ключевой навык для программистов, аналитиков и ИТ-специалистов. В статье представлены 5 бесплатных книг на 2025 год, которые помогут освоить SQL. Книги доступны для скачивания или чтения онлайн. Отличная возможность углубить знания без затрат!

Подробности: https://www.java67.com/2017/08/5-free-sql-books-for-beginners-and-experienced-pdf-download.html

#en

@a_cup_of_java | Другие наши каналы
Итоги года вместе с Amplicode

Первые публичные демо, ажиотаж на конференциях, поддержка Spring Data JDBC, разработка собственного HTTP-клиент (Connekt), интеграция с Kubernetes, тысячи активных пользователей, сотни тысяч просмотров на YouTube и участие в создании OpenIDE — так можно охарактеризовать 2024 год одним предложением с точки зрения команды Amplicode.


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

@a_cup_of_java | Другие наши каналы
Сложные «танцы» дилетанта вокруг телеграмм-бота викторины на java

Написав в 2023 году своего второго бота – картинную галерею (функционал которого был достаточно прост – выдавать пользователю по запросу примеры картин художников, экспонирующиеся в крупных российских музеях), во мне зародилась мысль трансформировать его в викторину, где пользователь должен угадать художника той или иной картины.

Функционал викторины классический:

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

- под картиной предлагаются кнопки с вариантами ответа,

- при выборе правильного ответа – присылается сообщение с результатом, названием картины и новая картина с вариантами ответов,

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

- если какая-то картина высылается повторно – варианты ответов должны выдаваться в иной последовательности, чем предлагались ранее,

- ведется статистика правильных ответов с возможностью ее обнуления,

- в перспективе – расширение тематики викторин.

Возникшие трудности.

Первая трудность, которая возникла еще на стадии самотестирования бота, было то, что рандомный метод выбора вопроса из коллекции вопросов работал странно: из 400 объектов его словно замыкало на 10-20 и он навязчиво высылал картины в этом диапазоне, а порой выдавал одну картину 2 и более раз подряд.

Вторая трудность уже проявилась, когда я развернула бот на хостинге и предоставила его для использования широкой аудитории – бот работал со всеми пользователями как с одним. То есть, значения полей (правильный ответ, описание и пр.) были актуальными всегда для вопроса, который бот выслал последим независимо от того, что это за пользователь. Иными словами, получаю, например, я очередной вопрос от бота. Если до того, как я на него отвечу, какому-то другому пользователю бот тоже вышлет вопрос, то что бы я не отвечала – любой мой ответ уже будет неверным, т.к. в памяти бота правильный ответ привязан к тому вопросу, который он в принципе отправил последним, а не последним именно мне.


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

@a_cup_of_java | Другие наши каналы
Micronaut Framework 4.7.0 Provides Integration with LangChain4j and Graal Languages

The Micronaut Foundation has released Micronaut Framework 4.7.0 in December 2024, four months after the release of version 4.6.0. This version provides LangChain4J support to integrate LLMs into Java applications. Micronaut Graal Languages provides integration with Graal-based dynamic languages such as the Micronaut GraalPy feature to interact with Python.
By Johan Janssen

Read: https://www.infoq.com/news/2025/02/micronaut-langchain4j/

@a_cup_of_java | Другие наши каналы
Глубокое погружение в процедуру запуска JVM

Новый перевод от команды Spring АйО расскажет вам, что происходит при запуске самого простого приложения на Java, какие шаги выполняет JVM, сколько классов ей необходимо загрузить, чтобы просто написать “Hello World!” и как все это выглядит на уровне byte code.


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

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

Чтение классических книг может значительно обогатить опыт любого программиста, от новичка до профессионала. Статья предлагает обзор из 12 книг, которые помогут развить навыки проектирования, кодирования, управления проектами и сотрудничества в команде. Узнайте, какие книги могут стать вашим главным путеводителем в мире разработки.

Подробности: https://www.java67.com/2015/03/10-books-every-programmer-and-software-engineer-read.html

#en

@a_cup_of_java | Другие наши каналы
👏2👍1
Телеграм-бот с ИИ Jlama: добавляем новые фичи

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


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

@a_cup_of_java | Другие наши каналы
👍3
Вся правда о данных: от примитивов до озера данных в эпоху микросервисов. Гайд для Java-разработчика

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

Цель этой статьи - предоставить полное руководство по структурам, концептам и инструментам для работы с данными в экосистеме Java, с уклоном в микросервисную архитектуру.

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

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


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

@a_cup_of_java | Другие наши каналы
👍51
Junie – новый AI-агент от JetBrains. Junior разработчики больше не нужны

В новом переводе от команды Spring АйО мы расскажем вам о новом продукте от компании JetBrains, который называется Junie. Новый продукт работает по принципу искусственного интеллекта и способен самостоятельно выполняет задачи по написанию кода.


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

@a_cup_of_java | Другие наши каналы
😁6🤣2
Где я учился, чтобы перейти в it сферу и преуспеть

Данная статья является продолжением этой статьи: Инструкция: как перейти в сферу it, но с перечнем курсов, которые я закончил (это тоже часто спрашивают). Можете считать это рекламой пройденных мною курсов, а можете и не считать.


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

@a_cup_of_java | Другие наши каналы
Топ-5 книг по Spring Framework для разработчиков Java в 2025 году

Ищете лучшие книги по Spring Framework? Мы сделали подборку из 5 актуальных книг, подходящих как для начинающих, так и для опытных Java-разработчиков. В списке представлены издания, охватывающие новейшие версии Spring, включая Spring Boot и Spring Security. Узнайте, что рекомендуют эксперты! 📚 Полное погружение в Spring Framework

Статья рассматривает популярные книги и курсы для изучения Spring Framework и Spring Boot. Если вы предпочитаете структурированное обучение, обратите внимание на курс от Eugen Paraschiv. Это отличный способ начать программировать на Spring с нуля. Топ-Вопросы для Интервью по Программированию

Статья предлагает ценные советы для подготовки к собеседованиям по программированию. Узнайте, какие вопросы чаще всего задают по J2EE, Spring и объектно-ориентированному программированию, чтобы быть готовым к любой встрече с работодателем.

Подробности: https://www.java67.com/2016/12/5-spring-framework-books-for-java-programmers.html

#en

@a_cup_of_java | Другие наши каналы
👍21
Тим О’Райли: ИИ не убьёт программирование, но полностью его изменит

Тим О’Райли: ИИ не заменит программистов, но изменит их работу. Кодинг станет абстрактнее, а ценность инженеров вырастет

Читать: «Тим О’Райли: ИИ не убьёт программирование, но полностью его изменит»

@a_cup_of_java | Другие наши каналы
2
JDK 24 and JDK 25: What We Know So Far

JDK 24, the third non-LTS release since JDK 21, has reached its first release candidate phase with a final set of 24 new features, in the form of JEPs, that can be separated into five categories: Core Java Library, Java Language Specification, Security Library, HotSpot and Java Tools. We examine JDK 24 and predict what features have, or could be, targeted for JDK 25.
By Michael Redlich

Read: https://www.infoq.com/news/2025/02/java-24-so-far/

@a_cup_of_java | Другие наши каналы
👍2
Как ускорить Maven сборку без переезда на Gradle

С ростом размера Maven проекта встает вопрос скорости сборки и выполнения тестов. Один из самых очевидных способов оптимизации - переезд на другую систему сборки (например, Gradle). Однако перед тем как переезжать (что неизбежно создаст новые проблемы - об этом в конце) давайте поговорим о том, что мы можем сделать для ускорения, оставаясь на Maven. Тем более что многие советы нам пригодятся в любом случае, даже если переезд в итоге и состоится.

Мы начнем с простого, поговорим про кеши и build-сканы и затем заглянем под капот Maven, чтобы понять, как найти и устранить узкие места, а также детально сравним с Gradle. Эффект от каждого совета по отдельности может быть и не такой заметный, но в совокупности ускорение может быть в разы!

В рамках этой статьи мы поговорим в основном про оптимизацию компиляции.
Погнали

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

@a_cup_of_java | Другие наши каналы
🔥1
Новый формат собеседований в Яндекс

Недавно Яндекс изменил процесс отбора кандидатов, теперь перед алгоритмической секцией добавилась секция Advanced Code. Секция заявлена как более близкая к практике, в статье я расскажу правила нового формата.


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

@a_cup_of_java | Другие наши каналы
😁7👏2🗿1
Через терни к рок-звездам: рассказываем, как прошел Java Rock Stars Meetup

Привет, Хабр! На связи Рустам, developer advocate из Axiom JDK.

В сфере зарубежного IT-рекрутинга существует термин “rockstar” и речь здесь не о музыкантах и безумных вечеринках. Это титул для лучших из лучших талантов в разработке.

Мы подготовили обзор первого Java Rock Stars Meetup - эксклюзивной встречи звезд индустрии с сообществом разработчиков, которая прошла в Москве. Под катом погружение в атмосферу и записи докладов. Смотрим как это было!


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

@a_cup_of_java | Другие наши каналы
Spring JPA и OOM: 5 способов спастись от кэш-ловушки Hibernate

Spring JPA + большие данные = OOM? Hibernate скрывает коварную ловушку, которая может перегрузить память и обрушить приложение. Разбираем причины, а главное – 5 эффективных способов избежать OOM, чтобы работать с миллионами записей без проблем! 🚀


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

@a_cup_of_java | Другие наши каналы
👎1
MongoDB: магия вне Хогвартса в IT

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

Меня зовут Алена Метенева, я работаю старшим инженером по обеспечению качества в компании SM Lab в проекте «Кассы». Я тестирую бэкенд и интеграции и там, где это возможно, автоматизирую тесты на Java. Сегодня я хочу рассказать вам о том, как MongoDB помогает мне с этим процессом.

Что такое MongoDb

Думаю, многие работали с MongoDB (Монга) и знают, что это нереляционная СУБД, которая использует для хранения данных JSON-структуру: вместо таблиц и строк, как в реляционных базах данных, в MongoDB есть коллекции (набор документов, эквивалент таблицы реляционной базы данных) и документы (внутри коллекции они могут отличаться друг от друга размером, содержанием и количеством полей), которые состоят из пар «ключ–значение».

Для чего Монга тестировщику

Основное преимущество Монги в том, что она позволяет хранить разнородные данные в одной коллекции, и поэтому хорошо подходит для хранения справочников, различных конфигов, фиче-тоглов и адресов для подключения к смежным сервисам. В моем случае приложение, которое я тестирую, считывает эти параметры из MongoDB в рантайме. А это значит, что я могу управлять поведением системы, если буду менять эти параметры прямо во время тестов.

Что я имею в виду?

Представьте, что вы тестируете интеграцию с другой системой. Если все работает стабильно, то пройти позитивные сценарии будет проще всего. А если вы хотите протестировать кейс, в котором смежная система выдает ошибку 503 (Service Unavailable) – это будет уже сложнее. Хорошо, если вы управляете обеими системами и можете просто перезагрузить одно приложение и попытаться достучаться до него через второе. А если система не ваша? В таком случае принято использовать моки. Но есть и третий вариант: если ваше приложение для подключения к другому берет ссылку из MongoDB, то эту ссылку можно просто подменить, добавив в нее лишние символы, чтобы получить ту самую ошибку 503 или 404 (Not Found), например.


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

@a_cup_of_java | Другие наши каналы
👍2
Минцифры с 31 мая введет для айтишников аттестацию на Госуслугах

С 31 мая 2025 года в России стартует аттестация айтишников на Госуслугах. Бесплатное тестирование даст сертификат, действующий год

Читать: «Минцифры с 31 мая введет для айтишников аттестацию на Госуслугах»

@a_cup_of_java | Другие наши каналы
🤣9🎉2👍1🐳1
Секреты JVM: что происходит с ошибками под капотом

Новый перевод от команды Spring АйО расскажет вам (с примерами кода), как JVM обрабатывает исключения на низком уровне, что такое таблица исключений и какие сценарии используются для вариантов try-catch и try-finally.


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

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