Java библиотека – Telegram
Java библиотека
31.5K subscribers
2.38K photos
91 videos
10 files
2.19K links
Книги, статьи, мемы и многое другое для Java программиста!

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

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

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

Сообщество VK https://vk.com/javatutorial
Download Telegram
👩‍💻 Создание приложения Блокнот на Java 👩‍💻

🗓 24 марта в 20:00 МСК
🆓 Бесплатно. Урок в рамках старта курса «Java-разработчик».

На вебинаре мы разработаем полноценное приложение «Блокнот» с графическим пользовательским интерфейсом, демонстрирующее базовые принципы создания текстового редактора на Java.

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

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

Спикер Александр Фисунов — Senior Kotlin Developer в SSP Software на проекте ВТБ, опытный Java-разработчик и кандидат технических наук.

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

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
👍52🔥2
🖥 OpenGLFX — библиотека для интеграции OpenGL-графики с JavaFX!

🌟 Она добавляет компонент GLCanvas, который позволяет отображать графику OpenGL как обычный элемент JavaFX. Библиотека поддерживает различные движки рендеринга, включая LWJGL, JOGL, LWJGL2 и LibGDX, и оптимизирована для каждой платформы.

🔐 Лицензия: Apache-2.0

🖥 Github

Java библиотека #java
Please open Telegram to view this post
VIEW IN TELEGRAM
👍94🔥4
🖥 Заметки о java.util.Stream

Stream API (поток) — принципиально новый способ работы с коллекциями в Java (по крайней мере он был таким на момент релиза).

В данной статье речь пойдёт о наиболее интересных и показательных примерах использования Stream.
Обсудим, как применять Stream API эффективно, делая код лучше и избегая ошибок.

🔜 о java.util.Stream

Java библиотека #java
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥11👍64
Секретная фича Docker Compose | Создаём несколько окружений для Spring Boot | Amplicode

В новом видео мы рассказали о нескольких способах создания различных окружений с Docker Compose: от использования Copy/Paste и Profiles до малоизвестных Include и Extends.

Узнали, в чём минусы и плюсы каждого из них, а также посмотрели на поддержку перечисленных вариантов со стороны Amplicode.


🌐🗣СМОТРЕТЬ VKVIDEO

📺🗣СМОТРЕТЬ RUTUBE

📝🗣СМОТРЕТЬ DZEN
Please open Telegram to view this post
VIEW IN TELEGRAM
👍52🔥2
DoubleAdder

DoubleAdder
это класс из пакета java.util.concurrent, предназначенный для эффективного параллельного суммирования значений типа double.

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

Преимущества:
— Высокая скорость за счет разделения на сегменты и отсутствия блокировок.
— Минимизация конфликтов между потоками при обновлении.
— Хорошо масштабируется на большом количестве CPU ядер.


Java библиотека #java
Please open Telegram to view this post
VIEW IN TELEGRAM
👍146🔥4
🖥 Apache SeaTunnel — высокопроизводительный распределенный инструмент интеграции данных

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

🖥 GitHub
🟡 Доки

Java библиотека #java
Please open Telegram to view this post
VIEW IN TELEGRAM
👍95🔥3
Forwarded from Java Guru 🤓
Что будет результатом кода?
👍11🔥3
Forwarded from Java Guru 🤓
Что будет результатом кода?
Anonymous Quiz
23%
[10, 20, 30, 40]
7%
[20, 30, 40, 10]
56%
[20, 30, 40]
12%
[10, 20, 30]
2%
[30, 40, 20]
👍8🔥3
🖥 webmagic — масштабируемый фреймворк веб-краулера для Java

webmagic охватывает весь жизненный цикл краулера: загрузку, управление url, извлечение контента и его сохранение.

🖥 GitHub
🟡 Доки

Java библиотека #java
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥85
Полезный инструмент для работы с JSON 👇

JSON-файлы с высокой вложенностью часто сложно прочитать.
𝐉𝐬𝐨𝐧𝐂𝐫𝐚𝐜𝐤 создает графические диаграммы из JSON-файлов и делает их легко читаемыми.
Кроме того, созданные диаграммы можно скачать в виде изображений.

Также поддерживает YAML и XML форматы.

Java библиотека #java
Please open Telegram to view this post
VIEW IN TELEGRAM
👍166🔥3🎄1
Логирование, трассировка и метрики

Логирование, трассировка и метрики — это три столпа наблюдаемости системы

🟡Логирование
Логирование фиксирует дискретные события в системе. Например, мы можем записывать входящие запросы или обращения к базам данных как события. Это самый объемный тип данных. Для построения платформы анализа логов часто используют стек ELK (Elastic-Logstash-Kibana). Мы часто определяем стандартизированный формат логов для разных команд, чтобы использовать ключевые слова при поиске среди большого объема логов.

🟡Трассировка
Трассировка обычно привязана к запросам. Например, пользовательский запрос проходит через API-шлюз, балансировщик нагрузки, сервис A, сервис B и базу данных — это можно визуализировать в системах трассировки. Это полезно для выявления узких мест в системе. OpenTelemetry используется для демонстрации типичной архитектуры, которая объединяет три столпа в одной платформе.

