نظرة على الامتحان 486-70 حول تطوير تطبيقات الويب باستخدام ASP.NET MVC من مايكروسوفت


حسام برهان

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

microsoft-certification-70-486 (1).png

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

نبذة عن الامتحان

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

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

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

ومن الجدير ذكره أنّ هذا الامتحان يدخل ضمن متطلّبات الحصول على عدّة شهادات تمنحها مايكروسوفت أيضًا (تتطلّب كلّ شهادة عادةً النجاح في أكثر من امتحان)، فهو يدخل مثلًا ضمن شهادة مايكروسوفت في تطوير تطبيقات شير بوينت MCSD: SharePoint Applications. وشهادة مايكروسوفت في تطوير تطبيقات ويب MCSD: Web Applications ويجب ملاحظة أنّه اعتبارًا من 30 أبريل (نيسان) عام 2014 أصبحت أسئلة الامتحان تغطّي Visual Studio 2013 مع MVC5 بالإضافة إلى التحديثات الخاصة بـ Microsoft Azure.

على ماذا سأحصل بعد النجاح في الامتحان؟

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

المجالات الرئيسيّة لأسئلة الامتحان

فيما يلي المجالات الرئيسيّة للامتحان، والنسبة المئويّة لمساهمة كلّ منها في أسئلة الامتحان:

  • تصميم بنية التطبيق (من 15% إلى 20%)
  • تصميم واجهة المستخدم (من 20% إلى 25%)
  • تطوير تجربة المستخدم (من 15% إلى 20%)
  • اصطياد الأخطاء وتنقيح تطبيقات الويب (من 20% إلى 25%)
  • تصميم وتطبيق النواحي الأمنيّة (من 20% إلى 25%)

1. تصميم بنية التطبيق

ستحتاج في هذا المجال إلى معرفة كيفيّة التخطيط لطبقات layers التطبيق وذلك عن طريق التخطيط لفصل الأجزاء الرئيسيّة concerns main والاستخدام المناسب للنماذج models والمشاهد views والمتحكّمات controllers. والاختيار بين المعالجة من طرف العميل client-side أو من طرف الخادم server-side، والتخطيط من أجل قابليّة التوسّع scalability.

كما ستحتاج لمعرفة كيفيّة تصميم تطبيق موزّع distributed application، وما يتضمّن ذلك من تصميم تطبيقات هجينة hybrid applications، والتخطيط والتنفيذ لدورة حياة تطبيق سحابيّ على Azure، وإعداد إدارة الحالة state management، وتصميم استراتيجيّة خاصّة باستخدام الذاكرة المؤقّتة cache والـ WebSockets، وتصميم وحدات (HTTP (HTTP Modules ومعالجات (HTTP (HTTP Handlers.

2. تصميم واجهة المستخدم

يتطلّب هذا المجال تصميم واجهة مستخدم UI على تطبيق ويب ودراسة سلوكها، واستجابة التطبيق للمزايا الخاصّة بكلّ متصفّح عن طريق ميّزة تحديد نوع المتصفّح، والتخطيط لإنشاء تصميم متجاوب responsive design.

3. تطوير تجربة المستخدم

في هذا المجال يجب على المتقدّم أن يكون ملمًّا بكيفيّة التخطيط لقابليّة الوصول والأمثَلَة لمحرّكات البحث SEO، والتخطيط لتوطين (ترجمة وما إلى ذلك) التّطبيق localization، وتصميم وتطبيق المتحكّمات controllers وطرائق action ضمن تطبيق MVC، وتصميم وتطبيق المسالك routes، والتحكّم بسلوك التطبيق باستخدام نقاط التوسعة extensibility points الخاصّة بـ MVC، والتقليل من عرض الحزمة المستخدم عن طريق ميزّتي التحزيم bundle والتصغير minify واستخدام شبكات توصيل المحتوى CDN.

4. اصطياد الأخطاء وتنقيح تطبيقات الويب

بالنسبة إلى هذا المجال، يتوجّب معرفة كيفيّة منع الأخطاء أثناء التشغيل واصطيادها، وتصميم استراتيجيّة متكاملة لمعالجة الاستثناءات exception handling، وإجراء اختبارات ممنهجة لتطبيق ويب عن طريق إنشاء وتشغيل وحدات الاختبار unit tests وإنشاء كائنات اختبار زائفة mocks، وتنقيح تطبيق الويب ضمن عدّة متصفّحات، واستخدام محاكيات الأجهزة المحمولة mobile emulators، وتنقيح تطبيق Azure عن طريق جمع معلومات تشخيصيّة باستخدام الواجهة السحابيّة لأدوات تنقيح (Azure (Azure Diagnostics API، وغيرها من التقنيّات التي تتيحها Windows Azure لتنقيح الأخطاء.

5. تصميم وتطبيق النواحي الأمنية

ستحتاج إلى معرفة كيفيّة إعداد وضبط عمليّة الاستيثاق authentication للمستخدمين، والاختيار بين الاستيثاق باستخدام ويندوز أو النماذج Forms أو الاستيثاق المخصّص، وضبط وإعداد التخويل authorization للمستخدمين بواسطة الأدوار roles، وإنشاء مزوّد أدوار مخصّص custom membership provider، وتصميم وتطبيق التوثيق باستخدام claims وذلك عبر مستودعات federated identity stores، وإدارة سلامة البيانات data integrity، وإنشاء موقع محميّ باستخدام ASP.NET وذلك بتطبيق شهادات SSL، وتشفير كلمات المرور باستخدام الحماية الإضافيّة salt password قبل تخزينها في قاعدة البيانات، وترميز المحتوى في HTML لمنع هجمات cross-site، ومنع هجمات حقن (SQL (SQL Injection بتمرير الوسائط إلى الاستعلام بشكل كائنيّ وليس بشكل نصّي مباشر، ومنع الهجمات من النوع XSRF.





تفاعل الأعضاء


استاذنا الفاضل حسام برهان :

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

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

من حضرتكم ان تبدأ بشرح دورة جديدة في تطوير الويب بتقنية ASP.NET MVC 5

وبلغة C Sharp  و تكون هذه الدورة  في ميزان حسناتك بإذن الله و جزاك الله كل خير عما قدمته

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

 

شارك هذا التعليق


رابط هذا التعليق
شارك على الشبكات الإجتماعية


يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن