آموزش جامع 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

نمایش نظرات

آموزش جامع REST API با Flask و پایتون در سال 2024
جزییات دوره
14h 36m
115
(آخرین آپدیت)
1,036
- از 5
دارد
دارد
دارد
Chris Croft
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Chris Croft Chris Croft

مربی مدیریت، سخنران، نویسنده