Pull to refresh
134
0
Send message

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

Reading time2 min
Views4.8K

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

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

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

Читать далее
Total votes 5: ↑2 and ↓3+1
Comments3

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

Reading time14 min
Views26K

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

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

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

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

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

Читать далее
Total votes 12: ↑11 and ↓1+12
Comments6

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

Reading time7 min
Views57K

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

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

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

Читать далее
Total votes 3: ↑2 and ↓1+1
Comments0

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

Reading time3 min
Views4.7K

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

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

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

Читать далее
Total votes 5: ↑2 and ↓3-1
Comments0

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

Reading time2 min
Views5.2K

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

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

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

Читать далее
Total votes 5: ↑2 and ↓3-1
Comments3

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

Reading time3 min
Views13K

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

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

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

Читать далее
Total votes 5: ↑2 and ↓3-1
Comments0

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

Reading time2 min
Views15K

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

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

Читать далее
Total votes 5: ↑2 and ↓3-1
Comments2

Туториал по JUnit 5 - Жизненный цикл JUnit 5 теста

Reading time4 min
Views15K

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

В JUnit 5 жизненный цикл теста управляется четырьмя основными аннотациями, то есть @BeforeAll, @BeforeEach, @AfterEach и @AfterAll. Вместе с тем, каждый тестовый метод должен быть помечен аннотацией @Test из пакета org.junit.jupiter.api.

Читать далее
Total votes 3: ↑2 and ↓1+1
Comments0

Туториал по JUnit 5  - Введение

Reading time6 min
Views103K

В этом туториале по JUnit 5 рассказывается о том, как JUnit адаптировал стиль кодирования Java 8 и некоторые другие функции. Узнайте, чем JUnit 5 отличается от JUnit 4.

JUnit 5 - наиболее широко используемая среда тестирования для приложений Java. JUnit долгое время отлично справлялся со своей задачей.

Между тем, JDK 8 привнес в java интересные функции и, в первую очередь, лямбда-выражения. JUnit 5 был нацелен на адаптацию стиля программирования Java 8; вот почему Java 8 является минимально необходимой версией для создания и выполнения тестов в JUnit 5 (хотя можно запускать тесты, написанные с помощью JUnit 3 или JUnit 4 для обратной совместимости).

Читать далее
Total votes 11: ↑11 and ↓0+11
Comments3

JUnit — создание отчетов в формате HTML

Reading time3 min
Views8.9K

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

Рассмотрим как создавать HTML-отчет для результатов выполнения тестов JUnit. В этом примере я создаю HTML-отчет для проекта JUnit-Examples, представленного на Github.

Читать далее
Total votes 2: ↑2 and ↓0+2
Comments2

8 советов по отладке для пользователей IntelliJ IDEA, о существовании которых вы возможно не знали

Reading time5 min
Views16K

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

Но давайте будем честными. Обычно мы используем только опцию точки останова. При большом желании мы можем использовать условную точку останова.

Но знаете что, отладчик IntelliJ IDEA имеет множество мощных и передовых функций, которые полезны для более эффективной и простой отладки. 

Чтобы помочь вам, мы составили список советов и приемов от наших разработчиков в Lightrun. Мы надеемся, что эти советы помогут вам быстрее находить и устранять ошибки.

Читать далее
Total votes 7: ↑5 and ↓2+3
Comments6

Нулевое время простоя при изменениях базы данных с помощью флагов функций — шаг за шагом

Reading time8 min
Views2.7K

Каждый раз, когда мы вносим изменение в схему нашей базы данных, мы также должны вносить изменения в код, который использует эту схему базы данных.

Когда мы добавляем новый столбец в базу данных, нам нужно изменить код, чтобы использовать этот новый столбец.

Когда мы удаляем столбец из базы данных, нам нужно изменить код, чтобы этот столбец больше не использовался.

В этом руководстве мы обсудим, как мы можем координировать изменения кода с изменениями базы данных и развертывать их в нашей производственной среде без простоев. 

Мы шаг за шагом рассмотрим пример сценария использования и воспользуемся флагами функций, помогающими нам выполнить изменения.

Читать далее
Total votes 7: ↑6 and ↓1+8
Comments6

Археология Git: назад и вперед во времени

Reading time6 min
Views4.7K

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

Большинство людей начнут с использования «git blame» (или соответствующей функциональности в своей среде IDE/редакторе). Но в большинстве нетривиальных проектов вы обычно заканчиваете коммитом рефакторинга, переименованием или тривиальным исправлением проекта, например переключением на другую библиотеку assertion. При первом взгляде, мы видим только самые последние изменения, но не самые важные.

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

