إرشيف شهر October 13, 2008 - الاثنين 14 شوال 1429

تعلم الويب 2.0 – 2

October 13, 2008 - الاثنين 14 شوال 1429

السلام عليكم،

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

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

(اقرأ المزيد …)

تعلم الويب 2.0

October 11, 2008 - السبت 12 شوال 1429

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

1- متابعة مدونات الويب 2.0 وأشهرها:

2- قراءة أفضل الكتب التي تشرح هذه التقنيات بالتفصيل:

3- لا يكفي التعلم لوحده بل يجب أن تجرب ما تعلمته:

  • جرب ما تقرأه فوراً في حال لم تستوعب ماكتب جيداً
  • لا تطبق حرفياً بل حاول أن تعدل أو تضيف على المثال

4- أخيراً، استشر غوغل في ما تعجز عنه

إلى الخبازين

October 9, 2008 - الخميس 10 شوال 1429

السلام عليكم،

من خلال التدوينة السابقة في سلسلة الكيك لم أرى أي تفاعل (عدا بعض التفاعل البسيط من الأخ عمر) بخصوص سلسلة تعلم الكيك، أعلم أني تأخرت بإكمالها في آخر رمضان ولكن ماذا عنكم الآن؟ بالنسبة لي تدوينة الكيك تأخذ مني حوالي الساعتين أو أكثر، وبالنسبة إليكم أظن انها ستأخذ وقتاً أقل في تطبيقها وقراءتها!

إذن أين أنتم الآن؟ بالطبع سأكمل السلسلة ولكن هل مازلتم معي أم أن هناك أسباب أخرى؟

قصة ترخيص ExtJS

October 7, 2008 - الثلاثاء 08 شوال 1429

كثر الكلام في الآونة الآخيرة عن ترخيص مكتبة الجافا سكربت الضخمة ExtJs، وقد تسنى لي متابعة الموضوع في بدايته وطبعاً لاقى هذا التغيير في الترخيص الكثير من المعارضة فدعونا نستعرض الأحداث كما يرويها Jack Slocum مبتكر هذه المكتبة في مدونته:

  • في البداية عمل جاك على تطوير YUI-Ext (في بداية عهدها كانت ExtJs عبارة عن إضافة لمكتبة YUI ثم تطورت هذه الإضافة بسرعة (أيضاً أخذت العديد من الأفكار من jQuery) لتصبح مكتبة كاملة ومستقلة) لمدة سبعة أشهر بدوام كامل في المنزل وعلى الرغم من ذلك لم يأتيه أي دعم مادي من الياهوو وكان يعيش على التبرعات (donations) التي تصله من محبي المكتبة، وعندما رزق بابنه الثالث زادت عليه أعباء الحياة ففكر بأن تكون المكتبة تحت ترخيص تجاري وناقش هذا الشيء مع مطوري المكتبة وتوصلوا لقرار ترخيص المكتبة برخصة LGPL أي ترخيص حر.
  • بعد أن تم تغيير الترخيص إلى LGPL وقبل أن تصدر النسخة 1.0 من هذه المكتبة، شاهد جاك العديد من “النسخ” لمكتبته وقد تم سرقة الستايل وملفات CSS منها، وصدرت هذه “النسخ” قبل أن تصدر النسخة الرسمية من المكتبة. أثار هذا الشيء غضب جاك ووضع رخصة شديدة (Assets) على ملفات CSS والقوالب.
  • وعندما كانوا يطورون النسخة 2 لاحظوا أن العديد من الأطر والمكاتب تستخدم مكتبتهم تجارياً بدون الإشارة إليهم (باختصار سرقة!)، وهذا مادفعه إلى وضع رخصتين على المكتبة منذ الإصدار 2.1:

- رخصة LGPL للتطوير المفتوح المصدر، التعليمي، الغير ربحي أو للاستخدام التجاري من غير أن تكون مكتبة برمجية أو إطار عمل.

- رخصة تجارية للاستخدام التجاري في تطوير إطار عمل أو مكتبة برمجية.

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

(اقرأ المزيد …)

JSON و PHP

October 6, 2008 - الاثنين 07 شوال 1429

السلام عليكم،

هذه التدوينة تلبية لطلب الأخ أحمد محمود عن شرح التعامل مع JSON في PHP.

في البداية سأقوم بالشرح في حال وجود نسخة > PHP 5.2 فإذا كانت لديك نسخة أقدم فلن تعمل معك JSON إلا عن طريق إضافتها يدوياً، فمنذ النسخة PHP 5.2 أصبح دعم JSON يأتي مع PHP

(اقرأ المزيد …)

استبيان الأسبوع الخامس

October 5, 2008 - الأحد 06 شوال 1429

جاءت نتيجة الاستبيان السابق متقاربة بين:

  • بالقطاع الخاص
  • مطور حر
  • مشاريعي الخاصة

أما العمل في القطاع الحكومي فكانت أصواته قليلة، ويسرني أن اقتبس من تعليق (Mercedes) الذي أوافقه تماماً:

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

وأعقب على كلامه:

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

(اقرأ المزيد …)

اصطلاحات الكيك

October 5, 2008 - الأحد 06 شوال 1429

إحدى الجمل المشهورة لدى الخبازين (مطوري الكيك كما يحبوا أن يطلق عليهم): convention over configuration
ويعنون به أنك إذا تقيدت باصطلاحات الكيك فالكيك لن يتعبك بالإعدادات كما تفعل باقي الأطر. هذه نقطة مهمة تقودنا للتساؤل عن اصطلاحات الكيك، ماهي وحالاتها المختلفة؟
(اقرأ المزيد …)

أسماء النطاقات المميزة

October 4, 2008 - السبت 05 شوال 1429

لاشك بأن اسم النطاق أصبح أكثر أهمية من اسم الشركة، فالذي يريد أن يفتتح شركة جديدة يبحث عن اسم النطاق أولاً قبل اسم الشركة فإن وجده متوافراً اختار هذا الاسم لشركته وإلا (إذا وجده محجوزاً) بحث عن غيره، فمن غير المنطقي الآن أن يكون اسم شركتك واسم النطاق للموقع مختلفين!
(اقرأ المزيد …)

التويتر من الداخل وسيئة الروبي

October 3, 2008 - الجمعة 04 شوال 1429

في مقابلة مع مطور من مطوري التويتر Alex Payne (حالياً هو مدير فريق تطوير API في تويتر وهي العمود الفقري وتشكل نسبة العظمى من تطوير التويتر وهي أيضاً سبب انتشار التويتر) أجاب عن عدة أسئلة ولكن مايهمني منها هي الأسئلة المتعلقة ببنية التويتر البرمجية وتناول أيضاً أكبر سيئة للروبي وبالتأكيد الروبي أون ريلز لأنها مبنية على الروبي. إذاً السيئة موجودة في الريلز الذي بني عليه التويتر.

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

(اقرأ المزيد …)

الجدول الثاني tasks

October 3, 2008 - الجمعة 04 شوال 1429

بسم الله الرحمن الرحيم،

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

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

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

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

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

(اقرأ المزيد …)