Media is too big
VIEW IN TELEGRAM
Руководство по CompletableFuture в Java с примерами | Асинхронные операции в Java
Видео объясняет использование CompletableFuture в Java, его преимущества перед Future, создание, обработку результатов, комбинирование и обработку исключений.
📲 Cмотреть источник: тут
👉 Java Portal | #видео
Видео объясняет использование CompletableFuture в Java, его преимущества перед Future, создание, обработку результатов, комбинирование и обработку исключений.
Please open Telegram to view this post
VIEW IN TELEGRAM
Инструменты, которые использует или должен знать каждый Java-разработчик.
🟢 IDE (например, Eclipse, IntelliJ)
🟢 Веб-сервисы (RESTful, SOAP)
🟢 Документация API (Swagger, JavaDoc)
🟢 Безопасность (OAuth 2.0, Kerberos, JWT)
🟢 Инструменты сборки (Maven, Gradle)
🟢 Контроль версий (Git)
🟢 Юнит-тестирование (JUnit, Mockito)
🟢 Облачные платформы (AWS, Google Cloud, Microsoft Azure)
🟢 Базы данных (SQL, MongoDB, Oracle)
🟢 CI/CD (Jenkins, GitLab)
🟢 Разработка фронтенда (HTML, CSS, JavaScript, Angular/React)
🟢 Логирование и мониторинг (Logback, JMX)
🟢 Контейнеризация и оркестрация (Docker, Kubernetes)
🟢 Сообщения и брокеры (Kafka, RabbitMQ)
🟢 Качество кода (SonarQube, PMD)
🟢 Доступ к базам данных (JPA, Hibernate)
👉 Java Portal | #tips
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
В Java есть необычная конструкция, называемая «Квалифицированный вызов конструктора суперкласса».
Она может понадобиться, если суперкласс является внутренним классом.
🔜 Эта конструкция отвечает за передачу суперклассу его внешнего экземпляра.
👉 Java Portal | #tips
Она может понадобиться, если суперкласс является внутренним классом.
Please open Telegram to view this post
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Flyway + Spring Boot | Настройка и написании миграций баз данных
Spring Boot приложении. В начале объясняется, зачем нужно версионирование БД, затем показывается обзор приложения через Amplicode Explorer. Далее демонстрируется процесс подключения Flyway, генерации скриптов инициализации и миграции для синхронизации JPA-модели с базой данных.
📲 Cмотреть источник: тут
👉 Java Portal | #видео
Spring Boot приложении. В начале объясняется, зачем нужно версионирование БД, затем показывается обзор приложения через Amplicode Explorer. Далее демонстрируется процесс подключения Flyway, генерации скриптов инициализации и миграции для синхронизации JPA-модели с базой данных.
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Вы предпочитаете размещать вызовы связанных методов на отдельной строке? 👩💻
Тогда выберите вызовы методов, откройте «Действия с намерением» (Alt+Enter) и откройте меню для настройки стиля кода. На вкладке «Перенос и скобки» установите параметр «Связанные вызовы методов» в значение «Всегда переносить».
👉 Java Portal | #tips
Тогда выберите вызовы методов, откройте «Действия с намерением» (Alt+Enter) и откройте меню для настройки стиля кода. На вкладке «Перенос и скобки» установите параметр «Связанные вызовы методов» в значение «Всегда переносить».
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
30 блогов для изучения 30 концепций проектирования систем: ⏬
1. API: https://blog.algomaster.io/p/whats-an-api
2. API-шлюз: https://blog.algomaster.io/p/what-is-an-api-gateway
3. Масштабируемость: https://blog.algomaster.io/p/scalability
4. Доступность: https://blog.algomaster.io/p/system-design-what-is-availability
5. Теорема CAP: https://blog.algomaster.io/p/cap-theorem-explained
6. Load Balancers: https://blog.algomaster.io/p/e1fa4254-9383-4c3a-be96-1d4ce2322575
7. Алгоритмы балансировки нагрузки: https://blog.algomaster.io/p/load-balancing-algorithms-explained-with-code
8. Caching: https://blog.algomaster.io/p/4d7d6f8a-6803-4c7b-85ca-864c87c2cbf2
9. Стратегии кэширования: https://blog.algomaster.io/p/top-5-caching-strategies-explained
10. Стратегии вытеснения кэша: https://blog.algomaster.io/p/7-cache-eviction-strategies
11. Распределенное кэширование: https://blog.algomaster.io/p/distributed-caching
12. CDNs: https://blog.algomaster.io/p/27c62e07-f25b-40ac-a397-101cc54f1f0a
13. Типы баз данных: https://blog.algomaster.io/p/15-types-of-databases
14. SQL vs NoSQL: https://blog.algomaster.io/p/sql-vs-nosql-7-key-differences
15. ACID-транзакции: https://blog.algomaster.io/p/what-are-acid-transactions-in-databases
16. Индексы баз данных: https://blog.algomaster.io/p/a-detailed-guide-on-database-indexes
17. Шардинг баз данных: https://blog.algomaster.io/p/what-is-database-sharding
18. Масштабирование баз данных: https://blog.algomaster.io/p/system-design-how-to-scale-a-database
19. WebSockets: https://blog.algomaster.io/p/websockets
20. Очереди сообщений: https://blog.algomaster.io/p/message-queues
21. Обнаружение сервисов: https://blog.algomaster.io/p/service-discovery-in-distributed-systems
22. Фильтры Блума: https://blog.algomaster.io/p/bloom-filters
23. Алгоритмы ограничения скорости: https://blog.algomaster.io/p/rate-limiting-algorithms-explained-with-code
24. SPOF: https://blog.algomaster.io/p/system-design-how-to-avoid-single-point-of-failures
25. Идемпотентность: https://blog.algomaster.io/p/idempotency-in-distributed-systems
26. Контрольные суммы: https://blog.algomaster.io/p/what-are-checksums
27. Длинный опрос против WebSockets: https://blog.algomaster.io/p/long-polling-vs-websockets
28. Concurrency vs Parallelism: https://blog.algomaster.io/p/concurrency-vs-parallelism
29. Прокси против обратного прокси: https://blog.algomaster.io/p/proxy-vs-reverse-proxy-explained
30. Пакетная обработка против потоковой: https://blog.algomaster.io/p/batch-processing-vs-stream-processing
👉 Java Portal | #ресурсы
1. API: https://blog.algomaster.io/p/whats-an-api
2. API-шлюз: https://blog.algomaster.io/p/what-is-an-api-gateway
3. Масштабируемость: https://blog.algomaster.io/p/scalability
4. Доступность: https://blog.algomaster.io/p/system-design-what-is-availability
5. Теорема CAP: https://blog.algomaster.io/p/cap-theorem-explained
6. Load Balancers: https://blog.algomaster.io/p/e1fa4254-9383-4c3a-be96-1d4ce2322575
7. Алгоритмы балансировки нагрузки: https://blog.algomaster.io/p/load-balancing-algorithms-explained-with-code
8. Caching: https://blog.algomaster.io/p/4d7d6f8a-6803-4c7b-85ca-864c87c2cbf2
9. Стратегии кэширования: https://blog.algomaster.io/p/top-5-caching-strategies-explained
10. Стратегии вытеснения кэша: https://blog.algomaster.io/p/7-cache-eviction-strategies
11. Распределенное кэширование: https://blog.algomaster.io/p/distributed-caching
12. CDNs: https://blog.algomaster.io/p/27c62e07-f25b-40ac-a397-101cc54f1f0a
13. Типы баз данных: https://blog.algomaster.io/p/15-types-of-databases
14. SQL vs NoSQL: https://blog.algomaster.io/p/sql-vs-nosql-7-key-differences
15. ACID-транзакции: https://blog.algomaster.io/p/what-are-acid-transactions-in-databases
16. Индексы баз данных: https://blog.algomaster.io/p/a-detailed-guide-on-database-indexes
17. Шардинг баз данных: https://blog.algomaster.io/p/what-is-database-sharding
18. Масштабирование баз данных: https://blog.algomaster.io/p/system-design-how-to-scale-a-database
19. WebSockets: https://blog.algomaster.io/p/websockets
20. Очереди сообщений: https://blog.algomaster.io/p/message-queues
21. Обнаружение сервисов: https://blog.algomaster.io/p/service-discovery-in-distributed-systems
22. Фильтры Блума: https://blog.algomaster.io/p/bloom-filters
23. Алгоритмы ограничения скорости: https://blog.algomaster.io/p/rate-limiting-algorithms-explained-with-code
24. SPOF: https://blog.algomaster.io/p/system-design-how-to-avoid-single-point-of-failures
25. Идемпотентность: https://blog.algomaster.io/p/idempotency-in-distributed-systems
26. Контрольные суммы: https://blog.algomaster.io/p/what-are-checksums
27. Длинный опрос против WebSockets: https://blog.algomaster.io/p/long-polling-vs-websockets
28. Concurrency vs Parallelism: https://blog.algomaster.io/p/concurrency-vs-parallelism
29. Прокси против обратного прокси: https://blog.algomaster.io/p/proxy-vs-reverse-proxy-explained
30. Пакетная обработка против потоковой: https://blog.algomaster.io/p/batch-processing-vs-stream-processing
Please open Telegram to view this post
VIEW IN TELEGRAM
Разработка торгового автомата на Java. Вопрос для собеседования
Она представляет собой руководство по созданию объекта, который:
🟢 Принимает монеты номиналом 1, 5, 10 и 25 центов.
🟢 Позволяет пользователю выбирать продукты, такие как Coca-Cola (25 центов), Pepsi (35 центов) и Soda (45 центов).
🟢 Предоставляет возможность отмены запроса и возврата средств.
🟢 Возвращает выбранный продукт и сдачу, если таковая имеется.
🟢 Обеспечивает функцию сброса для поставщика автомата.
Данная статья будет полезна разработчикам, желающим улучшить свои навыки объектно-ориентированного анализа и проектирования на языке Java.💀
📖 Читать: ссылка
👉 Java Portal | #cтатья
Она представляет собой руководство по созданию объекта, который:
Данная статья будет полезна разработчикам, желающим улучшить свои навыки объектно-ориентированного анализа и проектирования на языке Java.
Please open Telegram to view this post
VIEW IN TELEGRAM
Дорожная карта Kubernetes 🔥
🟢 Основные компоненты: Управление состоянием приложений, кластеры, развертывания, сервисы, поды, пространства имен и т.д.
🟢 Инфраструктура и плоскость управления: Сеть, узлы, API, сервисные сетки, операторы и политики сети.
🟢 Управление безопасностью и идентификацией: Управление доступом на основе ролей (RBAC), аутентификация, авторизация, шифрование и политики безопасности.
🟢 Масштабирование и балансировка нагрузки: Автоматическое масштабирование, балансировка нагрузки и управление ресурсами.
🟢 Мониторинг и наблюдаемость: Сбор метрик, логирование, аудит и использование инструментов, таких как Prometheus и Grafana.
🟢 Резервное копирование, восстановление и аварийное восстановление: Управление состоянием приложений и стратегии восстановления.
🟢 Непрерывная интеграция и развертывание: Стратегии развертывания, такие как Canary, Rolling updates и Blue-Green.
👉 Java Portal | #ресурсы
Please open Telegram to view this post
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Сохраняй огромный сборник задач на практику по разным языкам включая Java + Код и статьи к проектам
🟢 Парсинг
🟢 Боты для популярных соц.сетей
🟢 Веб-приложения на Django и Flask
🟢 Big data и Machine learning
🟢 Компьютерное зрение
🟢 Глубокое обучение и много чего интересного
🔜 Ссылка: тык
👉 Java Portal | #ресурсы
Please open Telegram to view this post
VIEW IN TELEGRAM
Программа для отображения всех запущенных процессов на Java
Основные моменты:
🟢
🟢
🟢
👉 Java Portal | #ресурсы
Основные моменты:
ProcessHandle.allProcesses()
→ Получает все запущенные процессы.process.pid()
→ Получает идентификатор процесса (PID).process.info().command()
→ Получает команду процесса (если доступна).Please open Telegram to view this post
VIEW IN TELEGRAM
Думай о Java
- 374 страницы
- Издание 2020 года
📝 Книга начинается с самых базовых концепций, при этом все термины тщательно объясняются при первом использовании. Новые идеи излагаются в логической последовательности: крупные темы, такие как управляющие конструкции и объектно-ориентированное программирование, разбиваются на небольшие примеры и рассматриваются постепенно на протяжении нескольких глав.
Эта книга намеренно лаконична: каждая глава занимает 12–14 страниц и охватывает материал, рассчитанный на одну неделю учебного курса в колледже.
⏩ Получите свой экземпляр:
https://greenteapress.com/thinkjava7/thinkjava2.pdf
👉 Java Portal | #книги
- 374 страницы
- Издание 2020 года
Эта книга намеренно лаконична: каждая глава занимает 12–14 страниц и охватывает материал, рассчитанный на одну неделю учебного курса в колледже.
https://greenteapress.com/thinkjava7/thinkjava2.pdf
Please open Telegram to view this post
VIEW IN TELEGRAM
Совет по Java API
Используйте🔥
Это помогает предотвратить случайное добавление нескольких абстрактных методов в интерфейс, помеченный как функциональный. Если вы попытаетесь добавить еще один абстрактный метод в функциональный интерфейс, компилятор выдаст ошибку.
👉 Java Portal | #tips
Используйте
@FunctionalInterface
в качестве защиты от ошибок компилятора! Это помогает предотвратить случайное добавление нескольких абстрактных методов в интерфейс, помеченный как функциональный. Если вы попытаетесь добавить еще один абстрактный метод в функциональный интерфейс, компилятор выдаст ошибку.
Please open Telegram to view this post
VIEW IN TELEGRAM
Самоучитель Spring Boot RabbitMQ
В этой серии вы научитесь использовать RabbitMQ для обмена сообщениями между продюсером и консумером в Spring Boot-приложениях. Мы будем работать с версией Spring Boot 3. Если вы хотите использовать RabbitMQ в event-driven микросервисах на Spring Boot, этот курс будет для вас полезен.
📲 Cмотреть источник: тут
👉 Java Portal | #видео
В этой серии вы научитесь использовать RabbitMQ для обмена сообщениями между продюсером и консумером в Spring Boot-приложениях. Мы будем работать с версией Spring Boot 3. Если вы хотите использовать RabbitMQ в event-driven микросервисах на Spring Boot, этот курс будет для вас полезен.
Please open Telegram to view this post
VIEW IN TELEGRAM
Принёс вам классный ресурс для изучения паттернов проектирования
На сайте Refactoring Guru собрали примеры для каждого паттерна на таких языках, как Go, C#, Java, Python, PHP, Rust и ещё куча других.
Всё удобно разложено по категориям — порождающие, структурные, поведенческие.
Примеры суперпонятные, с кодом и пояснениями.
👉 Смотрите сами
👉 Java Portal | #ресурсы
На сайте Refactoring Guru собрали примеры для каждого паттерна на таких языках, как Go, C#, Java, Python, PHP, Rust и ещё куча других.
Всё удобно разложено по категориям — порождающие, структурные, поведенческие.
Примеры суперпонятные, с кодом и пояснениями.
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Генерируйте шаблонный код, например, конструкторы, геттеры и сеттеры.👩💻
Используйте
👉 Java Portal | #tips
Используйте
⌘N
(macOS) / Alt+Insert
(Windows/Linux)
для вызова меню "Generate", затем выберите Constructor, Getter, Setter или Getter and Setter, а также укажите поля, которые нужно включить.Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Чтобы сделать большие и сложные цепочки компараторов более читаемыми, мне нравится присваивать компараторы переменным, имена которых начинаются с "by".
Таким образом, вызов
sorted()
становится меньше и читается почти как естественный язык. Кроме того, вы можете использовать статический импорт.Please open Telegram to view this post
VIEW IN TELEGRAM
JWT в Spring Boot: Используется вместе с Spring Security для аутентификации пользователей в REST API.
JWT (JSON Web Token) – это компактный, безопасный для URL токен, используемый для безопасной аутентификации и авторизации. Он состоит из трех частей:
🍩 Заголовок (Header) → Содержит тип токена (JWT) и алгоритм подписи (например, HS256).
🍩 Полезная нагрузка (Payload) → Содержит утверждения (claims) – информацию о пользователе, роли, срок действия и т. д.
🍩 Подпись (Signature) → Обеспечивает целостность токена и создается с использованием секретного ключа.
Зачем использовать JWT?
☑ Бесстейтная аутентификация (не требуется хранение сессии).
☑ Безопасная передача данных между клиентом и сервером.
☑ Можно использовать в API для авторизации.
👉 Java Portal | #tips
JWT (JSON Web Token) – это компактный, безопасный для URL токен, используемый для безопасной аутентификации и авторизации. Он состоит из трех частей:
Зачем использовать JWT?
Please open Telegram to view this post
VIEW IN TELEGRAM
"Викторина по Java (100 лучших вопросов и заданий по Java MCQ)"
Этот плейлист содержит список викторин и тестов с множественным выбором (MCQ), предназначенных для проверки ваших знаний и понимания различных концепций языка программирования Java.
📲 Cмотреть источник: тут
👉 Java Portal | #видео
Этот плейлист содержит список викторин и тестов с множественным выбором (MCQ), предназначенных для проверки ваших знаний и понимания различных концепций языка программирования Java.
Please open Telegram to view this post
VIEW IN TELEGRAM