На сегодняшний день sonarqube - один из самый известный способ автоматического анализа кода и его ревью. В данной статье показан процесс настройки sonarqube для вашего проекта.
🔗 Ссылка на статью
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Roadmap "Как стать java разработчиком".
Карта показывает необходимые навыки для изучения
🔗 Ссылка
👩💻 Java Developer | Backend |#⃣ #обучение #java
Карта показывает необходимые навыки для изучения
🔗 Ссылка
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2❤1
Если вы все еще вручную копируете данные из Entity в DTO через сеттеры, пора переходить на MapStruct. Это кодогенератор, который работает на этапе компиляции. В отличие от аналогов на Reflection (типа ModelMapper), он создает чистый и быстрый Java-код, который легко дебажить.
Почему это стандарт индустрии?
Пример реализации:
@Mapper(componentModel = "spring")
public interface UserMapper {
@Mapping(source = "email", target = "login")
@Mapping(target = "fullName", expression = "java(u.getFirstName() + ' ' + u.getLastName())")
UserDto toDto(User u);
}
MapStruct делает ваш код чище, а разработку — приятнее.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2❤1
Нашел крутой тренажер для тех, кто хочет подтянуть SQL без скучной теории. Главный плюс — вы решаете задачи в браузере на живых базах данных.
Почему стоит глянуть:
🔗 Ссылка
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2❤1
SonarQube — стандарт индустрии для контроля качества Java-кода. Инструмент автоматизирует поиск багов, уязвимостей и «запахов кода», бесшовно интегрируясь в CI/CD через Maven или Gradle. Это позволяет поддерживать архитектурную целостность и системно минимизировать техдолг. Применение SonarQube гарантирует, что в релизную ветку попадает только код, прошедший строгую проверку на надежность и производительность.
Quality Gates — это автоматизированный «чек-лист», определяющий готовность кода к деплою. Если проект не соответствует заданным порогам, статус проверки меняется на Failed, и сборка блокируется.
Использование Quality Gates исключает субъективность при приемке кода и позволяет команде сфокусироваться на создании фич, не отвлекаясь на базовый аудит безопасности.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2
В современной Java-разработке до 90% итогового кода приложения составляют сторонние библиотеки. SCA (Software Composition Analysis) — это методология автоматизированного аудита этих зависимостей. В отличие от классического статического анализа (SAST), который проверяет ваш авторский код, SCA фокусируется на рисках, приходящих извне вместе с Open Source компонентами.
Инструменты SCA анализируют манифесты сборки (например,
pom.xml или build.gradle) и выявляют две основные группы проблем:Если в проекте используется библиотека с публично известной дырой в безопасности, SCA заблокирует сборку.
Пример в Maven:
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.14.1</version>
</dependency>
2.17.1.SCA проверяет, не нарушают ли лицензии библиотек юридическую политику компании.
Внедрение SCA в CI/CD пайплайн Java-проекта — это не просто дополнительный этап проверки, а критическое требование безопасности. Это позволяет разработчикам использовать всю мощь Open Source, сохраняя контроль над защищенностью и юридической чистотой продукта. В современных реалиях SCA является обязательным дополнением к анализу кода, формируя комплексный подход к качеству ПО.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2
Если вы ищете способ подтянуть свои навыки работы с базами данных, забудьте про скучные учебники. Есть кое-что поинтереснее — SQL Murder Mystery.
В городе произошло преступление. У вас есть только дата, место и доступ к полицейской базе данных. Ваша задача — через SQL-запросы восстановить цепочку событий, найти свидетелей и, наконец, вычислить убийцу.
Почему это круто:
🔗 Ссылка
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2
Много раз получал вопросы: «Где попрактиковаться перед собеседованием?», «Как понять, готов ли я?». Наконец сделал то, что сам хотел бы иметь когда готовился.
Представляю @interviewer_tg_bot — тренажёр технических собеседований прямо в Telegram 🎯
Что умеет:
— Задаёт реальные вопросы по Java, Python, Go, C#, React, Angular, Vue, Node.js, PHP, SQL, DevOps, QA и другим направлениям
— Принимает ответы голосом или текстом
— Оценивает ответ через AI и даёт развёрнутый фидбек
— Проводит mock-интервью — 5 вопросов подряд с итоговой оценкой как на настоящем собеседовании
— Подбирает вопросы под твой уровень: Junior / Middle / Senior
Первые 5 вопросов бесплатно — попробуй прямо сейчас.
👉 @interviewer_tg_bot ✔️
Переходи скорее!
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2
Собрали для вас шпаргалку по горячим клавишам IntelliJ IDEA
Всё самое нужное в одной картинке: навигация, редактирование, рефакторинг и отладка. Сохраняй и пользуйся
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3
Spring Security — стандарт индустрии для защиты Java-приложений. Фреймворк автоматизирует аутентификацию, авторизацию и защиту от типовых атак, бесшовно интегрируясь в Spring Boot через автоконфигурацию. Это позволяет выстраивать многоуровневую защиту и системно закрывать уязвимости ещё на этапе разработки. Применение Spring Security гарантирует, что доступ к ресурсам приложения получают только авторизованные пользователи с нужными правами.
Spring Security — это не просто логин и пароль. Фреймворк покрывает весь стек безопасности современного backend-приложения.
Проверка личности пользователя. Spring Security поддерживает множество стратегий: form login, Basic Auth, OAuth2, а в REST API — JWT-токены. Короткоживущий access token (15 мин) + refresh token в httpOnly cookie — стандартная схема для защиты от XSS и CSRF одновременно.
Аннотации @PreAuthorize, @PostAuthorize, @Secured позволяют защищать отдельные методы сервисов, а не только HTTP-эндпоинты. @PreAuthorize("hasRole('ADMIN')") на методе сервиса — это второй уровень защиты, который сработает даже если настройки SecurityFilterChain были заданы неверно.
По умолчанию Spring Security включает CSRF-защиту для всех state-changing запросов. В REST API с JWT её обычно отключают — но только если refresh token хранится в httpOnly cookie и реализован Double Submit Cookie pattern для мутирующих запросов.
Цепочка фильтров — сердце Spring Security. Каждый запрос проходит через неё последовательно: JwtAuthFilter → UsernamePasswordAuthenticationFilter → AuthorizationFilter. Порядок фильтров критичен — неправильная конфигурация открывает дыры даже в корректно написанном коде.
Грамотная настройка Spring Security исключает целый класс уязвимостей из OWASP Top 10 и позволяет команде сфокусироваться на бизнес-логике, не изобретая велосипед в области защиты.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3
Docker — стандарт контейнеризации для Java-приложений. Упаковывает Spring Boot сервис со всеми зависимостями в изолированный контейнер, который одинаково работает на ноутбуке разработчика, CI-сервере и продакшне. Больше никакого «у меня работает».
Разделяет сборку и запуск. На первом этапе Maven компилирует и собирает JAR, на втором — в финальный образ попадает только JRE и артефакт. Размер образа сокращается с 600MB до 150MB.
dockerfileFROM maven:3.9-eclipse-temurin-21 AS build
COPY . .
RUN mvn package -DskipTests
FROM eclipse-temurin:21-jre-alpine
COPY --from=build target/app.jar app.jar
ENTRYPOINT ["java", "-jar", "app.jar"]
Поднимает PostgreSQL, Redis и само приложение одной командой docker compose up. Никаких ручных установок на машину разработчика — новый член команды готов к работе за 5 минут.
Секреты и настройки передаются через environment или .env файл — никаких application.properties с паролями в репозитории.
Docker превращает деплой Java-приложения из ручного ритуала в воспроизводимый автоматизированный процесс.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2