Java guru
4.43K subscribers
1 photo
1 video
1 file
266 links
Новости из мира Java, обзоры интересных библиотек и фреймворков, обучающие статьи. Онлайн обсуждения актуальных тем и обмен опытом. Для связи @RodmanDV
Download Telegram
Awesome IT links

Сборник ссылок на ресурсы для изучения Java. Список будет расширяться.

https://github.com/RodinDenis/awesome-it-links
🔥6👍4
Опять транзакции…

Транзакция нужна когда у нас есть несколько операций, которые меняют данные в БД. В противном случае смысла в ней никакого нет и база сама откроет и закроет транзакцию внутри себя, без дополнительных указаний извне. Речь в данной статье будет идти о клиентском управлении транзакциями, через аннотацию Spring @Transactional и базу Postgres.

https://habr.com/ru/articles/803395
👍7
System Design 101

Во многих компаниях на собеседованиях senior разработчиков этап System Design становится обязательным. В шпаргалке на высоком уровне рассматриваются такие вещи, как протоколы коммуникации, DevOps, CI/CD, архитектурные паттерны, базы данных, кэширование, микросервисы (и монолиты), платежные системы, Git, облачные сервисы etc. Особую ценность представляют диаграммы.

https://habr.com/ru/articles/770564/
🔥7
Красивый код с Optional и Either

Класс Optional хорошо подходит для ситуаций с отсутствующим значением как прекрасная альтернатива использованию null, но что делать если мы хотим в таких случаях возвращать разные объекты? Например если мы хотим работать с исключениями в функциональном стиле?

Есть несколько библиотек решающих эту задачу: vavr, fugue, lambda и either.

Either самая легковесная из них и детали работы с ней рассмотрены в статье.

https://dzone.com/articles/the-beauty-of-java-optional-and-either
🔥5
Sealed (закрытые) классы Java: создание надежных и безопасных приложений

Sealed классы Java ограничивают набор классов, которые могут их реализовать. Это поможет предотвратить ряд ошибок и сделать код более удобным для сопровождения.

https://dzone.com/articles/java-sealed-classes-building-robust-and-secure-app
👍3🔥3
Использование Java Record-ов как DTO в Spring Boot 3

В статье описывается как наилучшим образом использовать Java Record-ы для работы с базой данных и API в Spring Boot 3 с Hibernate 6.

https://dzone.com/articles/how-to-best-use-java-records-as-dtos-in-spring-boo
👍5👎1🔥1
Эффективность стримов в Java

Стримы позволяют писать более лаконичный код и с этим в основном никто не спорит. С производительностью стримов не все так однозначно.

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

https://habr.com/ru/articles/807647/
👍2🔥2
Материалы Spring Academy Pro стали доступны бесплатно

Доступ можно получить по этой ссылке. Материалы разбиты на 3 категории: руководства, курсы и траектория обучения.

https://spring.io/blog/2024/04/10/spring-academy-pro-content-now-free-to-access
🔥7👍2
Spring Boot Starter: практически, принципиально и подробнее. Часть 1

Одно из преимуществ микросервисной архитектуры в модульности ее компонентов. Общее решение, вынесенное за скобки, можно переиспользовать как внутри разрабатываемого проекта, так и в следующих сервисах с аналогичным стеком. А механизмы Spring Boot помогут создать общий компонент, настроить и легко интегрировать его.

А что можно выделить в отдельное решение? Присмотритесь к своему проекту. Наверняка во многих частях задействованы кастомные аннотации и их обработчики, модули безопасности, различные интерцепторы, валидаторы, средства мониторинга и трассировки. Любое решение, используемое в двух и более микросервисах, — отличный кандидат на выделение в самостоятельный компонент.

https://habr.com/ru/companies/ru_mts/articles/811693/
👍6🔥1
Появился новый канал с аудио обзорами различных материалов и событий из мира IT.

Если вам интересен такой формат, то накидайте «огоньков» ))

https://t.me/java_guru_podcast
🔥12👍1
Audio
Аудио обзор книги "Kubernetes for Developers"
🔥2
Как начать писать на Java в VSCode

Я достаточно давно пользуюсь JetBrains IntelliJ IDEA хотя начинал свой путь в Java на Eclipse IDE. После перехода на JetBrains IntelliJ IDEA об альтернативах я особо не задумывался. IDE достаточно комфортная.

В статье автор делится опытом подготовки среды разработки и изучения вопроса: «А можно ли перейти на VSCode?».

https://habr.com/ru/companies/cdek_blog/articles/811631/
🔥4👎1
Compiler Explorer — уникальный проект для исследования компилируемого кода

Это просто космический инструмент да еще и open source!!!

В левой панели вы выбираете язык и вставляете кусок кода, а в правой он показывает вам ассемблерный код, генерируемый разными компиляторами под разные архитектуры процессоров. Проект поддерживает 69 языков и Java в том числе.

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

В конце статьи особенно порадовал Movfuscator. Он использует только MOV ))

https://habr.com/ru/companies/ruvds/articles/815675/
🔥6👍3
Гарвардский курс по основам программирования CS50 (бесплатно)

Отличный курс по основам программирования. Можно быстро освежить базу. Особенно рекомендую новичкам.

https://youtube.com/playlist?list=PLawfWYMUziZqyUL5QDLVbe3j5BKWj42E5&si=ET3P_dbNTmHABDPx
👍4🔥2
Practice SQL - сайт для практики SQL запросов.

Навык работы с базами данных очень важен для разработчиков. Прелесть данного сайта в том, что вам не нужно самим заниматься разворачиванием тестовой базы. Достаточно открыть браузер. Также, в отличии от тестов, здесь вам нужно будет реально набирать и выполнять SQL, а это лучше запоминается.

https://www.sql-practice.com/
👍5🔥3🤩1
Coding game

Coding game - сайт для прокачки навыков программирования на 25+ языках. Можно писать и на Java. Вы получаете задачи и решаете их в игровой форме. Оформление впечатляет )

https://www.codingame.com/start/
🔥42
Криптография на службе у stateless

Команда Мир Plat.Form под интересным углом посмотрела на архитектуру решения stateless сервиса. Вместо хранения состояния на стороне сервиса они решили передавать его в каждом запросе, а для защиты от подмены использовать контрольные суммы сообщения (HMAC). У решения есть свои плюсы и минусы. Больше деталей в статье.

https://habr.com/ru/companies/nspk/articles/808199/
👍4🔥1
Генерация OpenAPI из Spring Boot MVC

При работе с OpenAPI есть свои «подводные камни». Некоторые из них описаны в этой статье. В примере используется Spring Boot 3 и OpenAPI 3.

https://habr.com/ru/articles/814061/
🔥4👍2
Рецепты «приготовления» Hibernate, или решаем 5 проблем работы с фреймворком

Hibernate — очень мощный фреймворк. Однако многие, начиная с ним работать, натыкаются на проблемы производительности или отсутствия нужной функциональности. Многие из этих проблем появляются просто из-за того, что разработчики не умеют его «готовить». 

Подборка решений достаточно интересная в статье.

https://habr.com/ru/companies/magnit/articles/814573/
🔥7👍5
Гайд по использованию JUnit 5, Mockito и AssertJ для проверки поведения кода

В статье показано как использовать JUnit, Mockito и AssertJ для тестирования кода, а также JaCoCo для оценки покрытия тестами на примере простого мини-сервиса.

https://habr.com/ru/companies/banki/articles/814485/
🔥4👍2👏1