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

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

1. Введение

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

2. Обзор

Обычно при определении контроллера в Spring MVC мы украшаем его методы различными аннотациями, задающими запрос: URL конечной точки, метод HTTP-запроса, переменные пути и так далее.

Мы можем, например, ввести конечную точку /save/{id} , используя указанные аннотации в обычном простом методе:

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

1. Обзор

В этом руководстве мы рассмотрим, чем может помочь аннотация @Qualifier , какие проблемы она решает и как ее использовать.

Мы также объясним, чем она отличается от аннотации @Primary и от автосвязывания по имени.

2. Autowire Необходимость устранения неоднозначности

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

1. Обзор

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

Мы развернем файл WAR на Apache Tomcat , бесплатном веб-сервере с открытым исходным кодом, который широко используется в сообществе Java.

2. Разверните файл WAR на Tomcat

WAR (архив веб-приложений) — это заархивированный файл, который упаковывает все файлы, связанные с веб-приложением, и их структуру каталогов.

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

1. Введение

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

2. Просмотр старых коммитов с помощью git checkout

Начнем с того, что мы можем просмотреть состояние проекта при определенной фиксации с помощью команды git checkout . Мы можем просмотреть историю репозитория Git с помощью команды git log . Каждый коммит имеет уникальный идентификационный хэш SHA-1, который мы можем использовать с git checkout для повторного посещения любого коммита на временной шкале.

В этом примере мы вернемся к коммиту, который имеет идентификационный хэш e0390cd8d75dc0f1115ca9f350ac1a27fddba67d : ``

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

1. Введение

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

Мы создадим простой клиент-серверный сценарий, который позволит нам исследовать API-интерфейсы java.net , доступные для связи TCP/IP.

2. Фон

Приложения Java используют сокеты для связи и отправки данных через Интернет . Java предоставляет класс java.net.Socket для клиентских приложений.

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

1. Обзор

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

В завершение мы рассмотрим поддержку, предоставляемую в Apache Commons I/O, для проверки равенства содержимого двух файлов.

2. Побайтовое сравнение

Давайте начнем с простого подхода к чтению байтов из двух файлов для их последовательного сравнения .

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

1. Обзор

В этой быстрой статье мы рассмотрим MappedByteBuffer в пакете java.nio . Эта утилита может быть очень полезна для эффективного чтения файлов.

2. Как работает MappedByteBuffer

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

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

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

1. Обзор

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

2. Обойти базовый класс испытаний

Предположим, у нас есть класс BaseUnitTest с некоторыми вспомогательными методами:

public class BaseUnitTest {
public void helperMethod() {
// ...
}
}

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

1. Обзор

Apache Kafka — очень популярная платформа потоковой передачи событий, которая часто используется с Docker . Часто у людей возникают проблемы с установлением соединения с Kafka, особенно когда клиент работает не в той же сети Docker или на том же хосте. В первую очередь это связано с неправильной настройкой рекламируемых прослушивателей Kafka.

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

2. Настройте Кафку

Прежде чем мы попытаемся установить соединение, нам нужно запустить брокера Kafka с помощью Docker . Вот фрагмент нашего файла docker-compose.yaml :

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

1. Обзор

KivaKit — это модульная платформа приложений Java, предназначенная для ускорения и упрощения разработки микросервисов и приложений. KivaKit разрабатывается в Telenav с 2011 года. Теперь он доступен как проект с открытым исходным кодом под лицензией Apache на GitHub .

В этой статье мы рассмотрим дизайн KivaKit как набора «мини-фреймворков», которые работают вместе. Кроме того, мы рассмотрим основные функции каждого мини-фреймворка.

2. Мини-фреймворки KivaKit

Заглянув в репозитории kivakit и kivakit-extensions , мы увидим, что KivaKit 1.0 содержит 54 модуля. Мы могли найти это ошеломляющим. Однако, если мы будем действовать шаг за шагом, это не так уж и плохо. Для начала мы можем выбирать, что мы хотим включить в наши проекты. Каждый модуль KivaKit предназначен для самостоятельного использования.