Category: التطوير

خادم لغة Kotlin تجريبي لـ VS Code

2025-05-22
خادم لغة Kotlin تجريبي لـ VS Code

يُتاح الآن خادم لغة Kotlin رسمي قبل الإصدار التجريبي الأولي لـ Visual Studio Code، حيث يُنفذ بروتوكول خادم اللغة لكوتلن. يعتمد هذا الخادم على IntelliJ IDEA وإضافته لكوتلن، وهو يدعم معظم الميزات الأساسية، ولكنه تجريبي ولا يقدم ضمانات للاستقرار. في الوقت الحالي، يتم دعم مشاريع Kotlin Gradle الخاصة بـ JVM فقط بشكل مباشر. أجزاء من التنفيذ مغلقة المصدر حاليًا من أجل سرعة تطوير أسرع، مع خطط لفتح المصدر بالكامل لاحقًا. على الرغم من سهولة تثبيته كإضافة لـ VS Code، إلا أن المحررين الآخرين يتطلبون تكوينًا يدويًا. يُشجع المستخدمون على تجربته وتقديم التعليقات، لكن لا يتم دعم المساهمات المباشرة في التعليمات البرمجية حتى الآن.

التطوير

من الرفض إلى القبول: قوة الصفحة الأولى

2025-05-22
من الرفض إلى القبول: قوة الصفحة الأولى

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

العثور على المعلومات في رسائل البريد الإلكتروني باستخدام نماذج اللغة الكبيرة وخادم MCP

2025-05-22

بنى الكاتب خادم MCP لمنح نموذج لغة كبير (LLM) حق الوصول للقراءة فقط إلى رسائله الإلكترونية. من خلال محادثة مع Gemini (وهو نموذج LLM)، يُظهر الكاتب كيفية استخدام أدوات البحث والاسترجاع البسيطة للعثور على اسم ابن Donovan في رسائل البريد الإلكتروني. على الرغم من أن استراتيجية البحث الأولية لـ Gemini استخدمت العديد من الكلمات الرئيسية (مثل "son" و "boy" و "baby"), إلا أن معظمها قاد إلى أقارب Donovan. في النهاية، حدد Gemini أدلة من نتائج البحث الأولية، وقام بتحليل عناوين رسائل البريد الإلكتروني ومحتوياتها، ليجد بنجاح اسم الابن وهو Monty. تُبرز هذه العملية قوة نماذج اللغة الكبيرة مجتمعة مع أدوات محددة لاسترجاع المعلومات، وتؤكد على أهمية استراتيجيات البحث الدقيقة.

التطوير

تحويل ملفات CSV إلى جداول HTML قابلة للبحث باستخدام JavaScript فقط

2025-05-22
تحويل ملفات CSV إلى جداول HTML قابلة للبحث باستخدام JavaScript فقط

هل سئمت من التعامل مع بيانات CSV؟ هذا المشروع الذي يعمل بلغة JavaScript فقط يحول ملفات CSV إلى جداول HTML جميلة، قابلة للبحث والتصفية. باستخدام شفرة بسيطة، يمكنك عرض بياناتك، وتخصيص التنسيق، وتمكين التنزيل، ودمج الجدول بسلاسة. تحقق من العرض التجريبي وبسّط معالجة بياناتك اليوم!

التطوير

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

2025-05-22

أدى صيانة 200,000 سطر من شفرة كوبول إلى اكتشاف كنز من الاختراقات المبتكرة والخصائص التاريخية الغريبة. اكتشف المؤلف الأرقام العشرية، وتحليل السلاسل الذكي باستخدام تعريفات البيانات، وتعليمة "REDEFINES" المستخدمة في توطين البرمجيات (حتى مع إعادة تعريفات باللغة الإسبانية!). تم تنفيذ عمليات الخروج المبكرة لإنهاء المهمة بشكل مفاجئ، واحتوى ملف بشكل غامض على الأرقام الطبيعية الثمانية المائة الأولى كقيم سلسلة ثابتة. وتختتم القصة بالكشف عن أن الأمر "dd" في يونكس مشتق من تعليمة "DD" في كوبول لتعريف البيانات، مما يُظهر الإرث غير المتوقع لبرمجة الحواسيب الكبيرة.

التطوير شفرة قديمة

arXivLabs: تعاون مجتمعي على ميزات arXiv

2025-05-21
arXivLabs: تعاون مجتمعي على ميزات arXiv

arXivLabs هو إطار عمل يسمح للمشاركين بتطوير ومشاركة ميزات arXiv جديدة مباشرة على الموقع الإلكتروني. يجب على المشاركين تبني قيم arXiv من الانفتاح والمجتمع والتميز وخصوصية بيانات المستخدم. هل لديك فكرة لتحسين مجتمع arXiv؟ تعرف على المزيد حول arXivLabs.

التطوير

تحسين عرض الجداول في iText Core: من 5 دقائق إلى 7 ثوانٍ

2025-05-21
تحسين عرض الجداول في iText Core: من 5 دقائق إلى 7 ثوانٍ

قام المهندس جوست من شركة Apryse بتحسين أداء عرض الجداول في iText Core. من خلال تجنب عمليات حسابات الانهيار المتكررة للحدود وزيادة العلامات غير الضرورية، انخفض وقت عرض جدول مكون من 50,000 خلية من 5 دقائق إلى 7 ثوانٍ. ركزت التحسينات على وظيفة `CollapsedTableBorders#getVerticalBorder` ومعالجة العلامات، مما أدى إلى تحسين الأداء بشكل كبير من خلال تخزين البيانات مؤقتًا، وإزالة عمليات استدعاء الوظائف الزائدة، وإضافة العلامات بشكل جماعي. تم تضمين هذا التحسين في إصدار iText Core 9.1.0.

التطوير عرض ملفات PDF

Rocky Linux 10 يدعم RISC-V: قفزة كبيرة للمصادر المفتوحة

2025-05-21

استعدّ لـ Rocky Linux 10! يُمثّل هذا الإصدار علامة فارقة مهمة: دعم رسمي لهيكلة RISC-V. بفضل الجهود التعاونية من مجتمع Fedora RISC-V و AltArch SIG التابع لـ Rocky، سيتم تضمين بنية riscv64gc، والتي تستهدف منصات مثل StarFive VisionFive 2 و QEMU و SiFive HiFive Premier P550. على الرغم من أن بعض الميزات قد تكون محدودة على بعض المنصات مثل P550، إلا أن الوظائف الجاهزة للاستخدام على VisionFive 2 و QEMU تُعدّ من النقاط البارزة. هذه المبادرة التي يقودها المجتمع، والتي بدأت في أوائل عام 2024، تُظهر قوة التعاون في مجال المصادر المفتوحة مع جهود Fedora RISC-V الأساسية.

التطوير

ACE-RISCV: إطار عمل الحوسبة السرية مفتوح المصدر لـ RISC-V

2025-05-21
ACE-RISCV: إطار عمل الحوسبة السرية مفتوح المصدر لـ RISC-V

ACE-RISCV هو مشروع مفتوح المصدر يوفر إطار عمل للحوسبة السرية مع مُراقِب أمان مُتحقق منه رسميًا. يستهدف RISC-V مع مراعاة قابلية النقل، ويركز على التحقق الرسمي من تنفيذ مُراقِب الأمان. يدعم المشروع المصادقة المحلية ويستخدم التشفير ما بعد الكم (PQC)، بما في ذلك ML-KEM و SHA-384 و AES-GCM-256. تتوفر تعليمات مفصلة حول عملية البناء والتشغيل لمعمارية RISC-V 64 بت.

P مقابل PSPACE: هل المساحة أكثر قوة حسابيًا من الزمن؟

2025-05-21
P مقابل PSPACE: هل المساحة أكثر قوة حسابيًا من الزمن؟

سؤال محوري في نظرية التعقيد هو العلاقة بين فئتي التعقيد P و PSPACE. تشمل P المشكلات القابلة للحل في وقت معقول، بينما يتعامل PSPACE مع تعقيد المساحة. الاعتقاد السائد هو أن PSPACE أكبر من P، نظرًا لإمكانية إعادة استخدام المساحة على عكس الزمن. لإثبات ذلك، يتطلب الأمر إظهار مشكلات في PSPACE غير قابلة للحل في وقت متعدد الحدود. تستعرض المقالة الاختراق الذي حدث عام 1975 على يد Hopcroft و Paul و Valiant، والذي أظهر تفوق المساحة بشكل طفيف على الزمن، لكن التقدم توقف. وقد كسر عمل Ryan Williams الجمود أخيرًا، مما أتاح رؤى جديدة لحل مشكلة P مقابل PSPACE.

