مخرجات JSON لأمر tree: تحذير من الافتراضات

2025-07-25
مخرجات JSON لأمر tree: تحذير من الافتراضات

أضاف إصدار 2.0 من الأمر `tree` إمكانية إخراج JSON غير مسافة بادئة عبر واصف الملف 3 (Linux فقط). ومع ذلك، فإن هذا التنفيذ الأولي قد افترض افتراضًا خطيرًا حول بيئة المستخدم، مما أدى إلى مشاكل توافق واسعة النطاق. وقد قام الإصدار 2.0.2 بتصحيح ذلك من خلال اشتراط تعيين متغير البيئة `STDDATA_FD`. يبرز هذا أهمية تجنب الافتراضات حول بيئة المستخدم في تطوير البرامج. يقدم الأمر `tree` المُحسّن الآن مخرجات بيانات مُهيكلة مرنة عبر `STDDATA_FD`، والتي يمكن معالجتها بسهولة باستخدام أدوات مثل nushell.

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

قيود ماكرو Rust `#[derive]` والحلول البديلة

2025-07-08
قيود ماكرو Rust `#[derive]` والحلول البديلة

ماكرو Rust `#[derive]`، عند توليد تنفيذات لسمات مثل `Clone`، يتطلب أن جميع المعلمات العامة تنفذ `Clone` أيضًا. هذا يحد من قابليته للتطبيق. تحلل المقال مثالين يوضحان سبب منع هذه القيود من تجميع التعليمات البرمجية. يقترح الكاتب حلين: تقديم RFC لتغيير سلوك المُترجم، وكتابة ماكرو مخصص لتجاوز القيد. يختار الكاتب الخيار الثاني، ويخطط لتنفيذ ماكروات `derive` أكثر مرونة في كرت `derive_more` أو كرت خاص به لحل هذه المشكلة.

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