آموزش بدون راهنمای میانبر برای API های Django RESTful با Docker

No Shortcuts Guide to Django RESTful APIs with Docker

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
توضیحات دوره: یک API کاربردی با Docker، Celery، Redis، Flower، Nginx، Nginx Proxy manager، Portainer و موارد دیگر بسازید... نحوه استفاده از Docker با Celery، Redis، Flower با Django REST Framework را یاد خواهید گرفت که چگونه از پروکسی های معکوس استفاده کنید. با NGINX و NGINX Proxy Manager یاد خواهید گرفت که چگونه API را با HTTPS با گواهینامه های SSL از Letsencrypt ایمن کنید. با آزمایش API با Pytest با استفاده از کارخانه ها و فیکسچرها آشنا خواهید شد. یاد خواهید گرفت که چگونه چندین کانتینر Docker را با Portainer مدیریت کنید. نحوه استفاده از پوسته را یاد خواهید گرفت. اسکریپت هایی برای خودکارسازی و نظارت بر فرآیندها در مورد UUID (مزایا و معایب) و چگونگی حل این مشکل توسط کلیدهای اولیه شبه آشنا خواهید شد. شما یاد خواهید گرفت که چگونه وظایف Asynchronous را با Celery و Redis پیاده سازی کنید. نحوه سرویس فایل های استاتیک و رسانه ای با Nginx و Whitenoise را یاد خواهید گرفت. یاد خواهید گرفت که چگونه نظارت بر وظایف ناهمزمان را با Flower پیاده سازی کنید. نحوه کار با Postgres را در ظرف Docker، از جمله نحوه انجام پشتیبان گیری با استفاده از اسکریپت های پوسته یاد خواهید گرفت. شما یاد خواهید گرفت که چگونه یک سرور اوبونتو را راه اندازی کنید و جنگو را روی یک نام دامنه اجرا کنید. شما یاد خواهید گرفت که چگونه از makefiles برای سهولت کار با Docker استفاده کنید. پوشش تست پایتون با استفاده از پوشش ورود به سیستم احراز هویت مبتنی بر توکن جنگو کار با ایمیل ها با استفاده از Mailhog در توسعه و Mailgun در تولید. پیش نیازها: این دوره برای مبتدیان مطلق نیست. این دوره برای توسعه دهندگان پایتون با حداقل 1 سال تجربه توسعه وب یا بیشتر مورد هدف قرار گرفته است. ترجیحاً از رایانه ای با هر سیستم عامل مبتنی بر LINUX یا MacOS استفاده کنید. در صورت عدم امکان، یک دستگاه ویندوز نیز کار خواهد کرد، اما من مطالب دوره را با دستگاه ویندوز تست نکرده ام، شما باید با مفاهیم اولیه پیرامون اسکریپت های پوسته، Docker، API و جنگو آشنا باشید.

سلام، به این دوره آموزشی در مورد ساخت یک API آماده تولید و دقیق Django REST خوش آمدید، که بر روی یک سرور وب ارائه شده توسط NGINX، در یک نام دامنه سفارشی اجرا می شود و به طور ایمن از طریق HTTPS با گواهینامه های SSL از Letsencrypt ارائه می شود.

این دوره برای مبتدیان مطلق نیست.

ما با استفاده از ابزارهایی مانند Docker، Celery، Redis، Flower، Nginx، Nginx Proxy manager، Portainer، اسکریپت های پوسته و موارد دیگر به هدف خود خواهیم رسید.

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

مفاهیمی که ما پوشش خواهیم داد عبارتند از:

  • Docker و اجرای چندین کانتینر

  • 2 ایمن سازی API Django REST با HTTPS با استفاده از گواهینامه های SSL

  • REST APIها با Django و Django Rest Framework

  • نماهای مبتنی بر کلاس.

  • اسکریپت پوسته.

  • کارهای ناهمزمان با Celery و Redis

  • نظارت کارهای ناهمزمان با Flower

  • مقدمه ای بر تست API با Pytest با استفاده از کارخانه ها و وسایل.

  • احراز هویت مبتنی بر نشانه

  • کار با ایمیل در توسعه با Mailhog و در تولید با Mailgun

  • پوشش تست پایتون

  • ارائه فایل های استاتیک و رسانه ای با NGINX و whitenoise

  • Makefiles و نحوه آسان‌تر کردن کار با Docker.

همه اینها باید گام به گام پوشش داده شود تا بتوانید از مهارت هایی که در این دوره یاد می گیرید برای ساخت برنامه های کاربردی بزرگتر و بهتر در مقیاس استفاده کنید.

امید من این است که شما ارزش زیادی از این به دست آورید.



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

