Обновить
128K+

Java *

Объектно-ориентированный язык программирования

150,31
Рейтинг
Сначала показывать
Порог рейтинга
Уровень сложности

Helidon, Testcontainers, Cucumber, Kafka и многое другое

Время на прочтение12 мин
Охват и читатели4.6K

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

А как насчет тестирования Helidon?

В этой статье мы рассмотрим несколько способов, как это сделать.

Читать далее

Прогресс GC от JDK 8 до JDK 17

Время на прочтение5 мин
Охват и читатели26K

JDK 17 с нами уже несколько месяцев и он не только про новые возможности языка Java. Прирост производительности в сравнении с более старыми версиями JDK очень заметен. Это становится особенно очевидно, когда мы сравниваем его с предыдущими LTS версиями: JDK 8 и JDK 11. Большая доля в улучшении производительности происходит из новых функций и оптимизаций в JVM, и в этой статье фокус будет на улучшениях, которые были сделаны в области сборки мусора в JVM

Читать статью

Skillbox Java Challenge: игра “на выживание” для разработчиков

Время на прочтение5 мин
Охват и читатели3.4K

Привет, Хабр! Хотим поделиться опытом проведения ролевых соревнований среди студентов и выпускников курса “Java-разработчик” — Skillbox Java Challenge (SJC). Созданная в 2019 году по инициативе студентов активность полюбилась всей команде, обросла интересными соревновательными и игровыми фичами. Этой осенью SJC состоялся уже в третий раз, его тематикой стали космические путешествия. О подробностях соревнования — под катом.

Читать далее

Отчеты о покрытии кода JUnit тестами с помощью Maven плагина JaCoCo

Время на прочтение6 мин
Охват и читатели50K

Это продолжение туториала по JUnit 5. Введение опубликовано здесь.

Научитесь создавать отчеты о покрытии кода для тестов JUnit с помощью подключаемого модуля JaCoCo Maven.

Читать далее

Автоматизация тестирования «с нуля» (нетехническая сторона вопроса)

Время на прочтение5 мин
Охват и читатели27K

Есть множество статей про технологии и те или иные подходы к автоматизации. Но почему-то нет статей про «обратную сторону» автоматизации. Как вообще всё зарождается на проекте? И как это «всё» организовать?

Читаю дальше

Полное руководство по расширениям JUnit 5

Время на прочтение27 мин
Охват и читатели46K

JUnit - одна из самых популярных сред модульного тестирования в экосистеме Java. Версия JUnit 5 (также известная как Jupiter) содержит множество интересных нововведений, включая поддержку новых функций в Java 8 и выше. Однако многие разработчики по-прежнему предпочитают использовать среду JUnit 4, поскольку некоторые функции, такие как параллельное выполнение в JUnit 5 все еще находятся в экспериментальной фазе.

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

По моему опыту, JUnit 5 - лучшая версия JUnit. Новая структура также включает расширяемую архитектуру и совершенно новую модель расширений, которая упрощает реализацию пользовательских функций.

В этом руководстве по JUnit мы подробно рассмотрим расширения JUnit 5 - одну из основных функций платформы JUnit 5.

Читать далее

Разработка Telegram-бота на JAVA для генерации и считывания QR-кодов

Время на прочтение16 мин
Охват и читатели20K

пример разработки Tekegram-бота, функционал которого позволяет сканировать и генерировать QR-коды. Плюсы использования Telegram-бота в сравнении с традиционными приложениями-сканерами это: отсутствие необходимости устанавливать дополнительный софт (при наличии Telegram, естественно), возможность чтения цифровых изображений без использования камеры (например, из галереи или с web-сайта) и кроссплатформенность. Логика работы бота проста – отправляешь боту QR-код, в ответе получаешь расшифрованную информацию, отправляешь текст – в ответе получаешь QR-код. Просто? Да! Удобно? Несомненно!

Читать далее

Advent of Code с нами уже 7 лет

Время на прочтение1 мин
Охват и читатели4.8K

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

Читать далее

Ожидаемое исключение JUnit 5

Время на прочтение3 мин
Охват и читатели43K

Это продолжение туториала по JUnit 5. Введение опубликовано здесь.

В JUnit 5, чтобы написать тестовый код, который, как ожидается, вызовет исключение, мы должны использовать Assertions.assertThrows().

В данном примере ожидается, что тестовый код в комментированном блоке вызовет исключение типа ApplicationException.

Читать далее

Туториал по JUnit 5 - Аннотация @RepeatedTest

Время на прочтение4 мин
Охват и читатели9.8K

Это продолжение туториала по JUnit 5. Введение опубликовано здесь.

Аннотация @RepeatedTest используется для написания повторяющихся тестовых шаблонов, которые могут выполняться несколько раз в JUnit. Частоту повторения можно настроить как параметр аннотации @RepeatedTest.

