Java библиотека
31.6K subscribers
2.3K photos
78 videos
8 files
2.03K links
Книги, статьи, мемы и многое другое для Java программиста!

По сотрудничеству и рекламе: @NadikaKir

Канал в перечне РКН: https://vk.cc/cJrT4A

Мы на бирже: https://telega.in/c/javalib/

Сообщество VK https://vk.com/javatutorial
Download Telegram
🖥 Instancio — это библиотека Java, которая автоматически создает объекты для юнит тестов

Вместо того, чтобы вручную прописывать данные:
Address address  = new Address();
address.setCity("city");
//...
Person person = new Person();
person.setFirstName("first-name");
person.setLastName("last-name");
person.setAge(22);
person.setGender(Gender.MALE);

можно сделать просто:
Person person = Instancio.create(Person.class);


Эта строка создаёт объект Person() со всеми заполненными полями, в них вписываются случайные значения.
Эти значения можно полностью воспроизвести, если тест упадёт

🖥 GitHub

@javalib #java
Please open Telegram to view this post
VIEW IN TELEGRAM
👍423🔥2😁1
🖥 Hilla — современный веб-фреймворк Java

Hilla позволяет быстрее создавать бизнес-приложения — больше не нужно жонглировать эндпойнтами REST или расшифровывать запросы GraphQL.
Hilla объединяет Spring Boot и React, поэтому разработка приложений становится очень быстрой.

🖥 GitHub
🟡 Доки

@javalib
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15❤‍🔥43🎅2🔥1
📣 Хотите узнать, какой алгоритм сортировки быстрее и эффективнее? Присоединяйтесь к нашему открытому уроку!

💻 Тема: Визуальное сравнение 4-5 алгоритмов сортировок.

🔴Дата: 15 июля в 20:00 мск.

На занятии мы подробно рассмотрим два популярных алгоритма сортировки: Выбором и Пирамидальной. Разберём их по различным критериям, включая сложность, количество обменов, стабильность и адаптивность.

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

🔝Спикер Евгений Волосатов — программист баз данных и преподаватель с огромным и разнообразным опытом, автор статей и учебных программ по C#, Java, PHP.

➡️ Пройдите короткий тест прямо сейчас, чтобы посетить бесплатный урок: https://vk.cc/cyfihL

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Please open Telegram to view this post
VIEW IN TELEGRAM
😁43👍3🔥3
Работа с коллекциями с помощью Streams

Java Streams позволяют легко и эффективно работать с коллекциями данных, такими как списки, используя функциональный подход.

👀 Этот простой пример показывает, как с помощью Streams можно легко фильтровать и преобразовывать данные в коллекциях, делая код более лаконичным и понятным.

@javalib #java
👍20🔥5🎉41
🖥 Chronicle-Queue — система на Java для микросекундного обмена сообщениями, сохраняющая всё на диске

<dependency>
<groupId>net.openhft</groupId>
<artifactId>chronicle-queue</artifactId>
<version><!--replace with the latest version, see below--></version>
</dependency>


Chronicle Queue — это система обмена сообщениями с низкой задержкой для высокопроизводительных приложений.

Chronicle Queue — не просто ещё одна реализация очереди, в ней есть несколько важных архитектурных решений.
Не используя для хранения кучу, Chronicle Queue обеспечивает среду, в которой приложения не страдают от сборки мусора — а ведь это одна из самых больших проблем сложных приложений на Java.

Chronicle Queue позволяет добавлять сообщения в конец очереди, читать из очереди, а также поддерживает поиск сообщений.

🖥 GitHub

@javalib #java
Please open Telegram to view this post
VIEW IN TELEGRAM
17👍4
👩‍💻 Интеграционные тесты контроллеров, интеграций с внешними API и безопасности.

Ждём вас на третьем занятии серии открытых практических уроков по тестированию Spring-приложений от OTUS, где мы:

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

Спикер — Senior Software Engineer, опытный преподаватель и руководитель курса.