التطوير P مقابل PSPACE

مواقع Appwrite: نشر واستضافة مواقع الويب في مكان واحد

2025-05-21
مواقع Appwrite: نشر واستضافة مواقع الويب في مكان واحد

أطلقت Appwrite منتجًا جديدًا يسمى Sites، والذي يتيح لك نشر مواقع الويب وتطبيقات الويب واستضافتها مباشرةً داخل Appwrite. وداعًا للتبديل بين منصات متعددة والإعدادات المعقدة؛ فقط قم بالبناء والنشر والانتقال مباشرةً. يدعم Sites مواقع الويب الثابتة وتطبيقات SSR، مع دمج Git وشبكة CDN عالمية وحماية DDoS، بالإضافة إلى التكامل السلس مع قواعد البيانات والوظائف والتخزين وخدمات المصادقة من Appwrite. تتوفر العديد من القوالب القابلة للنشر بنقرة واحدة، مع دعم الاستضافة الذاتية. خدمة Appwrite Sites مجانية حتى 1 يوليو 2025.

جوجل إي آي ستوديو: تطوير تطبيقات الذكاء الاصطناعي المُعزّز بواسطة جيميني 2.5 برو

2025-05-21
جوجل إي آي ستوديو: تطوير تطبيقات الذكاء الاصطناعي المُعزّز بواسطة جيميني 2.5 برو

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

جدولة Go: من البدايات المتواضعة إلى محرك قوي

2025-05-21
جدولة Go: من البدايات المتواضعة إلى محرك قوي

تتناول هذه المدونة التدوين تطوّر مُجدول Go، مُتتبّعة رحلته من طابور تشغيل عالميّ غير فعّال إلى نموذج GMP (Goroutine، Machine، Processor) عالي الأداء. تُفصّل هذه التدوينة أدوار وآليات كلّ مُكوّن في نموذج GMP، بما في ذلك إنشاء Goroutine، والاستباق، ومعالجة نداءات النظام، ودور netpoll في مدخلات/مخرجات الشبكة والملفات. تُشرح آليات الاستباق التعاوني وغير التعاوني. من خلال تحليل شفرة المصدر لوقت تشغيل Go، يكتسب القراء فهمًا أعمق لنموذج التزامن في Go، ما يُمكّنهم من كتابة برامج مُتزامنة أكثر كفاءةً.

التطوير مُجدول

مكونات ويب واجهة المتجر من Shopify: تكامل تجارة إلكترونية مبسّط

2025-05-21
مكونات ويب واجهة المتجر من Shopify: تكامل تجارة إلكترونية مبسّط

أصدرت Shopify مكونات ويب واجهة المتجر، وهي مجموعة من مكونات HTML التي تبسّط دمج إمكانيات التجارة الإلكترونية من Shopify في أي موقع ويب. اعرض المنتجات والمجموعات وعمليات الدفع باستخدام الحد الأدنى من HTML. هذه المكونات تتعامل مع تعقيدات التفاعل مع واجهة برمجة تطبيقات Shopify Storefront، مما يلغي الحاجة إلى JavaScript معقد. أنشئ تجارب تسوق مخصصة باستخدام CSS و HTML، وهي مناسبة لدمجها في المحتوى الحالي أو إنشاء صفحات جديدة تمامًا.

LlamaDev: أداة إدارة Monorepo الجديدة من LlamaIndex

2025-05-21
LlamaDev: أداة إدارة Monorepo الجديدة من LlamaIndex

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

التطوير

Langfuse تطلق لوحات تحكم قابلة للتخصيص: إطلاق العنان لقدرات بيانات استخدام LLM

2025-05-21
Langfuse تطلق لوحات تحكم قابلة للتخصيص: إطلاق العنان لقدرات بيانات استخدام LLM

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

التطوير لوحات التحكم

arXivLabs: مشاريع تجريبية مع متعاونين من المجتمع

