codingcogs' logo

نقشه‌ی راه برنامه‌نویسی بک‌اند براساس زبان پایتون

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

1. مبانی اولیه

کارگاه پایتون

اول مبانی برنامه‌نویسی به زبان پایتون رو یاد بگیر

مبانی پایتون Variables, Data Types, Control Flow, Functions
شی‌گرایی در پایتون Classes, Objects, Inheritance, Polymorphism
ساختارهای داده Lists, Dictionaries, Sets, Arrays
الگوریتم‌ها Sorting, Searching, Time/Space Complexity

2. فریم‌ورک وب

دوره‌ی جنگو

یکی را باید برای شروع یاد بگیرید ولی بعدا باید با بقیه هم آشنا بشوید

Django یک فریم ورک کامل برای توسعه‌ی فرانت‌اند و بک‌اند، دارای داشبورد ادمین
FastAPI فریم‌ورک وب ساده و مدرن و سریع برای ساخت APIها
Robyn مثل FastAPI ولی سریع تر و نوشته شده با Rust

3. دیتابیس‌ها

تسلط به دیتابیس‌ها مهم‌ترین چیزی است که باید حسابی به آن توجه کنید

SQL PostgreSQL, Tables, Models and Relations
NoSQL RavenDB, Redis, Elastic Search
ORM SQLAlchemy, Django ORM, Piccolo ORM
Database Normalization 3nf, 2nf, 1nf, ...
Query Optimization N+1 problem, prefetch, defer, ...

4. توسعه‌ی API

APIهای خوب و دقیق و امن بسازید

REST APIs HTTP methods, Status codes, Authentication , Standards
API Security JWT, OAuth, API Keys, Token Rotation
GraphQL Queries, Mutations, Schemas
gRPC Protocol Buffers

5. DevOps & Deployment

کارگاه داکر

درک lifecycle برنامه‌های خود را نباید فراموش کنید

Docker کانیتریزیشن ساده و کاربردی و ضروری
CI/CD GitHub Actions, Argo CD, GitLab CI
سرویس‌های مهم SonarQube, Sentry, Graylog
Cloud Platforms AWS, GCP, Azure

6. مباحث پیشرفته

مباحث پیشرفته برای افزایش سرعت و کیفیت کد

معماری نرم‌افزار Scalability, Load Balancing, Caching
Message Queues Celery و Celery-beat
تست نرم‌افزار Unit , Integration , E2E, Load Testing
Typing Typing , Pydantic , MyPy

بریم بک‌اند رو شروع کنیم؟

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

شروع به یادگیری