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

Автор: @energy_it

Реклама на бирже: https://telega.in/c/java_ready
Download Telegram
👩‍💻 Классы и методы 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
Чтение данных из XML-файла!

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 как структуру и достаём нужные значения по тегам.

👉 Java Ready | #практика
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥54
👩‍💻 Определяем кодировку файла!

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

В этой задаче:
Анализируем содержимое;

Используем детектор кодировки;

Получаем кодировку.


Такой подход особенно полезен при импорте файлов, CSV и данных из внешних систем.

👉 Java Ready | #задача
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥84👍4
☕️ Напоминалка по примитивным типам данных!

В Java есть 8 примитивных типов от byte до boolean. Каждый из них имеет фиксированный размер, диапазон значений и предназначение.

На картинке собраны все типы с примерами и размерами.

Сохрани, чтобы не забыть!

👉 Java Ready | #ресурс
Please open Telegram to view this post
VIEW IN TELEGRAM
8👍7🔥5
Работаем с конфигами!

Хранить настройки прямо в коде это плохая идея. Гораздо удобнее выносить их в конфиг и менять без перекомпиляции.

Создаём конфиг:
app.name=JavaReady
app.port=8080
debug=true


Загружаем конфиг в приложении:
Properties props = new Properties();
props.load(new FileInputStream("app.properties"));


Используем значения в коде:
String name = props.getProperty("app.name");
int port = Integer.parseInt(props.getProperty("app.port"));


🔥 Таким образом можно легко управлять работай кода не перезапуская программу.

👉 Java Ready | #совет
Please open Telegram to view this post
VIEW IN TELEGRAM
👍115🔥5
This media is not supported in your browser
VIEW IN TELEGRAM
💅 Держите Visualgo — рай для тех, кто понимает глазами!

Если тебе сложно представить, как работает бинарный поиск, быстрая сортировка или структура «куча» — этот сайт сделан для тебя.
Visualgo позволяет буквально увидеть каждую операцию: шаг за шагом, с пояснениями и анимацией.

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

👉 Java Ready | #ресурс
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9👍74
Создание меню с выбором действий!

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

Создаём сканер и флаг, чтобы меню работало в цикле:
var sc = new java.util.Scanner(System.in);
boolean run = true;


Печатаем меню и читаем выбор пользователя:
while (run) {
System.out.println("1) Время 2) Сумма 0) Выход");
System.out.print("Выбор: ");
var cmd = sc.nextLine().trim();


Обрабатываем команды через switch:
    switch (cmd) {
case "1" -> System.out.println(java.time.LocalTime.now());
case "2" -> System.out.println(10 + 20);
case "0" -> run = false;
default -> System.out.println("Неизвестная команда");
}
System.out.println();
}


Закрываем Scanner после выхода из меню:
sc.close();


🔥 Так можно собрать полноценную CLI-утилиту которой сможет управлять пользователь.

👉 Java Ready | #практика
Please open Telegram to view this post
VIEW IN TELEGRAM
9👍5🔥5
This media is not supported in your browser
VIEW IN TELEGRAM
🧐 Tutorialspoint: Linux / Unix — простые объяснения команд, процессов, памяти, файловых систем!

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

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

👉 Java Ready | #ресурс
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥76👍4😁1