آموزش API های REST پیشرفته با Flask و Python

Advanced REST APIs with Flask and Python

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره: با این دوره آموزشی پیشرفته Flask و Python، API های REST خود را به سطح جدیدی ببرید! عملکردهای پیشرفته را در API خود ادغام کنید، مانند آپلود تصویر، پرداخت ها، یا ایمیل های تایید کاربر! توسعه REST API خود را با آشنایی بیشتر با اکوسیستم Flask به یک سطح کاملاً جدید برسانید. بهبود عملیات API های REST موجود با انتقال پایگاه داده و دانش گسترده بازآفرینی. با پایتون (ترجیحا) یا زبان برنامه نویسی شی گرا دیگر برخی از دانش در مورد نحوه کار وب (درخواست ها و پاسخ ها) مفید خواهد بود! PyCharm (رایگان) یا ویرایشگر کد دیگری

به APIهای REST پیشرفته ما با دوره Flask و Python خوش آمدید!

ما محبوب ترین دوره مقدماتی توسعه REST API را در Udemy با بیش از 15000 بررسی و 80000 دانش آموز ایجاد کردیم. اکنون می‌خواهیم به شما کمک کنیم تا با ویژگی‌ها و عملکردهای جدید، با Flask REST APIهای خود حتی بیشتر از این پیش بروید.

اولین دوره ما شما را از صفر به یک REST API مستقر کرد که کاربران می توانستند به آن دسترسی داشته باشند. در این یکی، ویژگی‌های جدید و پیشرفته‌ای را پوشش می‌دهیم که APIهای REST شما را به سطح بعدی ارتقا می‌دهند!


موضوعات تحت پوشش

  • ساده سازی سریال و سریال سازی داده ها در REST API با استفاده از مارشملو

  • تأیید حساب کاربری را با ارسال ایمیل با Python انجام دهید

  • آپلود تصویر با استفاده از Flask-Upload

  • با انتقال پایگاه داده با استفاده از alembic، تغییرات را در ساختار پایگاه داده خود ساده کنید

  • مستند بنویسید و REST API خود را با استفاده از Postman آزمایش کنید

  • پرداخت و پردازش سفارشات را با استفاده از Stripe انجام دهید

  • ورود به سیستم اجتماعی با استفاده از OAuth. می‌توانید از این ورود با Twitter، Facebook، GitHub یا هر شخص ثالث دیگری استفاده کنید.

  • از آخرین فن آوری ها و بهترین شیوه ها استفاده کنید. همه چیزهایی که یاد می گیرید با Python 3.10، آخرین نسخه، کار می کند.


ساختار دوره

این دوره بر پایه دیگری استوار است: "REST APIs with Flask and Python". اگر تجربه Flask ندارید، توصیه می کنیم ابتدا آن دوره را بگذرانید.

ما اصول اولیه توسعه REST API یا Python را در این دوره به شما آموزش نمی دهیم. ما یک پروژه تمام شده به شما می دهیم و آن را در هر بخش گسترش می دهیم. ما همه چیز را در مورد پروژه شروع کننده با دقت توضیح می دهیم، و حتی یک کتاب الکترونیکی در مورد آن نوشته ایم!

ما ویژگی‌ها و فناوری‌های جدیدی را با افزودن آن‌ها به برنامه شروع معرفی می‌کنیم تا بتوانید ببینید که چگونه API‌های REST حرفه‌ای می‌سازیم. همانطور که ویژگی‌ها را اضافه می‌کنیم، آنها را نیز آزمایش خواهیم کرد.

این همچنین به شما کمک می‌کند تا در مورد نحوه افزودن ویژگی‌ها به API REST خود بیشتر بدانید. این باعث می‌شود توسعه سریع‌تر شود و خطر به حداقل برسد.


منابع اضافی

بسیاری از سخنرانی ها حاوی منابع اضافی مانند پیوندهایی به اسناد خارجی و پروژه ها هستند تا شما بیشتر بدانید. و برای هر سخنرانی، کد منبع را در ابتدا و در پایان اضافه می کنیم تا بتوانید دنبال کنید و هرگز گم نشوید. تمام کد منبع برای راحتی شما در GitHub است.

ما همیشه برای کمک به Udemy Course Q A و همچنین سرور Discord جامعه دانشجویی خود در دسترس هستیم.


APIهای REST پیشرفته با Flask و Python

