Category: التطوير

سرعة نقل مايكروريم لنظام R:BASE System V إلى نظام التشغيل OS/2

2025-08-11

في أواخر عام 1986، واجهت شركة مايكروريم، وهي شركة برمجيات قواعد بيانات، مهمة هائلة: نقل منتجها الرئيسي، R:BASE System V، إلى نظام التشغيل OS/2 الجديد من IBM قبل إطلاقه الرسمي. باستخدام تصميم البرنامج النمطي وخبرتها، قامت بتحويل التطبيق المكتوب بشكل أساسي بلغة FORTRAN إلى لغة C بشكل منهجي باستخدام أداة ترجمة، ثم نقلته بكفاءة إلى OS/2 عن طريق عزل المكالمات الخاصة بنظام التشغيل. وقد أظهر هذا الإنجاز، الذي تم تحقيقه في فترة زمنية قصيرة بشكل ملحوظ، براعة مايكروريم وقدّم دروسًا قيّمة للمطورين الآخرين الذين يواجهون تحديات مماثلة. وقد استفادت النسخة الناتجة من OS/2 من ذاكرة OS/2 الموسعة وقدرات تعدد المهام، مما حسّن الأداء وتجربة المستخدم.

التطوير نقل البرامج

Dumac: تحسينات كبيرة في أداء أداة استخدام القرص على macOS

2025-08-11

Dumac، أداة استخدام القرص على macOS أسرع من `du -sh`، تستخدم نظام المكالمات `getattrlistbulk` المحدد لنظام macOS. بعد دمج ملاحظات المجتمع، قام المؤلف بزيادة الأداء بنسبة 33٪ تقريبًا من خلال التحول من Tokio إلى Rayon لتحسين التوازي، وتحسين تقسيم مجموعة هاش inode. وقد أدى معالجة مشكلة تنازع inode من خلال استراتيجية تقسيم مُحسّنة إلى تحقيق مكاسب إضافية في السرعة.

التطوير

فلسفة تصميم البرمجيات: كبح التعقيد من أجل الصيانة

2025-08-11
فلسفة تصميم البرمجيات: كبح التعقيد من أجل الصيانة

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

التطوير

أداة إدارة المشاريع الشاملة: تتبع كل شيء، وأتقن كل شيء

2025-08-11

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

التطوير تتبع المهام

بناء الأشياء باستخدام كود كلود: من مُصنّف تعليقات Hacker News إلى مُنشئ الملصقات

2025-08-11

قام الكاتب ببناء العديد من المشاريع باستخدام كود كلود من أنثروبيك، بما في ذلك مُصنّف تعليقات Hacker News وبديل بسيط لـ Canva - وهو مُنشئ ملصقات. يهدف الأول إلى تصفية التعليقات غير ذات الصلة، بينما يوفر الثاني واجهة بسيطة لدمج الصور والنصوص لإنشاء ملفات PDF بحجم A4. كما استخدم الكاتب كود كلود لإدارة الملفات ومعالجة البيانات، مثل إعادة تسمية ملفات كشوفات الحسابات ودمجها في ملف CSV. على الرغم من مواجهة بعض التحديات، مثل قيود كود كلود في التعامل مع واجهات المستخدم المعقدة وتصدير ملفات PDF، إلا أن الكاتب لا يزال مُعجبًا بإمكانات كود كلود في إنشاء النماذج الأولية بسرعة وزيادة الإنتاجية.

من نوتيون إلى .txt: رحلتي نحو الإنتاجية البسيطة

2025-08-11

بعد سنوات من تجربة العديد من تطبيقات الإنتاجية مثل نوتيون وتودوئيست وأومنيفوكس، عاد الكاتب إلى ملف todo.txt بسيط. لقد وجد أن التطبيقات المعقدة تُضيع الوقت، بينما ثبت أن ملف النص العادي أكثر كفاءة. يُضيف الكاتب المهام ليوم الغد إلى الملف كل ليلة، ويُحدثه طوال اليوم. النظام بسيط وقابل للبحث ودائم ومستقل عن أي تطبيق أو نظام أساسي محدد. يجادل الكاتب بأن الإنتاجية الحقيقية تعتمد على: سرد المهام، والتحقق منها بانتظام، وتنفيذها - وليس مطاردة التطبيق المثالي.

التطوير ملف نصي

قيود تطبيق اقتراحات التعليمات البرمجية في جيثب: متى لا يتم تطبيق اقتراحاتك

