Category: التطوير

احذر من الفروق الدقيقة الثقافية في التعليمات البرمجية: فخ الحرف الكبير التركي "İ"

2025-05-06

يلقي هذا المقال الضوء على خطأ مفاجئ: تفشل مقارنات الأحرف الكبيرة والصغيرة للسلاسل في الثقافة التركية. الحرف الكبير لـ "i" باللغة التركية هو "İ" المنقط، على عكس "I" الإنجليزية، مما يتسبب في فشل مقارنات السلاسل البسيطة. ينصح الكاتب باستخدام `StringComparison.Ordinal` أو `StringComparison.OrdinalIgnoreCase` لمقارنة السلاسل، ويُوصي باستخدام أداة تحليل التعليمات البرمجية في Visual Studio لمنع مثل هذه المشكلات. ويُقترح نهج تدريجي لإضافة القواعد وإدارتها من خلال ملفات القواعد، لتجنب أخطاء التعليمات البرمجية الناتجة عن الاختلافات الثقافية في النهاية.

هايبر: لغة ترميز واجهة مستخدم بسيطة تتحدى هيمنة ريكت

2025-05-06
هايبر: لغة ترميز واجهة مستخدم بسيطة تتحدى هيمنة ريكت

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

أنوكاري: مشاكل في أداء مُولِّد الصوت الفيزيائي في الوقت الحقيقي على نظام تشغيل ماك

2025-05-06

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

التطوير

Argus: مصحح أخطاء تفاعلي لفك رموز أخطاء Rust Trait المعقدة

2025-05-06
Argus: مصحح أخطاء تفاعلي لفك رموز أخطاء Rust Trait المعقدة

يُعرف نظام أنواع Rust القوي، لكن أخطاء الأنواع المعقدة قد تكون محبطة للمطورين. تُقدم هذه المقالة Argus، وهو مصحح أخطاء تفاعلي يُظهر شجرة استنتاج Rust Trait في واجهة رسومية، مما يُساعد المطورين على فهم أخطاء Trait المعقدة خطوة بخطوة. يوفر Argus طرق عرض من الأسفل إلى الأعلى ومن الأعلى إلى الأسفل، بالإضافة إلى توسيع تفاعلي لأنواع الطرق الطويلة، مما يحسّن كفاءة تحديد موقع الأخطاء بشكل كبير. أظهرت دراسة المستخدمين تسريعًا بمقدار 3.3 مرة في تحديد موقع أخطاء Trait باستخدام Argus. يتوفر Argus كإضافة VSCode، والشيفرة المصدر مفتوحة المصدر.

التطوير

فداء المبرمج: من هوس الشفرة إلى التخلي

2025-05-06

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

التطوير هوس الشفرة

فرز بتوني أسرع بنسبة 30% على CUDA: الاستفادة من تبديل الـ Warp

2025-05-06

تتناول هذه المدونة شرحًا لتنفيذ خوارزمية الفرز بتوني على CUDA، حيث تم تحقيق زيادة في الأداء بنسبة 30% من خلال استخدام تعليمة `__shfl_sync` بذكاء. يشرح الكاتب مبادئ الفرز بتوني، وبرمجة SIMD، وتفاصيل تنفيذ CUDA. تكمن أهمية التحسين في استبدال طريقة الاتصال التقليدية بذاكرة مشتركة باستخدام `__shfl_sync`، مما يلغي عبء التزامن ويحسن الكفاءة بشكل ملحوظ. تشير المقالة أيضًا إلى إمكانية استخدام هذا الفرز المُسرّع لـ 32 عنصرًا لتسريع فرز التسلسلات الأكبر حجمًا، مع وعد بتحديث لاحق حول تحسين دمج 32 طريقًا.

إدارة الذاكرة في Rust: تقنيات متقدمة

2025-05-06
إدارة الذاكرة في Rust: تقنيات متقدمة