🟡Метрики
Метрики — это обычно агрегируемая информация из системы. Например, QPS сервиса, отзывчивость API, задержка сервиса и т.д. Сырые данные записываются в базы данных временных рядов, такие как InfluxDB. Prometheus извлекает данные и преобразует их на основе предопределенных правил оповещений. Затем данные отправляются в Grafana для отображения или в менеджер оповещений, который затем рассылает уведомления по email, SMS или в Slack.

Какие инструменты вы используете для мониторинга системы?

Java библиотека #java
Please open Telegram to view this post
VIEW IN TELEGRAM
👍94🔥2
🖥 Vert.x — это набор инструментов для создания реактивных приложений на JVM

Ядро Vert.x содержит достаточно низкоуровневую функциональность, включая поддержку HTTP, TCP, доступ к файловой системе и различные другие возможности. Можно использовать Vert.x непосредственно в своих приложениях.

🖥 GitHub
🟡 Доки

Java библиотека #java
Please open Telegram to view this post
VIEW IN TELEGRAM
👍117🔥7
Паттерн Компоновщик (Composite)

Composite — это структурный паттерн, который позволяет организовать объекты в древовидные структуры для представления иерархий "часть-целое". Он позволяет клиентам единообразно работать как с отдельными объектами, так и с их группами.

Использование:

🟡Когда нужно представить иерархическую структуру объектов, например, дерево файловой системы или меню на сайте.
🟡Когда клиентский код должен одинаково работать как с отдельными объектами, так и с их контейнерами.
🟡Когда необходимо удобно добавлять новые виды компонентов в систему, поддерживая единый интерфейс.

Преимущества:

1️⃣ Позволяет обрабатывать составные и простые элементы одинаково.
2️⃣ Новый тип компонента можно добавить, просто реализовав общий интерфейс.
3️⃣ Можно динамически изменять дерево объектов (добавлять, удалять узлы).

Недостатки:

1️⃣ Усложнение кода: Может сделать систему сложнее из-за необходимости реализации общего интерфейса.
2️⃣ Затраты на проверку типов: Клиентский код иногда должен дополнительно проверять тип узлов, если это необходимо.

📌 Composite отлично подходит для работы с иерархиями, будь то дерево файлов, граф интерфейса или структурированные данные.

Java библиотека #java
Please open Telegram to view this post
VIEW IN TELEGRAM
15👍6
🖥 jSDR — фреймворк для создания программно-определяемых радиосистем (Software Defined Radio, SDR) с использованием Java!

🌟 Библиотека позволяет обрабатывать и настраивать радиосигналы, обеспечивая простой и типобезопасный интерфейс для работы с SDR-устройствами, такими как RTL-SDR.

🔐 Лицензия: AGPL-3.0

🖥 Github

Java библиотека #java
Please open Telegram to view this post
VIEW IN TELEGRAM
7👍6🔥5😁1
Новый HTTP Client от Amplicode на Kotlin Script для Spring приложений и не только

🌐🗣СМОТРЕТЬ VKVIDEO

📺🗣СМОТРЕТЬ RUTUBE

📝🗣СМОТРЕТЬ DZEN
Please open Telegram to view this post
VIEW IN TELEGRAM
👍72🔥2
👩‍💻 Spring Events: Реактивность без сложностей

Аннотация @EventListener позволяет подписываться на события в приложении. Это мощный инструмент для создания слабосвязанных компонентов: один класс публикует событие, а другой реагирует на него, ничего о нем не зная.

Как это работает?

1️⃣ Публикация событий

Spring предоставляет встроенный механизм событий. События — это просто Java-объекты, наследующие ApplicationEvent (начиная с Spring 4.2. наследование стало необязательным).

Публикуете событие через ApplicationEventPublisher:
@Component
public class EventPublisher {
private final ApplicationEventPublisher publisher;

public EventPublisher(ApplicationEventPublisher publisher) {
this.publisher = publisher;
}

public void publishEvent(String message) {
System.out.println("Publishing event: " + message);
publisher.publishEvent(new MyEvent(this, message));
}
}

public class MyEvent {
private final String message;

public MyEvent(Object source, String message) {
super();
this.message = message;
}

public String getMessage() {
return message;
}
}


2️⃣ Подписка на события

С помощью @EventListener можно подписаться на любое событие:
@Component
public class EventListenerExample {

@EventListener
public void handleEvent(MyEvent event) {
System.out.println("Event received: " + event.getMessage());
}
}


🔍 Преимущества

— Слабая связность: Публикатор не знает ничего о слушателях, и наоборот.
— Асинхронность: Можно легко сделать обработку событий асинхронной с помощью @Async.

🧐 Где это использовать?

— Аудит и логирование
Отправляйте события о ключевых действиях пользователя в отдельный аудит-лог.

— Обработка бизнес-логики
Делегируйте сложную обработку событий (например, отправку писем) в отдельные компоненты.

— Модульная архитектура
Сделайте ваши модули независимыми, обмениваясь событиями вместо вызовов методов.

А вы используете Spring Events в своих проектах?

Java библиотека #java
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍237🔥6
😁
😁6711💯4🍾1
Forwarded from Java Guru 🤓
Что будет результатом кода?
👍42🔥1😁1
Forwarded from Java Guru 🤓
Что будет результатом кода?
Anonymous Quiz
7%
Ошибка компиляции
1%
null
45%
Hello
4%
World
43%
Hello World
😁21👍10🔥4💯4