مدونة الويب 2.0 » تطوير http://khaledalhourani.com/blog كنز المطور ... وضالة المتعلم Thu, 30 Jun 2011 07:40:23 +0000 en hourly 1 http://wordpress.org/?v= إبدأ الآن http://khaledalhourani.com/blog/2011/03/26/%d8%a5%d8%a8%d8%af%d8%a3-%d8%a7%d9%84%d8%a2%d9%86/ http://khaledalhourani.com/blog/2011/03/26/%d8%a5%d8%a8%d8%af%d8%a3-%d8%a7%d9%84%d8%a2%d9%86/#comments Sat, 26 Mar 2011 20:25:52 +0000 خالد http://khaledalhourani.com/blog/?p=1261 أكبر فائدتين عدت بهما من مؤتمر عرب نت 2011 هما كم الأصدقاء الرائع الذين تعرفت عليهم شخصياً بعد تعرفي عليهم لسنوات عبر تويتر والعالم الافتراضي (بدأت أثق بأن الشخصية الافتراضية نادراً ماتوافق الحقيقية، فأغلب من التقيتهم كونت عنهم فكرة قبل تعرفي عليهم بشكل شخصي وخرجت بانطباع جديد عنهم بعد تعرفي عليهم بشكل شخصي!!)، أما الفائدة الثانية فهي كم الحماسة التي ستدفعني للبدء بمشاريع جديدة وجدية، حيث أُعلن هناك عن تمويل مشروعي عقار ماب وقيم للزميلين عماد المسعودي وجهاد العمار.

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

من أهم الدروس هي:

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

- إبدأ مشروعك الآن حتى لو لم تكن تملك خبرة تقنية، ابحث عن شريك مناسب وسارع بالبدء، دائماً تسمع كلمة إبدأ الآن وبالفعل هي تعني أن تبدأ ولاتؤجل مشروعك ليموت كغيره من اﻷحلام.

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

- أمّن مصدر رزق للمشروع، إن كان عملك اليومي أو عملك الحر، المهم أن لاتتوقف عن العمل على مشروعك بسبب توقف التمويل الذاتي في بداية الآمر، لن يأتي أبداً مستثمر قبل تطبيق الفكرة ليستثمر بها، وخلال هذه الفترة ستحتاج للمال كي تؤمن على اﻷقل مصروفك اليومي.

- ركز على المشروع (المشاريع) وأعطه جزءً من وقتك اليومي أو اﻷسبوعي، المهم لاتبدأ ثم تتوقف فذلك أسوأ من عدم البدء ﻷنك تكون قد أضعت وقتاً ومالاً.

- كافح بنفسك ولاتنتظر من أي أحد تشجيع أو تمويل سواء من الأصدقاء أو حتى العائلة، من الحكومة أو المستثمرين، لاتنتظر الجوائز والهبات.

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

]]>
http://khaledalhourani.com/blog/2011/03/26/%d8%a5%d8%a8%d8%af%d8%a3-%d8%a7%d9%84%d8%a2%d9%86/feed/ 7
موضة CMS http://khaledalhourani.com/blog/2011/02/03/%d9%85%d9%88%d8%b6%d8%a9-cms/ http://khaledalhourani.com/blog/2011/02/03/%d9%85%d9%88%d8%b6%d8%a9-cms/#comments Thu, 03 Feb 2011 12:00:37 +0000 خالد http://khaledalhourani.com/blog/?p=1224 أكاد لا أسأل أحداً في الفترة الماضية إلا وأجابني بأنه يستخدم “CMS خاصة به”. إجابة تحمل في طياتها الكثير، فلو قلنا مثلاً أن المطور في بداية حياته البرمجية طور نظام إدارة محتوى خاص به فسنعتبر أن اﻷمر جميل جداً ﻷنه يتعلم من خلال هذه العملية الكثير. لكن لو كان يستخدم هذا النظام الخاص به في حياته اليومية ولا أحد غيره يستعمل أو يعرف هذا النظام فاسمح لي بأن أقول بأن تأخذ هذا النظام وتضعه بأقرب حاوية.