هذه هي المشاركة الخامسة في سلسلة حول إدارة الذاكرة في Rust، حيث نتعمق في تقنيات متقدمة للتعامل مع عمليات الذاكرة المعقدة. بدايةً بمثال بسيط للمُكرر، تشرح هذه المشاركة تعقيدات آلية الملكية والإعارة في Rust، مُوضحةً سبب نقل ملكية `x` في `for y in x` وكيفية تجنب ذلك باستخدام مرجع `&x`. بعد ذلك، يتم تحليل تأثير استدعاءات الطريقة على إدارة الذاكرة، مُفصلًا كيفية قيادة استدعاءات الطريقة المتعددة إلى أخطاء في مُراجع الإعارة، بالإضافة إلى تقديم حلول: إسقاط وإعادة الإعارة، تخزين مُعرف، إنشاء نسخة، وإعادة هيكلة الكود. تختتم المشاركة بِمقدمة مُوجزة عن أعمار المتغيرات في Rust وأعمار المتغيرات غير المُفردة، مُبيّنةً كيفية منع المراجع المُعلقة من خلال تعليقات أعمار المتغيرات، وكيفية استخدام Rust لآليات مُشابهة لضمان أمان الذاكرة وأمان الخيوط.

Open WebUI يضيف بند حماية العلامة التجارية إلى الترخيص

2025-05-06

أضاف مشروع Open WebUI، وهو مشروع مستقل للذكاء الاصطناعي مفتوح المصدر، بند حماية العلامة التجارية إلى ترخيصه BSD-3 اعتبارًا من الإصدار 0.6.6. يأتي هذا بعد زيادة في عدد الجهات الفاعلة السيئة التي استخدمت المشروع، وأزالت العلامة التجارية، وبيعتها تجاريًا. لا تؤثر البند الجديد على المستخدمين الشرعيين، ولكنه يمنع أولئك الذين يسيئون تمثيل المشروع ويجنون الأرباح دون المساهمة. يسمح بالتعديلات وإعادة التوزيع، ولكنه يتطلب الإسناد الواضح ما لم يتم استيفاء شروط محددة (مثل أقل من 50 مستخدمًا، أو مساهم حاصل على إذن، أو ترخيص مؤسسي). يظل Open WebUI مفتوح المصدر إلى حد كبير، سعياً إلى تحقيق التوازن بين روح المجتمع واستدامة المشروع.

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

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

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

التطوير

إضافة VS Code: إضافة كلمات async/await تلقائيًا

2025-05-05
إضافة VS Code: إضافة كلمات async/await تلقائيًا

تضيف هذه الإضافة لـ VS Code كلمات `async/await` المفقودة تلقائيًا عند حفظ ملف TypeScript. يلزم وجود ملف `tsconfig.json` في مجلد المشروع. تضيف الإضافة كلمات `async` و `await` بذكاء لضمان تشغيل الدوال غير المتزامنة بشكل صحيح. لمنع إضافة `await` إلى دالة غير متزامنة محددة، أضف التعليق `// no-await` في نهاية دعوة الدالة. قد تكون عملية التحويل الأولى بطيئة، لكن عمليات التحويل اللاحقة ستكون أسرع.

التطوير

وداعًا لاستهلاك وحدة المعالجة المركزية من Kubernetes: أتمتة الحاويات الخفيفة الوزن باستخدام Podman

2025-05-05
وداعًا لاستهلاك وحدة المعالجة المركزية من Kubernetes: أتمتة الحاويات الخفيفة الوزن باستخدام Podman

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

مكتبة واجهة مستخدم Tkinter إعلانية لبايثون: tkintergalactic

2025-05-05
مكتبة واجهة مستخدم Tkinter إعلانية لبايثون: tkintergalactic

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

Nakama: خادم موزع لألعاب وتطبيقات زمنية حقيقية قابلة للتطوير

2025-05-05
Nakama: خادم موزع لألعاب وتطبيقات زمنية حقيقية قابلة للتطوير

