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

Автор: @energy_it

Реклама на бирже: https://telega.in/c/java_ready
Download Telegram
👩‍💻 Конвертируем числа в римские цифры!

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

В этой задаче:
Храним арабские числа и их римские аналоги в массивах;

Используем алгоритм для преобразования;

Формируем строку через StringBuilder.


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

👉 Java Ready | #задача
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥168👍8🤝1
Разберем Shutdown Hook — выполняем код при завершении JVM!

Иногда нужно сделать действие перед выходом программы: сохранить данные, закрыть соединения или вывести сообщение. Для этого есть shutdown hook.

Runtime.getRuntime().addShutdownHook(new Thread(() -> {
System.out.println("Программа завершена.");
}));


🔥 Полезно для: логирования, graceful shutdown, освобождения ресурсов.

👉 Java Ready | #практика
Please open Telegram to view this post
VIEW IN TELEGRAM
👍65🔥4
👩‍💻 Хэширование паролей через MessageDigest!

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

В этом посте:
Используем MessageDigest для MD5.

Используем MessageDigest для SHA-256.

Добавляем соль для защиты.


Для серьёзных проектов применяют алгоритмы вроде PBKDF2, bcrypt и scrypt. Но даже простая схема с SHA-256 и солью уже сильно повышает безопасность.

👉 Java Ready | #гайд
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥137👍6🤝1
👩‍💻 Валидируем пароль по ключевым критериям!

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

В этой задаче:
Описываем правила как предикаты;

Условия в isStrong();

Считываем пароль и печатаем результат.


Решение легко встраивается в формы регистрации и консольные утилиты.

👉 Java Ready | #задача
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥166👍5🤝4👎1
NIO Selector — как обрабатывать тысячи соединений в одном потоке!

Обычно каждому сокету нужен поток, но это не масштабируется. Selector позволяет держать тысячи соединений на одном потоке.

Шаг 1 — поднимаем сервер и делаем неблокирующим:
ServerSocketChannel.open().configureBlocking(false);


Шаг 2 — регистрируем в селекторе события:
server.register(selector, SelectionKey.OP_ACCEPT);


Шаг 3 — ждём событий:
selector.select();


🔥 Так можно обрабатывать тысячи клиентов без лишних потоков.

👉 Java Ready | #практика
Please open Telegram to view this post
VIEW IN TELEGRAM
👍65🔥4
👩‍💻 Делаем Анализатор кода!

Программа считает количество строк в .java-файле, отдельно выводит пустые строки и строки с комментариями. Отличный пример работы с файлами и Stream API.

В этой задаче:
Читаем файл построчно через Files.readAllLines

Считаем пустые строки методом .isBlank()

Фильтруем комментарии по //


Решение универсальное и легко расширяется для анализа других языков.

👉 Java Ready | #задача
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥117👍5👎1