TGViewer
Channel Public Channel
Java Ready | Программирование

Java Ready | Программирование

@java_ready

Авторский канал по разработке на Java.
Ресурсы, гайды, задачи, шпаргалки.
Информация ежедневно пополняется!

Cотрудничество: @energy_c
Subscribers
9.26K
Photos
1.4K
Videos
77
Links
759

Showing posts older than #1584 · Back to latest

Older Posts 13 shown
Post #1582 1.85K
Покажись, IP!

Определяем местоположение любого 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 во время пентеста или анализа логов.

👉 Java Ready | #практика
  • ❤ 7
  • 👍 4
  • 🔥 4
Post #1580 1.66K
🧐 Tutorialspoint: Linux / Unix — простые объяснения команд, процессов, памяти, файловых систем!

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

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

👉 Java Ready | #ресурс
  • 🔥 7
  • ❤ 6
  • 👍 4
  • 😁 1
Post #1579 1.71K
Создание меню с выбором действий!

Консольное меню помогает быстро управлять программой без 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 | #практика
  • ❤ 9
  • 👍 5
  • 🔥 5
Post #1577 1.86K
💅 Держите Visualgo — рай для тех, кто понимает глазами!

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

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

👉 Java Ready | #ресурс
  • 🔥 9
  • 👍 8
  • ❤ 4
Post #1576 1.74K
Работаем с конфигами!

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

Создаём конфиг:
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 | #совет
  • 👍 11
  • ❤ 5
  • 🔥 5
Post #1574 1.6K
☕️ Напоминалка по примитивным типам данных!

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

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

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

👉 Java Ready | #ресурс
  • ❤ 8
  • 👍 7
  • 🔥 5
Post #1569 1.6K
👩‍💻 Определяем кодировку файла!

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

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

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

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


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

👉 Java Ready | #задача
  • 🔥 8
  • ❤ 4
  • 👍 4
Post #1567 1.68K
Чтение данных из 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 | #практика
  • 👍 5
  • 🔥 5
  • ❤ 4
Post #1566 1.73K
Конвертация миллисекунд в секунды и минуты!

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

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


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


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


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

👉 Java Ready | #совет
  • 😁 10
  • 👍 7
  • ❤ 6
  • 🔥 5
Post #1564 1.78K
❤️ Spring Boot Starter для Telegram-ботов!

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

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

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


👉 Java Ready | #статья
  • ❤ 6
  • 🔥 6
  • 👍 5
Post #1563 1.67K
Конвертация текста в морзянку!

Морзянка это система представления символов с помощью точек и тире. Мы будем использовать 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 | #практика
  • ❤ 7
  • 👍 4
  • 🔥 3
Post #1561 1.65K
📂 Напоминалка по микросервисам!

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

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

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

👉 Java Ready | #ресурс
  • ❤ 9
  • 🔥 7
  • 👍 5
Post #1556 1.67K
👩‍💻 Классы и методы UUID, SecureRandom и ThreadLocalRandom для генерации случайных значений!

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

👉 Java Ready | #шпора
  • 🔥 10
  • ❤ 7
  • 👍 6
  • 🤝 1
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →