Category: التطوير

GPU Kill: أداة سطر أوامر لإدارة وحدات معالجة الرسوميات متعددة المنصات

2025-09-21
GPU Kill: أداة سطر أوامر لإدارة وحدات معالجة الرسوميات متعددة المنصات

GPU Kill هي أداة سطر أوامر لإدارة وحدات معالجة الرسوميات (GPUs) عبر أنظمة NVIDIA و AMD و Intel و Apple Silicon. يمكنك بسهولة مراقبة، والتحكم، وتأمين بنية وحدات معالجة الرسوميات الخاصة بك. تتضمن الميزات مراقبة استخدام وحدة معالجة الرسوميات في الوقت الفعلي، وإنهاء العمليات العالقة، والكشف عن عمال مناجم العملات المشفرة والأنشطة المشبوهة، وإنفاذ السياسات لمنع إساءة استخدام الموارد، ولوحة معلومات ويب لمراقبة العنقود، وإدارة وحدات معالجة الرسوميات عن بُعد عبر خوادم متعددة، بالإضافة إلى تكامل مساعد الذكاء الاصطناعي. تدعم أنظمة Linux و macOS و Windows. واجهة سطر أوامر بسيطة ولوحة معلومات ويب توفران إدارة سهلة الاستخدام.

محلل JSON صغير جدًا بلغة C99: بدون تخصيص ذاكرة، ~150 سطرًا

2025-09-21
محلل JSON صغير جدًا بلغة C99: بدون تخصيص ذاكرة، ~150 سطرًا

مكتبة تحليل JSON صغيرة جدًا مكتوبة بلغة C99، لا تتجاوز 150 سطرًا تقريبًا! تتميز هذه المكتبة بتخصيص ذاكرة صفري من أجل الكفاءة، وحالة مبسطة. تتضمن رسائل الخطأ أرقامًا دقيقة للصفوف والأعمدة. يُترك تحليل الأرقام والسلاسل النصية للمستخدم، مما يسمح بالتخصيص باستخدام دوال مثل `strtod` و `atoi`. يوضح مثال بسيط كيفية تحميل مستطيل من سلسلة JSON إلى بنية `Rect`. هذا المشروع هو برنامج مجاني وغير مقيد، تم إصداره في المجال العام.

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

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

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

التطوير

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

2025-09-21
تصحيح أخطاء DXGI من مايكروسوفت: لعبتي على القائمة السوداء عن طريق الخطأ

أثناء نقل لعبة Space Station 14 إلى نظام Windows ARM64، واجه المطور عطلًا غريبًا. كشف تصحيح الأخطاء أن المشكلة نابعة من تحسين DXGI من مايكروسوفت للألعاب التي تعمل في وضع النوافذ، مما يجبر على استخدام وضع "flip"، مما يتسبب في استثناءات تعليمات غير قانونية مع دالة GetDC() في ظروف محددة (ملف اللعبة التنفيذي باسم SS14.Loader.exe). اتضح أن الأمر يتعلق بخطأ في تحسين DXGI ARM64 من مايكروسوفت، والذي يتم تمكينه فقط لأسماء ألعاب محددة، وللأسف، كانت لعبة Space Station 14 ضمن هذه القائمة. يشتبه المطور في أن هذا الخطأ لم يلاحظ بسبب قلة عدد ألعاب Windows ARM64 الأصلية. تم الإبلاغ عن المشكلة إلى مايكروسوفت، وتم تأجيل دعم Windows ARM64 مؤقتًا حتى يتم إصلاح الخطأ.

Vec: مصفوفة ديناميكية سريعة وآمنة من التسربات للغة C

2025-09-21
Vec: مصفوفة ديناميكية سريعة وآمنة من التسربات للغة C

