Category: التطوير

PyXL: تشغيل Python في الأجهزة، ووقت انتقال GPIO يبلغ 480 نانوثانية

2025-04-28
PyXL: تشغيل Python في الأجهزة، ووقت انتقال GPIO يبلغ 480 نانوثانية

PyXL هو معالج أجهزة مخصص ينفذ Python مباشرة في السيليكون، مما يلغي الحاجة إلى مترجم أو مُجمِّع JIT. وهو يُجمِّع رمز Python إلى تجميع مخصص ويُشغّله على مُعالج خط أنابيب مُخصص. تُظهر الاختبارات وقت انتقال GPIO مذهلًا يبلغ 480 نانوثانية، وهو أسرع من MicroPython بأكثر من 30 مرة. هذا يجعل PyXL مثاليًا للتطبيقات عالية الأداء التي تتطلب استجابة في الوقت الفعلي وتوقيتًا حتميًا، مثل أنظمة التحكم في الوقت الفعلي، واستنتاج ML، والروبوتات.

التطوير

وهم النظرية في البرامج الضخمة: نماذج اللغات الكبيرة وحدود فهم الشفرة

2025-04-28

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

أزمة المؤتمرات الأكاديمية: هل يخنق الشكلية الابتكار؟

2025-04-28

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

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

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

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

التطوير

نقاش كبير حول الأداء المتوسط: المتوسط الهندسي مقابل المتوسط التوافقي

2025-04-27
نقاش كبير حول الأداء المتوسط: المتوسط الهندسي مقابل المتوسط التوافقي

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

الملاك والشيطان على كتفي: معضلة المبرمج

2025-04-27

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

التطوير

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

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

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

التطوير

إحياء محاكاة وحدة المعالجة العائمة FPU لأجهزة i486SX على نظام NetBSD

2025-04-27
إحياء محاكاة وحدة المعالجة العائمة FPU لأجهزة i486SX على نظام NetBSD

يعيد هذا المشروع للحوسبة القديمة دعم محاكاة وحدة المعالجة العائمة x87 (FPU) في نواة NetBSD، ويستهدف المعالجات القديمة من فئة 486SX التي تفتقر إلى وحدات FPU للأجهزة. وهو يعيد خيار MATH_EMULATE الأصلي إلى NetBSD 10.x والإصدارات الأحدث، بالإضافة إلى استعادة وإعادة صياغة التغييرات التي تم إدخالها في الالتزام dfe83e0، والذي أزال دعم محاكاة FPU من النواة. هذا المشروع قيد التطوير وقد يحتوي على أخطاء أو وظائف غير مكتملة. استخدمه على مسؤوليتك الخاصة.

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

توليد التعليمات البرمجية بالذكاء الاصطناعي: ضجيج أكثر من جوهر؟

2025-04-27

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

ثغرة يوم الصفر في نظام iOS: هجوم حجب الخدمة عبر إشعارات داروين

2025-04-27

اكتشف باحث أمني ثغرة أمنية حرجة في نظام iOS تسمح للتطبيقات الضارة بتنفيذ هجمات حجب الخدمة، بل وتسبب إعادة تشغيل النظام، من خلال إرسال إشعارات داروين. باستغلال نقص التحقق من المُرسِل في آلية إشعارات داروين، أنشأ الباحث تطبيقًا يُسمى "VeryEvilNotify"، والذي يُشغل حلقة "جارٍ الاستعادة"، مما يُجبر النظام على إعادة التشغيل. وقد قامت أبل بإصلاح هذه المشكلة في نظام iOS 18.3 من خلال إدخال أذونات مقيدة للإشعارات الحساسة.

التطوير حجب الخدمة

دليل تثبيت OpenBSD 7.7 السريع

2025-04-27

تختلف طريقة تثبيت OpenBSD 7.7 وفقًا لمعمارية جهازك. توفر هذه الوثيقة لمحة عامة موجزة عن طرق التثبيت لأنظمة معمارية مختلفة (amd64، arm64، i386، إلخ)، بما في ذلك التثبيت من قرص مضغوط أو محرك USB أو عبر الشبكة. لإعدادات التمهيد المزدوج، يرجى الرجوع إلى ملفات INSTALL.* المناظرة. بالإضافة إلى ذلك، تتطرق هذه الوثيقة بإيجاز إلى نظام ports في OpenBSD؛ يُنصح المبتدئين بالرجوع إلى الوثائق ذات الصلة.

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

