Category: التطوير

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

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

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

التطوير

إصدار Malai 0.2.5: مشاركة سهلة لخدمات TCP المحلية

2025-05-27

يقدم إصدار Malai 0.2.5 إمكانية مشاركة خدمات TCP المحلية، مما يسمح لك بكشف أي خدمة TCP قيد التشغيل محليًا (مثل SSH و Postgres و Redis وما إلى ذلك) للعالم الخارجي بأمان. ما عليك سوى استخدام أمر بسيط لمشاركة منفذ والاتصال من أجهزة أخرى باستخدام الأمر `malai tcp-bridge`. بالإضافة إلى ذلك، يتضمن Malai الآن أمر `malai folder` لمشاركة المجلدات المحلية. توفر هذه التحديثة طريقة أكثر ملاءمة وأمانًا للمطورين والفرق للتعاون، مثل تصحيح الأخطاء عن بُعد، ومشاركة قواعد البيانات، أو خوادم الألعاب.

التطوير مشاركة الشبكة

من Arc إلى Dia: تحول شركة المتصفح إلى الذكاء الاصطناعي

2025-05-27
من Arc إلى Dia: تحول شركة المتصفح إلى الذكاء الاصطناعي

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

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

معمل منزلي هادئ: مجموعة OpenShift على أجهزة ThinkCentre Tiny المُجددة

2025-05-27
معمل منزلي هادئ: مجموعة OpenShift على أجهزة ThinkCentre Tiny المُجددة

تُفصّل هذه التدوينة معملًا منزليًا منخفض الطاقة وهادئًا تم بناؤه باستخدام أجهزة كمبيوتر Lenovo ThinkCentre Tiny مُجددة. تعمل هذه الأجهزة الصغيرة التي تعمل بنظام Red Hat Enterprise Linux على استضافة مجموعة OpenShift، على الرغم من أنها متعددة الاستخدامات بما يكفي لتطبيقات Kubernetes أو غيرها من التطبيقات المُحَوَّاة بالحاويات. يُفصّل الكاتب الأجهزة، والتكاليف (حوالي 416 يورو في المجموع)، وحتى حل تركيب رف مطبوع ثلاثي الأبعاد. مثال مثالي لكيفية بناء إعداد خادم منزلي قوي ولكنه غير مزعج.

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

2025-05-27
Cline: التخلي عن RAG من أجل نموذج جديد لمساعدة البرمجة بالذكاء الاصطناعي

Cline، وهو مساعد ترميز مدعوم بالذكاء الاصطناعي، يتجنب نهج RAG (Retrieval Augmented Generation) الشائع لصالح طريقة أكثر توافقًا مع طريقة تفكير المطورين. تُبرز المقالة ثلاث مشاكل رئيسية في استخدام RAG مع التعليمات البرمجية: منطق التعليمات البرمجية المجزأ، وعدم التزامن بين الفهرس والتعليمات البرمجية، ومخاطر الأمان. يتناول Cline هذه المشاكل من خلال فهم بنية التعليمات البرمجية (ASTs)، واستكشاف منطق التعليمات البرمجية ملفًا بملف، وبناء سياق لتقديم اقتراحات تعليمات برمجية أكثر دقة وأمانًا. يستخدم نماذج لغة حديثة قوية، ويقرأ التعليمات البرمجية ويفهمها مباشرةً على الجهاز المحلي دون استخدام قواعد بيانات متجهة أو عمليات تضمين، وبالتالي يتجنب عيوب RAG ويقدم اقتراحات تعليمات برمجية متفوقة.

DuckLake: حل شامل وخفيف الوزن لبحيرة البيانات والكتالوج

2025-05-27
DuckLake: حل شامل وخفيف الوزن لبحيرة البيانات والكتالوج

يوفر DuckLake حلاً شاملاً وخفيف الوزن لبناء بحيرة بيانات وكتالوج. يُمكّن هذا الحل من إعداد "DuckDB متعدد اللاعبين" مع مثيلات متعددة من DuckDB تقرأ وتكتب نفس مجموعة البيانات - وهو نموذج ترابط لا يدعمه DuckDB القياسي. حتى إذا كنت تستخدم DuckDB فقط كنقطة دخول لـ DuckLake وقاعدة بيانات الكتالوج، فلا يزال بإمكانك الاستفادة من ميزات مثل استعلامات السفر عبر الزمن، وتقسيم البيانات، وتخزين البيانات في ملفات متعددة بدلاً من ملف قاعدة بيانات واحد ضخم محتمل.

