Python Backend Developer Roadmap
- معماری عملکرد یک سیستم کامپیوتری
- فلوچارت
- حل مسئله
- برنامه نویسی چیست؟
- مفاهیم پایه پایتون
- مباحث شئ گرایی
- انجام پروژه های مبتنی بر وب و تعامل با request
- انجام عملکرد های crawl
- مفاهیم پایه پایگاه داده
- دیتابیس های SQL/No SQL
- درک عملیات های اصلی
- کار با دیتابیس sqlite
- کار با postgresql
- کار با دیتابیس MongoDB (انتخابی)
- مفاهیم پایه git
- کار با دستورات پایه git
- کنترل برنچ ها
- کار با github/gitlab
- استفاده از روابط گرافیکی و یا افزونه ها
- مدیریت خطا در تعامل با دیگر اعضای گروه
- استفاده از github actions / Gitlab Runner
- مفاهیم پایه وب
- متد های مختلف HTTP
- مدیریت درخواست ها به صفحات و نمایش Template
- بارگذاری static ها
- اتصال به دیتابیس
- آشنایی با مفاهیم API
- مدیریت عملایت CRUD در API
- مدیریت migration ها با Alembic
- ساخت داکیومنت مناسب با swagger
- تنظیمات deploy
- پیاده سازی بر روی هاست مورد نظر (با داکر یا بدون اون)
- آشنایی با مفاهیم وب
- آشنایی با معماری MVT
- ساخت اولین پروژه و اپ به همراه url و view ها
- تنظیم static media template
- کار با دیتابیس و migration ها در models
- django admin and orm
- سرو کردن صفحات ایستا
- استفاده از فرم ها در جنگو
- نمایش صفحات داینامیک و تزریق داده
- مدیریت ورود و خروج
- کار با ماژول ها
- دیپلوی بر روی پلتفرم های حاضر مثل liara یا cpanel
- آشنایی با مفاهیم داکر
- دستورات پایه داکر
- کانتینر سازی
- port/expose/env/resource/volume/network
- Dockerfile
- docker-compose
- security & optimization
- Django Dockerization
- اشنایی با CBV ها
- آشنایی با RestFramework API
- Serializer ,url ,View
- بررسی عملکرد ApiView,GenericView,ViewSet
- بررسی کنتر ورژن و layout
- Swagger
- Postman
- تست نویسی با PyTest و TestCase
- مدیریت Continues Integration
- SMTP4Dev و مدیریت ایمیل
- مدیریت CACHE
- مدیریت تسک ها با CELERY
- Load Balance با Locust
- Core Headers and Security access
- Deploymen on VPS
- پیاده سازی بر روی همرورش
- مدیریت Continues Delivery
- آشنایی با مفاهیم K8s
- دستورات پایه k8s و kubectl
- deployment / service / network /volume / config
- deploying the apps and services rolling update
- helmchart
- مدل ها مختلف در Deployment (canary,blue green)
- security & optimization
- آشنایی با مفاهیم طراحی سیستم
- MicroService vs Monolithic vs SOA
- Different Designs in MicroServices
- Architectures (DDD, EDA,DDA.FDA.Hybrid,API Gateway)
- Authentications (TOKEN,OAuth2,mTLS,API Gateway,Custom)
- Authorizations (RBAC,ABAC,PBAC,ABE)
- Protocols (REST,gRPC,GraphQL,Apache Kafka,AMQP )
- Security and Optimizations