12073
Присоединяйтесь к нашему каналу и погрузитесь в мир для Java-разработчика Связь: @devmangx РКН: https://clck.ru/3H4WUg
Понимание OAuth 2.0
OAuth 2.0 расшифровывается как Open Authorization 2.0
Это фреймворк авторизации, а не протокол аутентификации.
Назначение —> позволяет сторонним приложениям получать доступ к пользовательским ресурсам без раскрытия пользовательских учетных данных.
Ключевые роли в OAuth 2.0
— Владелец ресурса - пользователь, владеющий защищёнными ресурсами
— Клиент - приложение, запрашивающее доступ к защищённым ресурсам
— Сервер ресурсов - сервер, на котором хранятся защищённые ресурсы
— Сервер авторизации - сервер, выдающий токены доступа после согласия пользователя
Стандартный поток OAuth (Authorization Code Flow)
1. Клиент перенаправляет пользователя на сервер авторизации
2. Пользователь проходит аутентификацию и предоставляет разрешения
3. Сервер авторизации возвращает клиенту код авторизации
4. Клиент обменивает код на токен доступа
5. Клиент использует токен доступа для обращения к защищённым ресурсам
Лучшие практики реализации
⏩Корректная реализация OAuth 2.0 требует внимания к деталям безопасности
⏩Команды разработки часто используют инструменты ревью кода, чтобы на раннем этапе выявить проблемы
⏩Инструменты вроде @coderabbitai могут помочь обнаружить типовые ошибки при реализации OAuth во время ревью
⏩При работе с протоколами авторизации стоит рассмотреть использование анализа кода с фокусом на безопасность
👉 Java Portal
JWT vs Сессии — что выбрать для авторизации?
Кратко и наглядно разобрали плюсы и минусы двух популярных подходов
Сохрани себе, пригодится ⚔️
👉 Java Portal
Клёвый тренажёр+учебник по SQL
Тут можно потренироваться в хитрых джойнах, агрегациях и понабивать руку. Интерфейс очень приятный и позволяет потыкать схему БД, даёт подсказки как в коде, так и непосредственно по решению
В более сложные штуки (к примеру, в оконные функции) этот ресурс не лезет. Ну и запросы даже в самых сложных задачках получаются не сказать чтобы громоздкие
На сайте есть платная версия (которая позволяет смотреть авторские решения), но можно вполне обойтись и без неё
https://sql-academy.org/ru/trainer
👉 Java Portal
5 лучших задач для подготовки к собеседованиям по программированию 🤪
1. Системное проектирование – ссылка
2 Алгоритмы – ссылка
3. SQL – ссылка
4. Linux – ссылка
5. Java – ссылка
6. ООП – ссылка
👉 Java Portal
Генератор надёжных паролей на Java
Пароль с заглавными, строчными, цифрами и спецсимволами? Легко.
С помощью библиотеки Passay можно сгенерировать крепкий 10-символьный пароль буквально в пару строк.
Просто, удобно и безопасно. 😊
👉 Java Portal
Общие вопросы для собеседования по HashMap в Java 💪
Может ли HashMap содержать null-ключи и null-значения?
—> Да, один null-ключ допускается.
—> Несколько null-значений разрешены.
Потокобезопасен ли HashMap?
—>Нет, не потокобезопасен
Безопасные альтернативы:
⏩Collections.synchronizedMap() (медленнее, блокирует всю карту)
⏩ConcurrentHashMap (предпочтительнее при многопоточности)
Могут ли два разных объекта иметь одинаковый хеш-код?
—> Да. Это называется хеш-коллизия
Что вызывает ConcurrentModificationException?
—> Изменение HashMap во время итерации (например, через for-each) без использования Iterator.remove()
Может ли HashMap содержать два ключа с одинаковым хеш-кодом?
—> Да. HashMap обрабатывает коллизии с помощью цепочек (chaining)
Что происходит при вставке дублирующегося ключа?
—> Новое значение перезаписывает старое для этого ключа
👉 Java Portal
Лучшие советы по API REST
Скачать PDF на русском — здесь
Сохрани себе для быстрой шпаргалки
🥁 🥁 🥁
👉 Java Portal
Скидываю вам список чекеров и плагинов для Error Prone — забрать
Error Prone — это инструмент от Google для анализа Java-кода, который встраивается в компилятор (javac) и находит потенциальные ошибки ещё на этапе компиляции ⌨️
Подойдет для тех, кто хочет усилить Error Prone и сделать код чище, безопаснее и стабильнее
👉 Java Portal