معرفی Introduction

  • معرفی Introduction

  • الزامات دوره Course Requirements

  • خودت را درگیر چه میکنی.......... What you are getting yourself into............

  • کد منبع پروژه و رسانه های اجتماعی Project Source Code & Social Media

راه اندازی پروژه Project Setup

  • یک دایرکتوری کارآمد و env مجازی ایجاد کنید Create a working Directory and virtual env

  • بسته ها را نصب کنید Install Packages

  • تنظیمات جنگو Django Settings

  • برنامه های جنگو Django Apps

ورود به سیستم جنگو Logging In Django

  • مقدمه ورود در جنگو Intro to Logging in Django

  • راه اندازی ورود به سیستم توسعه Setup Logging in Development

معرفی کوتاه بی خوابی Brief Intro to Insomnia

  • مقدمه ای بر بی خوابی Introduction to Insomnia

جنگو را با داکر پیکربندی کنید Configure Django with Docker

  • پیکربندی Dockerfile Dockerfile Config

  • متغیرهای محیطی و اسکریپت های پوسته Environment Variables and Shell Scripts

  • پیکربندی اسکریپت را شروع کنید Start Script Config

  • پیکربندی Docker Compose Configure Docker Compose

  • پیکربندی docker-compose را اجرا کنید Run docker-compose config

نحوه ایجاد پشتیبان از پایگاه داده Postgres هنگام میزبانی شخصی How to create Postgres database backup when self hosting.

  • اسکریپت های پوسته ثابت ها و پیام ها Constants and messages shell scripts

  • yes_no و اسکریپت های پوسته شمارش معکوس yes_no and countdown shell scripts

  • اسکریپت های پشتیبان ایجاد کنید Create Backup Scripts

  • اسکریپت بازیابی پایگاه داده Database Restore Script

استفاده از Makefiles Using Makefiles

  • نحوه راه اندازی Makefiles How to setup Makefiles

ایجاد یک مدل کاربر سفارشی Creating a Custom User Model

  • مدیر کاربر سفارشی Custom User Manager

  • مدل کاربر سفارشی Custom User Model

  • فرم UserCreationAdmin UserCreationAdmin Form

  • UserAdmin UserAdmin

NGINX NGINX

  • تئوری NGINX به عنوان پروکسی معکوس/متعادل کننده بار (از آن نگذرید) Theory of NGINX as reverse proxy/load balancer (Don’t skip)

  • NGINX default.conf NGINX default.conf

  • NGINX Compose File NGINX Compose File

Celery و Redis را پیکربندی کنید Configure Celery and Redis

  • مقدمه برنامه نویسی همزمان در مقابل ناهمزمان Synchronous Vs Asynchronous Programming Intro

  • کرفس را تنظیم کنید Setup Celery

  • پیکربندی نوشتن Docker (Celery & Redis) Docker compose config(Celery & Redis)

  • اسکریپت های شروع گل و کارگر Flower and worker start scripts

زمان مهر و مدل های پروفایل TimeStamped & Profile Models

  • مدل مشترک TimeStamped TimeStamped Common model

  • مدل پروفایل ها Profiles Model

  • سیگنال ها Signals

احراز هویت، مجوز و JWT Authentication,Authorization & JWT

  • احراز هویت مبتنی بر توکن Token Based Authentication

  • Auth Packages را نصب کنید Install Auth Packages

  • پیکربندی تنظیمات تأیید اعتبار جنگو Django Auth Settings Config

  • سریال سازهای کاربر User Serializers

  • UserDetailsView UserDetailsView

  • تست نقاط پایانی احراز هویت Test Authentication Endpoints

سریال سازها و بازدیدهای نمایه کاربر User Profile Serializers and Views

  • استثناها و رندرهای نمایه profile exceptions and renderers

  • سریال ساز پروفایل Profile Serializer

  • صفحه بندی نمایه و بازدیدها Profile Pagination and Views

  • آدرس‌های اینترنتی نمایه و نقاط پایانی API آزمایشی Profile Urls and Testing API Endpoints

کارکرد مقاله Article Functionality

  • ایجاد مقاله و برنامه رتبه بندی Create Article and Ratings App

  • موتور ReadTime مقاله Article ReadTime Engine

  • مدل مقاله Article Model

  • ارائه دهندگان مقاله، صفحه بندی و مدیریت Article Renderers, Pagination and Admin

  • فیلترها و مجوزهای مقاله Article Filters and Permissions

  • سریال سازهای مقاله Article Serializers

  • مشاهده مقاله و آدرس اینترنتی Article Views and Urls

  • نقاط پایانی API مقاله را آزمایش کنید Test Article API Endpoints