به یاد داشته باشید، این پیشرفته ترین دوره ما تاکنون است! شما باید تجربه برنامه نویسی کافی با پایتون یا زبان برنامه نویسی دیگر داشته باشید. شما باید از نحوه نصب بسته های پایتون و نحوه اجرای برنامه های پایتون خود آگاهی داشته باشید. برخی از دانش در مورد نحوه کار وب نیز واقعا مفید است.

از اینکه این دوره را در نظر گرفتید متشکریم. من شما را در داخل می بینم!


سرفصل ها و درس ها

معرفی Introduction

  • چرا باید این دوره را بگذرانید! Why you should take this course!

  • 4 نکته که قبل از شروع این دوره باید بدانید 4 things you should know before starting this course

  • معرفی این بخش Introduction to this section

  • اشتباه و به روز رسانی به محتوا Errata and updates to the content

  • پروژه و نقاط پایانی ما Our project and endpoints

  • آیا باید نام های منحصر به فرد داشته باشیم؟ Should we have unique names?

  • اضافه کردن نوع اولیه اشاره Adding basic type hinting

  • افزودن انواع JSON سفارشی Adding custom JSON types

  • بهبود خطاها با ثابت Improving errors with constants

  • @classmethod در سراسر هیئت مدیره @classmethod across the board

  • تست API ما با Postman Testing our API with Postman

  • نتیجه گیری این بخش Conclusion of this section

معرفی Introduction

  • چرا باید این دوره را بگذرانید! Why you should take this course!

  • 4 نکته که قبل از شروع این دوره باید بدانید 4 things you should know before starting this course

  • معرفی این بخش Introduction to this section

  • از اینجا به کتاب الکترونیکی بخش 1 دسترسی پیدا کنید! Access the e-book for Section 1 here!

  • از اینجا به کتاب الکترونیکی بخش 1 دسترسی پیدا کنید! Access the e-book for Section 1 here!

  • اشتباه و به روز رسانی به محتوا Errata and updates to the content

  • پروژه و نقاط پایانی ما Our project and endpoints

  • بررسی کد دوره مبتدی Reviewing the beginner course code

  • بررسی کد دوره مبتدی Reviewing the beginner course code

  • ساده کردن رسیدگی به خطاها Simplifying our error handling

  • ساده کردن رسیدگی به خطاها Simplifying our error handling

  • بازسازی منابع ما Refactoring our resources

  • بازسازی منابع ما Refactoring our resources

  • آیا باید نام های منحصر به فرد داشته باشیم؟ Should we have unique names?

  • اضافه کردن نوع اولیه اشاره Adding basic type hinting

  • افزودن انواع JSON سفارشی Adding custom JSON types

  • استفاده از کلاس فعلی به عنوان راهنمایی نوع Using the current class as a type hint

  • استفاده از کلاس فعلی به عنوان راهنمایی نوع Using the current class as a type hint

  • استفاده از سیاه برای قالب بندی کد Using Black for code formatting

  • استفاده از سیاه برای قالب بندی کد Using Black for code formatting

  • بهبود خطاها با ثابت Improving errors with constants

  • @classmethod در سراسر هیئت مدیره @classmethod across the board

  • تست API ما با Postman Testing our API with Postman

  • نتیجه گیری این بخش Conclusion of this section

سریال سازی با مارشمالو Serialization with Marshmallow

  • معرفی این بخش Introduction to this section

  • سریال سازی با مارشمالو Serialization with Marshmallow

  • مهاجرت از virtualenv به Pipenv Migrating from virtualenv to Pipenv

  • مجموعه پستچی برای این بخش Postman collection for this section

  • استفاده از وانیلی مارشمالو با API Using vanilla Marshmallow with the API

  • تغییر به marshmallow-sqlalchemy A change to marshmallow-sqlalchemy

  • مقدمه ای بر Flask-Marshmallow Introduction to Flask-Marshmallow

  • افزودن موارد به REST API ما Adding items to our REST API

  • حذف تکرار خطا Deduplicating error handling

  • نتیجه گیری این بخش Conclusion of this section