2025-05-21
arXivLabs: مشاريع تجريبية مع متعاونين من المجتمع

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

التطوير

تصور رسم بياني للتضمين في Chromium: مغامرة GraphML بحجم 150 ميجابايت

2025-05-21
تصور رسم بياني للتضمين في Chromium: مغامرة GraphML بحجم 150 ميجابايت

تُفصّل هذه المشاركة عملية تصوّر الرسم البياني الضخم للتضمين في Chromium باستخدام clang-include-graph، وهي أداة سطر أوامر. اشتملت العملية على بناء Chromium لإنشاء ملف compile_commands.json، ثم استخدام clang-include-graph لإنتاج ملف GraphML بحجم 150 ميجابايت. تم تصوّر هذا الملف، الذي يحتوي على أكثر من 140,000 عقدة و1,3 مليون حافة، باستخدام Gephi. حللت نصوص Python الرسم البياني، وكشفت عن إحصائيات مثيرة للاهتمام، مثل مكون متصل بقوة يتكون من 92 عقدة مسؤول عن 99% من الدورات. يستكشف الكاتب تخطيطات تصوّر مختلفة ويناقش التحديات المرتبطة بالعمل مع مجموعة بيانات ضخمة كهذه.

التطوير تصور الشفرة

استدعاءات دالة LLM لا تتوسع؛ التنسيق البرمجي أسهل وأكثر فعالية

2025-05-21
استدعاءات دالة LLM لا تتوسع؛ التنسيق البرمجي أسهل وأكثر فعالية

إعادة تغذية الإخراج الكامل لاستدعاءات الأدوات إلى نماذج اللغات الكبيرة (LLMs) مكلف وبطيء. تجادل هذه المقالة بأن مخططات الإخراج، التي تُمكّن من استعادة البيانات المُهيكلة، تسمح لنماذج اللغات الكبيرة بتنسيق المعالجة عبر الكود المُولّد - وهي طريقة أبسط وأكثر فعالية. الأساليب التقليدية، حيث يتم إعادة تغذية مخرجات الأدوات إلى نماذج اللغات الكبيرة كرسائل لتحديد الخطوة التالية، تعمل بشكل جيد مع مجموعات البيانات الصغيرة، لكنها تفشل على نطاق واسع (على سبيل المثال، كتل JSON الكبيرة من خوادم MCP Linear و Intercom). تقترح المقالة تنفيذ الكود كطريقة أساسية لمعالجة البيانات، باستخدام المتغيرات كذاكرة، والكود لتنسيق العديد من استدعاءات الدوال لمعالجة البيانات القابلة للتوسع، والتغلب على مشاكل التكلفة، والسرعة، وفقدان البيانات المحتمل لنماذج اللغات الكبيرة التي تُعالِج مجموعات البيانات الكبيرة. هذا يتطلب بيئات تشغيل آمنة وخالية من الحالة للذكاء الاصطناعي، وهي لا تزال قيد التطوير الأولي.

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

Devstral: نموذج لغة كبير مفتوح المصدر يتفوق على GPT-4.1-mini في معيار هندسة البرمجيات

2025-05-21
Devstral: نموذج لغة كبير مفتوح المصدر يتفوق على GPT-4.1-mini في معيار هندسة البرمجيات

تعاونت Mistral AI و All Hands AI لإطلاق Devstral، وهو نموذج لغوي كبير (LLM) وكيل لمهام هندسة البرمجيات. يتفوق Devstral في معيار SWE-Bench Verified، محققًا درجة تتجاوز 46.8٪، وهي أعلى بنسبة 6٪ من نماذج المصدر المفتوح السابقة، بل إنه يتجاوز GPT-4.1-mini. يتصدى Devstral لمشاكل هندسة البرمجيات المعقدة، مثل فهم العلاقات السياقية ضمن قواعد بيانات التعليمات البرمجية الكبيرة وتحديد الأخطاء الدقيقة. يُعد Devstral خفيف الوزن، ويعمل على بطاقة RTX 4090 واحدة أو جهاز Mac مزود بذاكرة وصول عشوائي سعة 32 جيجابايت، ويدعم النشر المحلي، والاستخدام على مستوى المؤسسات، وتكامل Copilot. النموذج مفتوح المصدر ومتوفر عبر واجهة برمجة التطبيقات وخيارات التنزيل المتعددة.

