كتاباتى في : قواعد البيانات
تخطط لانشاء مشروع يستهدف عدد زوار كبير – خطوات يجب ان تلتفت لها قبل البدء فى بناء مشروعك – الجزء الاول ( تحسين معالجة البيانات)
السلام عليكم
عزيزي المطور – عزيزي ريادى الاعمال جميعنا نخطط ونحلم ان نمتلك مشاريع كبيره تستهدف اكبر عدد من الاشخاص ولكن للاسف عندما نقوم ببناء المشاريع ننتظر حتى تكبر ثم نتفاجيء عند اطلاق المشروع بالمشاكل ومن ثم فى المستقبل بالاغلاق المتكرر – لهذا انصحك بقراءة ما يلى
القاعدة الاساسية 1 ( كل سقوط او تعطل للخدمه يواجهه خساره مستخدم جيد لمشروعك )
القاعدة الاساسية 2 ( في حاله كانت استجابة مشروعك بطييئه حتى مع خطوط الانترنت الضعيفة ستواجة فقدان لمستخدمين مشروعك )
عند البدء فى التخطيط لمشروعك الجديد وقبل البدء فى البرمجة يجب ان تقوم بالتشاور مع فريق التطوير والفريق المسؤل عن العتاد والهارد وير فيما يلى
- اقصي عدد زوار متوقع واكرر هنا “اقصي” فى نفس اللحظة
- ما هي اكثر اجزاء موقعك او تطبيقك او مشروعك ستحتاج معالجه بيانات وضغط علي الخوادم
- مناقشه اسوء سيناريوهات المشاكل التى “ربما” تواجه موقعك
- مناقشة الموارد الماديه والتقنيه المتوافرة
وبعد المناقشة سيخرج الجميع بخطة محددة وواضحة تتضمن اهداف عمل المشروع وهنا سأضع بعض الافكار التى ستساعد الفريق فى عمل مشروع جيد هذة الافكار استنتجتها بعد العمل فى احد المشاريع التقنيه والتعامل مع قاعدة بيانات حجمها وقت كتابه التدوينة ٤ تيرا بايت واكثر من ٧٠ مليار سجل فى احد جداولها فقط !
المهمة رقم ١ – الترحيب بالضيوف دائما
التعامل مع زائر الموقع الجديد ومع المستخدم الدائم يجب ان يكون بترحيب دائم فلا تقل لزائرك انتظر لدي ضيف اخر ومن هنا يجب ان يكون لمشروعك عتاد قوي وبرمجة تسمح بالترحيب الدائم بالزوار ومن هنا يجب ان تكون حسبتك وقت انطلاق المشروع علي الاقل – هو العدد الاقصي المتوقع مضروبا فى ثلاثة
المهمة رقم ٢ – اكرام الضيف واجب
اذا طلب زائرا فى بيتك كوبا من الماء او العصير – لا يصح ابدا ان تقول له لا يوجد ومن نفس القاعدة يجب ان يتوافر مشروعك لزائرك مهما كان استخدامة ولا يظهر له ابدا رساله خطأ تقنيه او برمجية يجب ان تتوقع اى شيء وكل شيء من زائر موقعك بدءا من التعامل بسلاسة مع مشروعك مرورا بالاستخدام الخاطيء والاستخدام الغير اخلاقي فيجب هنا ان تقوم ببرمجة منظومه متكامله من البرمجة النظيفه والبرمجة التى تحاكى معظم سيناريوهات استخدام الموقع كا زائر
المهمة رقم ٣ – توفير البديل –
فى مثل يقول الى بيتة من زجاج لا يقوم بالقاء الحجارة علي الاخرين ومن هنا ان كنت تملك برمجة ضعيفه وبنية تحتيه لا تعتمد علي النسخ الاحتياطى وتوفير خوادم بديلة فورية واستخدام خواص تكرار البيانات وقواعدها ستكون دائما ضعيف فى مواجهة منافسينك خاصة الاشرار منهم
المهمة رقم ٤ – الظروف الطبيعية
يجب عند البدء فى المشروع ان تدرس جيدا ظروف البلاد التى تستهدفها كا اقتصادها والبنية التحتيه وثقافه مواطنيها وسرعه الانترنت فيها فلا يعقل ان تنشء موقع حجم الصفحه الرئيسيه ٥ ميجا فى بلدا اقصي سرعة انترنت هي ٢ ميجا وهنا اريد ان انصح الجميع ان يتعامل كمالو كان الزائر يدخل الى موقعك من خلال اتصال دايل اب بطيء جدا
المهمة رقم ٥ – قواعد بيانات مرنة فى التعديل
يجب ان تصمم قواعد بيانات وبرمجة موقعك بشكل علمي مدروس ومخطط لمراحل التعديل والتطوير حتى لا تفقد اى بيانات فى مراحل تطوير مشروعك ولا تتتكلف الكثير من المستخدمين
افكار تساعدك علي اتخاذ قرارك
- استخدام قواعد بيانات بأسلوب توزيع الاحمال Master Slave – وهنا اعنى ان تقوم بالاعتماد فى مشروعك علي اكثر من خادم لقواعد البيانات وتستخدم خاصيه التكرار بينهم وتقوم بتخصيص احدهم فقط للاستعلامات ثقيلة الحمل كالتنبيهات والمعالجات دون ان تتأثر بقيه العمليات الاخري حيث انها ستستخدم احد الخوادم البديله التى ستحوى نفس قاعدة البيانات تماما ومثال علي ذلك مثلا موقع الفيس بوك دعونا ان نتخيل ان هناك خادم رئيسي للكتابه فى قواعد البيانات ووجود برمجيات مسؤلة عن توزيع البيانات للخوادم الاخري ويوجد مهمام فى معالجة البيانات تقوم بها الخوادم البديلة وم ثم تحديث الخوادم الرئيسية بالبيانات المعالجة كما بالصوره التالية
هنا علي سبيل المثال يوجد خوادم قواعد بيانات مسؤله عن عرض العمليات ذات الاستعلام العالي كا فعاليات الاصدقاء والتنبيهات علي الويب وتطبيقات الجوال هذه الخوادم في حاله وجود استخدام قوي وضغط عليها لن تأثر علي تجربه المستخدم الرئيسي ولن يحصل ضغط او فقط فى البيانات لاننا نستخدم تماما اسلوب توزيع الاحمال كما هو مستخدم فى توزيع احمال الكهرباء حتى لا تنقطع الشبكة
ايضا من خواص الخوادم البديلة معالجه البيانات التى لا تم ادخالها ولا يوجد اى تعديل عليها مستقبلى ولكن تحتاج معالجة قوية ومن ثم تحديث قواعد البيانات الرئيسيه والفرعيه .
2- التفكير الدائم فى العمليات المتكررة وتفاديها بمعالجتها مرة واحدة وتخزين ناتج المعالجة – علي سبيل المثال لديك موقع يحتوى علي عدة اقسام وتريد ان تضع بجانب كل قسم عدد المحتويات داخله او عدد التحميلات لكل قسم – الطبيعى هنا انك ستقوم بجمع تحميلات كل محتوى داخلي داخل القسم وعرضه داخل القسم ومن هنا سنقوم بعمليات قراءه ومعالجه تستهلك الكثير من موارد الخادم وقاعدة البيانات وهنا انصح ان تقوم بجداول خاصه بالاحصائيات فقط مثلا عندما احمل مادة من قسم ما يتم بالاضافه لزيادة عدد تحميلات المادة زيادة عدد تحميلات القسم ومن هنا عندما استعلم عن تحميلات القسم فقط استعلم عن حقل واحد بدلا من جميع ملاين النتائج فى المواقع الكبيرة
3- استخدام خاصيه الكاش للبيانات التى تأخذ موارد كبيره كي يتم عرضها من التخزين المؤقت حتى لو كان كاش ذو فتره صلاحيه صغيره فسيوفر الكثير عليك
4-قم بمحاكاة الكوارث الطبيعه كا فقدان احد الاقراص الصلبه او احد الخوادم او اغلاق داتا سنتر كافه خوادمك – ما هي خططك تجاه الوضع وما هي الخوادم البديله التى توفرها وما هي المدة المستغرقه حتى يعمل المشروع عليها – يجب ان يكون جوابك “اقل من دقيقه زمن واحدة عمل ”
5 – لا تقل ان مشروعى صغير – ان توفير بيئه عمل احترافيه يساعد جميع فريق العمل حتى يعمل باحترافيه ولها عامل اساسي فى تغير نفسيه فريق العمل وخلق الابداع له
يتبع بمواضيع اخري سأتكلم عنها عن (قابليه الاستخدام لمشروعك – الدعم الفنى لمشروعك – متى تحول المشروع للنموذج الربحي – متى تقول ان مشروعك بدء فى النجاح – كيف تقاوم احباط فشل الفكره واعادة تحسينها لكى تنجح )
بعص النصائح لكل مدير قاعده بيانات #MSSQL #SQLSERVER
احيانا نجد مشكله فى خادم قواعد البيانات ونجد ان حاله الداتا بيز تصبح (in recovery) وحسب حجم الخلل او حجم استعاده البيانات تستغرق قاعده البيانات الوقت حتى ترجع
اليكم هذا الامر الخاص بخادم MSSQL SERVER وسيسمح لك بمعرفه التقدم والوقت المتبقي بالدقائق والساعات حتى ترجع قاعده البيانات
DECLARE @DBName VARCHAR(64) =DATABASENAME DECLARE @ErrorLog AS TABLE([LogDate] CHAR(24), [ProcessInfo] VARCHAR(64), [TEXT] VARCHAR(MAX)) INSERT INTO @ErrorLog EXEC sys.xp_readerrorlog 0, 1, 'Recovery of database', @DBName SELECT TOP 5 [LogDate] ,SUBSTRING([TEXT], CHARINDEX(') is ', [TEXT]) + 4,CHARINDEX(' complete (', [TEXT]) - CHARINDEX(') is ', [TEXT]) - 4) AS PercentComplete ,CAST(SUBSTRING([TEXT], CHARINDEX('approximately', [TEXT]) + 13,CHARINDEX(' seconds remain', [TEXT]) - CHARINDEX('approximately', [TEXT]) - 13) AS FLOAT)/60.0 AS MinutesRemaining ,CAST(SUBSTRING([TEXT], CHARINDEX('approximately', [TEXT]) + 13,CHARINDEX(' seconds remain', [TEXT]) - CHARINDEX('approximately', [TEXT]) - 13) AS FLOAT)/60.0/60.0 AS HoursRemaining ,[TEXT] FROM @ErrorLog ORDER BY [LogDate] DESC
اما في حاله ان اردت ان تستعلم عن الزياده المفاجئه فى قاعده البيانات وتحليل الاداء يمكنك ان كنت تستخدم خاصيه النسخ الاحتياطى عن طريق قاعده البيانات ان تقوم بالاستعلام التالي والذي سيمكنك من معرفه حجم الداتا بيز فى كل عمليه نسخ احتياطى ومن ثم تعرف المشكله حدثت فى اى توقيت
SELECT DISTINCT backup_date, [DATABASENAME] as Database_Size from (select isnull(backup_size / (1024 * 1024 * 1024), 0) as backup_size, database_name, cast(cast(backup_finish_date as varchar(12)) as datetime) as backup_date from msdb.dbo.backupset where type = 'd') p pivot ( sum(backup_size) FOR database_name IN (tavl2 )) as pvt order by backup_date
وفى حاله وجدت ملف ال lOG ممتلء وتريد ان تفرغ المساحه الخاصه به ان كان حجمه كبير يمكنك من خلال التالي
اشر علي قاعده البيانات من خلال SQL Server Management Studio
قم بالضغط بالماوس يمين واختار Tasks > shrink> files ثم اختر Logfile او Datafile سيظهر لك المساحه الفارغه التى تستطيع تفريغها
قريبا علي الاب ستور | تم الانتهاء من برنامج كاشف فلول النظام السابق للاى فون والاى باد
شهدائنا – شهدائنا هم من ضحو بارواحهم من اجل اسقاط النظام القائم ومن اجل حريتنا ضحو بالحياه وما فيها من متع فقط من اجل حريتنا – فلا يمكن ان نتهاون او نشارك فى الجريمه السياسيه التى يدبرها لنا النظام السابق من اجل ان يرجع للحياه فى روح وشكل جديدين لا يبالي بمن سقط من اجل رحيله – كل شخص منا له دور فى حفظ الحريه لمصر الثوره – كل منا له دور فى التوعيه والعمل والتصويت والتظاهر وكل الاساليب الممكنه حتى نحافظ علي حريتنا – وقد اخترت ان يكون دوري فى التوعيه اسهاما اهديه لاجل ارواح شهدائنا والان اشرح لكم النظام .
تم بحمد الله الانتهاء من البرنامج واقدمه لكم من اجل شهداءنا الابرار اهداء لهم جميعا
برمجه وتطوير – العبد لله
تصميم المواقع العربية بإستخدام 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.
المواقع الثابتة بدون قواعد بيانات. أضف تعريف نوع الترميز المستخدم في رأس الصفحة
هذا كل شيء تقريبا، إذا كانت صفحاتك مكتوبة عن طريق NotePAD بإستخدام خاصية النص البسيط أما إن كانت مكتوبة من الأساس كـ windows-1256 فمن الأفضل إستيرادها في محرر النصوص HTML مثل DreamWeaver, nvue, GoLive, Aptana studio أو اي محرر نصوص آخر و من ثم حفظها بصيغة UTF-8.
إن لم تنجح هذة العملية فليس أمامك إلا إعادة كتابة كل شيء من جديد و بهذا تكون قد تعلمت درسا في متابعة مستجدات عملك.
المواقع التي تعتمد قواعد البيانات MySQL
بالإضافة للخطوات أعلاه فإنه يجب تحويل قواعد البيانات لتعمل ضمن الترميز الجديد. هذة العملية مضنية يدويا و لهذا نضع لك برنامجا بسيطا يمكنه أن يقوم بالعملية خلال ثوان بسيطة و دون أن يؤثر على تشغيل موقعك. سيقوم البرنامج بتحويل الـ Collation أو ترتيب مصفوفة الجداول إلى utf8_general_ci و هذة ميزة جيدة حيث ستتمكن من إستخدام ترتيب القوائم العربية حسب الترتيب الأبجدي للحروف. أي أن القوائم التي تحمل حرف الألف ستأتي قبل القوائم التي تحمل حرب الباء و هكذا حتى الياء.
تحــــــذيــــر: تحويل قواعد البيانات يعني أن جميع النصوص العربية المكتوبة بأي ترميز آخر غير UTF-8 ستتحول إلى حروف غير مفهومة أو خربشات غير مقروءة. في مثل هذة الحالة و قبل أن تبدأ يجب عليك عمل نسخة إحتياطية و تحويلها إلى UTF-8 و من ثم إعادة إستيرادها إلى قاعدة البيانات.
الخطوة الأخيرة هي التأكد من أن البرنامج يقوم بتخزين و جلب المبيانات ضمن الترميز الجديد و هذة العملية غير متوفرة قياسيا في PHP 5 و ما قبلها لذا يجب على المصمم تحديد الترميز المطلوب في البرمجة و ذلك بإضافة التعليمات التالية في الجزء المختص بالإدخال و الإخراج من البرنامج.
هكذا:
في الختام هذة عملية لا بد منها بالنسبة للمواقع القائمة فعلا و لكنها غير ضرورية بالنسبة للمواقع التي نشأ من الأساس إعتمادا على الترميز العالمي UTF-8
المتميز الاخبارى 2.2 تاخر ولكن باستحقاق
جميعكم تعلمون كم تاخر برنامج المتميز الاخبارى 2.2 ولكن تاخر الصدور خارج ارادتى فهو لظروف سياسيه بحته ستنتهى بمجرد رجوعى على بلادى الحبيه وولكن بعضكم سوف يتسائل مالذى كنت تفعله فى هذه الفتره . ردى كالتالى
- تم برمجه نظام دخول كامل متكامل مدموج مع كل من الشركات التاليه
- الفيس بوك
- تويتر
- ياهو
- ميكرسوفت هوتميل
- جوجل
- بوابه تسجيل اعضاء داخليه
- بوابه اعضاء لكل المواقع الخاصه بالمتميز MotmaizGate
- حيث سيتمكن اى عضو مسجل فى اى شركه من الشركات من استخدام معلومات عضويته فى الدخول الى اى موقع على برنامج المتميز الاخبارى بنفس معلومات الدخول الخاصه به دون الحاجه الى تسجيل عضويه جديده والتعليق باستخدام اسمه وصورته فى اى من الخدمات ليس هذا فحسب انما بمجرد ان يغير معلوماته مثلا فى المسنجر او الصوره الشخصيه تلقائيا سيتم تغيرها من خلال التعليقات كما فى الصوره التاليه
ستجد انى قمت بتفعيل الدخول عن طريق بوابات فيس بوك وتويتر وميكرسوفت ويندوز لايف فمبجرد الضغط مثلا على الدخول من خلال حسابك على الفيس بوك سيظهر لك الشكل التالى
بمجرد ان يتحقق الفيس بوك من معلومات دخولك سيتم توجيهك الى الصفحه التى كنت بها ان كانت قسم محمى او اضافه تعليق او اى من خدمات الاعضاء وستجد الموقع تلقائيا تعرف على اسمك وصورتك كما بالتالى
لاحظ صوره حسابى على الفيس مع اسمى باعلى الموقع
كما يمكنك الدخول باستخدام معلومات العضويه العاديه من الاعلى كما بالتالى
وتمت اعاده برمجه نظام التعليقات من الصفر وتم اعاده تصميمها كما بالتالى مثلا
لاحظ انه تم اضافه كل من
- الابتسامات
- محرر مرئى للتعليقات مع امكانيه تشكيلها
- دمج بحسابك الذى قمت بالدخول به مثلا الفيس بوك كما بالاعلى
- اصبح التحكم فى التعليق بالكلمات لا الحروف حتى يصبح للتعليق معنى
وايضا تم تغير تصميم سرد التعليقات كما بالتالى
كما تلاحظون اصبح هناك فرق بين عضويه الزائر والعضو وامكانيه الرد على التعليق او التبليغ عن تعليق او تقيم التعليق بشكل جمالى بسيط
وايضا اعكف حاليا على اعاده برمجه لوحه التحكم من الصفر باستخدام نظام القوالب وتكنلوجيا الاجاكس فى الاضافه والتعديل والحذف حيث ستتمكن من اضافه وتعديل اى محتوى وحذفه من نفس الصفحه دون التوجه لصفحات اخرى مع امكانيه البحث عن اى محتوى لتعديله فوريا بلمسه زر
اتمنى من الجميع ان يرى التعديلات بايجابيه وفى حاله الرغبه فى ا لتواصل ان يرسلون تذاكر على نظام الدعم الفنى بايماكس لاننى لا ا ستخدم الايميل حاليا لاسباب قاهره امنيه
الانتخابات الالكترونيه ووسائل منع التزوير
طبعا كلنا مشغولين بحال مصر اليومين دول وبالدستور المرقع وبالدستور الجديد والانتخابات وحال البلد عشان كدا انا فكرت انى اسخر امكانياتى لخدمه البلد وزى ما قمت بمبادره لدعوه السياح للعوده الى مصر عن طريق الموقع بالاسفل للسياحه ب 13 لغه
http://www.come-back-to-egypt.com/index.php
فكرت فى الاتى لماذا لا يتم ميكنه عمليه التصويت فى الانتخابات البرلمانيه والرئاسيه وقبل ان اخوض فى الميكنه يجب ان اوضع معنى التزوير
التزوير : ليس بالضروره هو تغير نتيجه الانتخابات النهائيه ولكن يمكن ان يكون عن طريق مبادله الاصوات فمثلا انك قمت فى الانتخابات بوضع نعم لاحد المرشحين ثم قام القائمين على عمليه الاقتراع بتبديل صوتك بلا عن طريق بطاقه جديده ؟ ما الذى يضمن ان بطاقتك لم تتبدل ولم تتغير ؟ وكيف لك ان تتحقق ان صوتك تم فرزه ؟
ومن هنا اتت فكره التصويت الالكترونى او عمليه ميكنه التصويت ؟ فتخيل مثلا انك بعد اى انتخابات تدخل الى صفحتك الشخصيه فى موقع حكومى خاص بالانتخابات وتجد ارشيف اصواتك باليوم والتاريخ والوقت ولمن صوت ومن من اقاربك قام بالتصويت ؟ تخيل مدى الشفافيه ؟ تخيل ان اردت بنفسك ان تراقب الانتخابات ان تقوم بفرز كشف منطقتك وطباعته والذهاب لهم شخص شخص والتاكد ان صوتهم هو الصوت الذى تم تسجيله ؟
مميزات التصويت الالكترونى
- ضمان عدم تكرار عمليه التصويت (سأشرح لاحقا اليه التحقق)
- شفافيه فى معرفه المصوتين والاحصائيات والنسب
- التصويت من اى مكان دون التقيد بلجنه او التصويت من داخل او خارج البلاد
- امكانيه التدقيق السريع لعمليه التصويت والفرز الالكترونى لنسبه الاصوات
- توفير قاعده بيانات لاراء المواطنين تساعد الحكومات والرئاسه لمعرفه مدى سخط الشعب او مدى رضا الشعب
- امكانيه مراجعه التصويت والتاكد ان الصوت الفعلى لك هو ما تم احتسابه
- معرفه من من اقاربك لم يقم بالتصويت فى الانتخابات الماضيه وتوعيته
- منع اى تزوير فى الانتخابات
- توفير عدد مهول من الورق المهدر فى عمليه التصويت (فى بعض الافكار والاليات)
عيوب نظام التصويت الالكترونى
- يلزم وعى تام من كافه فئات المجتمع ويحتاج برامع توعويه للمواطنين
- هاجس حمايه البيانات يلزم تأمين للبيانات بطرق مكلفه
- يستغرق بعض الوقت لتحويل كافه بيانات المواطنين الكترونيا (توزيع بطاقات التعريف digital signature certificate) او ادخال بصمات اليد وقاع العين
كيفيه ضمان عمليه تأمين البيانات وتامين عدم تكرار عمليه التصويت
ميزه التصويت الالكترونى ان كل صوت يسجل فى قاعده البيانات وفى حاله كتابه التصويت من جديد يكتب فوق القديم ولا يكرر حيث ان لكل رقم قومى فرصه واحده للتسجيل او بالمعنى العلمى Unique Id وفى حاله تصويت الشخص كتر من مره (فى حاله تخطى الاجراءت الامنيه) لا يتم احتساب اصواته الا مره واحداه من قاعده البيانات ولكن كيف يتم التحقق من الشخص المصوت ومنع عمليه اغراق الاصوات التى لم تنتخب ؟
الحل بسيط للغايه ويسمى برقم التعريف او الهويه التعريفيه وتكون احدى الطرق التاليه
- فى حال كان الاقتراع عن طريق المراكز الانتخابيه يكون هناك مكن يمكنه من قراءه الجزء الخلفى من بطاقه الرقم القومى وربط الصوت المختار عبر الشاشه فى الجهاز ببطاقه المنتخب ومن ثم ارسال التصويت الى السيرفرات الخوادم الرئيسيه مباشره واعاده تصحيح الصوت ان كان المصوت قد صوت من قبل (اعطاء الفرصه للمرشح لتغير صوته قبل نهايه فتره التصويت) مع مضاهاه بصمه اليد عن طريق قارىء للبصمه وربطه مع قاعده البيانات للتحقق ان المواطن هو من قام بالتصويت
- فى حاله التصويت عبر الانترنت يتم تامين التصويت وبشده عبر عده اشياء مجمعه كالتالى
-
- عند طلب الدخول للنظام وادخال معلومات العضويه يتم ارسال كلمه مرور عشوائيه على الموبيل المسجل بالنظام صلاحيتها لا تتعدى ال 10 دقائق يجب ادخالها للمررو وفتح النظام عبر الموقع
- يجب للدخول الى النظام وضع بطاقه تعريف المواطن الالكترونيه والمسماه digital signature certificate وهى المستخدمه حاليا فى البنوك فى الخارج وبعض بنوك مصر للقيام بالتحويلات البنكيه عن طريق الموقع وهي توقيع الكترونى لكل مواطن لا يتكرر وهي موازيه لبصمه اليد وتوضع فى منفذ ال USB
- اتصال هاتفى بعد عمليه التصويت للموطن عن طريق نظام برمجى يملى للمواطن عن طريق البرمجه بما يسمى ال TTS او تحويل النص الى كلام صوتى يرشد المواطن انه قد قام باختيار المرشح الفلانى وللتاكيد يجب ان يدخل للنظام الهاتفى الرقم الظاهر امامه على شاشه موقع الانترنت لضمان اعتماد الصوت
طبعا العمليه معقده اكثر من مركز الاقتراع ولكنها تفيد للتحقق من ان الشخص هو الذى يقوم بالتصويت وفائدتها انك تستطيع التصويت من اى مكان فى العالم وبهذا تحل مشكله المصرين فى الخارج
واخيرا انتهيت من برنامج المتميز لادارة المحتوى الجيل الثانى
بعد طول انتظار انتهيت اخيرا من برمجة الاصدار الثانى من برنامج المتميز الاخبارى الاصدار يعتبر نقلة نوعية فى برمجياتى نظرا للاعتماد الكامل على نظام ال لاوبجيت اورينتت وفصل القوالب عن البرمجة نهائيا واستخدام نظام الكاش للتخفيف على قواعد البيانات فاعلن ان البرنامج يستطيع العمل مع الملاين من الاخبار بكل سهولة وسرعة مع اكثر من 120 خاصية جديدة افضل ان لا اعلن عنها الا عند الصدور الرسمى للنسخة التجريبية
لماذا لم يتم طرح النسخة التجريبية ؟
فى الحقيقة يقابلنى العديد من المشاكل لم اقم بحلها حتى الان وهى
- الاستقرار على محرر مواضيع سهل يجمع بين امان نظام الصندوق السحرى الخاص بالمنتديات مثال الموجود فى النسخ السابقة وسهولة محررات ال html الواقعية فهناك اكثر من 20 خيار امامى حاليا افضل بينها واريد من كل عملاء المتميز الاخبارى مشاركتى ارائهم وافكارهم لكى اصل لحل وسط
- وصول لحل امثل للعملاء السابقين نظرا لان النسخة اختلاف جزرى فى كافة نظام الموقع فالترقية بالتاكيد ستغير ما يقرب من 1000 ملف وكافة انظمة القوالب وقاعدة البيانات 🙁
- انشاء دليل توثيقى للجيل الثانى وهذا ما اقوم بة فى الفترة الحالية
- تجربة البرنامج والتاكد من خلوة من الثغرات البرمجية وهذا ما اقوم بة ايضا حاليا
- الاستقرار على برنامج تشفير قوى يحمى الشفرة البرمجية وفى نفس الوقت لا يوثر على النسخة من حيث السرعة او الاكواد
- تعديل برمجة تحكم لوحة العملاء لكى تتناسب مع البرمجة الجديدة فمن خلال لوحة تحكم العملاء يمكنك نقل الترخيص من اسم نطاق لاخر بكل سهولة او تعطيل ترخيصك فى حال تغير الدومين الخاص بك
- تجربة لوحة التحكم لاننى اقوم بكافة اعمال البرمجة الخاصة بالنسخة فاريد التاكد من خلوها من الهفوات البرمجية لان الكمال لله وحدة ولكن اريد ان اصدر نسخة شبة كاملة من كل النواحى
- الترقية ستكون لكل العملاء مجانية ولكن تغير اسم النطاق من خلال لوحة تحكم العملاء سيكون فى خلال فترة الدعم الفنى فقط وسيتم تعطيلة فى حال عدم التجديد فى خطة الدعم الفنى
- فى انتظار قسم التصميم بشبكة عرب فور ديزاين لتصميم ستايل او ستايلين مجانين للبرنامج لكى يصدر بحلة جديدة من كل النواحى
- تم تغير الاسم من برنامج المتميز الاخبارى الى المتميز لادارة المواقع والمحتوى لان البرنامج لم يصبح فقط برنامج اخبار بل منظومة متكاملة تنافس اقوى المنتجات من حيث الصفات والمميزات
- بالاسفل موجود صورة من رئيسية لوحة التحكم توضح التغير الجذرى فى نظام البرنامج
أحدث التعليقات