2025-08-11
قيود تطبيق اقتراحات التعليمات البرمجية في جيثب: متى لا يتم تطبيق اقتراحاتك

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

التطوير

لماذا يُقلل من شأن أداء الويب؟

2025-08-11

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

التطوير

تحسين محلل الأعداد الصحيحة: تبني الترميز العلمي

2025-08-11

تقترح هذه المقالة تحسينًا في محللات الأعداد الصحيحة لدعم الترميز العلمي (مثلًا، 1E9 لمليار). يجادل الكاتب بأن محللات الأعداد الصحيحة الحالية غالبًا ما ترفض مدخلات مثل "1E9"، مما يجعل إدخال الأعداد الصحيحة الكبيرة أمرًا شاقًا. من خلال السماح لمحللات الأعداد الصحيحة بالتعرف على الترميز العلمي ومعالجته، يمكن تبسيط إدخال الأعداد الكبيرة وجعله أكثر كفاءة. تناقش المقالة أيضًا مشكلات التوافق المحتملة مع هذا التحسين وكيفية حلها.

الوعود ذاتية الضمان: ضمان بياناتك في عصر التكنولوجيا المتغيرة

2025-08-11
الوعود ذاتية الضمان: ضمان بياناتك في عصر التكنولوجيا المتغيرة

تكسر الشركات الوعود طوال الوقت. تُقدّم هذه المقالة مفهوم "الوعود ذاتية الضمان"، وهو التزام يمكن التحقق منه من قِبل المستخدم، بغض النظر عن الثقة في الشركة. "الملف قبل التطبيق" مثال على ذلك؛ يحتفظ المستخدمون بالتحكم ويمكنهم استخدام ملفاتهم في تطبيقات أخرى. "الفولاذ المقاوم للصدأ" مثال آخر - خصائصه قابلة للتحقق بشكل مستقل. على النقيض من ذلك، فإن الشروط والسياسات ليست ذاتية الضمان؛ يمكن للشركات تغييرها بأثر رجعي، مما يؤثر على بيانات المستخدم (مثل Google و Zoom). إن وعد الخصوصية الحقيقي ذي الضمان الذاتي يضمن عدم وصول الأداة إلى بيانات المستخدم في المقام الأول. تحذر المقالة من أن ترميز القيم في الحوكمة أو الاعتماد فقط على المصدر المفتوح لا يمثل حماية موثوقة. إن اختيار أدوات ذات وعود ذاتية الضمان يساعد في التخفيف من أوجه عدم اليقين بشأن مستقبل الأداة، مثل إغلاق الأعمال أو عمليات الاستحواذ.

بحث سلسلة فرعية أسرع بنسبة 60% في Zig باستخدام SIMD

2025-08-11
بحث سلسلة فرعية أسرع بنسبة 60% في Zig باستخدام SIMD

تشرح هذه المقالة كيف حقق الكاتب زيادة في سرعة البحث عن السلاسل الفرعية بنسبة 60% تقريبًا في لغة البرمجة Zig باستخدام تعليمات SIMD. تم تنفيذ خوارزمية صديقة لـ SIMD، حيث تم استخراج الحرف الأول والأخير من سلسلة البحث الفرعية، وتم الاستفادة من عمليات المقارنة المتوازية SIMD للحد بشكل كبير من عمليات الوصول إلى الذاكرة. تُظهر اختبارات الأداء انخفاضًا بنسبة 80% في دورات وحدة المعالجة المركزية وتحسينات كبيرة في السرعة، خاصةً مع النصوص الكبيرة. على الرغم من أن المكاسب أقل أهمية مع النصوص الأصغر، إلا أن إمكانات SIMD واضحة. كما تستكشف المقالة اختلافات الأداء مع عمليات اختيار أحرف مختلفة ومجموعات تعليمات SIMD (AVX2 و AVX-512)، وتناقش سبب عدم دمج هذا التحسين في مكتبة Zig القياسية.

تقرير التكنولوجيا الخاص بمؤسسة Rust لعام 2025: الأمان، والقدرة على التوسع، وسهولة الاستخدام للمطورين

2025-08-11
تقرير التكنولوجيا الخاص بمؤسسة Rust لعام 2025: الأمان، والقدرة على التوسع، وسهولة الاستخدام للمطورين

