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

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

1. Обзор

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

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

2. Настройка Auth0

2.1. Auth0 Регистрация

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

1. Обзор

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

2. Стирание

Иногда нам нужно передать определенную информацию о типе методу . Например, здесь мы ожидаем, что Джексон преобразует массив байтов JSON в строку:

byte[] data = // fetch json from somewhere
String json = objectMapper.readValue(data, String.class);

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

1. Обзор

Разделение компонентов программного обеспечения является одной из наиболее важных частей проектирования программного обеспечения. Одним из способов достижения этого является использование систем обмена сообщениями, которые обеспечивают асинхронный способ связи между компонентами (сервисами). В этой статье мы рассмотрим одну из таких систем: RabbitMQ.

RabbitMQ — это брокер сообщений, который реализует протокол расширенной очереди сообщений ( AMQP ). Он предоставляет клиентские библиотеки для основных языков программирования.

Помимо использования для развязки программных компонентов RabbitMQ может использоваться для:

  • Выполнение фоновых операций
  • Выполнение асинхронной операции

2. Модель обмена сообщениями

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

1. Введение

В этом кратком руководстве мы рассмотрим различия между областями памяти PermGen и Metaspace в среде Java.

Важно иметь в виду, что, начиная с Java 8, Metaspace заменяет PermGen, внося некоторые существенные изменения.

2. ПермГен

PermGen (Permanent Generation) — это специальное пространство кучи, отделенное от кучи основной памяти .

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

Статический анализ кода — это метод анализа исходного кода программ без их запуска.

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

Итак, давайте прыгнем в него.

>> Введение в метрики качества кода

Общий обзор некоторых критических дефектов, обнаруженных инструментами статического анализа.

>> Инструменты статического анализа Java

Как интегрировать три широко используемых инструмента статического анализа с Eclipse и IntelliJ IDEA.

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

Ява

Давайте начнем с двух новых статей в блоге jOOQ — первая — это подробное описание использования лямбда-выражений для доступа к базе данных , а вторая — взгляд на новую необязательную семантику в Java 8:

=> Java 8 произведет революцию в доступе к базам данных

=> Необязательный останется опцией в Java

Поскольку Java 8 уже вышла, мы увидим несколько хороших статей о том, как она повлияет на то, как мы пишем код в будущем. Это одна из этих статей, и она хорошая:

=> Абстрактный класс по сравнению с интерфейсом в эпоху JDK 8

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

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

Вот так…

1. Весна и Ява

>> Внедрение HAL Hypermedia REST API с использованием Spring HATEOAS [ opencredo.com ]

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

Надежная практическая статья, подробно описывающая то, что вам нужно знать при реализации Hypermedia API с помощью Spring .

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

Вот так…

1. Весна и Ява

>> Список всех функций Java и JVM, начиная с JDK 8, по категориям [ advancedweb.hu ]

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

>> Нажмите Сравнить тестирование с Diferencia и Java Microservices [ infoq.com ]

Хорошее введение в метод тестирования «сравнение касанием» для проверки того, является ли новая версия сервиса обратно совместимой с существующей версией . Определенно стоит прочитать, если вы работаете с API.

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

1. Overview

By design, classes annotated with @Repository, @Service, @Controller , etc. are managed by Spring and injecting configuration there is easy and natural. What's not as simple is passing configuration to classes that are not directly managed by Spring.

In that case, we can use ClassLoader- based configuration loading or simply instantiate our classes in another bean and set required params manually – this is the suggested option because configuration entries don't need to be stored in *.properties files exclusively.

In this quick article, we are going to cover the topic of loading *.properties files with Java ClassLoader as well as injection of already loaded configuration by Spring into an unmanaged class.

2. Load Configuration With Class Loader

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

1. Обзор

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

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

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

2. База данных Н2