Совет по 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
👍21🤔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
Книга "Docker for Java Developers" объясняет, как разработчики Java могут использовать Docker для развертывания, тестирования и масштабирования своих приложений.
В ней рассматриваются основные концепции контейнеризации, установка Docker, работа с контейнерами и образами, а также интеграция Docker с Java-приложениями.
⏩ Получите свой экземпляр:
https://ia801202.us.archive.org/28/items/DockerForJavaDevelopers/Docker_for_Java_Developers.pdf
👉 Java Portal | #книги
В ней рассматриваются основные концепции контейнеризации, установка Docker, работа с контейнерами и образами, а также интеграция Docker с Java-приложениями.
https://ia801202.us.archive.org/28/items/DockerForJavaDevelopers/Docker_for_Java_Developers.pdf
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤5🔥5
В Java может быть неясно, относится ли аннотация к объявлению, к типу или к обоим одновременно.
Это происходит в полях, методах, локальных переменных и других случаях.
В таких ситуациях понимание того, что именно аннотируется, зависит от значения мета-аннотации
👉 Java Portal | #tips
Это происходит в полях, методах, локальных переменных и других случаях.
В таких ситуациях понимание того, что именно аннотируется, зависит от значения мета-аннотации
@Target
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤3
Превратите репозитории GitHub в интерактивные диаграммы
📝 Проект помогает визуализировать структуры Git-репозиториев, создавая диаграммы, которые отображают ветки, коммиты и слияния.
Это полезный инструмент для лучшего понимания истории изменений и связей между элементами репозитория.
⏩ Ознакомиться:
https://github.com/ahmedkhaleel2004/gitdiagram
👉 Java Portal | #ресурсы
Это полезный инструмент для лучшего понимания истории изменений и связей между элементами репозитория.
https://github.com/ahmedkhaleel2004/gitdiagram
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥3
Две причины, по которым вы можете захотеть отключить Open Session in View в приложении Spring
🟢 Проблемы с производительностью: OSIV держит соединение с БД слишком долго, что может перегружать пул соединений и замедлять приложение.
🟢 Проблемы с корректностью: В фоновых задачах OSIV не работает, что вызывает ошибки
📝 Читать: клик
👉 Java Portal | #cтатья
LazyInitializationException.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥4❤3
Полезный пост для Java-разработчиков.
На фото информация о различных исключениях и ошибках
Для каждого из них приведено краткое описание и пример кода, который может вызвать данное исключение или ошибку.
➖ Также даны советы по обработке исключений, такие как точное перехват исключений, грациозная обработка ошибок, использование блока finally для освобождения ресурсов и другие.
👉 Java Portal | #ресурсы
На фото информация о различных исключениях и ошибках
Для каждого из них приведено краткое описание и пример кода, который может вызвать данное исключение или ошибку.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤6😁4
Media is too big
VIEW IN TELEGRAM
"Структуры данных и алгоритмы с использованием Java"
📝 Этот курс посвящен основам структур данных и алгоритмов, включая абстрактные типы данных, массивы, списки, стеки, очереди и деревья.
Он охватывает алгоритмы сортировки (Bubble Sort, Selection Sort, Insertion Sort, Quick Sort, Merge Sort) и поисковые методы (линейный и бинарный поиск). Также рассматривается их временная сложность и реализация на Java, включая динамические структуры данных, такие как связные списки, стеки и очереди.
📲 Cмотреть источник: тут
👉 Java Portal | #видео
Он охватывает алгоритмы сортировки (Bubble Sort, Selection Sort, Insertion Sort, Quick Sort, Merge Sort) и поисковые методы (линейный и бинарный поиск). Также рассматривается их временная сложность и реализация на Java, включая динамические структуры данных, такие как связные списки, стеки и очереди.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🌚5🔥4
Please open Telegram to view this post
VIEW IN TELEGRAM
❤26😁15🔥6
В Java может быть неясно, применяется ли аннотация к объявлению, к типу или к обоим.
Это происходит с полями, методами, локальными переменными и другими элементами.
🧠 В таких случаях, чтобы понять, что именно аннотируется, нужно учитывать значение мета-аннотации
👉 Java Portal | #tips
Это происходит с полями, методами, локальными переменными и другими элементами.
@Target.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥3
Рекомендации и лучшие практики по разработке RESTful API, используемые в компании Zalando 🤪
Это руководство помогает стандартизировать API, делая их последовательными, удобными для использования и совместимыми с различными клиентами.
🟢 Архитектурные принципы (согласованность, масштабируемость, удобочитаемость API)
🟢 Стандарты для URL, методов HTTP и кодов ответа
🟢 Формат данных (JSON, структура полей, обработка ошибок)
🟢 Аутентификация и авторизация (OAuth 2.0, OpenID Connect)
🟢 Версионирование API
🟢 Документирование API (OpenAPI Specification)
🟢 Производительность и кэширование
🔜 Читать:
https://opensource.zalando.com/restful-api-guidelines/
👉 Java Portal | #cтатья
Это руководство помогает стандартизировать API, делая их последовательными, удобными для использования и совместимыми с различными клиентами.
https://opensource.zalando.com/restful-api-guidelines/
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
Управляйте своим проектом как профессионал и повышайте продуктивность с лучшим сочетанием клавиш в IntelliJIDEA 👩💻
Используйте ⇧⇧ | Shift+Shift, чтобы мгновенно найти:
🟢 Классы, файлы, символы, действия или текст
🟢 Настройки редактора
🟢 Элементы интерфейса и многое другое! 🔥
👉 Java Portal | #tips
Используйте ⇧⇧ | Shift+Shift, чтобы мгновенно найти:
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10👀4🔥3
Please open Telegram to view this post
VIEW IN TELEGRAM
😁22🔥6❤5