أصدرت مؤسسة Rust تقرير التكنولوجيا الخاص بها لعام 2025، والذي يلخص عامًا من التطورات المهمة في دعم لغة برمجة Rust ونظامها البيئي. يسلط التقرير الضوء على عمل المؤسسة المركّز على تأمين سلسلة توريد Rust، وتحسين البنية التحتية الحرجة، وتعزيز جاهزية Rust للاستخدامات الحرجة من حيث السلامة، وتعزيز التشغيل البيني مع C++. وتشمل الإنجازات الرئيسية: إطلاق Trusted Publishing الكامل على crates.io؛ تقدم كبير في بنية تحتية التوقيع على الحزم القائمة على TUF؛ دمج مواصفات لغة Ferrocene في مشروع Rust؛ خفض تكاليف بنية تحتية CI بنسبة 75%؛ توسيع نطاق اتحاد Rust ذي الأهمية الحرجة من حيث السلامة؛ والمشاركة المباشرة مع هيئات معايير ISO C++. تضمن هذه الجهود أن يظل Rust آمنًا، وموثوقًا، وجاهزًا لتلبية متطلبات تطوير البرمجيات الحديثة.

بايثون تحل مشكلة "التبعية الوهمية": انتصار لـ PEP 770 و SBOMs

2025-08-11
بايثون تحل مشكلة

أصدر سيث لارسون، مطور الإقامة الأمنية في مؤسسة برمجيات بايثون، بالتعاون مع ألفا أوميغا، ورقة بيضاء تُفصّل حل مشكلة "التبعية الوهمية". يعتمد هذا الحل على PEP 770 وقوائم المواد البرمجية (SBOMs) لتحسين قابلية قياس حزم بايثون. يسمح هذا للأنظمة الآلية، مثل ماسحات الأخطاء الأمنية، بتقديم نتائج دقيقة حتى في الرسوم البيانية المعقدة للتبعيات الشائعة في الحوسبة العلمية، والحوسبة عالية الأداء، والذكاء الاصطناعي. تقوم مشاريع رئيسية مثل NumPy، والتشفير، و pip بتقييم اعتماد PEP 770 بالفعل.

التطوير

العموميات في وقت التجميع في بي إتش بي: حل وسط عملي

2025-08-11
العموميات في وقت التجميع في بي إتش بي: حل وسط عملي

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

التطوير وقت التجميع

تعزيز أداء eBPF: الكشف عن آلية الـ Trampoline

2025-08-11

تتناول هذه المدونة آلية الـ Trampoline في eBPF، وهي تحسين أساسي للأداء. مع تزايد استخدام eBPF في مراقبة الأنظمة والمجالات الأخرى، أصبح تنفيذ البرامج بكفاءة أمرًا بالغ الأهمية. تتجنب آلية الـ Trampoline عبء معالجة الاستثناءات في طرق kprobe التقليدية من خلال استدعاء برامج eBPF مباشرة. تشرح المقالة تفاصيل آلية عمل الـ Trampoline، مع تغطية حالات الاستخدام المتقدمة مثل معالجة نقاط دخول ومخارج الوظائف، ومرور الوسائط المتعددة، وتحسينات التنفيذ على ARM64.

التطوير

بولت: لغة مضمنة فائقة السرعة

2025-08-11
بولت: لغة مضمنة فائقة السرعة

بولت هي لغة برمجة خفيفة الوزن، فائقة السرعة، وآمنة من حيث النوع، قابلة للدمج، مصممة للتطبيقات في الوقت الحقيقي. تتميز بأدائها الاستثنائي، متفوقة على اللغات الأخرى في فئتها؛ وبتنفيذها المضغوط الذي يقلل من حجم الإنشاء؛ وسرعة التجميع المذهلة (أكثر من 500 ألف سطر من التعليمات البرمجية لكل مؤشر ترابط في الثانية)؛ وسهولة دمجها (بضع سطور من التعليمات البرمجية فقط)؛ ونظام أنواعها الغني الذي يكتشف الأخطاء قبل وقت التشغيل؛ وتصميمها الذي يركز على الدمج، مع التركيز على الأداء والمرونة بين اللغات. حاليًا، يتم تجميع بولت على نظام x64 وتم اختبارها على مُجمعات MSVC و GCC و Clang، ولكنها لا تزال قيد التطوير النشط وليست مستقرة بعد.

مُترجم بلغة بايثون مكون من ٣٠٠ سطر: تحويل الإغلاقات مُفصّلًا

2025-08-11
مُترجم بلغة بايثون مكون من ٣٠٠ سطر: تحويل الإغلاقات مُفصّلًا

