Через публичный
API можно узнать, в какой временной зоне находится IP-адрес и какое у него сейчас локальное время.В этом посте:
• Формируем URL с IP-адресом;
• Отправляем HTTP-запрос и получаем JSON;
• Выводим временную зону и текущее время.
В задаче используется
HttpClient из стандартной библиотеки и простой парсинг JSON-строки без сторонних зависимостей.Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8👍6❤4
Хочешь создать свою собственную аннотацию?
Аннотации помогают навешивать метаданные на классы и методы и ты можешь делать свои, как у
Создаём аннотацию:
Используем на методе:
Добавляем параметры:
🔥 Собственные аннотации это путь к своим мини-фреймворкам, утилитам и удобной маркировке кода без лишних комментариев.
👉 Java Ready | #совет
Аннотации помогают навешивать метаданные на классы и методы и ты можешь делать свои, как у
Spring, Lombok или JUnit.Создаём аннотацию:
public @interface Todo {
String value();
}Используем на методе:
@Todo("переписать логику позже")
public void process() {}Добавляем параметры:
public @interface Info {
String author();
int version() default 1;
}Please open Telegram to view this post
VIEW IN TELEGRAM
🔥11❤4👍4
Java позволяет напрямую взаимодействовать с буфером обмена системы, например копировать текст, читать содержимое и автоматизировать действия, которые обычно делает пользователь руками.
В этом посте:
• Копируем строку в буфер;
• Читаем текст из Clipboard;
• Проверяем доступность буфера.
Такой подход отлично подходит для макросов, автозаполнения, CLI-инструментов и любых приложений.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8🔥8👍4
Создаём утилиту, которая определяет, правильно ли расставлены круглые, квадратные и фигурные скобки.
В этом посте:
• Используем Stack для отслеживания скобок;
• Проверяем пары на соответствие;
• Пишем компактную консольную программу.
Это отличный способ потренироваться в работе со стеком и логикой.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6🔥4👍2
Определение количества дней в месяце!
Java умеет точно определять, сколько дней в любом месяце и году. Это учитывает високосные годы, разную длину месяцев и календарные особенности.
Создаём дату для нужного месяца и года:
Получаем количество дней в месяце:
Можно проверить несколько месяцев в цикле:
🔥 В итоге получаем чистый и надёжный способ считать дни в месяце. Отлично подходит для расчётов времени и даты.
👉 Java Ready | #практика
Java умеет точно определять, сколько дней в любом месяце и году. Это учитывает високосные годы, разную длину месяцев и календарные особенности.
Создаём дату для нужного месяца и года:
var date = java.time.YearMonth.of(2025, 2); // февраль 2025
Получаем количество дней в месяце:
int days = date.lengthOfMonth();
System.out.println("Дней в месяце: " + days);
Можно проверить несколько месяцев в цикле:
for (int m = 1; m <= 12; m++) {
var ym = java.time.YearMonth.of(2025, m);
System.out.println(m + " месяц: " + ym.lengthOfMonth());
}🔥 В итоге получаем чистый и надёжный способ считать дни в месяце. Отлично подходит для расчётов времени и даты.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥3❤2
Когда строка меняется часто, обычный String начинает тормозить, по тому что каждая операция создаёт новый объект. StringBuilder решает эту проблему за счёт изменяемого буфера.
Такой подход даёт реальное ускорение при генерации, сборке больших строк, парсинге данных и любых сценариях, где важны частые изменения содержимого.Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6❤3👍3🤝2
Хочешь безопасно подставлять строки в регулярки, не боясь спецсимволов?
В Java есть крутая вещь
Берём строку с опасными символами:
Экранируем для регулярки:
Используем в поиске без ошибок:
Теперь любые точки, скобки, плюсы, звёздочки не сломают твою регулярку, всё работает как обычный текст.
👉 Java Ready | #совет
В Java есть крутая вещь
Pattern.quote(). Она превращает любую строку в полностью безопасную для использования в Regex.Берём строку с опасными символами:
String text = "Hello.(world)?+";
Экранируем для регулярки:
String safe = Pattern.quote(text);
Используем в поиске без ошибок:
boolean match = Pattern.compile(safe).matcher("Hello.(world)?+").find();Теперь любые точки, скобки, плюсы, звёздочки не сломают твою регулярку, всё работает как обычный текст.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5❤4👍3