تطوير البرمجيات
Python في الإنتاج: التحزيم وإدارة الاعتماديات
كل ما يفصل بين شيفرة تعمل ومنتج قابل للنشر. يضبط المشاركون ملف pyproject.toml ويبنون حزم wheels ويثبّتون الاعتماديات بصورة قابلة للتكرار عبر pip-tools أو uv أو Poetry، وينشرون إلى مستودع خاص، ويحزّمون في صور Docker متعددة المراحل، ويدققون سلسلة التوريد البرمجية.
نظرة عامة
تعلم عملي قابل للتطبيق في بيئة العمل.
المشهد مألوف: عملية بناء نجحت في آذار تفشل في أيلول لأن اعتمادية غير مثبّتة نشرت إصداراً فرعياً جديداً، ولم يعد أحد قادراً على إعادة تكوين البيئة التي كانت تعمل. يعالج هذا البرنامج هذه الفجوة. ينقل المشاركون مشروعاً إلى بنية src مع بيانات وصفية معلنة، وينتجون ملف قفل يتضمن البصمات، ويبنون حزمة wheel وينشرونها إلى مستودع خاص، ثم يغلفونها في صورة حاوية تثبّت الإصدارات نفسها في كل مرة. وتُعامَل مخاطر الاعتماديات بوصفها شأناً تشغيلياً يشمل التدقيق الأمني وقوائم المكونات وسياسة ترقية مكتوبة.
المتطلبات المسبقة
خبرة عملية في تطوير Python وإلمام أساسي بـGit وسطر الأوامر، ولا يُشترط إلمام مسبق بالتحزيم أو Docker.
الأهداف
- إعلان البيانات الوصفية والاعتماديات بشكل صحيح في pyproject.toml وفق معيار PEP 621.
- إنتاج ملفات قفل مثبتة بالبصمات تعيد بناء البيئة نفسها بعد أشهر.
- بناء توزيعات المصدر وحزم wheels ونشرها إلى مستودع حزم خاص.
- تحزيم تطبيق Python في حاوية ببناء متعدد المراحل وتشغيل بمستخدم غير جذري.
- تدقيق الاعتماديات عبر pip-audit وتوليد قائمة مكونات البرمجيات ومراجعة التزامات التراخيص.
- وضع سياسة إصدار وتراجع تغطي ترقيم الإصدارات والوسوم والإصدارات المعيبة.
الفئة المستهدفة
- مطورو Python الذين يهيئون مكتبات داخلية لاستخدام أوسع
- مهندسو DevOps والمنصات الذين يوحّدون خطوط بناء Python
- مديرو الإصدار المسؤولون عن ترقيم النسخ وترقية المنتجات بين البيئات
- فرق الأمن والامتثال التي تقيّم مخاطر الحزم الخارجية
- فرق البيانات التي تنقل النماذج وخطوط المعالجة خارج جهاز واحد
- المعماريون الذين يوحّدون مشاريع Python متعددة على معيار بناء واحد
محاور البرنامج
هيكل واضح لرحلة التعلم.
تظهر محاور البرنامج في صندوق واحد بدلاً من تحويل كل سطر إلى وحدة منفصلة.
01البيئات والتثبيت القابل للتكرار4 موضوعاً
- البيئات الافتراضية وإصدارات المفسر وعزل حالة المشروع
- مقارنة pip وuv وPoetry من حيث سلوك الحل وسرعة التثبيت
- ملفات القفل وتثبيت البصمات وإعادة بناء بيئة بعد أشهر طويلة
- تشخيص تعارضات الاعتماديات وإخفاقات حل الإصدارات
02بنية المشروع وملف pyproject.toml4 موضوعاً
- بنية src واكتشاف الحزم ومسارات استيراد يمكن التنبؤ بسلوكها
- بيانات PEP 621 الوصفية: الاسم والإصدار وrequires-python ومحددات الاعتماديات
- اختيار خلفية البناء بين hatchling وsetuptools وPoetry
- مجموعات الاعتماديات الاختيارية للاختبار والتوثيق والتطوير
03بناء الحزم وتوزيعها4 موضوعاً
- توزيعات المصدر وحزم wheels واعتبارات البناء الخاصة بكل منصة
- نقاط الدخول ونصوص وحدة التحكم التي تُثبَّت كأدوات لسطر الأوامر
- أنظمة ترقيم الإصدارات وسجلات التغيير وسياسة إهمال يثق بها المستخدمون
- النشر إلى PyPI وإلى مستودع خاص مثل Artifactory أو devpi
04تحزيم تطبيقات Python في الحاويات4 موضوعاً
- اختيار الصورة الأساسية وتخزين الطبقات وبنية البناء متعدد المراحل
- تثبيت الاعتماديات داخل الصورة دون الإخلال بقابلية التكرار
- المستخدمون غير الجذريين وتقليص حجم الصورة وزمن إقلاع الحاوية
- إعدادات التشغيل وحقن الأسرار ونقاط فحص السلامة
05سلسلة التوريد ومخاطر الاعتماديات4 موضوعاً
- تدقيق الحزم المثبتة باستخدام pip-audit ونشرات الثغرات الأمنية
- توليد قائمة مكونات البرمجيات وتتبع عمق الاعتماديات غير المباشرة
- التزامات التراخيص ومسار اعتماد الحزم الخارجية الجديدة
- سياسة الترقية: نطاقات التثبيت وروبوتات التحديث والرفع المضبوط للإصدارات
06خط الإصدار والتشغيل4 موضوعاً
- مهام التكامل المستمر التي تبني وتختبر وتنشر المنتج عند إنشاء وسم
- ترقية المنتج نفسه دون تغيير عبر بيئات الاختبار والتهيئة والإنتاج
- التراجع وسحب الإصدارات ومعالجة نسخة معيبة سبق نشرها لدى المستخدمين
- إعدادات التشغيل ووجهات السجلات والجاهزية للنشر
المواد المقدمة
- دليل الدورة وأمثلة شيفرة موثّقة وملاحظات مرجعية
- بيئة معملية عملية ومستودعات بداية جاهزة
- تمارين وقوائم تحقق وقوالب شيفرة قابلة لإعادة الاستخدام
- شهادة إتمام من 4D
- دعم فني بعد انتهاء البرنامج
خيارات التدريب
يمكن تقديم البرامج داخل مقر المؤسسة، أو عن بُعد، أو بصيغة مدمجة بحسب جدول الفريق وموقعه وأهداف التعلم. عندما يتضمن البرنامج شهادة أو اختباراً من جهة خارجية، تبقى قواعد الشهادة ورسومها خاضعة لسياسات الجهة المانحة، بينما تقدم 4D التدريب ودعم التحضير.
لماذا البعد الرابع
تقوم 4D خلال الورشة بتحزيم أحد مشاريعكم الداخلية القائمة فعلاً، فيرى المشاركون تعارضات الاعتماديات الخاصة بهم وهي تُحل أمامهم لا في مستودع نموذجي نظيف لا يشبه واقعهم. والمخرج ملموس: ملف pyproject.toml عامل وملف قفل مثبت بالبصمات وصورة حاوية جاهزة وسياسة ترقية راجعها فريقا الأمن والمنصات معاً.
دورات ذات صلة
أساسيات البرمجة بلغة Python
مقدمة عملية إلى Python للمهندسين والمحللين الذين يحتاجون شيفرة تعمل فعلاً لا مقتطفات تعليمية. يكتسب المشاركون طلاقة في أنواع البيانات والمجموعات والدوال والملفات ومعالجة الأخطاء، ثم يبنون برنامجاً صغيراً يقرأ بيانات حقيقية وينتج تقريراً قابلاً للاستخدام.
View coursePython المتوسط وممارسات الشيفرة النظيفة
برنامج موجّه للمطورين الذين تعمل شيفرة Python لديهم لكن يصعب تغييرها. يغطي dataclasses والمولّدات والمزخرفات ومديري السياق وتلميحات الأنواع، ثم يطبّق خطوات إعادة الهيكلة التي تحوّل وحدة من تسعمئة سطر إلى وحدات صغيرة مختبَرة تحرسها أدوات black وruff وmypy.
View courseأتمتة المهام المكتبية والبرمجة النصية بلغة Python
برنامج موجّه للفرق التي تهدر ساعات أسبوعية في أعمال متكررة على الملفات والجداول والتقارير. يقوم المشاركون بأتمتة هذه المهام باستخدام Python: معالجة الملفات دفعياً وجداول Excel وCSV واستدعاء واجهات REST وتنبيهات البريد والمهام المجدولة التي تعمل دون إشراف وتبلّغ بوضوح عند الفشل.
View course