دروس تقنية

18/07/2013 00:36:56

أمور يجب أن يعرفها كل مطور ويب

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

التعابير المنتظمة Regular expressions :

التعابير المنتظمة Regular Expressions هي مجموعة من الأحرف تفيد في عملية إيجاد نموذج بحث فمثلا إن أبسط شكل من أشكال التعابير المنتظمة هو البحث في المجلدات, فعند البحث عن *.txt ضمن جهاز الحاسب سيتم البحث عن جميع الملفات التي تنتهي بلاحقة txt مهما كان اسمها.

مثال آخر في SQL عند البحث عن تحقق شرط معين في قاعدة البيانات سنجد تعليمة like والتي تفيد في البحث عن تعبير منتظم أيضاً.

تدعم محررات النصوص مثل برنامج Word البحث باستخدام التعابير المنتظمة.

أحد المراجع المقترحة لفهم التعابير المنتظمة:

فهم أساسيات تحسين التقييم في محركات البحث SEO :

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

كل محرك بحث (غوغل, ياهو, بينغ , ...الخ ) يمتلك تقييم خاص لصفحتك فمثلاً غوغل تعطي قيمة رقمية من 10 تدعى pagerank لكل صفحة.

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

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

يوجد كم كبير من المصادر المفيدة لدراسة وفهم أساسيات SEO اخترنا منها:

Beginner’s Guide to Search Engine Optimization

Search Engine Ranking Factors v2

امتلاك مكتبة جافاسكريبت JavaScript جيدة

حتى لو تقم ببرمجة الكثير من أكواد JavaScript فإن معرفة هذه اللغة مفيد للغاية فسواء كنت تستخدم مكتبة jQueryأو Mootools أو أي مكتبة أخرى فإن إمتلاك مكتبة برمجية توفر وقت كبير في تنفيذ أمور خاصة الإحياء أو اختيار العقد في شجرة DOM أو اي مهمة أخرى.

التعامل مع المتصفحات المختلفة :

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

أضعف الإيمان أن تعمل على إختبار الصفحة على أهم محركات الإظهار الخاصة بالويب layout engine مثل Gecko الذي يستعمله متصفح فايرفوكس أو WebKit engine المستخدم من قبل سفاري وبعض متصفحات الموبايل الخ..

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

معالجة الصور وتحسينها

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

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

كما من المهم إتقان تصغير الصور بشكل خاص والملفات بشكل عام بهدف تقليل عمليات المبادلة مابين المستخدم المستعرض للصفحة ومابين مخدم الويب.

تصميم شكل الصفحة layout بإستخدام HTML/CSS وبدون جداول:

حقيقة لايمكن الفصل بشكل جازم مابين المبرمجين الذي يوجهون المخدم لما يجب القيام به back-end developers ومابين مبرمجي الواجهة الذين يتعاملون مع لغات خاصة بالإظهار  front-end مثل HTML.

لذا من المهم معرفة الأساسيات المتعلقة بـ HTML و CSS والتخلي قدر المستطاع عن الجداول.

مبادىء أساسية حول حقوق الملكية الفكرية :

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

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

المقالتين التالتين كافيتين لتعطيك أهم الأفكار حول هذا الموضوع:

أحكام اخلاقية في نسخ البرمجيات

النسخ واللصق هل يضر بصفحتك ؟

Apache rewrites

يفيد Apache rewrites في جعل عناوين الويب الغير مرتبة أكثر وضوحاً وأسهل للطباعة فمثلا يمكن التخلي عن عنوان يملك الجزء التالي :

index.php?section=about&page=bioand وجعله أسهل وأقصر مثل about/bio.

بعيداً عن تسهيل وضوحية قراءة العناوين يمكن استخدام mod_rewrite لجعل صفحة ويب بسيطة تطبيق متكامل وهي مفيدة للغاية  للتطبيقات الإجتماعية مثل Facebook App مثلا.

للأسف لاتوفر rewrites عملية debugging الامر الذي قد يشكل كارثة للبعض.

إجراء عملية Debug :

تساعد عملية Debug في تتبع الأخطاء بشكل كبير فيما يتعلق بالواجهة front-end فإن إضافة Firebug تعد الأكثر شعبية وتساعد بشكل كبير بتتبع اخطاء Javascript بالإضافة لإظهار زمن التحميل والتعديل الواجهات بشكل سريع للغاية.

بالنسبة لبرنامج يقوم بعملية debug بالنسبة للـ back-end فإن Visual Studio  يعد الأفضل للتعامل مع ASP.net أو xDebug يعد أحد البرامج المقترحة للغة php.

التحكم بالنسخ Version control:

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

 

تعلم HTML5/CSS3:

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

بعض النصائح السريعة :

لاتنسى الإظهار الخاص بالاجهزة المتنوعة Responsive Design :

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

 

-         لاتظهر رسائل أخطاء غير ودية ويفضل معالجة أشهر الاخطاء الشائعة مثل 404 وغيرها.

-         لاتقم بوضع بريد المستخدم ضمن نص غير مشفر كي لا يصله رسائل بريدية مزعجة Spam.

-         تعلم ماهو progressive enhancement.

-         أضف خاصية rel="nofollow"  للروابط المولدة من قبل المستخدمين لتجنب الرسائل المزعجة spam.

-         الإنتقال Redirect عند القيام بعملية Post أو الوصول لصفحة غير موجودة.

الأمن :

-         تعلم حول SQL injection وأوجد آليات للحماية من هذه المخاطر.

-         تأكد من حماية الإتصال الخاص بقواعد البيانات.

-         في حال قمت باستخدام برامج إدارة محتوى جاهزة CMS او أي نظام آخر من المهم إبقاء هذه البرامج والأنظمة قيد التحديث المستمر.

-         إستخدام بروتوكلات SSL و HTTPS في الصفحات التي تحتوي معلومات هامة مثل معلومات كلمات المرور مثلاً.

-         بعض المقالات المتعلقة بأمن نظم المعلومات الهامة:
OWASP development guide

The Google Browser Security Handbook

The Web Application Hacker's Handbook


مشاركة/حفظ

الكاتب: م. وسيم أبوزينة

مصدر الخبر: خاص الرقميات

عودة عودة إلى دروس تقنية عودة عودة إلى الصفحة الرئيسية طباعة طباعة إرسال إلى صديق إرسال إلى صديق

التعليقات

ليس هناك تعليقات حتى الآن، كن أول من يضيف تعليقاً

أضف تعليق


تصنيفات الموقع