Читать далее
Total votes 5: ↑4 and ↓1+3
Comments0

Hazelcast + Kibana: лучшие друзья для исследования и визуализации данных

Reading time28 min
Views2.2K

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

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

Читать далее
Rating0
Comments1

Ускорение Maven сборки в Docker

Reading time5 min
Views8.9K

Ранее я описал различные методы ускорения ваших Maven сборок. 

Сегодня я хотел бы расширить их область применения и сделать то же самое для сборок Maven внутри Docker.

Читать далее
Total votes 5: ↑5 and ↓0+5
Comments3

Создайте средство проверки на плагиат с помощью машинного обучения

Reading time9 min
Views7.8K

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

Плагиат широко распространен в Интернете и в процессе обучения. При большом количестве контента иногда трудно определить, когда что-то стало плагиатом. 

Авторы, пишущие сообщения в блогах, могут захотеть проверить, не украл ли кто-то их работу и не разместил ли ее в другом месте. Учителя могут захотеть сравнить работы студентов с другими научными статьями на предмет скопированных работ. Новостные агентства могут захотеть проверить, не украла ли контент ферма их новостные статьи и не презентовала ли на это содержание как на свое.

Итак, как нам защититься от плагиата? Разве не было бы хорошо, если бы у нас было программное обеспечение, которое делало бы за нас всю тяжелую работу? 

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

Мы создадим Python Flask приложение, которое использует  Pinecone - службу поиска сходства для поиска возможного плагиата.

Читать далее
Total votes 2: ↑1 and ↓10
Comments4

Оценка событий JDK Flight Recorder с помощью JfrUnit

Reading time5 min
Views1.4K

Гуннар Морлинг, разработчик программного обеспечения с открытым исходным кодом в Red Hat, представил JfrUnit, новую утилиту тестирования, которую можно использовать для обнаружения снижения производительности с JUnit или Spock Framework. Интерпретация результатов тестирования производительности, таких как время отклика, может быть затруднена, поскольку могут быть регрессии, вызванные другими факторами, такими как другие процессы или сеть, а не самим приложением. JfrUnit может использоваться для тестирования производительности приложения путем измерения распределения памяти, операций ввода-вывода, запросов к базе данных или других элементов, зависящих от приложения.

JDK Flight Recorder (JFR) собирает события из запущенного приложения, которые могут использоваться для диагностики или профилирования приложения. Эти события могут быть практически любыми, от выделения памяти до сборки мусора. 

Инструмент можно использовать непосредственно из командной строки, но он часто используется вместе с JDK Mission Control, предоставляющим графический интерфейс и различные плагины, которые можно использовать вместе с JFR. JfrUnit позволяет создавать утверждения, проверяющие события JFR из приложения.

Читать далее
Total votes 1: ↑1 and ↓0+1
Comments0

Ускорение Maven сборки

Reading time6 min
Views8.3K

Узнайте, как сделать сборки Maven более быстрыми и эффективными

В этом посте я хочу подробно рассказать о некоторых методах, которые вы можете использовать для ускорения сборки Maven. 

Читать далее
Total votes 12: ↑12 and ↓0+12
Comments7

Посмотрите, как Google отслеживает ваше местоположение. С Python, Jupyter, Pandas, Geopandas и Matplotlib

Reading time8 min
Views50K

В отделе продаж можно услышать аббревиатуру ABC: Always Be Closing, что означает заключение сделки с покупателем. Последнее десятилетие породило еще одну аббревиатуру ABCD: Always Be Collecting Data

Мы используем Google для почты, карт, фотографий, хранилищ, видео и многого другого. Мы используем Twitter, чтобы читать поток сознания одного президента. Мы используем Facebook для обмена сообщениями и… ну, почти все. Но наши родители пользуются им. Мы используем TikTok… Понятия не имею, зачем. 

На самом деле, оказывается, что большинство из вышеперечисленного бесполезно… Ничего подобного, суть в том, что мы их используем. Мы их используем, и они бесплатны. В экономике XXI века, если вы не платите за товар, вы являетесь товаром. 

Итак, короче говоря, я хотел выяснить, насколько корпорация Alphabet, владелец Google, обо мне знает. Крошечная доля, я посмотрел на историю геолокации. Я никогда не отключал службы определения местоположения, потому что ценил комфорт выше конфиденциальности. Плохая идея.

Читать далее
Total votes 51: ↑50 and ↓1+58
Comments53

Выполнение запланированных заданий в Spring Boot

Reading time12 min
Views90K

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

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

Читать далее
Total votes 5: ↑4 and ↓1+6
Comments4

Information

Rating
Does not participate
Registered
Activity