تحسين إكمال التبويب في Bash و Zsh: عرض الأوصاف للكلمات الكاملة

2025-08-10

تتناول هذه المقالة تحسينًا في إكمال التبويب في Bash و Zsh، مما يسمح بعرض الأوصاف حتى بالنسبة للكلمات المكتملة بالفعل. في السابق، كان إكمال التبويب يعرض الأوصاف فقط عندما تتطابق عدة خيارات، مما يجعل من الصعب رؤية أوصاف الأوامر الفردية. يُحلّ المؤلف هذه المشكلة بطريقة ذكية عن طريق إضافة خيارات إكمال "وهمية"، مما يسمح للمستخدمين برؤية الأوصاف بضغطة واحدة على مفتاح Tab. يُحسّن هذا من تجربة المستخدم بشكل كبير، على الرغم من عيب بسيط في واجهة المستخدم يتمثل في تكرار الكلمات.

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

Mill: ثورة في أدوات البناء مستوحاة من React

2025-05-13

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

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

لماذا يستخدم ميل سكالا لتكوين البنية؟

2025-02-13

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

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

بناء ملفات ثنائية أصلية متعددة المنصات من Mill عبر Github Actions

2025-02-02

يستخدم مشروع Mill Github Actions لبناء ملفات ثنائية أصلية على منصات مختلفة (Mac و Windows و Linux) وتحميلها على Maven Central. يُفصل تكوين ذكي بين نشر الملفات الاصطلاحية المتوافقة مع JVM والملفات الثنائية الأصلية الخاصة بالمنصة، مما يضمن التوافق بين المنصات. تُنشئ مهام `artifactName` و `jar` المخصصة ملفات مُرقمة مع لاحقات نظام التشغيل وهندسة وحدة المعالجة المركزية، مما يسمح للمستخدمين باختيار الملف التنفيذي المناسب لبيئتهم.

اقرأ المزيد

أداة بناء Mill JVM: ملفات JAR قابلة للتنفيذ مباشرةً

2025-01-02

تقوم أداة بناء Mill JVM بإنشاء ملفات JAR قابلة للتنفيذ مباشرةً، مما يلغي الحاجة إلى الأمر `java -jar`. يتم تحقيق ذلك عن طريق إضافة برنامج نصي shell إلى بداية ملف JAR، والذي بدوره يقوم باستدعاء بيئة تشغيل Java. تم تصميم هذا البرنامج النصي بذكاء ليكون متوافقًا مع أنظمة Unix و Windows، مما يسمح بالتنفيذ عبر الأنظمة الأساسية. تشرح المقالة بالتفصيل كيفية عمل ذلك، مستفيدة من طبيعة ملفات ZIP لربط برنامج نصي لإطلاق البرنامج مع محتويات ملف JAR لتنفيذ سلس. هذا يحسن بشكل كبير تكامل برامج Java في سير عمل سطر الأوامر.

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

تسريع عملية دمج التغييرات المستمر (CI) مع Mill: استراتيجيات الاختبار الانتقائي

2024-12-30

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

اقرأ المزيد

أدوات بناء مونوريبو: توسيع نطاق قاعدة الكود الخاصة بك

2024-12-20

تكافح أدوات البناء التقليدية مع قواعد البيانات الكبيرة (100-10000 مطور نشط). توفر أدوات بناء مونوريبو مثل Bazel و Mill حلولًا من خلال دعم لغات متعددة، ومهام بناء مخصصة، والتخزين المؤقت والتشغيل المتوازي التلقائي، والتخزين المؤقت والتنفيذ عن بُعد، مما يحسّن بشكل كبير سرعة وكفاءة البناء. كما أنها تتميز باختيار الاختبارات القائم على التبعيات وصندوق رمل مهام البناء، مما يقلل من وقت الاختبار وعدم الحتمية. في حين قد تبدو هذه الميزات غير ضرورية للمشاريع الصغيرة، إلا أنها ضرورية للتعاون على نطاق واسع والتكامل المستمر في المشاريع الكبيرة، مما يمنع أوقات البناء من أن تصبح عائقًا.

اقرأ المزيد