التطوير هندسة برمجيات

تحرير النصوص التعاوني بدون CRDT أو OT

2025-05-21

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

استئناف متعدد الأجهزة في نظام التشغيل Windows 11: وداعًا للتجارب المتقطعة

2025-05-21
استئناف متعدد الأجهزة في نظام التشغيل Windows 11: وداعًا للتجارب المتقطعة

عرضت Microsoft ميزة جديدة لاستئناف متعدد الأجهزة لنظام التشغيل Windows 11 في مؤتمر Build 2025، مشابهة لميزة Handoff من Apple. يسمح هذا للمطورين بمواصلة استخدام التطبيق بسلاسة بين الأجهزة. أظهر العرض التوضيحي Spotify، حيث يمكن للمستخدمين استئناف تشغيل أغنية على جهاز الكمبيوتر الذي يعمل بنظام Windows من المكان الذي توقّفوا فيه على هواتفهم. تم عرض WhatsApp أيضًا. هذه الميزة، التي تبدو خليفة لمشروع Rome، تعد بتجارب أكثر سلاسة بين الأجهزة وزيادة اكتشاف التطبيقات على Windows للمطورين الخارجيين.

الكتل و Procs و Lambdas في Ruby: اختلافات دقيقة في الإغلاقات

2025-05-21
الكتل و Procs و Lambdas في Ruby: اختلافات دقيقة في الإغلاقات

تتناول هذه المقالة الاختلافات بين الكتل و Procs و Lambdas في Ruby. على الرغم من أن جميعها تجمع التعليمات البرمجية للتنفيذ، إلا أنها تختلف بشكل دقيق: Procs هي كائنات، قابلة للتعيين وقابلة للاستدعاء باستخدام طرق، على عكس الكتل التي هي جزء فقط من بناء جملة استدعاء الطريقة؛ يسمح استدعاء الطريقة بكتلة واحدة على الأكثر، ولكن العديد من Procs؛ تتحقق Lambdas من عدد الوسائط، بينما لا تفعل Procs؛ وتتعامل Lambdas و Procs مع كلمة المفتاح `return` بشكل مختلف. تشرح المقالة أيضًا الإغلاقات، وأصل أسماء 'proc' و 'lambda'، وتتناول حساب لامدا والوظائف المجهولة.

التطوير الإغلاقات

تحسين وقت الربط (LTO): المستوى التالي من تحسين المُترجم؟

2025-05-21
تحسين وقت الربط (LTO): المستوى التالي من تحسين المُترجم؟

تتناول هذه المقالة تحسين وقت الربط (LTO)، وهي تقنية تعمل على تحسين أداء البرنامج من خلال إجراء عمليات تحسين أثناء مرحلة الربط. تقوم المُترجمات التقليدية بتحسين الكود داخل الملفات الفردية، بينما يسمح LTO بإجراء عمليات تحسين أكثر شمولاً عبر عدة ملفات، مثل دمج الدوال وتحسين محلية الكود. على الرغم من أن LTO قد يحقق تحسينات كبيرة في الأداء (مثلًا، انخفاض بنسبة 9.2٪ في وقت التشغيل وانخفاض بنسبة 20٪ في حجم الملف الثنائي في اختبار مشروع ProjectX)، إلا أنه يتطلب أيضًا أوقاتًا أطول للترميز والربط، بالإضافة إلى المزيد من الذاكرة. يقارن الكاتب تجارب على مشروعَي ProjectX وffmpeg لتوضيح مزايا وعيوب LTO، ويقترح تجربة LTO في المشاريع التي لم يتم تحسينها بشكل مكثف من أجل السرعة، ويخلص إلى أن المكاسب النهائية في الأداء تعتمد على المشروع المحدد.

evolved.lua: مكتبة ECS سريعة ومرنة للغة Lua

2025-05-21
evolved.lua: مكتبة ECS سريعة ومرنة للغة Lua