سریال سازی با مارشمالو Serialization with Marshmallow

  • معرفی این بخش Introduction to this section

  • سریال سازی با مارشمالو Serialization with Marshmallow

  • deserialization با Marshmallow Deserialization with Marshmallow

  • deserialization با Marshmallow Deserialization with Marshmallow

  • مهاجرت از virtualenv به Pipenv Migrating from virtualenv to Pipenv

  • مجموعه پستچی برای این بخش Postman collection for this section

  • استفاده از وانیلی مارشمالو با API Using vanilla Marshmallow with the API

  • تغییر به marshmallow-sqlalchemy A change to marshmallow-sqlalchemy

  • مقدمه ای بر Flask-Marshmallow Introduction to Flask-Marshmallow

  • افزودن موارد به REST API ما Adding items to our REST API

  • افزودن فروشگاه‌ها به REST API Adding stores to our REST API

  • افزودن فروشگاه‌ها به REST API Adding stores to our REST API

  • حذف تکرار خطا Deduplicating error handling

  • نتیجه گیری این بخش Conclusion of this section

تاییدیه های ایمیل E-mail confirmations

  • معرفی این بخش Introduction to this section

  • مقدمه ای بر تایید ایمیل Introduction to e-mail confirmation

  • مجموعه پستچی برای این بخش Postman collection for this section

  • افزودن یک ویژگی فعال شده Adding an activated property

  • راه اندازی Mailgun Setting up Mailgun

  • ایجاد فایل کتابخانه Mailgun ما Creating our Mailgun library file

  • افزودن پیکربندی بیشتر به .env Adding more configuration to .env

  • رسیدگی به خطا در Mailgun Error handling in Mailgun

  • نتیجه گیری این بخش Conclusion of this section

تاییدیه های ایمیل E-mail confirmations

  • معرفی این بخش Introduction to this section

  • مقدمه ای بر تایید ایمیل Introduction to e-mail confirmation

  • مجموعه پستچی برای این بخش Postman collection for this section

  • افزودن یک ویژگی فعال شده Adding an activated property

  • فعال کردن کاربران به صورت دستی Activating users manually

  • فعال کردن کاربران به صورت دستی Activating users manually

  • به کاربران گفتن فعال هستند Telling users they are active

  • به کاربران گفتن فعال هستند Telling users they are active

  • راه اندازی Mailgun Setting up Mailgun

  • ارسال ایمیل با Mailgun (قسمت اول) Sending e-mails with Mailgun (Part 1)

  • ارسال ایمیل با Mailgun (قسمت اول) Sending e-mails with Mailgun (Part 1)

  • ارسال ایمیل با Mailgun (قسمت دوم) Sending e-mails with Mailgun (Part 2)

  • ارسال ایمیل با Mailgun (قسمت دوم) Sending e-mails with Mailgun (Part 2)

  • ایجاد فایل کتابخانه Mailgun ما Creating our Mailgun library file

  • استفاده از فایل های env در Flask Using .env files in Flask

  • استفاده از فایل های env در Flask Using .env files in Flask

  • افزودن پیکربندی بیشتر به .env Adding more configuration to .env

  • رسیدگی به خطا در Mailgun Error handling in Mailgun

  • نتیجه گیری این بخش Conclusion of this section

تایید ایمیل پیشرفته Advanced e-mail confirmation

  • معرفی این بخش Introduction to this section

  • مجموعه پستچی برای این بخش Postman collection for this section

  • ایجاد ConfirmationModel Creating the ConfirmationModel

  • تغییرات در UserModel ما Changes in our UserModel

  • ایجاد ConfirmationResource ما Creating our ConfirmationResource

  • خطا و تغییرات کد مورد نیاز است Errata and code changes required

  • رفع app.py ما Fixing our app.py

  • وابستگی های متقابل منابع (به طور کلی) بد هستند Cross-resource dependencies are (generally) bad

  • ذخیره رشته ها در فایل های پیکربندی Storing strings in config files

  • ایجاد یک کتابخانه ترجمه ساده Creating a simple translation library

  • افزودن یک زبان جدید به API ما Adding a new language to our API

  • مشکلات و توصیه های رایج Common pitfalls and advice

  • نتیجه گیری این بخش Conclusion of this section

