مهندس نرمافزار
یک مجموعه گزینششده و با کیفیت از منابع یادگیری که بر پایتون و به زودی C/C++ متمرکز است و برای ساختن پایههای قوی مهندسی نرمافزار و درک سطح سیستمی طراحی شده است.
ساختار مخزن
.
├── python-basic/ # Essential Python syntax, data types, and operations
├── python-advanced/ # Decorators, threading, logging, JSON, and more
├── python-OOP/ # Deep dive into Python's object-oriented programming
├── cpp-basic/ # Fundamentals of C++: syntax, memory, pointers, etc.
├── cpp-advanced/ # Advanced C++: RAII, noexcept, smart pointers, RVO, etc.
├── cpp-OOP/ # Object-oriented programming in C++
├── CUDA/ # GPU programming with CUDA (host & device code)
├── MPI/ # Message Passing Interface programming and demos
├── docs/ # System-level notes on performance, Python-C++ interop, mixed precision, etc.
└── README.md # Project overview (this file)
نحوه استفاده
هر پوشه شمارهگذاری شده شامل یک فایل README.md است که مفاهیم را توضیح میدهد و همراه با فایلهای قابل اجرا با پسوند .py ارائه شده است. به عنوان مثال:
cd python-advanced/08-decorators
python basic_function_decorator.py
برخی اسکریپتها به کتابخانههای شخص ثالث نیاز دارند (مثلاً numpy، scipy، torch).تمام کدها با پایتون 3.7+ سازگار بوده و به گونهای نوشته شدهاند که حداقلی، متمرکز و قابل تست باشند.
نکات برجسته
پایتون
- تسلط بر OOP: کلاسها، وراثت، متاکلاسها، توصیفگرها (
python-OOP/) - موضوعات پیشرفته: دکوراتورها، مدیریت زمینه، کشینگ توابع، همزمانی
- ساختارهای داده: لیستها، تاپلها، دیکشنریها، ستها با کاربرد عملی
++C
- مبانی ++C: نحو، توابع، اشارهگرها، ساختارها، دامنه، شمارشها (
cpp-basic/) - ++C مدرن: RAII، اسمارتپوینترها، معنای انتقال، همترازی، RVO (
cpp-advanced/) - OOP در ++C: کلاسها، تعیینکنندههای دسترسی، وراثت، چندریختی، قالبها
سیستمها و کارایی
- برنامهنویسی CUDA: مدل میزبان/دستگاه، اجرای کرنل، مدیریت حافظه (
CUDA/) - برنامهنویسی MPI: برنامههای توزیعشده عملی، عملیات ماتریسی، اجرای اعتبارسنجی (
MPI/) - مستندات: ارتباط پایتون-++C، مدیریت GIL، تنظیمات CUDA، آموزش با دقت ترکیبی (
docs/)
فلسفه یادگیری
- مثالهای کوچک و ماژولار — بدون نوتبوکهای شلوغ
- جداسازی واضح بین مفهوم، کد و توضیحات
- تاکید بر طراحی، عملکرد و نگهداریپذیری
- افزایش تدریجی دانش — ایدهآل برای فراگیران جدی و حرفهایها
تاریخچه ستارهها
🤝 مشارکتها
باگ، اشتباه تایپی یا تمایل به توسعه چیزی دارید؟ یک PR باز کنید — همه مشارکتها پذیرفته میشود.
📄 مجوز
مجوز MIT — رایگان برای استفاده، تطبیق و به اشتراکگذاری جهت یادگیری و آموزش.
--- Tranlated By Open Ai Tx | Last indexed: 2025-07-18 ---