
Статистика канала
String text = "Text\ncontent";
System.out.println(text.indent(4));
System.out.println(text.indent(-2));
{}
Полезно, когда:
- генерируешь код или конфиги
- формируешь многострочные логи
- работаешь с шаблонами текста
- хочешь аккуратно выровнять вывод без костылей
Мелочь, но делает код чище и избавляет от ручной работы со строками.
#Java #JavaDev
@javatgapplication.properties или application.yml, и можно сразу отправлять письма из приложения.
Spring Boot автоматически настроит JavaMailSender, а в коде останется лишь создать сообщение и отправить его.
Это один из самых простых способов добавить email-уведомления, подтверждения регистрации, сброс пароля или системные алерты в ваше приложение.
<!-- зависимость -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
# application.properties
spring.mail.host=smtp.gmail.com
spring.mail.port=587
spring.mail.username=my_email@gmail.com
spring.mail.password=my_password
spring.mail.properties.mail.smtp.auth=true
spring.mail.properties.mail.smtp.starttls.enable=true
@Service
public class MailService {
@Autowired
private JavaMailSender mailSender;
public void sendEmail(String to, String subject, String text) {
SimpleMailMessage message = new SimpleMailMessage();
message.setTo(to);
message.setSubject(subject);
message.setText(text);
message.setFrom("your_email@gmail.com");
mailSender.send(message);
}
}{}
ChronoUnit.between(start, end), чтобы посчитать интервал между датами или временем в нужных единицах — дни, часы, минуты и т.д.
Вместо того чтобы самому высчитывать миллисекунды и делить их на 1000×60×60, просто используйте API из java.time.
Пример:
import java.time.*;
import java.time.temporal.ChronoUnit;
public class Demo {
public static void main(String[] args) {
LocalDate d1 = LocalDate.of(2023, 1, 1);
LocalDate d2 = LocalDate.of(2023, 1, 10);
long days = ChronoUnit.DAYS.between(d1, d2);
System.out.println(days); // 9
}
}
{}
Так же можно считать:
ChronoUnit.HOURS.between(...)
ChronoUnit.MINUTES.between(...)
ChronoUnit.MONTHS.between(...)
{}
Чисто, читаемо и без ошибок из-за ручных расчётов времени.
#Java #JavaDev
@javatgSystem.currentTimeMillis() — это прошлый век.
В современном Java для точных измерений есть java.time API.
🔹 Instant - это конкретная точка времени в UTC
Поддерживает точность до наносекунд.
Instant now = Instant.now();
🔹 Duration - это разница между двумя моментами времени
Идеально подходит для измерения времени выполнения кода.
Instant start = Instant.now();
{}
// твоя логика
Instant end = Instant.now();
Duration elapsed = Duration.between(start, end);
📌 Почему это важно:
• Наноcекундная точность
• Читаемый и современный API
• Меньше багов, связанных с таймзонами и устаревшими классами
Используй правильные инструменты — и время в коде перестанет быть источником боли.
#Java #JavaDev #Backend #CleanCoderecord - только для хранения данных.
Но на практике это полноценный тип, в котором можно добавить бизнес-логику.
Что можно внутри record:
* конструкторы с валидацией
* instance-методы
* static-методы
* фабричные методы
* нормализацию данных
Пример реального использования:
public record Email(String address) {
// Валидация при создании
public Email {
if (address == null || !address.matches("^[\\w-.]+@[\\w-]+\\.[\\w]{2,4}$")) {
throw new IllegalArgumentException("Invalid email: " + address);
}
}
// Бизнес-логика
public String domain() {
return address.substring(address.indexOf("@") + 1);
}
// Фабричный метод
public static Email from(String raw) {
return new Email(raw.trim().toLowerCase());
}
}
{}
Почему это мощно:
* неизменяемость по умолчанию
* вся логика рядом с данными
* меньше boilerplate
* безопасное создание объектов
* идеальный формат для Value Objects (DDD)
Record - это не “структура”.
Это компактный способ писать чистые доменные модели.
Если используешь records только как DTO, ты используешь их на 50%.
<exclusion>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-websocket</artifactId>
</exclusion>{}
Отзывы канала
всего 7 отзывов
- Добавлен: Сначала новые
- Добавлен: Сначала старые
- Оценка: По убыванию
- Оценка: По возрастанию
Каталог Телеграм-каналов для нативных размещений
Java — это Telegam канал в категории «Интернет технологии», который предлагает эффективные форматы для размещения рекламных постов в Телеграмме. Количество подписчиков канала в 17.2K и качественный контент помогают брендам привлекать внимание аудитории и увеличивать охват. Рейтинг канала составляет 10.8, количество отзывов – 7, со средней оценкой 5.0.
Вы можете запустить рекламную кампанию через сервис Telega.in, выбрав удобный формат размещения. Платформа обеспечивает прозрачные условия сотрудничества и предоставляет детальную аналитику. Стоимость размещения составляет 9650.34 ₽, а за 118 выполненных заявок канал зарекомендовал себя как надежный партнер для рекламы в TG. Размещайте интеграции уже сегодня и привлекайте новых клиентов вместе с Telega.in!
Вы снова сможете добавить каналы в корзину из каталога
Комментарий