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

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

1. Введение

1.1. Обзор

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

Мы начнем с некоторых формальных/полуформальных определений фиктивных понятий; затем мы представим тестируемый случай, приведем примеры для каждой библиотеки и в конце сделаем некоторые выводы. Выбранные библиотеки — Mockito , EasyMock и JMockit .

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

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

1. Обзор

В этом кратком руководстве мы рассмотрим наиболее важные типы распространенных исключений NonTransientDataAccessException и проиллюстрируем их примерами.

2. Базовый класс исключений

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

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

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

1. Обзор

В этом руководстве мы поймем основные потребности в системе оркестрации контейнеров.

Оценим желаемую характеристику такой системы. Исходя из этого, мы попытаемся сравнить две самые популярные системы оркестрации контейнеров, используемые сегодня, Apache Mesos и Kubernetes .

2. Контейнерная оркестровка

Прежде чем мы начнем сравнивать Mesos и Kubernetes, давайте потратим некоторое время на то, чтобы понять, что такое контейнеры и зачем нам все-таки нужна оркестрация контейнеров.

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

1. Обзор

Helm — это менеджер пакетов для приложений Kubernetes . В этом руководстве мы разберемся с основами Helm и узнаем, как они образуют мощный инструмент для работы с ресурсами Kubernetes.

За последние годы Kubernetes значительно вырос, как и поддерживающая его экосистема. Недавно Helm получил статус выпускника от Cloud Native Computing Foundation (CNCF) , что свидетельствует о его растущей популярности среди пользователей Kubernetes.

2. Фон

Хотя эти термины довольно распространены в наши дни, особенно среди тех, кто работает с облачными технологиями, давайте быстро пройдемся по ним для тех, кто не знает:

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

1. Обзор

В этом руководстве основное внимание будет уделено созданию различных типов запросов в Spring Data MongoDB .

Мы рассмотрим запросы к документам с помощью классов Query и Criteria , автоматически сгенерированных методов запросов, запросов JSON и QueryDSL.

Чтобы узнать о настройке Maven, ознакомьтесь с нашей вводной статьей .

2. Запрос документов

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

1. Обзор

В этом руководстве мы рассмотрим различные способы чтения из файла в Java .

Во-первых, мы узнаем, как загрузить файл из пути к классам, URL-адреса или из файла JAR, используя стандартные классы Java.

Во-вторых, мы увидим, как читать содержимое с помощью BufferedReader , Scanner , StreamTokenizer , DataInputStream , SequenceInputStream и FileChannel . Мы также обсудим, как читать файл в кодировке UTF-8.

Наконец, мы рассмотрим новые методы загрузки и чтения файла в Java 7 и Java 8.

Эта статья является частью серии «Java — Back to Basic» на ForEach.

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

1. Введение

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

2. Список всех баз данных

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

$ cat redis.conf | grep databases
databases 16

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

1. Обзор

В нашей учебной статье по RAML мы представили язык моделирования RESTful API и создали простое определение API, основанное на единственном объекте с именем Foo . Теперь представьте реальный API, в котором у вас есть несколько ресурсов сущностного типа с одинаковыми или похожими операциями GET, POST, PUT и DELETE. Вы видите, как ваша документация по API может быстро стать утомительной и повторяющейся.

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

2. Наш API

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

1. Цифры 2015 года

Весна 4 вышла в декабре 2013 года, и с тех пор она медленно набирает обороты.

В мае 2015 года я провел опрос , согласно которому степень внедрения Spring 4 составила 65 % , а степень внедрения Spring Boot — 34 % .

2. Новые весенние номера 2016 года

На прошлой неделе я завершил новый опрос «Java и Spring в 2016 году» и получил 2253 ответа от сообщества.

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

1. Обзор

В этом руководстве мы обсудим язык выражений pointcut Spring AOP.

Сначала мы введем некоторую терминологию, используемую в аспектно-ориентированном программировании. Точка соединения — это шаг выполнения программы, такой как выполнение метода или обработка исключения. В Spring AOP точка соединения всегда представляет выполнение метода. Pointcut — это предикат, который соответствует точкам соединения, а язык выражений pointcut это способ программного описания pointcut. ``

2. Использование

Выражение pointcut может отображаться как значение аннотации @Pointcut :