Spring Boot DevTools - must-have для разработки
DevTools делает жизнь проще: следит за изменениями в коде и конфиге и автоматически перезагружает приложение.
Что даёт:
✅ Auto-res…
Читать далее →
Магия IntelliJ IDEA: Stream Debugger
Дебажишь цепочку стримов из 5 операций? Breakpoint показывает только входную коллекцию. Чтобы понять, где отвалились элементы, приходится разб…
Читать далее →
Самый чистый современный паттерн Java для обработки ошибок (без выбрасывания исключений для ожидаемых случаев): Использовать sealed interface + record…
Самый чистый современный паттерн Java для обработки ошибок (без выбрасывания исключений для ожидаемых случаев):
Использовать sealed interface + records + исчерпывающий pattern matching в switch = типобезопасно и контролируется компилятором.
Больше никаких RuntimeException для случаев вроде "not found" / "invalid input" / "unauthorized" — компилятор заставляет обработать каждый возможный результат.
Преимущества в реальном коде:
- Ноль неожиданных исключений во время выполнения
- Понятно, что может произойти, просто посмотрев на сигнатуру метода
- Значительно проще тестировать и рефакторить
- Читается почти как Result в Rust или Result в Kotlin
Java библиотека
Java: исключения делятся на 2 типа - checked и unchecked.
✅ Checked exceptions (проверяемые)
- компилятор *заставляет* обработать их
- нужно либо try/catch, либо throws в сигнатур…
Читать далее →
Внутреннее устройство HashSet
HashSet — это реализация интерфейса Set на основе HashMap. Хранит уникальные элементы без дубликатов с быстрым O(1) поиском.
📦 Базовая структура
Ha…
Читать далее →