Nakama هو خادم موزع عالي الأداء تم تصميمه لإنشاء ألعاب وتطبيقات زمنية حقيقية قابلة للتطوير. يقدم ميزات مثل تسجيل المستخدمين، والوظائف الاجتماعية (الأصدقاء، المجموعات)، والدردشة، وأنماط متعددة اللاعبين متنوعة (في الوقت الحقيقي وبالأدوار)، واللوحات التصنيفية، والبطولات، والأطراف، والتحقق من عمليات الشراء داخل التطبيق، والإشعارات. يمكن للمطورين توسيع وظائف الخادم باستخدام Lua أو TypeScript/JavaScript أو Go. يدعم Nakama نشر Docker ويوفر ملفات ثنائية أصلية ومكتبات عملاء لأنظمة أساسية مختلفة (.NET وUnity وJavaScript وJava وUnreal Engine وما إلى ذلك). كما يتضمن واجهة مستخدم ويب للإدارة والمراقبة.

تهيئة خادم لغة بايثون في محرر كيت لبيئات العمل الظاهرية

2025-05-05

تشرح هذه التدوينة كيفية تهيئة خادم لغة بايثون في محرر كيت للعمل مع بيئات العمل الظاهرية. يلاحظ الكاتب أنه على الرغم من وجود وثائق كيت، إلا أن عملية الإعداد قد تكون صعبة. يقدم المقال شرحًا مفصلاً لإنشاء برنامج نصي bash، يُسمى `pylsp_in_env`، للكشف عن بيئات العمل الظاهرية وتفعيلها تلقائيًا. ثم يتم دمج هذا البرنامج النصي مع `python-lsp-server` و `python-lsp-ruff` (لـ Ruff lint والتنسيق). يتم تحقيق التهيئة النهائية من خلال تحديد البرنامج النصي `pylsp_in_env` ووسيطة المسار `%{Project:NativePath}` في ملف تهيئة LSP الخاص بـ كيت.

التطوير كيت خادم اللغة

Redfly.ai: ثورة في أداء قواعد البيانات باستخدام التخزين المؤقت المستقل عن المخطط

2025-05-05
Redfly.ai: ثورة في أداء قواعد البيانات باستخدام التخزين المؤقت المستقل عن المخطط

بعد أكثر من 20 عامًا من بناء تطبيقات تعتمد على البيانات، واجه فريق redfly.ai تحديات أداء قواعد البيانات، وقابلية التوسع، والتكلفة. حلّهم؟ أول نظام تخزين مؤقت مستقل عن المخطط في العالم. من خلال تخزين جميع عمليات القراءة بكفاءة، واستخدام قاعدة البيانات بشكل أساسي للتخزين، تتجاوز redfly.ai معظم تحديات قواعد البيانات القائمة على القرص. تدعم حاليًا SQL Server و Postgres، مع خطط لدعم المزيد من قواعد البيانات ومنصات الحوسبة السحابية، وتهدف redfly.ai إلى تزويد المطورين بحلّ وصول إلى البيانات عالي الأداء وفعال من حيث التكلفة.

Journelly: تطبيق iOS جديد يجمع بين الملاحظات والدورية ووسائل التواصل الاجتماعي

2025-05-05
Journelly: تطبيق iOS جديد يجمع بين الملاحظات والدورية ووسائل التواصل الاجتماعي

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

التطوير تطبيق دورية

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

2025-05-05
أسطورة السيد الكامل المكدس: لماذا تحتاج التكنولوجيا العميقة إلى إصلاح خط الأنابيب

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

VectorVFS: نظام الملفات الخاص بك كقاعدة بيانات متجهة

2025-05-05