Vec هي مصفوفة ديناميكية عامة، سريعة، وآمنة من التسربات للغة C. فهي تستخدم ذاكرة متصلة، وتنمو هندسياً (×2) لعمليات الدفع ذات المتوسط O(1) ، وتوفر واجهة برمجة تطبيقات على غرار الطريقة لإضفاء إحساس موجه للكائنات. تعطي المكتبة الأولوية للسلامة من خلال حماية ضد تجاوزات السعة، وناقلات الوصول مع فحص الحدود، وسلوك محدد جيداً للحالات الحدية. يوازن تصميمها بين الأداء والأمان، مما يوفر واجهة نظيفة وفعالة.

التطوير

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

2025-09-21

من مراجعة أمن نظام Honeywell Multics لعام 1974 التي سلطت الضوء على مخاوف تتعلق بـ "الأبواب الخلفية" إلى هجوم XZ لعام 2024 الذي استهدف أنظمة Debian، يظل أمن سلسلة توريد البرامج مفتوحة المصدر مشكلة مستمرة. تستكشف هذه المقالة تعقيد هذه المشكلة، والتي تتجاوز مخططات التبعيات البسيطة لتشمل جميع مراحل بناء البرامج وتوزيعها، بما في ذلك العوامل البشرية. وتقترح حلولًا مثل مصادقة البرامج، وإنشاء نماذج قابلة للتكرار، والكشف السريع عن الثغرات الأمنية وإصلاحها، واستخدام لغات برمجة أكثر أمانًا. والأهم من ذلك، إنها تؤكد على أهمية تمويل تطوير البرامج مفتوحة المصدر، حيث إن نقص التمويل يجعل المشاريع عرضة للاستيلاء الخبيث. يُعد هجوم XZ تحذيرًا واضحًا: إن "المساعدة المجانية" التي تبدو غير ضارة يمكن أن تخفي مخاطر كبيرة.

التطوير هجوم XZ

مخاطر الطاعة: مبرمج في مطهر البرمجة الوظيفية

2025-09-21

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

التطوير

Bluefin LTS و GDX: بداية عهد أكيليوباتور

2025-09-21
Bluefin LTS و GDX: بداية عهد أكيليوباتور

بعد تسعة أشهر من التطوير، أصبح Bluefin LTS (الدعم طويل الأمد) و Bluefin GDX (محطة عمل الذكاء الاصطناعي) متوفرين بشكل عام. Bluefin LTS، المبني على CentOS Stream 10، يوفر سطح مكتب GNOME 48 ثابتًا مع دعم طويل الأمد، بالإضافة إلى فرع تمكين الأجهزة الاختياري (lts-hwe) للحصول على نواة أحدث. يستهدف Bluefin GDX محترفي الذكاء الاصطناعي/التعلم الآلي، حيث يدمج برامج تشغيل Nvidia و CUDA، ويتعاون مع Red Hat على تطوير أدوات الذكاء الاصطناعي/التعلم الآلي مفتوحة المصدر. يتميز كلا الإصدارين بتجربة تثبيت محسّنة ودعم التمهيد الآمن، بهدف توفير تجربة سطح مكتب مستقرة وفعالة.

إصدار بيتا من PostgreSQL 18: UUIDv7 يحسّن مفاتيح قاعدة البيانات الأساسية

2025-09-21
إصدار بيتا من PostgreSQL 18: UUIDv7 يحسّن مفاتيح قاعدة البيانات الأساسية

تم إصدار إصدار بيتا من PostgreSQL 18، وميزته الأكثر توقعًا هي الدعم الأصلي لـ UUIDv7. UUIDv7، وهو نوع من UUID يعتمد على الطابع الزمني، يحل مشكلات الفرز وموقع الفهرس المتأصلة في UUIDs التقليدية المستخدمة كمفاتيح أساسية لقاعدة البيانات. إنه يوفر مزيجًا مقنعًا من المُعرّفات الفريدة عالميًا والترتيب الزمني، مما يجعله مثاليًا لقواعد البيانات الموزعة التي تحتاج إلى أداء عالٍ وقابلية للتطوير. تتضمن تحسينات الأداء الأخرى في PostgreSQL 18 عمليات الإدخال/الإخراج غير المتزامنة وتحسينات الفهرس.

