آموزش Pydantic: اعتبار سنجی پیشرفته داده در پایتون

Learning Pydantic: Advanced Data Validation In Python

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره: راهنمای کامل Pydantic شامل پروژه کامل Capstone با FastAPI و Redis به دست آوردن درک عمیقی از چیستی Pydantic و نحوه استفاده از آن تمرین تعریف مدل‌های داده Pydantic با استفاده از راهنمایی‌های نوع مدرن، اعتبارسنجی سفارشی و پیکربندی دقیق یاد بگیرید چگونه مدل‌های داده پیچیده، وابسته و تودرتو را با نمونه‌های مدل Pydantic Serialize در JSON تعریف کنید و داده‌های ورودی را غیرسریال کنید. کنترل نسخه پیش نیازها: برخی از تجربیات اولیه با پایتون کمک می کند اما لازم نیست مقدمه کامل پایتون به عنوان یک ضمیمه اختیاری گنجانده شده است. تمایل عمومی برای یادگیری تنها پیش نیاز است زیرا همه مفاهیم مرتبط به هنگام استفاده توضیح داده می شوند.

به بهترین منبع آنلاین برای یادگیری مدرن Pydantic خوش آمدید، یک کتابخانه اعتبارسنجی داده که جامعه پایتون را طوفانی کرده است.

Pydantic is اولین بار در سال 2018 منتشر شد و از آن زمان به یکی از محبوب ترین کتابخانه های پایتون تبدیل شده است. امروزه بیش از 130 میلیون بار در ماه دانلود می‌شود و توسط برخی از بزرگترین سازمان‌ها، از غول‌های فناوری مانند گوگل، آمازون، اپل، متا، و نتفلیکس گرفته تا شرکت‌های بزرگ در صنایع مختلف دیگر از جمله استفاده می‌شود. استارباکس، جی پی مورگان چیس. اوه، و بله، حتی ناسا.

دلیل خوبی برای این وجود دارد. Pydantic یک کتابخانه قدرتمند است که به زیبایی یک مشکل بسیار رایج در توسعه نرم افزار را حل می کند: اعتبار سنجی داده ها.

سرعت Pydantic، نحو اعلانی ساده و توسعه پذیری آن را به یک ابزار ضروری در توسعه پایتون مدرن تبدیل کرده است.

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

بخش اول دوره صرفاً در مورد pydantic خواهد بود، جایی که ما آن را به صورت جداگانه بررسی می کنیم. یاد خواهید گرفت:


  • نحوه تعریف مدل های داده با pydantic

  • نحوه ایجاد مدل‌های پیچیده‌تر از مدل‌های ساده‌تر از طریق وراثت

  • مبانی نوع اشاره در پایتون، از جمله شمارش‌ها، لفظ‌ها و دیگر انواع پیشرفته -

  • نحوه استفاده از سیستم اعتبارسنجی قدرتمند pydantic

  • نحوه سریال‌سازی و سریال‌زدایی داده‌ها

  • نحوه استخراج مدل ها در طرحواره ها

  • نحوه اعتبارسنجی داده ها در برابر مدل های پیدانتیک


سپس در قسمت دوم دوره، توجه خود را به پروژه Capstone معطوف خواهیم کرد، جایی که از pydantic برای توسعه و استقرار یک API وب پایتون استفاده خواهیم کرد که به کاربران امکان ایجاد نظرسنجی و رای دادن در آن را می دهد. این برنامه از Redis به‌عنوان ذخیره‌سازی داده‌های با ارزش کلیدی بادوام ما استفاده می‌کند و به عنوان یک عملکرد بدون سرور برای تولید مستقر می‌شود.

Capstone گام به گام، در مجموعه ای از حدود 30 چالش مهارتی، که در آن از شما خواسته می شود به صورت تدریجی ویژگی های کوچک را پیاده سازی کنید، توسعه می یابد. این به شما این فرصت را می دهد تا آنچه را که در قسمت اول دوره یاد گرفته اید تمرین کنید و:


  • در مورد نحوه استفاده از Pydantic در برنامه های کاربردی دنیای واقعی احساس عملی داشته باشید

  • در مورد توسعه API مدرن با پایتون

    بیاموزید
  • درک کنید که Redis چیست و چگونه می توان از آن به عنوان یک ذخیره سازی داده بادوام استفاده کرد

  • درباره محیط های مجازی و مدیریت وابستگی در پایتون بیاموزید

  • استفاده از git و github

    را تمرین کنید
  • با استقرار API به عنوان یک عملکرد بدون سرور، اصول محاسبات بدون سرور را بیاموزید

این دوره از آخرین نسخه Pydantic استفاده می کند که از قدرت Rust برای دستیابی به عملکرد سریع و شگفت انگیز استفاده می کند.

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

من بسیار هیجان زده هستم که این را با شما به اشتراک می گذارم و مشتاقانه منتظر دیدار شما در دوره هستم!


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

Pydantic به طور خلاصه Pydantic In A Nutshell

  • منبع درس قسمت 1 Course Resource Part 1

  • مقدمه ای بر Pydantic Introduction To Pydantic

  • اولین مدل پیدانتیک ما Our First Pydantic Model

  • اجبار و انواع سختگیرانه Coercion And Strict Types

  • انواع و محدودیت های بیشتر More Types And Constraints

Hinting Foundations را تایپ کنید Type Hinting Foundations

  • انواع تاریخ و زمان Date And Time Types

  • لیست ها و لیست های تو در تو Lists And Nested Lists

  • دیکشنری ها و کلیدهای تایپ شده Dictionaries And Typed Key-Values

  • مجموعه ها و تاپل ها Sets And Tuples

  • اتحادیه ها Unions

کارخانه ها، Enums، و لوازم دیگر Factories, Enums, And Other Props

  • اختیاری، هر و پیش فرض Optional, Any And Defaults

  • UUID ها و کارخانه های پیش فرض UUIDs And Default Factories

  • ویژگی های تغییرناپذیر Immutable Attributes

  • خواص اضافی Additional Properties

  • شمارش ها Enumerations

  • برای عملکرد بهتر: Literals For Better Performance: Literals

اعتبار سنجی سفارشی Custom Validators

  • سفارشی کردن اعتبارسنجی فیلد Customizing Field Validators

  • اعتبار سنجی سطح مدل Model-Level Validators

  • اضافی: نگاهی دقیق تر به اشیاء خطا Extra: A Closer Look At Error Objects

سریال سازی مدل و سریال زدایی Model Serialization And Deserialization

  • سریال سازی نمونه به دیکت و JSON Instance Serialization To Dict And JSON

  • استثناهای میدانی Field Exclusions

  • طرحواره JSON JSON Schema

  • سریال زدایی Deserialization

پروژه Capstone: ساخت یک API مدرن پایتون با Pydantic، FastAPI و Redis Capstone Project: Building A Modern Python API With Pydantic, FastAPI And Redis

  • منبع درس قسمت 2 Course Resource Part 2

  • نمای کلی Overview

  • ایجاد یک محیط مجازی Creating A Virtual Environment

  • اولین وابستگی های ما Our First Dependencies

  • ساختار دایرکتوری برنامه Application Directory Structure

  • API Hello World API Hello World

  • تعریف اولین مدل نظرسنجی ما Defining Our First Poll Model

  • نظرسنجی ها با متغیرهایی ایجاد می شوند Polls Create With Placeholders

  • نظرسنجی در بدنه درخواست Polls In The Request Body

  • تعریف مدل داده انتخاب Defining The Choice Data Model

  • تقسیم به مدل های خواندن و نوشتن Splitting Into Read And Write Models

  • نظرسنجی در مقابل PollCreate Poll vs PollCreate

  • نظرسنجی ها باید بین 2 تا 5 انتخاب داشته باشند Polls Should Have Between 2 and 5 Choices

  • poll_create با برچسب‌های انتخابی افزایشی poll_create With Incrementing Choice Labels

  • ایجاد نظرسنجی از طریق API Creating Polls Through The API

  • Refactoring به HTTPE Exceptions Refactoring To HTTPExceptions

  • معرفی مفهومی Redis: فروشگاه کلیدی ارزش ما Conceptual Introduction To Redis: Our Key-Value Store

  • راه اندازی یک نمونه Redis Setting Up A Redis Instance

  • اتصال، ذخیره و بازیابی داده ها از Redis Connecting, Saving, And Retrieving Data From Redis

  • Refactoring پارامترهای اتصال به متغیرهای محیطی Refactoring Connection Parameters To Environment Variables

  • تعریف utils.py Defining utils.py

  • ادغام save_poll با POST/polls/create Integrating save_poll With POST /polls/create

  • تعریف و ادغام نظرسنجی GET Defining And Integrating GET Poll

  • سازماندهی مجدد ماژولار با روترهای API Modular Re-organization With API Routers

  • فراداده برنامه Application Metadata

  • تکرار سریع تر با کلاینت های Visual HTTP Faster Iteration With Visual HTTP Clients

  • رای دادن به مدل های داده های Pydantic Voting Pydantic Data Models

  • روتر Votes API The Votes API Router

  • شناسه انتخاب را از برچسب دریافت کنید Get Choice ID From Label

  • ایجاد و بازگشت نمونه های رأی Creating And Returning Vote Instances

  • ذخیره و بازیابی آرا در هش ست های Redis Storing And Retrieving Votes In Redis Hashsets

  • ادغام ذخیره رای با مسیرها Integrating Vote Saving With The Routes

  • رای مضاعف نباید مجاز باشد Double Voting Should Not Be Allowed

  • رای دادن در نظرسنجی های منقضی شده نباید مجاز باشد Voting On Expired Polls Should Not Be Allowed

  • سایر اعتبارسنجی های رأی گیری Other Voting Validations

  • بهینه سازی Get get_choice_id_by_label() Optimizing Get get_choice_id_by_label()

  • وابستگی تزریق اعتبارسنجی Dependency Injecting Common Validations

  • دریافت همه نظرسنجی ها Get All Polls

  • دسته بندی درخواست ها با .mget() Batching Requests With .mget()

  • پارامترسازی دریافت نظرسنجی برای وضعیت نظرسنجی Parameterizing Get Polls For Poll Status

  • پیگیری تعداد آرا با افزایش هش توسط Tracking Vote Counts With Hash Increment By

  • نمایش شمارش آرا Displaying Vote Tallies

  • تعریف مدل‌های داده‌های پیدانتیک نتایج نظرسنجی Defining The Poll Results Pydantic Data Models

  • بازگرداندن نتایج نظرسنجی Returning PollResults

  • حذف داده های نظرسنجی Deleting Poll Data

  • اضافی: کنترل کننده های استثنای سفارشی Extra: Custom Exception Handlers

  • چک لیست استقرار Deployment Checklist

  • Requirements.txt و Build Configuration Requirements.txt And Build Configuration

  • مخزن گیت و .gitignore Git Repository And .gitignore

  • فشار دادن به GitHub Pushing To GitHub

  • استقرار Deployment

ضمیمه 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

  • Containers II: Tuples 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

نمایش نظرات

آموزش Pydantic: اعتبار سنجی پیشرفته داده در پایتون
جزییات دوره
11.5 hours
102
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
470
5 از 5
دارد
دارد
دارد
Andy Bek
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Andy Bek Andy Bek

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