دعونا نفترض كافة الاحتمالات لهذا اﻷمر:

  • المطور يريد أن يتعلم كيف يصنع نظام إدارة محتوى خاص به كي يطور مهاراته، ممتاز ولكن لاتبقى في هذه المرحلة طويلاً أي لاتتجمد مكانك بل انتقل إلى مراحل تالية إما بنشر هذا النظام على الإنترنت لتأسيس مجتمع خاص به إن كان هذا النظام كما يدعي الكثيرين “ممتاز ومميز” أو انتقل إلى نظام إدارة محتوى وشارك معهم كي تنقل مهاراتك إلى المستوى التالي.
  • المطور يعتبر أن نظامه يحتوي على ميزات لا يحتويها أي نظام آخر، السؤال هو لماذا لاتضع هذه الميزات الخاصة والخطيرة في نظام موجود بالفعل (ووردبريس أو دروبال أو أي نظام آخر)؟ لاتقل لي بان هذه الميزات لايمكن استيرادها إلى نظام شهير فهذا عذر أقبح من ذنب. أو كما ذكرنا انشر نظامك الخاص بك على الإنترنت ولاتبقه حبيس جهازك.
  • المطور لايعرف كيف يستخدم نظام إدارة محتوى شهير بشكل كبير لذلك يستخدم نظامه الخاص كذريعة لذلك. تعلم وأسأل فالسؤال ليس نقيصة أو انشر نظامك.
  • المطور يعتبر أن كلمة “استخدم نظامي الخاص” ستعطيه سمعة أفضل من “استخدم نظام x”، لاداعي ﻷقف عند هذه النقطة ﻷنها لاتستحق.

أمثلة لأصدقاء أفتخر بهم:

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

