آموزش ساخت API های GraphQL با پایتون: از مبتدی تا حرفه ای

Building GraphQL APIs with Python: Beginner To Pro

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره: یاد بگیرید چگونه API های GraphQL را در پایتون بسازید - به علاوه SQLAlchemy ORM، جریان های تأیید اعتبار JWTs، استقرار و موارد دیگر! با ساختن برنامه‌های پایتون در دنیای واقعی GraphQL را بیاموزید و به آن تسلط پیدا کنید. نحوه استقرار برنامه‌های پایتون GraphQL خود را بیاموزید. مفاهیم در توسعه برنامه پایتون مدرن

به بهترین منبع آنلاین برای استفاده از GraphQL با پایتون خوش آمدید!

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

امروزه GraphQL توسط تیم‌هایی با اندازه‌های مختلف در محیط‌ها و زبان‌های مختلف برای تقویت برنامه‌های تلفن همراه، وب‌سایت‌ها و APIها استفاده می‌شود. از Airbnb و Atlassian گرفته تا آئودی و GitHub، شرکت‌هایی در سراسر جهان از APIهای GraphQL در تولید استفاده می‌کنند. GraphQL در سال‌های اخیر جذابیت قابل توجهی به دست آورده است، زیرا رویکردی انعطاف‌پذیرتر و کارآمدتر برای بازیابی داده ارائه می‌کند که به مسائل مربوط به واکشی بیش از حد و کم واکشی که در APIهای REST رایج است، می‌پردازد.

این دوره برای کسانی است که به دنبال یادگیری GraphQL با پایتون هستند. این طراحی شده است تا هر آنچه را که برای ساختن APIهای GraphQL آماده تولید با پایتون نیاز دارید، به شما آموزش دهد.

در 2 ساعت اول، اصول اولیه GraphQL، نحوه ساخت یک سرور GraphQL با پایتون، و نحوه نمایش یک وب API برای تعامل با آن را خواهید آموخت.

این مقدمه پایه محکمی از مفاهیم اصلی GraphQL مانند طرح‌واره‌ها، انواع، کوئری‌ها، جهش‌ها، متغیرها، قطعات، دستورالعمل‌ها و موارد دیگر به شما می‌دهد. ما با یک GraphQL API زنده کار خواهیم کرد، زیرا این مفاهیم را از طریق یک IDE گرافیکی درون مرورگر، ساخت پرس‌و‌جوها و جهش‌ها، و کاوش مجموعه‌های نتایج در زمان واقعی بررسی می‌کنیم.

در بخش دوم دوره، ما به موضوعات پیشرفته‌تر می‌پردازیم، زیرا برنامه‌های GraphQL خود را با پایگاه‌های داده SQL میزبانی شده در فضای ابری ادغام می‌کنیم، و در این فرآیند همچنین به درک عملی از SQLAlchemy ORM بسیار محبوب می‌رسیم. قبل از اینکه توجه خود را به جریان‌های احراز هویت و مجوز معطوف کنیم، جهش‌های پیشرفته و قابلیت‌های جستجو را تعریف می‌کنیم، جایی که از نشانه‌های وب JSON برای پیاده‌سازی یک سیستم مجوز مبتنی بر نقش استفاده می‌کنیم. در پایان ما برنامه خود را به عنوان یک عملکرد بدون سرور به صورت رایگان در فضای ابری مستقر خواهیم کرد.


در طول دوره یاد خواهید گرفت که چگونه:


  • داده های برنامه خود را با استفاده از طرحواره ها و موجودیت ها مدل کنید

  • پرس و جوهایی ایجاد کنید که به مشتریان امکان می دهد از طریق GraphQL به داده ها در پایگاه داده دسترسی داشته باشند

  • ایجاد جهش هایی که به مشتریان اجازه می دهد داده ها را در پایگاه داده ایجاد و تغییر دهند

  • با درخواست با IDEهای گرافیکی درون مرورگر، داده های خود را از مرورگر جستجو و تغییر دهید

  • برای برقراری ارتباط با پایگاه داده خود با SQLAlchemy ORM (v2) کار کنید

  • داده های برنامه خود را با سیستم احراز هویت و مجوز مبتنی بر JWT ایمن کنید

  • برنامه های GraphQL خود را به صورت رایگان به عنوان توابع بدون سرور اجرا کنید


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

من هیجان زده هستم که مربی شما هستم. می بینمت داخل!


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

یک مقدمه بسیار کوتاه A Very Short Introduction

  • GraphQL در 5 دقیقه GraphQL In 5 Mins

  • قبل از اینکه شروع کنی Before You Begin

پرس و جو از API GraphQL Querying A GraphQL API

  • معرفی Introduction

  • اولین پرس و جو GraphQL First GraphQL Query

  • برخی از ویژگی های GraphiQL Some GraphiQL Features

  • مجموعه های انتخاب Selection Sets

  • استدلال ها Arguments

  • متغیرها Variables

  • قطعات Fragments

  • بخشنامه ها Directives

  • چالش Challenge

  • راه حل Solution

راه اندازی یک سرور GraphQL با پایتون Setting Up A GraphQL Server With Python

  • معرفی Introduction

  • تصمیمات طراحی Design Decisions

  • کد-اول با گرافن Code-First With Graphene

  • راه اندازی Setting Up

  • سلام دنیا! Hello, World!

  • انواع و زمینه ها Types And Fields

  • ارزش های ریشه ای Root Values

  • لیست نوع فیلد و حل کننده List-Type Field And Resolver

  • جهش ها Mutations

  • عجیب بود! That Was Odd!

  • به روز رسانی ها Updates

  • چالش Challenge

  • راه حل Solution

ساخت GraphQL API Building A GraphQL API

  • معرفی Introduction

  • راه اندازی Setting Up

  • ستون فقرات API The API Backbone

  • POST-ing از طریق سرویس گیرنده HTTP POST-ing Via HTTP Client

  • افشای یک رابط گرافیکی Exposing A Graphical Interface

  • برخی از نهادها Some Entities

  • تعریف کلاس پرس و جو Defining A Query Class

  • حل‌کننده‌های سطح میدان Field-Level Resolvers

  • امتحان Quiz

ادغام GraphQL با پایگاه داده GraphQL Integration With Databases

  • معرفی Introduction

  • SQLAlchemy SQLAlchemy

  • توجه: یک ارائه دهنده جایگزین Note: An Alternative Provider

  • ایجاد یک پایگاه داده Postgres رایگان مبتنی بر ابر Creating A Free Cloud-Based Postgres Database

  • موتورها و اتصالات Engines And Connections

  • جداول و فراداده Tables And Metadata

  • روابط Relationships

  • جلسات Sessions

  • ایجاد مجدد طرحواره در راه اندازی Recreate Schema On Startup

  • سازمان کد Code Organization

  • سازمان کد II Code Organization II

  • اجرای کوئری ها Executing Queries

  • چالش Challenge

  • راه حل Solution

جهش های پارامتری Parameterized Mutations

  • معرفی Introduction

  • اضافه کردن مشاغل جدید Adding New Jobs

  • به روز رسانی یک کار موجود Updating An Existing Job

  • SQLAlchemy ORM Global Joined Load SQLAlchemy ORM Global Joined Load

  • دریافت شغل با شناسه Get Job By Id

  • حذف با SQLAlchemy Deleting With SQLAlchemy

  • کارفرمایان جدید New Employers

  • سازمان کد Code Organization

  • چالش - کارفرما با شناسه Challenge - Employer By Id

  • راه حل Solution

  • چالش - به روز رسانی کارفرما Challenge - Update Employer

  • راه حل Solution

  • چالش - کارفرما را حذف کنید Challenge - Delete Employer

  • راه حل Solution

  • نهاد کاربر The User Entity

  • چالش - برنامه های شغلی Challenge - Job Applications

  • راه حل Solution

  • درخواست برنامه ها از کاربران و مشاغل Querying Applications From Users And Jobs

