Java библиотека
21
31.7K
0
0

Java библиотека

Привет! Добро пожаловать на Telegram канал "Java библиотека"! Здесь вы найдете множество полезных ресурсов для Java программистов. Мы предлагаем книги, статьи, мемы и многое другое, чтобы помочь вам углубиться в мир Java программирования.

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

https://t.me/javalib
Публикации с канала

🖥 OpenPDF — это библиотека с открытым исходным кодом для работы с PDF-документами на Java!

🌟 Она позволяет создавать, изменять и подписывать PDF-файлы, а также поддерживает функции шифрования и работы с формами. OpenPDF основана на старой версии iText и активно развивается сообществом для обеспечения современных возможностей работы с PDF.

🖥 Github

Java библиотека #java

15.04.2025 / 17:04

👍😌🙃❤️💫😍🌞☺️🫶🥰
Участвуй в хакатоне МТС True Tech Hack 2025 и разработай решение на базе одной из ИТ-платформ МТС:

1. Трек от DataOps Platform
Разработай решение для автоматизации процессов сбора и обработки данных и создания аналитических отчетов
2. Трек от Integration Platform
Разработай решение на базе ИИ, автоматизирующее процесс создания JSON-схем для описания бизнес-логики и интеграций
3. Трек от True Tabs
Автоматизируй процессы работы с данными, создав единую экосистему на базе no-code продукта True Tabs
4. Трек от Product Factory
Разработай AI-ассистент для Android-приложений, который будет анализировать интерфейсы и преобразовывать визуальные элементы в голосовые подсказки
5. Трек от MWS GPT
Разработай компактную модель «ученик» для эффективной и быстрой классификации текста

Хакатон будет проходить с 17 по 25 апреля.
Регистрация открыта до 16 апреля https://truetechhack.ru/
Призовой фонд — 1 500 000 рублей.

Участие могут принять системные аналитики, Data Scientists, Data Engineers, frontend- и backend-разработчики, Android-разработчики, бизнес-аналитики, аналитики данных, MLOps-инженеры, DevOps-инженеры, Product-менеджеры, ИТ-архитекторы, UI/UX-дизайнеры.

Регистрируйся на МТС True Tech Hack 2025: https://truetechhack.ru/

15.04.2025 / 13:04

MapStruct: быстрый и безопасный маппинг объектов

⚙️ Как это работает

MapStruct анализирует названия полей в исходном (source) и целевом (target) классах. Если поля совпадают по названию и типу, он автоматически создаёт код для их преобразования.

Когда названия полей не совпадают, нужно явно указать соответствие с помощью аннотации @Mapping:

— source — поле в исходном классе
— target — поле в целевом классе

@Mapping(source = "fullName", target = "name")
UserDTO toDTO(User user);


Как начать

1. Добавьте зависимости: mapstruct, mapstruct-processor

2. Выберите интерфейс или абстрактный класс и определите методы для преобразования объектов

3. Используйте маппер. В Spring-приложении маппер можно заинжектить как обычный бин.

Абстрактный класс или интерфейс

Документация MapStruct приводит примеры с интерфейсами, но библиотека поддерживает и абстрактные классы. Выбор за вами.

Интерфейс — MapStruct сам создаёт реализацию:
@Mapper(componentModel = "spring")
public interface UserMapper {
@Mapping(source = "fullName", target = "name")
UserDTO toDTO(User user);
}


Абстрактный класс — позволяет добавлять кастомную логику:
@Mapper(componentModel = "spring")
public abstract class UserMapper {
@Mapping(source = "fullName", target = "name")
public abstract UserDTO toDTO(User user);

public String mapAgeToString(int age) {
return age + " лет";
}
}


📌 Имена методов можно задавать любые. MapStruct анализирует типы аргументов и возвращаемых значений, чтобы понять, что куда маппить.

🔥 Интеграция со Spring

