المدونة
نشارك أفكارًا عملية مفيدة في الميدان حول تطوير المواقع، وتحسين محركات البحث، وإدارة إعلانات جوجل، وتطوير ويندوز، والاستفادة من الأصول القائمة، والتحقيق في الأخطاء.
البحث بالذكاء الاصطناعي في الموقع
تُرسل استعلامات البحث إلى Cloudflare AI Search لإنشاء النتائج. يُرجى عدم إدخال معلومات شخصية.
-
تكلفة تصميم مواقع الشركات الصغيرة والمتوسطة ── جدول سريع لنطاق الأسعار وكيفية قراءة عرض السعر
ما ينبغي أن تعرفه الشركات الصغيرة والمتوسطة قبل طلب عرض سعر لتصميم موقع: نطاق التكلفة حسب الهدف والحجم، وكيفية قراءة تفاصيل عرض السعر، وما يمكن فعله وما لا ي...
-
تصوير نموذج OSI المرجعي بوضوح ── تشريح طلب HTTP واحد إلى سبع طبقات
نفهم نموذج OSI المرجعي من عيّنة حقيقية. نجمع إطار Ethernet يحمل طلب HTTP GET ونشرّحه بشيفرة C#، ونتابع في Wireshark كيف تتداخل الطبقات السبع. نرتّب أيضاً تقا...
-
كيف نفهم عزل الجلسات في Windows ── Session 0 وRDP وتشغيل عدة مستخدمين معاً
نوضح مفهوم «الجلسة» الذي يربك كثيراً من مطوّري تطبيقات Windows. نشرح عملياً سبب عزل Session 0 الذي يمنع الخدمة من عرض واجهة، وسلوك الجلسات عند الاتصال عبر RD...
-
إطالة عمر تطبيقات VB6 / Access للأعمال وترحيلها ── جدول قرار الإبقاء والتغليف والاستبدال
كيف نقرّر الإبقاء على تطبيقات VB6 وAccess للأعمال، أو إطالة عمرها، أو استبدالها؟ نرتّب عبر جدول قرار وضع بيئة التشغيل، ومشكلة 32bit/64bit في ACE، ومخاطر الاس...
-
قراءة ملفّات تفريغ الأعطال بـ WinDbg وSOS ── مدخل عمليّ إلى التحليل بعد الجمع
نشرح خطوات قراءة ملفّ تفريغ أعطال Windows بـ WinDbg وامتداد SOS. نغطّي ضبط مسار الرموز، وتتبع الاستثناءات وتسريبات الذاكرة بـ !clrstack و!dumpheap، وأمر !ana...
-
منع التشغيل المتعدّد لتطبيقات Windows ── Mutex المسمّى وتفعيل النافذة عند التشغيل المزدوج
نرتّب تنفيذ منع التشغيل المتعدّد لتطبيقات Windows للأعمال بـ Mutex مسمّى. نشرح الفرق بين Global\ وLocal\ ومطبّاته في بيئات RDP، وAbandonedMutexException، وإظ...
-
استدعاء Win32 API بأمان من C# ── دليل P/Invoke العملي (DllImport / LibraryImport / CsWin32)
نرتّب النقاط العملية لاستدعاء Win32 API من C# عبر P/Invoke. الفرق بين DllImport وLibraryImport، والتوليد التلقائي عبر CsWin32، ومطبّات ترحيل السلاسل، وSafeHa...
-
دمج مصادقة Entra ID في تطبيقات WinForms/WPF ── التشكيل العملي لـ MSAL.NET ووسيط WAM
نرتّب خطوات دمج مصادقة Entra ID في تطبيقات WinForms/WPF لسطح المكتب. نشرح مفهوم العميل العامّ، وتسجيل التطبيق، وAcquireTokenSilent في MSAL.NET، ووسيط WAM، وا...
-
التاريخ والوقت والمناطق الزمنية في تطبيقات الأعمال ── من فخاخ DateTime إلى مبدأ التخزين بـ UTC وتصميم الاختبارات
ينزاح الوقت 9 ساعات بعد نقل الخادم. نرتّب أسباب أعطال التاريخ والوقت انطلاقاً من Kind في DateTime والتحويل الضمني. نشرح التمييز مع DateTimeOffset، ومبدأ التخ...
-
الاختبار الآلي لواجهة المستخدم في تطبيقات سطح مكتب Windows ── آلية UI Automation وبناء اختبارات لا تنكسر بسهولة باستخدام FlaUI
نرتّب الاختبار الآلي لواجهة المستخدم في تطبيقات WinForms/WPF انطلاقاً من آلية Windows UI Automation. نشرح التنفيذ الأدنى عبر FlaUI، وتصميم AutomationId والان...
-
دعم DPI العالي في WPF ── أسباب الضبابية والتلطّخ رغم أنه «يفترض أن يكون محصّناً ضد DPI» وطرق العلاج
WPF واعٍ بـ System DPI، لكن نقل النافذة إلى شاشة مختلفة DPI يجعل الشاشة كلّها تتلطّخ، وتصبح الصور النقطية ضبابية. نرتّب تشخيص السبب، ودعم Per-Monitor DPI، وا...
-
مشكلة بقاء EXCEL.EXE عند التعامل مع Excel من C# ── أنماط تحرير مراجع COM وقرار الاستبدال
نرتّب مشكلة بقاء عملية EXCEL.EXE عند تشغيل Excel عبر COM من C#، انطلاقاً من آلية عدّ مراجع COM وRCW. نشرح فخ قاعدة النقطتين، وأنماط التحرير عبر ReleaseComObj...
-
دعم DPI العالي في WinForms ── أسباب الضبابية والانهيار على شاشات 4K والمعالجة الواقعية
نرتّب أسباب ضبابية تطبيقات WinForms وانهيار تخطيطها على شاشات 4K انطلاقاً من DPI virtualization وأوضاع إدراك DPI (System Aware / Per-Monitor V2). نشرح طريقة ...
-
كيف تختار وسيلة الاتّصال بين عمليّات Windows ── جدول قرار للأنابيب المسمّاة / TCP / gRPC / الذاكرة المشتركة / COM
كيف تختار وسيلة التواصل بين تطبيقات Windows؟ ننظّم في جدول قرار مجالات تفوّق ومطبّات الأنابيب المسمّاة، وTCP المحليّ، وgRPC، والذاكرة المشتركة، وتكامل الملفّ...
-
استخدام SQLite في تطبيقات C# للأعمال ── وضع WAL، والتحكّم الحصريّ، والوقاية من التلف، والتمييز عن EF Core
نرتّب هنا المعرفة العمليّة اللازمة لدمج SQLite في تطبيقات الأعمال عبر Microsoft.Data.Sqlite. نشرح وضع WAL، وSQLITE_BUSY وتوحيد مسار الكتابة، ومطبّات تخطيط ال...
-
كيفيّة إنشاء خدمات Windows وتشغيلها ── من التمييز عن جدولة المهام إلى تحويل BackgroundService إلى خدمة
هل ينبغي تحويل المعالجة المقيمة إلى خدمة Windows، أم تكفي جدولة المهام؟ نرتّب من منظور عمليّ جدول القرار، وكيفيّة إنشاء الخدمة عبر .NET Worker Service، وحساب...
-
هل WebView2 خليفة مناسبة لوضع IE؟ ── قيد عدم عمل ActiveX وتصميم واقعيّ للانتقال
نشرح البنية الأساسيّة لـ WebView2، واستراتيجيّتَي توزيع Evergreen وFixed Version، ومطبّ مجلد بيانات المستخدم، وطرق التكامل بين الجزء الأصليّ والويب، والترتيب...
-
كيف تختار مكان حفظ بيانات تطبيق Windows محليّاً ── جدول قرار بين SQLite وJSON وRegistry وAccess
أين ينبغي حفظ بيانات تطبيق سطح مكتب Windows، وبأيّ صيغة؟ نرتّب الفرق بين AppData وProgramData، ونقاط قوّة وعيوب كلّ من SQLite وملفّات JSON وRegistry وAccess ...
-
لماذا لا تُنفَّذ مهامّ Task Scheduler أو تنتهي بالرمز 0x1 ── تشخيص الأسباب وتصميم تشغيل آمن
نرتّب هنا حساب التشغيل ونوع تسجيل الدخول في Task Scheduler على Windows، والسبب النمطيّ لانتهاء المهمّة بالرمز 0x1، وتفعيل السجلّ (History)، ومنع التشغيل المت...
-
أتمتة الأعمال باستخدام Power Automate ── الفصل بين التدفّق السحابي وتدفّق سطح المكتب وتصميم معالجة الأخطاء
نستعرض الفرق بين التدفّق السحابي وتدفّق سطح المكتب في Power Automate، والفصل بينهما وبين PowerShell/VBA، والرخص، ومعالجة الأخطاء، وتثبيت أتمتة واجهة المستخدم...
-
البرمجة العامّة (Generics) في Ada ── كتابة العقود بالأنواع، وتحقيق إعادة الاستخدام دون تكلفة إضافيّة
شرح شامل للبرمجة العامّة (generic programming) في Ada، من الإجراءات العامّة، والحزم العامّة، والمعطيات الفرعيّة (formal subprograms)، وفئات الأنواع، وحتّى إر...
-
برمجة أنظمة الوقت الفعليّ بلغة Ada ── التطبيق العمليّ للتحكّم في الأولويّة والدوريّة ووقت التنفيذ
نتعلّم الملحق D (أنظمة الوقت الفعليّ) في Ada عبر ثمانية أمثلة برمجيّة تطبيقيّة. نرتِّب تدريجيّاً أولويّة المهامّ، وبروتوكول Ceiling_Locking، والتنفيذ الدوريّ...
-
Fable لم يعد ضمن الاشتراك، لكن لا تتوقف ── الصمود بـ OpenRouter Fusion ونماذج LLM الصينية وطبقة المراجعة
لا يضاهي Fable. لكن بدمج خمسة نماذج LLM صينية عبر OpenRouter Fusion، ثم مراجعة من gpt-5.5-pro أو مراجعة PR من Codex، يصبح الناتج وكيل برمجة أفضل بكثير من gpt...
-
التزامن الآمن في Ada ── دليل عملي للمهامّ والكائنات المحميّة
مقال تمهيدي عن التزامن المدمج في لغة Ada عبر المهامّ (tasks) والكائنات المحمية (protected objects). نستعرض الرندفو (entry/accept)، والقبول الانتقائي (selecti...
-
مدخل إلى التحقّق الشكلي باستخدام SPARK ── من عقود Ada إلى البرهان الرياضي
مقالة تطبيقيّة تقدّم مدخلاً إلى التحقّق الشكلي باستخدام SPARK، المجموعة الفرعيّة من Ada. نرتّب الانتقال من العقود (Pre/Post) إلى البرهان، واستخدام GNATprove،...
-
جاذبيّة لغة Ada ── لغة تعبّر عن التصميم بالأنواع وتسند برمجيّات تعمل لعقود
نقدّم جاذبيّة لغة Ada. الأنواع القويّة، وقيود المدى، والفصل بين المواصفة والتنفيذ عبر الحزم، والتصميم بالعقد، والمهامّ المدمجة في اللغة، والتحقّق الشكلي عبر ...
-
ما هو MFC في Windows؟ ── المعرفة الأساسية لصيانة الأصول القائمة
نستعرض لمحة عامة عن Microsoft Foundation Classes (MFC)، وعلاقته بـ Win32، وبنية التطبيق، وخريطة الرسائل (Message Map)، وDocument/View، وDDX/DDV، ونقاط الحذر ...
-
ما ينبغي فعله قبل التخلّص من حاسوب Windows ── قائمة تحقّق عمليّة لمحو البيانات وفكّ ربط الحسابات والنسخ الاحتياطيّ
نستعرض ما ينبغي فعله قبل التخلّص من حاسوب Windows أو تسليمه أو بيعه أو إعادته بموجب عقد إيجار، من زاوية النسخ الاحتياطيّ، ومحو البيانات، وBitLocker، وحساب Mi...
-
PDB (قاعدة بيانات البرنامج) ما هي؟ ── فهم معلومات التصحيح والرموز (symbols) وSource Link
نُنظّم من منظور عمليّ ما هو PDB (Program Database / قاعدة بيانات البرنامج)، وما الذي يحتويه وما لا يحتويه، والعلاقة بين Debug / Release، وPortable PDB، وSour...
-
ما هو Roslyn ── قراءة شيفرة C# وإصلاحها وتوليدها من منظور المُصرِّف (compiler)
نرتّب هنا نظرة عامّة على Roslyn (.NET Compiler Platform)، وSyntax Tree، وSemanticModel، وWorkspace، وAnalyzer، وSource Generator، ومواضع استخدامها في العمل ا...