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

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

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

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

Сообщество VK https://vk.com/javatutorial
Download Telegram
1691972027119 (1).gif
7.7 MB
ℹ️ 8 архитектурных подходов

🔵 REST: Каждый ресурс системы представлен уникальным URL и взаимодействие с ними осуществляется через стандартные HTTP-методы.
🔵 SOAP: Обмен сообщениями между сервисами происходит через строго структурированные XML-запросы и ответы.
🔵 GraphQL: Позволяет клиентам формировать запросы к API, точно определяя необходимые данные, минимизируя избыточность.
🔵 gRPC: Использует протоколы буферов и HTTP/2 для создания высокопроизводительных и масштабируемых сервисов с двусторонней связью.
🔵 WebSockets: Создаёт постоянное соединение между клиентом и сервером, и обеспечивает двусторонний обмен данными в реальном времени.
🔵 Webhooks: Асинхронное взаимодействие, где сервер уведомляет клиента о событиях через HTTP-запросы, инициированные самим сервером.
🔵 MQTT: Оптимизирован для IoT-устройств, поддерживает легковесный обмен сообщениями с низким потреблением ресурсов.
🔵 AMQP: Для высоконадёжных систем, ориентирован на очереди сообщений и гарантированную доставку данных между сервисами.

Java библиотека #java
Please open Telegram to view this post
VIEW IN TELEGRAM
👍109🔥4
🖥 RoaringBitmap — битовые карты для сжатия чисел в Java

RoaringBitmap — это одна из лучших битовых карт;
используется в Apache Spark, Netflix Atlas, Apache Pinot, Tablesaw и во многих других компаниях.

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

🖥 GitHub
🟡 Доки

Java библиотека #java
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
10👍3🔥2
⚙️ 7 эффективных стратегий для масштабирования базы данных

🟢Индексация: Анализируйте запросы вашего приложения и создавайте подходящие индексы для ускорения работы.
🟢Материализованные представления: Предварительно вычисляйте результаты сложных запросов и сохраняйте их для быстрого доступа.
🟢Денормализация: Упрощайте сложные соединения для повышения скорости выполнения запросов.
🟢Вертикальное масштабирование: Увеличивайте ресурсы сервера (процессоры, оперативную память, хранилище) для улучшения производительности.
🟢Кэширование: Храните часто запрашиваемые данные в быстром хранилище, чтобы снизить нагрузку на базу данных.
🟢Репликация: Создавайте копии основной базы данных на разных серверах для увеличения объема операций чтения.
🟢Шардинг: Разделяйте таблицы на более мелкие части и распределяйте их по серверам для улучшения работы с записью и чтением.

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

Java библиотека #java
Please open Telegram to view this post
VIEW IN TELEGRAM
3👍2🔥1
🖥 Piranha — инструмент Java для автоматического рефакторинга кода

Piranha — это инструмент для автоматического рефакторинга кода, связанного с устаревшими флагами.

Входными данными для Piranha являются имя флага и ожидаемое поведение;
также необходимо указать список API, связанных с флагами, в файле свойств.
Piranha будет использовать эти данные для автоматического рефакторинга кода в соответствии с ожидаемым поведением.

🖥 GitHub
🟡 Примеры рефакторинга с Piranha

Java библиотека #java
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
6👍4🔥2
Media is too big
VIEW IN TELEGRAM
🖥 Изучаешь Java - создай проект. Перезагрузка.

Выпуск 7. JAR или WAR - вот в чем вопрос.

В
этом выпуске мы попробуем разобраться, что в конечном итоге вам надо собрать - JAR или WAR.

🌐🗣СМОТРЕТЬ VKVIDEO

Java библиотека #java
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥32
API Gateway vs. Load Balancer: В чём разница?

Отличное понимание ролей API Gateway и Load Balancer является ключевым для проектирования масштабируемых и эффективных архитектур.

— API Gateway: Почтальон цифрового мира 📬

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

— Load Balancer: Регулировщик движения 🚦

Его задача — равномерно распределять трафик между серверами, предотвращая их перегрузку, улучшая надежность и обеспечивая автоматическое переключение в случае сбоя одного из серверов.

Оба компонента необходимы в современных архитектурах, но выполняют разные функции! 🌐

Java библиотека #java
Please open Telegram to view this post
VIEW IN TELEGRAM
12👍7🔥2
Совет по Spring Boot 🚀

Еесли вы хотите узнать, когда начинается и заканчивается транзакция #JPA, как повторно использовать существующую транзакцию в @Transactional или шаблоне TransactionTemplate, включите логирование DEBUG для `org.springframework.orm.jpa`.

Java библиотека #java
Please open Telegram to view this post
VIEW IN TELEGRAM
👍153🔥2
🖥 Задача: Расположите в виде иерархии следующие интерфейсы: List, Set, Map, SortedSet, SortedMap, Collection, Iterable, Iterator, NavigableSet, NavigableMap

Ответ на картинке.

Java библиотека #java
Please open Telegram to view this post
VIEW IN TELEGRAM
11👍8🔥3
Media is too big
VIEW IN TELEGRAM
👩‍💻 Top 10 Spring Boot REST API Best Practices You MUST Know

Want to build clean, scalable, and secure REST APIs with Spring Boot? In this video, you'll learn the top 10 best practices every Java developer should follow when building RESTful APIs using Spring Boot. From HTTP status codes to DTOs, pagination, exception handling, and security.

🌐🗣СМОТРЕТЬ VKVIDEO

