FastAPI - Как использовать Depends #14
Summary
TLDRВ этом видео Артем Гай рассматривает реализацию инъекций зависимостей в FastAPI, используя 6 примеров для наглядности. Он объясняет, как управлять временными соединениями с базами данных, добавлять пагинацию и передавать параметры через зависимости. Артем также демонстрирует, как использовать классы для передачи параметров и реализует аутентификацию пользователей с помощью зависимостей. Он подробно проходит по каждому примеру, чтобы помочь зрителям понять, как инъекция зависимостей может упростить и усилить код. В заключение, Артем дает советы о том, как правильно использовать зависимости для аутентификации и авторизации в FastAPI.
Takeaways
- 😀 Артем Гай — разработчик, который помогает погружаться в мир Python и FastAPI.
- 🔍 В видео рассматривается реализация инъекций зависимостей в FastAPI, включая 6 примеров.
- 📝 Артем напоминает о важности вступления в сообщества для общения, обучения и поддержки.
- 🔑 Обсуждается использование контекстных менеджеров и сессий для управления временными соединениями, такими как базы данных.
- 📚 Приводится пример использования функций с аргументами, которые не принимают параметров, для упрощения кода.
- 🔄 Рассматривается тема пагинации и передачи параметров запросов, таких как 'limit' и 'skip', через зависимости.
- 🛡️ Артем демонстрирует, как использовать классы для реализации аутентификации и авторизации пользователей.
- 👮♂️ Показан пример использования 'Guard' для защиты определенных эндпоинтов от неавторизованного доступа.
- 🔗 Обсуждается использование экземпляров классов в качестве зависимостей для централизованного управления логикой.
- 🔒 Примеры демонстрируют, как FastAPI использует 'request' для обработки данных пользователя и аутентификации.
- 🎓 В видео упоминается платный курс Артема, который будет более структурированным и включать дополнительные темы, такие как мониторинг и Docker.
Q & A
Что означает аббревиатура 'DPS' в контексте видео?
-В контексте видео 'DPS' может обозначать 'Data Processing System' или 'Database Processing System', относящуюся к обработке данных или работе с базами данных.
Какие примеры реализации 'Dance' рассматриваются в видео?
-В видео рассматриваются 6 примеров реализации 'Dance', включая использование временных соединений с базами данных, добавление параметров пагинации и работу с классами для передачи параметров.
Что такое 'контекстный менеджер' и как он используется в видео?
-Контекстный менеджер - это механизм Python, который управляет временем жизни объекта, часто используяся с синхронными функциями для управления ресурсами, такими как сессии в базе данных.
Какие проблемы могут возникнуть при повторном использовании кода для параметров в различных точках API?
-Повторное использование кода может привести к проблемам с поддержкой и изменением. При необходимости внести изменения, это придется делать во всех местах, где код был повторно использован, что может привести к ошибкам и неудобствам.
Какие типы параметров могут быть переданы через зависимость в FastAPI?
-В видео упоминается, что параметры, такие как 'limit' и 'skip' для пагинации, могут быть переданы через зависимость в FastAPI в виде словаря.
Что такое 'FastAPI' и как он используется в видео?
-FastAPI - это современная высокопроизводительная веб-фреймворк для Python, используемый в видео для создания API и управления зависимостями в приложении.
Какие преимущества предлагает использование зависимостей в FastAPI для передачи параметров?
-Использование зависимостей в FastAPI позволяет централизовать логику передачи параметров, уменьшая повторение кода и ошибок, а также упрощая процесс изменения параметров в будущем.
Что такое 'аутентификация пользователя' и как она реализуется в видео?
-Аутентификация пользователя - это процесс проверки личности пользователя в системе. В видео аутентификация реализуется через защитника (guard), который проверяет наличие 'супержавок' (возможно, 'токенов доступа') в запросе.
Какие типы объектов могут быть использованы для реализации зависимостей в FastAPI?
-В видео упоминается, что для реализации зависимостей в FastAPI могут использоваться как функции, так и классы, в зависимости от удобства и требований конкретного случая.
Какие действия предпринимаются, если в запросе отсутствуют необходимые 'супержавки'?
-Если в запросе отсутствуют необходимые 'супержавки', то система вызывает ошибку, обычно с HTTP-кодом 403, что означает 'Запрещено', и блокирует доступ к защищенным ресурсам.
Outlines
😀 Введение в реализацию инъекций зависимостей в FastAPI
Артем Гай представляет видео о реализации инъекций зависимостей в FastAPI. Он объясняет, что будут рассматривать 6 примеров реализации и уделит внимание конкретному использованию для аутентификации пользователей. Артем также напоминает зрителям о существовании сообщества в Telegram для общения и обмена опытом в области работы с Python. В заключение, он предлагает поддержать его на Patreon, если возможно.
📚 Пример реализации сессий с использованием контекстных менеджеров
В этом параграфе рассматривается пример использования контекстных менеджеров для управления сессиями в базе данных. Автор объясняет, как функция 'get_session' может быть использована для предоставления сессии, с которой затем можно работать в точке входа. Он подчёркивает важность вызова этой функции перед началом работы с сессией и демонстрирует базовый пример использования сессии в синхронной функции.
🔄 Реализация пагинации с помощью зависимостей
Артем демонстрирует, как можно реализовать пагинацию без повторения кода, используя зависимости в FastAPI. Он предлагает создать функцию, которая будет принимать параметры пагинации, такие как 'limit' и 'skip', и передавать их в виде словаря. Таким образом, эти параметры станут доступны во всех точках входа, что упрощает процесс и уменьшает вероятность ошибок.
🛡️ Использование классов для реализации аутентификации
В этом разделе Артем рассматривает использование классов для управления аутентификацией пользователей. Он объясняет, как можно создать класс 'Guard', который будет отвечать за проверку прав доступа пользователя. Пример кода демонстрирует, как можно использовать экземпляр класса для защиты конкретных функций API, чтобы неавторизованные пользователи не могли получить доступ к ним.
🔑 Пример использования зависимостей для защитыendpoint'ов
Артем продолжает тему аутентификации, демонстрируя, как можно использовать зависимости для защиты endpoint'ов. Он рассматривает пример, где для доступа к функции 'get_payments' требуются определенные права пользователя, и использует экземпляр класса для реализации этой логики. Также он объясняет, как работает метод '__call__' при вызове экземпляра класса.
🔒 Расширение функциональности FastAPI с помощью кастомных зависимостей
В заключительном параграфе Артем демонстрирует, как можно расширить функциональность FastAPI, используя кастомные зависимости. Он рассматривает пример аутентификации, где используется зависимость 'get_current_user', которая извлекает информацию о текущем пользователе из токена. Артем также упоминает о платном курсе, который он готовит, где будет подробно рассмотрена эта и другие темы.
Mindmap
Keywords
💡инъекция зависимостей
💡Dance
💡аутентификация пользователей
💡контекстный менеджер
💡FastAPI
💡асинхронная функция
💡пагинация
💡токен
💡HTTP-исключение
💡декодирование токена
Highlights
Артем Гай обсуждает реализацию инъекций зависимостей в FastAPI.
Планируется рассмотрение 6 примеров реализации для лучшего понимания темы.
Видео поможет зрителям без остатков разобраться в использовании инъекций зависимостей.
Будет рассмотрена тема кастомной аутентификации пользователей.
Артем напомнит зрителям о своей профессиональной деятельности и обществе в Telegram.
Подходы к работе с базами данных и синхронными сессиями на FastAPI.
Обсуждение использования контекстных менеджеров для управления сессиями.
Пример реализации Dance с использованием временных соединений с базами данных.
Разбор использования параметров в FastAPI для добавления функциональности, например, пагинации.
Артем демонстрирует, как передавать параметры с помощью зависимостей в FastAPI.
Обсуждение использования классов для реализации зависимостей и их преимуществ.
Пример использования классов для добавления логики и параметров в FastAPI.
Артем рассматривает защиту эндпоинтов с использованием экземпляров классов.
Введение в работу с аутентификацией и авторизацией пользователей в FastAPI.
Разбор примера реализации аутентификации с использованием супер-куки и токенов.
Анализ внутреннего устройства FastAPI для понимания работы с зависимостями и аутентификацией.
Обсуждение распространения настроек безопасности на все эндпоинты с использованием роутеров в FastAPI.
Заключение о том, что в платном курсе Артема будет подробно рассмотрена кастомная аутентификация и другие темы.
Артем благодарит за поддержку и мотивацию создавать новые видеообучающие материалы.
Transcripts
хаю-хай с вами Артем Гай и сегодня мы
посмотрим на реализацию инъекций
зависимости в остапе Да конкретно на
Dance вы могли видеть это где-то в коде
у меня
мы разберемся что это мы посмотрим на 6
примеров реализации и вы поймете к концу
видео как это используется не будет вас
никаких вопросов и А если будет Пишите в
комментарии
и мы посмотрим как Вишенка в конце видео
как использовать для
аутентификации пользователей Да многие
просили кастомная аутентификация и мы
посмотрим немножко на это дело перед
началом напоминаю я Артем поэтому
разработчик и помогаю вам погружаться
Фаста и мир пайтона Не забывайте
вступать в icon сообщества в телеграме
там мы общаемся друг с другом помогаем
друг другу обсуждаем там работа
стажировки тестовые задания и
поддерживайте меня на бусте Если у вас
есть такая возможность
поехали Итак начнем мы с примера что уже
был у меня видео чтобы как-то освежить
нам память
меня к сожалению нет его под рукой Ну
постарайтесь вспомнить Мы работали с
базой данных и у нас была синхронная
сессия и там была такая функция
по типу осинк Саша
Гетто Sensation и у нас был какой-то
контекстный менеджер там Осинка Саша
Мейкер и он нам отдавал сессию вот таким
образом
Да ну под сессия Пускай здесь будет
что-нибудь
просто строчка и Он отдавал сессию чтобы
мы могли в поинте работать с этой
сессией Давайте напомню напишу базовый
Point
допустим там Get iTunes и у нас было
синхронная функция
и здесь принималось вот эта сессия
DPS Get Session причем очень важно здесь
мне сразу дополнил вызвал эту функцию
здесь конечно вызывать не нужно
Давайте импортируем
ее импортируем с постами
и Да тут на что-то было не очень важно
как-то севший на языке
допустим там возвращали какие-то
Не суть важно такой Таким образом мы
использовали
но я не объяснил что он делает да Или
объяснил как-то плохо
Что происходило в данном случае
во-первых если вы не знакомы с хиллд то
он отдает нам контроль на некоторое
время Да он работает часто в связке с
контекстными менеджерами и контекты
менеджер что-то там нам елдилась сессия
и мы в поинте работали с этой сессией И
как только мы отдавали ответ
пользователю сессия возвращался контроль
вот в эту функцию и уничтожалось
так вот первый пример реализации Dance
это использование каких-то временных
соединений Да это может быть базой
данных с
Radisson еще какой-то другой базой
данных
чтобы был контроль на некоторое время
Это первый пример вот мы здесь можем
посмотреть что такое например через
обычный принт
Давайте Сначала посмотрим как у нас
выглядят доки
У нас есть здесь нет никаких параметров
абсолютно Почему Потому что
вот эта функция которая вызывается она
не принимает параметров
и мы можем сделать экзотики У нас тут
все вернется Отлично но что произойдет
под капотом запретела сессия просто наша
строчка
Давайте здесь для примера еще и вам
обозначу как используется eld Вот
например
получение сессии происходит
потом происходит обработка запроса
нашего и уничтожение сессии допустим
назовем это
и Давайте еще раз я обращусь и посмотрим
влоги смотрите у нас сначала происходит
получение нашей сессии
Yell Session отдается вот в этот Point
мы с ней как-то работаем отдаем ответ
пользователю и только потом возвращается
контроль в эту функцию Изначально и
уничтожается сессия Это был пример с
гилт если мы передали параметры например
там ABC
то у нас бы здесь также требовался бы
этот параметр его нужно было бы вводить
Окей обычно Так не делается съел дом
закончили далее Давайте посмотрим на вот
еще на то Как передаются какие-то
параметры Давайте обозначим Point
пускай будет subjects И у нас есть
большая система куча сотни там десятки
поинтов и часто пользователи хотят часто
табличные данные какие-то условно
пользователи хотят получить Там первые
50 потом перелистнуть на вторые 50
условно пагинацию Мы хотим сделать
получить какие-то объекты и как нам
добавить пагинацию Как нам добавить вот
эти параметры которые называются обычно
лимит и скип
вдали во все пойнты нация вообще везде и
мы не хотим прописывать везде руками
лимит
равно 10 и везде вот такое дело
прописывать Да и здесь и вот здесь и во
всех остальных пойнтах это во-первых
повторение кода что Влечет за собой
проблемы что потом изменить нужно будет
во всех местах а не в одном только
Ну и ошибки Поэтому лучше все это дело
сделать в одном месте как нам прокинуть
параметр который мы хотим использовать
во всех абсолютно поинтах через
зависимость очень просто нам достаточно
сделать какую-нибудь функцию например
и вот здесь лимит будут
мы их передадим просто как словарик
допустим лимит это будет лимит скип
будет скип
и мы будем принимать вот эти параметры
пагинации
поджиннейшим парамс это будет словарик
поэтому пишем что это словарик и он
зависит от чего от этой функции fastapi
когда я забыл сказать На первом этапе
что происходит поставьте
перед тем как обрабатывать запрос
пользователя Да вот здесь какой-то код
выполнять что-то выполнять он все
зависимости прогоняет на самом деле что
он делает он просто берет эту функцию
или класс или просто Колобок вызываем
объект берет его и вот название
аргумента говорит вот такое переменная
будет равна вот такому делу
нужно Передать все
будет примерно так-то работать Давайте
посмотрим
Давайте вернёмся
посмотрим на наши доки у нас появились
subjects и смотрите у нас появился лимит
и скип Давайте заключим Вот они
возвращаются И хотя мы не прописывали
эти параметры вручную в этот antpoint
Они здесь все равно появляются потому
что у нас используется зависимость
и это немножко нам упрощает жизнь дальше
Давайте посмотрим на реализацию с
классом на самом деле можно использовать
как функцию так как класс смотря что вам
удобнее давайте сделаем
парамс
Да кстати должен быть классными функция
класс поджинейший
у него будет
и он будет принимать допустим лимит тот
же самый просто отсюда можно забрать это
дело
лимит и сгиб и здесь будет встретить
просто лимит лимит
и то же самое для скипа ничего сложного
и мы можем точно также давайте сделаем
здесь объект например класс просто
это дело различать Здесь тоже
изменим и мы будем уже получать
естественно не Директ мы будем получать
экземпляр класса
Вот и сюда прокидываем мы тоже
поджинатор сохраняем Давайте посмотрим
что изменится изменится ли все что-то у
нас появился subject Class у нас также
здесь есть эти параметры которые класс в
дандер методе init принимает
и также все будет работать Абсолютно
никакой разницы да Если вам нужна
какая-то
участок кода объединить под один класс
Вы можете это запросто делать с помощью
класса если вам нужно какая-то еще
логика Да еще какие-то там методы для
этого класса пожалуйста Никто не
запрещает также когда мы имеем дело с
классом Вот видите два раза прописаны
Давайте один раз берем вот здесь из dpc
посмотрим изменится ли что-либо
сохраняем обновляем ничего не меняется
также есть параметр лимит скип также мы
получим эти параметры и также можем
отсюда убрать делать эпизацию оставить в
dps
и также все будет Аналогично ничего не
меняется ответ и параметры одинаковые но
рекомендуется конечно чтобы если он
стоит какой-нибудь проверять
типов
то будет лучше если у вас есть
Окей так можно работать с классом
Представьте давайте что у нас есть класс
который отвечает за аутентификацию
пользователя
проверяет или авторизацию Может ли
пользователей смотреть данные and Point
может ли он к нему обращаться Давайте
здесь напишем вот что
У нас есть какой-то защитник Guard
охранник нашей наших нашего API и он там
не знаю допустим принимает какой-то App
Le
Не суть важно что это И также у нас при
вызове этого
экземпляр класса должно что-то произойти
Да тут немножко и объединению прямо
сразу три темы
скол и Квест
смотрите
Сейчас посмотрим как будет работать и мы
здесь применим немножко
магии и напишем вот такое дело
Давайте сначала напишем и потом
посмотрим импортируем из старлетов в
целом можно и с поста импортировать но
не почем не подсказывает почему-то
импортировать и мы проверим Например
если
есть у нас что-нибудь какой-нибудь
супер токен суперкуки
in request cookies тогда
условно Return True то есть ну неважно
просто не вызывая ошибку иначе Вызови Ну
да конечно обычно так пишется над ин вот
здесь заразим ошибку какой-нибудь http
Exception обычно импортируем из-за
fastape это дело со статус кодом 403
например да то есть запрещен вам доступ
Давайте напишем детей
запрещено
иначе вернем трубу или просто
не будем вызывать ошибку Давайте
создадим экземпляр класса
Допустим
payments Допустим у нас есть какое-то
приложение которое называется часть
приложения сервиса или сервис который
и у нас есть какой-то защищенный супер
прям защищенный мы не хотим чтобы никто
к нему получал доступ например
получить все платежи Пускай только
администратор может его получать и до
здесь допустим
и какая-то идет валидация что вот мы
допустим получили этот куки он есть и мы
вот здесь проверяем проверяем что в
куках есть инфа
о наличии прав пользователя
будет функция Get payments
Мы хотим ее защитить чтобы к ней не мог
обращаться пользователь если у него
недостаточно прав
и здесь мы будем работать с экземпляром
класса до этого Как вы помните Мы
работали с классом самим и использовали
его метод init потому что и нет у нас
вызывается когда мы вот так ставим
скобочки и вызываем создаем экземпляр
класса
а если мы хотим работать с экземпляром
класса Как вы знаете не знаете мы
используем
чтобы вызвать экземпляр класса как
функцию нужен метод Cold который
отвечает именно за вызов экземпляра
класса
и вот здесь мы будем использовать
который является экземпляром
и он зависит от вот этого экземпляра
класса который будет вызван по стапе
перед прогоном этой функции Сейчас
посмотрим как это работает и здесь если
все окей пройдет то Return там допустим
My paymance он вернет
Ну неважно что нам важно посмотреть как
это работает
Давайте сохраним во-первых посмотрим
какие куки У нас есть
суперкубки если он или нет
у меня вообще никаких кук нету поэтому
должна выпасть ошибка Давайте посмотрим
когда им страничку
посмотрим на paymance здесь нет никаких
параметров собственно OK мы делаем
execute и получаем ошибку запрещено
Вуаля все сработало Давайте еще раз
пробежимся Почему все как что вообще
работает у нас есть да вот начнем отсюда
and Point который имеет какую-то
зависимость это значит что поставьте
перед вызова вот этой функции перед
прогоном всей функции сначала прогонит
все зависимости и убедиться что они
вернулись в целости и сохранности не
вызвали Никакой ошибки А если они
вызовут ошибку то запрос не будет
обработан пользовательский так вот он
видит есть какой-то ауф gard payments он
не знает понять что это такое но
обязательно этот объект должен быть
вызываемый То есть ему можно взять
скобки написать скобки чтобы он вызвался
Окей когда мы вызываем экземпляр класса
а Ужгород у нас активируется метод Call
в котором есть request request на самом
деле фастафе используется много где его
можно использовать как здесь его можно
использовать как и в самом поинте чтобы
смотреть например
данные там IP пользователя User edgend
пользователя там что он из Google Chrome
зашел к нам или там Сафари зашел и какие
у него куки какие у него хедеры и часто
это естественно нужно для авторизации
аутентификации
так вот мы смотрим на его куки здесь и
если что-то идет не так если у него нет
супер кубка суперкубки то мы рейзим
ошибку и поставьте вот этот Point не
прогоняет пользователя возвращается
ошибка Вот как нам собственно сейчас
вернулась запрещено
иначе возвращается неважно что нужно
просто проверить что пользователь может
смотреть и здесь важно заметить что нам
это переменная по сути здесь не нужна мы
никак не используем Мы просто хотим
проверить что нет ошибки и поэтому вот
эту зависимость отсюда правильно будет
вынести
вот сюда сам and Point здесь Аргументы
и список из зависимости только одна
зависимость будет Мы сюда помещаем и в
итоге у нас аргументы чистые их пока
нету мы можем Ну понятно что какие-то
будут мы не захламляем нашу функцию не
нужны аргументами
то есть кто-то написал бы вот так
например Нижняя подчеркиваю вот так вот
нижнее подчеркивание типа мы эту функцию
не используем Но это все равно мешает
пониманию как это все дело работает ой
так я не могу вернуть Окей давайте еще
раз напишем
dependences это список и здесь он не
будет Давайте сохраним это дело и
проверим что если он зависимость здесь у
нас все равно она отработает на всякий
случай обновим не знаю зачем жмем
execuit и у нас по-прежнему запрещено
потому что у нас нету куки как она
называется суперки
Давайте добавим во-первых посмотрим что
я правильно все проверяю суперкуки это у
нас дикт до fastape очень классно
показывает даже могу посмотреть
провалиться вот библиотеку через Контру
и щелчок мыши посмотреть что
возвращается дикт кстати вот для этого
очень полезно использовать
подсказки типов Чтобы другие
пользователи понимали Как ваш библиотека
работает ну и в целом ваш код работает
Если это не библиотека О'кей то есть мы
проверяем если ключ суперкубки Давайте
его создадим здесь и на самом деле не
важно что в нем будет там ABCD это уже
валидация происходит вот здесь
декодирование этого токена смотрим Что
внутри него нам не так важно Мы просто
хотим показать что у нас есть
этот суперкуки что у нас работает и он
будет отправляться теперь вместе с
запросом Давайте посмотрим
что сейчас будет нажимаю execute и Вуаля
у нас прошла
что аутентификация авторизации тоже
иногда путают В общем нас запустила
на наш ресурс у нас есть действительно
какой-то куки Вот здесь мы отсеиваем
вообще всех там мошенников которые
просто хотят обратиться к нашему сервису
сразу типа вон А тут мы должны проверить
как-то там декодировать этот токи Ну я
думаю понимаете о чем я потому что он
обычно защищен это может быть животы
токены Мы хотим как-то распознать и
данные туда забрать
Воля смотрите что мы объединили здесь Мы
научились деппендис вызывать не прямо в
внутри функции а внутри могут быть
другие зависимости и также как вы
понимаете сейчас немножко отступление
Если у вас есть какой-то роутер
в котором объединяем там набор
по транзакциям допустим по платежам мы
можем здесь также сделать
ой ой Вот так вот который будет
распространяться на все and Point этого
роутера и вам не нужно будет прописывать
вот здесь это нигде Да вот у вас
множество inpoint получить поймать и
добавить payment и отправить payment
сделать payment все такое удалить вам не
нужно прописывать каждый раз Вы просто
распространяйте сразу на все поинты это
дело если вам нужно точечно проверить
что например вот здесь
у вас может быть зависимость которая
называется в виде функции например
получить администратора получить там
директора получить модератора тогда Вам
нужно будет уже точечно вот здесь
указывать
например получить какого-то функция
будет
его есть ко всем
Вот Мы научились работать с
зависимостями Но что более важное вам
хотел показать как это request и про
вишенку который говорил самом начале Как
работает аутентификация здесь мы
посмотрели какую-то базовый пример
Давайте посмотрим реальный пример зайдем
в остапе здесь есть статья под названием
символ А у вас паролем вот она и здесь
котик Давайте его скопируем
нам важно даже сам код как он работает
здесь что есть интересное здесь есть
зависимость Вот такая А если вы смотрели
доки анализировали пытались понять что
это Как это работает там немножко у
тайны не сказано про это Но я вам по
секрету сейчас поведаю как это работает
у нас есть зависимость getcorent User
которую с которой вы наверное знакомы
смотрели предыдущие видео которые
получает текущего пользователя перед тем
как
активно пользователя допустим и в
каком-то поинтов ее используют
Давайте посмотрим по все глубже и глубже
углубляясь погружаясь как она работает
сначала нажмем на неё видим что она
зависит от другой зависимости Ну это
вполне нормальная ситуация Окей
деткам фьюзер зависит токена который
использует токены который зависит
какой-то схемы эта схема это экземпляр
класса вот такого и вот здесь уже
непонятно что это за класс потому что он
находится внутри библиотеки Давайте в
него провалимся если у вас настроена
окружение настроен библиотека фасадка
загружена можно нажать и посмотреть как
устроена
Исходный код просто и не очень интересен
здесь
нам интересен Call да то есть когда
вызывается спросить что прыгаю когда вот
это вызывается дело где вот здесь
напоминаю поставьте
вызывает это этот экземпляр перед тем
как запустить эту функцию что он делает
он также принимает request как я вам
показал смотрит на хедеры если там есть
авторизарейшен то он как-то это дело
распакует проверяет что там схема брр
если не берёшь то вызывает ошибку Типа
вы не аутентифицированы
иначе если все нормально возвращает вот
какой-то параметр и дальше он спускается
параметр есть токен он как-то здесь
декодируется и дальше дальше более более
высокий уровень мы выходим и
возвращаемся к этому принимаем уже
текущего юзера там как-то из базы данных
забираем и можем с ним работать если на
каждом из этапов не произошло ошибки
and Point выполняется пользователь
возвращается ответ
Вот так это работает кастомная
идентификации в этом курсе Не будет она
будет в моем платном курсе который я
готовлю который более структурированный
понятный будет множество задач и больше
общения
там это все дело будет там будут и
другие темы там и мониторинг мы
подключим графа Ну и будем наблюдать как
у нас работает Какая нагрузка
а в этом курсе уже Останется только
докер докер compose и немножко мы
наверное за диплом куда-то это дело
чтобы проверить как оно работает на этом
все друзья Спасибо вам огромное за
поддержку тем кто поддерживает меня на
бусте это действительно мотивирует меня
снимать новые видео потому что много
учебы много работы много дел и до видео
иногда не доходят руки Спасибо вам
огромное за просмотр подписывайтесь на
канал пишите комментарии мне также это
поддерживает и продвигает спасибо еще
раз Всем пока
関連動画をさらに表示
Глава 1 Базовый Синтаксис ; День 36 ; 36.2
ЭКОНОМИЯ ВРЕМЕНИ И ДЕНЕГ ПРИ ВЫБОРЕ НЕЙРОСЕТИ (МОДЕЛИ ТИПА LLM)
14 GPT's — ИЗМЕНЯТ ВАШУ РАБОТУ И ЖИЗНЬ!
Настройка Яндекс Директ на Ozon. Внешний трафик на маркетплейсах. Реклама яндекс директ
ИЗУЧИТЕ ГЛАВНУЮ НЕЙРОСЕТЬ МИРА от Б до Ю
Git урок для начинающих [Junior]
5.0 / 5 (0 votes)