المدونة
مقالات عملية من شركة كومورا سوفت حول تطوير المواقع، وتحسين محركات البحث، وإعلانات جوجل، وتطوير ويندوز، وإعادة استخدام الأصول القديمة، والتحقيق في الأخطاء.
بحث ذكي في الموقع بالكامل
تُرسل استعلامات البحث إلى Cloudflare AI Search لإنشاء النتائج. يُرجى عدم إدخال معلومات شخصية.
-
إقامة تطبيقات Windows في علبة النظام والإشعارات المنبثقة ── مطبات NotifyIcon وكيفية اختيار AppNotification
نرتّب إقامة تطبيقات Windows للأعمال في علبة النظام والإشعارات المنبثقة. نشرح الاستخدام الصحيح لـ NotifyIcon، وإعادة التسجيل عند إعادة تشغيل Explorer، وجدول ا...
-
الانتقال من WordPress إلى Movable Type ── إجراءات عملية يجدر ترتيبها تحديداً لأنها «الاتجاه المعاكس»
شرح عملي لخطوات الانتقال من WordPress إلى Movable Type (MovableType.net). نرتّب الحالات التي يكون فيها الانتقال منطقياً، واستيراد المقالات والصور، وتصميم الر...
-
إلى متى ستستمر تطبيقات VB6 في العمل ── وضع دعم بيئة التشغيل والمسار العملي للترحيل إلى .NET
إلى متى تستمر تطبيقات VB6 في العمل؟ نرتّب وضع بيئة التشغيل المشمولة حتى في Windows 11 وانتهاء دعم بيئة التطوير، وجدول القرار بين إعادة الكتابة الكاملة والتحو...
-
كيفية نقل طلبات الفاكس إلى الويب ── تصميم فترة التشغيل المزدوج والانتقال المرحلي عملياً
شرح عملي لنقل طلبات الفاكس إلى الطلبات عبر الويب أو استيراد ملفات CSV. نتناول أسباب فشل التحول الكامل إلى الويب دفعة واحدة، وتصميم فترة التشغيل المزدوج بين ا...
-
ما هو EDI؟ كيف يُسهّل عمليات الطلب والتوريد بين الشركات ── من FAX والبريد الإلكتروني والإدخال اليدوي إلى تكامل البيانات
EDI هو آلية لتبادل بيانات المعاملات، مثل أوامر الشراء والفواتير، مباشرة بين أنظمة الشركات. يشرح هذا المقال بأسلوب مبسّط الفرق بين EDI وFAX والبريد الإلكتروني...
-
معالجة التقويم الياباني والعطلات الرسمية وتاريخ الإغلاق في تطبيقات الأعمال ── تصميم يقاوم تغيّر العصر، وJapaneseCalendar، وحساب أيام العمل
نرتّب معالجة التواريخ الخاصة بتطبيقات الأعمال اليابانية: عرض التقويم الياباني، وحساب أيام العمل باستثناء العطلات، وتاريخ الإغلاق. نشرح التصميم المقاوم لتغيّر...
-
دليل عملي لـ Process Monitor (ProcMon) ── تحديد «الإعدادات لا تُقرأ» وACCESS DENIED خلال 10 دقائق
أعطال مثل «عدّلت الإعدادات لكنها لا تنعكس» تُحدَّد أسبابها عبر Process Monitor (ProcMon) من واقع الوصول إلى الملفات وRegistry. نشرح استخدام الفلتر عملياً وقر...
-
متى لا يُفضَّل تحويل تطبيق Windows إلى الويب: جدول القرار وحل «التقسيم» الواقعي
في تطبيقات Windows التي تشمل التكامل مع الأجهزة ومعالجة الملفات المحلية والعمل دون اتصال، قد يزيد التحويل إلى الويب التكلفة ويُضعف الوظائف. نرتّب جدول قرار ل...
-
تعدد اللغات في تطبيقات WinForms/WPF ── الممارسة العملية لملفات resx وتجميعات الأقمار الصناعية وتبديل الثقافة
نرتّب تعدد اللغات في تطبيقات سطح المكتب على Windows: الفرق بين CurrentCulture وCurrentUICulture، وآلية resx وتجميعات الأقمار الصناعية، والاختيار الواقعي للطر...
-
ملف CSV ليس «مجرد نص» ── الممارسة العملية لـ CSV في تطبيقات C# للأعمال (ترميز الأحرف وتوافق Excel والحماية من الحقن)
نرتّب الحوادث النموذجية لإدخال وإخراج CSV في تطبيقات الأعمال — التحليل اليدوي بـ Split(',')، وتشوه النصوص في Excel بسبب UTF-8 بلا BOM، وسقوط الصفر البادئ — و...
-
لا تُحِط HttpClient بـ using ── الممارسة العملية لاتصال HTTP في تطبيقات C# للأعمال (أنماط الإنشاء والمهلة وإعادة المحاولة)
إنشاء HttpClient داخل using في كل مرة يستنزف المقابس، وجعله static يمنعه من متابعة تغيّر DNS. نرتّب نمط الإنشاء الصحيح عبر PooledConnectionLifetime وIHttpCli...
-
تحديد سبب «البطء» بـ PerfView وdotnet-trace ── مدخل عملي لتحقيق أداء .NET
عندما يصبح تطبيق الأعمال «بطيئاً» أو «يلتصق بالمعالج»، أي أداة تستخدم وماذا تنظر؟ نرتّب توزيع الأدوار بين PerfView وdotnet-trace، وقراءة عيّنات المعالج، وتحق...
-
تشغيل إعلانات Google بميزانية صغيرة لشركات BtoB ── التصميم والإجراء الأسبوعي لتحقيق نتائج بعشرات آلاف الينات شهرياً
دليل عملي لشركات BtoB التي تبدأ إعلانات Google بميزانية شهرية من بضع عشرات آلاف الينات. نرتّب آلية الميزانية اليومية المتوسطة وحد الفوترة، وقياس التحويل، وتض...
-
اجعل موقعك يظهر عند البحث باسم المنطقة ── الدليل العملي لتحسين محركات البحث المحلي للشركات الصغيرة والمتوسطة (صفحات المناطق والملف التجاري على Google)
نرتّب ترتيب الإصلاح عبر تحسين محركات البحث المحلي للشركات الصغيرة والمتوسطة التي لا تظهر عند البحث بـ«اسم المنطقة + نوع النشاط». خطوات عملية تشمل تهيئة الملف...
-
مدخل إلى سجلّ أحداث Windows وETW ── وضع سجلّات تطبيق الأعمال على آليّة نظام التشغيل القياسيّة
سجلّ الأحداث وETW طبقة تسجيل مختلفة يراها القائمون على التشغيل وأدوات نظام التشغيل القياسيّة. نشرح التمييز بين الوسائل الثلاث بما فيها سجلّ الملفّات، والكتاب...
-
ليس appsettings.json وحده ── إدارة الإعدادات عمليّاً في تطبيقات Windows للأعمال (الإعدادات حسب البيئة، الأسرار، وجهة الكتابة)
نرتّب إدارة الإعدادات لتطبيقات Windows للأعمال. نشرح تدرّج appsettings.json، والتمييز بين IOptions وIOptionsMonitor، والإعدادات حسب البيئة، وأماكن الإعدادات ...
-
لماذا يبني كومورا سوفت المواقع اعتماداً على نظام التصميم Digital Agency؟ ── يمكن الجمع بين الرخص والجودة
نرتّب سبب اعتماد تطوير المواقع لدى كومورا سوفت على نظام التصميم الذي نشرته Digital Agency كأساس. نشرح لماذا يخفّض توحيد مرحلة التصميم التكلفة، ولماذا يجعل ال...
-
زيادة الاستفسارات في موقع B2B ── خريطة ترتيب الإصلاح (من الاستقطاب إلى النموذج)
لزيادة استفسارات موقع B2B، الترتيب الفعّال هو تحديد الاختناق بالقياس، ثم ترتيب صفحات الخدمة، ثم إصلاح المسار، وأخيراً إضافة الاستقطاب. نرتّب المقالات وفق هذا...
-
الطباعة وإخراج PDF في تطبيقات أعمال Windows ── التمييز بين System.Drawing.Printing وWPF ومكتبات التقارير
نرتّب بجدول قرار حسب المتطلبات طباعة WinForms عبر PrintDocument، وطباعة FlowDocument/FixedDocument في WPF، وخيارات إخراج PDF. ونشرح التحكم بفواصل الصفحات، وا...
-
دراسة حالة إعادة تصميم موقع: شركة النقل Douzu Carry Service في ميازاكي ── ما الذي نُقل من الموقع القديم، وكيف
نشرح بمثال عملي كيف تقدّمنا في إعادة تصميم موقع شركة النقل Douzu Carry Service في ميازاكي: جرد عناوين URL وتصميم 301 وفحص الحفاظ على المحتوى قبل التصميم.
-
تكلفة تصميم مواقع الشركات الصغيرة والمتوسطة ── جدول سريع لنطاق الأسعار وكيفية قراءة عرض السعر
ما ينبغي أن تعرفه الشركات الصغيرة والمتوسطة قبل طلب عرض سعر لتصميم موقع: نطاق التكلفة حسب الهدف والحجم، وكيفية قراءة تفاصيل عرض السعر، وما يمكن فعله وما لا ي...
-
تصوير نموذج 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 والان...