عملکرد رتبه بندی مقاله Article Rating Functionality

  • مدل رتبه بندی و سریال ساز Rating Model & Serializer

  • رتبه‌بندی بازدیدها، میانگین رتبه‌بندی مقاله و آدرس‌های اینترنتی Rating Views,Article Average Ratings & Urls

  • تست مسیرهای API رتبه‌بندی Test Rating API Routes

نشانک گذاری مقاله Article Bookmarking

  • ایجاد مدل نشانک Create Bookmark model

  • نشانک مدیر، سریال سازها و بازدیدها Bookmark Admin, Serializers & Views

  • نشانی‌های اینترنتی و مقاله سریال‌ساز Bookmark urls & Article Serializer

دست زدن (به روشی که مدیوم این کار را انجام می دهد) Claps (The way Medium Does it)

  • Clap Model & Serializer Clap Model & Serializer

  • نماها، نشانی‌های وب و نقاط پایانی را تست کنید Clap Views,Urls and Test endpoints

به کاربران اجازه دهید پاسخ های خود را اضافه کنند Allow users to add their Responses

  • ایجاد برنامه و مدل پاسخ Create Responses App & Model

  • پاسخ ادمین، سریال ساز و نماها Response Admin, Serializer & Views

  • نماهای پاسخ Response Views

  • آدرس های پاسخ و موارد دیگر…. Response urls and more….

جستجوی مقاله با استفاده از ElasticSearch Article Search using ElasticSearch

  • بسته ها را نصب کنید Install Packages

  • Documents File & ArticleElasticSearch Serializer Documents File & ArticleElasticSearch Serializer

  • جستجوی نماها و سیگنال ها Search Views & Signals

  • برنامه‌ها، آدرس‌های اینترنتی و نقاط پایانی API را آزمایش کنید Apps,urls & test API endpoints

کیفیت کد Code Quality

  • یک فایل toml پروژه ایجاد کنید Create a project toml file

مقدمه ای برای تست جنگو با Pytest Intro to Django Testing with Pytest

  • Pytest را راه اندازی کنید Setup Pytest

  • کارخانه کاربر و مسابقه User Factory and Conftest

  • تست مدل کاربر و مدیر User Model & Manager tests

  • تست های سریال ساز کاربر User Serializer tests

  • تست بازدید کاربر User Views tests

  • تست فرم های کاربر User forms test

ساخت تولید Production Build

  • معرفی IaaS، Paas و Dbaas Intro to IaaS,Paas and Dbaas

  • قطره اقیانوس دیجیتال Digital Ocean Droplet

  • نام دامنه و تفنگ پستی Domain Name & mailgun

  • تفنگ پستی Mailgun

  • راه اندازی جنگو تولید Django Production Setup

  • تنظیمات تولید ادامه یافت Production settings continued

  • اسکریپت های شروع گل و کرفس Flower and Celery Start Scripts

  • تولید Django Dockerfile Production Django Dockerfile

  • تولید Django Entrypoint Production Django Entrypoint

  • Production.yml Production.yml

  • تولید Postgres Production Postgres

Digitalocean Deploy، مدیر پروکسی NGINX و پورتینر Digitalocean Deploy,NGINX Proxy manager & Portainer

  • پیکربندی سرور Server Config

  • Docker و docker compose را در اوبونتو نصب کنید Install Docker and docker compose on Ubuntu

  • مدیر پروکسی NGINX NGINX Proxy Manager

  • راه اندازی پورتینر Portainer Setup

  • اسکریپت استقرار Bash Bash Deployment Script

  • پیکربندی HTTPS NGINX HTTPS NGINX Config

  • مدیر پروکسی NGINX از طریق HTTPS NGINX PROXY Manager over HTTPS

نمایش نظرات

نظری ارسال نشده است.

آموزش بدون راهنمای میانبر برای API های Django RESTful با Docker
خرید اشتراک و دانلود خرید تکی و دانلود | 160,000 تومان (5 روز مهلت دانلود) زمان تقریبی آماده سازی لینک دانلود این دوره آموزشی حدود 5 تا 24 ساعت می باشد.
جزییات دوره
13.5 hours
94
Udemy (یودمی) udemy-small
22 مهر 1402 (آخرین آپدیت رو دریافت می‌کنید، حتی اگر این تاریخ بروز نباشد.)
1,510
4.8 از 5
ندارد
دارد
دارد

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Alpha Omondi Ogilo Alpha Omondi Ogilo

توسعه دهنده نرم افزار Full-Stack خودآموز

Udemy (یودمی)

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

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