Библиотека 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
Продвинутая Java

Динамический массив (ArrayList) - Введение
Динамический массив (ArrayList) - Как устроен?
Введение в многопоточность в Java
Ключевое слово volatile
Введение в тестирование. Модульное (Unit) тестирование.

источник

👉@BookJava
👍3
Автоматически ищем техдолг с помощью RefactorFirst

Недавно вышла новая версия библиотеки RefactorFirst 0.4.0, которая позволяет определять и визуализировать технический долг. С этой информацией можно пойти к своему тимлиду или продукт-оунеру и выбить время на рефакторинг, имея под руками железные доказательства.

Она ищет в Java-коде Божественные Классы и классы с очень высоким уровнем связности, которые следовало бы отрефакторить. Для этого используются правила God Class Rule и Coupling Between Objects Rule из опенсорсного коданализатора PMD.

Коротко опишу, что это такое, и как этим пользоваться.

https://habr.com/ru/companies/bar/articles/746574/

👉@BookJava
👍3
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