Category

Python Programming

Python language tutorials, patterns, and best practices

92 posts

ما وراء PyPI: إتقان امتدادات C والعجلات الثنائية باستخدام Scikit-Build لعلوم البيانات

أصبحت بايثون اللغة المشتركة لعلوم البيانات، ومع ذلك فإن اعتماد النظام البيئي على بايثون النقي غالبًا ما يخفي عنق زجاجة حرجًا: الأداء. بالنسبة للحسابات العددية الثقيلة، يلجأ علماء البيانات غالبًا إلى المكتبات المبنية على أساس C أو C++ أو Fortran، مثل NumPy وSciPy وPandas. كيف...

إتقان معالجة ملفات CSV و JSON بكفاءة في استخدام الذاكرة: دليل للمُكررات المتقدمة في بايثون

في عالم هندسة البيانات، غالبًا ما يُطغى على المثل القائل "نفايات تدخل، ونفايات تخرج" تهديد أكثر إلحاحًا: "بيانات تدخل، وذاكرة تخرج". عند التعامل مع مجموعات بيانات ضخمة—سواء كانت جيجابايت من سجلات الخوادم بتنسيق CSV أو تيرابايت من البيانات JSON المهيكلة من أجهزة إنترنت الأشياء—فإن النهج البدائي ...

سد الفجوة: تنفيذ التزامن الهجين باستخدام AsyncIO و Multiprocessing في بايثون

يواجه مطورو بايثون غالبًا معضلة دائمة: كيفية تعظيم أداء التطبيق عند التعامل مع مزيج متنوع من المهام. في أحد طرفي الطيف، لديك مهام مقيدة بالإدخال/الإخراج (I/O)، مثل استعلامات قواعد البيانات، وطلبات الشبكة، وعمليات الملفات، حيث يجلس المعالج (CPU) خاملًا في انتظار البيانات...

أداء بايثون: المولدات ومُشاهد الذاكرة

في مشهد البيانات الحديث، يواجه مطورو بايثون غالبًا تحدي معالجة مجموعات بيانات ضخمة تتجاوز الذاكرة المتاحة في النظام. بينما تتضمن الأساليب التقليدية تحميل الملفات بالكامل إلى قوائم أو DataFrames، يمكن أن تؤدي هذه الطريقة إلى استنفاد الذاكرة وحدود أداء شديدة...

إتقان عمليات الإدخال والإخراج غير المتزامنة للملفات ومديري السياق لمعالجة البيانات واسعة النطاق بكفاءة

في مشهد هندسة البيانات الحديث، غالبًا ما يتجاوز حجم البيانات التي نعالجها قدرة عمليات الإدخال والإخراج للملفات المتزامنة على التعامل معها دون إدخال تأخير كبير. عند التعامل مع تيرابايتات من السجلات، أو ملفات CSV كبيرة، أو تدفقات JSON متدفقة، فإن تعطيل الخيط الرئيسي لعمليات القرص يمكن أن يعطل إنتاجية التطبيق، خاصة في البيئات عالية التزامن مثل الخدمات الويب أو خطوط أنابيب البيانات.

بناء واجهات برمجة تطبيقات GraphQL في الوقت الفعلي باستخدام FastAPI وStrawberry لجلب البيانات الديناميكي

يتطلب مشهد تطوير الويب الحديث تطبيقات لا تكون سريعة فحسب، بل تكون أيضًا مستجيبة لحالات البيانات المتغيرة في الوقت الفعلي. وعلى الرغم من أن واجهات برمجة تطبيقات REST كانت هي المعيار لسنوات طويلة، فإن صعود GraphQL قد أحدث ثورة في طريقة جلب العملاء للبيانات، مما يسمح باستعلامات دقيقة وتقليل...

فتح آفاق معالجة البيانات الثنائية عالية الإنتاجية باستخدام mmap و struct في بايثون

في عالم برمجة بايثون، غالبًا ما تأتي سهولة الاستخدام على حساب الأداء الخام. بالنسبة للتطبيقات التي تتعامل مع مجموعات بيانات ضخمة، أو المحاكاة العلمية، أو سجلات التداول عالية التردد، يمكن أن تصبح طرق الإدخال والإخراج (I/O) القياسية مثل open() و read() نقاط اختناق كبيرة. تحميل الملفات بالكامل...