Для мониторинга сервисов или автоматизации бывает важно быстро понять, сайт отвечает или нет. С современным
HttpClient это можно сделать в несколько строк, отправить запрос, получить код ответа и обработать таймауты.В этом посте:
• Создаём HttpClient и отправляем запрос;
• Получаем статус доступности сайта;
• Добавляем таймаут для медленных сервисов.
Такой способ подходит для утилит, CI/CD, мониторинга и любых скриптов, работающих с внешними API.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7❤6👍5
This media is not supported in your browser
VIEW IN TELEGRAM
Faker — позволяет легко вставлять случайные имена, адреса, номера телефонов, даты и другие данные прямо в ваш код.
Очень удобно при разработке и тестировании, особенно если нужно наполнить макеты реалистичными значениями.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤5🔥3😁1
Создаём ZIP-архив из нескольких файлов!
Иногда нужно собрать несколько файлов в один архив. Java умеет делать ZIP без сторонних библиотек только стандартный пакет
Готовим список файлов, которые нужно упаковать:
Указываем имя будущего ZIP-архива и путь к нему:
Открываем поток для записи ZIP-архива:
Добавляем каждый файл в архив как отдельную запись:
Закрываем архив и сообщаем пользователю о результате:
🔥 В итоге получаем
👉 Java Ready | #практика
Иногда нужно собрать несколько файлов в один архив. Java умеет делать ZIP без сторонних библиотек только стандартный пакет
java.util.zip. Достаточно перечислить файлы, открыть поток и записать их в архив по очереди.Готовим список файлов, которые нужно упаковать:
var files = java.util.List.of(
"notes.txt",
"image.png",
"data.json"
);
Указываем имя будущего ZIP-архива и путь к нему:
var zipPath = java.nio.file.Path.of("archive.zip");Открываем поток для записи ZIP-архива:
var zip = new java.util.zip.ZipOutputStream(
java.nio.file.Files.newOutputStream(zipPath)
);
Добавляем каждый файл в архив как отдельную запись:
for (var name : files) {
var path = java.nio.file.Path.of(name);
zip.putNextEntry(new java.util.zip.ZipEntry(path.getFileName().toString()));
java.nio.file.Files.copy(path, zip);
zip.closeEntry();
}Закрываем архив и сообщаем пользователю о результате:
zip.close();
System.out.println("Готово! Файлы упакованы в " + zipPath);
🔥 В итоге получаем
archive.zip, в котором лежат все указанные файлы.Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤5🔥4
This media is not supported in your browser
VIEW IN TELEGRAM
Сайт с огромной коллекцией задач по программированию, от самых простых до тех, что реально заставят подумать.
Учиться можно на абсолютно любом языке. Отличный способ подтянуть логику, научиться писать аккуратный код и подготовиться к собесам.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥6🤝5
Получение хоста и локального IP
Когда нужно узнать имя машины или её локальный IP, класс
Получаем информацию о текущем устройстве:
Имя хоста:
Локальный IP-адрес машины:
🔥 Часто используется для логирования, настройки сетевых сервисов, диагностики и внутренних API.
👉 Java Ready | #совет
Когда нужно узнать имя машины или её локальный IP, класс
InetAddress делает это в один вызов.Получаем информацию о текущем устройстве:
InetAddress host = InetAddress.getLocalHost();
Имя хоста:
System.out.println("Имя хоста: " + host.getHostName());Локальный IP-адрес машины:
System.out.println("IP-адрес: " + host.getHostAddress());🔥 Часто используется для логирования, настройки сетевых сервисов, диагностики и внутренних API.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤5🔥4
Когда нужно генерировать уникальные значения или надёжные случайные числа, лучше использовать более мощные инструменты, чем просто new Random(). Они обеспечивают большую надёжность и безопасность.Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10❤7👍6🤝1
Микросервисная архитектура это подход, при котором приложения делятся на независимые сервисы, каждый из которых выполняет свою задачу.
На картинке собраны основные компоненты для создания микросервисов, базы данных, брокеры сообщений, языки программирования, мониторинг, контейнеризация и безопасность.
Сохрани, чтобы всегда быть в курсе!
Please open Telegram to view this post
VIEW IN TELEGRAM
❤9🔥7👍5
Конвертация текста в морзянку!
Морзянка это система представления символов с помощью точек и тире. Мы будем использовать
Создаём таблицу для букв и их кодов:
Делаем функцию для перевода текста в морзянку:
Проходим по каждому символу в строке:
Завершаем функцию и возвращаем результат:
🔥 В итоге получаем перевод текста в морзянку.
👉 Java Ready | #практика
Морзянка это система представления символов с помощью точек и тире. Мы будем использовать
HashMap, чтобы сопоставить символы с их морзянским эквивалентом.Создаём таблицу для букв и их кодов:
var morseCode = new java.util.HashMap<Character, String>();
morseCode.put('A', ".-");
morseCode.put('B', "-...");
Делаем функцию для перевода текста в морзянку:
public String toMorse(String text) {
StringBuilder morseText = new StringBuilder();
text = text.toUpperCase();Проходим по каждому символу в строке:
for (char c : text.toCharArray()) {
if (morseCode.containsKey(c)) {
morseText.append(morseCode.get(c)).append(" ");
} else if (c == ' ') {
morseText.append(" / "); // Пробел разделяет слова
}
}Завершаем функцию и возвращаем результат:
return morseText.toString().trim();
}
🔥 В итоге получаем перевод текста в морзянку.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7👍4🔥3
Автор рассказывает про готовый Spring Boot Starter, который упрощает разработку Telegram-ботов и избавляет от рутинной конфигурации.
В этой статье:
• Быстрый старт бота
• Управление жизненным циклом
• Готовая архитектура
• Маршрутизация и обработка ошибок
• Open Source проект с исходниками на GitHub
🔊 Читать статью на Habr!
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6🔥6👍5
Конвертация миллисекунд в секунды и минуты!
В Java время часто приходит в миллисекундах, например в таймерах, логах, замерах производительности. Чтобы читать такие значения нормально, их удобно быстро переводить.
Исходное значение:
Перевод в секунды:
Перевод в минуты:
🔥 Полезно для логов, таймеров и статистики выполнения кода.
👉 Java Ready | #совет
В Java время часто приходит в миллисекундах, например в таймерах, логах, замерах производительности. Чтобы читать такие значения нормально, их удобно быстро переводить.
Исходное значение:
long millis = 123456;
Перевод в секунды:
long seconds = millis / 1000;
Перевод в минуты:
long minutes = millis / 60000;
Please open Telegram to view this post
VIEW IN TELEGRAM
😁10👍7❤6🔥5
Чтение данных из XML-файла!
Указываем путь к XML-файлу и создаём парсер:
Читаем
Достаём список элементов по тегу:
Вытаскиваем поля из первого элемента:
🔥 В итоге мы читаем
👉 Java Ready | #практика
XML до сих пор встречается в конфигах, интеграциях и старых API. В Java можно читать его без библиотек, через стандартный DOM-парсер.Указываем путь к XML-файлу и создаём парсер:
var path = java.nio.file.Path.of("data.xml");
var factory = javax.xml.parsers.DocumentBuilderFactory.newInstance();
var builder = factory.newDocumentBuilder();Читаем
XML и получаем Document:var doc = builder.parse(path.toFile());
doc.getDocumentElement().normalize();
Достаём список элементов по тегу:
var users = doc.getElementsByTagName("user");
System.out.println("Найдено user: " + users.getLength());Вытаскиваем поля из первого элемента:
var first = (org.w3c.dom.Element) users.item(0);
System.out.println(first.getElementsByTagName("name").item(0).getTextContent());
System.out.println(first.getElementsByTagName("age").item(0).getTextContent());
🔥 В итоге мы читаем
XML как структуру и достаём нужные значения по тегам.Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥5❤4
При работе с файлами из разных систем и источников важно корректно определить их кодировку перед чтением.
В этой задаче:
• Анализируем содержимое;
• Используем детектор кодировки;
• Получаем кодировку.
Такой подход особенно полезен при импорте файлов,
CSV и данных из внешних систем.Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8❤4👍4