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

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

1. Обзор

При запуске сокет-сервера в нашем Java-приложении API java.net требует, чтобы мы указали свободный номер порта для прослушивания. Номер порта требуется, чтобы уровень TCP мог идентифицировать приложение, для которого предназначены входящие данные.

Явное указание номера порта не всегда является хорошим вариантом, так как приложения могут уже занимать его. Это вызовет исключение ввода/вывода в нашем Java-приложении.

В этом кратком руководстве мы рассмотрим, как проверить состояние определенного порта и как использовать автоматически выделенный порт. Мы рассмотрим, как это можно сделать с помощью простой среды Java и Spring. Мы также рассмотрим некоторые другие реализации серверов, такие как встроенные Tomcat и Jetty.

2. Проверка состояния порта

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

1. Обзор

В этом коротком руководстве мы увидим, как мы можем группировать одинаковые объекты и подсчитывать их количество в Java. Мы будем использовать сборщик groupingBy() в Java.

2. Подсчет вхождений с помощью Collectors.groupingBy()

Collectors.groupingBy() предоставляет функциональные возможности, аналогичные предложению GROUP BY в SQL. Мы можем использовать это для группировки объектов по любому атрибуту и сохранения результатов в Map .

Например, давайте рассмотрим сценарий, в котором нам нужно сгруппировать одинаковые String в потоке и подсчитать их вхождения:

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

1. Обзор

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

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

В этом кратком руководстве мы рассмотрим, как найти различия между двумя списками . Мы попробуем несколько разных подходов, включая обычную Java (с потоками и без них ) и использование сторонних библиотек, таких как Guava и Apache Commons Collections .

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

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

1. Обзор

В выпуске Java SE 15 представлены запечатанные классы ( JEP 360 ) в качестве функции предварительного просмотра.

Эта функция предназначена для включения более тонкого контроля наследования в Java. Запечатывание позволяет классам и интерфейсам определять свои разрешенные подтипы.

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

2. Мотивация

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

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

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

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

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

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

./b4fca6b7551d64e916be22bff9c025dd.png

Основы языка запросов REST

./409d748df9357494e7685154b4d86b27.png

Расширенный язык запросов REST

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

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

Создание полноценной, готовой к работе регистрации для вашего веб-приложения — это гораздо больше, чем просто создание простой страницы регистрации.

Есть много вопросов , на которые нужно ответить:

  • Как проверить адреса электронной почты новых пользователей?
  • Как правильно и безопасно хранить учетные данные пользователя ?
  • Что делать, если пользователь забывает свой пароль ?
  • А как насчет того, чтобы пользователи меняли свой пароль ?
  • Насколько надежными должны быть пароли ? Как я могу применить некоторые разумные значения по умолчанию в приложении, чтобы у моих пользователей были хорошие и надежные пароли?
  • Что делать, если у меня более одного типа пользователей? Мне нужен хороший способ хранения ролей и привилегий .
  • Как насчет секретных вопросов ? Должны ли они вообще быть у меня?
  • Как мне сделать все это с хорошей поддержкой локализации? Есть много сообщений, связанных.

./3b0ef6ea1f242a24a2a6d84120588492.png

Основы процесса регистрации

./80f23d6580a7a9647fb85f71659964eb.png

Расширенный процесс регистрации

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

1. Обзор

Обычно Java не обеспечивает легкий доступ к компьютерному оборудованию. Вот почему нам может быть сложно получить доступ к веб-камере с помощью Java.

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

2. JavaCV

Сначала мы рассмотрим библиотеку javacv . Это Java - реализация Bytedeco библиотеки компьютерного зрения OpenCV .