Category: التطوير

Systemd سيتم تشغيله مباشرةً من صور القرص التي تم تنزيلها عبر HTTP

2025-02-11

يضيف مطور Systemd الرئيسي Lennart Poettering إمكانية التشغيل مباشرةً من صورة قرص تم تنزيلها عبر HTTP داخل قرص ذاكرة الوصول العشوائي الأولي (initrd) أثناء عملية تشغيل Linux. بناءً على الإضافات الحديثة إلى Systemd، يسمح هذا بتنزيل صورة قرص الجذر عبر HTTP، وإرفاقها بجهاز حلقة مغلقة، وتركيبها. الهدف هو السماح لـ UEFI بالإشارة إلى عنوان URL لتحميل صورة النواة الموحدة (UKI) وتشغيل نظام الملفات الجذر. حالة الاستخدام الفورية هي تبسيط اختبارات الأجهزة المادية من خلال تشغيل أنظمة ملفات الجذر الجديدة بسهولة عبر HTTP في كل عملية تشغيل. تحتوي طلب السحب الجاري على الكود الأولي لذلك؛ قد تتضمن الإضافات المستقبلية دعم NVMe-over-TCP.

التطوير تشغيل

Extend: إطلاق العنان لإمكانات لوحة المفاتيح الخاصة بك

2025-02-11

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

غطسة عميقة في تحسينات مترجم Static Single Assignment (SSA)

2025-02-11
غطسة عميقة في تحسينات مترجم Static Single Assignment (SSA)

تتبع هذه المقالة تطور عقود من تقنيات تحسين المترجم Static Single Assignment (SSA). من الأوراق الأولى حول تحريك التعليمات البرمجية وتعداد القيم العالمية، مروراً بعمل Cytron الرائد في تقليل تعليمات phi، وصولاً إلى نهج توليد تمريرة واحدة من Brandis و Mössenböck و Sea of Nodes IR من Click و Paleczny، تتبع المقالة العديد من الأوراق الرئيسية وتناقش نقاط قوتها وضعفها. كما تتطرق إلى عمل Appel حول العلاقة بين البرمجة الوظيفية و SSA، وإزالة عقد phi التكرارية من Aycock و Horspool، والنهج الحديثة القائمة على التفسير المجرد. وتختتم المقالة بقائمة بأوراق وموارد إضافية، مما يوفر منظورًا شاملًا للقراء المهتمين بتعلم المزيد حول SSA.

تلميحات مُخصِّص Btrfs: تحسين أداء التخزين المختلط

2025-02-11
تلميحات مُخصِّص Btrfs: تحسين أداء التخزين المختلط

يُقدّم Btrfs الآن تلميحات مُخصِّص، مما يسمح للمستخدمين بتحديد الأجهزة لتخصيص البيانات والبيانات الوصفية، لتحسين الأداء في إعدادات التخزين المختلطة (مثل محركات الأقراص SSD و HDD). من خلال إعطاء الأولوية لمحركات أقراص SSD الأسرع للبيانات الوصفية ومحركات أقراص HDD الأبطأ للبيانات، يمكن للمستخدمين تحسين استجابة نظام الملفات وكفاءة التخزين. يتطلب ذلك نواة مُعالجة وأوامر سطر أوامر. قد تؤدي التهيئة غير الصحيحة إلى أخطاء نفاد المساحة، لذلك يُنصح بمراقبة التخزين بعناية.

التطوير تخزين مختلط

Basecamp تعتمد عدم الدقة في إدارة المشاريع

2025-02-11
Basecamp تعتمد عدم الدقة في إدارة المشاريع

يتحدى Basecamp الهوس بالأرقام الدقيقة في إدارة المشاريع، وينادي باعتماد الغموض والموضوعية. تنتقد المقالة السعي للحصول على أرقام دقيقة تتجاهل حقائق المشروع، بحجة أن "63٪ مكتمل" لا معنى له، بينما "من المتوقع الانتهاء منه يوم الثلاثاء المقبل" أكثر واقعية. تتيح ميزات Basecamp الجديدة مثل Hill Charts و Move The Needle للمستخدمين تمثيل تقدم المشروع بصريًا باستخدام علامات بيانية بديهية، مع التركيز على الحكم الذاتي بدلاً من الحسابات الميكانيكية. تزعم المقالة أنه في العمل الإبداعي، فإن الموضوعية والإنتاجية ليسا خصمين بل شريكان. سيستمر Basecamp في تحسين نهجه ليعكس الواقع بدقة أكبر.