التطوير

AWS Aurora DSQL: ثورة في بنية قواعد البيانات من JVM إلى Rust

2025-05-27
AWS Aurora DSQL: ثورة في بنية قواعد البيانات من JVM إلى Rust

أعلنت AWS عن Aurora DSQL في مؤتمر re:Invent، وتتناول هذه المقالة بالتفصيل رحلة تطويرها. لمواجهة تحدي التوسع الأفقي للعمليات الكتابة في قواعد البيانات التقليدية، استخدم فريق AWS في البداية JVM، لكنه واجه اختناقات شديدة في الأداء، خاصةً مشاكل زمن الوصول الطويل بسبب عملية جمع القمامة. قرر الفريق في النهاية إعادة كتابة مستوى البيانات باستخدام Rust، مما أدى إلى تحسين الأداء بشكل كبير وتقليل زمن الوصول الطويل. علاوة على ذلك، قام الفريق أيضًا بنقل مستوى التحكم إلى Rust، لتجنب تعقيدات استخدام لغات متعددة. يُظهر هذا المشروع أن التشكيك في الحلول الموجودة وتجربة تقنيات جديدة (حتى عمليات نقل اللغات باهظة الثمن) يمكن أن يحقق مكاسب كبيرة.

التطوير

تعريفات أحداث LiveStore: نظام إدارة قائمة المهام المختصر

2025-05-27
تعريفات أحداث LiveStore: نظام إدارة قائمة المهام المختصر

يقوم هذا المقطع من التعليمات البرمجية بتعريف الأحداث لإدارة قائمة المهام ضمن إطار عمل LiveStore. وهو يتضمن أربعة أحداث: إنشاء مهمة (todoCreated)، ووضع علامة عليها على أنها مكتملة (todoCompleted)، ووضع علامة عليها على أنها غير مكتملة (todoUncompleted)، وحذف مهمة (todoDeleted). يستخدم كل حدث Schema.Struct لتحديد هيكله للبيانات، مما يضمن اتساق البيانات وسلامتها. ويُظهر هذا تصميمًا مختصرًا وفعالًا لنظام إدارة قائمة المهام، مستفيدًا من بنية معمارية تعتمد على الأحداث لتتبع التغييرات في حالة المهام.

التطوير بمساعدة الذكاء الاصطناعي: صعود المهندس المعماري

2025-05-27
التطوير بمساعدة الذكاء الاصطناعي: صعود المهندس المعماري

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

LumoSQL: تعزيز SQLite بالأمان والأداء

2025-05-27

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

التطوير

إصدارات Windows من Mesa 25.1.1: حل المشكلات الشائعة

2025-05-27
إصدارات Windows من Mesa 25.1.1: حل المشكلات الشائعة

أصبحت إصدارات Mesa 25.1.1 لنظام Windows (باستخدام Visual Studio و MSYS2 Mingw-w64) متاحة الآن. وقد رعت هذا الإصدار شركة Petrosky، حيث وفرت جهاز بناء مخصصًا. ويعالج هذا الإصدار العديد من المشكلات الشائعة، مثل أخطاء الملفات المفقودة مثل libgallium_wgl.dll و libEGL.dll و libvulkan-1.dll، والتي غالبًا ما يمكن إصلاحها بإعادة نشر التطبيقات أو باستخدام أدوات الإصلاح المقدمة. وتقدم وثائق شاملة تفاصيل حول الفروق بين حزم MSVC و MinGW، ومحتويات الحزمة، وتكوين واستخدام برامج التشغيل المختلفة (llvmpipe و GLonD3D12 و zink وما إلى ذلك)، والتوافق مع البرامج القديمة، وتجاوزات تكوين سياق OpenGL، وتوفر حلولًا وإعدادات متغيرات البيئة.

التطوير

Clojure MCP: تطوير مدعوم بـ REPL بمساعدة الذكاء الاصطناعي

2025-05-27
Clojure MCP: تطوير مدعوم بـ REPL بمساعدة الذكاء الاصطناعي

