{"id":14290,"url":"\/distributions\/14290\/click?bit=1&hash=bece6ae8cf715298895ba844b6416416882fe02c5d18dab2837319deacd2c478","title":"\u041a\u043e\u0440\u043f\u043e\u0440\u0430\u0446\u0438\u0438 \u043a\u0430\u043a \u043d\u0438\u043a\u043e\u0433\u0434\u0430 \u0440\u0430\u043d\u044c\u0448\u0435 \u0445\u043e\u0442\u044f\u0442 \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u0447\u0430\u0442\u044c \u0441 \u043c\u0430\u043b\u044b\u043c \u0431\u0438\u0437\u043d\u0435\u0441\u043e\u043c","buttonText":"","imageUuid":""}

Потрясающие инструменты для Java-разработчиков 2023

Приветствую всех читателей!

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

Библиотеки для модульного и интеграционного тестирования

AssertJ

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

Awaitility

Тестирование асинхронных рабочих процессов - это всегда сложно. Как только вы захотите убедиться, что, например, посредник сообщений получил или отправил определённое сообщение, вы столкнётесь с проблемами, потому что ваш локальный тестовый код выполняется быстрее, чем когда-либо выполнялся бы любой асинхронный код. Библиотека Awaitility - это инструмент, который позволяет вам писать утверждения синхронным образом!

// basic assertions assertThat(frodo.getName()).isEqualTo("Frodo"); assertThat(frodo).isNotEqualTo(sauron); // chaining string specific assertions assertThat(frodo.getName()).startsWith("Fro") .endsWith("do") .isEqualToIgnoringCase("frodo");

Mockito

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

