Конвертация текста в морзянку!
Морзянка это система представления символов с помощью точек и тире. Мы будем использовать
Создаём таблицу для букв и их кодов:
Делаем функцию для перевода текста в морзянку:
Проходим по каждому символу в строке:
Завершаем функцию и возвращаем результат:
🔥 В итоге получаем перевод текста в морзянку.
👉 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
В Java есть 8 примитивных типов от
byte до boolean. Каждый из них имеет фиксированный размер, диапазон значений и предназначение.На картинке собраны все типы с примерами и размерами.
Сохрани, чтобы не забыть!
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8👍7🔥5
Работаем с конфигами!
Хранить настройки прямо в коде это плохая идея. Гораздо удобнее выносить их в конфиг и менять без перекомпиляции.
Создаём конфиг:
Загружаем конфиг в приложении:
Используем значения в коде:
🔥 Таким образом можно легко управлять работай кода не перезапуская программу.
👉 Java Ready | #совет
Хранить настройки прямо в коде это плохая идея. Гораздо удобнее выносить их в конфиг и менять без перекомпиляции.
Создаём конфиг:
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"));Please open Telegram to view this post
VIEW IN TELEGRAM
👍11❤5🔥5
This media is not supported in your browser
VIEW IN TELEGRAM
Если тебе сложно представить, как работает бинарный поиск, быстрая сортировка или структура «куча» — этот сайт сделан для тебя.
Visualgo позволяет буквально увидеть каждую операцию: шаг за шагом, с пояснениями и анимацией.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9👍7❤4
Создание меню с выбором действий!
Консольное меню помогает быстро управлять программой без
Создаём сканер и флаг, чтобы меню работало в цикле:
Печатаем меню и читаем выбор пользователя:
Обрабатываем команды через
Закрываем Scanner после выхода из меню:
🔥 Так можно собрать полноценную CLI-утилиту которой сможет управлять пользователь.
👉 Java Ready | #практика
Консольное меню помогает быстро управлять программой без
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-утилиту которой сможет управлять пользователь.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤9👍5🔥5
This media is not supported in your browser
VIEW IN TELEGRAM
Здесь подробно разбираются ключевые вещи, с которыми сталкиваешься в Linux каждый день: как работают процессы и сигналы, что происходит с памятью, как устроена файловая система, как читать права доступа и управлять ими. Каждая тема идёт с примерами команд и пояснениями.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7❤6👍4😁1
Покажись, IP!
Определяем местоположение любого IP прямо из терминала с помощью
Юзаем бесплатный API от
Запрос предельно прост:
В ответ получаем JSON с информацией о стране, городе, провайдере и других параметрах.
Подключаем
Результат будет отображён построчно: страна, регион, город и провайдер.
Для удобства можно оформить это в виде функции:
И вызвать:
🔥 Отличный способ быстро проверять подозрительные IP во время пентеста или анализа логов.
👉 Java Ready | #практика
Определяем местоположение любого IP прямо из терминала с помощью
curl и jq — без сторонних библиотек, всё в консоли.Юзаем бесплатный API от
ip-api.com.Запрос предельно прост:
curl -s http://ip-api.com/json/1.1.1.1
В ответ получаем JSON с информацией о стране, городе, провайдере и других параметрах.
Подключаем
jq, чтобы аккуратно вывести нужные поля из ответа:curl -s http://ip-api.com/json/1.1.1.1 | jq '.country, .regionName, .city, .isp'
Результат будет отображён построчно: страна, регион, город и провайдер.
Для удобства можно оформить это в виде функции:
geoip() {
curl -s "http://ip-api.com/json/$1" | jq '.query, .country, .city, .isp'
}И вызвать:
geoip 8.8.8.8
🔥 Отличный способ быстро проверять подозрительные IP во время пентеста или анализа логов.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6👍4🔥4
Большие файлы нельзя читать целиком в оперативной памяти, ведь она может закончиться. Вместо этого лучше читать файл чанками.
В этом посте:
• Создаём MessageDigest;
• Читаем файл;
• Получаем результат.
Такой подход используют для проверки целостности загрузок, поиска дубликатов и контроля файловых операций.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥11❤6👍6🤝1
ArrayList это удобная коллекция для работы с динамическими списками в Java. На картинке собраны основные методы: от инициализации списка до сортировки, удаления и итерации элементов.Сохрани, чтобы всегда быть в курсе!
Please open Telegram to view this post
VIEW IN TELEGRAM
❤10🔥6👍4