Встречаемся 16 июля в 20:00 мск в преддверии старта курса «Разработчик на Spring Framework».
Все участники вебинара получат специальную цену на обучение!

➡️ Регистрируйтесь прямо сейчас, чтобы не пропустить бесплатный урок и получить записи предыдущих вебинаров серии: https://vk.cc/cyfvNv

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Please open Telegram to view this post
VIEW IN TELEGRAM
4👍3🔥2
Double-brace инициализация

Это нестандартная инициализация объекта, которая использует двойные фигурные скобки для создания и инициализации коллекций, таких как списки (List) или множества (Set) в одной строке. Этот метод инициализации обычно используется для краткости кода, но его использование не является рекомендуемой практикой в реальных проектах из-за своей неочевидности и потенциальных проблем.

Вместо double-brace инициализации лучше использовать стандартные способы создания и инициализации коллекций в Java, такие как вызов конструктора и методов добавления элементов.

@javalib #java
13👍5😁4🔥1
🖥 RIFE2 — фреймворк Java для быстрого и легкого создания веб-приложений

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

🖥 GitHub
🟡 Wiki

@javalib #java
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🔥43
♨️ Хотите добиться максимальной производительности от своих Java-проектов?

Научитесь искусству измерения производительности и оптимизации кода на нашем увлекательном онлайн-уроке.

Забудьте о гадании и предположениях!
На этом вебинаре мы расскажем вам о мощном инструменте Java Microbenchmark Harness (JMH) и его области применения. Вместе мы разберем работу с производительными тестами и сравнением различных алгоритмов.

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

Спикер — Tech Lead в одном из крупнейших российских банков и кандидат технических наук.

Готовы стать мастером производительности в Java?

➡️ Регистрируйтесь прямо сейчас и откройте новый уровень эффективности в своих проектах: https://vk.cc/cykUdz

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Please open Telegram to view this post
VIEW IN TELEGRAM
4👍3
🖥 Picocli — простой способ создания CLI-утилит, которые могут работать как на JVM, так и вне её

dependencies {
implementation 'info.picocli:picocli:4.7.6'
}


Picocli — это современный фреймворк Java для создания мощных, удобных CLI с поддержкой GraalVM.
Picocli поддерживает цвета, автозаполнение, внутренние команды и многое другое.

Написан на Java, может использоваться из Groovy, Kotlin, Scala и т. д.

🖥 GitHub
🟡 Доки

@javalib #java
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
14👍5
Скомпилируется ли код с картинки?

Да, код будет скомпилирован, потому что он следует спецификации функционального интерфейса, определяющей только один абстрактный метод. Второй метод, count, является методом по умолчанию, который не увеличивает количество абстрактных методов.
🔥22👍126
🖥 PLC4X — промышленный IoT-адаптер на Java

<dependency>
<groupId>org.apache.plc4x</groupId>
<artifactId>plc4j-api</artifactId>
<version>0.12.0</version>
</dependency>


Apache PLC4X — это библиотека Java для унифицированного взаимодействия с программируемыми логическими контроллерами (ПЛК) промышленного класса и подобными IoT-устройствами.

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

🖥 GitHub
🟡 Доки

@javalib
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥13👍53
Использование брокера сообщений Apache Kafka в распределенных очередях

24 июля в 20:00 мск

Хотите узнать, как эффективно управлять сообщениями в масштабируемых распределенных системах? Тогда этот открытый вебинар для вас!

Мы разберем основы и архитектуру Apache Kafka, принципы работы с распределенными очередями, а также научимся настраивать и развертывать кластер Kafka в Docker. Вы увидите реальные примеры использования Kafka для обмена сообщениями между сервисами и узнаете о лучших практиках и рекомендациях по интеграции Kafka в ваши проекты.

💻 Урок будет полезен Fullstack и Backend-разработчикам, DevOps-инженерам, архитекторам ПО и администраторам систем, а также всем, кто хочет углубить свои знания об Apache Kafka и его применении.

🔴 Регистрация открыта: https://vk.cc/cypRTb

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
4👍3🔥2