Clojure MCP هو مشروع في مرحلة ألفا يوفر مجموعة شاملة من الأدوات للمساعدة في تطوير مشاريع Clojure من خلال ربط نماذج الذكاء الاصطناعي بـ Clojure nREPL. وهو يتضمن جميع ميزات Claude Code، ويدمج أدوات مثل clj-kondo و parinfer، ويتكامل بسلاسة مع Claude Desktop. يمكن للمطورين الاستفادة من الذكاء الاصطناعي للتطوير التدريجي، والتحقق من صحة الكود في REPL، واستخدام أدوات مثل قراءة الملفات الذكية، والتحرير المُدرك للبنية، وتقييم الكود من أجل كفاءة محسّنة. كما يقدم المشروع تدفق عمل للحفاظ على ملخص مشروع مُناسب لـ LLM، مما يسمح لمساعد الذكاء الاصطناعي بفهم هيكل الكود بسرعة. المشروع مرخص بموجب ترخيص GNU Affero General Public License v3.0.

التطوير

arXivLabs: بناء ميزات arXiv الجديدة من خلال التعاون المجتمعي

2025-05-27
arXivLabs: بناء ميزات arXiv الجديدة من خلال التعاون المجتمعي

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

التطوير

yes-rs: إعادة كتابة سريعة وآمنة للذاكرة لأمر يونكس 'yes' بلغة Rust

2025-05-27
yes-rs: إعادة كتابة سريعة وآمنة للذاكرة لأمر يونكس 'yes' بلغة Rust

هل سئمت من إصدار لغة C من الأمر يونكس 'yes'، والذي يُعرف بعدم أمان الذاكرة واحتمالية حدوث تجاوزات المخزن المؤقت؟ إليك yes-rs، وهو إعادة كتابة بلغة Rust، ليست سريعة فحسب، بل تضمن أيضًا أمان الذاكرة بدون أي كتل رمز غير آمنة. مع 1302 سطرًا من أكواد Rust الرائعة (مقارنة بـ 50 سطرًا تقريبًا من إصدار C الأصلي)، يوفر yes-rs معالجة أخطاء حديثة، وعمليات تجريد بدون تكلفة، وإمكانية إنشاء سلاسل نصية مخصصة. بفضل تكامل Cargo، يسهل تثبيته واستخدامه. لأولئك الذين يطمحون لأقصى قدر من الأداء والأمان، yes-rs هو الحل الأمثل!

التطوير

Stalwart v0.12: منصة متكاملة للاتصال والتعاون

2025-05-27
Stalwart v0.12:  منصة متكاملة للاتصال والتعاون

ها هو Stalwart v0.12، والذي تحوّل من خادم بريد قوي إلى منصة اتصال وتعاون كاملة. يقدم هذا الإصدار دعمًا أصليًا للتقويمات، وجهات الاتصال، وتخزين الملفات، مما يلغي الحاجة إلى تكاملات تابعة لجهات خارجية. يمكن للمستخدمين إدارة الأحداث، ودفاتر العناوين، والوثائق من خلال أي عميل متوافق مع المعايير. كما تم تحسين تصفية الرسائل غير المرغوب فيها، وتحسينات الأداء لعمليات النشر الكبيرة، وتنسيق مجموعات مرنة تُكمل الميزات الرئيسية. ستضيف الإصدارات المستقبلية جدولة CalDAV، وإشعارات الأحداث، ودعم JMAP لتجربة أكثر سلاسة.

Sqawk: أداة سطر أوامر تعتمد على SQL لمعالجة الملفات المحددة بالفاصل

2025-05-26
Sqawk: أداة سطر أوامر تعتمد على SQL لمعالجة الملفات المحددة بالفاصل

Sqawk هي أداة سطر أوامر تعتمد على SQL مستوحاة من awk، مصممة لمعالجة الملفات المحددة بالفاصل بكفاءة مثل CSV و TSV. تقوم بتحميل البيانات في جداول داخل الذاكرة، مما يسمح باستعلامات SQL قوية (SELECT، INSERT، UPDATE، DELETE) مع التصفية، والفرز، والجمع، والانضمام بين جداول متعددة. تتميز Sqawk بميزات مثل الاستنتاج التلقائي للنوع، ودعم القيم الخالية، والفاصلات المخصصة، ووضع تشغيل آمن يمنع التعديل العرضي للملفات. بناءً على بناء جملة بديهي وسرعة عالية، فهي مثالية لمهام معالجة البيانات.

التطوير

تعزيز أداء Dav1d: تحسينات محاذاة ذاكرة التخزين المؤقت

2025-05-26
تعزيز أداء Dav1d: تحسينات محاذاة ذاكرة التخزين المؤقت

قام مطور بتحسين أداء مشفر الفيديو Dav1d بشكل كبير من خلال تحسين محاذاة ذاكرة الهياكل الخاصة به. من خلال إعادة ترتيب أعضاء الهياكل واستخدام أنواع بيانات أكثر إحكاما، تم تقليل تجزئة الذاكرة، لتحقيق محاذاة مثالية بـ 8 بايت على المعالجات 64 بت. أظهرت نتائج الاختبار انخفاضًا في وقت فك التشفير بنسبة 0.5٪ و 2.8٪ تقريبًا للفيديوهات بدقة 1080 بكسل و 4K على التوالي. يبرز هذا التحسين أهمية الإدارة الدقيقة للذاكرة لتحقيق مكاسب في الأداء، ويوفر رؤى قيّمة لتحسين مشاريع C/C++ الأخرى.

CSMWrap: محاكاة BIOS التراثي على أنظمة UEFI

2025-05-26
CSMWrap: محاكاة BIOS التراثي على أنظمة UEFI

CSMWrap هو اختراق ذكي يحاكي BIOS الكمبيوتر الشخصي التراثي على أنظمة UEFI فقط. باستخدام CSM (وحدة دعم التوافق) و VESA VBIOS من مشروع SeaBIOS ، فإنه يسمح بتشغيل FreeDOS و Windows XP و Windows 7 في QEMU وبعض الأجهزة الحقيقية. يتم تحقيق ذلك عن طريق إلغاء قفل منطقة ذاكرة BIOS التراثية ، وتحميل وحدة CSM SeaBIOS ، وتكوين تعيين الذاكرة ، وما إلى ذلك. لاحظ أنه يجب تعطيل التمهيد الآمن وفك التشفير فوق 4 غيغابايت ، وقد تكون هناك مشاكل في إعداد وضع الفيديو في Windows.

التطوير

الكفاح الأنيق: تصميم أعضاء عامة/خاصة في لغة برمجة نصية

2025-05-26

يكافح مطور، يبني مشروع وحدة تحكم خيالي، لإضافة نظام وحدة إلى لغة البرمجة النصية الخاصة به. يستكشف عدة طرق للتمييز بين التصريحات العامة والخاصة: كلمات رئيسية مُعدّلة (مثل `public` و `private` في Java)، أقسام مُعدّلة (مثل C++)، رموز في المُعرّفات (مثل الشرطة السفلية في Python)، بيانات تصدير (مثل Scheme)، ورموز في التصريحات (مثل `*` في Oberon). ويميل في النهاية إلى حل جديد: إضافة بادئة من الشرطة السفلية إلى كلمات التصريح الرئيسية (مثل `rec_` للسجلات الخاصة، `def_` للوظائف الخاصة). على الرغم من عدم تقليديتها، إلا أن هذه الطريقة توفر إيجازًا وتجنب تكرار الرموز في كل موقع استخدام.

التطوير نظام الوحدات

CSS Paint Worklet: تخصيص صور الخلفية

2025-05-26
CSS Paint Worklet: تخصيص صور الخلفية

يوضح هذا المثال كيفية إنشاء صور خلفية ديناميكية باستخدام CSS Paint Worklet. من خلال تعريف الخصائص المخصصة `--boxColor` و `--widthSubtractor`، واستخدام مُحدد CSS `nth-of-type`، نقوم بإنشاء صور خلفية بألوان وعرض مختلفين لعناصر القائمة. يقوم JavaScript بتسجيل نص برمجي خارجي لـ Paint Worklet، وهو `boxbg.js`، والذي يحتوي على منطق رسم الخلفية. والنتيجة النهائية قابلة للتخصيص؛ قم بتغيير قيم الخصائص المخصصة في أدوات المطور لتغيير الألوان والعرض.