Читать далее

Туториал по JUnit 5  - Аннотация @Disabled

Время на прочтение2 мин
Охват и читатели7K

Это продолжение туториала по JUnit 5. Введение опубликовано здесь.

Аннотацию JUnit 5 @Disabled можно использовать для исключения методов тестирования из набора тестов. Эта аннотация может применяться как к классу тестирования, так и к отдельным методам тестирования.

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

Читать далее

Возможности Java 17 и рекомендации по миграции

Время на прочтение14 мин
Охват и читатели34K

Java значительно изменилась с годами. Прочтите сравнение версий 8 и 17 и узнайте ответ на вопрос: стоит ли обновляться?

Через несколько месяцев, в марте 2022 года, Java 8 закончится поддержка Oracle Premier Support. Это не означает, что он не будет получать никаких новых обновлений, но усилия Oracle, вложенные в его поддержку, вероятно, будут значительно меньше, чем сейчас.

Это означает, что будет веская причина для перехода на новую версию, тем более, что 14 сентября 2021 года была выпущена Java 17. Это новая версия долгосрочной поддержки, с Oracle Premier Support, которая продлится до сентября 2026 года (как минимум). 

Что дает Java 17? Насколько трудной будет миграция? Стоит ли оно того? 

Я постараюсь ответить на эти вопросы в этой статье.

Читать далее

Туториал по JUnit 5 - Аннотация @ParameterizedTest

Время на прочтение7 мин
Охват и читатели89K

Это продолжение туториала по JUnit 5. Введение опубликовано здесь.

Аннотация @ParameterizedTest, позволяет выполнить тест несколько раз, но с разными аргументами.

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

Читать далее

Ближайшие события

Подробное руководство по инверсии зависимостей. Часть 2. Application модуль

Время на прочтение40 мин
Охват и читатели6.2K

Я, aa0ndrey, приветствую вас и приглашаю продолжить обсуждение темы инверсии зависимостей. В рамках данной финальной части будет рассмотрен application модуль. Будут определена его ответственность и будет рассмотрено то, как он взаимодействует со всеми остальными модулями.

Примеры, как и раньше, приведены на языке программирования java, но используются исключительно простые конструкции, чтобы любой читатель, понимающий на самом базовом уровне синтаксис java, смог понять данную статью.

Читать далее

Туториал по JUnit 5 - Аннотация @AfterAll

Время на прочтение3 мин
Охват и читатели6.2K

Это продолжение туториала по JUnit 5. Введение опубликовано здесь.

Аннотация JUnit 5 @AfterAll является заменой аннотации @AfterClass в JUnit 4. Она используется как метод очистки для тестового класса.

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

Читать далее

Туториал по JUnit 5 - Аннотация @AfterEach

Время на прочтение2 мин
Охват и читатели7.6K

Это продолжение туториала по JUnit 5. Введение опубликовано здесь.

Аннотация @AfterEach используется для обозначения того, что аннотированный метод должен выполняться после каждого метода, помеченного @Test, @RepeatedTest, @ParameterizedTest, или @TestFactory в текущем классе.

Аннотация JUnit 5 @AfterEach является заменой аннотации @After в JUnit 4.

Читать далее

Туториал по JUnit 5 - Аннотация @BeforeEach

Время на прочтение3 мин
Охват и читатели19K

Это продолжение туториала по JUnit 5. Введение опубликовано здесь.

Аннотация @BeforeEach используется для обозначения того, что аннотированный метод должен выполняться перед каждым методом @Test, @RepeatedTest, @ParameterizedTest, или @TestFactory в текущем классе.

Аннотация JUnit 5 @BeforeEach является одним из методов жизненного цикла и заменяет аннотацию @Before в JUnit 4.

Читать далее

Туториал по JUnit 5 - Аннотация @BeforeAll

Время на прочтение2 мин
Охват и читатели21K

Это продолжение туториала по JUnit 5. Введение опубликовано здесь.

Аннотация JUnit 5 @BeforeAll обозначает метод, который является методом жизненного цикла. @BeforeAllэто замена @BeforeClassаннотации в JUnit 4.

Читать далее

Как внедрить Contract-First OpenAPI и как устроен центр авторизаций

Время на прочтение1 мин
Охват и читатели4.2K

Переходим к докладам по backend с IT-конференции ЮMoneyDay.

Первый кейс о том, как мы внедряли Contract-First. Описали процесс перехода от Сode-First к написанию OpenAPI-спецификаций и генерации кода по ним.

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

Смотреть доклады по backend

Spring Cloud Config — обновление конфигурации

Время на прочтение8 мин
Охват и читатели43K

Spring Cloud Config позволяет хранить настройки конфигурации сервисов в git-репозитории и управлять настройками централизованно.

В этой статье поговорим об обновлении параметров, получаемых с сервера конфигурации.

Читать далее