أخيراً كل الأنظمة الشهيرة ظهرت من أناس وجدوا أن اﻷنظمة الشبيهة لاتخدمهم، فطوروا نظامهم ونشروه. لايمكن لنظام أن يعرف بدون نشره ومشاركته، ولايمكن لمطور أن “يتطور” إن بقي على حالة static void. أيضاً لاتدع الغرور يتسلل لقلبك لترى نظامك فوق باقي اﻷنظمة أو كما يعرف بالمثل الشعبي “القرد بعين أمه غزال”، كيف ستكتشف إن كان قرداً أو غزالاً؟ انشره فإن رأيت إقبالاً عليه فهو غزال أما الاحتمال الثاني فسيكون قرداً بكل تأكيد.

]]>
http://khaledalhourani.com/blog/2011/02/03/%d9%85%d9%88%d8%b6%d8%a9-cms/feed/ 8
هل استخدم دروبال 7 أم 6؟ http://khaledalhourani.com/blog/2011/01/29/%d9%87%d9%84-%d8%a7%d8%b3%d8%aa%d8%ae%d8%af%d9%85-%d8%af%d8%b1%d9%88%d8%a8%d8%a7%d9%84-7-%d8%a3%d9%85-6%d8%9f/ http://khaledalhourani.com/blog/2011/01/29/%d9%87%d9%84-%d8%a7%d8%b3%d8%aa%d8%ae%d8%af%d9%85-%d8%af%d8%b1%d9%88%d8%a8%d8%a7%d9%84-7-%d8%a3%d9%85-6%d8%9f/#comments Sat, 29 Jan 2011 11:34:42 +0000 خالد http://khaledalhourani.com/blog/?p=1216 سؤال يطرحه الكثيرون علي في الآونة الأخيرة، السؤال لايمكن الإجابة عنه بجواب قطعي، أقول لهم أنها تعتمد على العديد من الأمور:

  • ماهو الوقت المرصود لمشروعك؟
  • لماذا تريد استخدام النسخة السابعة ولماذا تريد استخدام السادسة؟
  • ماهي نوعية مشروعك؟
  • ما الإضافات التي ستستخدمها في مشروعك؟
  • هل لديك المبرمج المحنك بدروبال أم مبرمج دروبال عادي؟

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

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

]]>
http://khaledalhourani.com/blog/2011/01/29/%d9%87%d9%84-%d8%a7%d8%b3%d8%aa%d8%ae%d8%af%d9%85-%d8%af%d8%b1%d9%88%d8%a8%d8%a7%d9%84-7-%d8%a3%d9%85-6%d8%9f/feed/ 11
الفهرس ونكهته الجديدة http://khaledalhourani.com/blog/2011/01/29/%d8%a7%d9%84%d9%81%d9%87%d8%b1%d8%b3-%d9%88%d9%86%d9%83%d9%87%d8%aa%d9%87-%d8%a7%d9%84%d8%ac%d8%af%d9%8a%d8%af%d8%a9/ http://khaledalhourani.com/blog/2011/01/29/%d8%a7%d9%84%d9%81%d9%87%d8%b1%d8%b3-%d9%88%d9%86%d9%83%d9%87%d8%aa%d9%87-%d8%a7%d9%84%d8%ac%d8%af%d9%8a%d8%af%d8%a9/#comments Sat, 29 Jan 2011 10:55:05 +0000 خالد http://khaledalhourani.com/blog/?p=1215 فكرة الفهرس هو أن يقدم تجربة جديدة بعالم القراءة سواء عربياً أو عالمياً، على الرغم من توجه الفهرس للكتب العربية إلا أن الخدمات التي سيقدمها فريدة وجديدة، هذه الخبرات ليست جديدة بالمعنى الحرفي ولكنها استقاء من خدمات وتطبيقات شهيرة ككتب غوغل، iBooks، وكندل. تواصلت في البداية مع اﻷخ عبد الله عبيد لتنيسق جهودنا وتبادل الخبرات والنصائح خصوصاً أن مجموعة عزم والتي قدمت مشاريع تقنية رائدة نذكر منها الفتوى كأشهر مثال.

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

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

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

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

]]>
http://khaledalhourani.com/blog/2011/01/29/%d8%a7%d9%84%d9%81%d9%87%d8%b1%d8%b3-%d9%88%d9%86%d9%83%d9%87%d8%aa%d9%87-%d8%a7%d9%84%d8%ac%d8%af%d9%8a%d8%af%d8%a9/feed/ 3
أداء الفهرس – قاعدة البيانات http://khaledalhourani.com/blog/2011/01/21/%d8%a3%d8%af%d8%a7%d8%a1-%d8%a7%d9%84%d9%81%d9%87%d8%b1%d8%b3-%d9%82%d8%a7%d8%b9%d8%af%d8%a9-%d8%a7%d9%84%d8%a8%d9%8a%d8%a7%d9%86%d8%a7%d8%aa/ http://khaledalhourani.com/blog/2011/01/21/%d8%a3%d8%af%d8%a7%d8%a1-%d8%a7%d9%84%d9%81%d9%87%d8%b1%d8%b3-%d9%82%d8%a7%d8%b9%d8%af%d8%a9-%d8%a7%d9%84%d8%a8%d9%8a%d8%a7%d9%86%d8%a7%d8%aa/#comments Fri, 21 Jan 2011 03:51:38 +0000 خالد http://khaledalhourani.com/blog/?p=1205 السلام عليكم،

تنبيه: الرجاء عدم ترك تعليقات  مثل “مَن أفضل” ومقارنات لامكان لها هنا.

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

اقترح الصديق خالد حبش علي أن أقوم بتجربة MongoDB ولمن لا يعرفها فهي عبارة عن قاعدة بيانات تنتمي لحركة تسمى NoSQL حيث يقول القائمون عليها بأن SQL لغة أكل عليها الدهر وشرب، وعندما بُرمجت كان أداء الأجهزة وسعتها محدود للغاية، بالإضافة إلى تعقيدها وتعقيد تعليماتها (أوافقهم بعض الشيء) لذلك الآن حان وقت استخدام نظام أحدث فأسسوا قاعدة بيانات جديدة اسموها MongoDB وهي عبارة عن قاعدة بيانات مفتوحة المصدر، عالية الأداء، لاتحتاج لتعريف بنية قاعدة بيانات (schema) ووفروا لها دعم (drivers) في أغلب اللغات المشهورة.

لهذه التجربة استخدمت Apache AB على مشروع الفهرس المبني على دروبال 7، والتجربة تمت على قاعدة بيانات MySQL (بدون كاش ثم مع كاش) (الكاش المضمن في دروبال) ومن ثم على قاعدة بيانات MongoDB للجدول الذي يحمل النصوص وهو أكبر جدول (بدون كاش ثم مع كاش).

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

