Перейти к основному содержимому

· 3 мин. чтения

1. Обзор

В этом уроке мы объясним, что такое якорь доверия. Кроме того, мы покажем расположение TrustStore по умолчанию и ожидаемый формат файла. Наконец, уточним причины ошибки: « java.security.InvalidAlgorithmParameterException : параметр Trust Anchors должен быть непустым».

2. Определение якоря доверия

Давайте сначала объясним, что такое якорь доверия . В криптографических системах якорь доверия определяет корневой объект, для которого предполагается и выводится доверие . В таких архитектурах, как X.509, корневой сертификат является якорем доверия. Кроме того, корневой сертификат гарантирует доверие ко всем другим сертификатам в цепочке.

3. Расположение и формат TrustStore

· 7 мин. чтения

1. Обзор

Jenkins — это сервер автоматизации с открытым исходным кодом для автоматизации частичных и полных циклов разработки программного обеспечения. Это облегчает непрерывную интеграцию и непрерывную доставку .

Благодаря Jenkins у нас есть возможность предоставлять разные уровни безопасности разным пользователям. По умолчанию нам не нужно предоставлять полный доступ всем пользователям.

Безопасность Jenkins можно просмотреть, сбросить или полностью отключить из консоли Jenkins (UI) и командной строки. Используя командную строку, нам нужно изменить конфигурацию Jenkins.

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

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

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

· 5 мин. чтения

1. Обзор

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

2. Настройка проекта

Мы создадим простой API продуктов, который предоставляет методы для создания и получения продуктов.

Чтобы создать REST API с нуля, мы можем следовать этому руководству из Spring Docs, чтобы создать веб-службу RESTful с использованием Spring Boot.

· 4 мин. чтения

1. Введение

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

В этой статье мы рассмотрим Awaitility — библиотеку, предоставляющую простой предметно-ориентированный язык (DSL) для тестирования асинхронных систем .

С Awaitility мы можем выразить наши ожидания от системы в удобном для чтения DSL.

2. Зависимости

· 3 мин. чтения

1. Обзор

В этом кратком руководстве мы представим различные методы инициализации HashSet со значениями во время его создания.

Чтобы вместо этого изучить возможности HashSet , обратитесь к этой основной статье здесь .

Мы рассмотрим встроенные методы Java начиная с Java 5 и ранее , а затем рассмотрим новые механизмы, представленные начиная с Java 8.

Мы также увидим пользовательский служебный метод и, наконец, изучим функции, предоставляемые сторонними библиотеками коллекций , в частности Google Guava.

Если мы уже перешли на JDK9+, мы можем просто использовать методы фабрики коллекций.

· 8 мин. чтения

1. Обзор

Stream API предоставляет богатый набор промежуточных, редукционных и терминальных функций, которые также поддерживают распараллеливание.

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

В этом руководстве мы рассмотрим операцию Stream.reduce() общего назначения и рассмотрим ее в некоторых конкретных случаях использования.

2. Ключевые понятия: тождество, аккумулятор и сумматор.

· 6 мин. чтения

1. Обзор

В этом руководстве мы собираемся исследовать метод System.gc() , расположенный в пакете java.lang .

Явный вызов System.gc() известен как плохая практика. Давайте попробуем понять, почему и есть ли какие-либо варианты использования, когда вызов этого метода может быть полезен.

2. Сбор мусора

Виртуальная машина Java решает выполнить сборку мусора, когда есть признаки для этого. Эти указания отличаются от одной реализации GC к другой. Они основаны на разных эвристиках. Тем не менее, есть несколько моментов, когда GC будет выполнен точно:

· 7 мин. чтения

1. Обзор

Это вводное руководство по JAXB (архитектура Java для привязки XML).

Сначала мы покажем, как преобразовывать объекты Java в XML и наоборот.

Затем мы сосредоточимся на создании классов Java из схемы XML и наоборот с помощью подключаемого модуля JAXB-2 Maven.

2. Введение в JAXB

· 6 мин. чтения

1. Обзор

В этом руководстве мы создадим REST API поиска/фильтрации с использованием Spring Data JPA и спецификаций.

Мы начали рассматривать язык запросов в первой статье этой серии с решения на основе критериев JPA.

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

2. Объект пользователя

· 3 мин. чтения

1. Обзор

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

В этом уроке мы попытаемся понять, почему мы видим это сообщение и как его решить.

2. Понимание предупреждения

Во-первых, давайте посмотрим на пример предупреждения: