تسلط به REST APIs با FastAPI
✅ سرفصل و جزئیات آموزش
در این دوره نحوه ساخت APIs حرفه ای از جمله پوشش تست 100٪، تسک های پس زمینه، احراز هویت کاربر و موارد دیگر را با استفاده از FastAPI می آموزید.
آنچه یاد خواهید گرفت
- کسب تجربه گسترده با FastAPI
- آشنایی با نحوه تست اپلیکیشن های FastAPI با استفاده از Pytest با پوشش تست 100٪
- تبدیل شدن به متخصص لاگ کردن با ماژول لاگ کردن داخلی
- افزودن احراز هویت کاربر با هش کردن پسورد و توکن های حامل
- استفاده از پایگاه داده SQL غیرهمزمان و مدل سازی روابط one-to-many و many-to-many
- ارسال ایمیل های کاربر هنگام رجیستر بدون تاثیر عملکرد با استفاده از تسک های پس زمینه
- مدیریت آپلود فایل ها و ذخیره آن ها در یک سرویس شخص ثالث
- استقرار اپلیکیشن های FastAPI در ابر
پیش نیازهای دوره
- برخی از تجربه های قبلی برنامه نویسی در هر زبان برنامه نویسی.
- تمامی نرم افزارهای مورد استفاده در دوره ارائه شده و کاملا رایگان می باشد.
- مبتدیان کامل ممکن است بخواهند ابتدا یک دوره مقدماتی پایتون را بگذرانند و سپس به این دوره انتقال یابند.
توضیحات دوره
با FastAPI می توانید APIs کامل و با کارایی بالا را در عرض با افزودن ویژگی های جدید بسیار سریع چند روز بسازید. به همین دلیل است که FastAPI در سال های اخیر بسیار محبوب شده است.
در این دوره، به شما نشان می دهیم که چگونه از یک صفحه خالی به یک اپلیکیشن کامل و تکمیل شده FastAPI دست یابید.
پروژه
ما API رسانه های اجتماعی را با احراز هویت کاربر، ارسال ایمیل و آپلود فایل ایجاد خواهیم کرد. کاربران می توانند با استفاده از توکن های حامل (JWT) رجیستر کرده و لاگین کنند. آن ها می توانند پست ایجاد کنند، کامنت بگذارند و پست های موجود را لایک کنند.
ما از Pydantic برای اعتبارسنجی داده و رمزگذاری پایگاه داده ها به عنوان کتابخانه اتصال پذیری پایگاه داده خود استفاده خواهیم کرد.
دانش پیشرفته
شما از تسک های پس زمینه در FastAPI برای بهبود عملکرد هنگام اجرای کدهای آهسته، مانند هنگام ارسال ایمیل ها (که در دوره پوشش داده شده است) یا هنگام ایجاد درخواست های آهسته به API های شخص ثالث (همچنین تحت پوشش) استفاده می کنید.
در طول دوره ما از یک کتابخانه پایگاه داده غیرهمزمان که استفاده از آن ساده است، برای به حداکثر رساندن عملکرد استفاده می کنیم. شما در مورد انواع مختلف روابط داده و نحوه مدل سازی آن ها، از جمله روابط many-to-many یاد خواهید گرفت.
شما می آموزید که چگونه آپلود فایل ها را مدیریت کنید و با فایل های آپلود شده چه کاری انجام دهید تا فضای سرور تمام نشود.
تست کامل API
در نهایت 100% کد این دوره دارای تست می باشد. شما از pytest به طور گسترده برای نوشتن تست های واحد و تست های یکپارچه سازی برای API استفاده خواهید کرد. شما با فیکسچرهای pytest، پارامتری سازی و قراردادهای تست آشنا می شوید.
بخشی از توسعه واقعی به معنای لاگ کردن است. در این دوره دانش بسیار زیادی برای لاگ کردن وجود دارد که شامل نحوه راه اندازی صحیح ماژول لاگ کردن، زمان ایجاد فراخوانی های لاگ کردن و محل ذخیره لاگ ها هنگام استقرار اپلیکیشن خود است.
استقرارها
ما به شما نشان می دهیم که چگونه اپلیکیشن FastAPI خود را با استفاده از سرویس محبوب Render مستقر کنید. شما می توانید اپلیکیشن FastAPI خود را به صورت رایگان مستقر کنید، اما ما همچنین برخی از گزینههای پولی را برای بهبود عملکرد به شما نشان می دهیم.
ما همچنین مدیریت اپلیکیشن و مدیریت خطا را با Sentry و CI/CD با GitHub Actions بررسی خواهیم کرد.
این دوره برای چه کسانی مناسب است؟
- توسعه دهندگان نرم افزار که به دنبال گسترش مجموعه مهارت های خود با یادگیری توسعه FAST APIs حرفه ای هستند.
- دانشجویانی که می خواهند با استفاده از فناوری های سمت سرور، قابلیت های اپلیکیشن های موبایل و وب اپلیکیشن ها را گسترش دهند.
تسلط به REST APIs با FastAPI
-
کامیونیتی 00:24
-
به این دوره خوش آمدید 02:59
-
API چیست؟ 09:44
-
REST چیست؟ 09:23
-
متغیرها در پایتون 08:26
-
فرمت بندی رشته در پایتون 06:26
-
دریافت ورودی کاربر 05:16
-
لیست ها، تاپل ها و مجموعه ها 06:31
-
عملیات های پیشرفته مجموعه 04:39
-
بولی ها در پایتون 04:59
-
دستورات If 08:17
-
کلیدواژه in در پایتون 02:02
-
دستورات If با کلیدواژه in 08:18
-
حلقه ها در پایتون 11:07
-
List comprehensions در پایتون 07:24
-
دیکشنری ها 08:31
-
تخریب ساختار متغیرها 08:28
-
توابع در پایتون 10:41
-
آرگومان ها و پارامترهای تابع 07:40
-
مقادیر پارامتر پیش فرض 03:54
-
مقادیر بازگشتی توابع 07:19
-
توابع لامبدا در پایتون 07:52
-
Dictionary comprehensions 04:01
-
آنپک کردن آرگومان ها 10:24
-
آنپک کردن آرگومان های کلیدواژه 08:44
-
برنامه نویسی شی گرا در پایتون 15:52
-
متدهای جادویی: __str__ و __repr__ 06:25
-
classmethod@ و staticmethod@ 14:03
-
وراثت کلاس 08:32
-
کامپوزیشن کلاس 06:08
-
Type hinting در پایتون 05:08
-
ایمپورت ها در پایتون 09:33
-
ایمپورت های نسبی در پایتون 08:52
-
خطاها در پایتون 12:47
-
کلاس های خطای سفارشی 05:04
-
توابع First class در پایتون 07:52
-
دکوراتورهای ساده در پایتون 07:12
-
سینتکس "at" برای دکوراتورها 03:32
-
توابع Decorating با پارامترها 02:24
-
دکوراتورها با پارامترها 04:50
-
تغییرپذیری در پایتون 06:03
-
پارامترهای پیش فرض تغییرپذیر (و چرا ایده بدی هستند) 04:27
-
آشنایی با این بخش 02:52
-
اولین اپلیکیشن FastAPI شما 03:58
-
راه اندازی اپلیکیشن اولیه 07:49
-
Linting، فرمت بندی و مرتب سازی ایمپورت ها 05:52
-
API رسانه های اجتماعی - افزودن پست ها 10:57
-
تقسیم API به فایل ها با APIRouter 02:21
-
افزودن کامنت ها به API رسانه اجتماعی 11:07
-
آشنایی با بخش pytest 00:42
-
مبانی pytest 06:26
-
شروع کار با تست های FastAPI 07:34
-
ایجاد پست ها در تست ها 04:30
-
افزودن تست ها برای پست ها 09:16
-
افزودن تست های کامنت ها 08:00
-
آشنایی با کار با پایگاه داده ها 01:19
-
نصب ملزومات برای پایگاه داده های غیرهمزمان در FastAPI 01:57
-
ایجاد فایل پیکربندی با استفاده از Pydantic 03:25
-
پیکربندی های مختلف در هر محیط 06:15
-
کش کردن پیکربندی و نحوه دریافت آبجکت پیکربندی 04:26
-
راه اندازی پایگاه داده غیرهمزمان با FastAPI 07:38
-
اتصال پایگاه داده با رویدادهای lifespan در FastAPI 04:46
-
اجرای تست FastAPI در حالت "تست" 02:19
-
استفاده از پایگاه داده در مسیریاب FastAPI 16:07
-
آشنایی با لاگ کردن 01:00
-
لاگ کردن پایتون - لاگرها، هندلرها و formatters 15:59
-
سلسله مراتب های لاگر و __name__ 08:09
-
افزودن پیکربندی لاگ کردن برای اپلیکیشن های FastAPI 10:54
-
چگونه چندین لاگر را در ماژول لاگ کردن پیکربندی کنیم؟ 03:37
-
افزودن هندلرهای فایل برای ذخیره لاگ ها 07:43
-
افزودن لاگ کردن به اندپوینت های FastAPI 06:53
-
لاگ کردن پایتون - فیلترها و فیلترهای سفارشی 04:54
-
لاگ کردن استثناهای HTTP با هندلر استثنا 02:35
-
شناسایی لاگ ها از درخواست یکسان - شناسه همبستگی 07:27
-
افزودن فایل های لاگ با فرمت جی سان 02:34
-
مبهم سازی آدرس های ایمیل در لاگ ها با استفاده از یک فیلتر سفارشی 09:14
-
افزودن Logtail برای لاگ کردن ابری در FastAPI 03:43
-
فعال سازی Logtail فقط در تولید 01:19
-
آشنایی با احراز هویت کاربر 01:01
-
الزامات نصب و JWTs چیست؟ 07:21
-
افزودن جدول کاربران و بازیابی کاربران بر اساس ایمیل 03:21
-
افزودن رجیستریشن کاربر و تست ها 11:12
-
افزودن تست ها برای اندپوینت رجیستریشن کاربر 03:14
-
چگونه پسوردها را با passlib هش کنیم؟ 06:17
-
تولید توکن دسترسی 13:22
-
بازیابی کاربر فعلی با توکن های آن ها 06:35
-
استفاده از کاربر فعلی در مسیریاب API 13:59
-
تزریق وابستگی - دریافت کاربر 03:48
-
افزودن روابط کاربر به جداول دیگر 03:02
-
(اختیاری) OAuth Password Bearer و Swagger Auth 04:51
-
افزودن جدول برای لایک های روی پست 01:11
-
افزودن مسیر API برای لایک کردن پست ها 07:21
-
استخراج کوئری های قابل استفاده مجدد با SQLAlchemy 08:16
-
آرگومان های رشته کوئری و مرتب سازی داده با Enum 16:51
-
ایجاد توکن تأیید 07:01
-
رمزگشایی توکن تأیید 14:33
-
افزودن اندپوینت تأیید کاربر 10:25
-
نیاز به تأیید کاربر برای درخواست های احراز هویت شده 04:05
-
راه اندازی و پیکربندی Mailgun 02:44
-
ارسال ایمیل ها و تست با پایتون 15:47
-
ارسال ایمیل تأیید هنگام رجیستریشن 04:48
-
ارسال ایمیل ها با تسک های پس زمینه 05:59
-
پیکربندی ما برای Backblaze B2 01:29
-
کتابخانه داخلی برای Backblaze B2 09:57
-
نوشتن اندپوینت آپلود فایل 09:24
-
نوشتن تست ها برای آپلود فایل 18:22
-
تغییرات مدل و پایگاه داده برای تولید تصویر 02:44
-
پیکربندی برای DeepAI، سرویس شخص ثالث 03:46
-
تولید تصاویر با استفاده از تسک های پس زمینه 20:41
-
اجرای تولید تصویر در اندپوینت FastAPI 07:12
-
بروزرسانی پروژه به Pydantic نسخه 2 06:29
-
استقرار اپلیکیشن FastAPI برای رندر 06:09
-
افزودن پایگاه داده PostgreSQL رایگان به اپلیکیشن FastAPI خود 09:15
-
مدیریت خطا با Sentry برای اپلیکیشن های FastAPI 07:58
-
یکپارچه سازی مداوم با GitHub Actions برای اپلیکیشن های پایتون 08:19
مشخصات آموزش
تسلط به REST APIs با FastAPI
- تاریخ به روز رسانی: 1404/06/14
- سطح دوره:متوسط
- تعداد درس:115
- مدت زمان :13:32:49
- حجم :5.1GB
- زبان:دوبله زبان فارسی
- دوره آموزشی:AI Academy