پیاده‌سازی گردش‌های کاری Auth مبتنی بر JWT Implementing JWT-Based Auth Workflows

  • معرفی Introduction

  • احراز هویت در مقابل مجوز Authentication vs Authorization

  • ورود کاربر User Login

  • هش کردن رمز عبور Password Hashing

  • ادغام آرگون2 Integrating Argon2

  • JSON Web Tokens JSON Web Tokens

  • ایجاد توکن در هنگام ورود Generating Tokens On Login

  • Refactoring به utils.py Refactoring To utils.py

  • راهنما get_authd_user The get_authd_user Helper

  • رفع اشکال واردات دایره ای Circular Import Fix

  • چالش - ثبت نام کاربر Challenge - User Registration

  • راه حل Solution

  • چالش - امتیازات مدیر Challenge - Administrator Privileges

  • راه حل Solution

  • تزئین @admin_user Decorating @admin_user

  • تزیین جهش های شغلی و کارفرما Decorating Job And Employer Mutations

  • چالش - جهش ApplyToJob Challenge - ApplyToJob Mutation

  • راه حل Solution

  • چالش - کاربر وارد شده Challenge - Logged In User

  • راه حل Solution

  • چالش - به عنوان وارد شده است Challenge - Logged In As

  • راه حل Solution

  • اضافی - تعمیم پیام های خطا Extra - Generalizing Error Messages

استقرار GraphQL Python API Deploying GraphQL Python APIs

  • معرفی Introduction

  • فایل های کاربردی Application Files

  • گزینه های ابری Cloud Options

  • Refactoring تنظیمات ما Refactoring Our Config

  • رفع سریع اشکال Quick Bug Fix

  • Refactor کمی Slight Refactor

  • Git Ignore Git Ignore

  • ایجاد مخزن Git Creating The Git Repository

  • در حال آپلود در GitHub Uploading To GitHub

  • گسترش Deployment

  • تعهدات جدید New Commits

  • متشکرم! Thank You!

ضمیمه A - دوره برنامه نویسی پایتون از کار افتاده Appendix A - Python Programming Crash Course

  • بخش منابع Section Resources

  • انواع داده ها Data Types

  • متغیرها Variables

  • عملگرهای محاسباتی و تخصیص افزوده Arithmetic And Augmented Assignment Operators

  • Ints و Floats Ints And Floats

  • عملگرهای بولین و مقایسه Booleans And Comparison Operators

  • رشته های Strings

  • مواد و روش ها Methods

  • ظروف I - لیست ها Containers I - Lists

  • لیست ها در مقابل رشته ها Lists vs Strings

  • فهرست روش ها و توابع List Methods And Functions

  • ظروف II - تاپل Containers II - Tuples

  • ظروف III - مجموعه Containers III - Sets

  • ظروف چهارم - دیکشنری ها Containers IV - Dictionaries

  • کلیدهای فرهنگ لغت و مقادیر Dictionary Keys And Values

  • اپراتورهای عضویت Membership Operators

  • کنترل جریان - if، else، و elif Controlling Flow - if, else, And elif

  • ارزش حقیقت غیر بولی ها Truth Value Of Non-Booleans

  • برای حلقه ها For Loops

  • توالی تغییرناپذیر range(). The range() Immutable Sequence

  • در حالی که حلقه ها While Loops

  • شکستن و ادامه Break And Continue

  • زیپ کردن Iterables Zipping Iterables

  • فهرست درک List Comprehensions

  • تعریف توابع Defining Functions

  • آرگومان های تابع - موقعیت در مقابل کلمه کلیدی Function Arguments - Positional vs Keyword

  • لامبدا Lambdas

  • وارد کردن ماژول ها Importing Modules

نمایش نظرات

آموزش ساخت API های GraphQL با پایتون: از مبتدی تا حرفه ای
جزییات دوره
12 hours
128
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
490
4.7 از 5
دارد
دارد
دارد
Andy Bek
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Andy Bek Andy Bek

مشاور نرم افزار