@Test public void updatesCustomerStatus() { // Publish an asynchronous message to a broker (e.g. RabbitMQ): messageBroker.publishMessage(updateCustomerStatusMessage); // Awaitility lets you wait until the asynchronous operation completes: await().atMost(5, SECONDS).until(customerStatusIsUpdated()); ... }

Wiser

Сохранение вашего кода как можно ближе к рабочей среде - это хорошая стратегия. Например, когда вы хотите отправлять электронные письма, вам не нужно ни полностью имитировать свой код электронной почты, ни фактически отправлять их через Gmail или Amazon SES. Вместо этого вы можете загрузить небольшой встроенный Java SMTP-сервер под названием Wiser.

Memoryfilesystem

Если вы пишете систему, которая в значительной степени зависит от файлов, всегда возникает вопрос: “Как вы будете её тестировать?” Доступ к файловой системе несколько медленный, а также хрупкий, особенно если ваши разработчики работают в разных операционных системах. Memoryfilesystem спешит на помощь! Она позволяет вам писать тесты для файловой системы, которая полностью хранится в памяти, но при этом может имитировать семантику, специфичную для конкретной ОС, от Windows до macOS и Linux.

WireMock

Как обрабатывать ненадёжные сторонние REST-сервисы или API-интерфейсы в ваших тестах? Легко! Используйте WireMock. Эта библиотека позволяет вам создавать полномасштабные макеты любого стороннего API с очень простым DSL. Вы можете не только указать конкретные ответы, которые будет возвращать ваш API, но даже зайти так далеко, чтобы внедрить случайные задержки и другое неопределённое поведение на свой сервер.

Testcontainers

Использование макетов или встроенных замен для баз данных, почтовых серверов или очередей сообщений - это хорошо, но ничто не сравнится с использованием "реальных вещей". Например, Testcontainers: небольшая библиотека, которая позволяет вам загружать и отключать любой контейнер Docker (и, следовательно, программное обеспечение), который вам нужен для ваших тестов. Это означает, что ваша тестовая среда может быть максимально приближена к производственной.

Ресурсы по устранению неполадок JRebel

Возникли проблемы с JRebel? У нас есть множество инструментов по устранению неполадок JRebel! Вот некоторые из них:

  • Server or Application Won’t Start - Попробуйте эти советы по устранению неполадок приложения или сервера, которые не запускаются во время настройки JRebel.
  • JRebel Won’t Start - Если JRebel не запускается, эти ресурсы могут помочь вам устранить проблему.
  • JRebel License Expired - Если вы получаете сообщение об ошибке, показывающее, что срок действия JRebel истёк, эта документация может помочь.
  • Classes or Resources Not Reloading - Если у вас возникли проблемы с тем, что классы и ресурсы не перезагружаются при использовании JRebel, это руководство может помочь.

Полезные ресурсы Java для повышения производительности приложений

Любой разработчик может создать приложение, но для создания приложения, которое хорошо работает, требуется взвешенный и тщательный подход. Чтобы помочь разработчикам, наши эксперты по Java неустанно работают над созданием новых руководств и ресурсов для повышения производительности ЯП Java.Будь то руководство по решению простых проблем N + 1 или по использованию шаблонов отказоустойчивости в сложных приложениях микросервисов, наши руководства дают представление о том, как разработчики могут создавать более производительные приложения до того, как они попадут в производство.

Статьи о производительности Java

  • How to Find Microservices Performance Issues — Смотрите способы, с помощью которых разработчики могут находить проблемы с производительностью микросервисов на всех этапах разработки.
  • Common Performance Problems With Microservices — Смотрите общие проблемы с производительностью, лежащие в основе низкой производительности микросервисов в Java.
  • Solving the N+1 Problem in Java — Работаете с СУБД? Лучше держите эту статью поблизости для решения проблемы N + 1.
  • How to Improve JPA Performance — Работаете с JPA? Это руководство может показать вам, как повысить производительность разработки на JPA.
  • Four Best Practices for JPA Performance — В этой статье показано, как проводить активную разработку для улучшения приложений на JPA.
  • Performance Tuning Garbage Collection — В этой статье показано, как настроить сборщики мусора Java для оптимальной производительности.

Технические документы по производительности Java

  • Developer’s Guide to Microservices Performance - Если вы переходите на микросервисное приложение или создаёте его, важно учитывать фактор производительности. В этом руководстве даются ключевые рекомендации разработчикам, делающим решительный шаг в данную сферу.
  • Top 5 Best Practices for Streamlining Java Development - Написание производительного кода - это одно, но принимаете ли вы во внимание производительность разработчика? В этом техническом документе показаны пять способов улучшения процессов разработки на Java.

Вебинары и видеоролики по производительности Java

  • Improving Performance in Java Microservices — Смотрите способы повышения производительности в микросервисах Java на этом вебинаре от наших специалистов по Java.
  • Eight Ways to Improve Java Microservices Performance — В дополнение к предыдущему вебинару, в этом источнике показаны дополнительные способы повышения производительности микросервисов Java.
  • JRebel and XRebel With Microservices and Docker — В этом видео показано, как JRebel и XRebel работают в тандеме, чтобы быстро устранить проблему с производительностью в приложении микросервисов на базе контейнера Docker.

Полезные шпаргалки по Java

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

Шпаргалки по языку Java

Если вы работаете с Java 8, Java 9 или одной из этих популярных версий, эти шпаргалки помогут вам разобраться с синтаксисом и базовыми понятиями:

  • Java 8 Cheat Sheet — Эта шпаргалка Java версии 8 включает разделы о методах, лямбдах и многом другом.
  • Java 9 Modules Cheat Sheet — Смотрите, как управлять модулями, а также различными параметрами командной строки, необходимыми для работы с ними, в этой шпаргалке.
  • Java Collections Cheat Sheet — Эта шпаргалка Java collections даёт простой обзор возможностей Java collection и библиотек.
  • JVM Options Cheat Sheet — Эта шпаргалка содержит одностраничное руководство по стандартным, нестандартным и расширенным опциям в JVM.
  • Java Streams Cheat Sheet — В этой шпаргалке рассматриваются потоки, параллельные потоки и полезные операции для работы с потоками Java.
  • Java Regex Cheat Sheet — От классов символов до шаблонов. Эта шпаргалка охватывает все необходимое для работы с регулярными выражениями Java.
  • Java Generics Cheat Sheet — Это руководство с основами, подстановочными знаками, PEC, а также визуализациями ковариации и контравариантности помогает разработчикам работать с Java generics.

Шпаргалки по технологиям Java

Работаете с Docker, Spring или SQL? Эти шпаргалки по технологиям Java помогут вам запомнить различные команды и аннотации, необходимые для взаимодействия с ними.

  • Git Cheat Sheet — Пользуетесь Git? Эта шпаргалка содержит все полезные команды, которые вам нужны, в одном одностраничном pdf-файле.
  • Docker Commands Cheat Sheet — Получите полезные команды и составьте синтаксис для Docker с помощью этой одностраничной шпаргалки.
  • JUnit Cheat Sheet— Получите полезную информация, а также аннотации и фрагменты кода для работы с Junit.
  • SQL Cheat Sheet — От базовых запросов до служебных функций, наша шпаргалка по SQL содержит полезную информацию, облегчающую использование SQL.
  • Maven Options Cheat Sheet — Пользуетесь Maven? В этой шпаргалке рассматриваются полезные параметры командной строки, основные плагины и многое другое.
  • Spring Annotations Cheat Sheet — Если вы работаете в Spring Boot, Spring Cloud или Spring Framework, эта шпаргалка по аннотациям облегчит вам жизнь.
  • RxJava Cheat Sheet — Ознакомьтесь с основами RxJava, включая классы, наблюдаемые объекты, RxBindings и функции обработки данных, в этой одностраничной шпаргалке.

Шпаргалки для Java IDE

Независимо от того, работаете ли вы с IntelliJ IDEA, Eclipse или NetBeans, наши шпаргалки предоставят вам сочетания клавиш, необходимые для быстрой навигации по этим Java IDE.

Не уверены, какую среду разработки использовать? Узнайте об этом в нашем руководстве по лучшим Java IDE.

  • NetBeans Shortcuts Cheat Sheet— Эта одностраничная шпаргалка NetBeans shortcuts в формате PDF упрощает начало работы с NetBeans.
  • IntelliJ Shortcuts Cheat Sheet — один из многих разработчиков, использующих IntelliJ? Эта шпаргалка может помочь вам сэкономить некоторое время.
  • Eclipse Shortcuts Cheat Sheet — Используете Eclipse IDE? Эта ссылка спасёт вам жизнь, если вы только начинаете.

Статья была взята из этого источника:

0
Комментарии
-3 комментариев
Раскрывать всегда