Библиотека Java разработчика
10.8K subscribers
1.14K photos
564 videos
58 files
1.44K links
📚 Лайфхаки, приёмы и лучшие практики для Java-разработчиков. Всё, что ускорит код и прокачает навыки. Java, Spring, Maven, Hibernate.


По всем вопросам @evgenycarter

РКН clck.ru/3KoGeP
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
Пишем плагин для IntelliJ IDEA. Ускоряем написание тестов на DTO

Кто я такой
В Java я недавно. Работаю Java-разработчиком около года при общем 10-летнем стаже в АльфаСтрахование. Этому году предшествовали годы разработки на ABAP и полгода обучения на Javarush.

https://habr.com/ru/company/alfastrah/blog/706314/

👉@BookJava
👍5
Почему WebAssembly плохо годится для Java

Как разработчик TeaVM, компилятора байт-кода JVM в JavaScript и WebAssembly, я часто рекомендую пользователям, почему-то жаждущим сгенерировать WebAssembly, начать с JavaScript. Если честно, бэкэнд WebAssembly я очень давно не развиваю, не реализую в нём недостающих фич и не фикшу баги. Меня спрашивают: а почему так? Обычно, я просто игнорирую подобные вопросы, потому что в двух предложениях ответить на них невозможно, а для того, чтобы писать больше предложений, у меня нет времени. Обычно если я встречаю чьи-то попытки объяснить, чем WebAssembly плох для реализации JVM (а так же, CLR, JavaScript и прочих динамических сред), то они сводятся к следующему: "Java (.NET, JavaScript, ваш вариант) — это управляемый язык со сборкой мусора и исключениями, так что приходится тащить с собой гигантский рантайм". Что же, на самом деле, ситуация несколько сложнее, а размер рантайма вовсе не такой страшный и не является основным источником бед.

https://habr.com/ru/articles/757182/

👉@BookJava
Все что вам нужно знать о таймаутах

Никто не любит ждать и мы в Zalando не исключение. Мы не любим когда наши клиенты долго ждут доставку, мы не любим когда наши клиенты долго ждут оформления заказа и мы не любим медленные микросервисы. В этой статье мы говорим о том как установить оптимальное значение таймаутов в микросервисной архитектуре, чтобы достичь максимальной производительности и отказоустойчивости.

Rus https://habr.com/ru/articles/755750/

Eng https://engineering.zalando.com/posts/2023/07/all-you-need-to-know-about-timeouts.html


👉@BookJava
👍4
Шпаргалка по Java

👉@BookJava
👍15
10 популярных библиотек для модульного и интеграционного тестирования Java

Юнит-тестирование и интеграционное тестирование в Java являются важными составляющими процесса разработки программного обеспечения.

Юнит-тестирование подразумевает тестирование отдельных блоков или компонентов кода в изоляции. Для этого обычно используется фреймворк тестирования, например JUnit или TestNG, и пишутся тестовые примеры, которые проверяют код и убеждаются в том, что его поведение соответствует ожиданиям. Модульные тесты должны быть быстрыми, повторяемыми и не зависеть от внешних зависимостей.

https://www.javacodegeeks.com/2023/03/10-popular-libraries-for-java-unit-and-integration-testing.html


👉@BookJava
👍1
Как найти "мертвый" код в Java-сервисах

При создании решений код, который мы пишем, может прослужить много лет. При случайном просмотре устаревшего кода мы можем задаться вопросом: используется ли он до сих пор? Отсутствующая документация или устаревшие тесты не помогут нам ответить на этот вопрос. Если поспрашивать, то никто толком не знает. Давайте попробуем его удалить? А потом начинается хаос: выясняется, что она все еще используется для поддержки некоторых старых пользователей, на случай непредвиденных обстоятельств, или для той забытой интеграции, которую все еще используют.

Если код действительно больше не используется, то зачастую это происходит по историческим причинам. Возможно, сценарии использования были заменены новыми функциональными возможностями или устарели, а код забыли удалить. В случаях, когда исследовать "мертвый" код не так уж и просто, как повысить уверенность?

https://blog.picnic.nl/how-to-find-dead-code-in-your-java-services-d167c8f22838

👉@BookJava
👍3
Глубокое погружение в Java Memory Model

В этой статье мы подробно разберем Java Memory Model (JMM) и применим полученные знания на практике. Да, в интернете накопилось достаточно много информации про JMM/happens-before, и, кажется, что очередную статью про такую заезженную тему можно пропускать мимо. Однако я постараюсь дать вам намного большее и глубокое понимание JMM, чем большинство информации в интернете. После прочтения этой статьи вы будете уверенно рассуждать о таких вещах как memory ordering, data race и happens-before. JMM — сложная тема и не стоит верить мне на слово, поэтому большинство моих утверждений подтверждается цитатами из спеки, дизассемблером и jcstress тестами.

👉 @BookJava
👍71
Java Pro Tips: Редкие трюки для повышения эффективности разработки

В этой статье мы рассмотрим некоторые редкие и мощные советы и приемы, которые помогут вам раскрыть весь потенциал Java и создать элегантный и эффективный код.

От функциональных интерфейсов и ссылок на методы до потокового API и необязательных классов - мы рассмотрим некоторые расширенные возможности Java, которые часто упускаются из виду, но могут значительно улучшить ваш опыт программирования.

Итак, давайте погрузимся в работу и раскроем всю мощь Java!

https://blog.devgenius.io/java-pro-tips-rare-tricks-to-supercharge-your-programming-d4290c100d56

👉 @BookJava
👍1