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


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

РКН clck.ru/3KoGeP
Download Telegram
Шпаргалка по Java

📲 Мы в MAX

👉@BookJava
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2
🎥 Открытый урок «Наблюдаемость микросервиса: метрики + Prometheus/Grafana».

🗓 11 ноября в 20:00 МСК
🆓 Бесплатно. Урок в рамках старта курса
«Java Developer. Advanced».

Что будет на вебинаре:

✔️ Полезные метрики для микросервисов: технические и продуктовые; типовые анти-метрики.
✔️Интеграция Spring Actuator/Micrometer и экспорт /actuator/prometheus.
✔️ Сбор в Prometheus: таргеты, ретенция, базовые правила алертинга.
✔️ Дашборды «для разработчика» в Grafana: структура панелей, аннотации, drill-down.

В результате вебинара вы:
- Сможете выделять действительно важные метрики, подключить Actuator/Micrometer, настроить сбор в Prometheus и собрать базовый дашборд в Grafana.

Кому будет интересно:
Java backend-разработчикам, DevOps/SRE и инженерам, отвечающим за эксплуатацию микросервисов.

🔗 Ссылка на регистрацию: https://vk.cc/cR1RCp

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
OpenAPI + Spring: ускоряем разработку и повышаем качество API

Разработка REST API — рутинная? Только если без OpenAPI. Узнайте, как избавиться от ручной синхронизации между фронтом, бэком и тестами.

На вебинаре разберём:
• зачем нужна OpenAPI-спецификация и как с ней жить удобно;
• генерацию кода и документации;
• интеграцию OpenAPI в Spring-приложение;
• советы по масштабируемости и поддержке API.

После вебинара вы сможете:
— быстро внедрить OpenAPI в свой проект;
— сократить ошибки на стыке команд;
— улучшить поддержку и документирование микросервисов.

12 ноября в 20:00 открытый урок проходит в преддверие старта курса «Разработчик на Spring Framework». Все участники получат скидку на обучение.

👉 Регистрация бесплатная, но количество мест ограничено — успей занять своё место:
https://vk.cc/cR5B3p

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
2
💡Совет по Java: Если в Java Map нужно хранить несколько значений для одного ключа, используйте Apache Commons MultiValuedMap.

Если нужно хранить несколько значений для одного ключа в Map, можно использовать MultiValuedMap:
- List для дублирующихся значений (с повторениями).
- Set для уникальных значений (без дубликатов).

Пример кода:
1. ArrayListValuedHashMap – значения хранятся в списке (допускаются дубликаты):

MultiValuedMap<Integer, String> listMap = new ArrayListValuedHashMap<>();
listMap.put(1, "A");
listMap.put(1, "A");
listMap.put(1, "B");
listMap.put(1, "C");
Collection<String> values = listMap.get(1);
// values = ["A", "A", "B", "C"]


2. HashSetValuedHashMap – значения хранятся в множестве (дубликаты не допускаются):

MultiValuedMap<Integer, String> listMap = new HashSetValuedHashMap<>();
listMap.put(1, "A");
listMap.put(1, "A");
listMap.put(1, "B");
listMap.put(1, "C");
Collection<String> values = listMap.get(1);
// values = ["A", "B", "C"]


MultiValuedMap – удобное решение, чтобы избежать ручного управления коллекциями значений для одного ключа. Можно легко переключаться между List и Set реализациями в зависимости от задачи.

📲 Мы в MAX

👉@BookJava
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🤯2
🚀 Подборка Telegram каналов для программистов

Системное администрирование, DevOps 📌
https://t.iss.one/bash_srv Bash Советы
https://t.iss.one/win_sysadmin Системный Администратор Windows
https://t.iss.one/sysadmin_girl Девочка Сисадмин
https://t.iss.one/srv_admin_linux Админские угодья
https://t.iss.one/linux_srv Типичный Сисадмин
https://t.iss.one/devopslib Библиотека девопса | DevOps, SRE, Sysadmin
https://t.iss.one/linux_odmin Linux: Системный администратор
https://t.iss.one/devops_star DevOps Star (Звезда Девопса)
https://t.iss.one/i_linux Системный администратор
https://t.iss.one/linuxchmod Linux
https://t.iss.one/sys_adminos Системный Администратор
https://t.iss.one/tipsysdmin Типичный Сисадмин (фото железа, было/стало)
https://t.iss.one/sysadminof Книги для админов, полезные материалы
https://t.iss.one/i_odmin Все для системного администратора
https://t.iss.one/i_odmin_book Библиотека Системного Администратора
https://t.iss.one/i_odmin_chat Чат системных администраторов
https://t.iss.one/i_DevOps DevOps: Пишем о Docker, Kubernetes и др.
https://t.iss.one/sysadminoff Новости Линукс Linux

1C разработка 📌
https://t.iss.one/odin1C_rus Cтатьи, курсы, советы, шаблоны кода 1С
https://t.iss.one/DevLab1C 1С:Предприятие 8
https://t.iss.one/razrab_1C 1C Разработчик
https://t.iss.one/buh1C_prog 1C Программист | Бухгалтерия и Учёт
https://t.iss.one/rabota1C_rus Вакансии для программистов 1С

