В Java есть необычная конструкция, называемая «Квалифицированный вызов конструктора суперкласса».
Она может понадобиться, если суперкласс является внутренним классом.
🔜  Эта конструкция отвечает за передачу суперклассу его внешнего экземпляра.
👉   Java Portal | #tips
Она может понадобиться, если суперкласс является внутренним классом.
Please open Telegram to view this post
    VIEW IN TELEGRAM
  👍5🔥3
  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
  👍9🔥1
  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
  👍13❤3
  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
  👍15🔥5👀1
  Разработка торгового автомата на 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
  👍7🔥4
  Дорожная карта Kubernetes 🔥 
🟢 Основные компоненты: Управление состоянием приложений, кластеры, развертывания, сервисы, поды, пространства имен и т.д.
🟢 Инфраструктура и плоскость управления: Сеть, узлы, API, сервисные сетки, операторы и политики сети.
🟢 Управление безопасностью и идентификацией: Управление доступом на основе ролей (RBAC), аутентификация, авторизация, шифрование и политики безопасности.
🟢 Масштабирование и балансировка нагрузки: Автоматическое масштабирование, балансировка нагрузки и управление ресурсами.
🟢 Мониторинг и наблюдаемость: Сбор метрик, логирование, аудит и использование инструментов, таких как Prometheus и Grafana.
🟢 Резервное копирование, восстановление и аварийное восстановление: Управление состоянием приложений и стратегии восстановления.
🟢 Непрерывная интеграция и развертывание: Стратегии развертывания, такие как Canary, Rolling updates и Blue-Green.
👉   Java Portal | #ресурсы
Please open Telegram to view this post
    VIEW IN TELEGRAM
  👍6🔥4
  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
  👍7🌭2🔥1
  Программа для отображения всех запущенных процессов на Java 
Основные моменты:
🟢 
🟢 
🟢 
👉   Java Portal | #ресурсы
Основные моменты:
ProcessHandle.allProcesses() → Получает все запущенные процессы.process.pid() → Получает идентификатор процесса (PID).process.info().command() → Получает команду процесса (если доступна).Please open Telegram to view this post
    VIEW IN TELEGRAM
  👍11🔥4🌭3
  Думай о 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
  ❤11😁2🔥1🌭1
  Совет по Java API 
Используйте🔥 
Это помогает предотвратить случайное добавление нескольких абстрактных методов в интерфейс, помеченный как функциональный. Если вы попытаетесь добавить еще один абстрактный метод в функциональный интерфейс, компилятор выдаст ошибку.
👉   Java Portal | #tips
Используйте
@FunctionalInterface в качестве защиты от ошибок компилятора! Это помогает предотвратить случайное добавление нескольких абстрактных методов в интерфейс, помеченный как функциональный. Если вы попытаетесь добавить еще один абстрактный метод в функциональный интерфейс, компилятор выдаст ошибку.
Please open Telegram to view this post
    VIEW IN TELEGRAM
  👍12❤2🤣2🔥1
  Самоучитель 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
  ❤12🔥1
  Принёс вам классный ресурс для изучения паттернов проектирования 
На сайте 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
  😁8👍6❤3
  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
  👍6❤2🔥1
  Чтобы сделать большие и сложные цепочки компараторов более читаемыми, мне нравится присваивать компараторы переменным, имена которых начинаются с "by".
Таким образом, вызов
sorted() становится меньше и читается почти как естественный язык. Кроме того, вы можете использовать статический импорт.Please open Telegram to view this post
    VIEW IN TELEGRAM
  👍22🤔5
  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
  👍10❤3🔥3
  "Викторина по Java (100 лучших вопросов и заданий по Java MCQ)"
Этот плейлист содержит список викторин и тестов с множественным выбором (MCQ), предназначенных для проверки ваших знаний и понимания различных концепций языка программирования Java.
📲  Cмотреть источник: тут
👉   Java Portal | #видео
Этот плейлист содержит список викторин и тестов с множественным выбором (MCQ), предназначенных для проверки ваших знаний и понимания различных концепций языка программирования Java.
Please open Telegram to view this post
    VIEW IN TELEGRAM
  👍7❤6🔥1
  Одна из подводных камней при использовании аннотации 
В приведенном выше коде можно ожидать, что первый вызов
👉   Java Portal | #tips
@Transactional в java с @springframework — это самовызов метода. В приведенном выше коде можно ожидать, что первый вызов
 save() будет откатан, но этого не произойдет. Чтобы все работало правильно, метод с аннотацией @Transactional должен быть вызван из другого сервиса.Please open Telegram to view this post
    VIEW IN TELEGRAM
  ❤11👍4🔥2