مقالات بوسم «التصميم»
قائمة بالمقالات الموسومة بـ «التصميم» (18 مقالة)، من الأحدث إلى الأقدم.
-
أفضل الممارسات العمليّة لتعدّد الخيوط: طبعة Java ── اصطلاحات عصر الخيوط الافتراضيّة
في Java، الممارسة الراسخة لتعدّد الخيوط هي ألّا تُنشئ الخيوط مباشرة بل تبني على ExecutorService والخيوط الافتراضيّة. يضع هذا المقال المبادئ العمليّة: الاختيا...
-
أفضل الممارسات العمليّة لتعدّد مؤشّرات الترابط: نسخة C++ ── إزالة الحوادث بالبنية عبر RAII وjthread
في C++، تعدّد مؤشّرات الترابط عالمٌ تصبح فيه سباقات البيانات سلوكاً غير معرَّف. يعالج المقال فخّ مدمِّر std::thread، وتصميم التوقّف بـ jthread وstop_token، و...
-
أفضل الممارسات العمليّة لتعدّد مؤشّرات الترابط: نسخة .NET ── ما تقرِّره قبل إضافة مؤشّرات ترابط
قواعد تصميم عمليّة تمنع شيفرة .NET/C# متعدّدة مؤشّرات الترابط من الانهيار أو التجمّد أحياناً: اركب على Task بدل إنشاء المؤشّرات بنفسك، قلِّل الحالة القابلة ل...
-
مدخل إلى ADR (سجلّ قرار العمارة) ── أقلّ وسيلة لتوثيق «لماذا اخترنا هذا التصميم» في التطوير الصغير
لا تخبرنا الشيفرة «لماذا اتُّخذ هذا القرار». نشرح كيفية توثيق أسباب قرارات التصميم عبر ADR (Architecture Decision Record) بصيغة Markdown بمعدّل قرار واحد لكل...
-
لكي لا يُنسى تحديد «كم ثانية يكفي ليكون التشغيل مُرضياً» ── تنظيم المتطلبات غير الوظيفية بـ«درجة المتطلبات غير الوظيفية» من IPA
كثير من الخلاف حول «النظام بطيء» أو «التعامل مع العطل لم يكن متوقعاً» سببه نسيان تحديد المتطلبات غير الوظيفية. نشرح للجهة الطالبة بلغة واضحة المجالات الستة ف...
-
متى لا يُفضَّل تحويل تطبيق Windows إلى الويب: جدول القرار وحل «التقسيم» الواقعي
في تطبيقات Windows التي تشمل التكامل مع الأجهزة ومعالجة الملفات المحلية والعمل دون اتصال، قد يزيد التحويل إلى الويب التكلفة ويُضعف الوظائف. نرتّب جدول قرار ل...
-
كيف نفهم عزل الجلسات في Windows ── Session 0 وRDP وتشغيل عدة مستخدمين معاً
نوضح مفهوم «الجلسة» الذي يربك كثيراً من مطوّري تطبيقات Windows. نشرح عملياً سبب عزل Session 0 الذي يمنع الخدمة من عرض واجهة، وسلوك الجلسات عند الاتصال عبر RD...
-
كيف تختار وسيلة الاتّصال بين عمليّات Windows ── جدول قرار للأنابيب المسمّاة / TCP / gRPC / الذاكرة المشتركة / COM
كيف تختار وسيلة التواصل بين تطبيقات Windows؟ ننظّم في جدول قرار مجالات تفوّق ومطبّات الأنابيب المسمّاة، وTCP المحليّ، وgRPC، والذاكرة المشتركة، وتكامل الملفّ...
-
كيف تختار مكان حفظ بيانات تطبيق Windows محليّاً ── جدول قرار بين SQLite وJSON وRegistry وAccess
أين ينبغي حفظ بيانات تطبيق سطح مكتب Windows، وبأيّ صيغة؟ نرتّب الفرق بين AppData وProgramData، ونقاط قوّة وعيوب كلّ من SQLite وملفّات JSON وRegistry وAccess ...
-
أين يُوضَع catch والسجلّ في معالجة الاستثناءات
لتجنّب catch واسع في helper عميق، والسجلّات المكرّرة في كلّ طبقة، والتحويل إلى نتيجة يخفي السبب، نرتّب حدّ التقاط الاستثناء، والسجلّ الرئيسيّ، ومسؤوليّة حكم ...
-
قائمة التحقّق الدنيا لأمان تطبيقات Windows
ننظّم في صورة قائمة تحقّق أساسيات الصلاحيات والتوقيع والتحديث والأسرار و HTTPS والتحقّق من الإدخال وتحميل DLL والسجلات لتطبيقات أعمال WPF و WinForms و WinUI ...
-
ما هو Generic Host في .NET - أساس DI والإعدادات والسجلات
ننظّم دور Generic Host من علاقة DI والإعدادات والسجلات و IHostedService و BackgroundService، ونلخّص أين يؤثّر وأين يصير زائداً من منظور عملي.
-
ما هو Native AOT في .NET - الفرق عن JIT و trimming
ننظّم معنى Native AOT من الفرق عن JIT و ReadyToRun و self-contained و single-file و trimming و source generator، ونلخّص الحالات التي يناسبه والحالات التي تضي...
-
دليل عملي لـ FileSystemWatcher: معالجة الفقد والتكرار
نرتّب استخدام FileSystemWatcher ونقاط الحذر فيه من زوايا الفقد، والإشعارات المكرّرة، ومزالق الحكم على الاكتمال، وإعادة المسح، وclaim الذرّي، وidempotency.
-
جدول قرار عملي لـ C# async/await - Task.Run و ConfigureAwait
نرتّب أفضل ممارسات C# async/await بجداول قرار لانتظار I/O وحساب CPU و Task.Run و ConfigureAwait(false) و fire-and-forget.
-
دليل عملي لتحقيق soft real-time قدر الإمكان على Windows العادي
ننظّم طريقة تثبيت المعالجة الدوريّة والمعالجة منخفضة التأخير على Windows العادي، من دقّة المؤقّت والأولويّة وإعدادات الطاقة وطريقة المراقبة.
-
أساسيات التحكّم الحصري في تكامل الملفّات - أفضل الممارسات لـ file lock والـ claim الذرّي
ننظّم التحكّم الحصري في تكامل الملفّات عبر file lock والـ claim الذرّي و temp -> rename و idempotency، ونلخّص تصميماً يتجنّب الحوادث في التكامل عبر المجلّدات...
-
مدخل إلى مخطّط HCP وMakingHCPChartSkill
نشرح ما هو مخطّط HCP، ونلخّص تدفّق تحويل HCP-DSL إلى SVG حتمي بـ MakingHCPChartSkill، وطريقة القراءة والاستخدام.