تطوير البرمجيات
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 متعددة على معيار بناء واحد
محاور البرنامج
هيكل واضح لرحلة التعلم.
محاور البرنامج
تظهر محاور البرنامج في صندوق واحد بدلاً من تحويل كل سطر إلى وحدة منفصلة.
الوحدة 1: البيئات والتثبيت القابل للتكرار
البيئات الافتراضية وإصدارات المفسر وعزل حالة المشروع
مقارنة pip وuv وPoetry من حيث سلوك الحل وسرعة التثبيت
ملفات القفل وتثبيت البصمات وإعادة بناء بيئة بعد أشهر طويلة
تشخيص تعارضات الاعتماديات وإخفاقات حل الإصدارات
الوحدة 2: بنية المشروع وملف pyproject.toml
بنية src واكتشاف الحزم ومسارات استيراد يمكن التنبؤ بسلوكها
بيانات PEP 621 الوصفية: الاسم والإصدار وrequires-python ومحددات الاعتماديات
اختيار خلفية البناء بين hatchling وsetuptools وPoetry
مجموعات الاعتماديات الاختيارية للاختبار والتوثيق والتطوير
الوحدة 3: بناء الحزم وتوزيعها
توزيعات المصدر وحزم wheels واعتبارات البناء الخاصة بكل منصة
نقاط الدخول ونصوص وحدة التحكم التي تُثبَّت كأدوات لسطر الأوامر
أنظمة ترقيم الإصدارات وسجلات التغيير وسياسة إهمال يثق بها المستخدمون
النشر إلى PyPI وإلى مستودع خاص مثل Artifactory أو devpi
الوحدة 4: تحزيم تطبيقات Python في الحاويات
اختيار الصورة الأساسية وتخزين الطبقات وبنية البناء متعدد المراحل
تثبيت الاعتماديات داخل الصورة دون الإخلال بقابلية التكرار
المستخدمون غير الجذريين وتقليص حجم الصورة وزمن إقلاع الحاوية
إعدادات التشغيل وحقن الأسرار ونقاط فحص السلامة
الوحدة 5: سلسلة التوريد ومخاطر الاعتماديات
تدقيق الحزم المثبتة باستخدام pip-audit ونشرات الثغرات الأمنية
توليد قائمة مكونات البرمجيات وتتبع عمق الاعتماديات غير المباشرة
التزامات التراخيص ومسار اعتماد الحزم الخارجية الجديدة
سياسة الترقية: نطاقات التثبيت وروبوتات التحديث والرفع المضبوط للإصدارات
الوحدة 6: خط الإصدار والتشغيل
مهام التكامل المستمر التي تبني وتختبر وتنشر المنتج عند إنشاء وسم
ترقية المنتج نفسه دون تغيير عبر بيئات الاختبار والتهيئة والإنتاج
التراجع وسحب الإصدارات ومعالجة نسخة معيبة سبق نشرها لدى المستخدمين
إعدادات التشغيل ووجهات السجلات والجاهزية للنشر
المواد المقدمة
- دليل الدورة وأمثلة شيفرة موثّقة وملاحظات مرجعية
- بيئة معملية عملية ومستودعات بداية جاهزة
- تمارين وقوائم تحقق وقوالب شيفرة قابلة لإعادة الاستخدام
- شهادة إتمام من 4D
- دعم فني بعد انتهاء البرنامج
خيارات التدريب
يمكن تقديم البرامج داخل مقر المؤسسة، أو عن بُعد، أو بصيغة مدمجة بحسب جدول الفريق وموقعه وأهداف التعلم. عندما يتضمن البرنامج شهادة أو اختباراً من جهة خارجية، تبقى قواعد الشهادة ورسومها خاضعة لسياسات الجهة المانحة، بينما تقدم 4D التدريب ودعم التحضير.
لماذا البعد الرابع
تقوم 4D خلال الورشة بتحزيم أحد مشاريعكم الداخلية القائمة فعلاً، فيرى المشاركون تعارضات الاعتماديات الخاصة بهم وهي تُحل أمامهم لا في مستودع نموذجي نظيف لا يشبه واقعهم. والمخرج ملموس: ملف pyproject.toml عامل وملف قفل مثبت بالبصمات وصورة حاوية جاهزة وسياسة ترقية راجعها فريقا الأمن والمنصات معاً.
دورات ذات صلة
أساسيات البرمجة بلغة Python
مقدمة عملية إلى Python للمهندسين والمحللين الذين يحتاجون شيفرة تعمل فعلاً لا مقتطفات تعليمية. يكتسب المشاركون طلاقة في أنواع البيانات والمجموعات والدوال والملفات ومعالجة الأخطاء، ثم يبنون برنامجاً صغيراً يقرأ بيانات حقيقية وينتج تقريراً قابلاً للاستخدام.
View coursePython المتوسط وممارسات الشيفرة النظيفة
برنامج موجّه للمطورين الذين تعمل شيفرة Python لديهم لكن يصعب تغييرها. يغطي dataclasses والمولّدات والمزخرفات ومديري السياق وتلميحات الأنواع، ثم يطبّق خطوات إعادة الهيكلة التي تحوّل وحدة من تسعمئة سطر إلى وحدات صغيرة مختبَرة تحرسها أدوات black وruff وmypy.
View courseأتمتة المهام المكتبية والبرمجة النصية بلغة Python
برنامج موجّه للفرق التي تهدر ساعات أسبوعية في أعمال متكررة على الملفات والجداول والتقارير. يقوم المشاركون بأتمتة هذه المهام باستخدام Python: معالجة الملفات دفعياً وجداول Excel وCSV واستدعاء واجهات REST وتنبيهات البريد والمهام المجدولة التي تعمل دون إشراف وتبلّغ بوضوح عند الفشل.
View course