الفرق شاسع وكبير، وهنا تتألق المونغو بأدائها، طبعاً لا داعي للتذكير بأن لكل مشروع أدواته الأنسب له، لاتنسوا أن الفيسبوك تستخدم MySQL بشكل كبير.

من ناحية حجم البيانات تشابهت قاعدتي البيانات بشكل كبير حيث كان الحجم شبه متساوي.

يبدو أني سأستخدم المونغو بالإضافة لل MySQL في المرحلة الحالية، ومستقبلاً يمكن اللجوء لحلول أكثر احترافية وتعقيداً مثل memcached و varnish.

سأقوم بنشر عدة تدوينات خلال مرحلة التطوير للفهرس وفي المرحلة المقبلة سأنشر تدوينات عن واجهة المستخدم وقابلية الاستخدام (usability)  (زمنياً خلال التطوير هي تسبق مرحلة قاعدة البيانات هذه)  ولاحقاً البحث (اللغة العربية و solr).

]]>
http://khaledalhourani.com/blog/2011/01/21/%d8%a3%d8%af%d8%a7%d8%a1-%d8%a7%d9%84%d9%81%d9%87%d8%b1%d8%b3-%d9%82%d8%a7%d8%b9%d8%af%d8%a9-%d8%a7%d9%84%d8%a8%d9%8a%d8%a7%d9%86%d8%a7%d8%aa/feed/ 17
صور مسربة من المشروع الجديد http://khaledalhourani.com/blog/2011/01/08/%d8%b5%d9%88%d8%b1-%d9%85%d8%b3%d8%b1%d8%a8%d8%a9-%d9%85%d9%86-%d8%a7%d9%84%d9%85%d8%b4%d8%b1%d9%88%d8%b9-%d8%a7%d9%84%d8%ac%d8%af%d9%8a%d8%af/ http://khaledalhourani.com/blog/2011/01/08/%d8%b5%d9%88%d8%b1-%d9%85%d8%b3%d8%b1%d8%a8%d8%a9-%d9%85%d9%86-%d8%a7%d9%84%d9%85%d8%b4%d8%b1%d9%88%d8%b9-%d8%a7%d9%84%d8%ac%d8%af%d9%8a%d8%af/#comments Sat, 08 Jan 2011 20:44:12 +0000 خالد http://khaledalhourani.com/blog/?p=1183 صورة مسربة من مشروعي الجديد أثناء مراحل العمل بأوقات مختلفة:

الخطوط اﻷولية للتصميم - إضافة الخط العثماني

التجربة اﻷولية ألفا 1

إضافة تأثيرات إضافية - المفضل لدي هو خلفية الورقة القديمة هذه

التجربة اﻷولية الثانية ألفا 2

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

]]>
http://khaledalhourani.com/blog/2011/01/08/%d8%b5%d9%88%d8%b1-%d9%85%d8%b3%d8%b1%d8%a8%d8%a9-%d9%85%d9%86-%d8%a7%d9%84%d9%85%d8%b4%d8%b1%d9%88%d8%b9-%d8%a7%d9%84%d8%ac%d8%af%d9%8a%d8%af/feed/ 3
دروبال 7 http://khaledalhourani.com/blog/2011/01/07/%d8%af%d8%b1%d9%88%d8%a8%d8%a7%d9%84-7/ http://khaledalhourani.com/blog/2011/01/07/%d8%af%d8%b1%d9%88%d8%a8%d8%a7%d9%84-7/#comments Fri, 07 Jan 2011 21:21:16 +0000 خالد http://khaledalhourani.com/blog/?p=1171 بعد ثلاث سنوات من العمل المتواصل على الإصدار الأفضل واﻷقوى من بين إصدارات دروبال، صدرت يوم الأربعاء 5 – 1 – 2011 النسخة الرسمية 7.0 من نظام إدارة المحتوى الشهير دروبال، يذكر أن هذا التاريخ يمثل نقطة جديدة في تاريخ دروبال، حيث يكون قد مضى عليها 10 سنوات منذ ولادتها ﻷول مرة.

يتميز الإصدار الجديد بثباتيته الكبيرة حيث تم كتابة 28.000 اختبار Unit Test لتفادي حدوث أخطاء أثناء وبعد عملية التطوير، وشارك في هذه النسخة بشكل مباشر حوالي 1000 مطور مما يجعلها في قمة اﻷنظمة المفتوحة المصدر من ناحية عدد المطورين فيها.