أثناء العمل على البرنامج التعليمي لـ Ghuloum، أعاد المؤلف تنفيذ مُترجم مكتوب أصلاً بلغة C، محققًا نسخة مختصرة من بايثون تتكون من ٣٠٠ سطر (بما في ذلك الاختبارات). يقوم هذا المُترجم بتحويل الإغلاقات، مُعالجة ربط المتغيرات، وتتبع المتغيرات الحرة، وإدارة كائنات التعليمات البرمجية. تُفصّل هذه المقالة التنفيذ، مُغطية تعبيرات lambda و let، ونداءات الوظائف، مُقدمة حالات اختبار وأمثلة رمز التجميع. والنتيجة هي مُترجم مُدمج بشكل مُدهش قادر على معالجة الإغلاقات ونداءات الوظائف غير المباشرة، مُظهرًا حلولًا أنيقة للمشاكل المعقدة.

القسمة الآمنة في لغة C باستخدام Maybe

2025-08-11

تتناول هذه المقالة تنفيذ حاويات عامة آمنة من حيث النوع والحدود في لغة C. يقدم الكاتب نوعًا يُدعى Maybe مستوحى من Haskell، للتعامل مع الدوال التي قد تُرجع قيمة غير موجودة (مثل القسمة على صفر). تم إنشاء دالة قسمة آمنة باستخدام وحدات ماكرو لتحديد Maybe، مع معالجة القسمة على صفر وحالة الحد من قسمة أصغر عدد صحيح قابل للتعبير عنه على -1. تم تحليل رمز التجميع الذي تم إنشاؤه بواسطة GCC للتحقق من أمان الدالة. ويختتم الكاتب بملاحظة حدود هذا النهج في إثبات الأمان الكامل لبرامج C.

أسرع من memcpy: مقياس أداء لأساليب نسخ الذاكرة المخصصة

2025-08-11

أثناء عملية التشكيل الجانبي، وجد المؤلف أن `memcpy` كانت تشكل عنق زجاجة للرسائل الثنائية الكبيرة. تم تنفيذ العديد من أساليب نسخ الذاكرة المخصصة وقياس أدائها، بما في ذلك المتغيرات التي تستخدم تعليمات REP MOVSB وAVX (محاذاة، محاذاة تيار، ومحاذاة تيار مع استباق). بالنسبة للرسائل الصغيرة إلى المتوسطة الحجم، حققت نسخة AVX المُفككة أفضل أداء. بالنسبة للرسائل الكبيرة (> 1 ميجابايت)، كانت نسخة AVX المُحاذاة بالتيار مع الاستباق هي الأسرع، لكن أدائها في الرسائل الصغيرة كان سيئًا للغاية. الخلاصة: يوفر `std::memcpy` توازنًا جيدًا بين الأداء وقابلية التكيف؛ أساليب مخصصة غير ضرورية ما لم يكن الأداء ذا أهمية قصوى.

MCP: البروتوكول الذي يبني صدفةً نظامًا بيئيًا عالميًا للإضافات

2025-08-10
MCP: البروتوكول الذي يبني صدفةً نظامًا بيئيًا عالميًا للإضافات

تستكشف هذه المقالة الإمكانات غير المتوقعة لبروتوكول سياق النموذج (MCP)، مدعيةً أنه أكثر من مجرد مُحسّن للذكاء الاصطناعي. بمقارنة تشبيهية مع تنوع منفذ USB-C - الذي يربط كل شيء من الهواتف إلى محمّصات الخبز - يقترح الكاتب أن إمكانات MCP تتجاوز الذكاء الاصطناعي، حيث تعمل كطريقة موحدة لربط مصادر البيانات والأدوات المختلفة. يُستخدم تطبيقهم، APM، خوادم MCP من أجل قابلية التوسيع، مما يوفر ميزات مثل التدقيق الإملائي، وإدارة المهام، وحتى استجابات وكلاء الذكاء الاصطناعي المشابهة لـ Warcraft 3. في النهاية، تُشير المقالة إلى ظهور MCP كنظام بيئي عالمي قوي وغير متوقع للإضافات.

التطوير

تشغيل 5000 آلة افتراضية Erlang على خادم Ampere One ذي 192 نواة

2025-08-10
تشغيل 5000 آلة افتراضية Erlang على خادم Ampere One ذي 192 نواة

