Java Ready | Программирование
8.89K subscribers
1.22K photos
60 videos
1 file
599 links
Авторский канал по разработке на Java.
Ресурсы, гайды, задачи, шпаргалки.
Информация ежедневно пополняется!

Автор: @energy_it

Реклама на бирже: https://telega.in/c/java_ready
Download Telegram
📂 Напоминалка по методам String!

В Java строки неизменяемы, и для работы с ними есть десятки встроенных методов.

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

Сохрани себе что бы не потерять!

👉 Java Ready | #ресурс
Please open Telegram to view this post
VIEW IN TELEGRAM
9👍7🔥4😁1
Создание HTML-файла с таблицей данных!

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

Подготавливаем данные для таблицы:
var rows = java.util.List.of(
new String[]{"Имя", "Возраст", "Город"},
new String[]{"Alice", "22", "Paris"},
new String[]{"Bob", "30", "Berlin"}
);


Создаём базовый каркас HTML-страницы:
var sb = new StringBuilder();
sb.append("""
<!DOCTYPE html>
<html><head><meta charset="UTF-8">
<style>table,td,th{border:1px solid #000;border-collapse:collapse;padding:4px;}</style>
</head><body><table>
""");


Добавляем строки таблицы, первая строка будет заголовком:
for (int i = 0; i < rows.size(); i++) {
var r = rows.get(i);
sb.append("<tr>");
for (var cell : r) {
var tag = (i == 0) ? "th" : "td";
sb.append("<").append(tag).append(">")
.append(cell)
.append("</").append(tag).append(">");
}
sb.append("</tr>");
}


Закрываем HTML-структуру:
sb.append("</table></body></html>");


Сохраняем готовый HTML в файл:
java.nio.file.Files.writeString(
java.nio.file.Path.of("report.html"),
sb.toString()
);


🔥 В результате появляется файл report.html, таблица с данными, которую можно открыть в браузере или отправить в отчёте.

👉 Java Ready | #практика
Please open Telegram to view this post
VIEW IN TELEGRAM
7👍4🔥3
👩‍💻 Проверяем доступность сайтов!

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

В этом посте:
Создаём HttpClient и отправляем запрос;

Получаем статус доступности сайта;

Добавляем таймаут для медленных сервисов.


Такой способ подходит для утилит, CI/CD, мониторинга и любых скриптов, работающих с внешними API.

👉 Java Ready | #гайд
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥76👍5
This media is not supported in your browser
VIEW IN TELEGRAM
👩‍💻 Знаете, что в VS Code можно быстро генерировать фейковые данные для тестов с помощью плагина?

Faker — позволяет легко вставлять случайные имена, адреса, номера телефонов, даты и другие данные прямо в ваш код.

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

👉 Java Ready | #ресурс
Please open Telegram to view this post
VIEW IN TELEGRAM
👍95🔥3😁1
Создаём ZIP-архив из нескольких файлов!

Иногда нужно собрать несколько файлов в один архив. 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, в котором лежат все указанные файлы.

👉 Java Ready | #практика
Please open Telegram to view this post
VIEW IN TELEGRAM
👍65🔥4
This media is not supported in your browser
VIEW IN TELEGRAM
☕️ CodeAbbey — тренажёр алгоритмического мышления!

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

📌 Оставляю ссылочку: codeabbey.com

👉 Java Ready | #ресурс
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥6🤝5
Получение хоста и локального IP

Когда нужно узнать имя машины или её локальный IP, класс InetAddress делает это в один вызов.

Получаем информацию о текущем устройстве:
InetAddress host = InetAddress.getLocalHost();  


Имя хоста:
System.out.println("Имя хоста: " + host.getHostName());


Локальный IP-адрес машины:
System.out.println("IP-адрес: " + host.getHostAddress());


🔥 Часто используется для логирования, настройки сетевых сервисов, диагностики и внутренних API.

👉 Java Ready | #совет
Please open Telegram to view this post
VIEW IN TELEGRAM
👍75🔥4
👩‍💻 Классы и методы UUID, SecureRandom и ThreadLocalRandom для генерации случайных значений!

Когда нужно генерировать уникальные значения или надёжные случайные числа, лучше использовать более мощные инструменты, чем просто new Random(). Они обеспечивают большую надёжность и безопасность.

👉 Java Ready | #шпора
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥107👍6🤝1
📂 Напоминалка по микросервисам!

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

На картинке собраны основные компоненты для создания микросервисов, базы данных, брокеры сообщений, языки программирования, мониторинг, контейнеризация и безопасность.

Сохрани, чтобы всегда быть в курсе!

👉 Java Ready | #ресурс
Please open Telegram to view this post
VIEW IN TELEGRAM
9🔥7👍5
Конвертация текста в морзянку!

Морзянка это система представления символов с помощью точек и тире. Мы будем использовать 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();
}


🔥 В итоге получаем перевод текста в морзянку.

👉 Java Ready | #практика
Please open Telegram to view this post
VIEW IN TELEGRAM
7👍4🔥3
❤️ Spring Boot Starter для Telegram-ботов!

Автор рассказывает про готовый Spring Boot Starter, который упрощает разработку Telegram-ботов и избавляет от рутинной конфигурации.

В этой статье:
• Быстрый старт бота
• Управление жизненным циклом
• Готовая архитектура
• Маршрутизация и обработка ошибок
• Open Source проект с исходниками на GitHub

🔊 Читать статью на Habr!


👉 Java Ready | #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
6🔥6👍5
Конвертация миллисекунд в секунды и минуты!

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

Исходное значение:
long millis = 123456;


Перевод в секунды:
long seconds = millis / 1000;


Перевод в минуты:
long minutes = millis / 60000;


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

👉 Java Ready | #совет
Please open Telegram to view this post
VIEW IN TELEGRAM
😁10👍76🔥5