ar
Feedback
Чашечка Java

Чашечка Java

الذهاب إلى القناة على Telegram

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

إظهار المزيد
8 576
المشتركون
+124 ساعات
+27 أيام
+530 أيام
أرشيف المشاركات
Изоляция в тестах с Kafka Опыт запуска Kafka в тестовых сценариях достиг высокого уровня удобства благодаря использованию Testcontainers и улучшенной поддержке в Spring Boot 3.1 с помощью аннотации @ServiceConnection. Однако написание и поддержка интеграционных тестов с Kafka по-прежнему представляют собой вызов. В этой статье описывается подход, который значительно упрощает процесс тестирования, обеспечивая изоляцию тестов и предоставляя набор инструментов для достижения этой цели. При успешной реализации изоляции, тесты с Kafka могут быть организованы так, что на этапе проверки результатов обеспечивается полный доступ ко всем сообщениям, возникшим в ходе теста, избегая при этом необходимости в использовании методов принудительного ожидания, таких как Thread.sleep(). Этот метод подходит как для использования с Testcontainers, так и для Embedded Kafka или других способов запуска сервиса Kafka (например, локального инстанса). Читать: https://habr.com/ru/articles/797049/?utm_campaign=797049

Юнит-тесты: чек-лист методик проектирования Привет, Хабр! Меня зовут Василий Косарев, я Java‑разработчик в CDEK. Много раз мы слышали о необходимости писать модульные тесты, о том, что весь код должен быть ими покрыт. При этом мне не встречалось списка: какие именно методики лучше использовать при тестировании кода. Я задумался: есть ли чек‑лист/ руководство, который облегчил бы генерацию тестовых сценариев и помог выявлять серьёзные ошибки? Чтобы вдумчиво подходить к тестированию и не тратить ресурсы впустую, сводя к минимуму количество необходимых тестов. Сегодняшней статьёй попробую ответить на эти вопросы. Материал будет полезен разработчикам, которые уже пишут модульные тесты и которые только думают внедрять их в свой проект. Мы с вами применим методики проектирования тестов и разберёмся, насколько они эффективны. Читать: https://habr.com/ru/companies/cdek_blog/articles/796451/?utm_campaign=796451

Записки хирурга. Распиливание слонов PostgreSQL наживую и без анестезии Привет, Хабр! Сегодня снова с вами AliExpress Order Management System. Сегодня поговорим о том, как мы увеличивали количество шардов без длительного даунтайма. Спойлер: в конце - самое интересное ;) Дальше Читать: https://habr.com/ru/companies/aliexpress_russia/articles/796409/?utm_campaign=796409

Java News Roundup: JDK 22 RC2, Multiple Releases in the Spring Ecosystem, Payara Platform This week's Java roundup for Februa
Java News Roundup: JDK 22 RC2, Multiple Releases in the Spring Ecosystem, Payara Platform This week's Java roundup for February 19th, 2024 features news highlighting: JDK 22 in release candidate 2, the February 2024 edition of the Payara Platform, numerous milestone and point releases in the Spring ecosystem, multiple releases of Apache Tomcat and Log4j and Gradle 8.7-RC1. By Michael Redlich Read: https://www.infoq.com/news/2024/02/java-news-roundup-feb19-2024/

Presentation: How Netflix Really Uses Java Paul Bakker discusses Netflix’ use of Java, emphasizing the use of microservices,
Presentation: How Netflix Really Uses Java Paul Bakker discusses Netflix’ use of Java, emphasizing the use of microservices, RxJava, Hystrix and Spring Cloud. By Paul Bakker Read: https://www.infoq.com/presentations/netflix-java/

Repeatable migrations в Flyway После статьи о логике в БД я много дискутирую в комментариях. Часто вижу заблуждение, что любая миграция при таком подходе — это новый файл, который невозможно сравнить со старым. Я покажу что это не так на примере Flyway. Читать: https://habr.com/ru/articles/796285/?utm_campaign=796285

Идеальный офис 2.0 Когда-то мне казалось, что лучший офис должен соответствовать принципу 3М, а именно Мальдивы, Маргарита, Мулатки, но  потом выяснилось, что ноут жжёт коленки, когда лежишь в гамаке,  мышкой негде елозить, не хватает второго экрана, да и экран очень отсвечивает, запястье болит и спина затекает. Так что нужно от офиса, чтоб туда хотелось идти и не хотелось уходить и где бы я выдавал максимум эффективности? То есть я мыслю со стороны работодателя. НУ и со своей стороны, чтоб с утра хотелось туда идти, а вечером не хотелось уходить. Ну и давайте рассуждать. УТРО Что заставит меня вскочить из уютной кровати с утра и стремглав бежать в офис? Ну конечно голод. Читать: https://habr.com/ru/articles/795707/?utm_campaign=795707

Использование resilience4j со Spring Boot resilience4j библиотека, предоставляющая набор инструментов для повышения надежности и отказоустойчивости java приложений прежде всего в микросервисной архитектуре Рассмотрим какие в ней есть инструменты, как их использовать в Spring Boot приложении с помощью аннотаций, как настраивать и есть ли в них подводные камни Читать: https://habr.com/ru/articles/793550/?utm_campaign=793550

Настройка CI/CD глазами разработчика Тема, которая будет сегодня освещена, рассказывается от лица backend разработчика. На нашем проекте нет devops'а, который бы мог подсказать, направить. Поэтому нам пришлось выходить из зоны комфорта. Тут кое-что интересное... Читать: https://habr.com/ru/articles/795931/?utm_campaign=795931