Программирование C++📌
https://t.iss.one/cpp_lib Библиотека C/C++ разработчика
https://t.iss.one/cpp_knigi Книги для программистов C/C++
https://t.iss.one/cpp_geek Учим C/C++ на примерах

Программирование Python 📌
https://t.iss.one/pythonofff Python академия.
https://t.iss.one/BookPython Библиотека Python разработчика
https://t.iss.one/python_real Python подборки на русском и английском
https://t.iss.one/python_360 Книги по Python

Java разработка 📌
https://t.iss.one/BookJava Библиотека Java разработчика
https://t.iss.one/java_360 Книги по Java Rus
https://t.iss.one/java_geek Учим Java на примерах

GitHub Сообщество 📌
https://t.iss.one/Githublib Интересное из GitHub

Базы данных (Data Base) 📌
https://t.iss.one/database_info Все про базы данных

Мобильная разработка: iOS, Android 📌
https://t.iss.one/developer_mobila Мобильная разработка
https://t.iss.one/kotlin_lib Подборки полезного материала по Kotlin
https://t.iss.one/androidspb Разработка под Android: Kotlin, Java.

Фронтенд разработка 📌
https://t.iss.one/frontend_1 Подборки для frontend разработчиков
https://t.iss.one/frontend_sovet Frontend советы, примеры и практика!
https://t.iss.one/React_lib Подборки по React js и все что с ним связано

Разработка игр 📌
https://t.iss.one/game_devv Все о разработке игр

Библиотеки 📌
https://t.iss.one/book_for_dev Книги для программистов Rus
https://t.iss.one/programmist_of Книги по программированию
https://t.iss.one/proglb Библиотека программиста
https://t.iss.one/bfbook Книги для программистов

БигДата, машинное обучение 📌
https://t.iss.one/bigdata_1 Big Data, Machine Learning

Программирование 📌
https://t.iss.one/bookflow Лекции, видеоуроки, доклады с IT конференций
https://t.iss.one/rust_lib Полезный контент по программированию на Rust
https://t.iss.one/golang_lib Библиотека Go (Golang) разработчика
https://t.iss.one/itmozg Программисты, дизайнеры, новости из мира IT
https://t.iss.one/php_lib Библиотека PHP программиста 👨🏼‍💻👩‍💻
https://t.iss.one/nodejs_lib Подборки по Node js и все что с ним связано
https://t.iss.one/ruby_lib Библиотека Ruby программиста
https://t.iss.one/lifeproger Жизнь программиста. Авторский канал.

QA, тестирование 📌
https://t.iss.one/testlab_qa Библиотека тестировщика

Шутки программистов 📌
https://t.iss.one/itumor Шутки программистов

Защита, взлом, безопасность 📌
https://t.iss.one/thehaking Канал о кибербезопасности
https://t.iss.one/xakep_2 Хакер Free

Книги, статьи для дизайнеров 📌
https://t.iss.one/ux_web Статьи, книги для дизайнеров

Математика 📌
https://t.iss.one/Pomatematike Канал по математике
https://t.iss.one/phis_mat Обучающие видео, книги по Физике и Математике
https://t.iss.one/matgeoru Математика | Геометрия | Логика

Excel лайфхак📌
https://t.iss.one/Excel_lifehack

https://t.iss.one/mir_teh Мир технологий (Technology World)

Вакансии 📌
https://t.iss.one/sysadmin_rabota Системный Администратор
https://t.iss.one/progjob Вакансии в IT
👍3
Совет 💡

Обычно при сортировке в Spring Data мы указываем свойство, по которому хотим отсортировать, как строку. Однако существует класс TypedSort, который дает нам возможность передавать функцию в качестве параметра для сортировки. Это повышает безопасность типов в нашем коде.

📲 Мы в MAX

👉@BookJava
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
⌨️ DSL в Kotlin: от теории к практике

Приглашаем на открытый урок.

🗓 20 ноября в 19:00 МСК
🆓 Бесплатно. Урок в рамках старта курса «Kotlin Backend Developer. Professional».

Программа вебинара:


✔️ Что такое DSL и зачем он нужен в современной разработке

✔️ Основные элементы Kotlin для создания DSL: лямбды, infix-функции, расширения

✔️ Практические примеры использования DSL в Gradle, Ktor и TeamCity

Вебинар будет полезен:
Бэкенд-разработчикам на Kotlin, тимлидам и всем, кто хочет писать более чистый и поддерживаемый код.

В результате вебинара:
Научитесь создавать собственные DSL и применять их при разработке

🔗 Ссылка на регистрацию: https://vk.cc/cR97Xt

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
🤮3
Работа с JDK Flight Recorder (JFR) из командной строки: инструмент для профилирования без графического интерфейса

Экосистема Java богата качественными инструментами для разработчиков, и средства профилирования и диагностики - не исключение.

Существуют коммерческие профилировщики, есть встроенные инструменты профилирования в ведущих IDE. А если вам важна свобода (или цена является важным фактором), open source сообщество также готово предложить достойные альтернативы.

JFR (JDK Flight Recorder) один из ключевых инструментов для диагностики работы Java приложений, который можно эффективно использовать из командной строки. Приёмам работы с этим инструментом я хочу посвятить данную статью.

https://habr.com/ru/companies/axiomjdk/articles/964362/

📲 Мы в MAX

👉@BookJava
Please open Telegram to view this post
VIEW IN TELEGRAM