VectorVFS هي حزمة بايثون خفيفة الوزن تحول نظام ملفات Linux الخاص بك إلى قاعدة بيانات متجهة باستخدام سمات VFS (نظام الملفات الظاهري) الممتدة الأصلية. بدلاً من الاحتفاظ بمؤشر منفصل أو قاعدة بيانات خارجية، يخزن VectorVFS عمليات تضمين المتجهات مباشرةً بجانب كل ملف - مما يحول هيكل الدليل الحالي الخاص بك إلى مخزن تضمين فعال وقابل للبحث دلاليًا. يدعم VectorVFS مُشفرات الإدراك (PE) من Meta، بما في ذلك مُشفرات الصور/الفيديو لفهم اللغة المرئية، متفوقًا على InternVL3 وQwen2.5VL وSigLIP2 في مهام الصور ذات اللقطة الصفرية. وهو يدعم كل من وحدة المعالجة المركزية ووحدة معالجة الرسومات، ولكن إذا كان لديك مجموعة كبيرة من الصور، فقد يستغرق الأمر بعض الوقت في المرة الأولى لتضمين جميع العناصر إذا كنت لا تستخدم وحدة معالجة الرسومات. ملاحظة: هذا هو الإصدار الأول من VectorVFS ونحن نوسع النماذج وأنواع البيانات. حاليًا، ندعم فقط مُشفرات الإدراك (PE) والصور.

التطوير

الحدس الهندسي وراء نظرية الدالة العكسية وتحويل ليجيندر

2025-05-05

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

Bracket: نظام بطولة سهل الاستخدام في بايثون غير متزامن

2025-05-05
Bracket: نظام بطولة سهل الاستخدام في بايثون غير متزامن

Bracket هو نظام بطولة سهل الاستخدام تم إنشاؤه باستخدام بايثون غير متزامن (FastAPI) و Next.js (باستخدام مكتبة Mantine). يدعم أنظمة الإقصاء الفردي، والجميع ضد الجميع، والسويسري، مما يسمح بإنشاء بطولات متعددة المراحل مع جدولة السحب والإفلات، ولوحات تحكم قابلة للتخصيص، وإدارة الفرق/اللاعبين. تتوفر نسخة تجريبية، والانتشار سهل عبر Docker. يتم دعم العديد من اللغات (عبر Crowdin).

التشفير ≠ البرمجة: منظور الفائز بجائزة تورينج حول التجريد

2025-05-05
التشفير ≠ البرمجة: منظور الفائز بجائزة تورينج حول التجريد

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

CodeCafé: بيئة ترميز تعاونية في الوقت الفعلي عبر المتصفح

2025-05-05
CodeCafé: بيئة ترميز تعاونية في الوقت الفعلي عبر المتصفح

CodeCafé هي بيئة تطوير تعاونية فائقة، تعمل في الوقت الفعلي، ومُدمجة مباشرةً في متصفحك. صُممت لتسهيل البرمجة الزوجية، والتدريس، وبناء مشاريع الويب التعاونية بسلاسة مثل مشاركة الفكرة، وتعالج CodeCafé قيود الأدوات الحالية للترميز في الوقت الفعلي. فهي توفر مساحة ترميز قائمة على المتصفح مع ميزات مثل معاينة حية دقيقة بالبكسل، وتجربة تحرير مألوفة تشبه VS Code، وإعداد صفري. بفضل نظام التحويل التشغيلي (OT) المخصص، تُمكّن من التعاون السلس، على غرار Google Docs، حتى مع وجود تعديلات متزامنة متعددة. يستخدم الخلفية Java Spring Boot وواجهة برمجة التطبيقات WebSocket، بينما يستخدم الواجهة الأمامية React وTypeScript وتقنيات حديثة أخرى.

البحث عن الشبكة العصبية الأكثر جاذبية: مغامرة على Cortex-M0

2025-05-05

يحاول الكاتب تشغيل شبكة عصبية صغيرة على متحكم دقيق Cortex-M0 محدود الموارد لتقدير الوضع. وقد ثبت أن المحاولات الأولية باستخدام أطر عمل مثل TensorFlow Lite Micro و MicroFlow كبيرة جدًا وتعتمد على عمليات الفاصلة العائمة. قرر في النهاية بناء شبكة عصبية تعتمد فقط على الأعداد الصحيحة من الصفر باستخدام JAX وكتابة رمز الاستدلال يدويًا. كانت الرحلة مليئة بالتحديات، ويشترك الكاتب في الدروس القيمة التي تعلمها، مما يوفر رؤى للمطورين الذين يهدفون إلى تشغيل الشبكات العصبية على أجهزة محدودة الموارد.

