Чашечка Java
Open in Telegram
Лучшие материалы по Java на русском и английском Разместить рекламу: @tproger_sales_bot Правила общения: https://tprg.ru/rules Другие каналы: @tproger_channels
Show more8 433
Subscribers
-124 hours
-177 days
-7130 days
Posts Archive
8 433
Лучший способ создания нескольких окружений для Spring Boot приложения с помощью Docker Compose
В новой статье от команды Amplicode я расскажу, как можно создать несколько Docker Compose файлов для разных нужд. Например, для продакшена и разработки, и при этом не утонуть в копипасте.
Читать: https://habr.com/ru/companies/haulmont/articles/848696/?utm_campaign=848696
@a_cup_of_java | Другие наши каналы
8 433
@Volatile: Лёгкий способ синхронизировать потоки… пока не понадобится атомарность
Привет, Хабр!
Если кто-то сказал вам, что многопоточность в Java — это просто, то этот кто-то явно что-то недоговаривает. Многопоточность может быть настоящим кошмаром, особенно когда речь заходит о синхронизации данных между потоками. Но есть одно хитрое средство —
@Volatile, которое, словно волшебная палочка, помогает синхронизировать потоки без всяких блокировок.
@Volatile — это такой бюджетный способ синхронизации. Он не блокирует потоки, как старый добрый synchronized, но делает важное дело: гарантирует, что все изменения переменной моментально видны всем потокам. Без него потоки могут весело жить с устаревшими данными и даже не догадываться, что все вокруг давно изменилось.
Но сразу скажу:@Volatile — это не универсальная таблетка от всех проблем многопоточности. Он хорош для простых задач, где нужна только видимость изменений. Но как только ваши требования начинают включать атомарные операции или сложную логику — вот тут @Volatile сдаёт позиции. И это нормально. Каждый инструмент имеет свои ограничения, и важно понимать, когда его использовать, а когда бежать за чем-то посерьёзнее.
Об ограничениях этого инструмента и не только поговорим в этой статье. И начнем с его механизма работы.
Читать: https://habr.com/ru/companies/otus/articles/848342/?utm_campaign=848342
@a_cup_of_java | Другие наши каналы8 433
Туториал по Spring Data Envers для начинающих
Команда Spring АйО перевела статью, которая отлично подойдёт тем, кто ещё не знаком со Spring Data Envers. В статье на простых примерах объясняется, как отслеживать изменения данных в приложении, используя этот инструмент.
Читать: https://habr.com/ru/companies/spring_aio/articles/849086/?utm_campaign=849086
@a_cup_of_java | Другие наши каналы
8 433
Тестируем интеграцию с очередями сообщений правильно
Наверняка в вашем проекте используется очередь сообщений (не важно kafka, pulsar или какой-нибудь зайчик). Основной проблемой является подробное тестирование работы вашей системы. Рассмотрим варианты решения и посмотрим, что там у автора в рукаве.
Отправлять сообщения
Читать: https://habr.com/ru/articles/848936/?utm_campaign=848936
@a_cup_of_java | Другие наши каналы
8 433
Java News Roundup: OpenJDK JEPs, Plans for Spring 7.0, JobRunr 7.3, Keycloak 26.0, Debezium 3.0
This week's Java roundup for September 30th, 2024 features news highlighting: new OpenJDK JEPs and those targeted for JDK 24; plans for Spring Framework 7.0; JobRunr 7.3.0, Keycloak 26.0.0 and Debezium 3.0.0.
By Michael Redlich
Read: https://www.infoq.com/news/2024/10/java-news-roundup-sep30-2024/
@a_cup_of_java | Другие наши каналы
8 433
Java Digest #17
Всем привет! 👋 👋 👋 👋 Мы Java-разработчики Т-Банка: Андрей, Арсений, Константин и Константин. Собираем интересные новости, статьи, туториалы и другие материалы из мира Java-разработки и делимся этим со всем сообществом.
В этом выпуске детально рассмотрим новый релиз Java 23 и расскажем, какие JEPы в него вошли. Посмотрим несколько интересных докладов с JVM Language Summit, узнаем об опыте Netflix по переходу на Generation ZGC и почитаем интересную статью о низкоуровневых инструментах обеспечения гарантий порядка памяти.
Читать семнадцатый выпуск
Читать: https://habr.com/ru/companies/tbank/articles/848784/?utm_campaign=848784
@a_cup_of_java | Другие наши каналы
8 433
Создание компонента Apache Camel
Приветствую, сообщество!
Меня зовут Александр, я java разработчик в компании БФТ. Тружусь я на проекте СМЭВ-адаптера, где мы занимаемся транзитивной обработкой сообщений. В нашу зону ответственности входит несколько микросервисов, которые обрабатывают очень много сообщений, почти ничего не пишут в БД, но часто обращаются в сторонние прикладные сервисы.
Для отслеживания пути сообщения через наши микросервисы мы используем Zipkin. Помимо этого в проекте задействован Apache Camel, с помощью которого мы выстраиваем цепочку обработки сообщения в одном конкретном микросервисе. Стандартные средства для работы с Zipkin обычно позволяют легко добавить к трассе вход, выход в сервис и запись в БД, но, т.к. к нас не совсем стандартное поведение у сервисов, нам хотелось выделять в Zipkin и обращение в сторонние сервисы.
Хотелось эту логику как-то элегантно встроить в роут Camel, но существующие средства такой возможности не предоставляли.
Было принято решение написать свой компонент для Apache Camel. Делали мы это впервые и, к сожалению, полноценного гайда в интернетах найти не удалось...
Встречайте! Гайд по написанию собственного Camel-компонента!
Читать: https://habr.com/ru/companies/bft/articles/796607/?utm_campaign=796607
@a_cup_of_java | Другие наши каналы
8 433
Presentation: AI Integration for Java: To the Future, From the Past
The panelists discuss workflows, staff impact, and utilizing different tools, frameworks, and services to integrate AI in Java applications.
By Asir Selvasingh, Jonathan Schneider, Dov Katz, Svetlana Zemlyanskaya, Erik Costlow
Read: https://www.infoq.com/presentations/ai-java-integrate/
@a_cup_of_java | Другие наши каналы
8 433
Dagger Hilt (Для начинающих)
Я являюсь разработчиком мобильных приложений с опытом уже более 3х лет! Я всегда разрабатываю мобильные приложения один - это требует моя работа. Но сегодня я хочу поделиться с Вами тем, что такое Dagger Hilt!
Следите за мной в телеграм
Dagger Hilt - это необходимый каждому инструмент, который упрощает в разы разработку мобильных приложений. Служит для внедрения зависимостей. В первую очередь он необходим тем, у кого в проекте есть множество классов, которые требуют реализации. Хотите чтоб за вас это сделал кто-то другой? Dagger Hilt к вашим услугам.
Читать: https://habr.com/ru/articles/848690/?utm_campaign=848690
@a_cup_of_java | Другие наши каналы
8 433
Аутентификация через телеграм в Spring Boot приложении
Способ аутентификации через телеграм отлично описан в документации. В этой статье мы реализуем его в Spring Boot приложении.
Читать: https://habr.com/ru/articles/848502/?utm_campaign=848502
@a_cup_of_java | Другие наши каналы
8 433
Compiler Explorer Provides Insights Into Low-Level Android App Optimization
Android engineers at Google added support for the Java and Kotlin programming languages to Compiler Explorer, an open source tool aimed at exploring how compilers work by compiling code in real-time. Using Compiler Explorer, Android engineers can optimize the performance of their apps by observing how the compiler works under the hood instead of using a set of pre-defined best practices.
By Sergio De Simone
Read: https://www.infoq.com/news/2024/10/compiler-explorer-android/
@a_cup_of_java | Другие наши каналы
8 433
AI-ассистент со Spring AI (Часть I)
В новом переводе от команды Spring АйО показан процесс интеграции AI в немалоизвестное приложение Spring Petclinic.
В статье автор пошагово делится своим опытом внедрения Spring AI, чтобы сделать приложение более интерактивным.
Читать: https://habr.com/ru/companies/spring_aio/articles/848016/?utm_campaign=848016
@a_cup_of_java | Другие наши каналы
8 433
Article: How Functional Programming Can Help You Write Efficient, Elegant Web Applications
Many things can make software more challenging to understand and, consequently, to maintain. One of the most complex and problematic causes is managing internal mutable states. When the internal state is poorly managed, the software behaves unexpectedly, leading to bugs and fixing, which introduces unnecessary complexity. FP solves this problem by providing immutability mechanisms and more.
By Uberto Barbini
Read: https://www.infoq.com/articles/functional-programming-web-app/
@a_cup_of_java | Другие наши каналы
8 433
Лучшие курсы UML для разработчиков в 2024
Интересуетесь UML и хотите улучшить навыки программирования? В статье представлены топ-5 онлайн курсов по UML, которые помогут освоить основные концепции проектирования ПО. Это отличный выбор для роста в карьере и освоения роли архитектора. Узнайте больше на платформе Java67! 🔍 Обзор лучших IT-курсов для 2024 года
Ищете курсы по программированию? Ознакомьтесь с подборкой лучшего обучения для начинающих и опытных разработчиков. От Python до React и Blockchain — найдите курс по душе. Узнайте, какие платформы предложат вам эффективное обучение и помогут освоить новые навыки.
Подробности: http://www.java67.com/2021/11/top-5-courses-to-learn-uml-for-software.html
#en
@a_cup_of_java | Другие наши каналы
8 433
Лучшие курсы по нейронным сетям и глубокому обучению в 2024 году
Ищете онлайн-курсы по глубокому обучению в 2024 году? Coursera предлагает отличные программы с доступом к материалам ведущих экспертов и преподавателей мирового уровня. Узнайте ключевые концепции и изучайте их под руководством профессионалов, чтобы полноценно освоить этот важный навык.
Подробности: http://www.java67.com/2022/01/top-6-deep-learning-and-neural-networks.html
#en
@a_cup_of_java | Другие наши каналы
8 433
Лучшие онлайн-курсы по MySQL в 2024 году
Хотите освоить MySQL, один из самых популярных инструментов работы с базами данных? В статье представлена подборка из пяти лучших онлайн-курсов для начинающих на платформах Udemy, Coursera и других. Эти курсы помогут вам стать востребованным специалистом в мире технологий!
Подробности: http://www.java67.com/2021/11/top-5-courses-to-learn-mysql-database.html
#en
@a_cup_of_java | Другие наши каналы
8 433
Сколько времени нужно, чтобы выучить Data Science в 2024 году?
Изучить Data Science можно за 6-12 месяцев, но для достижения профессионального уровня потребуется больше времени и опыта. 25% специалистов не имеют высшего образования, и учатся через онлайн-курсы или буткемпы. Начните с Python, SQL и машинного обучения.
Подробности: http://www.java67.com/2023/01/how-long-it-take-to-learn-data-science.html
#en
@a_cup_of_java | Другие наши каналы
8 433
Лучшие симуляторы экзаменов для сертификации Java
Хотите успешно сдать экзамены OCAJP и OCPJP? Тогда вам пригодятся симуляторы экзаменов. Они помогают улучшить скорость и точность, а также повысить уверенность в формате и уровне сложности вопросов. Узнайте, какие 10 лучших симуляторов эксперты рекомендуют для подготовки к Java сертификации.
Подробности: http://www.java67.com/2017/08/ocajp7-mock-exams-oracle-certified-Java-SE-7-Programmer-Certification-Sample-Questions.html
#en
@a_cup_of_java | Другие наши каналы
8 433
Лучшие книги для сертификации Java 8
Готовитесь к сертификации Java 8? В статье обсуждаются 5 лучших книг для экзаменов OCAJP 1Z0-808 и OCPJP 1Z0-809. Эти книги помогут вам систематизировать учёбу, предложат полезные советы и предоставят пробные экзамены. За подробностями обращайтесь к оригинальной статье на Java67.
Подробности: http://www.java67.com/2016/07/top-5-ocpjp7-books-for-1z0-804-and-1z0-certification.html
#en
@a_cup_of_java | Другие наши каналы
8 433
Хотите узнать, чем Clojure выделяется среди других бэкендовых языков и что он может вам предложить?
Тогда присоединяйтесь к открытому вебинару 3 октября в 20:00 мск, где вы узнаете:
— с какими задачами сталкиваются разработчики Clojure;
— основные особенности и преимущества Clojure по сравнению с другими языками;
— какие возможности и перспективы предлагает Clojure для разработчиков.
Встречаемся в преддверии старта курса «Clojure Developer». Все участники вебинара получат специальную цену на обучение!
Регистрируйтесь прямо сейчас, чтобы не пропустить мероприятие: https://otus.pw/AafT/
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