التطوير

خطأ مستمر في أداة قرص APFS لنظام macOS: حل بديل

2025-09-21
خطأ مستمر في أداة قرص APFS لنظام macOS: حل بديل

لا تزال أداة القرص في نظام macOS Monterey 12.0.1 تعاني من خطأ مستمر: الفشل في فك ارتباط المجلدات أو الحاويات عند إصلاح أقراص APFS. توفر هذه المقالة حلولاً بديلة، بما في ذلك استخدام أداة القرص في وضع الاسترداد أو استخدام أداة سطر الأوامر `fsck_apfs` مباشرة للتحقق من وإصلاح مجلدات وحاويات APFS. تشرح المقالة بالتفصيل استخدام `fsck_apfs`، بما في ذلك خيارات الفحص والإصلاح، وكيفية التعامل مع المجلدات المشفرة.

التعريب: محاربة التبسيط المفرط والبيانات المتناثرة

2025-09-21
التعريب: محاربة التبسيط المفرط والبيانات المتناثرة

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

الترميز بالذكاء الاصطناعي: مُحسِّن للخبراء، وليس بديلاً

2025-09-21

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

التطوير

صعود اقتصاد تنظيف أكواد الذكاء الاصطناعي

2025-09-21

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

التطوير

شبكات RNN المُسرّعة بواسطة وحدة معالجة الرسوميات: تطبيق CUDA لـ minGRU و minLSTM

2025-09-21

تُفصّل هذه المدوّنة مشروعًا نهائيًا من كورس CS179: برمجة وحدة معالجة الرسوميات في معهد كاليفورنيا للتكنولوجيا، والذي يهدف للتحقق من ادعاءات ورقة Feng et al. البحثية، “Were RNNs All We Needed?” نفّذ المشروع نماذج minGRU و minLSTM المُبسّطة، وخوارزمية مسح متوازي مخصصة باستخدام CUDA. أظهرت النتائج تسارعًا كبيرًا لوحدة معالجة الرسوميات في التسلسلات الطويلة، مما يُثبت النتيجة الرئيسية للورقة البحثية القائلة بأن تكرار RNN يمكن أن يُوازي. ومع ذلك، بالنسبة للتسلسلات القصيرة، ألغت تكلفة تشغيل نواة CUDA بعض مكاسب الأداء. كشف تخطيط نواة وحدة معالجة الرسوميات عن أن الطبقة النهائية للإسقاط هي المُعيق الرئيسي، مما يُشير إلى تحسين إضافي من خلال مكالمة cuBLAS GEMM واحدة.

معالجة البيانات غير المتجانسة في لغة برمجة ألعاب ثابتة النوع

2025-09-21

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

التطوير

انتشار المكتبات التي تعطي الأولوية لحالات الحافة: جحيم التبعيات في npm

2025-09-21

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

التطوير

التحدي الخوارزمي للتوسع الفعال للمفردات

2025-09-21

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

التطوير تعلم المفردات

مهندس مايكروسوفت يلتقي برايموند تشين: المعالجات الأولية ورسائل خطأ BitLocker

2025-09-21
مهندس مايكروسوفت يلتقي برايموند تشين: المعالجات الأولية ورسائل خطأ BitLocker

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

التطوير رايموند تشين

ذاكرة التخزين المؤقت لـ Bazel والتنفيذ عن بُعد وعدم تطابق إصدار glibc يتسببان في تعطل الإنتاج

2025-09-21
ذاكرة التخزين المؤقت لـ Bazel والتنفيذ عن بُعد وعدم تطابق إصدار glibc يتسببان في تعطل الإنتاج