При использовании componentModel = "spring" маппер регистрируется как Spring-бин. Что позволяет заинжектить маппер:
@Service
public class UserService {
private final UserMapper userMapper;

public UserService(UserMapper userMapper) {
this.userMapper = userMapper;
}

public UserDTO convertUser(User user) {
return userMapper.toDTO(user);
}
}


💡 Где применять

— Маппинг DTO ↔️ Entity в Spring-приложениях
— Конвертация данных между разными объектами
— Обработка вложенных структур и коллекций

💬 Используете MapStruct в своих проектах? Делитесь опытом

Java библиотека #java

15.04.2025 / 04:04

🎥 VK Видео — видеосервис, который выдерживает высокие нагрузки и постоянно внедряет новые технологии. Аудитория сервиса превышает
41 миллион человек.

22 апреля состоится митап, где топ-менеджеры и техлиды подробнее расскажут о сервисе — от архитектуры до пользовательского опыта.

Кому актуально участие:
1️⃣ Для backend-разработчиков, интересующихся высоконагруженными системами и масштабируемой архитектурой.
2️⃣ Для мобильных разработчиков, работающих с видео и пользовательским контентом.
3️⃣ Для ML-специалистов, вовлечённых в построение рекомендательных систем, анализ видео и оптимизацию доставки.
4️⃣ Для всех, кто хочет узнать, какие технологии и подходы применяются

Что будет на митапе:
Обзор архитектуры VK Видео: распределённые системы, объёмы хранения
Организация команд, процессы внутри, и кого сейчас ищут в проект.
Открытая сессия вопросов и ответов с командами разработки и управления продуктом.

Почему это интересно:
Разработчики и менеджеры открыто делятся кейсами и техническими решениями
Возможность получить актуальные знания и познакомиться с профессионалами, стоящими за продуктом
Актуально для тех, кто рассматривает возможности карьерного роста в большом tech-продукте.

👉 Ссылку можно найти тут

14.04.2025 / 17:04

GRASP: почему настоящая архитектура начинается не с SOLID

Хочу начать с личной предыстории. Давным‑давно, как и многие из вас, я читал умные книжки: «Чистый код» и «Чистая архитектура» Роберта Мартина, «Совершенный код» Стива Макконнелла и другие.

Также не обошли меня и классические принципы проектирования — SOLID, KISS, DRY — и, думаю, каждый читатель добавит сюда свои.

Безусловно, это всё важные и фундаментальные вещи.

Но однажды на горизонте появилось DDD — предметно‑ориентированное проектирование в изложении Эрика Эванса. Именно его «синяя книга» стала культовой и задала язык для архитектурного мышления.


Читать статью

VK
GRASP: почему настоящая архитектура начинается не с SOLID

Многие инженеры начинают своё архитектурное мышление с SOLID. Затем изучают GoF-паттерны. Но всё равно остаётся ощущение, что чего-то не..

14.04.2025 / 11:04

🖥 JUring — это библиотека для Java, которая использует интерфейс асинхронного ввода-вывода Linux io_uring для достижения высокой производительности при чтении и записи данных!

🌟 Она создана как демонстрация возможностей Java в сочетании с современными системными вызовами Linux, предоставляя более быстрые операции ввода-вывода по сравнению с традиционными Java-инструментами, такими как NIO FileChannel. JUring работает через Java Foreign Function & Memory API, что позволяет использовать низкоуровневые вызовы io_uring из Java-приложений.

💡 Основные преимущества включают поддержку асинхронных операций ввода-вывода, что улучшает производительность в задачах работы с файлами, особенно при высоких нагрузках. JUring показывает прирост скорости до 33% для локальных файлов и до 78% для удалённых. Для использования требуется Linux с ядром 5.1 и выше, а также Java 22+.

🔐 Лицензия: Unlicense

🖥 Github

Java библиотека #java

14.04.2025 / 04:04

Кнопка «F5» устала: real-time уведомления в микросервисной архитектуре

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

Вся логика обновления построена на "manual refresh". Да-да, пользователь сам жмёт кнопку, чтобы получить свежие данные. Система автоматической разгрузки или другой человек разгрузил что-то на другом конце станции, но вы об этом не узнаете, пока не перезагрузите страницу.