التطوير خلفية مخصصة

ظهور الأشجار الكسولة في Determinate Nix 3.5.2: دفعة هائلة لأداء Nix

2025-05-26
ظهور الأشجار الكسولة في Determinate Nix 3.5.2: دفعة هائلة لأداء Nix

تم إصدار Determinate Nix 3.5.2، والذي يضم ميزة الأشجار الكسولة التي طال انتظارها. تعمل هذه الميزة على تحسين كفاءة Nix بشكل كبير في المستودعات الكبيرة، خاصةً مستودعات المونوريبو الضخمة، من خلال استخدام نظام ملفات افتراضي لتحسين نسخ الملفات. تُظهر الاختبارات أن عمليات التقييم في Nixpkgs يمكن أن تكون أسرع بثلاث مرات وتستخدم مساحة قرص أقل بمقدار 20 مرة. يمكن للمستخدمين تفعيل هذه الميزة من خلال تمكين `lazy-trees = true` في تكوين Nix المخصص. على الرغم من أنها اختيارية حاليًا، إلا أن الفريق قدّم طلب سحب لدمجها في Nix الرئيسي. من المخطط إجراء تحسينات في الأداء في المستقبل، بما في ذلك تحسين تخزين التقييمات مؤقتًا، وتقييم متوازي لعمليات Nix أكثر، وفك ضغط متعدد الخيوط للـ flakes.

التطوير أشجار كسولة

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

2025-05-26
وباء الغش بالذكاء الاصطناعي: تقرير من الخطوط الأمامية لأستاذ جامعي

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

التطوير التدريس

ما وراء زيغ و روست: نهج أكثر ودية للبرمجة النصية البرمجية

2025-05-26

تتناول هذه المقالة تصميمًا جديدًا بلغة برمجة يجمع بين نقاط القوة في نظام أنواع هندلي-ميلنر في روست وقدرات وقت التجميع في زيغ، مع تجنب تعقيدات نهج "الأنواع كقيم" في زيغ. من خلال إدخال عامل التشغيل `@` للتنفيذ في وقت التجميع، ونوع `Abstract` للتلخيصات في وقت التجميع، وأنواع `TypeInfo` و `Field` لفحص الأنواع، ووظائف `Code` و `parse` لمعالجة التعليمات البرمجية، يحقق هذا التصميم إمكانيات قوية لكتابة البرامج النصية البرمجية، مثل إنشاء التعليمات البرمجية تلقائيًا وتنفيذ أنواع الأدوات المساعدة الشبيهة بتايپسكريبت، مثل `Partial`، مع الحفاظ على قابلية قراءة التعليمات البرمجية وسهولة الاستنتاج. يمثل هذا نهجًا جديدًا لتحقيق البرمجة النصية البرمجية القوية مع الحفاظ على سهولة استخدام نظام الأنواع، مما يوفر وجهات نظر جديدة لتصميم اللغات المستقبلية.

Mutmut: أداة اختبار تحوير قوية لبايثون

2025-05-26
Mutmut: أداة اختبار تحوير قوية لبايثون

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

فيز باز باستخدام الموناد: نهج وظيفي

2025-05-26

تقدم هذه المقالة نهجًا للبرمجة الوظيفية لمشكلة فيز باز باستخدام الموناد. تعتمد الفكرة الأساسية على نمط تسلسل الحراسة للتحقق من القابلية للقسمة على 3 و 5 و 7، مما ينتج 'fizz' و 'buzz' و 'zork' على التوالي، أو Nothing إذا لم يكن قابلًا للقسمة. يقوم `mconcat` بدمج النتائج، ويدير `fromMaybe` قيم Nothing، مما ينتج الإخراج الصحيح لفيز باز. يُظهر هذا الحل الأنيق قوة البرمجة الوظيفية.

التطوير موناد فيز باز

أفضل سير عمل لتعبئة ديبيان لعام 2025

2025-05-26
أفضل سير عمل لتعبئة ديبيان لعام 2025

يشرح هذا المنشور أفضل سير عمل لإنشاء حزم ديبيان جديدة في عام 2025 مع الحفاظ على سجل جيت من المصدر الأصلي. والهدف هو تبسيط مشاركة التحسينات بين المصدر الأصلي وديبيان، وتعزيز أصل البرنامج وأمن سلسلة التوريد من خلال فحص كل تغيير بسهولة باستخدام أدوات جيت القياسية. تتضمن العناصر الأساسية ما يلي: استخدام فرع/نسخة جيت من مستودع المصدر الأصلي؛ الاستخدام المتسق لأوامر `git-buildpackage` مع خيارات الحزم في `gbp.conf`؛ وسم وتفرع DEP-14؛ pristine-tar والتوقيعات من المصدر الأصلي؛ استخدام `Files-Excluded` في `debian/copyright`؛ قوائم انتظار التصحيحات لإعادة القاعدة واختيار الكرز؛ الاستفادة من Salsa (GitLab من ديبيان) لـ CI/CD والمراجعة من قبل الأقران. يتم توضيح العملية من خلال تعبئة أداة سطر الأوامر `entr`، مع استعراض كل خطوة من إنشاء المستودع إلى إرسال طلب الدمج على Salsa.

التطوير

مُفسّر Scheme مُوجز في BQN: نهج الحد الأدنى

2025-05-26

تُفصّل هذه المقالة محاولة لتنفيذ مُفسّر Scheme باستخدام لغة البرمجة BQN. من خلال الاستفادة من بناء الجملة المُوجز وعمليات المصفوفة القوية في BQN، حقّق الكاتب مُفسّرًا وظيفيًا جزئيًا لـ Scheme، يتضمن الحساب الأساسي، معالجة القوائم، وقدرات البرمجة الوصفية. على الرغم من أنه ليس مُطابقًا تمامًا لـ R5RS ويفتقر إلى معالجة الأخطاء القوية، إلا أن إيجاز ووظائف التنفيذ مُبهرة. يُظهر هذا تطبيق BQN ويُبرز أناقة البرمجة الوظيفية.

التطوير

PgDog: مُجمِّع مُعاملات ومدير تكرار منطقي عالي الأداء لـPostgreSQL

2025-05-26
PgDog: مُجمِّع مُعاملات ومدير تكرار منطقي عالي الأداء لـPostgreSQL

PgDog، المكتوب بلغة Rust، هو مُجمِّع مُعاملات ومدير تكرار منطقي سريع وآمن وقابل للتطوير لـPostgreSQL، قادر على التعامل مع مئات قواعد البيانات ومئات الآلاف من الاتصالات. ويتميز بتقسيم قواعد البيانات، وموازنة التحميل مع فحوصات الصحة والانتقال الاحتياطي، وتجميع المعاملات والجلسات لإدارة فعالة لاتصالات العملاء. يتم تسهيل المراقبة من خلال OpenMetrics، ويتضمن محلل CSV ودعم التكرار المنطقي لتسهيل استيراد البيانات وتقسيم قواعد البيانات.

Nix: حل مشكلة التكاثر في تطوير البرمجيات

2025-05-26
Nix: حل مشكلة التكاثر في تطوير البرمجيات

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

التطوير التكاثر

Emilua: ثورة في وقت تشغيل الحاويات

2025-05-26

Emilua هو وقت تشغيل حاويات مبتكر، تم إنشاؤه بلغة C وكتابة نصوصه بلغة Lua، ويدعم تقنيات نواة متنوعة، مثل مساحات أسماء Linux وسجون FreeBSD. على عكس أوقات التشغيل التقليدية القائمة على واجهة سطر الأوامر، يستخدم Emilua قوة برمجة Lua من أجل مرونة وأمان لا مثيل لهما، متجاوزًا مخاطر استخدام نصوص BASH، مثل مشاكل المزامنة وثغرات الأمان. والأمان هو الهدف الرئيسي؛ يمنع Emilua استدعاء الملفات الثنائية من صور الحاويات ويمسح المخزن المؤقت بشكل آمن. بالإضافة إلى ذلك، يمتد Emilua إلى صناديق الرمل Capsicum، مما يدل على قابليته للتكيف. يوفر Emilua حلاً أكثر أمانًا ومرونة، خاصةً في السيناريوهات المعقدة التي تتطلب مراحل إعداد حاويات مخصصة.

1 2 75 76 77 79 81 82 83 213 214