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 #1671 · Back to latest

Older Posts 16 shown
Post #1669 2.21K
  • ❤ 10
  • 👍 6
  • 🔥 6
Post #1668 2.44K
😎 На Хабре нашлась крутая статья о тестировании Android-приложений!

В этой статье:
• Что такое Robolectric и как он работает
• Как использовать Robolectric для тестирования без эмулятора и устройства
• Модификация байткода и использование ASM и кастомных ClassLoader'ов


🔊 Продолжай читать на Habr!


👉 Java Ready | #статья
  • ❤ 3
  • 👍 3
  • 🔥 3
Post #1666 2.22K
💅 ProProProgs — ресурс для программистов на русском!

На этом сайте собраны учебники и статьи по Java, Python, JavaScript, C/C++ и даже по искусственному интеллекту. Если хочешь учиться результативно, разобраться с языком или модулем — можно открыть нужную тему и идти шаг за шагом.

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

👉 Java Ready | #ресурс
  • 👍 8
  • ❤ 6
  • 🔥 6
  • 🤝 1
Post #1665 1.92K
Получаем локацию по IP!

Иногда нужно понять, откуда пришёл пользователь: страна, город, регион. Это удобно для логов, аналитики, ограничений доступа и диагностики.

Задаём IP-адрес:
String ip = "8.8.8.8";


Делаем запрос к GeoIP API:
URL url = new URL("https://ip-api.com/json/" + ip);


Читаем ответ сервиса:
BufferedReader br = new BufferedReader(
new InputStreamReader(url.openStream())
);
String response = br.readLine();


Из ответа берём нужные поля:
System.out.println(response);


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

👉 Java Ready | #совет
  • ❤ 8
  • 👍 8
  • 🔥 6
Post #1663 1.77K
📂 Напоминалка по базовым сетевым сервисам и портам!

Например, DNS переводит домены в IP-адреса, HTTPS отвечает за безопасное соединение с сайтами и API, а SSH позволяет безопасно подключаться к серверам.

На картинке — сетевые сервисы, их протоколы и стандартные порты, которые постоянно встречаются в backend, DevOps и инфраструктурной работе.

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

👉 Java Ready | #ресурс
  • ❤ 8
  • 👍 8
  • 🔥 7
Post #1658 1.97K
👩‍💻 Разбираем Signature — криптографическое доказательство подлинности данных!

Цифровая подпись решает сразу две задачи: подтверждает источник данных и гарантирует, что они не были изменены.

Приложение перестаёт полагаться на контекст и начинает опираться на математику, что делает систему устойчивее к подменам, атакам и ошибкам интеграции.


👉 Java Ready | #шпора
  • 🔥 15
  • ❤ 9
  • 👍 5
Post #1656 1.79K
Отправляем уведомление в трей!

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

В Java это можно сделать через встроенный SystemTray и TrayIcon, которые позволяют отправить всплывающее сообщение в нативный трей операционной системы.

Импортируем необходимые классы из java.awt, чтобы работать с системным треем.
import java.awt.*;


Проверяем, поддерживается ли системный трей на текущей ОС. Если да — создаём иконку и добавляем её в трей.
if (SystemTray.isSupported()) {
SystemTray tray = SystemTray.getSystemTray();
Image img = Toolkit.getDefaultToolkit().createImage("icon.png");
TrayIcon icon = new TrayIcon(img, "Java App");
tray.add(icon);


Отправляем всплывающее уведомление с заголовком, текстом и типом сообщения.
    icon.displayMessage("Готово!", "Задача завершена", TrayIcon.MessageType.INFO);
} else {
System.out.println("Трей не поддерживается на этой системе");
}


🔥 Так можно ненавязчиво оповестить пользователя о завершении скачивания, обновления или ошибке — и всё это без всплывающих окон JavaFX или Swing.

👉 Java Ready | #практика
  • ❤ 5
  • 👍 4
  • 🔥 4
Post #1654 2.11K
💡 Java Interview — вопросы и ответы для подготовки к собеседованиям!

Репозиторий с вопросами, которые чаще всего спрашивают на собесах. Здесь собраны темы по Java Core, ООП, коллекциям, многопоточности, памяти JVM и исключениям, всё с короткими и понятными ответами. Удобно использовать как шпаргалку или для системного повторения базы.

Оставляю ссылочку: GitHub 📱


👉 Java Ready | #ресурс
  • 🔥 9
  • ❤ 7
  • 👍 6
Post #1653 1.72K
Определяем язык текста!