evolved.lua هي مكتبة نظام الكيان-المكون (ECS) سريعة ومرنة بلغة Lua. تستخدم نهجًا قائمًا على النماذج الأولية لتخزين الكيانات ومكوناتها، وتوظف بنية المصفوفات (SoA) من أجل التكرار والمعالجة بكفاءة. تدعم المكتبة الاستعلامات، والعمليات المؤجلة، والعمليات الدفعية، وميزات مثل مُنشئ الكيانات من أجل إنشاء أنظمة معقدة بشكل مبسط. قم بالتثبيت عبر luarocks أو استنساخ المستودع؛ تتضمن الوثائق نظرة عامة، وأمثلة، وورقة غش.

التطوير

Lune: بيئة تشغيل Luau مستقلة

2025-05-21
Lune: بيئة تشغيل Luau مستقلة

Lune هي بيئة تشغيل Luau مستقلة مكتوبة بلغة Rust، توفر بيئة مشابهة لـ Node.js أو Deno أو Bun للغات البرمجة الأخرى. تتميز بواجهات برمجة تطبيقات غير متزامنة بالكامل، وحجم صغير (حوالي 5 ميغابايت مضغوطة)، ودعم شامل لنظام الملفات والشبكات ومدخلات/مخرجات القياسية. كما أنها تتميز بوثائق عالية الجودة، وتوفر بيئة تشغيل مألوفة لمطوري Roblox، بما في ذلك منفذ جدولة المهام 1:1. كما تتضمن مكتبة اختيارية لمعالجة ملفات Roblox place و model وحالاتها. على الرغم من أنها قادرة على تشغيل بعض ألعاب Roblox، إلا أن الهدف الرئيسي من Lune ليس التوافق الكامل مع Roblox، بل توفير بيئة تطوير Luau فعالة وموجزة.

التطوير

arXivLabs: مشاريع تجريبية مع متعاونين من المجتمع

2025-05-21
arXivLabs: مشاريع تجريبية مع متعاونين من المجتمع

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

التطوير

ملاحظات مستخدم X: تذكر سبب كتم صوت شخص ما

2025-05-21
ملاحظات مستخدم X: تذكر سبب كتم صوت شخص ما

تُساعدك هذه الإضافة على متصفح الويب لـ x.com (تويتر سابقًا) على تذكر سبب كتم صوتك أو حظر مستخدم ما. وهي تسجل تلقائيًا أحداث الكتم/الحظر، مع حفظ الرابط والتغريدة التي كنت تشاهدها للحصول على سياق. كما أنها تضيف حقل ملاحظات خاصة إلى صفحات ملفات تعريف المستخدم، مما يسمح لك بإضافة تذكيرات شخصية لا تراها إلا أنت. يتم تخزين البيانات بأمان في التخزين المُزامن للمتصفح الخاص بك، ويتم مزامنتها عبر الأجهزة التي سجلت الدخول إلى نفس الملف الشخصي.

التطوير حظر المستخدم

Roto: لغة برمجة نصوص مضمّنة ثابتة الأنواع من أجل Rust

2025-05-21
Roto: لغة برمجة نصوص مضمّنة ثابتة الأنواع من أجل Rust

Roto هي لغة برمجة نصوص مضمّنة لتطبيقات Rust، مصممة لتكون بسيطة وسريعة وموثوقة. نشأت من الحاجة إلى مرونة أكبر في عملية الترشيح في Rotonda، وهي محرّك BGP قائم على Rust، تسمح Roto للمستخدمين بكتابة مرشّحات معقدة بسهولة. إنها ثابتة الأنواع، ومُترجمة JIT، وقابلة لإعادة التحميل السريع، مما يضمن الأداء والأمان. تتكامل Roto بسلاسة مع Rust، مما يسمح بالتسجيل المباشر لأنواع وطرُق Rust، وبالتالي إزالة عملية التحويل المكلفة. على الرغم من أنها لا تزال قيد التطوير، إلا أن Roto توفر وثائق وأمثلة للمهتمين بالتجربة.

التطوير مضمّنة

اختبار القائم على الخصائص: لماذا يتفوق على اختبار الوحدة لإدخالات معقدة

2025-05-21
اختبار القائم على الخصائص: لماذا يتفوق على اختبار الوحدة لإدخالات معقدة

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

التطوير اختبار الوحدة
1 2 80 81 82 84 86 87 88 213 214