• تخطط لانشاء مشروع يستهدف عدد زوار كبير – خطوات يجب ان تلتفت لها قبل البدء فى بناء مشروعك – الجزء الاول ( تحسين معالجة البيانات)

    السلام عليكم

    عزيزي المطور – عزيزي ريادى الاعمال جميعنا نخطط ونحلم ان نمتلك مشاريع كبيره تستهدف اكبر عدد من الاشخاص ولكن للاسف عندما نقوم ببناء المشاريع ننتظر حتى تكبر  ثم نتفاجيء عند اطلاق المشروع بالمشاكل ومن ثم فى المستقبل بالاغلاق المتكرر  – لهذا انصحك بقراءة ما يلى

    القاعدة الاساسية 1 ( كل سقوط او تعطل للخدمه يواجهه خساره مستخدم جيد  لمشروعك  )

    القاعدة الاساسية 2 ( في حاله كانت  استجابة مشروعك  بطييئه حتى مع خطوط الانترنت الضعيفة ستواجة فقدان لمستخدمين مشروعك  )

    عند البدء  فى التخطيط لمشروعك الجديد وقبل البدء فى البرمجة يجب ان تقوم بالتشاور مع فريق التطوير والفريق المسؤل عن العتاد والهارد وير فيما يلى

    1. اقصي عدد زوار متوقع واكرر هنا “اقصي” فى نفس اللحظة
    2. ما هي اكثر اجزاء موقعك  او تطبيقك او مشروعك ستحتاج معالجه بيانات وضغط علي الخوادم
    3. مناقشه اسوء سيناريوهات المشاكل التى “ربما” تواجه موقعك
    4. مناقشة الموارد الماديه والتقنيه المتوافرة

    وبعد المناقشة سيخرج الجميع بخطة محددة وواضحة تتضمن اهداف عمل المشروع وهنا سأضع بعض الافكار التى ستساعد الفريق فى عمل مشروع جيد هذة الافكار استنتجتها بعد العمل فى احد المشاريع التقنيه والتعامل مع قاعدة بيانات حجمها وقت كتابه التدوينة ٤ تيرا بايت واكثر من ٧٠ مليار سجل فى احد جداولها فقط !

     

    المهمة رقم ١ – الترحيب بالضيوف دائما

    التعامل مع زائر الموقع الجديد ومع المستخدم الدائم يجب ان يكون بترحيب دائم فلا تقل لزائرك انتظر لدي ضيف اخر ومن هنا يجب ان يكون لمشروعك عتاد قوي وبرمجة تسمح بالترحيب الدائم بالزوار ومن هنا يجب ان تكون حسبتك وقت انطلاق المشروع علي الاقل – هو العدد الاقصي المتوقع مضروبا فى ثلاثة

    المهمة رقم ٢ – اكرام الضيف واجب

    اذا طلب زائرا فى بيتك كوبا من الماء او العصير – لا يصح ابدا ان تقول له لا يوجد ومن نفس القاعدة يجب ان يتوافر مشروعك لزائرك مهما كان استخدامة ولا يظهر له ابدا رساله خطأ تقنيه او برمجية يجب ان تتوقع اى شيء وكل شيء من زائر موقعك بدءا من التعامل بسلاسة مع مشروعك  مرورا بالاستخدام الخاطيء والاستخدام الغير اخلاقي فيجب  هنا ان تقوم ببرمجة منظومه متكامله من البرمجة النظيفه والبرمجة التى تحاكى معظم سيناريوهات استخدام الموقع كا زائر

    المهمة رقم ٣ – توفير البديل –

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

    المهمة رقم ٤ – الظروف الطبيعية

    يجب عند البدء فى المشروع ان تدرس جيدا ظروف البلاد التى تستهدفها كا اقتصادها والبنية التحتيه وثقافه مواطنيها وسرعه الانترنت فيها فلا يعقل ان تنشء موقع حجم الصفحه الرئيسيه ٥ ميجا فى بلدا اقصي سرعة انترنت هي ٢ ميجا وهنا اريد ان انصح الجميع  ان يتعامل كمالو كان الزائر يدخل الى موقعك من خلال اتصال دايل اب بطيء جدا

    المهمة رقم ٥ – قواعد بيانات مرنة فى التعديل

    يجب ان تصمم قواعد بيانات وبرمجة موقعك بشكل علمي مدروس ومخطط لمراحل التعديل والتطوير حتى لا تفقد اى بيانات فى مراحل تطوير مشروعك ولا تتتكلف الكثير من المستخدمين

     

    افكار تساعدك علي اتخاذ قرارك

    1. استخدام قواعد بيانات بأسلوب توزيع الاحمال Master Slave – وهنا اعنى ان تقوم بالاعتماد فى مشروعك علي اكثر من خادم لقواعد البيانات وتستخدم خاصيه التكرار بينهم وتقوم بتخصيص احدهم فقط للاستعلامات ثقيلة الحمل كالتنبيهات والمعالجات دون ان تتأثر بقيه العمليات الاخري حيث انها ستستخدم احد الخوادم البديله التى ستحوى نفس قاعدة البيانات تماما ومثال علي ذلك مثلا موقع الفيس بوك دعونا ان نتخيل ان هناك خادم رئيسي للكتابه فى قواعد البيانات ووجود برمجيات  مسؤلة عن توزيع البيانات للخوادم الاخري ويوجد مهمام فى معالجة البيانات تقوم بها الخوادم البديلة وم ثم تحديث الخوادم الرئيسية بالبيانات المعالجة  كما بالصوره التالية

    Screen Shot 2014-01-14 at 10.58.55 PM

     

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

    ايضا من خواص الخوادم البديلة معالجه البيانات التى لا تم ادخالها ولا يوجد اى تعديل عليها مستقبلى ولكن تحتاج معالجة قوية  ومن ثم تحديث قواعد البيانات الرئيسيه والفرعيه .

     

    2- التفكير الدائم فى العمليات المتكررة وتفاديها بمعالجتها مرة واحدة وتخزين ناتج المعالجة – علي سبيل المثال لديك موقع يحتوى علي عدة اقسام وتريد ان تضع بجانب كل قسم عدد المحتويات داخله او عدد التحميلات لكل قسم  – الطبيعى هنا انك ستقوم بجمع تحميلات كل محتوى  داخلي داخل القسم وعرضه داخل القسم ومن هنا سنقوم بعمليات قراءه ومعالجه تستهلك الكثير من موارد الخادم وقاعدة البيانات وهنا انصح ان تقوم بجداول خاصه بالاحصائيات فقط مثلا عندما احمل مادة من قسم ما يتم بالاضافه لزيادة عدد تحميلات المادة زيادة عدد تحميلات القسم ومن هنا عندما استعلم عن تحميلات القسم  فقط استعلم عن حقل واحد بدلا من جميع ملاين النتائج فى المواقع الكبيرة

    3- استخدام خاصيه الكاش للبيانات التى تأخذ موارد كبيره كي يتم عرضها من التخزين المؤقت حتى لو كان كاش ذو فتره صلاحيه صغيره فسيوفر الكثير عليك

    4-قم بمحاكاة الكوارث الطبيعه كا فقدان احد الاقراص الصلبه او احد الخوادم او اغلاق داتا سنتر كافه خوادمك – ما هي خططك تجاه الوضع وما هي الخوادم البديله التى توفرها وما هي المدة المستغرقه حتى يعمل المشروع عليها – يجب ان يكون جوابك “اقل من دقيقه زمن واحدة عمل ”

    5 – لا تقل ان مشروعى صغير – ان توفير بيئه عمل احترافيه يساعد جميع فريق العمل حتى يعمل باحترافيه ولها عامل اساسي فى تغير نفسيه فريق العمل وخلق الابداع له

     

     

    يتبع بمواضيع اخري سأتكلم عنها عن (قابليه الاستخدام لمشروعك – الدعم الفنى لمشروعك – متى تحول المشروع للنموذج الربحي – متى تقول ان مشروعك بدء فى النجاح – كيف تقاوم احباط فشل الفكره واعادة تحسينها لكى تنجح )

    المزيد ...
  • 15 خطوه اساسيه لتسريع مشروعك المبرمج بلغه ال php

    ازيكم اول مره احط بوست للمبرمجين :),

    بعد سنوات عمل طويله كمبرمج ومطور مواقع انترنت اصبح همى وانشغالي الاساسي كيف اقوم ببرمجه مشروع يعمل بكفاءه وسرعه ومثاليه من خال PHP و MySQL. والنهارده حعرض عليكم 15 خطوه مهمه جدا لتسريع عمل اى مشروع او اى كود برمجي بال PHP وحتسرع المواقع كثيرا ولا تنسي ان تقوم بتوثيق برمجتك وان تستخدم معاير الاوبجكت اورينتت حتى تسهل التطوير مستقبل – هيا نستعرض الخطوات

    1. echo اسرع بشكل كبير من داله print.
    2. المتغيرات النصيه اجعلها داخل (‘) بدلا من استخدام (“) اسرع حبث ان المتغيرات النصيه باستخدام “” تقوم لغه البرمجه والكومبيلر بالبحث عن اى متغيرات اخري داخلها “…” استخدمها فقط فى حاله لن تضيف اى متغيرات اخري داخل المتغير النصي .
    3. استخدم echo لكتابه متغيرات متتاليه ومتتابعه (stacked) بدلا من دمج النص “string concatenation”.
    4. قم بالعمليات الحسابيه اولا , قم بحساب الحد الاقصي لحلقات التكرار FOR LOOP قبلها وليس بداخلها . علي سبيل المثال :
    5. for ($x=0; $x < count($array); $x) 

      تقوم بتنفيذ داله count() كل مره , استخدم

      $max=count($array)

      قبل حلقه التكرار سيسرع الكود كثيرا

    6. Unset او null للمتغيرات او المصفوفات خاصه الكبيره منها لكي تفرغ الميموري سيسرع من عمل الموقع.
    7. str_replace اسرع من preg_replace, str_replace افضل فى كل الاحوال, ولكن strtr اسرع احيانا فى المتغيرات النصيه الكبيره. استخدام array() بداخل str_replace اسرع بكثير من استخدام str_replace اكثر من مره متتاليه.
    8. else if اسرع بكثير من استخدام select statements وايضا case/switch.
    9. اغلق قاعده البيانات عند عدم الحاجه لاستخدامها مجددا.
    10. $row['id']

      اسرع حوالي 7 مرات من

       $row[id]

      لانك تجبر فى حاله عد وضع ” تجبر لغه البرمجه علي تخمين موضعها فى المصفوفه ARRAY

    11. استخدم <?php … ?> عندما تكتب كود php لا تستخدم اى وسوم اخري حتى الصغيره منها فهي لن تدعم مجددا.
    12. استخدم وضع الكتابه الصارم , تجنب كل الاخطاء, والتنبيهات والملاحظات (notices و warnings) تعطيك كود نظيف وسريع جدا . نصيحتى استخدم error_reporting(E_ALL) دائما وانت تبرمج حتى تنشيء كود نظيف.
    13. عند استخدام header(‘Location: ‘.$url); تذكر ان تقوم باستدعاء الداله exit; حيث ان الكود سيتم تنفيذه حتى لو تم تحويل المستخدم دونها .
    14. عند استخدام خاصيه زياده المتغيرات (Incrementing ) مع متغير غير معرف ابطأ 10 مرات من استخدام متغير معرف مسبقا .
    15. الدوال في الكائنات (الكلاسات) المشتقه يتم تنفيذها بشكل اسرع من استخدامها في الكائن الاساسي .
    16. تجاهل الاخطاء باستخدام @ يبطء الكود كثيرا.

    المزيد ...
  • قريبا علي الاب ستور | تم الانتهاء من برنامج كاشف فلول النظام السابق للاى فون والاى باد

    شهدائنا – شهدائنا هم من ضحو بارواحهم من اجل اسقاط النظام القائم ومن اجل حريتنا ضحو بالحياه وما فيها من متع فقط من اجل حريتنا – فلا يمكن ان نتهاون او نشارك فى الجريمه السياسيه التى يدبرها لنا النظام السابق من اجل ان يرجع للحياه فى روح وشكل جديدين لا يبالي بمن سقط من اجل رحيله – كل شخص منا له دور فى حفظ الحريه لمصر الثوره – كل منا له دور فى التوعيه والعمل والتصويت والتظاهر وكل الاساليب الممكنه حتى نحافظ علي حريتنا – وقد اخترت ان يكون دوري فى التوعيه اسهاما اهديه لاجل ارواح شهدائنا والان اشرح لكم النظام .

    يمكنك تصفح الفلول حسب المحافظه من خلال جهازك دون الحاجه الى الاتصال بالانترنت تماما حيث تستطيع وانت بداخل اللجنه حتى التحقق

    عند اختيار محافظه يستعرض لك البرنامج الاقسام التابعه للمحافظه او المراكز مع خاصيه لاستعراض كافه الفلول بالمحافظه بدون معرفه القسم او المركز

    يوفر لك البرنامج خاصيه البحث الفوري مع الظهور المرءي للفلول مباشره مرتبه حسب عمليه البحث داخل المحافظه

    النظام يحتوى علي قاعده بيانات رموز النظام السابق وكوادره ومرشحيه مع بحث سريع دقيق

    عرض كافه بيانات فلول النظام السابق ومركزهم الوظيفى وتدرجهم ووظيفتهم ومشاراكتهم مع الحزب الوطنى المنحل سابقا

    عرض صوره فلول النظام ان امكن حتى يتاح للشخص معرفتها ان تلاعب المرشح في اسمه الثلاثي

    التبليغ عن يافطه او نافذه او ملصق دعائي لمرشح من الفلول عن طريق تصوير الدعايا المطلوب ازالتها ومن ثم ارسالها لنا عن طريق البرنامج وتلقائيا البرنامج يرفق الاحداثيات عن طريق القمر الصناعى ويرسلها لزوار موقعنا علي الخارطه - ومن ثم يتمكن الجميع من معرفه مكانها والعمل علي ازالتها وتكسيرها

    يمكنك النظام من تصوير صوره جديده حيه او استخدام صوره تم تصويرها مسبقا لارسال التبليغ عن المخالفه الدعائيه

    كما يمكنك البرنامج من استعراض والبحث فى الفلول جميعهم دون الحاجه لمعرفه المحافظه او المدينه للوصول السريع وقت الحاجه للتتحقق من احدهم

    يستعرض لك ايضا النظام الاحزاب المشبوهه التى انشئها فلول النظام السابق كساتر حتى تتجنبها

    كما يعرض لك تفاصيل الحزب وعلاقته بالنظام السابق كتوضيح

    كما تستطيع استعراض ومعرفه كوادر الحزب الوطنى المساهمه جميعها حتى نقوم بعزلهم سياسيا علي اكمل وجهه

     

    تم بحمد الله الانتهاء من البرنامج واقدمه لكم من اجل شهداءنا الابرار اهداء لهم جميعا

    برمجه وتطوير – العبد لله

    المزيد ...
  • تصميم المواقع العربية بإستخدام UTF-8

    إليك بعض النصائح البسيطة التي ستساعدك على تصميم موقعك باللغة العربية ليكون متوافقا مع المواقع الأخرى بجميع اللغات. الكلمة السحرية هنا هي “التوافق” و ليكون تصميم موقعك متوافقا مع بقية العالم يجب عليك إستخدام ترميز حروف يمكن إستعراضه على جميع المتصفحات و المواقع الأخرى بغض النظر عن لغتها المستخدمة. لهذا الغرض تم إبتكار ترميز الحروف العالمي UTF-8 و هو قادر على التعامل بفعالية مع معظم اللغات في العالم حتى اللغة الصينية التي تعد واحدة من أصعب اللغات لناحية الكتابة و إظهار النصوص على الشاشة.

    الفائدة من إستخدام ترميز الحروف UTF-8

    أكبر فائدة يمكن أن تحصل عليها هو التوافق مع بقية المواقع على الشبكة و التوافق مع جميع أنظمة التشغيل. ترميز الحروف المستخدم على أجهزة ويندوز هو windows-1256. هذا الترميز قد يكون مناسبا عندما تعمل على جهازك الخاص و لكنه غير كاف عندما يتعلق الأمر بالتعامل مع بقية العالم حيث لا يمكننا إجبار الآخرين على إستخدام نفس نظام التشغيل و نفس اللغة و لكن نستطيع بكل سهولة تقديم المعلومة بلغة بترميز عالمي منتشر بكثرة.

    فائدة أخرى قد يغفل عنها بعض أصحاب المواقع و هي قد تعني الفرق بين النجاح و الفشل و هي تمكين المواقع الأخرى من الإقتباس من موقعك. هنا لا يجب أن نتوقع بأن أصحاب المواقع الأخرى سيقومون بالعملية عن طريق القص و اللصق لأنها متعبة و لكن سيكتفون بإختيار قارىء الأخبار أو الـ RSS للحصول على المقالات من موقعك. كلما إقتبس عن موقعك أكثر كلما إرتفع ترتيب موقعك في تصنيف محركات البحث. قد تحصل على مئات أو آلاف الروابط الجيدة لموقعك دون عناء يذكر. فلو أن لديك قسم للأخبار أو قسم رياضي و فيه ٣٠ موضوع فقط و تم إقتباسها من قبل ١٥ موقع آخر فإن ذلك يعني ٤٥٠ رابطا جديدا لك دون أي تدخل من جانبك. ماذا لو كان هناك أكثر من ذلك؟

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

    تصميم المواقع العالمية

    الإنترنت شبكة عالمية لذا يجب أن ننظر إليها على هذا الأساس و نقوم بتصميم مواقعنا لتتوافق مع طريقة عملها الآن و في المستقبل. من المشاكل التي تواجه أي مصمم مواقع مشكلة الخطوط و توافقها مع جميع أنواع المتصفحات لعى جميع أنظمة التشغيل و على هذا الأساس تم تطوير نظام الترميز UTF-8 الذي هو بدوره نظام تشفير لنظام عالمي آخر هو UNICODE. لسنا الآن بصدد مناقشة آلية عمل النظام بقدر ما نحاول التركيز على توحيد الأنظمة من أجل الحصول على نتئج مرضية بغض النظر عن نوع المتصفح أو نظام التشغيل. من الناحية المستقبلية فإن نظام UTF-8 يعتبر النظام القياسي للغة البرمجة PHP و خصوصا PHP 6 الذي هو على الأبواب و من المتوقع أن يحدث إنقلابا كبيرا في طرق تصميم المواقع. كمصممي مواقع لا نستطيع إلا الإنتقال للنظام الأحدث خصوصا أنه سيسهل علينا الكثير من الأعمال الإضافية التي نقوم بها الآن في الإصدار الخامس هذا بالإضافة إلى ما يعد به الإصدار السادس من توافق مع بروتوكولات الشبكة القائمة على أساس WEB 2.0 و مميزات الأمان الإضافية. إذا الإتجاه العام يدفع بقوة نحو PHP 6 المعتمد على UNICODE و UTF-8.

    إذا من الحكمة إنشاء المواقع على أساس توافقها مع تكنولوجيا المستقبل و أن لا نقع ضحية لإعتقادات المصممين محدودي الخبرة الذين مازالوا يعتقدون بأن ترميز الحروف الذي يرونه على جهازهم هو الترميز المناسب للشبكة. أكبر مشكلة سواجهها هؤلاء هي عملية تحويل قواعد البيانات من ترميز windows-1256 إلى ترميز UTF-8 إذ إن العملية مضنية جدا خصوصا للمواقع القديمة التي كونت قواعد بيانات MySQL عملاقة.

    عملية التحويل

    عملية التحويل إلى ترميز الحروف العالمي سهلة جدا خصوصا للمواقع حديثة الإنشاء و بالذات تلك التي لا تحتاج لقواعد بيانات MySQL.

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

    <meta http-equiv=”Content-Type” content=”text/html; charset=utf-8″>

    هذا كل شيء تقريبا، إذا كانت صفحاتك مكتوبة عن طريق NotePAD بإستخدام خاصية النص البسيط أما إن كانت مكتوبة من الأساس كـ windows-1256 فمن الأفضل إستيرادها في محرر النصوص HTML مثل DreamWeaver, nvue, GoLive, Aptana studio أو اي محرر نصوص آخر و من ثم حفظها بصيغة UTF-8.

    إن لم تنجح هذة العملية فليس أمامك إلا إعادة كتابة كل شيء من جديد و بهذا تكون قد تعلمت درسا في متابعة مستجدات عملك.

    المواقع التي تعتمد قواعد البيانات MySQL

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

    تحــــــذيــــر: تحويل قواعد البيانات يعني أن جميع النصوص العربية المكتوبة بأي ترميز آخر غير UTF-8 ستتحول إلى حروف غير مفهومة أو خربشات غير مقروءة. في مثل هذة الحالة و قبل أن تبدأ يجب عليك عمل نسخة إحتياطية و تحويلها إلى UTF-8 و من ثم إعادة إستيرادها إلى قاعدة البيانات.

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

    هكذا:

    mysql_query(“SET NAMES ‘UTF8′”);
    تلك كانت عملية التحويل و هي لا تخلو من المخاطر على قاعدة البيانات و قد تنشأ عنها بعض المشاكل الجانبية مثل الحاجة لإعادة صياغة بعض أجزاء البرنامج المختصة في تنظيف المدخلات و المخرجات و هذا الجانب يتطلب من المبرمج أو المصمم أن يكون على دراية تامة بما يقوم به.

    في الختام هذة عملية لا بد منها بالنسبة للمواقع القائمة فعلا و لكنها غير ضرورية بالنسبة للمواقع التي نشأ من الأساس إعتمادا على الترميز العالمي UTF-8

    المزيد ...
  • المتميز الاخبارى 2.2 تاخر ولكن باستحقاق

    جميعكم تعلمون كم تاخر برنامج المتميز الاخبارى 2.2 ولكن تاخر الصدور خارج ارادتى فهو لظروف سياسيه بحته ستنتهى بمجرد رجوعى على بلادى  الحبيه وولكن بعضكم سوف يتسائل مالذى كنت تفعله فى هذه الفتره . ردى كالتالى

    • تم برمجه نظام دخول كامل متكامل مدموج مع كل من الشركات التاليه
      • الفيس بوك
      • تويتر
      • ياهو
      • ميكرسوفت هوتميل
      • جوجل
      • بوابه تسجيل اعضاء داخليه
      • بوابه اعضاء لكل المواقع الخاصه بالمتميز MotmaizGate
    • حيث سيتمكن اى عضو مسجل فى اى شركه من الشركات من استخدام معلومات عضويته فى الدخول الى اى موقع على برنامج المتميز الاخبارى بنفس معلومات الدخول الخاصه به دون الحاجه الى تسجيل عضويه جديده والتعليق باستخدام اسمه وصورته فى اى من الخدمات ليس هذا فحسب انما بمجرد ان يغير معلوماته مثلا فى المسنجر او الصوره الشخصيه تلقائيا سيتم تغيرها من خلال التعليقات كما فى الصوره التاليه


    اضغط على الصوره للتكبير

    ستجد انى قمت بتفعيل الدخول عن طريق بوابات فيس بوك وتويتر وميكرسوفت ويندوز لايف  فمبجرد الضغط مثلا على الدخول من خلال حسابك على الفيس بوك سيظهر لك الشكل التالى


    اضغط على  الصوره للتكبير

    بمجرد ان يتحقق الفيس بوك من معلومات دخولك سيتم توجيهك الى  الصفحه التى كنت بها ان كانت قسم محمى او اضافه تعليق او اى من خدمات الاعضاء  وستجد الموقع تلقائيا تعرف على اسمك وصورتك كما بالتالى

    لاحظ صوره حسابى على الفيس مع اسمى باعلى الموقع

     

    كما يمكنك الدخول باستخدام معلومات العضويه العاديه من الاعلى كما بالتالى

     

    وتمت اعاده برمجه نظام التعليقات من الصفر وتم اعاده تصميمها كما بالتالى مثلا

    لاحظ انه تم اضافه كل من

    • الابتسامات
    • محرر مرئى للتعليقات مع امكانيه تشكيلها
    • دمج بحسابك الذى قمت بالدخول به مثلا الفيس بوك كما بالاعلى
    • اصبح التحكم فى التعليق بالكلمات لا الحروف حتى يصبح للتعليق معنى

    وايضا تم تغير تصميم سرد التعليقات كما بالتالى

    كما تلاحظون اصبح هناك فرق بين عضويه الزائر والعضو وامكانيه الرد على التعليق او التبليغ عن تعليق او تقيم التعليق بشكل جمالى بسيط

     

    وايضا اعكف حاليا على  اعاده برمجه لوحه التحكم من الصفر باستخدام نظام القوالب وتكنلوجيا الاجاكس فى الاضافه والتعديل والحذف حيث ستتمكن من اضافه وتعديل اى محتوى وحذفه من نفس الصفحه دون التوجه لصفحات اخرى  مع امكانيه البحث عن اى محتوى لتعديله فوريا بلمسه زر

    اتمنى من الجميع ان يرى التعديلات بايجابيه وفى حاله الرغبه فى ا لتواصل ان يرسلون تذاكر على نظام الدعم الفنى بايماكس لاننى لا ا ستخدم الايميل حاليا لاسباب قاهره امنيه

    المزيد ...
  • الانتخابات الالكترونيه ووسائل منع التزوير

    طبعا كلنا مشغولين بحال مصر اليومين دول وبالدستور المرقع وبالدستور الجديد والانتخابات وحال البلد عشان كدا انا فكرت انى اسخر امكانياتى لخدمه البلد وزى ما قمت بمبادره لدعوه السياح للعوده الى مصر عن طريق الموقع بالاسفل للسياحه ب 13 لغه

    http://www.come-back-to-egypt.com/index.php

    فكرت فى الاتى لماذا لا يتم ميكنه عمليه التصويت فى الانتخابات البرلمانيه والرئاسيه وقبل ان اخوض فى الميكنه يجب ان اوضع معنى التزوير

    التزوير : ليس بالضروره هو تغير نتيجه الانتخابات النهائيه ولكن يمكن ان يكون عن طريق مبادله الاصوات فمثلا انك قمت فى الانتخابات بوضع نعم لاحد المرشحين ثم قام القائمين على عمليه الاقتراع بتبديل صوتك بلا عن طريق بطاقه جديده ؟ ما الذى يضمن ان بطاقتك لم تتبدل ولم تتغير ؟ وكيف لك ان تتحقق ان صوتك تم فرزه ؟

    ومن هنا اتت فكره التصويت الالكترونى او عمليه ميكنه التصويت ؟ فتخيل مثلا انك بعد اى  انتخابات تدخل الى صفحتك الشخصيه فى موقع حكومى خاص بالانتخابات وتجد ارشيف اصواتك باليوم والتاريخ والوقت ولمن صوت ومن من اقاربك قام بالتصويت ؟ تخيل مدى الشفافيه ؟ تخيل ان اردت بنفسك ان تراقب الانتخابات ان تقوم بفرز كشف منطقتك وطباعته والذهاب لهم شخص شخص والتاكد ان صوتهم هو الصوت الذى تم تسجيله ؟

    مميزات التصويت الالكترونى

    • ضمان عدم تكرار عمليه التصويت (سأشرح لاحقا اليه التحقق)
    • شفافيه فى معرفه المصوتين والاحصائيات والنسب
    • التصويت من اى مكان دون التقيد بلجنه او التصويت من داخل او خارج البلاد
    • امكانيه التدقيق السريع لعمليه التصويت والفرز الالكترونى لنسبه الاصوات
    • توفير قاعده بيانات لاراء المواطنين تساعد الحكومات والرئاسه لمعرفه مدى سخط الشعب او مدى رضا الشعب
    • امكانيه مراجعه التصويت والتاكد ان الصوت الفعلى لك هو ما تم احتسابه
    • معرفه من من اقاربك لم يقم بالتصويت فى الانتخابات الماضيه وتوعيته
    • منع اى تزوير فى الانتخابات
    • توفير عدد مهول من الورق المهدر فى عمليه التصويت (فى بعض الافكار والاليات)

    عيوب نظام التصويت الالكترونى

    • يلزم وعى تام من كافه فئات المجتمع ويحتاج برامع توعويه للمواطنين
    • هاجس حمايه البيانات يلزم تأمين للبيانات بطرق مكلفه
    • يستغرق بعض الوقت لتحويل كافه بيانات المواطنين الكترونيا (توزيع بطاقات التعريف digital signature certificate) او ادخال بصمات اليد وقاع العين

    كيفيه ضمان عمليه تأمين البيانات وتامين عدم تكرار عمليه التصويت

    ميزه التصويت الالكترونى ان كل صوت يسجل فى قاعده البيانات وفى حاله كتابه التصويت من جديد يكتب فوق القديم ولا يكرر حيث ان لكل رقم قومى فرصه واحده للتسجيل او بالمعنى العلمى   Unique Id وفى حاله تصويت الشخص كتر من مره (فى حاله تخطى الاجراءت الامنيه) لا يتم احتساب اصواته الا مره واحداه من قاعده البيانات ولكن كيف يتم التحقق من الشخص المصوت ومنع عمليه اغراق الاصوات التى لم تنتخب ؟

    الحل بسيط للغايه ويسمى برقم التعريف او الهويه التعريفيه وتكون احدى الطرق التاليه

    • فى حال كان الاقتراع عن طريق المراكز الانتخابيه يكون هناك مكن يمكنه من قراءه الجزء الخلفى من بطاقه الرقم القومى وربط الصوت المختار عبر الشاشه فى الجهاز ببطاقه المنتخب ومن ثم ارسال التصويت الى السيرفرات الخوادم الرئيسيه مباشره واعاده تصحيح الصوت ان كان المصوت قد صوت من قبل (اعطاء الفرصه للمرشح لتغير صوته قبل نهايه فتره التصويت) مع مضاهاه بصمه اليد عن طريق قارىء للبصمه وربطه مع قاعده البيانات للتحقق ان المواطن هو من قام بالتصويت
    • فى حاله التصويت عبر الانترنت يتم تامين التصويت وبشده عبر عده اشياء مجمعه كالتالى
      1. عند طلب الدخول للنظام وادخال معلومات العضويه يتم ارسال كلمه مرور عشوائيه على الموبيل المسجل بالنظام صلاحيتها لا تتعدى  ال 10 دقائق يجب ادخالها للمررو وفتح النظام عبر الموقع
      2. يجب للدخول الى النظام وضع بطاقه تعريف المواطن الالكترونيه والمسماه digital signature certificate وهى المستخدمه حاليا فى البنوك فى الخارج وبعض بنوك مصر للقيام بالتحويلات البنكيه عن طريق الموقع وهي توقيع الكترونى لكل مواطن لا يتكرر وهي موازيه لبصمه اليد وتوضع فى منفذ ال USB
      3. اتصال هاتفى بعد عمليه التصويت للموطن عن طريق نظام برمجى يملى للمواطن عن طريق البرمجه بما يسمى ال TTS او تحويل النص الى كلام صوتى يرشد المواطن انه قد قام باختيار المرشح الفلانى وللتاكيد يجب ان يدخل للنظام الهاتفى الرقم الظاهر امامه على شاشه موقع الانترنت لضمان اعتماد الصوت

    طبعا العمليه معقده اكثر من مركز الاقتراع ولكنها تفيد للتحقق من ان الشخص هو الذى يقوم بالتصويت وفائدتها انك تستطيع التصويت من اى مكان فى العالم وبهذا تحل مشكله المصرين فى الخارج

    المزيد ...
  • واخيرا انتهيت من برنامج المتميز لادارة المحتوى الجيل الثانى

    بعد طول انتظار انتهيت اخيرا من برمجة الاصدار الثانى من برنامج المتميز الاخبارى الاصدار يعتبر نقلة نوعية فى برمجياتى نظرا للاعتماد الكامل على نظام ال لاوبجيت اورينتت وفصل القوالب عن البرمجة نهائيا واستخدام نظام الكاش للتخفيف على قواعد البيانات فاعلن ان البرنامج يستطيع العمل مع الملاين من الاخبار بكل سهولة وسرعة مع اكثر من 120 خاصية جديدة افضل ان لا اعلن عنها الا عند الصدور الرسمى للنسخة التجريبية

    لماذا لم يتم طرح النسخة التجريبية ؟

    فى الحقيقة يقابلنى العديد من المشاكل لم اقم بحلها حتى الان وهى

    • الاستقرار على محرر مواضيع سهل يجمع بين امان نظام الصندوق السحرى الخاص بالمنتديات مثال الموجود فى النسخ السابقة وسهولة محررات ال html الواقعية فهناك اكثر من 20 خيار امامى حاليا افضل بينها واريد من كل عملاء المتميز الاخبارى  مشاركتى ارائهم وافكارهم لكى اصل لحل وسط
    • وصول لحل امثل للعملاء السابقين نظرا لان النسخة اختلاف جزرى فى كافة نظام الموقع فالترقية بالتاكيد ستغير ما يقرب من 1000 ملف  وكافة انظمة القوالب وقاعدة البيانات 🙁
    • انشاء دليل توثيقى للجيل الثانى وهذا ما اقوم بة فى الفترة الحالية
    • تجربة البرنامج والتاكد من خلوة من الثغرات البرمجية وهذا ما اقوم بة ايضا حاليا
    • الاستقرار على برنامج تشفير قوى يحمى الشفرة البرمجية وفى نفس الوقت لا يوثر على النسخة من حيث السرعة او الاكواد
    • تعديل برمجة تحكم لوحة العملاء لكى تتناسب مع البرمجة الجديدة فمن خلال لوحة تحكم العملاء يمكنك نقل الترخيص من اسم نطاق لاخر بكل سهولة او تعطيل ترخيصك فى حال تغير الدومين الخاص بك
    • تجربة لوحة التحكم لاننى اقوم بكافة اعمال البرمجة الخاصة بالنسخة فاريد التاكد من خلوها من الهفوات  البرمجية لان الكمال لله وحدة ولكن اريد ان اصدر نسخة شبة كاملة من كل النواحى
    • الترقية ستكون لكل العملاء مجانية ولكن تغير اسم النطاق من خلال لوحة تحكم العملاء سيكون فى خلال فترة الدعم الفنى فقط وسيتم تعطيلة فى حال عدم التجديد فى خطة الدعم الفنى
    • فى انتظار قسم التصميم بشبكة عرب فور ديزاين لتصميم ستايل او ستايلين مجانين للبرنامج لكى يصدر بحلة جديدة من كل النواحى
    • تم تغير الاسم من برنامج المتميز الاخبارى الى المتميز لادارة المواقع والمحتوى لان البرنامج لم يصبح فقط برنامج اخبار بل منظومة متكاملة تنافس اقوى المنتجات من حيث الصفات والمميزات
    • بالاسفل موجود صورة من رئيسية لوحة التحكم توضح التغير  الجذرى فى نظام البرنامج

    المزيد ...
  • لكل المبرمجين لاتبخل على نفسك بان تبرمجها هى اولا

    بسم الله الرحمن الرحيمالسلام عليكم ورحمة الله وبركاته

    كم سهرنا الليالى ونحن نقوم بالتنقيب عن اخطاء البرامج التى نقوم بكتابتها وذلك لاننا نسعى نحو
    الوصول الى مصدر الخطأ حتى نتخلص منه بدلا من ان نتلافى اثاره الضارة فكما نعلم ان الاخطاء فى
    البرمجة تتكاثر بمعنى ان خطا واحد قد يولد عددا كبيرا من الاخطاء الثانوية

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

    هكذا نحن المبرمجين نكتب البرامج ونراقب عملها لكى نتاكد انها تسير بشكل جيد ثم نتامل هل كل شىء على مايرام هل تؤدى الهدف المطلوب هل يمكن ان تكون اسهل من ذلك هل يمكن ان تكون اسرع من ذلك هل ممكن ان تكون افضل من ذلك وهكذا باستمرار فان البرمجيات لها بداية وليس لها نهاية ان اردنا لها ان تستمر ولكن تكون هناك نقطة توقف برغبتنا او تبعا للظروف كما فى معايير هندسة البرمجيات.

    حينما تنتهى من عملك اليومى وقبل ان تنام هل فكرت انك تعيش حياة تختلف عن حياة اى انسان اخر لايعمل كمبرمج – حقا انك مختلف انك مصاب بداء السيطرة والتحكم امرك على الحاسب نافذ ومطاع وما للحاسب الا ان يقول سمعا وطاعة (لسان حاله يقول ذلك ولو عايز تسمعها منه برمجه مش صعبة يعنى) ولكنك انسان قبل ان تكون مبرمجا وبرمجة نفسك ليست سهلة كبرمجة الحاسب وذلك لان الكثير من المبرمجين الذين يتقنون لغات البرمجة للحواسيب الالكترونية يجهلون اساسيات البرمجة الذاتية لانفسهم.

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

    والان جاء وقت سؤالى لك
    هل تبرمج نفسك باستمرار ؟
    هل لديك فى ذاكرتك برامج تقوم بتنفيذها بانتظام حتى تصل الى ماتريد مع مرور الوقت ؟

    ام تجعل حياتك تمر هكذا دون ان تكون مستندة على برامج اقل ماتوصف بانها نظام هائل لا يضعه الا مبرمج بارع.

    لقد تعلمنا من سيرة الرسول الكريم سيدنا محمد ( صلى الله عليه وسلم ) وعلمنا ان الدين الاسلامى يصقل فينا الالتزام وجميع الصفات الكريمة.

    لقد تعلمنا جيدا انه لاتهاون فى الصلاة – انها خمسة فروض نؤديها كل يوم مع مراعاة انها عبادة وليست عادة

    هكذا فى الحياة ان العمل عبادة وعليك ان تحتسب الاجر عند الله وما اروع ان تكون هذه العبادة على اسس
    ونظام – لاتترد الان قم بكتابة برامج لنفسك تنظم فيها كل شىء فى حياتك – لاتجعل يومك يمر هكذا دون ان تشعر بالرضا عنه – لابد ان تحتفل كل يوم بالانجازات التى قمت بها خلال اليوم – لابد ان تضع كل ماتقوم به نصب عينيك لتفكر فيه قبل ان تعمله وبعد ان تقوم به.

    اكتب من الان برامجك – نفذها وضعها محل تجربة – لاتنسى برنامج العبادة اليومية وطور هذا البرنامج كل يوم لتتقرب الى الله اكثر واكثر – ولاتنسى برنامج التعليم والاستزادة من العلم – ان العلم نور – طور مهاراتك يوميا بتعلم شىء جديد كل يوم وهكذا فى كل شئون الحياة اجعلها منظمة

    ولا تعتمد على الظروف فانت مبرمج تحسب حساب الظروف ولكن لاتبنى فقط عليها.

    ولا تنسى ان تقول لى

    هل برمجة الحاسب اسهل ام برمجة نفسك ؟

    والحمد لله رب العالمين
    والله الموفق

     

    المزيد ...