نجحت شركة Underjord للاستشارات المتخصصة في Elixir و Nerves في تشغيل 5000 آلة افتراضية Erlang على خادم Ampere One ذي 192 نواة. تقوم كل آلة افتراضية بتشغيل جهاز Linux IoT باستخدام إطار عمل Nerves. تم تحقيق ذلك باستخدام برنامج تحميل جديد يسمى little_loader، مما يبسط عملية بدء تشغيل آلات QEMU الافتراضية ARM64 ويستفيد من تسريع KVM. وشملت التحديات مشاكل في عملية التجميع وتحسين الذاكرة، ولكن تم التغلب عليها من خلال ضبط مُخصصات آلة BEAM الافتراضية، وأنماط إصدار Erlang، ومعلمات نواة Linux. تم تشغيل أكثر من 5000 آلة افتراضية بنجاح، مما فتح إمكانيات جديدة لاختبار وتطوير إطار عمل Nerves وإمكانية دمجه في أدوات Nerves المستقبلية.

التطوير

OS/2: طموح مايكروسوفت لنظام التشغيل من الجيل التالي

2025-08-10

نشرت مجلة Computer Language مقالًا في عام 1987، مفصلاً نظام التشغيل الجديد من مايكروسوفت، OS/2، متنبئةً بإمكاناته في هيمنة أجهزة الكمبيوتر الصغيرة من نوع Intel 80286/80386 في العقد القادم. وقد تم تسليط الضوء على قدراته على تعدد المهام، وواجهة برمجة التطبيقات الشاملة، وإمكانية التوسع في الأجهزة باعتبارها نقاط قوة رئيسية. تتميز بنية OS/2 بثلاث طبقات: النواة وخدمات النظام، ومدير عرض Windows (WPM)، ومدير شبكة OS/2 LAN Manager. ركز المقال على النواة وخدماتها، متناولاً إدارة العمليات، وإدارة الذاكرة (بما في ذلك الذاكرة الظاهرية)، وبرامج تشغيل الأجهزة، وإدارة الملفات، والاتصال بين العمليات (IPC). استخدم OS/2 جدولة استباقية وتقسيم الوقت، ودعم الوضع المحمي والوضع الحقيقي، ووفر توافقًا مع MS-DOS. كانت الربط الديناميكي عنصرًا بالغ الأهمية، مما يحسن من إعادة استخدام الشفرة ويضمن استمرارية التطبيقات. اختتم المقال بالتكهنات حول التحسينات المستقبلية لـ OS/2 ودعم 80386.

التطوير

تهيئة مفاتيح واجهة برمجة التطبيقات لبناء تطبيقات الذكاء الاصطناعي

2025-08-10
تهيئة مفاتيح واجهة برمجة التطبيقات لبناء تطبيقات الذكاء الاصطناعي

يوضح هذا المستند تهيئة مفاتيح واجهة برمجة التطبيقات اللازمة لبناء تطبيقات الذكاء الاصطناعي. مفاتيح واجهة برمجة التطبيقات الخاصة بـ E2B و Firecrawl إلزامية، حيث توفر [أضف وصف وظيفة E2B هنا] وإمكانيات استخراج البيانات من الويب على التوالي. اختياريًا، يمكنك تهيئة مفاتيح واجهة برمجة التطبيقات الخاصة بـ Anthropic أو OpenAI أو Groq للاستفادة من نماذج الذكاء الاصطناعي القوية الخاصة بها للقياس الاستنتاجي؛ يُوصى باستخدام نموذج Kimi K2 من Groq للقياس الاستنتاجي السريع.

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

2025-08-10

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

التطوير إكمال التبويب

POML: ثورة في هندسة المطالبات لأنظمة معالجة اللغات الكبيرة

2025-08-10
POML: ثورة في هندسة المطالبات لأنظمة معالجة اللغات الكبيرة

POML (Prompt Orchestration Markup Language) هي لغة ترميز جديدة مصممة لإضفاء البنية والصيانة والتنوع على هندسة المطالبات المتقدمة لأنظمة معالجة اللغات الكبيرة (LLMs). فهي تعالج التحديات الشائعة مثل نقص البنية، وتكامل البيانات المعقدة، وحساسية التنسيق. توفر POML نهجًا منهجيًا لتنظيم مكونات المطالبات، ودمج أنواع البيانات المختلفة بسلاسة، وإدارة اختلافات العرض التقديمي. يُمكّن هذا المطورين من إنشاء تطبيقات LLMs أكثر تطوراً وموثوقية. تتوفر مجموعة أدوات تطوير غنية، بما في ذلك امتداد VS Code وواجهات برمجة التطبيقات Node.js/Python، مما يبسط عملية التطوير والدمج.

التطوير

