ذاكرة التخزين المؤقت لـ Bazel والتنفيذ عن بُعد وعدم تطابق إصدار glibc يتسببان في تعطل الإنتاج

2025-09-21
ذاكرة التخزين المؤقت لـ Bazel والتنفيذ عن بُعد وعدم تطابق إصدار glibc يتسببان في تعطل الإنتاج

تتناول هذه المقالة تعطلًا في الإنتاج ناجمًا عن التفاعل بين ذاكرة التخزين المؤقت لـ Bazel والتنفيذ عن بُعد وعدم تطابق إصدارات glibc في بيئات مختلفة. يقوم المطور بإنشاء اختبار وتجربته محليًا، ويستخدم نظام CI ذاكرة التخزين المؤقت لإنشاء إصدار نهائي، لكن نشر الإصدار في بيئة الإنتاج يفشل بسبب عدم وجود إصدار 'GLIBC_2.28'. تحلّل المقالة كيف تؤدي اختلافات إصدار glibc إلى كسر إمكانية إعادة إنتاج عملية البناء، وتقدم حلولًا: حل سريع يتضمن التقاط إصدارات glibc المحلية والبعيدة، واختيار الإصدار الأعلى لسلسلة أدوات C++؛ حل أكثر قوة يقيد الكتابة في ذاكرة التخزين المؤقت للعمل، مما يجبر عمليات البناء على التشغيل على منفذي التنفيذ عن بُعد؛ الحل النهائي يستخدم sysroots، بحيث يتم تثبيت إصدارات متعددة من glibc في جميع البيئات وتحديد الإصدار الذي يجب استخدامه بشكل صريح. تُشدد المقالة على أهمية عمليات البناء القابلة لإعادة الإنتاج، وتوصي باختيار الحلول المناسبة بناءً على السياق.

اقرأ المزيد

sandboxfs: محاولة فاشلة لتسريع عملية إنشاء بيئة الرمال الرقمية لـ Bazel على نظام macOS

2025-06-13
sandboxfs: محاولة فاشلة لتسريع عملية إنشاء بيئة الرمال الرقمية لـ Bazel على نظام macOS

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

اقرأ المزيد

بونانزا: مستقبل قائم على السحابة لبازل؟

2025-04-10
بونانزا: مستقبل قائم على السحابة لبازل؟

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

اقرأ المزيد
التطوير بازل

رسومات عملية بدون X11: غوص عميق في إطار عمل wscons في NetBSD

2025-01-17
رسومات عملية بدون X11: غوص عميق في إطار عمل wscons في NetBSD

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

اقرأ المزيد
التطوير

مراجعات الكود: قصة نجاح

2025-01-15
مراجعات الكود: قصة نجاح

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

اقرأ المزيد
التطوير

إعادة النظر في نظام بناء NetBSD: أداة قوية لكنها غامضة

2024-12-31
إعادة النظر في نظام بناء NetBSD: أداة قوية لكنها غامضة

تتناول هذه المدونة نظام بناء NetBSD، وهو نظام قوي ولكنه غامض إلى حد ما، يعتمد على مزيج من BSD make وسكريبتات shell. يسمح هذا النظام ببناء نظام NetBSD كامل من الصفر على أي نظام POSIX تقريبًا، بدون امتيازات الجذر، ويدعم الترجمة المتقاطعة لأنظمة معمارية مختلفة. يفصل الكاتب عملية البناء، بما في ذلك توليد سلسلة الأدوات، وهيكل البناء، وآلية destdir، والعمليات بدون امتيازات الجذر، وإنشاء وسائط التوزيع. وعلى الرغم من الاعتراف ببعض العيوب، مثل عمليات البناء التزايدية غير الفعالة وإدارة التبعيات غير الكاملة، إلا أن الكاتب يبرز نقاط القوة في النظام وفلسفته التصميمية. ويختتم الكاتب بالحديث عن مشروع مضمن حالي يستخدم NetBSD، ويدرس إمكانية نقل نظام البناء إلى Bazel لتحسين الكفاءة.

اقرأ المزيد
التطوير نظام بناء

مقارنة بين Synology DS923+ و خادم NAS منزلي قائم على FreeBSD/ZFS

2024-12-19
مقارنة بين Synology DS923+ و خادم NAS منزلي قائم على FreeBSD/ZFS

يقارن جوليو ميرينو بين Synology DS923+ وخادم NAS منزلي قام ببنائه بنفسه باستخدام FreeBSD 14 وZFS. يستخدم خادم NAS الخاص به محطة عمل ThinkStation قوية مع وحدة معالجة مركزية وذاكرة وصول عشوائي كبيرة، بينما DS923+ هو جهاز NAS مخصص صغير الحجم يعمل بنظام DSM من Synology ونظام الملفات btrfs. يوفر كلاهما أداءً متشابهًا من حيث عمليات الإدخال/الإخراج في الثانية وأداء الشبكة، لكن DS923+ يتفوق في مستوى الضوضاء واستهلاك الطاقة. يوفر DSM تجربة سهلة الاستخدام وحلول نسخ احتياطي قوية، بينما يتطلب FreeBSD/ZFS المزيد من التكوين والصيانة اليدوية. في النهاية، يفضل الكاتب DS923+ نظرًا لما يوفره من راحة البال فيما يتعلق بأمان البيانات وإدارتها.

اقرأ المزيد
العتاد