التطوير الموضوعية

بيض عيد الفصح وفرحة تطوير البرمجيات

2025-02-11
بيض عيد الفصح وفرحة تطوير البرمجيات

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

التطوير بيض عيد الفصح

دليل المبتدئين: إنشاء موقع ويب باستخدام HTML و CSS

2025-02-11

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

التطوير

حل سودوكو في tmux: مشروع مجنون لمُجمِّع بايثون

2025-02-11
حل سودوكو في tmux: مشروع مجنون لمُجمِّع بايثون

بعد مشروعَه السابق بتجميع بايثون لتشغيله على tmux، أنشأ المؤلف الآن مُحلِّل سودوكو بالكامل داخل tmux. دون استخدام المصفوفات أو السلاسل، يستخدم بذكاء متغيرات tmux واختصارات لوحة المفاتيح، حيث يُعيِّن كل خلية من سودوكو إلى خيار tmux. يستخدم المُحلِّل القوة الغاشمة لتجربة جميع الاحتمالات، مما يؤدي إلى كفاءة منخفضة للغاية. ومع ذلك، يُظهر المشروع إمكانيات tmux المذهلة وذكاء المؤلف، وهو دليل على روح الهاكر.

التطوير

Dagger Cloud v3: إعادة كتابة الواجهة الأمامية بلغة Go و WebAssembly لتحسين الأداء

2025-02-11
Dagger Cloud v3: إعادة كتابة الواجهة الأمامية بلغة Go و WebAssembly لتحسين الأداء

أعادت مجموعة Dagger كتابة واجهة Dagger Cloud الخاصة بها من React إلى إصدار v3 باستخدام Go و WebAssembly. تم ذلك لتوحيد قاعدتي بيانات واجهة المستخدم (واجهة المستخدم الطرفية وواجهة المستخدم على الويب)، مما زاد من سرعة التطوير والأداء. على الرغم من عدم شيوع استخدام Go و WebAssembly معًا، إلا أنهم نجحوا، من خلال استخدام إطار عمل Go-app وتحسينات الذاكرة الكبيرة، في إنشاء واجهة مستخدم أسرع وأكثر سلاسة واتساقًا تعكس واجهة المستخدم الطرفية. يسلط المشروع الضوء على تحديات وفرص استخدام Go و WebAssembly، مثل قيود الذاكرة ونقص مكتبات المكونات الجاهزة. في النهاية، قدم Dagger Cloud v3 تحسينات في الأداء وزيادة في كفاءة المطورين.

nocc: مُجمِّع C++ موزّع للبناءات فائقة السرعة

2025-02-11
nocc: مُجمِّع C++ موزّع للبناءات فائقة السرعة

nocc هو مُجمِّع C++ موزّع مصمم لزيادة سرعة عملية التجميع بشكل كبير، خاصةً للمشاريع الكبيرة في خطوط أنابيب CI/CD وبيئات التطوير التعاونية. من خلال توزيع مهام التجميع على أجهزة بعيدة واستخدام مخابئ بعيدة مشتركة، يتجنب nocc عمليات التجميع المتكررة. تم تطويره في VK.com لتسريع تجميع KPHP، وحقق زيادة في السرعة من 2 إلى 9 أضعاف مقارنةً بالحل السابق. يمكن دمجه بسهولة في أنظمة البناء الحالية، كما يدعم nocc أيضًا ملفات الرأس المُجمَّعة مسبقًا لتحقيق مكاسب إضافية في الأداء.

ميزة البرنامج النصي المخصص الجديدة من متصفح Brave: تحكم في تجربة التصفح الخاصة بك

2025-02-11
ميزة البرنامج النصي المخصص الجديدة من متصفح Brave: تحكم في تجربة التصفح الخاصة بك

يقدم متصفح Brave الإصدار 1.75 ميزة "البرنامج النصي المخصص" لمستخدمي سطح المكتب، مما يسمح للمستخدمين المتقدمين بحقن JavaScript الخاص بهم في مواقع الويب من أجل تخصيص عميق. يشبه هذا الأمر امتدادات Tampermonkey و Greasemonkey، حيث يمكن للمستخدمين إنشاء برامج نصية تقوم بتعديل وظائف مواقع الويب المحددة. تم تطوير هذه الميزة في البداية لتصحيح أخطاء ميزة حظر الإعلانات في Brave، ولكن قيمتها أدت إلى إصدارها. تعمل البرامج النصية المخصصة على تحسين الخصوصية والأمان وسهولة الاستخدام عن طريق حظر المتتبعين، وتخصيص المظهر، وتحسين إمكانية الوصول. ومع ذلك، ينبغي توخي الحذر لأن البرامج النصية غير الموثوقة تشكل مخاطر. توجد هذه الميزة في `brave://settings/shields/filters` وتتطلب تمكين "وضع المطور".

قيامة Xvesa: عودة خادم X صغير

2025-02-11
قيامة Xvesa: عودة خادم X صغير

تم إحياء Xvesa، وهو خادم X خفيف الوزن، من أعماق محفوظات Git! اختار الفريق الحفاظ عليه باستخدام Xfbdev، مع التركيز على إصلاحات الأخطاء وتحسينات الأمان والميزات الجديدة التي تظهر من حين لآخر، نظرًا لأن خوادم TinyX أصغر بكثير من Xorg. تم اختيار الإصدار 1.2.0 بدلاً من 1.3.0 بسبب مشاكل الإدخال في الإصدار الأخير. يركز التصميم على الحد الأدنى والوظائف الكاملة، مع حذف xkb و xinput و xinerama و gl. تم تعطيل الاستماع إلى TCP افتراضيًا، وتم تمكين ذاكرة التخزين المؤقت للظل. الترخيص هو GPLv3.

التطوير خادم X

وسيطات الكلمات المفتاحية المستقلة عن الترتيب في C++26 باستخدام الانعكاس

2025-02-11

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

رسوم متحركة سلسة للتمرير: وداعًا للتقطيع

2025-02-10
رسوم متحركة سلسة للتمرير: وداعًا للتقطيع

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

هندسة تطبيقات الوقت الحقيقي: مقارنة بين Poke/Pull و Push State و Push Ops و Event Sourcing

2025-02-10

تستعرض هذه المقالة أربعة أنماط رئيسية لبناء تطبيقات الوقت الحقيقي: Poke/Pull و Push State و Push Ops و Event Sourcing. يُعدّ نمط Poke/Pull سهلًا في التكامل، ولكنه يعاني من مشاكل الانتشار؛ بينما يُرسل نمط Push State الحالة مباشرة، إلا أنه يواجه صعوبات مع تحديثات الحالة واسعة النطاق؛ أما نمط Push Ops فيُرسل العمليات بدلاً من الحالة الكاملة، مما يجعله أكثر كفاءة؛ ويُرسل نمط Event Sourcing الأحداث، ويتطلب منطقًا على جانب العميل. كما تقارن المقالة طرق النقل المختلفة (WebSockets و SSE وما إلى ذلك) وتحدياتها في الأنظمة ذات الحجم الأفقي، مع تسليط الضوء على دور Pub/Sub.

امتداد VS Code خبيث يستخدم تقنية انتحال الهوية الطفيفية لنشر برمجيات خبيثة متعددة المراحل

2025-02-10
امتداد VS Code خبيث يستخدم تقنية انتحال الهوية الطفيفية لنشر برمجيات خبيثة متعددة المراحل

اكتشف الباحثون امتدادًا خبيثًا لـ VS Code يسمى `truffelvscode`، والذي استخدم تقنية انتحال الهوية الطفيفية في امتداد `truffle` الشائع. يعمل هذا الامتداد كحصان طروادة لبرمجيات خبيثة متعددة المراحل. تقوم البرمجيات الخبيثة بتنزيل وتشغيل عدة مراحل من التعليمات البرمجية الخبيثة، مما يؤدي في النهاية إلى تثبيت وتكوين أداة الوصول عن بُعد ScreenConnect، مما يمنح المهاجمين التحكم عن بُعد في النظام المُختلَق. تم استخدام تقنيات التمويه لإخفاء التعليمات البرمجية الخبيثة، لكن الباحثين استخدموا تقنيات فك التشفير وتحليل بيئة الحماية الرملية لكشف سلسلة الهجوم بأكملها. يُبرز هذا الحدث أهمية توخي الحذر عند تثبيت امتدادات VS Code، ويُسلط الضوء على التهديد المتزايد لهجمات سلسلة التوريد البرمجية.

انهيار تخمين عمره 40 عامًا: جدول هاش جديد يتجاوز التوقعات