بشكل عام سألخص أبرز التغييرات الكبيرة في عدد من النقاط:

1- طبقة جديدة للتعامل مع قواعد البيانات (المعطيات) تعتمد على صنف PDO في PHP5 بحيث يمكنك التعامل معها بشكل كائناتي (objects) وتشغيل الدروبال على عدد كبير من قواعد البيانات (MySQL, PostgresSQL, SQLite, MongoDB) بنفس التعليمات البرمجية.

2- طبقة التصميم أو مايدعى بالثيم (Theme) شهدت تعديلات كبيرة، حيث يمكنك الآن التحكم بكل عنصر قبل أن يخرج للمستخدم (مثلاً تغيير شكل قائمة) بدون الحاجة للتعديل على النص المصدري للوحدة (Module) المولدة لهذا العنصر.

3- التبسيط والسهولة، حيث تم إعادة توزيع العديد من العناصر في القائمة العلوية الجديدة (Toolbar) لتتمكن من الوصول إليهم بشكل أسرع وبتنظيم أفضل.

4- إضافة وحدتين من أشهر الوحدات إلى النواة وهما CCK و ImageCache حيث أصبح اسم الأولى Fields واللاحقة Image Styles، تمكنك الأولى من إضافة حقول مختلفة (نصية، عددية، URL) إلى أي نوع من أنواع المحتوى لديك والثانية من إجراء عمليات تحرير على الصور (مثلاً إظهار صورة التدوينة بشكل مصغر في الصفحة الرئيسية وبحجمها الكامل عند قراءتها أو الدخول إلى تفاصيلها).

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

موقع دروبالايز جهّز فيديو مجاني للخمسة أيام القادمة، مدته ساعة تقريباً لعرض أبرز التغييرات في دروبال 7:

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

]]>
http://khaledalhourani.com/blog/2011/01/07/%d8%af%d8%b1%d9%88%d8%a8%d8%a7%d9%84-7/feed/ 11
إدراة الإصدارات للتطبيقات http://khaledalhourani.com/blog/2010/12/06/version_release_control/ http://khaledalhourani.com/blog/2010/12/06/version_release_control/#comments Mon, 06 Dec 2010 13:55:31 +0000 k.musaied http://dev.holooli.com/?p=1142 قبل البدء أود أن أشكر المهندس خالد على اتاحة الفرصة لي للمشاركة بهذه المقالة المتواضعة في مدونته الرائدة وان شاء الله لن تكون الأخيرة.

مقدمة:

إن طبيعة تطوير التطبيقات (Application Development) تتطلب التطوير المستمر فمن الوارد ظهور الأخطاء (Errors) وتغيير المتطلبات (Change Request) أو طلب واقتراح مميزات جديدة (New Feature). وهنا تبرز أهمية ادارة الاصدارات لتطبيقك (Software Version Release Control).

ما هو الإصدار (Release)؟
في عالم البرمجيات (Software) كل نسخة من التطبيق تقوم بنشرها (Publish) أو تركيبها (Deployment) على الخادم تعتبر اصدارا.

ما هو رقم الاصدار؟
رقم الاصدار هو عبارة عن رقم فريد (Unique Number) يعبر عن مرحلة من مراحل تطوير أونشر التطبيق. يوجد أكثر من شكل أرقم الإصدار (Schema)  فمنها ما هو رقم تسلسلي مثل (1.0.0.0)  وهو الأكثر استخداما ومنها ما هو غير ذلك.

تفرعات الرقم التسلسلي:
يتفرع الرقم التسلسلي بشكل أساسي إلى ثلاثة أفرع:
[Major Sequence].[Minor Sequence].[Revision Sequence]
التوضيح:

  1. فرع الرقم الأساس (Major Sequence):
    يمثل رقم تسلسلي للإصدار الأساسي الذي لا يزيد إلا إذا تمت كتابة الشيفرة مرة أخرى أو تم التعديل على جزء كبير منها.
  2. فرع الرقم الثانوي (Minor Sequence):
    يمثل رقم تسلسلي ثانوي يزيد في حالة تمت اضافة وظيفة جديدة أو تغيير كبير في ميزة معينة أو تغيير كبير في واجهة المستخدم.
  3. فرع رقم المراجعة (Revision Sequence):
    يمثل رقم تسلسلي للمراجعة ويزيد في حالة اصلاح مشكلة وتعديل بسيط في واجهة المستخدم للتطبيق.