تتناول هذه المقالة تعطلًا في الإنتاج ناجمًا عن التفاعل بين ذاكرة التخزين المؤقت لـ Bazel والتنفيذ عن بُعد وعدم تطابق إصدارات glibc في بيئات مختلفة. يقوم المطور بإنشاء اختبار وتجربته محليًا، ويستخدم نظام CI ذاكرة التخزين المؤقت لإنشاء إصدار نهائي، لكن نشر الإصدار في بيئة الإنتاج يفشل بسبب عدم وجود إصدار 'GLIBC_2.28'. تحلّل المقالة كيف تؤدي اختلافات إصدار glibc إلى كسر إمكانية إعادة إنتاج عملية البناء، وتقدم حلولًا: حل سريع يتضمن التقاط إصدارات glibc المحلية والبعيدة، واختيار الإصدار الأعلى لسلسلة أدوات C++؛ حل أكثر قوة يقيد الكتابة في ذاكرة التخزين المؤقت للعمل، مما يجبر عمليات البناء على التشغيل على منفذي التنفيذ عن بُعد؛ الحل النهائي يستخدم sysroots، بحيث يتم تثبيت إصدارات متعددة من glibc في جميع البيئات وتحديد الإصدار الذي يجب استخدامه بشكل صريح. تُشدد المقالة على أهمية عمليات البناء القابلة لإعادة الإنتاج، وتوصي باختيار الحلول المناسبة بناءً على السياق.

من المعالج أحادي النواة إلى متعدد النواة: تطور معالجة macOS المتوازية

2025-09-20
من المعالج أحادي النواة إلى متعدد النواة: تطور معالجة macOS المتوازية

كان أول جهاز Mac بسعة 128 كيلوبايت في عام 1984 مزودًا بمعالج Motorola 68000 أحادي النواة بسرعة 8 ميجاهرتز، والذي كان قادرًا على تشغيل تطبيق واحد فقط في كل مرة. أما أجهزة Mac الحديثة، فهي قادرة على تشغيل تطبيقات متعددة كبيرة الحجم في وقت واحد، بالإضافة إلى عمليات النسخ الاحتياطي Time Machine والمهام الأخرى في الخلفية. وتتبع هذه المقالة تطور هذه العملية، بدءًا من أصول المهام المفردة وصولًا إلى تقديم Switcher وMultiFinder، ثم القفزة إلى معالجة متعددة المهام الاستباقية والعديد من الخيوط في Mac OS X، بالإضافة إلى تحسينات الأداء التي قدمها Grand Central Dispatch (GCD). وتبلغ هذه الرحلة ذروتها في الإدارة الفعالة لما يصل إلى 32 نواة وحدة المعالجة المركزية، مما يُظهر سعي Apple الدؤوب لتحسين أداء macOS.

حل لغز خشبي مكون من 25 قطعة باستخدام Haskell: الجزء الأول

2025-09-20

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

تعزيز أداء نواة لينكس: تحسين التسلسلات القابلة لإعادة التشغيل

2025-09-20

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

نماذج LLM من Azure: حالة من الأداء المتدهور

2025-09-20
نماذج LLM من Azure: حالة من الأداء المتدهور

اكتشف مطور يعمل على منتج يستخدم نماذج LLM ونماذج الصوت من Azure اتجاهًا مثيرًا للقلق: نفس النماذج أصبحت أسوأ تدريجيًا بمرور الوقت. باستخدام نفس المطالبات والرسائل الخاصة بالنظام، انخفضت دقة استجابات كل من نموذجي GPT-4o-mini و GPT-5-mini/nano بشكل كبير. وقد ثبت أن نموذج GPT-5، على الرغم من أنه كان متوقعًا أن يكون أفضل، كان أبطأ وأقل دقة من نموذج GPT-4o-mini الأقدم. يشتبه المطور في أن مايكروسوفت تقوم بتدهور النماذج القديمة عمدًا لدفع المستخدمين نحو إصدارات أحدث وأقل موثوقية. هذه الممارسة تضر بتجربة المستخدم وقد تدفع المطورين إلى البحث عن منصات بديلة.

التطوير تدهور النموذج

إزالة ضخمة لحزم NPM: دعوة للاستيقاظ للمطورين

