خريطه الطريق لكل مبرمج مواقع ناجح
September 28th, 2008الكل يسئل كيف اتعلم لغه برمجيه معينه او كيف اتعلم برمجه المواقع؟ هذه السؤال يكثر خصوصا في المنتديات العربيه التي في اغلب الاحيات تجد ان صاحب الموضوع اصلا لايريد ان يتعلمها بالشكل الكامل بل يريد الاختصار. ولكن الاختصار هو الشيء اللذي سيجعل هذا السائل مبرمج فاشل. البرمجه لها مفاهيم وقوانين اساسيه لابد من معرفتها. فالموضوع ليس في معرفه او حفظ الدوال والمعادلات، بل في فهم ماهو اساسيات البرمجه العامه.
مبرمج المواقع الناجح يمر بعده مراحل، دعني اكتبها:
المرحله الاولى: ماهو الشبكه وكيف تعمل!
اولا: تعلم انشاء صفحات HTML بسيطه
فيفوم المبتدأ بتعلم الاوسمه الخاصه الموجوده في الHTML وكيف يضهره المتصفح على الشاشه. الاماكن الصحيحه لتعلمها ليست في المنتديات. بل مواقع التعليميه الخاصه بالHTML. فكيف تعرف انك قد انجزت هذه الخطوه بالكامل؟ الحل هو بانك تستطيع ان ترسم الشكل العام للصفحه على ورقه وثم تبدء بكتابه ملف HTML يستطيع ان يصنع نفس الشكل المرسوم على الورقه، الشرط هو انك لا تستفيد من الخصائص المتاحه في برنامج تصميم الصفحات، اعني لا تضغط على زر ادراج جدول بل حاول ان تكتب اوسمه الجداول بنفسك.
ثانيا: تعلم مفاهيم الشبكه
اي اعرف كيف يعمل السرفرات وكيف تحول الاستعلامات الى ردود فيها ملفات يفهمها المتصفح. هذه مرحله بسيطه ولا يستغرق اكثر من 5 ساعات، ابدأ بقرأه بعض المستندات التي تتكلم عن المتصفحات وكيف تعمل. بشكل عام.
ثالثا: تركيب السرفر واللعب ببعض الدوال البسيطه
اي تعلم تركيب سرفر كامل مع البرامج المرافقه، وتركيب لغتك المرجوه من تعلمها. واضهار بعض اعملك في المتصفح. ثم اذهب الى المواقع وابدء باستخدام دوال الطباعه print، وحاول ان تطبع تلك المخرجات ودمجها مع ملفاتك.
المرحله الثانيه: تلعم لغه البرمجه من الاساس!
اولا: تعلم اساسيات البرمجه
اساسيات البرمجه لا تعني حفض الدوال، بل تعني ماهي الدوال، وكيف تعمل؟ فمثلا، ماهو الfunction وكيف تعمل وكيف يتم انشائها! تعلم ايضا حلقات التكرار for, while, do وغيرها وكيف تعمل وما هو الاصل في تلك الحلقات، اي الfor ماذا تختصر؟ وتعلم كيف تستخدم الشروط if و else مثلا! وكيف تعمل ولماذا في بعض اللغات الصفر 0 يعتبر صائبه true وفي بعض اللغات الثانيه يعتبروها خاظئه false.
ثانيا: تعلم كيف قرائه المستندات البرمجيه
المستندات البرمجه لها طريقه موحده في شرح كيف تعمل الدوال فمثلا داله تستقبل ثلاث متغيرات والمتغير الثاني والثالث غير الزامي، وايضا نوع المخرجات فتكتب
string function xxx(var_one[,var_two,[var_three]]);
الstring هي المخرجالت ال[] تعني غير الزامي… وهاكذا
ثالثا: تعلم افضل الطرق، الاختصارات
في هذه الخطوه تستطيع ان تختصر وتقرأ في المواقع كيفيه فعل شيء معين باقل الخطوات. اي تقرأ ما هي افضل وانسب طريقه لفعل شيء معين، ففي البرمجه طرق كثيره لكل حاله، فمثلا برمجه موقع واحد على اكثر من سرفر يختلف عن برمجه مواقع على سرفر صغير واحد. فتتعلم ماهي افضل الحلول لكل حاله تجد نفسك فيها
المرحله الثالثه: المبرمج الكسول
اولا: كيف تصبح مبرمج كسول
المبرمج الكسول هو المبرمج اللذي يحل المشاكل باقصر واذكى الطرق، فكيف تسمي هذا كسولا؟ الكسل هنا تعني اختصار الوقت. في البرمجه، اذا سماك شخص انت مبرمج كسول، فهو قد مدحك :)
ثانيا: تعلم منصات العمل frameworks
الframeworks هي مجموعه برامج صغيره تتكر استخدامها في اكثر المشاريع البرمجيه ووضها في مكان واحد، مثلا، كم برنامج شبكي يحتاج الى لوحه تحكم؟ تقريبا كلها! فلماذا لا تستحدم تلك الframework لاختصار وقتك؟ ففي اكثر الframeworks تستطيع ان تعمل لوحه تحكم وتسجيل المستخدمين في اقل من 5 اسطر تقريبا.
ثالثا: اقرأ اقرأ اقرأ
واكب التطورات! وتعلم المزيد، فكل مره ستجد برامج وframeworks اسهل واسهل في كل مره، فلا تنزع لقب المبرمج الكسول لانها مثل الشرف!

September 28th, 2008 at 6:20 pm
أنا الأن أعمل على تعلم الــ Html
أذا أعتبر نفسي على بداية الطريق :)
September 28th, 2008 at 10:30 pm
في البداية أهنئك على إعادة افتتاح مدونتك
أخي خالد مشكور على المقالة المفيدة و الممتعة , و لكن أرجو أن تقوم بشرح الـframework بشكل مفصل و ما هي أنواعها .
و لك جزيل الشكر
October 3rd, 2008 at 5:48 am
المبرمج الكسول .. المبرمج الكسول!
يظهر إني حائز على مرتبه الشرف :D. أحب الكسل بالبرمجة والصراحة أعتبره فن لا يعلى عليه فن!
شكراً لك :)
October 3rd, 2008 at 9:15 am
جميل جداً
شكراً أخي
October 7th, 2008 at 1:09 am
اشكركم على تشجيعكم لي،
ميدو : سافعل ذالك في اقرب وقت ان شاء الله
January 25th, 2009 at 4:08 pm
السلام عليكم
اللهم صلي على سيدنا محمد و على اله و صصحبه اجميعن اما بعد
أشكرك كثيرا يا اخ خالد و لكن لى سؤال
الحمد لله انا الان انهيت المرحلة الثانية وطبقت تطبيقات كثيرة مثل منتدىمع تحكم بالحذف و التعديل وتسجيل المستخدمين و مدونة و عمل الدوال الخاصة بي و هكذا .
ماهى الخطوة القادمة ؟
هل تعلم البرمجة الشيئية ام ان هناك اشياء اخرى يجب تعلمها اولا ؟
وهل يجب تعلم البرمجة الشيئية للدخول فى منصات العمل ؟
علما بانى اتكلم عن لغة البي اتش بي
شكرا جزيلا
و صلي الله على سيدنا محمدو على اله و صحبه اجميع
السلام عليكم ورحمة الله وبركاته
June 2nd, 2009 at 9:03 pm
السلام عليكم
مقال جميل اخي خالد
لو ركزت على اطار عمل واحد غير مشروح عربيا سيكون افضل
مدونتك انيقة هذا مثال على المبرمج الذي يقول ويفعل