تایید ایمیل پیشرفته Advanced e-mail confirmation

  • معرفی این بخش Introduction to this section

  • مجموعه پستچی برای این بخش Postman collection for this section

  • ایجاد ConfirmationModel Creating the ConfirmationModel

  • تغییرات در UserModel ما Changes in our UserModel

  • ایجاد ConfirmationResource ما Creating our ConfirmationResource

  • در حال به روز رسانی منبع کاربری ما Updating our UserResource

  • در حال به روز رسانی منبع کاربری ما Updating our UserResource

  • خطا و تغییرات کد مورد نیاز است Errata and code changes required

  • افزودن آخرین تایید به طرح کاربر Adding the last confirmation to the user schema

  • افزودن آخرین تایید به طرح کاربر Adding the last confirmation to the user schema

  • رفع app.py ما Fixing our app.py

  • وابستگی های متقابل منابع (به طور کلی) بد هستند Cross-resource dependencies are (generally) bad

  • بومی سازی و بین المللی سازی چیست؟ What are localisation and internationalisation?

  • بومی سازی و بین المللی سازی چیست؟ What are localisation and internationalisation?

  • ذخیره رشته ها در فایل های پیکربندی Storing strings in config files

  • ایجاد یک کتابخانه ترجمه ساده Creating a simple translation library

  • در حال به روز رسانی منابع ما برای استفاده از ترجمه ها Updating our resources to use translations

  • در حال به روز رسانی منابع ما برای استفاده از ترجمه ها Updating our resources to use translations

  • افزودن یک زبان جدید به API ما Adding a new language to our API

  • Flask-Babel چیست؟ What is Flask-Babel?

  • Flask-Babel چیست؟ What is Flask-Babel?

  • مشکلات و توصیه های رایج Common pitfalls and advice

  • نتیجه گیری این بخش Conclusion of this section

مستندات و آزمایشات پستچی Postman documentation and tests

  • معرفی این بخش Introduction to this section

  • مجموعه پستچی برای این بخش Postman collection for this section

  • توضیحات مجموعه و درخواست Collection and request descriptions

  • خلاصه ای از محیط های پستچی Recap of Postman environments

  • اجرای کل مجموعه ها در Postman Running entire collections in Postman

  • پیش نمایش اسناد پستچی ما Previewing our Postman documentation

  • انتشار صفحه مستندات ما Publishing our documentation page

  • گزینه های بیشتر برای انتشار اسناد More options for publishing documentation

  • نتیجه گیری این بخش Conclusion of this section

مستندات و آزمایشات پستچی Postman documentation and tests

  • معرفی این بخش Introduction to this section

  • مجموعه پستچی برای این بخش Postman collection for this section

  • توضیحات مجموعه و درخواست Collection and request descriptions

  • خلاصه ای از محیط های پستچی Recap of Postman environments

  • تست های جاوا اسکریپت در Postman JavaScript tests in Postman

  • تست های جاوا اسکریپت در Postman JavaScript tests in Postman

  • اجرای کل مجموعه ها در Postman Running entire collections in Postman

  • افزودن نمونه درخواست ها و پاسخ ها Adding example requests and responses

  • افزودن نمونه درخواست ها و پاسخ ها Adding example requests and responses

  • پیش نمایش اسناد پستچی ما Previewing our Postman documentation

  • انتشار صفحه مستندات ما Publishing our documentation page

  • گزینه های بیشتر برای انتشار اسناد More options for publishing documentation

  • نتیجه گیری این بخش Conclusion of this section

آپلود تصاویر Image uploads

  • معرفی این بخش Introduction to this section

  • مجموعه پستچی برای این بخش Postman collection for this section

  • ایجاد کتابخانه کمکی تصویر ما Creating our image helper library

  • ایجاد منبع آپلود تصویر ما Creating our image upload resource

  • بارگذاری تصویر ما را امتحان می کنیم Trying out our image upload

  • نتیجه گیری این بخش Conclusion of this section

آپلود تصاویر Image uploads

  • نصب Flask-Uploads Installing Flask-Uploads

  • نصب Flask-Uploads Installing Flask-Uploads

  • فایل های پیکربندی در Flask Config files in Flask

  • فایل های پیکربندی در Flask Config files in Flask

  • wsgi و Werkzeug چیست؟ What are wsgi and Werkzeug?

  • wsgi و Werkzeug چیست؟ What are wsgi and Werkzeug?

  • ایجاد کتابخانه کمکی تصویر ما Creating our image helper library

  • ایجاد طرحواره تصویر ما Creating our image schema

  • ایجاد طرحواره تصویر ما Creating our image schema

  • ایجاد منبع آپلود تصویر ما Creating our image upload resource

  • بارگذاری تصویر ما را امتحان می کنیم Trying out our image upload

  • بازیابی و حذف تصاویر Retrieving and deleting images

  • بازیابی و حذف تصاویر Retrieving and deleting images

  • مثال دیگر: آواتارهای کاربر Another example: user avatars

  • مثال دیگر: آواتارهای کاربر Another example: user avatars

  • افزودن منبع آواتار Adding the avatar resource

  • افزودن منبع آواتار Adding the avatar resource

  • نتیجه گیری این بخش Conclusion of this section