Отладка Spring-микросервиса в контейнере Когда речь заходит о микросервисах, на ум обычно приходят контейнеры. Разумеется, встречаются микросервисные архитектуры, в которых компоненты запускаются без контейнеров. На мой взгляд, сопровождение таких систем получается намного сложнее, так как требует более глубоких знаний в администрировании Linux, скриптинге и различных инструментах автоматизации. В то же время, порог вхождения (дисклеймер: подразумевается именно минимально необходимый набор знаний для начала работы с инструментом) для вещей вроде docker-compose существенно ниже, и работать с ними могут даже начинающие разработчики. Иногда для оперативной локализации ошибки проще всего воспользоваться отладчиком. Я думаю, каждый разработчик так или иначе применял подход DDD (DDD - шут. Debug Driven Development) при локальной разработке или в поисках бага на удаленном стенде. Но что делать, если удаленное приложение в контейнере? В этой заметке я бы хотел поделиться Dockerfile-ом, к которому пришел в свое время, решая проблему отладки контейнеризированного приложения. Читать: https://habr.com/ru/articles/795831/?utm_campaign=795831

Spring MVC REST API: автономная конфигурация при написании модульных тестов Создание и настройка необходимых компонентов без дублирования кода Отправка HTTP-запросов в тестируемую систему без дублирования кода Настройка Spring MVC Test framework, при написании модульных тестов для Spring MVC REST API с помощью JUnit 5. Читать: https://habr.com/ru/articles/795819/?utm_campaign=795819

Топ-20 вопросов и ответов на собеседовании по абстрактным классам и методам в Java Абстрактные классы и абстрактные методы - очень важные понятия в ядре Java, и каждый Java-разработчик должен хорошо понимать, что это такое, когда их использовать и как их использовать. Они также очень популярны на собеседованиях при приеме на работу в области Java, а также на сертификациях Oracle Java, например, OCAJP или OCPJP. На реальном экзамене вы часто встретите множество вопросов, основанных на коде и проверяющих основные концепции Java, основанные на абстрактных классах и методах. Все хорошие симуляторы экзаменов, например, Whizlabs и Enthuware, содержат множество вопросов, проверяющих и объясняющих эти ключевые понятия. В этой статье я собрал некоторые из часто задаваемых вопросов об абстрактных классах и абстрактных методах в Java. Вы можете просмотреть эти вопросы перед тем, как отправиться на собеседование по Java, как телефонное, так и очное. Они также очень полезны, если вы готовитесь к сертификации Oracle Java, например, OCAJP. Вопросы и учебные пособия для собеседования по Java Read: http://www.java67.com/2024/02/top-20-abstract-class-and-method.html

photo content

Виртуальные потоки Java столкнулись с проблемой распиновки Read: https://www.infoworld.com/article/3713220/java-virtual-threa
Виртуальные потоки Java столкнулись с проблемой распиновки Read: https://www.infoworld.com/article/3713220/java-virtual-threads-hit-with-pinning-issue.html#tk.rss_java

Что работодатели ожидают от джуниор Java-разработчиков Привет! Я Анастасия Рагозина, продакт-менеджер на курсе «Java-разработчик». Сейчас рынок труда в IT-сфере переживает не самый простой период, и новичкам на нём особенно тяжело. Поэтому мы с коллегами в конце 2023 года провели исследование и выяснили, какие навыки и инструменты нужны начинающим Java-разработчикам. А также — к чему стоит готовиться при устройстве на работу. Читать: https://habr.com/ru/companies/yandex_praktikum/articles/793384/?utm_campaign=793384

Тестирование Spring Security Безопасность играет важную роль в программном обеспечении. В конечном итоге каждому необходимо повысить безопасность своего проекта. В этой статье мы рассмотрим, как протестировать аутентификацию и авторизацию приложений Spring Boot. Мы рассмотрим как приложения-сервлеты MVC, так и реактивные приложения WebFlux. Spring Security хорошо интегрируется с фреймворками Spring Web MVC и Spring WebFlux. Он также имеет комплексную интеграцию с Spring MVC Test и Spring WebTestClient. Читать: https://habr.com/ru/articles/795149/?utm_campaign=795149

Гексагональная Архитектура и Spring Boot Всем привет! Хочу рассказать про опыт применения гексагональной архитектуры в одном из наших микросервисов. С чем столкнулся и какие выводы сделал. Читать: https://habr.com/ru/articles/795127/?utm_campaign=795127

Graal Cloud Native добавляет поддержку Google Cloud Platform Read: https://www.infoworld.com/article/3713004/graal-cloud-nati
Graal Cloud Native добавляет поддержку Google Cloud Platform Read: https://www.infoworld.com/article/3713004/graal-cloud-native-adds-google-cloud-platform-support.html#tk.rss_java

Вариантность обобщенных типов в картинках и простых примерах В большинстве статей на тему вариантности авторы слишком быстро погружаются в детали и сложные схемы, из-за чего у людей которые только пытаются понять саму идею опускаются руки. Но в большинстве случаев для понимания деталей необходимо разобраться в самом принципе, после чего понимание деталей становиться тривиальной задачей. А понять принцип проще, если показать все на картинках и самых простых примерах. В этом и заключается цель данной статьи — это быстрое понимание принципов инвариантности, ковариантности, контравариантности. Читать: https://habr.com/ru/articles/795083/?utm_campaign=795083

Oracle Graal Cloud Native 4.2.1 Brings Java 21 Support, New Cloud Integrations, and More Oracle has released the Graal Cloud
Oracle Graal Cloud Native 4.2.1 Brings Java 21 Support, New Cloud Integrations, and More Oracle has released the Graal Cloud Native 4.2.1, its own build of the open source Micronaut framework. This version brings support for Java 21 including Graal Native Image, cloud integration with Google Cloud Platform, new guides for Google Cloud, launcher and client updates, and more. By Diogo Carleto Read: https://www.infoq.com/news/2024/02/gcn-4-2-1/