مجموعهای فارسی از سؤالها، مسائل و راهحلهای کاربردی در حوزه توسعه Backend با Python.
این پروژه با هدف جمعآوری و مستندسازی پرسشهایی ایجاد شده است که برنامهنویسان Backend در مسیر یادگیری، توسعه پروژههای واقعی و کار با تکنولوژیهای مختلف با آنها مواجه میشوند.
تمرکز فعلی پروژه روی Python، Django و Django REST Framework است و در ادامه موضوعات مرتبط با FastAPI و سایر ابزارها و تکنولوژیهای Backend نیز به پروژه اضافه خواهند شد.
هدف اصلی این Repository ایجاد یک منبع فارسی و قابل توسعه برای یادگیری، حل مسئله و بهاشتراکگذاری تجربههای Backend است.
این پروژه صرفاً یک مجموعه آموزش تئوری نیست.
تمرکز اصلی روی سؤالها و مسئلههایی است که یک Backend Developer ممکن است در مسیر یادگیری یا هنگام کار روی پروژههای واقعی با آنها مواجه شود.
موضوعاتی مانند:
- طراحی API
- طراحی Database
- Authentication
- Authorization
- Security
- Testing
- Performance
- Deployment
- معماری و ساختار پروژه
در این مجموعه مورد بررسی قرار میگیرند.
این پروژه میتواند برای موارد زیر مفید باشد:
- برنامهنویسان تازهکار
- Python Developers
- Django Developers
- Backend Developers
- افرادی که در حال یادگیری Django و DRF هستند
- افرادی که قصد یادگیری FastAPI را دارند
- افرادی که برای مصاحبههای فنی آماده میشوند
- توسعهدهندگانی که با یک مسئله واقعی مواجه شدهاند
تمام سؤالها و پاسخها در قالب فایلهای Markdown با پسوند .md نگهداری میشوند.
ساختار فعلی پروژه:
python-backend-qna-fa/
│
├── README.md
│
└── questions/
│
├── python/
├── django/
├── drf/
├── fastapi/
├── authentication/
├── authorization/
├── database/
├── postgresql/
├── redis/
├── celery/
├── security/
├── testing/
├── docker/
├── deployment/
└── architecture/
سؤالها و مسائل مربوط به زبان Python و مباحث مورد نیاز برای توسعه Backend.
موضوعات مربوط به Django، از جمله:
- Models
- ORM
- QuerySet
- Migrations
- Views
- Middleware
- Signals
- Custom User Model
- Management Commands
- Django Security
موضوعات مرتبط با توسعه API با استفاده از Django REST Framework، از جمله:
- Serializers
- Views
- ViewSets
- Routers
- Permissions
- Authentication
- Validation
- Pagination
- Filtering
- Throttling
- API Design
سؤالها، تجربیات و مسائل مربوط به FastAPI.
این بخش در ادامه توسعه پروژه تکمیل خواهد شد.
موضوعات مرتبط با احراز هویت و مدیریت Session و Token، از جمله:
- Authentication
- JWT
- Access Token
- Refresh Token
- Token Rotation
- Token Blacklisting
- Cookie Security
- Session Management
- CSRF
موضوعات مربوط به مدیریت دسترسی کاربران، از جمله:
- Permissions
- RBAC
- Role Management
- Access Control
- Object-level Permissions
موضوعات مرتبط با طراحی و استفاده از Database در پروژههای Backend.
موضوعات مرتبط با PostgreSQL، از جمله:
- Database Design
- Relationships
- Indexing
- Constraints
- Transactions
- Query Optimization
- Data Integrity
موضوعات مرتبط با Redis و Celery، از جمله:
- Caching
- Background Tasks
- Message Processing
- Task Queues
- Performance
مسائل امنیتی مرتبط با Backend، API و سرویسهای تحت وب.
هدف این بخش بررسی مشکلات امنیتی و روشهای صحیح پیادهسازی قابلیتهای Backend است.
موضوعات مرتبط با تست نرمافزار، از جمله:
- Unit Testing
- Integration Testing
- API Testing
- Pytest
- Django Testing
- Authentication Testing
- Performance Testing
موضوعات مرتبط با اجرای پروژههای Backend و آمادهسازی آنها برای محیط Production، از جمله:
- Docker
- Docker Compose
- Nginx
- Gunicorn
- Production Configuration
- Deployment
موضوعات مرتبط با طراحی و معماری Backend، از جمله:
- Project Structure
- Separation of Concerns
- Service Layer
- Business Logic
- Scalability
- Maintainability
- API Architecture
بخش مهمی از این پروژه حاصل مشارکت و همراهی اعضای جامعه برنامهنویسی است.
بسیاری از سؤالها و موضوعات این Repository توسط دوستان و اعضای Community گروه Django مهندس علی بیگدلی مطرح و بررسی میشوند.
پاسخها نیز با مشارکت اعضای مختلف جامعه شکل میگیرند و ممکن است در طول زمان با تجربهها و دیدگاههای جدید تکمیل شوند.
هدف از جمعآوری این مطالب، کمک به یکدیگر، انتقال تجربه و ایجاد یک منبع مفید برای جامعه فارسیزبان برنامهنویسی است.
در این مسیر ممکن است یک سؤال توسط یک نفر مطرح شود، فرد دیگری تجربه یا راهحل خود را به اشتراک بگذارد و شخص دیگری پاسخ را کاملتر یا اصلاح کند.
همین مشارکت و تبادل تجربه، بخش اصلی شکلگیری این مجموعه است.
این پروژه با هدف کمک و همکاری بین برنامهنویسان Python و Backend ایجاد شده است.
اگر سؤال، تجربه، راهحل یا نکتهای دارید که میتواند برای سایر توسعهدهندگان مفید باشد، میتوانید در توسعه این مجموعه مشارکت کنید.
مشارکت میتواند شامل موارد زیر باشد:
- مطرح کردن سؤالهای جدید
- ارائه پاسخ برای سؤالها
- تکمیل یا اصلاح پاسخهای موجود
- اضافه کردن تجربههای واقعی
- پیشنهاد موضوعات جدید
- گزارش اشتباهات
- بهبود مستندات
- ارائه راهحلهای بهتر
هدف این است که دانش و تجربههای پراکنده در زمینه Python Backend Development به یک مجموعه منظم، قابل استفاده و قابل توسعه تبدیل شود.
در اینجا لازم است از مهندس علی بیگدلی و تمام دوستان و اعضای Community که در مطرح کردن سؤالها، ارائه پاسخها، انتقال تجربه و کمک به سایر برنامهنویسان همراه ما هستند، صمیمانه تشکر کنیم.
این مجموعه با مشارکت و همراهی اعضای جامعه شکل گرفته است و ارزش اصلی آن نیز در همین همکاری و اشتراک تجربههاست.
از تمام دوستانی که با مطرح کردن یک سؤال، پاسخ دادن به سؤال دیگران یا حتی به اشتراک گذاشتن یک تجربه کوچک به یادگیری دیگران کمک میکنند، سپاسگزاریم.
امیدواریم این Repository بتواند بخشی از دانش و تجربه جامعه برنامهنویسی را مستند کند و در ادامه با کمک همه اعضای Community کاملتر و مفیدتر شود.
هدف بلندمدت این پروژه ایجاد یک Knowledge Base فارسی برای Python Backend Development است.
با گسترش پروژه، موضوعات و تکنولوژیهای بیشتری اضافه خواهند شد و مجموعهای از مسائل واقعی Backend در یک محل جمعآوری و مستند خواهند شد.
تمرکز این پروژه صرفاً روی یک Framework نیست.
هدف اصلی ایجاد بستری برای:
یادگیری → حل مسئله → انتقال تجربه → همکاری
در جامعه Python و Backend فارسیزبان است.
این پروژه در حال توسعه است و مطالب جدید به مرور به آن اضافه خواهند شد.
تمرکز اولیه روی موارد زیر است:
Python
↓
Django
↓
Django REST Framework
و در ادامه موضوعاتی مانند:
FastAPI
Database
Security
Testing
Infrastructure
Architecture
نیز به پروژه اضافه خواهند شد.
اگر این پروژه برای شما مفید است، میتوانید با مشارکت در آن به رشد جامعه برنامهنویسی کمک کنید.
گاهی یک سؤال ساده که امروز برای یک نفر مطرح میشود، میتواند فردا مشکل چندین برنامهنویس دیگر را حل کند.
هدف این پروژه یادگیری در کنار یکدیگر، انتقال تجربه و کمک به رشد جامعه Python و Backend فارسیزبان است.