Найти в Дзене
💡 Java: исключения делятся на 2 типа - checked и unchecked
✅ Checked exceptions (проверяемые) - компилятор *заставляет* обработать их - нужно либо try/catch, либо throws в сигнатуре метода - пример: FileNotFoundException, IOException ⚠️ Unchecked exceptions (непроверяемые) - компилятор *не требует* обработки - чаще всего это...
1 день назад
⚡️ Spring Boot DevTools - must-have для разработки
DevTools делает жизнь проще: следит за изменениями в коде и конфиге и автоматически перезагружает приложение. Что даёт: ✅ Auto-restart при изменениях Java-классов ✅ Авто-рефреш application.properties / application.yml ✅ Быстрее...
3 дня назад
💡Java Совет : Helper-классы - да
“God class” - нет. Хорошая практика в Java - выносить повторяющуюся логику в helper / utility классы. Это делает код чище и уменьшает дублирование. Но есть опасная крайность - God class: класс, который “умеет всё” и постепенно превращается в помойку. ✅ Правильно (helper класс) Например TextUtils, который делает только одну вещь: - форматирование текста - обработка строк - простые операции над конкретной областью ❌ Плохо (God...
5 дней назад
⚠️ Главное правило многопоточности в Java
: не делитесь состоянием между потоками. Большинство багов в concurrency появляются из-за одного — несколько потоков одновременно изменяют одни и те же данные. Как избежать проблем? 1. Используйте неизменяемые объекты (Immutable) Если объект нельзя изменить — его безопасно читать из любого количества потоков. Пример: - record в Java - идеальный immutable-тип - поля final - никакой синхронизации не нужно 2. Общайтесь через сообщения, а не через...
6 дней назад
🔥На Stepik вышел курс: Linux: полный апгрейд твоих скиллов
Хочешь реально понимать, что происходит под капотом твоей системы, а не просто кликать по GUI? Без глубокого знания базы ты не инженер - ты просто пользователь. 🔹 В курсе ты: - Освоишь bash, grep, sed, awk - инструменты, которыми живут админы. - Разберёшь права, процессы, сеть, файловую систему и научишься чинить всё, что падает. - Настроишь SSH, firewall, systemd, crontab, демоны и автозапуск...
1 неделю назад
⚡️Spring Boot: отправка email за 5 минут
Если нужно быстро добавить отправку писем в Java-приложение — используйте spring-boot-starter-mail. Он уже содержит всю необходимую конфигурацию и зависимости, поэтому не нужно вручную настраивать SMTP-клиенты. Что нужно сделать: 1. Добавить зависимость <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId> </dependency> Настроить SMTP (например, Gmail) spring.mail.host=smtp.gmail.com spring.mail.port=587 spring.mail.username=your_email@gmail...
1 неделю назад
💡 Java-совет: давайте каждому потоку своё значение по умолчанию
Если у вас многопоточное приложение и нужно хранить данные отдельно для каждого потока — используйте ThreadLocal.withInitial(...). Что это даёт: - У каждого потока своя независимая копия переменной - Не нужны синхронизация...
1 неделю назад
💡 Spring Совет: Structured Output
Одна из самых недооценённых фишек при работе с LLM - Structured Output. Вместо “обычного текста” модель может вернуть строго JSON, а ты: ✅ валидируешь ответ по JSON Schema ✅ если ответ не прошёл проверку - Spring AI автоматически повторит запрос ✅ на выходе получаешь гарантированно корректную структуру (без ручных костылей) Это решает главную боль продакшена: LLM может “красиво говорить”, но бизнесу нужны объекты, а не поэма...
1 неделю назад
⚡️ Spring Boot фишка: SQL-скрипты прямо в тестах
Если нужно подготовить базу *до* теста или почистить *после* — не пиши вручную setup/teardown. В Spring Boot есть аннотация @Sql, которая умеет запускать SQL-скрипты: - перед тестовым методом - после тестового метода - на уровне всего тестового класса Пример: @SpringBootTest @Sql("/test/products...
1 неделю назад
🚀 Spring Boot: хочешь, чтобы Jackson создавал объекты из JSON явно и предсказуемо - используй @JsonCreator
Почему это важно: 🟢 Jackson не “угадывает”, какой конструктор использовать 🟢 Каждый параметр жёстко привязан к полю JSON через @JsonProperty 🟢 Меньше магии - меньше багов при рефакторинге Идеально для immutable-классов (`final` поля) и DTO...
1 неделю назад
🔥 Полезная подборка каналов только код, практика и самые передовые инструменты, которые используют разработчики прямо сейчас
👇 🖥 ИИ: t.me/ai_machinelearning_big_data 🖥 Python: t.me/pythonl 🖥 Linux: t.me/linuxacademiya 🖥 C++ t.me/cpluspluc 🖥 Docker: t.me/DevopsDocker 🖥 Хакинг: t.me/linuxkalii 🖥 Devops: t.me/DevOPSitsec 👣 Golang: t.me/Golang_google 🖥 Аналитика: t.me/data_analysis_ml 🖥 Javascript: t.me/javascriptv 🖥 C#: t.me/csharp_ci 🖥 Java: t.me/javatg 🖥 Базы данных: t.me/sqlhub 👣 Rust: t.me/rust_code 🤖 Технологии: t.me/vistehno 💰 Экономика и инвестиции в ИИ t...
1 неделю назад