Java библиотека #java
Please open Telegram to view this post
VIEW IN TELEGRAM
👍93🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
⚡️ every-programmer-should-know | Каждый кодер должен знать

Крутая подборка материалов про Computer Science. Неважно, какой ЯП вы используете, вам все равно стоит знать виды алгоритмов, структур данных, архитектуры и другую базу.


📌 Репозиторий проекта

Java библиотека #java
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥63👍2
Метод putAll()

Метод putAll() принадлежит интерфейсу Map и используется для добавления всех элементов из одной карты (Map) в другую. Этот метод принимает в качестве аргумента другую карту и добавляет все ее записи в вызывающую карту.

Например, если у вас есть две карты, содержащие данные, и вам нужно объединить их для выполнения операций на полном объеме данных, метод putAll() предоставляет простой способ объединения.


Java библиотека #java
Please open Telegram to view this post
VIEW IN TELEGRAM
👍83🔥2
👩‍💻 Советы по Spring Boot 💡

Библиотека Spring Boot Startup Report генерирует интерактивные отчеты о работе приложений Spring Boot,и помогает понять, что влияет на время загрузки и запуска приложения, что может помочь в оптимизации

🖥 Github

Java библиотека #java
Please open Telegram to view this post
VIEW IN TELEGRAM
👍103🔥3
Конструктор по умолчанию

Конструктор по умолчанию предоставляется компилятором Java, если в классе не определен ни один другой конструктор. Конструктор по умолчанию инициализирует все поля класса значениями по умолчанию (например, 0 для числовых типов, false для типа boolean, null для ссылочных типов).

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

В этом примере мы определяем класс MyClass с двумя полями: x и y, а также определяем конструктор по умолчанию, который выводит сообщение при вызове. В методе main создаем экземпляр класса MyClass, используя конструктор по умолчанию, и выводим значения полей x и y, которые инициализированы значениями по умолчанию.


Java библиотека #java
Please open Telegram to view this post
VIEW IN TELEGRAM
👍74🔥2
🎮 Cross-platform Game Development Framework

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

▪️ Github

Java библиотека #java
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🔥63😍2
OAuth 2.0 авторизация в Java Spring Boot приложении: Пошаговое руководство

В этом видео мы подробно рассмотрим процесс реализации OAuth 2.0 авторизации в Java Spring Boot приложении. 🚀

Вы узнаете, как настроить аутентификацию и обеспечить безопасность вашего приложении.🔐

Это руководство будет полезно как для начинающих разработчиков, так и для тех, кто уже знаком с Java Spring Boot и хочет углубить свои знания в области безопасности и авторизации. 💻


📺🗣СМОТРЕТЬ RUTUBE

🌐🗣СМОТРЕТЬ VKVIDEO

Java библиотека #java
Please open Telegram to view this post
VIEW IN TELEGRAM
28👍5🔥4
🖥 Cloud Database Manager

CloudBeaver - это веб-сервер, предоставляющий богатый веб-интерфейс.

Сам сервер представляет собой Java-приложение, веб-часть написана на TypeScript и React.

▪️Github

Java библиотека #java
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍4🔥4
Клон Redis на Java с нуля | Полный проект

Добро пожаловать в полный гайд по созданию Redis с нуля на Java!
В этом видео ты узнаешь, как работают базовые команды Redis, реализуешь репликацию, персистентность, стримы и транзакции — всё своими руками, без фреймворков и тяжёлых библиотек.
Погружаемся в систему, которую используют миллионы — на чистом Java-коде!


🌐🗣СМОТРЕТЬ VKVIDEO

Java библиотека #java
Please open Telegram to view this post
VIEW IN TELEGRAM
👍148🔥4
Интерфейс Supplier

Интерфейс Supplier — это функциональный интерфейс в языке программирования Java, определенный в пакете java.util.function. Он представляет собой интерфейс, который может использоваться для предоставления значений, но не принимает аргументов. В этом интерфейсе есть один метод, который не принимает аргументов и возвращает значение.

Метод Supplier:
T get();

Где T — это тип возвращаемого значения.

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


Java библиотека #java
Please open Telegram to view this post
VIEW IN TELEGRAM
👍136🔥4
🤫 Некоторые популярные методы аутентификации

🔵 Базовая аутентификация:
Предполагает отправку имени пользователя и пароля с каждым запросом, но может быть менее безопасной без шифрования.
Подходит для простых приложений, где безопасность и шифрование не являются приоритетом, или при использовании защищенных соединений.

🔵 Аутентификация с помощью токенов:
Использует сгенерированные токены, такие как JSON Web Tokens (JWT), которые обмениваются между клиентом и сервером, обеспечивая повышенную безопасность без необходимости отправки учетных данных с каждым запросом.
Идеально подходит для более безопасных и масштабируемых систем.

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

🔵 Аутентификация с использованием API-ключей:
Назначает уникальные ключи пользователям или приложениям, которые отправляются в заголовках или параметрах; несмотря на простоту, может не обладать всеми преимуществами безопасности, как методы на основе токенов или OAuth.
Удобна для простого контроля доступа в менее чувствительных средах или для предоставления доступа к определённым функциям без необходимости предоставления разрешений, привязанных к конкретному пользователю.

💬 Какой метод аутентификации вы считаете наиболее эффективным с точки зрения обеспечения безопасности и удобства использования в ваших приложениях?

Java библиотека #java
Please open Telegram to view this post
VIEW IN TELEGRAM
12👍4🔥2