Список полезных ресурсов для Java-разработчиков 2023.

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

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

javatg – Java в телеграме.

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

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

Мы собрали для вас полезные статьи о повышение производительности Java приложений.

Статьи о производительности 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

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

  • Git Cheat Sheet — Пользуетесь Git? Эта шпаргалка содержит все полезные команды, которые вам нужны, в одном одностраничном pdf-файле.
  • Docker Commands Cheat Sheet  — Получите полезные команды и составьте синтаксис для Docker с помощью этой одностраничной шпаргалки.
  • JUnit Cheat Sheet— Получите полезную информация, а также аннотации и фрагменты кода для работы с Junit.
  • Огромный список шпаргалок Data science на все случаи жизни.
  • 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 и функции обработки данных, в этой одностраничной шпаргалке.

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

AssertJ

JUnit поставляется со своим собственным набором функций (. assertEquals), которые работают для простых сценариев тестирования, но довольно громоздки для работы в более серьезных проектах. AssertJ – это небольшая библиотека, предоставляющая вам отличный набор ассертов, которые вы можете использовать, для эффективного и качественного тестирования. Вы также можете использовать их для написания тестов для файлов 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

Небольшой встроенный Java SMTP-сервер под названием Wiser. Удобен для отправки сообщений и тестирования веб- сервисов.

// mock creation
List mockedList = mock(List.class);
// or even simpler with Mockito 4.10.0+
// List mockedList = mock();

// using mock object - it does not throw any "unexpected interaction" exception
mockedList.add("one");
mockedList.clear();

// selective, explicit, highly readable verification
verify(mockedList).add("one");
verify(mockedList).clear();

Memoryfilesystem

Memoryfilesystem позволяет вам писать тесты для файловой системы, которая полностью хранится в памяти, но при этом может имитировать семантику, специфичную для конкретной ОС, от Windows до macOS и Linux.

Wiser wiser = new Wiser();
wiser.setPort(2500); // Default is 25
wiser.start();

WireMock

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

for (WiserMessage message : wiser.getMessages())
{
 String envelopeSender = message.getEnvelopeSender();
 String envelopeReceiver = message.getEnvelopeReceiver();

 MimeMessage mess = message.getMimeMessage();

 // now do something fun!
}

Testcontainers

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

try (FileSystem fileSystem = MemoryFileSystemBuilder.newEmpty().build()) {
  Path p = fileSystem.getPath("p");
  System.out.println(Files.exists(p));
}

Ресурсы по устранению неполадок 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 и 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 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? Эта ссылка спасёт вам жизнь, если вы только начинаете.

+1
0
+1
6
+1
0
+1
0
+1
0

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *