الخميس، 23 يوليوز، 2009

البرمجة بإستعمال منصات العمل

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

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

سأتطرق في هذا الموضوع بالخصوص لمنصات العمل الخاصة بالبرمجة على PHP .

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


بالنسبة لنا في برمجة بال PHP لدينا العديد من منصة العمل ومن أشهرها : Zend Framework, symfony , CakePHP , CodeIgniter , Prado , Jelix .... .

عموما لهم نفس المبدأ ونفس المحتوى : نظام MVC, الإدخال لقاعدة البيانات, تعدد اللغات, نظام التخزين اللحظي أو الكاش, تأمين الكود البرمجي (مثال ثغرة XSS...).

إذن الأن سأعدد الأمور التي ستضعها وأنت تختار أحسن واحد من بين 6 المقترحين مسبقا أو من غيرهم

  1. سهولة الإستعمال : بالنسبة لأي إطار عمل, من الضروري جدا مدة من الزمن لكي تتلائم مع العمل بإستعمال أي إطار وهذا متغير يرجع لمدى ذكاء المطور. ونفترض في هذه الحالة دخول مطور لفريق عمل يشتغل على إطار عمل معين فمن الضروري أن تكون مدة تلائمه على العمل بهذا الإطار قصيرة لكي يبدأ العمل مع الفريق.
  2. المرونة : يجب علينا ايضا مقارنة الصعوبات والقوانين التي يفرضها كل إطار عمل على حدة, المهم ستجد في كل منها قوانين إضافية وتعقيدات, إذن يجب على المبرمج التلائم مع الإطار الذي يفرض عليه القليل من القوانين الإضافية ( لانتحدث هنا عن الضوابط العامة للغة البرمجة وإنما التي يضيفها إستعمال الإطار).
  3. حجم المشروع المبرمج : من الضروري أيضا مراعات حجم الإطار فأحسنهم هو من يعطيك إمكانية إنشاء موقع ثابت دون الحاجة لمساحة كبيرة.
  4. الدليل : من الضروري أن يتوفر الإطار على دليل إستخدام تتوفر فيه الشروط التالية : سهل القراءة, يتم تحديثه دوريا, يكون واضحا وشاملا, ويشمل دروس لشرح طريقة عمل الإطار جيدا.
  5. الأداء العام للإطار : يجب أن يوفر الإطار أكبر كم ممكن من الإمكانيات المتوفرة عند إستعماله فكلما زادة الإمكانيات تقلص وقت العمل على مشروع معين. مثلا : يمكن أن نضع كود برمجي بال PHP ونريد تحويله للعمل على إطار عمل معين ونقارن الوقت المستهلك وايضا حجم الكود المستخلص لنرى من منهم يمكن ان يساعدنا في تقليل وقت العمل لأكثر حد ممكن.
  6. منتدى أو مجموعة للمساعدة : يجب أيضا أن ندخل للمنتدى أو مجموعة المساعدة المقترحة من طرف موقع الإطار ونطرح أسئلة ونرى كيفية تفاعل مع الأسئلة المطروحة . لأنه فيما بعد ستحتاج لشيء أو تقع في مشكل فيجب أن تتأكد من أن أصحاب الإطار سيساعدونك بسرعة أيضا ولن تطر للبحث عن مبتغاك في مواقع اخرى أو أن تضيع وقت في البحث عن حل .
  7. التطور : من المهم جدا أيضا ان تحاول إستجداء مستقبل الإطار وان ترى هل له أفاق أي أنه سيتطور مع كل تطور جديد للويب أم أنه سيدعك دائما في حقبة قديمة . لأنك لن تغير في كل وقت إطار العمل الذي تعمل عليه.
للمساعدة سأضع هنا مقارنة بسيطة من كتابتي للإختيار بين 3 أطر عمل وهم : CakePhp, Zend Framwork, CodeIgniter

هنا سنطرح العناوين الجذابة التي يعرضها كل إطار من الأطر السابقة الذكر لجدب المستعملين :

CakePhp : طريقة لإنجاز مدونة بإستعماله

Zend Framework : أول مشروع في ثلاثين دقيقة

ِCodeIgniter : مدونة في عشرين دقيقة
من هذه الروابط سيتضح لنا حرص أصحاب هذه المنصات من أن يظهرو لنا أن تطبيقاتهم هي سهلة الإستعمال

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

Zend Framework : متوفر أيضا بالعدد من اللغات يجمع الفهرس في صفحة واحد لتسهيل قرائة جميع المحتويات, من اشمل كتب المستخدم المتوفرة على الأنترنيت بصراحة :)

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