Читать статью

VK
Кнопка «F5» устала: real-time уведомления в микросервисной архитектуре

Представьте себе: у вас железнодорожная станция, сотни вагонов, десятки пользователей в системе, каждый раз кто-то нажимает кнопку "Обнов..

13.04.2025 / 12:04

Java Guru - вопросы и задачи с собеседований. Канал с помощью которого ты точно получишь оффер!

👩‍💻 Android Developer - канал для андроид разработчиков! Статьи, вопросы и задачи с собеседований, лайфхаки.

👩‍💻 Kotlin Developer - самый топовый канал для котлин разработчика!

📕 Книги для Java программиста - канал с книгами по Java. Постоянно выходят новинки как на русском так и на английском языке!

📰 Java News - канал с последними новостями из мира Java!

13.04.2025 / 09:04

📌 Лайфхак: улучшаем производительность с StringBuilder

Если часто используете String для конкатенации (+), замените его на StringBuilder — это ускорит выполнение и снизит нагрузку на память.

Медленно:

String result = "";
for (int i = 0; i < 1000; i++) {
result += i; // Каждое сложение создаёт новый объект
}


✔️ Быстро:
StringBuilder result = new StringBuilder();
for (int i = 0; i < 1000; i++) {
result.append(i); // Использует один буфер, без лишних объектов
}


Java библиотека #java

13.04.2025 / 07:04

Узнаём какое аниме будет самым рейтинговым еще до выхода

Когда встал вопрос "о чем писать диплом", я точно знала, что не хочу писать о чем-то скучном или не интересным для меня. Было много идеи (не только про аниме) и даже в сфере аниме - не только про задачу прогнозирования. Когда уже надо было утверждать тему, на одной из лекции как раз рассказывали про задачи классификации и прогнозирования. Я знала, что уже есть вагон и маленькая тележка статей про прогнозирование в области фильмов, но в аниме? Критически мало. И я решила это исправить)

Читать статью

VK
Узнаём какое аниме будет самым рейтинговым еще до выхода

