مقالات عملية مرتبة حسب المجال والمستوى، اختر المجال المناسب واقرأ من مستوى مبتدئ إلى محترف.
لو حاولت تقرا ملف log حجمه 10 جيجا بـ readlines() السيرفر بياكل 10 جيجا رام في 4 ثواني وبيقع بـ MemoryError. Generators بكلمة واحدة yield بتخلّيك تقرا نفس الملف بـ 8 ميجا رام بس. مقال للمبتدئ بمثال المخبز، تعريف علمي من PEP 255، كود Python 3.12 شغّال يقرا ملف 10GB، أرقام مقاسة بـ tracemalloc، 3 استخدامات إنتاج (logs، API streaming، pipelines)، الفخ الكلاسيكي للاستهلاك مرتين، trade-offs، وحالات لا تستخدم generators فيها.
لو سيرفر Python بتاعك بيقع OOM لمّا بتفتح ملف لوج 50GB، المشكلة مش في الـ RAM. سطر واحد اسمه yield بينزّل استهلاك الذاكرة من 50GB لـ 8MB بدون ما يمسّ السرعة. شرح للمبتدئ بمثال الشيف، تعريف علمي من PEP 255، كود Python 3.12 شغّال، أرقام مقاسة على ملف 52GB، أخطاء شائعة، trade-offs، وحالات لا تستخدمها فيها.
لو fibonacci(40) عندك بياخد ثانية ونصف، المشكلة مش الـ CPU. نفس الرقم بيتحسب 165 مليون مرة. سطر واحد اسمه Memoization بينزّل الزمن لـ 0.3 مللي ثانية. شرح للمبتدئ بمثال المكتبة، تعريف علمي، كود JavaScript شغّال على Node 22، أرقام مقاسة، trade-offs الذاكرة، وحالات لا تستخدمه فيها.