Logchef: منصة تحليل سجلات خفيفة الوزن وعالية الأداء

2025-04-27
Logchef: منصة تحليل سجلات خفيفة الوزن وعالية الأداء

Logchef هي عبارة عن منصة تحليل سجلات خفيفة الوزن وقوية، مبنية على ClickHouse لتخزين السجلات واستعلامها عالي الأداء. تعمل كملف ثنائي واحد، وتوفر واجهة سهلة الاستخدام لاستكشاف بيانات السجلات. تتضمن الميزات استكشاف سجلات بدون مخطط، وخيارات استعلام مرنة (بحث بسيط وClickHouse SQL الكامل)، وأداء عالي، والتحكم في الوصول القائم على الفريق. قابلة للنشر عبر أمر Docker Compose واحد، تعد Logchef مثالية لفِرَق التطوير التي تحتاج إلى حل تسجيل قوي وقابل للتطوير.

التطوير

انهيار السياق في مراجعات الأداء: لماذا تفشل اجتماعات المعايرة الخاصة بك؟

2025-04-27
انهيار السياق في مراجعات الأداء: لماذا تفشل اجتماعات المعايرة الخاصة بك؟

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

التطوير مراجعة الأداء

تعزيز أداء Ruby Ractor: معالجة اختناق `object_id`

2025-04-27

يعاني نموذج التزامن Ractor في Ruby من قيود الأداء بسبب الأقفال العالمية. تتعمق هذه المشاركة في اختناق الأداء الناجم عن طريقة `object_id`، الناتج عن خيارات التصميم التاريخية والتحسينات في جمع القمامة. من خلال تحسين تنفيذ `object_id`، وتخزينه مباشرة داخل الكائنات بدلاً من استخدام بحث في جدول هاش عالمي، يحسّن المؤلف أداء Ractor بشكل كبير، مما يؤدي إلى مضاعفة سرعة اختبارات الأداء في JSON. على الرغم من استمرار التحديات، مثل معالجة أنواع الكائنات الخاصة، إلا أن هذا العمل يمثل خطوة مهمة نحو جعل Ractors متوازية حقًا.

التطوير

snapDOM: أداة التقاط DOM عالية الدقة وسرعة فائقة

2025-04-27
snapDOM: أداة التقاط DOM عالية الدقة وسرعة فائقة

snapDOM هي أداة لالتقاط DOM عالية الدقة تم تطويرها لـ Zumly، وهو إطار عمل لإنشاء انتقالات عرض سلسة تعتمد على التكبير. تقوم بتحويل أي عنصر HTML إلى صورة SVG قابلة للتطوير، مع الحفاظ على الأنماط والخطوط والخلفيات ومحتوى Shadow DOM والعناصر الزائفة. تُظهر المقاييس أن snapDOM يتفوق بشكل كبير على المنافسين، خاصةً مع هياكل DOM الكبيرة. إنها خفيفة الوزن، وخالية من التبعيات، وتوفر تصديرًا إلى SVG و PNG و JPG و WebP و canvas. مثالية لالتقاط مشاهد الصفحات الكاملة، والنماذج، والتصاميم المعقدة.

التطوير التقاط DOM

أرشفة رمز مصدر قناة هومبرو Wii بسبب انتهاك حقوق النشر

2025-04-27
أرشفة رمز مصدر قناة هومبرو Wii بسبب انتهاك حقوق النشر

تم أرشفة مستودع رمز المصدر لقناة هومبرو Wii ولن يقبل المزيد من المساهمات. هذا يرجع إلى اكتشاف أن libogc، وهي مكتبة أساسية تعتمد عليها قناة هومبرو، تحتوي على أجزاء كبيرة من التعليمات البرمجية المسروقة من SDK من نينتندو ومن نظام التشغيل في الوقت الحقيقي (RTOS) مفتوح المصدر RTEMS. رفض مطورو libogc معالجة انتهاك حقوق النشر. يكشف هذا الكشف عن مشكلة طويلة الأمد تتعلق بانتهاكات حقوق النشر داخل مجتمع هومبرو Wii، مما يحث على التفكير في ممارسات تطوير البرامج الأخلاقية. تم إصدار رمز المصدر الآن علنًا، لكن المطورين يصرحون بأنهم لا يستطيعون ضمان شرعيته وأنه تم اختباره فقط تحت محاكي Dolphin.

التطوير

