Skip to content

یادگیری برنامه‌نویسی غیرهمزمان پایتون به فارسی — یک دورهٔ عملی و متنی با تمرکز روی مثال‌های واقعی

License

Notifications You must be signed in to change notification settings

irvaniamirali/asyncio-course-fa

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

80 Commits
 
 
 
 
 
 

Repository files navigation

دورهٔ AsyncIO به فارسی

این یه دوره‌ی کوتاه و ساده‌ست برای آشنایی با برنامه‌نویسی غیرهمزمان در پایتونه. هدفش اینه که مفهوم async و await رو بدون پیچوندن یاد بگیری و بتونی توی پروژه‌های واقعی استفاده‌شون کنی.

همه‌چیز به زبان ساده گفته شده، با مثال‌های کم‌حرف و پرمعنی.


پیش‌نیازها

برای شروع این دوره، فقط باید با پایتون مقدماتی راحت باشی. یعنی:

  • بتونی تابع بنویسی و ازش استفاده کنی.
  • با مفهوم تابع بازگشتی، متغیرها، حلقه‌ها و شرط‌ها آشنا باشی.
  • بدونی ماژول چیه و چطور import می‌کنن.
  • با ساختار فایل‌های .py و اجرای برنامه‌ها از ترمینال یا VS Code آشنا باشی.

اگر پایتون رو قبلاً تا سطح مقدماتی یاد گرفتی، همین کافیه. نیازی به تجربهٔ پیشرفته یا آشنایی با threading، شبکه یا async نداری. اون‌ها رو توی همین دوره قدم‌به‌قدم یاد می‌گیری.


شروع دوره


فهرست درس‌ها

  1. مقدمه‌ای بر برنامه‌نویسی غیرهمزمان
  2. مفهوم انتظار و زمان بیکاری در برنامه‌نویسی
  3. مفهوم وظیفه (Task) و حلقه‌ی رویداد (Event Loop)
  4. async و await دقیقاً چطور کار می‌کنن
  5. دانلود هم‌زمان چند فایل با asyncio
  6. ماجرای event loop و چطور کار می‌کنه
  7. کار با ورودی و خروجی غیرهمزمان (Async I/O در عمل)
  8. مدیریت تسک‌ها و خطاها در asyncio
  9. طراحی و ساختاردهی برنامه‌های async در پایتون
  10. تست‌نویسی برای کدهای async در پایتون
  11. ساخت یک downloader هم‌زمان با asyncio
  12. مدیریت هم‌زمانی با Queue، Lock و Semaphore در asyncio
  13. اجرای کدهای بلاک‌شونده در برنامه‌های Async
  14. مدیریت زمان و تایم‌اوت در asyncio
  15. لغو تسک‌ها و پاکسازی منابع در asyncio
  16. صف‌های همزمان (Async Queues) و الگوی Producer–Consumer
  17. صف‌های اولویت‌دار (PriorityQueue) و زمان‌بندی کارها
  18. اجرای دوره‌ای تسک‌ها و زمان‌بندی (Periodic Tasks & Scheduling)
  19. طراحی سیستم‌های پیشرفته background tasks در asyncio
  20. ورودی و خروجی شبکه‌ای به‌صورت ناهمگام (Async Network I/O)
  21. الگوهای پیشرفته هم‌زمانی — Fan-in / Fan-out، Pipeline، Queue و Event

مشارکت

این پروژه بازه و مشارکت توش آزاده. اگر ایرادی دیدی یا پیشنهادی داشتی، خوشحال می‌شم که پول‌ریکوئست بدی یا توی Issues بنویسی.


نکته

کدها و مثال‌ها با Python 3.12+ تست شدن، پس قبل از اجرا مطمئن شو نسخه‌ت به‌روز باشه.

About

یادگیری برنامه‌نویسی غیرهمزمان پایتون به فارسی — یک دورهٔ عملی و متنی با تمرکز روی مثال‌های واقعی

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published