تحسين trie p-fast: خوارزمية مطابقة البادئة عالية الكفاءة

2025-08-10

تقدم هذه المقالة بنية بيانات trie p-fast محسّنة، وهي خوارزمية فعّالة للغاية للعثور على أطول بادئة مطابقة أو أقرب سلف/خلف لسلسلة الاستعلام في مجموعة من السلاسل. بالمقارنة مع الإصدارات السابقة، فإن هذا الإصدار المحسّن أكثر إيجازًا وكفاءة من حيث المساحة. يستخدم جدول هاش لتخزين كل بادئة فريدة، وبيتماب لتمثيل الأحرف التالية المحتملة لكل بادئة، ليحقق تعقيدًا زمنيًا قدره O(log k) (حيث k هو طول المفتاح). على الرغم من أن عمليات البحث عن الأسلاف قد تتطلب المزيد من الاستقصاءات، إلا أن أداءها لا يزال يتفوق على trie qp التقليدية.

تصحيح الأخطاء التفاعلي في GitHub Actions: وداعًا للصندوق الأسود

2025-08-10
تصحيح الأخطاء التفاعلي في GitHub Actions: وداعًا للصندوق الأسود

يمكن أن يكون تصحيح أخطاء سير عمل GitHub Actions الفاشلة كابوسًا. تشرح هذه المقالة طريقة ذكية: استخدام netcat و ngrok لإنشاء قشرة عكسية، مما يمنحك حق الوصول التفاعلي إلى قشرة المُشغّل. من خلال تهيئة أوامر netcat وإعادة توجيه منفذ ngrok في سير عمل GitHub Actions الخاص بك، يمكنك الاستماع على منفذ محلي والحصول على قشرة متصلة بالمشغّل لتسهيل تصحيح الأخطاء. على الرغم من أنها معقدة بعض الشيء، إلا أن هذه الطريقة فعالة بشكل لا يصدق في استكشاف الأخطاء وإصلاحها، مما يحسّن كفاءة المطور بشكل كبير. كما يتم تقديم بديل أبسط باستخدام إجراء `mxschmitt/action-tmate`.

التطوير قشرة عكسية

Framework Desktop: حجم صغير، قوة كبيرة لنظام Linux

2025-08-10
Framework Desktop: حجم صغير، قوة كبيرة لنظام Linux

يُعدّ جهاز Framework Desktop آلة قوية بشكل مدهش. يخفي حجمه الصغير أداءً رائعًا، وذلك بفضل معالج AMD Ryzen AI Max 395+. تُظهر الاختبارات المعيارية أنه يتفوق بشكل كبير على المنافسين في المهام متعددة النواة، وهو أمر مهم بشكل خاص للمطورين الذين يستخدمون Docker. وعلى الرغم من كونه أغلى من بعض البدائل، إلا أنه يوفر قيمة استثنائية، خاصة عند مقارنته بجهاز Mac Studio، حيث يقدم أداءً أفضل بتكلفة أقل. إن تشغيله الهادئ، وجماليته القابلة للتخصيص، وقدرته القوية على الألعاب تجعله خيارًا جذابًا للمطورين الذين يستخدمون نظام Linux واللاعبين على حد سواء.

التطوير

إصدار Debian 13 Trixie: نظام تشغيل عالمي أكثر استقرارًا وقوة

2025-08-10

بعد أكثر من عامين من التطوير، أصبح Debian 13 Trixie متاحًا أخيرًا! يحتوي هذا الإصدار على أكثر من 69830 حزمة، ويدعم سبع بنى (amd64، arm64، armel، armhf، ppc64el، riscv64، و s390x)، ويدعم رسميًا بنية riscv64 لأول مرة. يتضمن Trixie العديد من حزم البرامج المحدثة، مثل نواة Linux 6.12 LTS، و OpenJDK 21، و Python 3.13، بالإضافة إلى دعم مُحسّن للأجهزة وبرنامج تثبيت مُحسّن. يتم أتمتة الترقية إلى Trixie من Debian 12 Bookworm عبر APT، ولكن يُنصح بشدة بنسخ البيانات المهمة احتياطيًا. مع خمس سنوات من الدعم، يعد Trixie مثاليًا لأجهزة سطح المكتب والخوادم وبيئات السحابة.

التطوير

ما وراء "دعها تنهار": إعادة التفكير في معالجة الأخطاء في إليكسير

2025-08-10
ما وراء

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

التطوير
1 2 26 27 28 30 32 33 34 213 214