مهاجرت های پایگاه داده Database migrations

  • معرفی این بخش Introduction to this section

  • کد شروع ما چیست؟ What's in our starter code?

  • مجموعه پستچی برای این بخش Postman collection for this section

  • اتصال به پایگاه داده راه دور ما Connecting to our remote database

  • بررسی اسکریپت Alembic (مهم!) Checking the Alembic script (important!)

  • چه زمانی باید اسناد را بخوانید؟ When should you read documentation?

  • نتیجه گیری این بخش Conclusion of this section

مهاجرت های پایگاه داده Database migrations

  • معرفی این بخش Introduction to this section

  • دریافت پایگاه داده PostgreSQL Getting a PostgreSQL database

  • دریافت پایگاه داده PostgreSQL Getting a PostgreSQL database

  • مجموعه پستچی برای این بخش Postman collection for this section

  • اتصال به پایگاه داده راه دور ما Connecting to our remote database

  • راه اندازی Flask-Migrate و Alembic Initialising Flask-Migrate and Alembic

  • راه اندازی Flask-Migrate و Alembic Initialising Flask-Migrate and Alembic

  • ایجاد ساختار جدول اولیه ما Creating our initial table structure

  • ایجاد ساختار جدول اولیه ما Creating our initial table structure

  • اولین مهاجرت پایگاه داده ما Our first database migration

  • اولین مهاجرت پایگاه داده ما Our first database migration

  • بررسی اسکریپت Alembic (مهم!) Checking the Alembic script (important!)

  • اضافه کردن یک ستون جدید با مهاجرت Adding a new column with migrations

  • اضافه کردن یک ستون جدید با مهاجرت Adding a new column with migrations

  • مشکلاتی که ممکن است در هنگام مهاجرت رخ دهد Problems that can happen while migrating

  • مشکلاتی که ممکن است در هنگام مهاجرت رخ دهد Problems that can happen while migrating

  • یک کلمه احتیاط! A word of caution!

  • یک کلمه احتیاط! A word of caution!

  • تعریف یک قرارداد نامگذاری SQLAlchemy Defining a SQLAlchemy naming convention

  • تعریف یک قرارداد نامگذاری SQLAlchemy Defining a SQLAlchemy naming convention

  • چه زمانی باید اسناد را بخوانید؟ When should you read documentation?

  • نتیجه گیری این بخش Conclusion of this section

ورود شخص ثالث با OAuth Third party login with OAuth

  • مقدمه ای بر این سخنرانی Introduction to this lecture

  • مقدمه ای بر OAuth 2.0 Introduction to OAuth 2.0

  • کد شروع ما چیست؟ What's in our starter code?

  • مجموعه پستچی برای این بخش Postman collection for this section

  • ایجاد یک برنامه GitHub OAuth Creating a GitHub OAuth App

  • Flask's g چیست؟ What is Flask's g?

  • Tokengetter چیست؟ What is a tokengetter?

  • اضافه کردن برخی از رسیدگی به خطا Adding some error handling

  • تنظیم رمز عبور کاربران Setting user passwords

  • مهاجرت از Flask-OAuthlib به Authlib Migrating from Flask-OAuthlib to Authlib

  • نتیجه گیری این بخش Conclusion of this section