2025-09-20
إزالة ضخمة لحزم NPM: دعوة للاستيقاظ للمطورين

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

التطوير إزالة الحزم

لماذا يجب عليك التخلي عن جيثب لمشروعك مفتوح المصدر؟

2025-09-20

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

التطوير

لجنة C++ تتخلى عن اقتراح مجموعة فرعية آمنة وسط جدل حول أمان الذاكرة

2025-09-20
لجنة C++ تتخلى عن اقتراح مجموعة فرعية آمنة وسط جدل حول أمان الذاكرة

رفضت لجنة معايير C++ اقتراحًا مفصلاً لمجموعة فرعية آمنة بدقة من اللغة، على الرغم من المخاوف المستمرة بشأن أمان الذاكرة. يعزو المؤلف المشارك شون باكستر الرفض إلى عدم شعبية نموذج أمان Rust داخل اللجنة، ويفضل نهج "الأنماط الشخصية" بدلاً من ذلك. على الرغم من أن "الأنماط الشخصية" تحظى بدعم شخصيات مثل بيارني ستروستروب، إلا أن جدواها موضع تساؤل، وقد لا يتم تضمينها في C++26. يثير هذا القرار جدلاً، حيث يقترح المطورون أن التحول إلى Rust أو لغات أخرى أكثر أمانًا مثل مشروع Carbon التجريبي من Google قد يكون حلاً أفضل.

التطوير

قيود وحدة خدمة Systemd: سبب شائع لفشل بدء تشغيل العمليات الخلفية

2025-09-20

مشكلة كلاسيكية يواجهها مسؤولوا أنظمة Linux هي فشل عملية خلفية في البدء بشكل طبيعي، لكنها تعمل بشكل جيد عند تشغيلها يدويًا كـ root. الأسباب التقليدية تشمل متغيرات بيئة $PATH غير المكتملة، وSELinux، وAppArmor. بشكل متزايد، تكون قيود وحدة خدمة systemd (الموثقة في systemd.exec) هي السبب. قد تتسبب توجيهات مثل ProtectHome وPrivateTmp في أخطاء غامضة مثل "تم رفض الإذن" أو "الملف غير موجود"، أو حتى أخطاء غير مباشرة مثل حظر استعلامات DNS. يمكن أن يساعد إزالة القيود من ملف .service الخاص بعملية الخلفية في تشخيص المشكلة، ولكن قد تعتمد عمليات الخلفية المستقبلية على هذه القيود، مما يعقد عملية استكشاف الأخطاء وإصلاحها.

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

دعوات النظام: التكلفة الخفية للأداء

2025-09-20
دعوات النظام: التكلفة الخفية للأداء

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

التطوير

مكتبة دوال التسهيل بيزير التكعيبية في C++: سرعة فائقة

2025-09-20

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

التطوير منحنيات بيزير

GitHub Actions: إيقاف دعم Node.js 20 والترحيل إلى Node.js 24

2025-09-20
GitHub Actions: إيقاف دعم Node.js 20 والترحيل إلى Node.js 24

أعلنت GitHub Actions عن إيقاف دعم Node.js 20 في أبريل 2026، وتهدف إلى ترحيل جميع الإجراءات إلى Node.js 24 في خريف 2025. يدعم أحدث إصدار من GitHub runner بالفعل Node.js 24، ويمكن للمستخدمين اختباره مُسبقًا عن طريق تعيين متغير بيئة. اعتبارًا من 4 مارس 2026، سيصبح Node.js 24 الإصدار الافتراضي. يمكن للمستخدمين الاستمرار في استخدام Node.js 20 مؤقتًا عن طريق تعيين متغير بيئة حتى إزالته الكاملة في الصيف. يُرجى ملاحظة أن Node.js 24 غير متوافق مع macOS 13.4 والإصدارات الأقدم، ولا يدعم برامج التشغيل المُستضافة ذاتيًا بمعمارية ARM32.

التطوير
1 2 4 6 7 8 9 213 214