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

Автор: @energy_it

Реклама на бирже: https://telega.in/c/java_ready
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
☕️ Virand — база и практика в формате шпаргалок!

Подборка статей по Java, где разобраны ключевые темы: базовый синтаксис, ООП (классы, объекты, инкапсуляция), а также серверная часть — сервлеты и работа веб-приложений. Всё подано в формате шпаргалок с примерами кода и краткими пояснениями, чтобы быстро освежить фундамент или закрыть пробелы.

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

👉 Java Ready | #сайт
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥86👍5
Знаете, что в Java можно не писать отдельный класс с полями, конструктором, геттерами и toString() вручную?

Например, для DTO часто создают обычный класс:
public class UserDto {
private final Long id;
private final String name;
private final String email;

public UserDto(Long id, String name, String email) {
this.id = id;
this.name = name;
this.email = email;
}

public Long getId() {
return id;
}

public String getName() {
return name;
}

public String getEmail() {
return email;
}
}


Но если объект нужен просто для хранения данных, можно использовать record:
public record UserDto(
Long id,
String name,
String email
) {}


Java сама создаст конструктор, методы доступа, equals(), hashCode() и toString().

Обращение к полям выглядит немного иначе:
user.name()
user.email()


record хорошо подходит для DTO, ответов API, событий, команд, настроек и небольших неизменяемых объектов.

Например, можно удобно вернуть данные из REST-контроллера:
return new UserDto(1L, "Alex", "alex@mail.com");


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

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

👉 Java Ready | #совет
Please open Telegram to view this post
VIEW IN TELEGRAM
👍63🔥3
😍 Хочешь лучше понять, как создавать нормальный REST API на Java? Тогда эта статья тебе точно зайдёт!

В ней ты узнаешь:
• Как продумать структуру микросервиса
• Как разделить проект на слои
• Как описывать API понятнее
• Как работать с DTO и моделями


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


👉 Java Ready | #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
👍43🔥3
Знаете, что в Java лучше проверять строки через isBlank(), а не только через isEmpty()?

isEmpty() проверяет только длину строки:
"".isEmpty()


Но строка из пробелов для него уже не пустая:
"   ".isEmpty()


А вот isBlank() учитывает пробелы, табы и переносы строк:
"   ".isBlank()


Это удобно для валидации имён, логинов, комментариев, форм и любых пользовательских данных.

Так код становится надёжнее, потому что строка из пробелов больше не проходит как нормальное значение.

isBlank() это простой способ аккуратнее проверять текст в Java.

👉 Java Ready | #совет
Please open Telegram to view this post
VIEW IN TELEGRAM
6👍6🔥4
👩‍💻 Сегодня разбираем Deque — универсальная очередь с двух сторон!

С помощью этого ты можешь добавлять и убирать элементы слева и справа. Подходит и для очередей, и для стеков.

👉 Java Ready | #шпора
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥73👍3🤝1
This media is not supported in your browser
VIEW IN TELEGRAM
☕️ Scite — нейросеть для анализа научных статей и проверки источников!

Это AI-платформа, которая помогает не просто находить научные статьи, а оценивать их качество через анализ цитирований. Сервис показывает, как именно используется работа: поддерживают ли её другие исследования, опровергают или просто упоминаю. Scite также умеет искать релевантные публикации и показывать контекст цитирования внутри текста.

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

👉 Java Ready | #ресурс
Please open Telegram to view this post
VIEW IN TELEGRAM
👍94🔥4
Знаете, что в Java switch можно использовать как выражение, а не только как отдельный блок кода?

Раньше для выбора значения часто писали так:
int timeout;

switch (env) {
case "dev":
timeout = 5;
break;
case "test":
timeout = 10;
break;
case "prod":
timeout = 30;
break;
default:
throw new IllegalArgumentException(env);
}

Работает, но кода много, и легко забыть break.

В современном Java можно записать это короче:
int timeout = switch (env) {
case "dev" -> 5;
case "test" -> 10;
case "prod" -> 30;
default -> throw new IllegalArgumentException(env);
};


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

Если логика в ветке сложнее, можно использовать yield:
int price = switch (type) {
case "vip" -> {
int discount = 20;
yield basePrice - discount;
}
default -> basePrice;
};


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

👉 Java Ready | #совет
Please open Telegram to view this post
VIEW IN TELEGRAM
4👍4🔥3