Java Portal | Программирование
11.4K subscribers
804 photos
59 videos
21 files
598 links
Присоединяйтесь к нашему каналу и погрузитесь в мир для Java-разработчика

Связь: @devmangx

РКН: https://clck.ru/3H4WUg
加入频道
This media is not supported in your browser
VIEW IN TELEGRAM
Вы предпочитаете размещать вызовы связанных методов на отдельной строке? 👩‍💻

Тогда выберите вызовы методов, откройте «Действия с намерением» (Alt+Enter) и откройте меню для настройки стиля кода. На вкладке «Перенос и скобки» установите параметр «Связанные вызовы методов» в значение «Всегда переносить».

👉 Java Portal | #tips
Please open Telegram to view this post
VIEW IN TELEGRAM
Транзакции в Spring: сила управления данными

📖 Читать: ссылка

👉 Java Portal | #cтатья
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 | #ресурсы
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татья
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

Основные моменты:

🟢ProcessHandle.allProcesses() → Получает все запущенные процессы.
🟢process.pid() → Получает идентификатор процесса (PID).
🟢process.info().command() → Получает команду процесса (если доступна).

👉 Java Portal | #ресурсы
Please open Telegram to view this post
VIEW IN TELEGRAM
Думай о Java

- 374 страницы
- Издание 2020 года

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

Эта книга намеренно лаконична: каждая глава занимает 12–14 страниц и охватывает материал, рассчитанный на одну неделю учебного курса в колледже.

Получите свой экземпляр:
https://greenteapress.com/thinkjava7/thinkjava2.pdf

👉 Java Portal | #книги
Please open Telegram to view this post
VIEW IN TELEGRAM
Совет по Java API

Используйте @FunctionalInterface в качестве защиты от ошибок компилятора! 🔥

Это помогает предотвратить случайное добавление нескольких абстрактных методов в интерфейс, помеченный как функциональный. Если вы попытаетесь добавить еще один абстрактный метод в функциональный интерфейс, компилятор выдаст ошибку.

👉 Java Portal | #tips
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 | #видео
Please open Telegram to view this post
VIEW IN TELEGRAM
Принёс вам классный ресурс для изучения паттернов проектирования

На сайте Refactoring Guru собрали примеры для каждого паттерна на таких языках, как Go, C#, Java, Python, PHP, Rust и ещё куча других.

Всё удобно разложено по категориям — порождающие, структурные, поведенческие.

Примеры суперпонятные, с кодом и пояснениями.

👉 Смотрите сами

👉 Java Portal | #ресурсы
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Генерируйте шаблонный код, например, конструкторы, геттеры и сеттеры.👩‍💻

Используйте ⌘N (macOS) / Alt+Insert (Windows/Linux) для вызова меню "Generate", затем выберите Constructor, Getter, Setter или Getter and Setter, а также укажите поля, которые нужно включить.

👉 Java Portal | #tips
Please open Telegram to view this post
VIEW IN TELEGRAM
Телеграм-бот с ИИ Jlama: добавляем новые фичи

📖 Читать: ссылка

👉 Java Portal | #cтатья
Please open Telegram to view this post
VIEW IN TELEGRAM
💡 Совет по Java

Чтобы сделать большие и сложные цепочки компараторов более читаемыми, мне нравится присваивать компараторы переменным, имена которых начинаются с "by".

Таким образом, вызов sorted() становится меньше и читается почти как естественный язык. Кроме того, вы можете использовать статический импорт.

👉 Java Portal | #tips
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
Please open Telegram to view this post
VIEW IN TELEGRAM
"Викторина по Java (100 лучших вопросов и заданий по Java MCQ)"

Этот плейлист содержит список викторин и тестов с множественным выбором (MCQ), предназначенных для проверки ваших знаний и понимания различных концепций языка программирования Java.

📲 Cмотреть источник: тут

👉 Java Portal | #видео
Please open Telegram to view this post
VIEW IN TELEGRAM
Одна из подводных камней при использовании аннотации @Transactional в java с @springframework — это самовызов метода.

В приведенном выше коде можно ожидать, что первый вызов save() будет откатан, но этого не произойдет. Чтобы все работало правильно, метод с аннотацией @Transactional должен быть вызван из другого сервиса.

👉 Java Portal | #tips
Please open Telegram to view this post
VIEW IN TELEGRAM
Книга "Docker for Java Developers" объясняет, как разработчики Java могут использовать Docker для развертывания, тестирования и масштабирования своих приложений.

В ней рассматриваются основные концепции контейнеризации, установка Docker, работа с контейнерами и образами, а также интеграция Docker с Java-приложениями.

Получите свой экземпляр:
https://ia801202.us.archive.org/28/items/DockerForJavaDevelopers/Docker_for_Java_Developers.pdf

👉 Java Portal | #книги
Please open Telegram to view this post
VIEW IN TELEGRAM
В Java может быть неясно, относится ли аннотация к объявлению, к типу или к обоим одновременно.

Это происходит в полях, методах, локальных переменных и других случаях.

В таких ситуациях понимание того, что именно аннотируется, зависит от значения мета-аннотации @​Target

👉 Java Portal | #tips
Please open Telegram to view this post
VIEW IN TELEGRAM
Превратите репозитории GitHub в интерактивные диаграммы

📝Проект помогает визуализировать структуры Git-репозиториев, создавая диаграммы, которые отображают ветки, коммиты и слияния.

Это полезный инструмент для лучшего понимания истории изменений и связей между элементами репозитория.

Ознакомиться:
https://github.com/ahmedkhaleel2004/gitdiagram

👉 Java Portal | #ресурсы
Please open Telegram to view this post
VIEW IN TELEGRAM
Две причины, по которым вы можете захотеть отключить Open Session in View в приложении Spring

🟢Проблемы с производительностью: OSIV держит соединение с БД слишком долго, что может перегружать пул соединений и замедлять приложение.
🟢Проблемы с корректностью: В фоновых задачах OSIV не работает, что вызывает ошибки LazyInitializationException.

📝Читать: клик

👉 Java Portal | #cтатья
Please open Telegram to view this post
VIEW IN TELEGRAM