ما هي ادارة الاصدارت؟
هي طريقة للتحكم في الشيفرة المصدرية (Source Code) للتطبيقات وهيكلة قاعدة البيانات بعد نشر (Publish) أوتركيب (Deployment) يمكن من خلالها معرفة تاريخ التطبيق والتغييرات التي تمت عليه وكذالك ماهي التغييرات المخطط لتنفيذها في المستقبل -إن وجدت-.
ما أهمية ادارة الاصدارات؟
تكمن أهمية ادارة الاصدارات -كما ذكرنا سابقا- في كون طبيعة تطوير التطبيقات غير ثابته وتحتاج الى التعديل والتطوير بإستمرار. ويمكننا تلخيص اهميتها في ثلاث نقاط:

1- تنظيم نشر التطبيق:

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

2- تنظيم تطوير التطبيق:

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

3- تنظيم صيانة للتطبيق:

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

  1. لو افترضنا أنك قمت بنشر الاصدار رقم 1.0.0 من تطبيقك
  2. ثم بدأت بالعمل على الاصدار رقم 1.1.0 والذي يحتوي على مزايا جديدة.
  3. وبعد وفتره ظهرت مشكلة في الاصدار المنشور رقم 1.0.0
  4. ففي هذه الحالة ستتوقف عن العمل على الاصدار رقم 1.1.0
  5. وسترجع الى الاصدار رقم 1.0.0 لتقوم بإصلاح المشكلة
  6. وبعد الانتهاء من حل المشكلة ستنشر الاصدار الجديد رقم 1.0.1
  7. وستعود مجددا للعمل على الاصدار الجديد 1.1.0

الكاتب/ المهندس خالد مسيعد (@abo_ans) – مطور تطبيقات ويب.

http://tip2dev.blogspot.com

]]>
http://khaledalhourani.com/blog/2010/12/06/version_release_control/feed/ 1
دروبال تعلمه بالعربي http://khaledalhourani.com/blog/2010/03/04/%d8%af%d8%b1%d9%88%d8%a8%d8%a7%d9%84-%d8%aa%d8%b9%d9%84%d9%85%d9%87-%d8%a8%d8%a7%d9%84%d8%b9%d8%b1%d8%a8%d9%8a/ http://khaledalhourani.com/blog/2010/03/04/%d8%af%d8%b1%d9%88%d8%a8%d8%a7%d9%84-%d8%aa%d8%b9%d9%84%d9%85%d9%87-%d8%a8%d8%a7%d9%84%d8%b9%d8%b1%d8%a8%d9%8a/#comments Thu, 04 Mar 2010 13:04:11 +0000 خالد http://dev.holooli.com/?p=1086 كتاب جديد ومميز من الصديق المبرمج أنس خيطو

]]>
http://khaledalhourani.com/blog/2010/03/04/%d8%af%d8%b1%d9%88%d8%a8%d8%a7%d9%84-%d8%aa%d8%b9%d9%84%d9%85%d9%87-%d8%a8%d8%a7%d9%84%d8%b9%d8%b1%d8%a8%d9%8a/feed/ 12
تحديثات بالجملة http://khaledalhourani.com/blog/2010/02/28/%d8%aa%d8%ad%d8%af%d9%8a%d8%ab%d8%a7%d8%aa-%d8%a8%d8%a7%d9%84%d8%ac%d9%85%d9%84%d8%a9/ http://khaledalhourani.com/blog/2010/02/28/%d8%aa%d8%ad%d8%af%d9%8a%d8%ab%d8%a7%d8%aa-%d8%a8%d8%a7%d9%84%d8%ac%d9%85%d9%84%d8%a9/#comments Sun, 28 Feb 2010 16:33:23 +0000 خالد http://dev.holooli.com/?p=1072

]]>
http://khaledalhourani.com/blog/2010/02/28/%d8%aa%d8%ad%d8%af%d9%8a%d8%ab%d8%a7%d8%aa-%d8%a8%d8%a7%d9%84%d8%ac%d9%85%d9%84%d8%a9/feed/ 5