لغز عناوين OpenBenches: تحديد مواقع 40,000 مقعد بشكل أنيق

2025-04-27
لغز عناوين OpenBenches: تحديد مواقع 40,000 مقعد بشكل أنيق

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

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

أليس: مترجم لغة لِسْب مفتوح المصدر من تطوير فردي، قريب من مطابقة لغة كومن لِسْب

2025-04-27

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

التطوير

حل أنيق لـ SQLite متعدد المستأجرين في Rails

2025-04-27

تتناول هذه المقالة تجربة بناء تطبيق متعدد المستأجرين باستخدام Rails، حيث يمتلك كل مستأجر قاعدة بيانات SQLite مستقلة. استخدم الكاتب في البداية طريقة إدارة الاتصال التقليدية بقاعدة البيانات، مما أدى إلى أخطاء في الاتصال تحت الأحمال العالية. بعد الكثير من البحث، استخدم الكاتب أخيرًا طريقة `connected_to` في Rails 6+ بالإضافة إلى وسيط مخصص لتحقيق تبديل قاعدة بيانات المستأجر بأمان وفعالية، وحل بذكاء مشاكل تعدد الخيوط وإدارة تجمع الاتصالات، بالإضافة إلى مشاركة نصائح حول كيفية التعامل مع أجسام الاستجابة المتدفقة في Rack. هذه المقالة قيّمة لبناء تطبيقات متعددة المستأجرين عالية الأداء وقابلة للتطوير.

مذهل! هذه الأشياء غير المتوقعة كاملة وفقًا لتورينج!

2025-04-27

من قوالب C++ إلى لعبة Magic: The Gathering، وحتى PowerPoint - تكشف هذه المقالة عن مجموعة مدهشة من الأنظمة البسيطة على ما يبدو والتي تعد في الواقع كاملة وفقًا لتورينج. تتراوح الأمثلة من لغات البرمجة ومجموعات تعليمات الأجهزة إلى ميكانيكا الألعاب وحتى ضغط الصور، مما يبرز انتشار خاصية اكتمال تورينج المدهش وتطبيقاتها غير المتوقعة. حتى أن بعض الأمثلة تستغل الأخطاء أو الثغرات الأمنية لتحقيق قوة حوسبة غير متوقعة. استعد للدهشة!

تذكيرات مُجمِّع Elm: أداة قوية للكود القابل للصيانة

2025-04-27
تذكيرات مُجمِّع Elm: أداة قوية للكود القابل للصيانة

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

لينوس تورفالدس ينتقد أنظمة الملفات غير حساسة لحالة الأحرف

2025-04-27

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

التطوير

إصدار نظام التشغيل 9front 11091: تحسينات كبيرة وميزات جديدة

2025-04-27

أصدر نظام التشغيل 9front الإصدار 11091، والذي يتضمن العديد من التحديثات. وتشمل هذه التحديثات: مُجدول لقطات مُحسّن، وسائق جديد من Intel i225 بسرعة 2.5 جيجابت إيثرنت، ودعم لدرجة حرارة وحدة المعالجة المركزية لمعالجات AMD Ryzen، وواجهة لتوحيد ترميز Unicode 16.0 في مكتبة libc، ودعم لعدة بنيات معمارية (x86، amd64، arm64). بالإضافة إلى ذلك، يتضمن الإصدار تحسينات كبيرة في المُترجمات، والمكتبات، والبرامج، مثل دعم AWK لتنسيق rc-quote الجديد، بالإضافة إلى إصلاحات الأخطاء وتحسينات الأداء في العديد من البرامج. ويتم توفير وسائط تثبيت متعددة لأجهزة الكمبيوتر الشخصية، و Raspberry Pi، و MNT Reform، و QEMU.

التطوير

مطور متمرس يبحث عن فرص جديدة: البحث عن وظيفة والاستشارات

2025-04-27
مطور متمرس يبحث عن فرص جديدة: البحث عن وظيفة والاستشارات

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

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

دورة تعليمية تفاعلية مجانية بلغة C تم إطلاقها

2025-04-27
دورة تعليمية تفاعلية مجانية بلغة C تم إطلاقها

أطلق موقع learn-c.org دورة تعليمية تفاعلية مجانية لبرمجة لغة C. سواء كنت مبتدئًا أو مبرمجًا متمرسًا، فقد تم تصميم هذا الموقع الإلكتروني لأي شخص يرغب في تعلم لغة C. لا حاجة للتنزيل؛ ما عليك سوى النقر على فصل لبدء الدراسة. لا يزال الموقع قيد الإنشاء، ومرحباً بالمساهمات.

