Category: التطوير

قانون باركنسون: تحديد المواعيد النهائية، وتعزيز الكفاءة

2024-12-12

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

الوصول إلى قاعدة بيانات مؤقتة باستخدام GitHub Actions و S3

2024-12-12

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

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

تخزين الأوقات للأحداث البشرية: أفضل الممارسات والتحديات

2024-12-12

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

مطور ينتقد مزودي OAuth لعيوب واجهة برمجة التطبيقات

2024-12-12

انتقد مطور برمجيات علنًا العديد من مزودي OAuth (GitHub و Facebook و TikTok و Strava و Naver وغيرهم) بسبب العديد من عدم الاتساق في واجهات برمجة التطبيقات الخاصة بهم. وتضمنت المشاكل رموز الحالة غير الصحيحة، واستجابات الأخطاء غير القياسية، وتسمية المعلمات غير المتسقة، وتنسيقات انتهاء صلاحية الرمز المميز المعيبة. وحث المؤلف هؤلاء المزودين على تصحيح هذه المشكلات، معربًا عن ارتباك خاص بشأن خيارات التصميم الخاصة بـ Naver. كما سلط الضوء على الافتقار إلى دعم مصادقة HTTP الأساسية، موضحًا لاحقًا أنه على الرغم من كونها اختيارية في OAuth 2.1، إلا أن عدم دعم PKCE لدى معظم المزودين يجعلها غير متوافقة مع أي من المواصفات.

رسومات نقطية عالية الدقة مع كومودور 64 بي إس آي سي 2.0: روتين مسح سريع للشاشة

2024-12-12

تشرح هذه المقالة كيفية التعامل بكفاءة مع رسومات نقطية عالية الدقة في بي إس آي سي 2.0 الخاص بجهاز كومودور 64، مع التركيز على روتين مسح سريع للشاشة. ويشير الكاتب إلى أن بي إس آي سي الأصلي يفتقر إلى أوامر معالجة مباشرة للنقاط، مما يجعل عملية المسح التقليدية بطيئة. ويقدم حلاً ذكياً يستخدم آلية تخزين السلاسل في بي إس آي سي: سلاسل طويلة مملوءة بـ CHR$(0) تقوم بالكتابة فوق ذاكرة النقاط، مما يحقق مسحاً سريعاً. وتُوضّح هذه التقنية من خلال مثال لرسم دالة جيب التمام.

WXT: إطار عمل جيل جديد لامتدادات الويب لتسريع التطوير

2024-12-12

WXT هي أداة مفتوحة المصدر تُحدث ثورة في تطوير امتدادات الويب. تدعم Chrome و Firefox و Edge و Safari وجميع المتصفحات القائمة على Chromium، وتُنشئ امتدادات Manifest V2 و V3 من قاعدة بيانات واحدة. بفضل تقنية HMR فائقة السرعة، ونقاط الدخول القائمة على الملفات، ودعم TypeScript الافتراضي، يوفر WXT عمليات استيراد تلقائية ونشرًا آليًا. وهو يعمل مع أي إطار عمل أمامي ومتوافق مع أي مكوّن إضافي Vite، ويحتوي على نظام وحدات وتنزيل كود بعيد، مما يُعظم سرعة التطوير ويسمح للمطورين بالتركيز على الميزات بدلاً من نصوص البناء.

أخطاء مُجمِّع C++: أخطاء لا معنى لها من إعلان دالة

2024-12-12

واجه مطور أثناء إضافة دعم XAML إلى تطبيق C++ سلسلة من أخطاء المُجمِّع بمجرد تضمين ملف الرأس winrt/Windows.UI.Xaml.h. نشأت الأخطاء مما بدا وكأنه إعلان دالة عادي: `template struct consume_Windows_UI_Xaml_IExceptionRoutedEventArgs { [[nodiscard]] auto ErrorMessage() const; };` كان السبب الرئيسي هو وجود ماكرو موجود مسبقًا يسمى ErrorMessage في مشروع المطور، مما تسبب في تعارض مع اسم الدالة. أنشأ هذا الماكرو كائن ErrorMessageString وأعاد مؤشرًا إلى سلسلة رسالة خطأ. أدت حدود الماكرو غير المحددة إلى تفسير المُجمِّع الخاطئ لإعلان الدالة على أنه استدعاء ماكرو، مما أدى إلى أخطاء مثل "عدد غير كافٍ من الوسائط". كان الحل يتضمن تعطيل الماكرو باستخدام #pragma undef قبل تضمين الرأس أو إزالة الماكرو بالكامل واستبداله بدالة مضمنة.

QEMU يكتسب تسريع Vulkan مع تحديث برنامج تشغيل VirtIO GPU

2024-12-12

يدعم إصدار QEMU 9.2.0 والإصدارات الأحدث الآن تسريع Vulkan لـ VirtIO-GPU بفضل تصحيحات Venus. يمثل هذا تقدماً كبيراً في عرض الرسومات Vulkan لآلات QEMU الظاهرية. تشرح المقالة عملية الإعداد بالتفصيل، بما في ذلك تثبيت الحزم اللازمة (نواة لينكس 6.13+، QEMU 9.2.0+، برامج تشغيل Vulkan، إلخ)، وتجميع QEMU من المصدر، وإنشاء صورة آلة ظاهرية. في حين أن virt-manager لا يدعم حاليًا تكوين Vulkan، إلا أن معلمات سطر الأوامر توفر حلًا بديلاً. كما توفر المقالة نصائح لاستكشاف الأخطاء وإصلاحها، بالإضافة إلى ملاحظات حول القيود الحالية في virt-manager وlibvirt.

التطوير

اختراق في تحليل قابلية الوصول لنظام أسماء النطاق

2024-12-12

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

1 2 3 4 5 6 7 9 Next →