التطوير كمية النموذج

اختصارات macOS: قصة التقدم الراكد

2025-05-05
اختصارات macOS: قصة التقدم الراكد

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

التطوير

LaTeX الحديث: دليل بدء سريع

2025-05-05
LaTeX الحديث: دليل بدء سريع

سئمت من برامج تعليم LaTeX قديمة؟ هذا الدليل الحديث يوفر لك بداية سريعة، متجاهلاً المعلومات البالية من تسعينيات القرن الماضي، ويركز على النصائح العملية. يتضمن رابطًا لتحميل ملف PDF وتعليمات مفصلة حول تثبيت LuaLaTeX، وتكوين الخطوط (مثل Garamond Premier، و Neue Haas Grotesk، وما إلى ذلك)، واستخدام latexmk أو عملية التجميع اليدوية. كما يشجع الدليل على تقديم المساهمات والاقتراحات من القراء.

التطوير

اختبارات الوحدات الدلالية باستخدام نماذج اللغة الكبيرة: مقدمة لمكتبة `suite`

2025-05-05

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

وداعًا لتحليل الأعطال الممل: تصحيح الأخطاء بمساعدة الذكاء الاصطناعي

2025-05-05

في حين أن تطوير البرمجيات قد شهد تقدمًا سريعًا، إلا أن تحليل ملفات تفريغ الأعطال لا يزال عالقًا في الماضي. تُقدم هذه المقالة مشروعًا مفتوح المصدر يُدعى mcp-windbg، والذي يُحدث ثورة في تصحيح أخطاء الأعطال باستخدام الذكاء الاصطناعي (GitHub Copilot) وبروتوكول سياق النموذج (MCP). يمكن للمطورين الآن التفاعل مع مصحح الأخطاء بشكل طبيعي من خلال المحادثات، حيث يُحدد الذكاء الاصطناعي الأخطاء ويُصلحها تلقائيًا، مما يزيد الكفاءة بشكل كبير. يُدمج mcp-windbg بذكاء WinDBG/CDB مع الذكاء الاصطناعي، مما يلغي الحاجة إلى الأوامر اليدوية. ما عليك سوى طرح الأسئلة، وسوف يحلل الذكاء الاصطناعي ملفات تفريغ الذاكرة، ويُفسر مسارات المكدس، ويُقدم الحلول. هذا يُحوّل تحليل الأعطال من مهمة مملة إلى عملية أكثر ذكاءً وكفاءة، مما يُغيّر بشكل أساسي تجربة تصحيح الأخطاء للمطورين.

ما وراء "مرحباً يا عالم": غوص عميق في إنشاء الملفات التنفيذية

2025-05-05

يستذكر الكاتب تجربته اللطيفة في تعلم لغات البرمجة C و C++، ولكنه يقارنها بصعوبة تحويل البرامج إلى ملفات قابلة للتنفيذ. تهدف هذه السلسلة من المقالات إلى سدّ ثغرة في الكتب الدراسية الحالية حول عملية الترجمة. ستتناول المقالات المفاهيم الأساسية للمُترجم، مع التحقق من الادعاءات من خلال خطوات قابلة للتكرار باستخدام أدوات bintools ووضع الإخراج المفصل (-v) للسائق. الهدف هو تزويد القراء بفهم شامل لعملية إنشاء الملفات القابلة للتنفيذ، وتخليصهم من إحباط الأخطاء الغامضة مثل LNK2019 و LNK4002.

Urtext: أداة ثورية للكتابة بنصوص عادية

2025-05-05

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

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

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

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

التطوير
1 2 96 97 98 100 102 103 104 213 214