Если ты работаешь с пользовательским вводом, новостями или сообщениями то иногда нужно понять, на каком языке написан текст. Для этого можно использовать лёгкую библиотеку language-detector.

Добавляем зависимость:
implementation 'com.optimaize.languagedetector:language-detector:0.6'


Инициализируем определитель:
LanguageDetector detector = LanguageDetectorBuilder.create().build();
TextObjectFactory factory = CommonTextObjectFactories.forDetectingOnLargeText();


Проверяем язык текста:
String input = "Привет, как дела?";
TextObject text = factory.forText(input);
Optional<LdLocale> lang = detector.detect(text);

System.out.println("Язык: " + lang.map(LdLocale::getLanguage).orElse("не определён"));


🔥 Вывод будет: ru, en, fr и т.д. Работает с короткими и длинными фразами, подходит для фильтрации, автоопределения языка и локализации.

👉 Java Ready | #практика
  • 👍 7
  • ❤ 3
  • 🔥 2
Post #1650 1.97K
☕️ Роадмап для Java-разработчика!

От основ синтаксиса до Spring и тестирования, на картинке чётко показано, что стоит изучить Java-разработчику в этом году. Сохрани, чтобы не потерять.

👉 Java Ready | #ресурс
  • 🔥 14
  • ❤ 8
  • 🤝 5
  • 😁 1
Post #1649 1.81K
⏳ Ограничиваем доступ к приложению по времени

Иногда нужно, чтобы программа работала только до определённого момента.

Задаём дату/время окончания доступа:
LocalDateTime expiresAt = LocalDateTime.of(2026, 1, 20, 0, 0);


Берём текущее время:
LocalDateTime now = LocalDateTime.now();


Если срок вышел, то блокируем запуск:
if (now.isAfter(expiresAt)) {
System.out.println("Доступ истёк");
System.exit(1);
}


Если всё ок, продолжаем работу:
System.out.println("Доступ активен");


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

👉 Java Ready | #совет
  • ❤ 4
  • 👍 4
  • 🔥 3
  • 😁 1
Post #1648 1.69K
Post #1647 1.86K
✍️ Proglang — структурированное обучение java с нуля!

Этот сайт отличный старт и справочник для учебы. Материал построен по темам: синтаксис, ООП, коллекции, исключения, потоки, работа с файлами, всё объясняется простыми словами и с примерами. Идеально, чтобы понять базу, закрепить знания и всегда иметь под рукой понятные объяснения.

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

👉 Java Ready | #ресурс
  • ❤ 7
  • 👍 6
  • 🔥 6
Post #1646 1.76K
Работа с буфером обмена!

Иногда нужно быстро скопировать данные из приложения, например
пароль, токен, ссылку, без вывода в файл или лог. В Java это можно сделать напрямую через системный буфер.

Получаем доступ к буферу обмена:
Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();


Копируем текст в буфер:
String text = "secret-token-123";
StringSelection data = new StringSelection(text);
clipboard.setContents(data, null);


Читаем текст из буфера:
String value = (String) clipboard.getData(DataFlavor.stringFlavor);
System.out.println(value);


🔥 Полезно для менеджеров паролей, CLI-утилит и админских инструментов.

👉 Java Ready | #совет
  • ❤ 10
  • 👍 5
  • 🔥 5
Post #1644 1.65K
  • 😁 11
  • 👍 9
  • 🔥 7
Post #1643 2.01K
Таймер Помодоро!

Техника Pomodoro помогает работать концентрированно и не выгорать. Сделаем консольный таймер, который сам считает время и сообщает о смене этапа.

Задаём длительности работы и отдыха:
int workMinutes = 25;
int breakMinutes = 5;


Функция обратного отсчёта в секундах:
void countdown(int seconds) throws InterruptedException {
while (seconds > 0) {
System.out.print("\rОсталось: " + seconds + " сек ");
Thread.sleep(1000);
seconds--;
}
System.out.println();
}


Запускаем рабочий интервал:
System.out.println("Работаем!");
countdown(workMinutes * 60);


После работы запускаем перерыв:
System.out.println("Перерыв!");
countdown(breakMinutes * 60);


Сообщаем о завершении одного цикла:
System.out.println("Помодоро завершён.");


🔥 В итоге получаем рабочий Pomodoro-таймер прямо в консоли. Отличная практика для потоков, времени и CLI-утилит.

👉 Java Ready | #практика
  • ❤ 8
  • 👍 6
  • 🔥 6
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 →