لطفا جهت اطلاع از آخرین دوره ها و اخبار سایت در
کانال تلگرام
عضو شوید.
آموزش جامع REST API با Flask و پایتون در سال 2024
- آخرین آپدیت
دانلود REST APIs with Flask and Python in 2024
نکته:
ممکن هست محتوای این صفحه بروز نباشد ولی دانلود دوره آخرین آپدیت می باشد.
نمونه ویدیوها:
توضیحات دوره:
این دوره دارای قابلیت Coursera Coach است؛ روشی هوشمندتر برای یادگیری از طریق گفتگوهای تعاملی و لحظهای که به شما کمک میکند دانش خود را بیازمایید، پیشفرضها را به چالش بکشید و در حین پیشروی در دوره، درک خود را عمیقتر کنید.
در این دوره جامع، شما هنر ساخت REST APIها را با استفاده از Flask و پایتون به طور کامل خواهید آموخت. ابتدا با مرور مفاهیم بنیادی پایتون، از جمله ساختارهای داده، توابع و برنامهنویسی شیگرا شروع میکنید. با این پیشزمینه، به سرعت وارد دنیای Flask شده و نحوه ایجاد نقاط اتصال (Endpoints) در REST API، مدیریت دادهها و کار با پایگاه دادهها با استفاده از SQLAlchemy را یاد میگیرید.
در ادامه، تکنیکهای پیشرفتهای مانند کانتینریسازی با Docker، تست API با ابزار Insomnia و ایمنسازی APIها با احراز هویت JWT را کشف خواهید کرد. این دوره همچنین شامل پروژههای عملی است، مانند ساخت یک REST API کاملاً کاربردی که به پایگاه داده PostgreSQL متصل شده و برای استفاده واقعی روی Render.com مستقر (Deploy) میشود.
این دوره برای توسعهدهندگان پایتون که به دنبال گسترش مهارتهای خود در توسعه وب هستند ایدهآل است و همه موارد، از تنظیمات ساده API تا ویژگیهای پیشرفته مانند صفهای پردازش در پسزمینه (Background Task Queues) و اعلانهای ایمیلی را پوشش میدهد. در پایان این دوره، شما قادر خواهید بود با اعتماد به نفس کامل، REST APIهای مدرن را با Flask بسازید، مستقر کنید و آنها را با ابزارهای استاندارد صنعت مدیریت نمایید.
سرفصل ها و درس ها
خوشآمدگویی
Welcome
معرفی دوره
Promotion
مرور جامع مفاهیم پایتون
A Full Python Refresher
مقدمه این بخش
Introduction to this section
متغیرها در پایتون
Variables in Python
پاسخ تمرین کدنویسی: متغیرها
Solution to coding exercise: Variables
فرمتبندی رشتهها در پایتون
String formatting in Python
دریافت ورودی از کاربر
Getting user input
نوشتن اولین برنامه پایتون
Writing our first Python app
لیستها، تاپلها و مجموعهها
Lists, tuples, and sets
عملیات پیشرفته روی مجموعهها
Advanced set operations
پاسخ تمرین کدنویسی: لیستها، تاپلها و مجموعهها
Solution to coding exercise: Lists, tuples, sets
مقادیر بولی در پایتون
Booleans in Python
دستورات شرطی If
If statements
کلمه کلیدی in در پایتون
The 'in' keyword in Python
دستورات If همراه با کلمه کلیدی in
If statements with the 'in' keyword
حلقهها در پایتون
Loops in Python
پاسخ تمرین کدنویسی: کنترل جریان
Solution to coding exercise: Flow control
لیستهای جامع (List Comprehensions) در پایتون
List comprehensions in Python
دیکشنریها
Dictionaries
ساختارشکنی متغیرها
Destructuring variables
توابع در پایتون
Functions in Python
آرگومانها و پارامترهای توابع
Function arguments and parameters
مقادیر پیشفرض پارامترها
Default parameter values
توابعی که مقدار بازمیگردانند
Functions Returning Values
پاسخ تمرین کدنویسی: توابع
Solution to Coding Exercise: Functions
توابع لامبدا (Lambda) در پایتون
Lambda Functions in Python
دیکشنریهای جامع (Dictionary Comprehensions)
Dictionary Comprehensions
پاسخ تمرین کدنویسی: دیکشنریها و دانشجویان
Solution to Coding Exercise: Dictionaries and Students
باز کردن آرگومانها (Unpacking Arguments)
Unpacking Arguments
باز کردن آرگومانهای کلیدواژه
Unpacking Keyword Arguments
برنامهنویسی شیگرا در پایتون
Object-Oriented Programming in Python
متدهای جادویی: str__ و repr__
Magic Methods: ..str.. and ..repr..
پاسخ تمرین کدنویسی: کلاسها و اشیاء
Solution to Coding Exercise: Classes and Objects
استفاده از classmethod@ و staticmethod@
@classmethod and @staticmethod
پاسخ تمرین کدنویسی: classmethod@ و staticmethod@
Solution to Coding Exercise: @classmethod and @staticmethod
وراثت در کلاسها
Class Inheritance
ترکیب کلاسها (Composition)
Class Composition
اشارهگذاری نوع (Type Hinting) در پایتون 3.5 به بالا
Type Hinting in Python 3.5+
وارد کردن ماژولها (Imports) در پایتون
Imports in Python
وارد کردن نسبی (Relative Imports) در پایتون
Relative Imports in Python
مدیریت خطاها در پایتون
Errors in Python
کلاسهای خطای سفارشی
Custom Error Classes
توابع درجه اول (First Class Functions)
First-Class Functions
دکوراتورهای ساده در پایتون
Simple Decorators in Python
سینتکس at@ برای دکوراتورها
The "at" Syntax for Decorators
دکوراتور برای توابع دارای پارامتر
Decorating Functions with Parameters
دکوراتورهای دارای پارامتر
Decorators with Parameters
تغییرپذیری (Mutability) در پایتون
Mutability in Python
پارامترهای پیشفرض تغییرپذیر (و چرا ایده بدی هستند)
Mutable Default Parameters (and Why They Are a Bad Idea)
اولین REST API شما
Your first REST API
مرور کلی پروژهای که خواهیم ساخت
Overview of the project we'll build
تنظیمات اولیه برای برنامه Flask
Initial set-up for a Flask app
اولین نقطه اتصال (Endpoint) در REST API
Your first REST API endpoint
JSON چیست؟
What is JSON?
نحوه تعامل و تست REST API
How to interact with and test your REST API
نحوه ایجاد فروشگاهها در REST API
How to create stores in our REST API
نحوه ایجاد آیتمها در هر فروشگاه
How to create items in each store
نحوه دریافت یک فروشگاه خاص و آیتمهای آن
How to get a specific store and its items
آشنایی با داکر (Docker)
Introduction to Docker
کانتینرها و ایمیجهای داکر چیستند؟
What are Docker containers and images?
نحوه اجرای برنامه Flask در کانتینر داکر
How to run a Flask app in a Docker container
نحوه اجرای Flask REST API با Docker Compose
How to run the Flask REST API with Docker Compose
استفاده از Flask Smorest برای توسعه بهینه
Flask-Smorest for more efficient development
بهبود مدل دادهها برای API
Data model improvements for our API
بهبودهای کلی در اولین REST API
General improvements to our first REST API
نقاط اتصال جدید برای REST API
New endpoints for our first REST API
نحوه اجرای API در داکر با قابلیت Reload خودکار و حالت Debug
How to run the API in Docker with automatic reloading and debug mode
نحوه استفاده از Blueprints و MethodViews در Flask
How to use Blueprints and MethodViews in Flask
نحوه نوشتن اسکیماهای Marshmallow برای API
How to write marshmallow schemas for our API
نحوه اعتبارسنجی دادهها با Marshmallow
How to perform data validation with marshmallow
دکوراسیون پاسخها با Flask Smorest
Decorating responses with Flask-Smorest
ذخیره دادهها در پایگاه داده SQL با SQLAlchemy
Store data in a SQL database with SQLAlchemy
مرور کلی و دلیل استفاده از SQLAlchemy
Overview and why use SQLAlchemy
نحوه کدنویسی یک مدل ساده SQLAlchemy
How to code a simple SQLAlchemy model
نحوه تعریف روابط یک-به-چند در SQLAlchemy
How to write one-to-many relationships using SQLAlchemy
نحوه پیکربندی Flask SQLAlchemy با برنامه شما
How to configure Flask-SQLAlchemy with your Flask app
نحوه درج دادهها در جدول با SQLAlchemy
How to insert data into a table using SQLAlchemy
نحوه یافتن مدلها در دیتابیس بر اساس ID یا بازگرداندن خطای 404
How to find models in the database by ID or return a 404
نحوه بهروزرسانی مدلها با SQLAlchemy
How to update models with SQLAlchemy
نحوه بازیابی لیست تمامی مدلها
How to retrieve list of all models
نحوه حذف مدلها با SQLAlchemy
How to delete models with SQLAlchemy
حذف مدلهای مرتبط با استفاده از Cascades
Deleting related models with cascades
جمعبندی این بخش
Conclusion of this section
روابط چند-به-چند با SQLAlchemy
Many-to-many relationships with SQLAlchemy
تغییرات در این بخش
Changes in this section
رابطه یک-به-چند بین فروشگاهها و تگها
One-to-many relationship between stores and tags
رابطه چند-به-چند بین آیتمها و تگها
Many-to-many relationship between items and tags
احراز هویت کاربران با Flask JWT Extended
User authentication with Flask-JWT-Extended
چه کسانی از JWT استفاده میکنند؟
Who uses the JWT?
نحوه راهاندازی Flask JWT Extended در برنامه
How to set up Flask-JWT-Extended with our app
کدنویسی مدل کاربر و اسکیما
Coding the User model and schema
نحوه افزودن نقطه اتصال ثبتنام (Register) به REST API
How to add a register endpoint to the REST API
نحوه افزودن نقطه اتصال ورود (Login) به REST API
How to add a login endpoint to the REST API
محافظت از نقاط اتصال با الزام JWT
Protect endpoints by requiring a JWT
ادعاهای JWT (Claims) و مجوزها
JWT claims and authorization
نحوه افزودن خروج (Logout) به REST API
How to add logout to the REST API
زنجیرهسازی درخواستها با Insomnia
Request chaining with Insomnia
نوسازی توکن (Token Refreshing) با Flask JWT Extended
Token refreshing with Flask-JWT-Extended
مهاجرت پایگاه داده با Alembic و Flask Migrate
Database migrations with Alembic and Flask-Migrate
نحوه افزودن Flask Migrate به برنامه
How to add Flask-Migrate to our Flask app
مقداردهی اولیه دیتابیس با Flask Migrate
Initialize your database with Flask-Migrate
تغییر مدلهای SQLAlchemy و تولید مهاجرت (Migration)
Change SQLAlchemy models and generate a migration
بررسی و اصلاح دستی مهاجرتهای دیتابیس
Manually review and modify database migrations
دوره فشرده گیت (Git)
Git Crash Course
مخازن گیت (Repositories) و کامیتها چیستند؟
What are Git repositories and commits?
راهاندازی مخزن گیت برای پروژه
Initialize a Git repository for our project
نوشتن Markdown برای مستندات و کامیتها
Writing Markdown for documents and commits
مخازن راه دور و نحوه استفاده از آنها
Remote repositories and how to use them
شاخههای گیت (Branches) و ادغام (Merging)
Git branches and merging
تداخلات ادغام (Merge Conflicts) و نحوه حل آنها
Merge conflicts and how to resolve them
مرور کلی فصلهای کتاب الکترونیکی نهایی
Overview of the final e-book chapters
استقرار پروژه با Render.com
Deployments with Render.com
ایجاد سرویس وب در Render.com
Creating a Render.com web service
نحوه اجرای Flask با gunicorn در داکر
How to run Flask with gunicorn in Docker
دریافت دیتابیس PostgreSQL مستقر شده
Get a deployed PostgreSQL database
اجرای برنامه و دیتابیس به صورت محلی با Docker Compose
Run the app and database locally with Docker Compose
استفاده از PostgreSQL در محیط محلی و عملیاتی
Use PostgreSQL locally and in production
تست برنامه نهایی در محیط عملیاتی
Test the finished production app
صفهای وظایف با rq و ارسال ایمیل
Task Queues with rq and sending emails
نحوه ارسال ایمیل با پایتون و Mailgun
How to send emails with Python and Mailgun
نحوه ارسال ایمیل هنگام ثبتنام کاربران
How to send emails when users register
صف وظایف چیست و راهاندازی دیتابیس Redis
What is a task queue and setting up a Redis database
نحوه پر کردن و مصرف صف وظایف با rq
How to Populate and consume the task queue with rq
نحوه پردازش وظایف پسزمینه با rq worker
How to process background tasks with the rq worker
نحوه ارسال ایمیلهای HTML با Mailgun و پایتون
How to send HTML emails using Mailgun and Python
نحوه استقرار worker پسزمینه در render.com
How to deploy a background worker to render.com
نمایش نظرات