Когда встал вопрос "о чем писать диплом", я точно знала, что не хочу писать о чем-то скучном или неинтересным для меня. Было много идеи (..

12.04.2025 / 13:04

🖥 OpenAPI Generator — это инструмент, который автоматизирует создание клиентских библиотек (SDK), серверных заглушек, документации и конфигураций на основе спецификаций OpenAPI (версий 2 и 3)!

🌟 Он упрощает работу с API, позволяя разработчикам быстро интегрировать их в приложения на различных языках программирования. Благодаря поддержке множества языков и шаблонов, OpenAPI Generator делает процесс разработки API более стандартизированным и ускоряет начальные этапы проектов.

🌟 Инструмент поддерживает более 50 языков программирования и фреймворков, включая Java, Python, JavaScript, TypeScript, Ruby и другие. Помимо генерации кода, он также предоставляет возможность настройки шаблонов, что делает его гибким для использования в самых разных проектах.

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

🖥 Github

Java библиотека #java

12.04.2025 / 06:04

Spring и Spring Boot. Разработка облачных приложений на Java (2025) PDF

В книге рассмотрено актуальное состояние технологий Spring и Spring Boot, помогающих шире раскрыть возможности языка Java и аспектно-ориентированного программирования. Пошагово объяснено, как самостоятельно написать и развернуть облачный проект под управлением Spring. Рассказано о координации микросервисов на Java с применением Spring и модуля Spring Core способах внедрения зависимостей, аннотировании кода. На примере сквозного веб-приложения описаны важнейшие приемы работы с данными в стиле REST, тестирование данных, обеспечение согласованности, безопасности и долговременного хранения данных в приложении.

Для Java-программистов.

11.04.2025 / 15:04

Наш чатик с вакансиями и резюме, присоединяйся: https://t.me/job_java

Telegram
Java Job - Вакансии и резюме

Наш канал по Java @javalib
Вакансии Java, также можете скидывать свои резюме!

Купить звёзды: @PremiumBot

11.04.2025 / 12:04

Паттерн Интерпретатор (Interpreter)

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

Когда использовать

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

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

1️⃣ Упрощает добавление новых правил грамматики или изменение существующих.
2️⃣ Структурирует описание языка, разделяя грамматику и логику выполнения.
3️⃣ Подходит для различных задач, связанных с анализом и интерпретацией.

Недостатки

1️⃣ Становится громоздким при работе со сложными языками с большим количеством правил.
2️⃣ Показывает низкую производительность при построении деревьев выражений и их интерпретации для больших объемов данных.
3️⃣ Сложен в поддержке, если язык активно развивается и усложняется.

Interpreter хорошо подходит для создания простых языков, например, DSL (domain-specific language), и позволяет реализовать мощные возможности анализа и исполнения выражений.

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

Java библиотека #java

11.04.2025 / 08:04

Forwarded From Java Guru 🤓

Какая настройка при создании связи Customer-Order приведет к неправильному поведению при сохранении нескольких Order, связанных с одним Customer?

Anonymous Quiz

21% - CascadeType.ALL

15% - fetch = FetchType.EAGER

10% - optional = false

44% - unique = true

10% - referencedColumnName

10.04.2025 / 13:04

Forwarded From Java Guru 🤓

Какая настройка при создании связи Customer-Order приведет к неправильному поведению при сохранении нескольких Order, связанных с одним Customer?

10.04.2025 / 13:04

🛠 Patroni + PostgreSQL: как обеспечить высокую доступность?

Когда база данных — это сердце системы, её отказ может стоить дорого. Как сделать PostgreSQL отказоустойчивым и управляемым? Решение есть — Patroni!

📅 14 апреля в 20:00 (мск)
🎓 Открытый вебинар с Сергеем Кирьяковым

💡 Что разберём?
Как работает Patroni и зачем он нужен для PostgreSQL
Основные компоненты и архитектуру Patroni
Как правильно настроить и конфигурировать Patroni
Практические примеры управления кластером PostgreSQL
Оптимизация, мониторинг и лучшие практики работы

🎯 Что получите?
✔️ Понимание работы Patroni и его роли в HA-кластерах PostgreSQL
✔️ Готовые практические решения по настройке и оптимизации
✔️ Навыки мониторинга и управления отказоустойчивыми базами

Присоединяйтесь и узнайте, как обеспечить PostgreSQL надёжностью!

👉 Регистрируйтесь по ссылке: https://vk.cc/cKFOBb

Бесплатное занятие приурочено к старту курса Highload Architect, обучение на котором позволит освоить решения, которые выдерживают большое количество запросов в секунду и правильно оптимизировать работоспособность серверов.

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

10.04.2025 / 09:04

🖥 OpenGrok — это инструмент для индексирования и поиска исходного кода!

🌟 Он помогает разработчикам быстро находить и анализировать код в больших репозиториях, поддерживает множество языков программирования (Java, C/C++, Python, и другие). OpenGrok предоставляет функциональность для поиска по меткам, комментариям, коду и даже документации. Инструмент ориентирован на улучшение работы с кодом в больших проектах и используется для облегчения навигации по огромным кодовым базам.

🖥 Github

Java библиотека #java

10.04.2025 / 06:04
Рекомендации
Hacker May Cry
Технологии IT
Этот чат создан для взаимопомощи в сфере информационной без...
SecAtor
Технологии IT
SecAtor — канал об информационной безопасности и технологиях...
[PYTHON:TODAY]
Технологии IT
Канал [PYTHON:TODAY]: пишу о программировании на Python и др...
Mobile Native
Технологии IT
Mobile Native — канал о мобильной разработке. Здесь вы найдё...
Прокачай Мозг
Технологии IT
Присоединяйтесь к нашему Telegram-каналу Прокачай Мозг! Здес...
Избранное