2025-02-10
انهيار تخمين عمره 40 عامًا: جدول هاش جديد يتجاوز التوقعات

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

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

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

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

التطوير

مساعدو البرمجة بالذكاء الاصطناعي يحتاجون إلى سياق أكثر: تجارب ورؤى

2025-02-10
مساعدو البرمجة بالذكاء الاصطناعي يحتاجون إلى سياق أكثر: تجارب ورؤى

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

إعادة بناء مُرَندر ProseMirror في React: قصة مكتبتين

2025-02-10

يروي الكاتب تجربته في العمل على محرر النصوص الغني Oak في صحيفة نيويورك تايمز، والذي تم إنشاؤه باستخدام React و ProseMirror. لكنّ عملية الدمج أثبتت أنها مُشكلة، مما أدى إلى أخطاء مستمرة. بعد أربع سنوات من التعامل مع تعقيدات كلتا المكتبتين، قرر الفريق إعادة كتابة مُرَندر ProseMirror في React. وقد حلّ هذا الأمر مشاكل مثل تمزق الحالة، مما أدى إلى إنشاء مكتبة جديدة، @handlewithcare/react-prosemirror، تتميز بأداء وتحسينات في التوافق.

التطوير محرر نصوص غني

نماذج اللغات الكبيرة تشرح البرامج الخطية: من مشروع جانبي إلى بحث مايكروسوفت

2025-02-10

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

PDFSyntax: أداة عرض PDF بلغة بايثون بدون مكتبات خارجية

2025-02-10
PDFSyntax: أداة عرض PDF بلغة بايثون بدون مكتبات خارجية

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

التطوير عرض

بايثون 3.14: تقييم تأجيل التعليقات التوضيحية ومترجم جديد

2025-02-10
بايثون 3.14: تقييم تأجيل التعليقات التوضيحية ومترجم جديد

بايثون 3.14 هنا مع تحديثات مثيرة! يقدم PEP 649 و PEP 749 تقييم التعليقات التوضيحية المؤجلة، مما يعزز الأداء ويبسط كتابة التعليقات التوضيحية. يوفر مترجم جديد قائم على ذيل المكالمات تحسينات كبيرة في السرعة (متوسط هندسي 9-15٪ على pyperformance) على مُجمِّعات ومعماريات محددة. وأخيرًا، يُحسِّن PEP 741 واجهة برمجة تطبيقات C الخاصة بتكوين بايثون، ممهدًا الطريق لتحسينات مستقبلية. تُجمع هذه التحديثات معًا لجعل بايثون أسرع وأكثر قوة!

K: لغة برمجة موجزة وسريعة موجهة للناقلات

2025-02-10

عائلة لغات K هي سلسلة من لغات البرمجة الموجزة، السريعة، والموجهة للناقلات، صممها آرثر ويتني. إنها ليست نسخة واحدة، بل سلسلة متطورة من الإصدارات التي تختلف قليلاً عن بعضها البعض، وحتى غير متوافقة. يركز هذا الكتاب على تنفيذ لغة K مفتوحة المصدر ومجتمعها، بما في ذلك ngn/k (k6) و oK (k5/6). يستكشف خصائص لغة K، ومنحنى التعلم، وعلاقتها بلغات APL و J. على الرغم من شهرة K بإيجازها وسرعتها، إلا أن منحنى تعلمها شديد الانحدار ويتطلب ممارسة مكثفة.

سعي Rust للوصول إلى Ada: معركة في البرمجة الحرجة من حيث السلامة

2025-02-10
سعي Rust للوصول إلى Ada: معركة في البرمجة الحرجة من حيث السلامة

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

فن المتغيرات العالمية في لغة C++

2025-02-10

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

صندوق رمل قائم على العمليات لـ Verona: تشغيل كود غير موثوق به بأمان

2025-02-10
صندوق رمل قائم على العمليات لـ Verona: تشغيل كود غير موثوق به بأمان

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

التطوير صندوق رمل

راست مقابل آدا: مواجهة حول أمان الذاكرة

2025-02-10

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

التطوير

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

2025-02-10
الخطايا السبع المميتة لرسوميات هندسة البرمجيات

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

البخل الحماقة: القاتل الصامت للإنتاجية والابتكار

2025-02-10
البخل الحماقة: القاتل الصامت للإنتاجية والابتكار

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

1 2 163 164 165 167 169 170 171 213 214