Приложения работают в разных странах и культурах, где формат дат, чисел и текста отличается. Locale позволяет учитывать эти особенности и автоматически подстраивать вывод под пользователя без ручной логики.
Использование локалей делает приложение универсальным и готовым к масштабированию. Это шаг от “работает у меня” к полноценному продукту, который корректно ведёт себя в любой стране.Please open Telegram to view this post
VIEW IN TELEGRAM
❤9👍5🔥5🤝1
Например, любой HTTP-запрос сначала попадает в центральный обработчик, затем система находит нужный контроллер и пропускает запрос через цепочку перехватчиков.
На картинке — полный путь запроса: от получения до формирования ответа и завершения обработки.
Сохрани, чтобы не забыть!
Please open Telegram to view this post
VIEW IN TELEGRAM
❤10👍9🔥5
Игра “Угадай число”
Это одна из лучших задач для новичков, потому что здесь сразу используется всё базовое, ввод данных, случайные числа, циклы и условия.
Генерируем случайное число:
Считываем число от игрока:
Основной игровой цикл:
Если число меньше:
Если число больше:
Запрашиваем новую попытку:
Победа:
Такие задачи помогают быстро понять, как работает логика программы и как управлять её поведением.
👉 Java Ready | #совет
Это одна из лучших задач для новичков, потому что здесь сразу используется всё базовое, ввод данных, случайные числа, циклы и условия.
Генерируем случайное число:
int target = (int) (Math.random() * 100) + 1;
Считываем число от игрока:
System.out.print("Ваш вариант: ");
int guess = sc.nextInt();Основной игровой цикл:
while (guess != target) {Если число меньше:
if (guess < target) {
System.out.println("Больше ↑");
}Если число больше:
else {
System.out.println("Меньше ↓");
}Запрашиваем новую попытку:
guess = sc.nextInt();
}
Победа:
System.out.println("Угадал! 🎉");Такие задачи помогают быстро понять, как работает логика программы и как управлять её поведением.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8👍6🔥4
This media is not supported in your browser
VIEW IN TELEGRAM
Это подборка всего, что используется в Java-разработке: фреймворки, библиотеки, инструменты, базы данных, networking, тестирование и многое другое. Cтруктурированный каталог, где можно быстро найти нужную технологию под любую задачу. Материалы разбиты по категориям: backend-разработка, работа с БД, интеграции, безопасность и даже машинное обучение.
Оставляю ссылочку: GitHub📱
Please open Telegram to view this post
VIEW IN TELEGRAM
❤10👍9🔥7
Валидатор JSON — проверяем, корректный ли JSON!
Иногда приходит JSON от пользователя или API, и он может быть сломан. Важно уметь проверить его корректность до обработки.
Сделаем простой валидатор: пытаемся распарсить и ловим ошибку.
Добавляем зависимость Jackson:
Создаём объект для парсинга JSON:
Пишем функцию проверки JSON:
Проверяем разные строки:
Можно вывести сообщение об ошибке:
Теперь ты можешь проверять JSON перед обработкой и не ловить краши. Полезно для API, конфигов и пользовательского ввода.
👉 Java Ready | #практика
Иногда приходит JSON от пользователя или API, и он может быть сломан. Важно уметь проверить его корректность до обработки.
Сделаем простой валидатор: пытаемся распарсить и ловим ошибку.
Добавляем зависимость Jackson:
implementation "com.fasterxml.jackson.core:jackson-databind:2.17.1"
Создаём объект для парсинга JSON:
var mapper = new com.fasterxml.jackson.databind.ObjectMapper();
Пишем функцию проверки JSON:
boolean isValid(String json) {
try {
mapper.readTree(json);
return true;
} catch (Exception e) {
return false;
}
}Проверяем разные строки:
System.out.println(isValid("{\"name\":\"Alice\"}")); // true
System.out.println(isValid("{name: Alice}")); // falseМожно вывести сообщение об ошибке:
try {
mapper.readTree("{name: Alice}");
} catch (Exception e) {
System.out.println("Ошибка JSON: " + e.getMessage());
}Теперь ты можешь проверять JSON перед обработкой и не ловить краши. Полезно для API, конфигов и пользовательского ввода.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥5❤4
This media is not supported in your browser
VIEW IN TELEGRAM
Например, Imperative Programming описывает программу как последовательность шагов, которые изменяют состояние, а Object-Oriented Programming строит код вокруг объектов и классов.
На картинке — 4 важные парадигмы программирования, которые используются в современных языках.
Сохрани, чтобы не забыть!
Please open Telegram to view this post
VIEW IN TELEGRAM
❤9🔥8👍6🤝1
Хочешь фильтрацию, преобразование, группировку и сортировку за одну строчку?
Используй .stream(), .filter(), .map(), .collect() и другие мощные методы о которых мы рассказали в карточках.Please open Telegram to view this post
VIEW IN TELEGRAM
🔥16👍8❤4🤝1
OCR в Java через Tesseract!
Когда нужно вытащить текст с картинки подключаем
Пример кода:
🔥 Работает для сканов, чеков, экранок; при низком качестве помогает предобработка (ч/б, контраст, кроп по зоне текста).
👉 Java Ready | #практика
Когда нужно вытащить текст с картинки подключаем
Tesseract черезTess4J. Даём путь к tessdata и языку, подаём изображение и на выходе получаем распознанную строку.Пример кода:
import net.sourceforge.tess4j.Tesseract;
Tesseract t = new Tesseract();
t.setDatapath("tessdata");
// папка с .traineddata
t.setLanguage("eng");
// язык модели
String text = t.doOCR(new
java.io.File("image.png"));
// входное изображение
System.out.println(text);
// вывод результата
🔥 Работает для сканов, чеков, экранок; при низком качестве помогает предобработка (ч/б, контраст, кроп по зоне текста).
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10❤4👍4
This media is not supported in your browser
VIEW IN TELEGRAM
Помогает прокачать логику, синтаксис и понимание языка через практику. Внутри — сотни задач разного уровня: от базовых конструкций до более сложных кейсов, которые часто встречаются на собеседованиях и в работе. Решаешь задачи и сразу проверяешь себя, закрывая пробелы в знаниях.
Оставляю ссылочку: GitHub📱
Please open Telegram to view this post
VIEW IN TELEGRAM
❤13👍7🔥7
JavaEE — это база, но достаточно ли её в 2026-м?
Автор канала Go после Java: Записки Тимлида, архитектор с 18-летним стажем (из них 10 лет — лид 3-х команд в Госсекторе и Страховании), опубликовал свой квартальный отчет.
Это не просто текст, а разбор того, как выжить в энтерпрайзе сегодня:
🔹 Зачем джависту Go? Как он внедрил Go-task в реальный проект и почему системный программист теперь защищает это решение на аттестации.
🔹 AI-симбиоз: Как сократить время на системный анализ и декомпозицию легаси на 30% (тихие фишки архитектора).
🔹 Лаборатория: Зачем писать бота-секретаря на Go, если под рукой есть JVM.
«Я не призываю бросать Java. Я показываю, как построить гибридную экосистему, которая работает как часы».
Читай полный отчет здесь:
👉 https://t.me/java_go_way?erid=2W5zFHJ1uMT
Автор канала Go после Java: Записки Тимлида, архитектор с 18-летним стажем (из них 10 лет — лид 3-х команд в Госсекторе и Страховании), опубликовал свой квартальный отчет.
Это не просто текст, а разбор того, как выжить в энтерпрайзе сегодня:
🔹 Зачем джависту Go? Как он внедрил Go-task в реальный проект и почему системный программист теперь защищает это решение на аттестации.
🔹 AI-симбиоз: Как сократить время на системный анализ и декомпозицию легаси на 30% (тихие фишки архитектора).
🔹 Лаборатория: Зачем писать бота-секретаря на Go, если под рукой есть JVM.
«Я не призываю бросать Java. Я показываю, как построить гибридную экосистему, которая работает как часы».
Читай полный отчет здесь:
👉 https://t.me/java_go_way?erid=2W5zFHJ1uMT
❤2
Шифрование текста
Когда нужно спрятать текст, можно использовать базовое шифрование. Шифр Цезаря — один из самых простых способов: каждая буква сдвигается на фиксированное количество символов.
Исходный текст и ключ (сдвиг):
Создаём результат:
Проходим по каждому символу:
Шифруем только буквы:
Выводим зашифрованный текст:
Обратное преобразование (расшифровка):
Вывод расшифрованного текста:
После этого легко перейти к более сложным вещам: пароли, хеширование, реальные алгоритмы.
👉 Java Ready | #совет
Когда нужно спрятать текст, можно использовать базовое шифрование. Шифр Цезаря — один из самых простых способов: каждая буква сдвигается на фиксированное количество символов.
Исходный текст и ключ (сдвиг):
String text = "hello world";
int shift = 3;
Создаём результат:
StringBuilder result = new StringBuilder();
Проходим по каждому символу:
for (char c : text.toCharArray()) {Шифруем только буквы:
if (Character.isLetter(c)) {
char base = Character.isLowerCase(c) ? 'a' : 'A';
char enc = (char) ((c - base + shift) % 26 + base);
result.append(enc);
} else {
result.append(c);
}
}Выводим зашифрованный текст:
System.out.println("Зашифрованный: " + result);Обратное преобразование (расшифровка):
StringBuilder decoded = new StringBuilder();
for (char c : result.toString().toCharArray()) {
if (Character.isLetter(c)) {
char base = Character.isLowerCase(c) ? 'a' : 'A';
char dec = (char) ((c - base - shift + 26) % 26 + base);
decoded.append(dec);
} else {
decoded.append(c);
}
}
Вывод расшифрованного текста:
System.out.println("Расшифрованный: " + decoded);После этого легко перейти к более сложным вещам: пароли, хеширование, реальные алгоритмы.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5👍3🔥3