التطوير

خمس سنوات من go-mysql-server في دول: رحلة الاستعلام

2025-04-27
خمس سنوات من go-mysql-server في دول: رحلة الاستعلام

تتناول هذه التدوينة خمس سنوات من استخدام دول لـ go-mysql-server، مع شرح مفصل للآلية الداخلية لمحرك SQL الخاص بها. وتتبع مسار الاستعلام من التحليل إلى توليد النتائج، بما في ذلك التحليل، والربط، وتبسيط الخطة، واستكشاف الإنشاءات، والتحسين القائم على التكلفة، والتنفيذ. يستخدم دول محللًا متكررًا من اليسار والبرمجة الديناميكية من الأسفل إلى الأعلى لتحسين خطة الاستعلام، ويختار استراتيجية التنفيذ المثلى باستخدام نموذج تكلفة. وتناقش التدوينة أيضًا إدارة الذاكرة وتحسينات المستقبل، مثل توحيد التمثيلات الوسيطة وتقليل تبديل الذاكرة.

التطوير

GoEnums: توليد بديهي لأنواع التعداد في Go

2025-04-26
GoEnums: توليد بديهي لأنواع التعداد في Go

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

التطوير أنواع التعداد

بناء مكتبة C القياسية المدمجة باستخدام Newlib على نظام RISC-V بدون نظام تشغيل

2025-04-26
بناء مكتبة C القياسية المدمجة باستخدام Newlib على نظام RISC-V بدون نظام تشغيل

تشرح هذه المقالة كيفية بناء مكتبة C قياسية مضغوطة باستخدام Newlib على نظام RISC-V بدون نظام تشغيل. يقوم الكاتب بتنفيذ وظائف UART الأساسية، ويمررها إلى Newlib لتمكين وظيفة printf. تغطي العملية مفهوم Newlib، وإعداد سلسلة أدوات الترجمة المتقاطعة، وسائق UART، ونداءات النظام، وإنشاء نصوص الربط. وتختتم المقالة بتشغيل التطبيق في QEMU وتحليل سجل التصحيح. هذا البرنامج التعليمي العملي حول تطوير الأنظمة المدمجة، يوضح كيفية استخدام مكتبة C القياسية في بيئات محدودة الموارد.

التطوير

موَقّعات HTTP: بثّ أحداث غير متزامن باستخدام HTTP بسيط

2025-04-26

تُعَدّ موَقّعات HTTP مواصفةً مُبسّطةً لبثّ الأحداث غير المتزامن ونسخ البيانات باستخدام واجهات برمجة التطبيقات HTTP البسيطة. تُعرّف نقطة نهاية HTTP GET بسيطة تُعيد تسلسلًا مُرتّبًا زمنيًا لأحداث CloudEvents في استجابات مُجمّعة. باستخدام مُعامل الاستعلام `lastEventId`، يُمكن للعملاء إجراء استطلاعات لا نهائية للحصول على تحديثات في الوقت الفعلي، مما يُقدّم بديلاً لوسطاء الرسائل (مثل Kafka أو RabbitMQ). كما تُغطّي المواصفة الاستطلاعات الطويلة لانخفاض وقت الوصول، وضغط البيانات وحذفها من أجل الكفاءة، ومعالجة معرفات الأحداث من أجل معالجة الأحداث القوية.

التطوير بثّ الأحداث

CONL: هل هو Markdown ملفات التكوين؟

2025-04-26

هل سئمت من تعقيدات JSON و YAML و TOML؟ قام مهندس برمجيات بإنشاء CONL، وهو تنسيق ملفات تكوين بسيط للغاية يهدف إلى أن يكون "Markdown" ملفات التكوين. يُعد CONL سهل القراءة والتحرير، ويتميز بنموذج بيانات مشابه لـ JSON، وهو سهل التنفيذ. يدعم أنواع بيانات متنوعة، بما في ذلك القيم العددية، والقوائم، والخرائط، مع دعم جيد لسلاسل النصوص متعددة الأسطر. كما يقدم المؤلف تنفيذات لـ Rust و Go، بالإضافة إلى خادم لغة وامتداد Zed.

التطوير
1 2 102 103 104 106 108 109 110 213 214