d مدونة الفريق – الصفحة 21 – مدونة فريق شركة المطورون بلس

المدونة

  • هندسة برمجيات : from z to Agile الجزء الأول

    حسنا حسنا، يبدو أن الموضوع كبير، ولكنه في الحقيقة بسيط، ويحتاج إلى مقدمة.

    نبدأ بسؤال بسيط ما هو ال Software
    الإجابة سهلة : هو برنامج
    النتيجة : الإجابة خطأ

    البرنامج هو Program ، أما ال Software فله قصة أخرى.

    في منتصف القرن الماضي وحينما كان المبرمجون يسيطرون على العالم، كانت تواجههم مشاكل جمة.
    السبب أن علم الحاسوب وصناعة البرامج ما زال علما طازجا، ومن يقوم على البرمجة هم علماء الرياضايات، وكانوا يتعاملون مع البرنامج بمنطق علمي بحت.

    هذه المشاكل يمر بها اليوم بعض المبرمجون، وملخصها يكمن في أن المبرمج يعتبر Software عبارة عن كود فقط، وأثناء عمله، تجده يغير عشرات المرات على الكود، ولربما ينتهي من البرمجة فيجد نفسه أنه صنع برنامج لا دخل له بما طلبه العميل، فالعميل في واد وما فهمه المبرمج في واد آخر.
    وحتى في المستقبل في حالة صيانة وتطوير البرنامج، يكون الأمر صعبا، لأن المبرمج لم يأخذ الأمر بالحسبان، كان عليه فقط أن يكتب كود، ولو أتى مبرمج من بعده فلن يفهم شيء مما كتبته المبرمج السابق، لأن المبرمج السابق كان يعمل من نسج خياله … إلخ إلخ إلخ

    من هنا كان لا بد من ولادة هندسة البرمجيات
    هندسة البرمجيات، بالمختصر المفيد، هي علم يدرس كيف نصنع Software بخطوات علمية دقيقة، لإخراج ال Software بأبهى صورة وحسب المطلوب، وذلك مرورا بمفاهيم وعمليات معينة.

    قرر مهندسوا البرمجيات أن ال Software ليس مجرد برنامج ، ولكنه نظام بمعنى أوسع، له العديد من الأجزاء، لعل آخرها هو الكود، ولربما لا يكون الكود منها أحيانا.

    فقبل عملية بدء البرمجة، يجب أن يكون هنالك فترة جمع المتطلبات، وفهمها وتحليلها، وكتابتها، ومراجعتها … إلخ
    وهذه تسمى عملية التوثيق Documntation ، وهي أساسية في دورة حياة صناعة البرنامج أو النظام، فبدونها سيعمل المبرمج أي كلام، وسيكتب كود قد لا يكون مناسب للمشكلة القائمة.
    أيضا هنالك عملية إدارة المشروع Management، وتحديد وقت البداية ووقت النهاية والمدخلات والموارد.
    ومن تحديد الموارد، هنالك الموارد البشرية، واختيار الفريق، سواء كان المبرمجين أو المصممين، أو محللي النظام … إلخ.
    أيضا هنالك عدة آليات أثناء كتابة الكود، وبعد كتابته مثل Quality Assurance ، و عملية الاختبار Testing ، أيضا حتى بعد تسليم المشروع هنالك فترة الصيانة، والتي تعتبر من ضمن الSoftware

    إذا ما هو ال Software
    هو مجموع كل من التوثيق، وإدارة المشروع، والكود، وفحص الجودة والكفاءة، وكافة الاختبارات، وفترة الصيانة

    وهذا أدى بدوره إلى بزوغ عصر جديد في البرمجة، أدى لإنتاج هذه البرمجيات الضخمة بشكل خيالي وأيضا بشكل ناجح جدا.

    قام مهندسوا البرمجيات، بوضع خطط وآليات حول كيفية سير ال Software ( سأطلق عليه الآن البرنامج )
    وهذه الخطط لضمان النجاح الأمثل لدورة حياة البرنامج، وتضمنت العديد من الآليات والنماذج.

    سميت هذه الآليات بالنماذج Models ، بها خطة دقيقة وعمليات معينة يجب أن يسير عليها المشروع لضمان نجاحه

    لكي لا أطيل، قام المهندسون بوضع بنموذج لإتمام العمل اسمه الشلال waterfall ، هذا النموذج ينص على بعض المفاهيم منها


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

    هذا النظام كان طفرة، إلا أنه حين تطبيقه على أرض الواقع، واجه عدة عقبات، منها أن كل مرحلة من مراحل هذا النموذج تستغرق وقت، فمرحلة جمع البيانات وتوثيقها قد تستغرق 3 شهور، وحينما نبدأ بالبرمجة، قد نستغرق 6 شهور مع إجراء الاختبارات.
    وهذا يعني أنه قد يمر 10 شهور لكي نرى البرنامج جاهز وقبل بدء العمل عليه.
    قد يكون خلال ال 10 شهور، تغيرت متطلبات البرنامج، وكان يجب إضافة عمليات أو حذفها من البرنامج، هنا يجب أن نمر بالعملية من جديد، ونستغرق مدة لا بأس بها لتعديل البرنامج، ومن ثم تظهر ضرورة لتعديل جزئية فنعود في دوامة مغلقة، فيقول المدير بعد أن يشد شعره، عودوا للعمل الورقي أرحم.

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

    قام المهندسون بابتكار نماذج كثيرة ومتنوعة، منها الحلزوني ، ومنها .. ومنها، وكان منها صديقنا ال Agile الذي سأتكلم عنه في مقال منفصل

  • أبدع وانشر مع Deep Zoom Composer بدون كتابة حرف برمجي واحد

    إن أكثر ما نتمناه – نحن معشر المطورين – إنتاج أبدع الأعمال وأتقنها، بدون كتابة حرف برمجي واحد، وأن تتوافر المعالجات Wizards لتوفير الوقت والجهد، وأن يكون فوق كل هذا العمل متقن ويعمل بأفضل أداء، رغم عدم كتابة حرف برمجي واحد.

    إن برنامج Deep Zoom Composer  برنامج صدر من مايكروسوفت مع الإصدار الثاني من السيلفر لايت، والهدف منه تجميع صور بأبعاد ودقة مختلفة، وجعلها تترتب وتتحرك بترتيب معين ليتم عرضها على الإنترنت وتكبيرها وتصغيرها، على أن يتم تحميلها بسرعة كبيرة حتى لا يشعر المشاهد بملل الإنتظار.

    إذا لم تصلك الفكرة كاملة فوق تستطيع رؤية هذه الأمثلة لكي تتضح لك

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

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

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

    لكي تبدأ في عمل مشروعك الخاص يتوجب عليك تحميل البرنامج من هذا الرابط :Deep Zoom Composer Download
    مع العلم أن هذا الإصدار يستخدم السيلفر لايت الإصدار الثالث.

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

    ستظهر لك نافذة العمل

    ستجد أعلى الشاشة ( المستطيل البرتقالي ) مراحل المشروع حيث :
    – المرحلة الأولى (Import) هي عملية جلب الصور.
    – المرحلة الثانية (Compose) اختيار الصور المرادة، وترتيبها واختيار الحركة في حالة الرغبة بذلك.
    – المرحلة الثالثة  (Export) نشر العمل وتصديره.
    ثم قم بإضافة الصور التي تريد عرضها إلى المشروع( المستطيل الأخضر )، وستظهر الصور في ( المستطيل الأزرق )حيث يمكنك حذف الصور من هنا.

    لننتقل إلى المرحلة الثانية

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

    أيضا على اليسار (المستطيل الأخضر) يظهر المعاينة النهائية للكائن الذي تقوم بإنشائه، حيث يمكنك من إزاحة الملفات في منطقة العمل لكي تتناسب مع الشكل النهائي.

    أما على اليمين (فالمستطيل الأزرق) يظهر لك الصور وترتيبها، وتستطيع بالنقر على رمز ( العين ) إخفاء صور أو إظهارها في المشروع،

    أسفل من المستطيل الأزرق تجد (المستطيل الأسود) والذي هو خصائص الصورة التي تقوم باختيارها الآن من أبعاد ووضوح، وهذا لو أردت إدخال أبعاد يدوية بدقة كبيرة،
    بجانب المستطيل الأزرق تجد(المستطيل الأصفر) حيث هذه الخيارات المسؤولة عن القائمة والعرض والترتيب وسأتطرق لها بعد قليل.
    تجد على اليسار فيالمستطيل البرتقالي(مستطيل برتقالي صغير) ، وظيفة هذا الزر أن تقوم بإضافة (Area) حيث تضع بها رابط خارجي مثلا حيث عن النقر عليه يفتح موقع خارجي، وكما في الصورة

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

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

    الآن عملية النشر ، اضغط على مرحلة (Export) من أعلى البرنامج وستظهر لك الصورة التالية:

    حيث في اليسار الشكل النهائي للنشر وفي اليمين خيارات النشر
    اضغط على(المستطيل الأصفر)Custom  وستظهر الخيارات التالية:

    Output type
    – Images: حيث ستصدر كمجموعة من الصور.

    – Silverlight Deep Zoom وهو الخيار الذي سنعمل عليه وستتصدر الصور على هيئة  كائن سيلفر لايت ، حيث يمكنك نشرها في أي مكان تريده ويلزم مشغل سيلففر لايت بحجم 4 ميغابايت لكي تعمل عليه، ولا أتوقع وجود كمبيوتر الآن بدون هذا المشغل كضرورة وجود مشغل الفلاش على سبيل المثال.

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

    – الخيار الثالث وهو Seadragon Ajax خيار أيضا جميل ورائع حيث لا يتطلب الأمر مشغل سيلفر لايت وستعمل الصور بالأجاكس وبأقل فعالية نوعا ما ، وهذا مثال على اداة Seadragonمثال على أداة تنين البحر لكي تتضح الفكرة.

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

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

    ولكن لنفرض أنك تريد نشر مشروعك ولا توجد لديك استضافة ، أو أن استضافتك لا تدعم السيلفر لايت بعد، لا مشكلة اليوم فمايكروسوفت لم تترك خيارا كما أسلفت إلا ووضعته، حيث قامت بعمل موقع باسم DeepZoomPix ، تستطيع رفع مشروعك إليه بل وعدة مشاريع بسهولة ويسر وبالمجان.

    في خيارات خطوة النشر تجد في المستطيل الأحمر على اليمين بالأعلى خيار DeepZoomPix  حيث يتوجب عليك إنشاء حساب عبر Create a DeepZoomPix account ، ومن ثم تقوم بتسجيل الدخول ، ومن ثم تقوم بنشر المشروع مباشرة على الإنترنت وسيكون للمشروع رابط مباشر تستطيع إعطائه لأي شخص كان ، مثلا تقوم بعمل ألبوم صور لك وتنشره .

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

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

    وفق الله الجميع

  • Silverlight 5


    سيشهد العام القادم العديد من التطورات في عالم الويب والتقنية ، وعلى رأسهم صدور
    النسخة الخامسة من السيلف لايت ، هذا ما أعلن عنه ScottGu في فيديو يعرض مزايا
    السيلفر لايت 5 ، وسيكون موعد الإصدار للنسخة التجريبية الربع الأول من العام
    القادم، والنسخة النهائية في نهاية العام القادم.

    االجديد في السيلفر لايت 5 يكمن في الدرجة الأولى في تعديلات وتحسينات ، فمثلا سيتم
    تحسين دعم صيغ الفيديو ، تحسين البث المباشر، دعم عمليات متقدمة على النصوص
    بالأعمدة المتعددة ، تسريع عرض الزامل وقت التنفيذ، زيادة دوال الوصول إلى العتاد،
    تحسين DRM، التنقيح بداخل الربط binding ، وكذلك بداخل الستايل، ممكن أيضا الوصول
    للكود الغير مدار unmanaged ، والعديد من التحسينات التي ستجعل البرمجة أفضل في
    السيلفر لايت.

    وهذا سرد بالجديد بالتفصيل:

      تحسين دعم الوسائط المتعددة وواجهة الاستخدام:

    1- تحسين دعم  للفيديو H.264 ، وذلك للمعالجات العادية والسريعة ، حيث لن يصبح
    هنالك فرق في الأداء بين الإثنين وذلك باستخدام GPU .
    2- TrickPlay  سيمكنك من تشغيل الفيديو بسرعات مختلفة ، وكذلك تسريع العرض
    الأمام أو الخلف.
    3- تحسين عرض الصوت مع الفيديو
    4- تحسين دعم الطاقة عبر وقف السيلفرلايت أثناء عدم استخدام الكمبيوتر والدخول في
    وضع السبات
    5- التحكم عن بعد بالوسائط

    6- إدارة الحقوق الرقمية للوسائط المتعددة.

      التعديلات في بيئة العمل

    1- Fluid user interface  ستمكنك من بناء تطبيقات تعرض بشكل أسلس  من
    السابق 

    2- التعديلات على النصوص كالتالي
       

        – دعم الأعمدة المتعددة للنصوص حيث سيمنك ذلك من الالتفاف حول
    العناصر.
        – تحسين دعم نقاء النصوص مهذا مثال

        – تحسين أداء دعم خلفية النصوص.
        – تحسين دعم OpenType .

    3- تحسن الطباعة عبر Postscript vector printing  ، حيث يمكن المستخدم من 
    إنشاء التقارير والمستندات وامكانية معاينتها قبل الطباعة، بل وطباعة أجزاء معينة
    مما يعرض على الشاشة.
    4- دعم النقر المزدوج وإضافة أداة Combobox المفضلة لدي .
    5-  تحسين Model View ViewModel (MVVM) ، وكذلك تحسين دعم Databinding .
        – إمكانية إضافة breakpoints  أثناء  binding
        – Implicit DataTemplates ، لإنشاء قوالب على مستوى المشروع.
        – Binding in style setters .
        – إضافة الحدث DataContextChanged  لتمكين التحقق من صحة شيفرة
    الزامل

    6- تحسين دعم الشبكة و Windows Communication Foundatio
        –  دعم background thread  لتحسين أداء الشبكة.
        –  دعم WS-Trust ، حيث تشفير الرسائل وإضافة صلاحيات على
    التواصل بين الشبكات.
    7- التحسينات في السيلفر لايت 5
        –  تحسين XAML parser ، حيث اصبحت الزامل تفتح أسرع في وقت
    العمل، وكذلك أسرع في وقت التنفيذ
        – دعم فعلي لأنظمة تشغيل 64 بت

    8- تحسينات الرسوم
        – GPU تسرع دوال الرسم الثلاثي الأبعاد، وذلك للحصوص على دعم مرئي
    أفضل في تطبيقات الويب.

        – Immediate mode graphics API ، تمكنك من عرض rendering 
    مباشر على GPU.
        – يمكن تمكين مسارع العتاد Hardware acceleration في المتصفح
    Internet Explorer 9.

    9- إمكانية استخدام نظام أمان بمستويات معينة ، لتمكين البرنامج من الوصل إلى أجهزة
    مرتبطة بنظام التشغيل ، مثلا الوصول إلى جهاز لقراءة مستوى السكر في الدم ، وذلك
    باستخدام مكتبات COM ، وهذه ميزة رائعة، مثلا يمكنك الأن استخدام مكتبة للاتصال
    بجهاز قارئ Bar-code  المتصل عبر منفذ USB  مثلا،  وفي الصورة نجد
    استخدام جهاز قياس مستوى السكر في الدم والوصول إليه من دخل المتصفح مباشرة.

    10- تحسين دعم HTML  داخل السيلفرلايت

    11- تسهيلات للقراءة والكتابة من مجلد الصور والفيديو في جهاز المستخدم.

    12- دعم مباشرة للوصل إلى تطبيقات Microsoft Office، وبعض التطبيقات الأخر من جهاز
    المستخدم ،

    13- دعم كامل للوحة المفاتيح في وضع ملء الشاشة.

    14- وهذه ميزة أيضا رائعة ، حيث يمكنك استدعاء كود غير مدار من خلال السيلفرلايت.

    15- إمكانية عرض أكثر من نافذة في مشروعك

    16- •Microsoft Visual Studio profiling يدعم الآن متابعة الذاكرة ، المعالج ،
    مسارات التنفيذ.

    17- دعم •Visual Studio Team Test.

  • حل مشكلة: عدم إمكانية تعديل قاعدة البيانات في فيجوال ستوديو 2010

    عند استخدام الفيجوال ستوديو 2010 ستواجه مشكلة، أنك لو حاولت التعديل على أي جدول في قاعدة البيانات من خلال Server Explorer فإنك لن تستطيع وسيتطلب الأمر إنشاء جدول من جديد، ولكن الحل بسيط وهو كالتالي:

    هذه المشكلة نفسها موجودة في SQL Server 2008 Management Studio وتطرقت لها سابقا

    وحل المشكلة في فيجوال ستوديو 2010 هو نفسه

    هذا هو نص رسالة الخطأ

    Saving changes is not premitted…..

    .

    والحل بسيط وهو يجب عليك تعطيل الخيار الموضع في نهايةالرسالة

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

     

     

     

    بالتوفيق للجميع مع فيجوال ستوديو 2010

  • عدم ظهور النص بالشكل الذي تريده من قاعدة البيانات

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

    سبب عدم ظهور النصوص ، هو أنك عندما تقوم بقص جزء من النص فإنك تقص نهاية الوسم HTML أيضا وبالتالي يظهر لك وسم بداية بدون نهاية فيتداخل مع باقي الوسوم وتحدث المشاكل .

    ولحل أمر كهذا سيتم حذف الوسوم من النص قبل عرضه بإستخدام ال regular expression بالشكل التالي

     System.Text.RegularExpressions.Regex.Replace(x, "<.*?>", "")

    مع ملاحظة أن حرف x هو المتغير المحتوي على النص الذي سيتم استبدال كل وسم فيه بقيمة فارغة
    بنظري الحل هذا مبسط  رائع ومميز خالي من التعقيد ، وقد يخطر ببالك حل أخر ، وهو صحيح إذا كان يؤدس الغرض

  • ما هو ذلك السر في Real Steel

    حسنا حسنا… أعلم أن عنوان الموضوع غريب ولكن البعض قد يفهمه حينما يشاهد ذلك المقطع في Real Steel  ، وبعد البحث وإعادة المشاهدة أحببت أن أشارككم في تفسير هذه العبارة : Your Secrets Safe With Me

    الخيارات الممكنة لذلك السر
    الخيارات الممكنة
    1- لم يكن تشارلي والد الطفل
    هذا الخيار أعتبره غير صحيح لأن من اقترحه يقول بأن عمر الفتى 11 عام ، وتشارلي لم يرى صديقته ( أم ماكس ) منذ 10 سنوات ، إذا أين المشكلة !
    هذا يعني أن تشارلي والد ماكس وليس العكس لأنه لو أن عمر الفتى أقل من 10 سنوات ( فعليا أقل من 9 ) ، لن يكون ابن تشارلي ، ولكنه طالما أكبر من مدة الهجران أو حتى يساويها ، فهو ابنه ، العملية بسيطة فقط تشغيل للعقل قليلا واستغبيت الأمريكان على حساباتهم في منتدياتهم.
    أيضا قال تشارلي بأنه كان خائف عند ولادة ماكس ، أي أنه لحق العملية كلها !

    2- كان الفتى آلة ، حيث مات مع أمه ولكن ذلك الرجل الغني حتى لا تحزن زوجته قام وفصل آلي مثله … أراه سخيف

    3- كان أتوم روبوت تشارلي قديما والدليل أنه قال له وأنت أيها العجوز حينما كان يدربه ، ولكن كيف لتشارلي أنه لم يبد أي علامات حينما رأى روبوته يجعل الفكرة غريبة.

    4- كان أتوم يقاتل أيضا باستخدام تفكيره ولمساته وقام بعد أن شعر بالفشل بعمل خدعة أن السماعة لا تعمل ( الأوامر الصوتية ) ، لكي يلاكم تشارلي بمهارته التي تتفوق على الآليين ، وهنالك ادلة على تفكيره منها حينما نظر إلى المرآة ، وكان لديه قلب أو عقل وقد قام ماكس بتطويره ، وهذا فيديو جميل
    http://www.youtu.be/watch?v=-ljMOBuTsi4
    الأكثر واقعية

    5- تفسيرات كثيرة رأيتها منها أن تشارلي قد فهم ما يريده ابنه ، أو أنه آسف على فعلته … إلخ

  • بــرمـج العــالــــم

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

    ومن وجهة نظري عالم هؤلاء المبرمجين الخاص عالم رائع حيث يحكمه المترجم بقوانينه ( Compiler ) ،فكل من يخالف القوانين يعاقب فورا، بل يتوجب عليه أن يصلح خطأه على الفور إذا أراد الاستمرار،   بصدق عالم رائع بقوانين صارمة.

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

    أقول لكم بأن الحلم تحقق ولكن نحتاج إلى أن ندرك هذا الحلم، فمن باب أن نصبح مبرمجين فجميعنا مبرمجين، والدليل على كلامي بسيط

    أنت طوال يومك تبرمج، فمثلا تقول :

    إذا استيقظت باكرا سأذهب إلى الجامعة وإلا سأكمل نومي، با الله ألا تشبه هذه جملة IF الشرطية ؟

    بلى، إنها هي.

    ثم ترجع إلى البيت وأثناء الطريق تقول :

    اختر حالة الغذاء

    1 في حالة كان كبسة : سأكل وأملأ معدتي ثم أنام

    2 في حالة كان مفتول : سأكل قليلا

    3 في حالة كان ملوخية : لن آكل منها

    4 أخرى : سأفكر في الأمر

    أليست هذه Select Case أو switch ؟

    ألسنا كائنات مصرحة من فئة إنسان ؟

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

    ولكن لماذا هذه الأمور والعيوب تحصل في العالم ؟!!!

    طالما أننا نبرمج فأين المشكلة

    المشكلة ليست في المنطق البرمجي واستخدام الصيغ البرمجية Syntax

    المشكلة في أمرين:

    1- الكومبايلر
    2- لغة البرمجة نفسها

    ولننظر الآن للكومبايلر

    تخيل لو أن الكومبايلر سمح لك بالقسمة على صفر، أو سمح لك بأن تحجز متغير باسم محجوز مسبقا أو سمح لك باستخدام دوال غير موجودة مسبقا.

    أو أن نفس الكومبايلر لم ينفذ الشرط الثاني في   الجملة الشرطية أو قام بحذف متغير من الذاكرة بدون سبب.

    عندها سيختل برنامجك ولن تستطيع البرمجة بالشكل المطلوب.

    وهذا ما يحدث الآن

    في عهد الرسول الكريم صلى الله عليه وسلم كان هنالك تقيد بالقوانين، إذا سرق أحد تقطع يده، وإذا قتل أحد شخص بغير حق يقتل.

    تخيل لو أن شخص سرق ولم يقم الكومبايلر بتنفيذ الحكم الشرعي عليه، أو أن   الكومبايلر نفذ الحكم بغير ما هو مصمم عليه وقام بسجنه أو بإطلاق سراحه بدلا من قطع يده.

    عندها سنحصل على برنامج مثل دولنا بكومبايلر سيفشل في النهاية.

    ونأتي للمشكلة الثانية وهي لغة البرمجة

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

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

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

    بل وأكثر من ذلك بأن تعطيك هذه اللغة مسارات تنفيذ متعددة (Multithreading ) بحيث تسمح لك بأربع مسارات تنفيذ، في حين اللغة التي تعطيك وصول مباشر للمؤشر لا تعطي سوى مسار تنفيذ واحد عند الرغبة بالتعامل الآمن، ولكم أعزائي المبرمجين تصور عالم بمسار تنفيذ واحد، سيبقيك هذا المسار – إذا كانت برامجك تريد المزيد –   مشغول البال ومقيد، وإمكانيات برنامجك محدودة إذا كنت لا تستطيع الاعتماد على مسار واحد لتمضية بقية هذه الحياة إلى الوصول للمسارات الحقيقة في الآخرة.

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

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

    حتى مبادئها ليست مفهومة ومعقدة من كثر الإضافات والتعديل، فكل يضيف ويعدل ليشتري به ثمنا قليلا.

    هناك لغات أخرى تعبد الحجر، وهناك عبدة النار، وهناك عبدة البقر ، ولك أن تتصور كيف أن مبرمجين يعتمدون على البقر لبرمجة برنامج يعمل على الكمبيوتر !!!!!!!!

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

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

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

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

    بقى لي أن أوضح بأن البرنامج في الكمبيوتر ما هو إلا كيان وهمي ولا وجود له ماديا، وكذلك نحن مبرمجون لغات نسير بلغة برمجة أيضا لا يمكنا الآن فهم ماهيتها، وعلينا أن نؤمن دائما أننا برامج مبنية بلغة لم نفهمها بعد، وأن هذا الكون هو أيضا برنامج وهمي، وأننا في برنامج أوسع يختبرنا لننتقل بعدها إلى عالم الحقيقة، والأهم من هذا هو أن هنالك مبرمج حقيقي وفعلي يتحكم بنا ويسيرنا وسيرينا بإذنه بعد أن ينهي هذا الاختبار حقيقة أنفسنا، وحقيقة حياتنا الفانية وحقيقة أن هذا المال وهذه الأملاك وهذه المجوهرات وهذه الأبراج الكبيرة أنها فعلا كانت وهم وأن من آمن بهذا الكلام هو من سيربح ويفوز الفوز العظيم.

    قد تتساءلون ، كيف عرفت هذا ؟!

    الأمر بسيط فلغتي التي تسير حياتي وتنظم تفكيري والتي أخبرتكم عن مزاياها وإمكانياتها وفوائدها الرائعة أخبرتني بهذا ،

    فمع الإسلام ….. برمج العالم بأفضل نظام حياة.

  • اعرض محاضراتك على الانترنت باستخدام powerpoint 2010

    يمكنك الان power point 2010 من برودكاست محاضراتك مباشرة للمشاهدين على الانترنت .

    وكل ما تحتاجه حساب windows live فقط .

    ميزة البث ب PowerPoint يسمح لك بسرعة مشاركة العرض التقديمي PPT. لهذا الغرض يمكنك استخدام العامة “PowerPoint Broadcast Service ” أو خادم SharePoint داخلي. وميزة PowerPoint Broadcast Service تقوم بتولد رابط الذي يمكنك ارساله او مشاركته مع اصدقائك او تلاميذك عن بعد .

    وعند الانتهاء من تجهيز محاضرتك قم بالضغظ على Slideshow ومن ثم نقوم باختيار Broadcast Slideshow

    والان نقوم بالنقر على الزر Broadcast

    BroadCastSlideShow
    BroadCastSlideShow

    وهنا بداء

    بالضغط على زر start ملاحظة السيرفر الافتراضي سيرفر windows live و يمكنك اختيار سيرفر اخر لو اردت.


    StartBroadcast

    LiveID

    BroadCastService

    SharLink

    الان وبعد نشرك للرابط يمكنك بدء العرض

    وفي حين انتهيت ما عليك الا ان تقوم بقطع البث

    EndBroadcast