دعم الأجاكس وجافاسكريبة :
CakePhp : توجد به مكتبة داخلية تدعم الأجاكس والجافاسكريبة
Zend Framework : توجد به مكتبة ملحقة به تابعة لإطار عمل أخر خاص بالجافاسكريبة وهو : DOJO
CodeIgniter : لا توجد في المكتبة الأصلية لكن توجد إضافات لدعم الجافاسكريبة والأجاكس

المنتديات والويكي :
CakePhp : مشاركة المقالات : وإن كان لديك مشكل يجب أن تكتب مقالاتا أو تعليق عن المشكل لا أحبذ هته الطريقة في التواصل.
Zend Framework : مصادر للمتابعة تتوفر على ويكي ايضا : لم أجرب تفاعلهم بصراحة لأنني لم تعجني طريقتهم في التواصل بطريقة لائحة الإئميلات أو تتبع الأخطاء, أفضل منتدى وأن اسئل وأنتظر جوابا وأن أرى اسئلة الأخرين.
ِCodeIgniter : المنتدى - الويكي : يمكنني القول أن المنتدى من فضل المنديات في تقديم المساعدة.

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

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

-الموضوع دوما تحت التصحيح والمراجعة. إن وفقت فمن الله وإن أخطأت فمني ومن الشيطان-


الأربعاء، 8 يوليوز، 2009

الإنسانية

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

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

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

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

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

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

خلاصة
إذن خلاصتي هي اننا اصبحنا بلا إنسانية ويجب علينا في اقرب وقت أن نسمي أنفسنا حيوانات مفترسة (وبدون عقل).

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



يضيع وقتي وألوم نفسي

أحببت أن أشاطركم موضوع من المواضيع التي تحيرني وتجعلني ابحث كثيرا عن جواب مرضي لتسائلاتي عن جواب قد يغير ملامح حياتي لطريق أخر غير الذي اسير فيه حاليا, سؤالي هو : كيف احس ان وقتي وعملي منظمين ؟؟؟, الجواب : لا أعلم .

بحثت وبحثت قرأت العديد من المقالات والعديد من الأفكار عن تنظيم وتطويع هذا العملاق المستعصي وهو الوقت. لاحظ كيف يضيع وقتك إطلع على الساعة الأن ستجد مثلا 02:46 أكمل قرائة المقال سترى أن الساعة اصبحت 02:50 او اكثر ضاعت 4 دقائق ثمينة من وقتك وكن متأكد 100 في 100 ان هذه الأربعة دقائق لن تعود أبدا فقد إنتقصت من عمرك ولحسن حظك أن هته الأربعة دقائق كنت تقرأ فيها شيء لبرما ينفعك . إذن حاول أن تفكر هكذا في كل وقت تحس أنك تضيع وقتك في اشياء لا تفيدك بأي شيء حاول ان ترى الساعة دائما قل أنني ضيعت 5 دقائق وانا اعمل هذا ومالذي إستفدته في هذه 5 دقائق جاوب نفسك وبعد أن تقنع نفسك أنك لم تستفد شيء راجعها وقل لها إنني ضيعت 5 دقائق من حياتي , وعندما تقول أنك ضيعتها من حياتك ستحس بالكلمة جيداوعندها سترى أنك تلعب بشيء يتحكم في حياتك.

أتمنى أن تحس أولا وتلاحظ التأثير الكبير الذي يتركه تضيعك للوقت في حياتك وبعد هذا إقرأ بعض ماقيل عن الوقت :

----------
الوقت هو اكثر ما نحتاج, واسوء ما نستخدم.

الانسان العادي لا يهتم لمرور الوقت, لكن الانسان الموهوب يقاد به.

الوقت = الحياة , لذا تضييع الوقت هو تضييع لحياتك, والسيطرة على وقتك هي سيطرة على حياتك.

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

السر ليس في قضاء الوقت بل في استثماره.

الناس العاديين يفكرون دائما في كيفية قضاء وقتهم, لكن العظماء يفكرون كيف يستثمرونه.

استغل وقت ولا تضييع فرصة واحدة.

الرجل الذي يجرأ على تضييع ساعة واحدة من وقته لا يدرك قيمة الحياة.

اذا اردت ان تستخدم وقتك بصورة جيدة, انظر الى اهم ما عندك واعطه كل ما تملك.

ليس المهم ان تكون مشغول, بل المهم هو الذي انت مشغول به.

انت تكتب قصة حياتك في كل دقيقة.

انا لا افكر بالماضي الشئ الوحيد الذي يهم هو الحاضر.

الذي يسيئ استخدام الوقت هو اول من يشتكي من قصره.

الوقت كالدراهم , وهي الدرهم الوحيد الذي تملكه, وانت تقرر اين تصرفه, فلا تدع الاخرين يصرفونه لك.
----------



الاثنين، 6 يوليوز، 2009

أول تدوينة

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

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

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

إذن بإسم الله توكلنا على الله في تطوير مشروع مدونتي .
مرحبا بكم زواري الإعزاء