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

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

1. Обзор

Регистрация событий является важным аспектом разработки программного обеспечения. Несмотря на то, что в экосистеме Java доступно множество фреймворков, Log4J был самым популярным на протяжении десятилетий благодаря гибкости и простоте, которые он обеспечивает.

Log4j 2 — это новая и улучшенная версия классической платформы Log4j.

В этой статье мы представим наиболее распространенные приложения, макеты и фильтры на практических примерах.

В Log4J2 приложение является просто местом назначения для событий журнала; она может быть простой, как консоль, а может быть сложной, как любая СУБД. Макеты определяют, как будут представлены журналы, а фильтры фильтруют данные в соответствии с различными критериями.

2. Настройка

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

1. Обзор

MockServer — это инструмент для имитации/заглушки внешних API-интерфейсов HTTP.

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

Чтобы использовать MockServer в нашем приложении, нам нужно добавить две зависимости:

<dependency>
<groupId>org.mock-server</groupId>
<artifactId>mockserver-netty</artifactId>
<version>3.10.8</version>
</dependency>
<dependency>
<groupId>org.mock-server</groupId>
<artifactId>mockserver-client-java</artifactId>
<version>3.10.8</version>
</dependency>

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

1. Обзор

В этой статье мы сосредоточимся на шаблонах Mustache и воспользуемся одним из его API-интерфейсов Java для создания динамического HTML-контента.

Mustache — это нелогичный механизм шаблонов для создания динамического контента , такого как HTML, файлов конфигурации и прочего.

2. Введение

Проще говоря, движок классифицируется как нелогичный , потому что в нем нет конструкций, поддерживающих операторы if-else и циклы for.

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

1. Обзор

В этой быстрой статье мы создадим небольшое веб-приложение, реализующее шаблон проектирования Model View Controller (MVC) с использованием базовых сервлетов и JSP.

Прежде чем перейти к реализации, мы немного рассмотрим, как работает MVC и его основные функции.

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

Model-View-Controller (MVC) — это шаблон, используемый в разработке программного обеспечения для отделения логики приложения от пользовательского интерфейса. Как следует из названия, шаблон MVC состоит из трех слоев.

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

1. Обзор

Orika — это среда сопоставления Java Bean, которая рекурсивно копирует данные из одного объекта в другой . Это может быть очень полезно при разработке многоуровневых приложений.

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

Некоторые способы добиться этого: жестко запрограммировать логику копирования или реализовать сопоставление компонентов, например Dozer . Однако его можно использовать для упрощения процесса сопоставления между одним слоем объектов и другим.

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

2. Простой пример

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

1. Обзор

Querydsl — это обширная платформа Java, которая помогает создавать и выполнять безопасные по типам запросы на предметно-ориентированном языке, похожем на SQL .

В этой статье мы рассмотрим Querydsl с Java Persistence API.

Небольшое замечание: HQL для Hibernate был первым целевым языком для Querydsl, но в настоящее время он поддерживает JPA, JDO, JDBC, Lucene, Hibernate Search, MongoDB, Collections и RDFBean в качестве серверных частей.

2. Подготовка

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

1. Обзор

Ранее мы представили Ratpack и его интеграцию с Google Guice .

В этой быстрой статье мы покажем, как Ratpack можно интегрировать с Spring Boot.

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

Прежде чем мы продолжим, давайте добавим в наш pom.xml следующую зависимость:

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

1. Обзор

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

2. Улучшение сущности сообщения

Во-первых, давайте начнем с замены старого состояния String в сущности Post гораздо более полным списком ответов на отправку, отслеживая гораздо больше информации:

public class Post {
...
@OneToMany(fetch = FetchType.EAGER, mappedBy = "post")
private List<SubmissionResponse> submissionsResponse;
}

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

1. Обзор

В этом руководстве мы заменим процесс аутентификации OAuth2, поддерживаемый Reddit, более простым входом в систему на основе формы .

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

2. Базовая регистрация пользователя

Во-первых, давайте заменим старый поток аутентификации.

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

1. Обзор

Публикация на Reddit — это дерьмовая съемка. Один пост может преуспеть и привлечь много внимания, в то время как другой, может быть, лучший пост вообще не получит любви. Как насчет того, чтобы следить за этими сообщениями на раннем этапе и, если они не получают достаточного внимания, быстро удалять их и отправлять повторно ?

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

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

2. Дополнительные разрешения Reddit