ورود شخص ثالث با OAuth Third party login with OAuth

  • مقدمه ای بر این سخنرانی Introduction to this lecture

  • مقدمه ای بر OAuth 2.0 Introduction to OAuth 2.0

  • کد شروع ما چیست؟ What's in our starter code?

  • کد شروع ما چیست؟ What's in our starter code?

  • مجموعه پستچی برای این بخش Postman collection for this section

  • مجموعه پستچی برای این بخش Postman collection for this section

  • ایجاد یک برنامه GitHub OAuth Creating a GitHub OAuth App

  • Flask-OAuthlib Flask-OAuthlib

  • Flask-OAuthlib Flask-OAuthlib

  • در حال راه اندازی سرویس گیرنده GitHub ما Setting up our GitHub client

  • در حال راه اندازی سرویس گیرنده GitHub ما Setting up our GitHub client

  • منبع GithubLogin ما Our GithubLogin resource

  • منبع GithubLogin ما Our GithubLogin resource

  • Flask's g چیست؟ What is Flask's g?

  • Tokengetter چیست؟ What is a tokengetter?

  • در حال تکمیل منبع GithubAuthorize ما Finishing our GithubAuthorize resource

  • در حال تکمیل منبع GithubAuthorize ما Finishing our GithubAuthorize resource

  • اضافه کردن برخی از رسیدگی به خطا Adding some error handling

  • تنظیم رمز عبور کاربران Setting user passwords

  • استفاده از url_for با Flask-RESTful Using url_for with Flask-RESTful

  • استفاده از url_for با Flask-RESTful Using url_for with Flask-RESTful

  • مهاجرت از Flask-OAuthlib به Authlib Migrating from Flask-OAuthlib to Authlib

  • نتیجه گیری این بخش Conclusion of this section

  • نتیجه گیری این بخش Conclusion of this section

پرداخت با Stripe Payments with Stripe

  • معرفی این بخش Introduction to this section

  • راه اندازی حساب Stripe ما Setting up our Stripe account

  • کد شروع ما چیست؟ What's in our starter code?

  • مجموعه پستچی برای این بخش Postman collection for this section

  • کاربران از کجا پرداخت می کنند؟ Where do users pay?

  • ایجاد OrderModel ما Creating our OrderModel

  • استفاده از شیء انجمن در منبع ما Using the Association Object in our Resourcee

  • محاسبه مقدار و توضیحات Calculating the amount and description

  • تست منبع سفارش ما Testing our OrderResource

  • ایجاد راهی برای مشاهده سفارشات موجود Creating a way to view existing orders

  • وقتی همه چیز اشتباه می شود: مدیریت خطا در Stripe When things go wrong: error handling in Stripe

پرداخت با Stripe Payments with Stripe

  • معرفی این بخش Introduction to this section

  • معرفی این بخش Introduction to this section

  • راه اندازی حساب Stripe ما Setting up our Stripe account

  • کد شروع ما چیست؟ What's in our starter code?

  • مجموعه پستچی برای این بخش Postman collection for this section

  • کاربران از کجا پرداخت می کنند؟ Where do users pay?

  • پس از پرداخت: دریافت اطلاعات سفارش After payment: receiving order data

  • پس از پرداخت: دریافت اطلاعات سفارش After payment: receiving order data

  • ایجاد OrderModel ما Creating our OrderModel

  • روابط بسیار به چند با SQLAlchemy Many-to-many relationships with SQLAlchemy

  • روابط بسیار به چند با SQLAlchemy Many-to-many relationships with SQLAlchemy

  • استفاده از شیء انجمن در منبع ما Using the Association Object in our Resourcee

  • شارژ سفارشات با Stripe Charging orders with Stripe

  • شارژ سفارشات با Stripe Charging orders with Stripe

  • محاسبه مقدار و توضیحات Calculating the amount and description

  • تست منبع سفارش ما Testing our OrderResource

  • ایجاد راهی برای مشاهده سفارشات موجود Creating a way to view existing orders

  • وقتی همه چیز اشتباه می شود: مدیریت خطا در Stripe When things go wrong: error handling in Stripe

  • ملاحظات امنیتی در پرداخت ها Security considerations in payments

  • ملاحظات امنیتی در پرداخت ها Security considerations in payments

  • نتیجه گیری این بخش Conclusion of this section

بخش پاداش Bonus section

  • سخنرانی پاداش: دوره های دیگر و مراحل بعدی Bonus lecture: other courses and next steps

بخش پاداش Bonus section

  • نتیجه گیری دوره Conclusion of the course

  • نتیجه گیری دوره Conclusion of the course

  • سخنرانی پاداش: دوره های دیگر و مراحل بعدی Bonus lecture: other courses and next steps

نمایش نظرات

آموزش API های REST پیشرفته با Flask و Python
جزییات دوره
12.5 hours
135
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
16,202
4.2 از 5
دارد
دارد
دارد
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Jose Salvatierra Jose Salvatierra

بنیانگذار Teclado و مهندس نرم افزار

Teclado by Jose Salvatierra Teclado by Jose Salvatierra

توسعه نرم افزار برای همه