Python Backend Developer Roadmap

برای اینکه بخواهید به یک توسعه دهنده backend در زبان برنامه نویسی python تبدیل شوید نیاز هستش که مفاهیم زیادی تسلط پیدا کنین و برخی از ساختار های دیگر را که حتی مستقیم مورد استفاده قرار نمیگیرند را نیز درک کنید.

با در نظر گرفتن این مورد که نیاز باشه بخشی از کار یک devops کار و یا حتی یک توسعه دهنده front را نیز یاد بگیرید می توانید وارد این حوزه شوید . یادتون باشه پایتون به تنهایی فقط یک زبان برنامه نویسی هستش و در حوزه های مختلفی استفاده میشه ولی همین استفاده باعث میشه که فریمورک های متعدد برای اون حوزه شکل بگیرن.

  • معماری عملکرد یک سیستم کامپیوتری
  • فلوچارت
  • حل مسئله
  • برنامه نویسی چیست؟
  • مفاهیم پایه پایتون
  • مباحث شئ گرایی
  • انجام پروژه های مبتنی بر وب و تعامل با 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