القرآن الكريم، الهجري و ArPHP للووردبريس
السلام عليكم،
لا لم ولن أترك عالم الووردبريس وإن كنت قد ابتعدت عنه قليلاً، أقرب مثال هو مدونتي هذه التي أبقيتها على الووردبريس على الرغم من وجود وحدات آلية لاستيرادها إلى دروبال ولكن سببي الرئيسي هو أن أبقى على تواصل بالووردبريس وأخباره.
أجريت حملة تحديثية البارحة على عدة إضافات أولها إضافة القرآن التي لم أعلن عنها سابقاً لسبب واحد هو صعوبة تثبيتها إذا كان يتوجب عليك استيراد قاعدة بيانات القرآن بشكل يدوي. أما الآن فاﻷمر أسهل ويتم استيرادها بشكل آلي. قاعدة البيانات تم استيرادها سابقاً من “مصحف المدينة النبوية للنشر الحاسوبي”.
الإضافة الثانية هي التاريخ الهجري، حيث تكرم اﻷخ وليد من مجمع الملك فهد لطباعة المصحف بتزويدي بنسخة بيانات يعتمدوها في التاريخ الهجري لديهم فقمت بتحديث الإضافة لتتوافق مع الووردبريس 3 وأيضاً لإضافة بيانات مجمع الملك فهد، حيث يمكنك الآن الاختيار بين طريقة ArPHP أو مجمع الملك فهد.
الإضافة الثالثة هي لدمج مكتبة ArPHP مع محرر الووردبريس لإعطاء وظائف منوعة كالتفقيط (تحويل الأرقام إلى حروف) والتاريخ والترجمة الحرفية.
أرجو إبلاغي إذا وجدتم خطأ عن طريق ترك تعليق على هذه التدوينة.
الوسوم: إضافات, وورد بريس
موضة CMS
أكاد لا أسأل أحداً في الفترة الماضية إلا وأجابني بأنه يستخدم “CMS خاصة به”. إجابة تحمل في طياتها الكثير، فلو قلنا مثلاً أن المطور في بداية حياته البرمجية طور نظام إدارة محتوى خاص به فسنعتبر أن اﻷمر جميل جداً ﻷنه يتعلم من خلال هذه العملية الكثير. لكن لو كان يستخدم هذا النظام الخاص به في حياته اليومية ولا أحد غيره يستعمل أو يعرف هذا النظام فاسمح لي بأن أقول بأن تأخذ هذا النظام وتضعه بأقرب حاوية.
دعونا نفترض كافة الاحتمالات لهذا اﻷمر:
- المطور يريد أن يتعلم كيف يصنع نظام إدارة محتوى خاص به كي يطور مهاراته، ممتاز ولكن لاتبقى في هذه المرحلة طويلاً أي لاتتجمد مكانك بل انتقل إلى مراحل تالية إما بنشر هذا النظام على الإنترنت لتأسيس مجتمع خاص به إن كان هذا النظام كما يدعي الكثيرين “ممتاز ومميز” أو انتقل إلى نظام إدارة محتوى وشارك معهم كي تنقل مهاراتك إلى المستوى التالي.
- المطور يعتبر أن نظامه يحتوي على ميزات لا يحتويها أي نظام آخر، السؤال هو لماذا لاتضع هذه الميزات الخاصة والخطيرة في نظام موجود بالفعل (ووردبريس أو دروبال أو أي نظام آخر)؟ لاتقل لي بان هذه الميزات لايمكن استيرادها إلى نظام شهير فهذا عذر أقبح من ذنب. أو كما ذكرنا انشر نظامك الخاص بك على الإنترنت ولاتبقه حبيس جهازك.
- المطور لايعرف كيف يستخدم نظام إدارة محتوى شهير بشكل كبير لذلك يستخدم نظامه الخاص كذريعة لذلك. تعلم وأسأل فالسؤال ليس نقيصة أو انشر نظامك.
- المطور يعتبر أن كلمة “استخدم نظامي الخاص” ستعطيه سمعة أفضل من “استخدم نظام x”، لاداعي ﻷقف عند هذه النقطة ﻷنها لاتستحق.
أمثلة لأصدقاء أفتخر بهم:
- زاهر غيبة: نشر العديد من المشاريع كنظام إدارة المشاريع العنقاء، حالياً لاتقع يده على نظام أو إطار عمل إلا جربه.
- بسام شحادات: كان يستخدم نظام خاص خلال عمله السابق لكن لم يكتفي بذلك واحترف الووردبريس.
- خالد حبش: لم تمنعه سنوات خبرته الطويلة من استخدام الريلز واحترافها.
- كفاح عيسى: أيضاً لم تمنعه خبرته الواسعة من استخدام إطار يي لمشروعه المميز مقولة.
أخيراً كل الأنظمة الشهيرة ظهرت من أناس وجدوا أن اﻷنظمة الشبيهة لاتخدمهم، فطوروا نظامهم ونشروه. لايمكن لنظام أن يعرف بدون نشره ومشاركته، ولايمكن لمطور أن “يتطور” إن بقي على حالة static void. أيضاً لاتدع الغرور يتسلل لقلبك لترى نظامك فوق باقي اﻷنظمة أو كما يعرف بالمثل الشعبي “القرد بعين أمه غزال”، كيف ستكتشف إن كان قرداً أو غزالاً؟ انشره فإن رأيت إقبالاً عليه فهو غزال أما الاحتمال الثاني فسيكون قرداً بكل تأكيد.
الوسوم: أفكار, تطوير, نصائح
هل استخدم دروبال 7 أم 6؟
سؤال يطرحه الكثيرون علي في الآونة الأخيرة، السؤال لايمكن الإجابة عنه بجواب قطعي، أقول لهم أنها تعتمد على العديد من الأمور:
- ماهو الوقت المرصود لمشروعك؟
- لماذا تريد استخدام النسخة السابعة ولماذا تريد استخدام السادسة؟
- ماهي نوعية مشروعك؟
- ما الإضافات التي ستستخدمها في مشروعك؟
- هل لديك المبرمج المحنك بدروبال أم مبرمج دروبال عادي؟
لماذا تلك الأسئلة؟ ببساطة الدروبال 7 جديدة وجاءت بالكثير من الأفكار الجديدة، البعض منها لم يتح له الاستقرار في نواة الدروبال، فتم نقله لوحدات ليتم تطويرهم لتلك الأغراض، هذه الوحدات معظمها جديد بشكل كلي ولم يجهز بعد للاستخدام النهائي، أيضاً بعض الواحدات الشهيرة لازالت ألفا أو بيتا للإصدار السابع، بالمقابل بعض الواحدات فقط موجودة لعيون الإصدار السابع، لذلك ماهي الإضافات التي ستستخدمها هو من أهم الأسئلة. هل لديك المبرمج القادر على حل المشاكل بسرعة بدل السلبية والطلب من مجتمع الدروبال أن يحلها ﻷجله؟ لماذا تريد النسخة السابعة؟ هل فقط ﻷنها “جديدة”؟
إذن لاحظت أن السؤال ليس بالبساطة التي يبدو عليه، وجوابه ليس نعم أو لا، هناك مبالغ ستدفع ووقت سيبذل في حال كان القرار خاطئاً، لذلك فكر جيداً واستثمر جيداً في التخطيط لمشروعك قبل الاختيار بسرعة غير مدروسة.
الوسوم: إضافات, تكتيك, دروبال, نصائح
الفهرس ونكهته الجديدة
فكرة الفهرس هو أن يقدم تجربة جديدة بعالم القراءة سواء عربياً أو عالمياً، على الرغم من توجه الفهرس للكتب العربية إلا أن الخدمات التي سيقدمها فريدة وجديدة، هذه الخبرات ليست جديدة بالمعنى الحرفي ولكنها استقاء من خدمات وتطبيقات شهيرة ككتب غوغل، iBooks، وكندل. تواصلت في البداية مع اﻷخ عبد الله عبيد لتنيسق جهودنا وتبادل الخبرات والنصائح خصوصاً أن مجموعة عزم والتي قدمت مشاريع تقنية رائدة نذكر منها الفتوى كأشهر مثال.
طبعاً الموقع أو المكتبة إن صح التعبير لن يظهر بصورة خارقة دفعة واحدة، كل تلك اﻷمور تأخذ وقت، وقت طويل وجهد، جهد التنفيذ وجهد دراسة جدوى الفكرة ومدى تقبل المستخدمين لها بدل فرضها فرضاً كما يحدث في الكثير من التطبيقات التي تجد بها آلاف الوظائف التي لن تستخدمها بحياتك، اﻷوفيس كأشهر مثال. المكتبة ستظهر خطوة خطوة، ونعد بأن كل خطوة ستكون للأمام بإذن الله.
سأتحدث اليوم عن النكهة الجديدة في الواجهة، وكيفية إمتاع القارىء وعدم تكليفه عناء ضغطات ماوس بدون داعٍ، تسمى أحياناً قابلية الاستخدام، طورت ﻷجل ذلك إضافتين للدروبال وقريباً ستصبح الإضافتين مستقلتين عن الدروبال ليظهرا بهيئة مكتبة جافا سكربت و PHP. الإضافة الأولى تعمل على تقطيع الصفحات الطويلة وإلغاء scroll من الصفحة عن طريق تقسيم الصفحة بشكل ديناميكي وذكي يتحسس لإعدادات الشاشة لديك ولحجم المساحة المرئية من الصفحة في متصفحك، لتقوم بتقسيم الصفحات بشكل آلي وبعدها يمكنك تقليب الصفحات بالضغط على زري الانتقال للأمام والخلف، أو عن طريق مفاتيح لوحة المفاتيح أو عن طريق دولاب الفأرة.
الميزة الثانية هي صندوق الأدوات، حيث يحتوي على أدوات للتحكم بشكل الخط، حجمه، تباعد الأسطر، ولون الصفحة، برمجياً يمكن بكل سهولة إضافة أي عنصر له وإعطاءه قاعدة css ليقوم بتغيير النص إليها مع حفظ التغييرات في session للمستخدم الغير مسجل وجدول المستخدم في حال كان مسجلاً بالموقع.
أخيراً سأحاول أن أسرع عجلة تطوير المكتبة ولكن بخطوات مدروسة لا مجرد إضافة ميزات بالجملة كما أسلفت. تابعوا التدوينات القادمة لمعرفة المزيد عن الفهرس ولمعرفة المزيد عن هاتين الإضافتين وكيفية استخدامهم في مشاريعكم.
الوسوم: css, أفكار, إضافات, اللغة العربية, تطوير, تنظيم الوقت, دروبال, كتب, مواقع
أداء الفهرس – قاعدة البيانات
السلام عليكم،
تنبيه: الرجاء عدم ترك تعليقات مثل “مَن أفضل” ومقارنات لامكان لها هنا.
إذاً المشروع السري الجديد اسمه الفهرس، بعض الأصدقاء ممن التقيتهم قبل عدة أسابيع أخذتهم بجولة سريعة في هذا المشروع، بكل بساطة المشروع هو “مكتبة عربية بنكهة عصرية” كلمات بسيطة لتعبر عنه، وأثناء حديثي أخبرتهم بمعاناتي من حجم وأداء MySQL بتخزين المعلومات الضخمة للكتب (النصوص) خصوصاً الكتب التي تكون عادة مجلدات وهي مطبوعة ويكون حجمها بعشرات الميغات بالحالة الرقمية، بحسبة بسيطة سنرى أن المشروع حتى في مرحلته الأولية سيعاني من الحجم والأداء. حسناً في وقتنا الحاضر الحجم لم يعد مشكلة كبيرة ولكن الأداء هو المهم.
اقترح الصديق خالد حبش علي أن أقوم بتجربة MongoDB ولمن لا يعرفها فهي عبارة عن قاعدة بيانات تنتمي لحركة تسمى NoSQL حيث يقول القائمون عليها بأن SQL لغة أكل عليها الدهر وشرب، وعندما بُرمجت كان أداء الأجهزة وسعتها محدود للغاية، بالإضافة إلى تعقيدها وتعقيد تعليماتها (أوافقهم بعض الشيء) لذلك الآن حان وقت استخدام نظام أحدث فأسسوا قاعدة بيانات جديدة اسموها MongoDB وهي عبارة عن قاعدة بيانات مفتوحة المصدر، عالية الأداء، لاتحتاج لتعريف بنية قاعدة بيانات (schema) ووفروا لها دعم (drivers) في أغلب اللغات المشهورة.
لهذه التجربة استخدمت Apache AB على مشروع الفهرس المبني على دروبال 7، والتجربة تمت على قاعدة بيانات MySQL (بدون كاش ثم مع كاش) (الكاش المضمن في دروبال) ومن ثم على قاعدة بيانات MongoDB للجدول الذي يحمل النصوص وهو أكبر جدول (بدون كاش ثم مع كاش).
نتائج التجربة جاءت لمصلحة MongoDB بشكل كبير، حيث تلاحظون الخط الأزرق والزهري هما للمونغو (اﻷزرق بدون كاش والزهري مع كاش)، أما عن المحورين فالمحور اﻷفقي هو عدد الطلبات (requests) وكان عدد بسيط حتى لا أتعب جهازي المسكين، 50 طلب بشكل ثنائي (أي كل طلبين سوياً) والمحور العمودي هو الزمن بالميللي ثانية. للحيادية بالتجربة سنأخذ فقط النتائج بدون الكاش، حيث الكاش المضمن في دروبال سيخزن في قاعدة بيانات MySQL لذلك من غير المنطقي المقارنة بينهم، ستلاحظون أن المونغو كانت طوال التجربة بحدود الواحد ثانية أما MySQL فبحدود 3 ثانية.
الفرق شاسع وكبير، وهنا تتألق المونغو بأدائها، طبعاً لا داعي للتذكير بأن لكل مشروع أدواته الأنسب له، لاتنسوا أن الفيسبوك تستخدم MySQL بشكل كبير.
من ناحية حجم البيانات تشابهت قاعدتي البيانات بشكل كبير حيث كان الحجم شبه متساوي.
يبدو أني سأستخدم المونغو بالإضافة لل MySQL في المرحلة الحالية، ومستقبلاً يمكن اللجوء لحلول أكثر احترافية وتعقيداً مثل memcached و varnish.
سأقوم بنشر عدة تدوينات خلال مرحلة التطوير للفهرس وفي المرحلة المقبلة سأنشر تدوينات عن واجهة المستخدم وقابلية الاستخدام (usability) (زمنياً خلال التطوير هي تسبق مرحلة قاعدة البيانات هذه) ولاحقاً البحث (اللغة العربية و solr).
الوسوم: أفكار, الفهرس, دروبال, قواعد البيانات
التعليم لماذا وكيف؟
السلام عليكم،
تنبيه: الموضوع يحتاج إلى دماغ متفتح (open mind)، فإذا كنت كذلك واصل، وإن لم تكن فعليك بتعطيل الجزء التقليدي من دماغك طوال فترة قراءة هذه التدوينة، وإن لم تستطع فأنصحك بالاستمرار بحياتك دون الالتفات إلى هذه التدوينة من أساسها.
من يعرفني منكم بشكل شخصي يعرف مدى كرهي للتعليم التقليدي، تدخل إلى الجامعة بعد تعليم مدرسي بائس لتواجه بحقيقة جديدة خصوصاً بعد التخرج ويقولها لك الأساتذة في الجامعة دائماً أن التعليم الجامعي غير العمل، أن التعليم الجامعي لاتستفيد منه إلا بنسبة بسيطة جداً في العمل، ولكن أليس من المفترض أن تؤهلنا الجامعة للعمل وسوق العمل؟ ألم يخطر على بال هؤلاء اﻷساتذة أن هناك خطأ ما؟ لماذا أضطر إلى أخذ مواد حشو في معظم الأوقات ﻷكومها على الرفوف وبذاكرتي وأرميها كلها بعد التخرج بأحسن الأحوال وبعد الفحص على اﻷغلب؟ من ينطلق من هذه النقطة سيجد أن تعليمنا بكل جدارة فاشل.
بالطبع لا أتكلم عن دولة، منطقة أو مدرسة، بل أتكلم عن التعليم بشكل عام وعالمي، حتى أكثر الدول تقدماً تعاني من أزمة التعليم والعمل، الصديق عبد الله المهيري كتب كثيراً عن هذه النقطة وآخر مقالة له بعنوان لا تبحث عن حل هنا ستفيدني إن قرأتها بعدم تركك لتعليقات سلبية.
لننظر إلى الأمر بزاوية جديدة، تبدأ في المدرسة بتعلم علوم كثيرة وهذا شيء جميل، سرعان ماتتوسع هذه المعارف والعلوم بشكل أسي لتبدأ بتعلم فلسفة اليونان، دورة حياة الدودة الشريطية، الكيمياء العضوية، لا أمزح هنا وفي هذه المجال لايوجد مكان للمزاح، سرعان مايمتلىء دماغك بآلاف المعلومات التي تحتاجها والتي لاتحتاجها، التي تحبها والتي تكرهها وتجبر على دراستها (لماذا؟) هل تتخيلون إنسان يدفع لإنسان آخر (بغض النظر عن المدارس الحكومية كونها تمول من الدولة والدولة تمول من المواطن يعني بالأخير تمول منك!!) إنسان يدفع لآخر كي يعلمه علم لايريده ويعاقبه بالرسوب إذا فشل في تعلمه؟؟
تعلم العلوم شيءرائع، بل العلم بحد ذاته رائع، ولكن لماذا اضطر إلى تعلم أشياء أكرهها ولن أستفيد منها في الوقت نفسه؟ القدماء وحتى عصر أجدادي في القرن الماضي كانوا يتبعون أسلوب الكتاتيب، حيث يذهب الطالب إلى أستاذ بعلم ما ليدرسه هذا العلم، حالياً التخمة العلمية لاتستفيد منها الدولة إلا بنسبة أقل من 5% أو 10% بأفضل التوقعات والتفاؤل الكبير. أخبروني أين ذهبت العلوم التي تعلمتموها بالمدرسة (دون النسبة السابقة)؟ اه على الأغلب ستذهب لتدريس أبناءكم نفس المناهج وهكذا دواليك!!!
لماذا نجد طلاب المدرسة يكرهون المدرسة؟ ودائماً يحبذون أيام العطل ولو حدث وجاءت عطلة لسبب غير اعتيادي تجدهم يقفزون من الفرح؟ للأسف نحن نعاني من كرهنا للمدارس وبالتي كرهنا للعلوم وهذا شيء خطير ينعكس على المجتمع بشكل مباشر وكبير. بالمناسبة هذا الشيء ينعكس على اﻷساتذة أيضاً حيث يظهر لنا جيل من الأساتذة يكرهون المدرسة، المادة التي يدرسونها والطلاب!! بالله عليكم بعد هذه المعطيات كيف لنا أن نخرج “جيل علمي” وبالعلم ترقى الأمم (العلم مقوم أساسي في قيام الدول، راجع تاريخ اﻷمم السابقة والحالية وكتاب مقدمة ابن خلدون).
الآن خلال المرحلة الدراسية في المدرسة يتكون فكر الإنسان وشخصيته وهي سنوات بناء الإنسان، الطالب سيكون في هذه المرحلة قد امتلىء كرهاً للدراسة، الشيء الوحيد الذي يجبره على الإكمال هي الرسوب والنجاح والوظيفة والمجتمع، بعض الناس لايوجد لديهم هذه الضغوط أو يتجاهلونها فتجدهم ينسحبون من الدراسة خلال المراحل الدراسية المختلفة.
سنتجه الآن إلى الدارسة الجامعية، خلال المدرسة تتلقى معلومات كثيرة عن الجامعة إما من أخوتك الكبار أو من المجتمع، عن حرية الجامعة وحرية حضور محاضرات أو عدم حضورها والحصول على تلخيص المادة قبل الامتحان، كل هذه الأفكار ستشجعك للجامعة، تذهب إلى الجامعة، أولاً غالباً ستذهب إلى الفرع الغير مناسب بحكم أن علاماتك التي لاتكفي للوصول إلى الفرع الذي تريد، وثانياً لتفاجأ بصورة مختلفة عن الجامعة التي حلمت بها أثناء فترة المدرسة العصيبة.
ستفاجأ بأساتذة ودكاترة كل منهم يحمل رأس فرعون من التكبر (إلا مارحم ربي)، بمناهج أكل عليها الزمان وشرب، وفي أفضل الأحوال مناهج جديدة ولكن أساتذة أكل عليهم الزمان وشرب ونمت خيوط العنكبوت رأسهم. أساتذة ودكاترة كان من المفترض أن ينهضوا بالعلم والدولة، ولكنهم تحولوا إلى آلة روتينية أو حتى آلة لتصدير أنواع جديدة من الروتين، مخ متحجر، ظلام فكري، أضف إليها رشة من العقد التي يوجهونها إلى الطلاب إما عن طريق الوظائف أو اﻷسئلة أو التصحيح أو العلامات.
أخبرني (واحتفظ بالإجابة لنفسك) وفكر بنفسك ياجامعي، هل تذكر أستاذ أو دكتور همه وهمه الوحيد هو العلم وكيفية تعليم الطلاب بشكل صحيح وعصري ومناسب؟ إذا وجدت هذا الشخص سيكون الشخص المناسب في المكان الغير مناسب إطلاقاً (مبارك لك هذا الأستاذ فهو عملة نادرة). إذن تحولت وظيفة الأستاذ الجامعي كغيرها من الوظائف يذهب في الصباح إلى عمله، يؤدي عمله (على أكمل وجه أو أنقص وجه) ليعود إلى المنزل تعباً ومهموماً من عمله، مثله مثل أغلب الوظائف في مجتمعنا.
أما عن الطالب الجامعي المسكين فتجد همه النجاح بالمادة بأي ثمن وغالباً سيبحث عن اﻷسئلة التي تكسبه العلامات وكل شيء غير العلامات إلى البالوعة، سينجح بنظر المجتمع ويتخرج ويضاف إلى حملة الشهادات الجامعية “بالجملة” أي المكدسين لدينا، لايعرف بالأصل لماذا دخل الجامعة، ولماذا دخل ذلك الفرع بالتحديد، غالباً لم يفكر والمجتمع تكفل بتوجيهه، سيبحث عن عمل ليفاجأ برحلة البحث عن عمل بأن الشركات لاتدفع مليماً لشهادتك، مايهمها هو عملك، أن تأخذهم من النقطة أ إلى النقطة ب، لايهمهم معدلك ولاشيء آخر سوى إنتاجيتك، لذلك تجد الشركات تكافأ العمال والموظفين حسب إنتاجيتهم، هنا عالم الأعمال والبيزنس لامكان لترهات الجامعة والعلامات.
وسيبقى السؤال دوماً لماذا؟ لماذا تعلمت، لماذا دخلت ذلك الفرع، لماذا أعمل في هذا العمل الذي لا أحبه؟ أسئلة كثيرة تنم عن فشل ذريع بالنظام التعليمي.
الوسوم: أفكار, تعليم, تعليم 2.0, مجتمع, نصائح
مدونة الويب 2.0 في 2011
السلام عليكم،
المتابعون للمدونة في العام السابق لاحظوا قلة في حجم التدوينات مقارنة بالأعوام السابقة، السبب الطبيعي لدى معظم الناس هو الانشغال، وهو كذلك، السبب الثاني كان تغير في الاستراتيجية التدوينية خصوصاً بعد انتقال المدونة إلى نطاقي الشخصي.
بشكل رئيسي ستكون المواضيع دورية نوعاً ما أي لايوجد انقطاعات كبيرة ولكن مركزة بشكل أكبر بهدف كتابة تدوينات مفيدة فائدة دائمة بدل التدوينات المهتمة مثلاً بخبر ما سرعان مايتلاشى ليظهر غيره، يخسر من يلاحق التقنية بشكل دائم بدون التركيز على الجوهر ﻷنها سريعة التقلب بشكل رهيب، ولايوجد تقنية أو جهاز من التسعينات أو حتى من خمس سنوات له نفس الهيمنة أو الشهرة الآن. الاستثناء الوحيد في علم الحاسب هي الخوارزميات والتي هي صلب علم الكمبيوتر وحجر زاوية في علوم كثيرة. الآن تركيزي أكبر على هذه الناحية بالإضافة إلى معالجة اللغة العربية النصية باستخدام الحاسب، أي أن تفهم الآلة ماتكتب إلى حد ما، أشهر مثال على تطبيقاتها محركات البحث، أنظمة اﻷرشفة، أنظمة قواعد البيانات، أنظمة التحليل وتلخيص المعلومات، والكثير الكثير مما لايتسع ذكره، هذا المجال بالذات تطبيقاته هائلة ﻷنه يمكنك من فهم معلومات البشرية طوال القرون الماضية والوقت الحالي، وإذا وصلت لهذه المرحلة فالنتائج ببساطة مذهلة.
أيضاً لا أنسى لغتي البرمجية المفضلة PHP وذراعي اليمين في مشاريعي الدروبال، ومعلومات ونصائح برمجية متنوعة. كل هذه المواضيع سيكون لها نصيب بإذن الله في التدوينات المقبلة، فإذا كنت من المهتمين بأحد هذه المجالات أنصحك بالاشتراك بال RSS أو النشرة البريدية.
الوسوم: php, أخبار المدونة, اللغة العربية, دروبال
صور مسربة من المشروع الجديد
صورة مسربة من مشروعي الجديد أثناء مراحل العمل بأوقات مختلفة:
المشروع سيكون تجربة جديدة في عالم القراءة والكتب العربية بشكل خاص، سيحبه كل قارىء ويعشقه كل مدمن قراءة
إنطلاقة البيتا قريباً بإذن الله.
الوسوم: عربي, كتب, مشاريع
دروبال 7
بعد ثلاث سنوات من العمل المتواصل على الإصدار الأفضل واﻷقوى من بين إصدارات دروبال، صدرت يوم الأربعاء 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:
أرجو لكم مشاهدة ممتعة وتجربة مفيدة وسلسة من هذا الإصدار الجديد وأن تكون هذه التدوينة قد فتحت شهيتكم لذلك.
الوسوم: Drupal, دروبال
متابعة لتوليفة تقانات الويب
السلام عليكم،
أستأذنت اﻷستاذ المخضرم كفاح عيسى بكتابة هذه المتابعة لمقالته أفضل توليفة لتقانات تطوير تطبيقات الويب لعام 2010، حيث رغبت بالتوسع في بعض الأمور التي ذكرت فيها وأيضاً التعليق على البعض الآخر.
بداية أوافق تماماً فكرة الابتعاد عن الجافا، بالأحرى الابتعاد عن كافة التعقيدات والاتجاه للأبسط. ميزة الجافا الرئيسية هي الشركات الكبيرة التي تدفع بعجلة تطويرها حالياً، في السابق كانت تمثل الثورة التقنية على السي، أما اليوم مع تخمة لغات البرمجة ووجود عشرات البدائل أصبح من الواجب إعادة الحسابات وتجريب بعض اللغات التي سطع نجمها، خبرتي البرمجية بدأت مع البيزك، الباسكال ثم السي والسي++ والديلفي، بعدها الجافا والبي إتش بي والبايثون. مع هذه المجموعة من اللغات خلصت إلى الآتي:
- لغة البيزك انتهت صلاحيتها بكل بساطة، تعلمتها في الثانوية وفقط.
- لغة الباسكال (بشكل خاص التيربو باسكال) لغة تعليمية رائعة لهذا الغرض، لايوجد فيها تعقيدات البرمجة الغرضية التوجه (الشيئية)، الديلفي هي امتداد للباسكال لدعم البرمجة الغرضية والواجهات الرسومية وكان من المؤلم مشاهدتها وهي تموت ببطىء (بالمناسبة موتها جاء نتيجة سلسلة أزمات مالية حلت بشركة بورلاند وليس بسبب عيب في اللغة)، من اﻹنصاف أن نذكر أن الجافا والسي شارب استمدت العديد من الأفكار منها. بصراحة لغة لايسعني الكلام عنها بأسطر يكفي أن مبتكر التيربو باسكال (أنديرز) وأحد رؤوساء شركة بورلاند التي كانت تقف وراء الديلفي وهو الآن (Lead Architect) للغة السي شارب في مايكروسوفت، المبرمج الآخر حائز على جائزة Turing Award وهي من أكبر الجوائز في عالم البرمجة والكمبيوتر.
- السي لغة رائعة، صعبة عند التعمق بها ولم أجد الفرصة ﻷتابع بها، السي++ تضيف طبقة لابأس بها من التعقيد، أيضاً لاننسى مشكلات مترجم اللغة، فهناك المترجم الخاص بمايكروسوفت ومترجم GCC والاختلافات بينهم لينتهي الأمر باقتراح معايير قياسية لها.
- الجافا لغة ذات إمكانيات ضخمة، أظن أنها ضخامتها وتعقيدها جعل من الصعب مقارنتها مع مرونة باقي اللغات، الشيء الرئيسي الذي يبقيها واقفة على قدميها هو الدعم الكبير لها من IBM وبعض الشركات الآخرى.
- البي إتش بي لغة هوجمت كثيراً ثم أثبتت للجميع أنها لاتقل أهمية عن باقي اللغات الشهيرة، ميزتها الرئيسية التي جعلتني أكمل بها معظم عملي اليومي هي مرونتها العجيبة وقواعدها السلسة البسيطة التي تبدو لمبرمج من لغة متقدمة آخرى على أنها بدائية وهزيلة ولكن بالعكس قوتها تنبع من بساطتها، بالطبع لها سيئاتها وأظن أكبرها دعمها المشتت للترميز العالمي الموحد UTF وأسماء التوابع فيها!! ولكن بالمقابل حسناتها تطغى بشكل كبير على سيئاتها.
- البايثون لغة مازالت صعبة الهضم علي حسب تعبير اﻷخ كفاح، لحد الآن لا أستسيغ فكرة المسافات بتحديد المجالات البرمجية! ربما سأمنحها فرصة ثانية في المستقبل القريب.
لايمكنني الحكم على روبي كوني استخدمتها ﻷسابيع معدودة فقط قبل التركيز بشكل كامل على البي إتش بي، لكنها لغة “شبابية”، حيث تجد معظم الأفكار الجديدة والغريبة تبرمج بها ربما لكونها حديثة وسلسة وتجتذب محبي الماك
أعود للبي إتش بي، فقد أخبرني الأخ خالد الشمعة بأنه هناك توجه كبير لتغيير التوجه القديم في النسخة الجديدة 6 والبدأ ربما بتوجهات جديدة، أيضاً لم أجد للنسخة 5.3 فائدة كبيرة من ناحية دعم البرمجية الغرضية حيث أني أصبحت من المعادين لاستخدامها في كل مكان وزمان وتابع مهما صغر أو كبر! البرمجة الغرضية تضيف طبقة تعقيد كبيرة، لاتستخدمها إلا لحالات خاصة جداً، هذا رأي شخصي نتيجة تجربة طويلة مع البرمجة الغرضية، أيضاً لينوس تورفلاد مبرمج نواة اللينوكس لديه نفس القناعة، على العكس منه يوجد تيار معارض، ويوجد تيار وسط. شخصياً أميل لعدم استخدام البرمجة الغرضية إلا في حالات الضرورة القصوى، أي أميل قليلاً إلى رأي لينوس.
في تتمة حديث الأخ كفاح عن إطار الويب الذي استخدمه، وددت فعلاً أن أجرب إطار الويب يي على الرغم من طرافة اسمه بالنطق خصوصاً باللهجة الشامية حيث يوجد نفس الكلمة بالعامية! وحدثني عنه كثيراً خلال لقاءنا بمسابقة يللا ستارت آب ويك إند. على الطرف الآخر حديثه عن الدروبال أثار مشاعري، نعم لدروبال بعض المساوىء ولكن نصها المصدري من أفضل وأرقى النصوص المصدرية التي قرأتها يوماً، وبالفعل أنصح من يريد أن يتقن لغة البي إتش بي أن يشاهد نصها المصدري، نظام hooks فيها مميز، سلاسة تطويعها لعمل أي شيء كبيرة ولكن تحتاج لبعض الصبر.
بالنسبة لتتمة حديثه عن قواعد البيانات، فأفضل تجربة ماريا فهي نتاج مبرمجي MySQL الأصليين وبالتأكيد لديهم خبرة لاتقدر بثمن. سبب آخر يدعوني لاستخدامها وهو دعم الدروبال 7 لها.
أما نظام التشغيل لدي فهو kubuntu، سهل بسيط ولطيف، لكن عندما تقع في مشكلة تحتاج ربما ليومين لإصلاحها ولكن عند إصلاحها لاتعود أبداً. الطريف في الأمر أن العكس يحدث في الويندوز، يبدأ معك بعد تثبيته بشكل لطيف ثم تتزايد الأخطاء تباعاً لتضطر بعد فترة أن تعيد تثبيته من جديد!
وبيئة التطوير لدي هي المحرر الافتراضي في كوبنتو kate وأحياناً vim، ربما سأجرب Emacs يوماً ما ولم أعد أكترث للمحررات البرمجية المتقدمة IDE مثل النت بينز والإيكلبس.
خلاصة حديثي هو أن توجهي الحالي نحو البساطة قدر المستطاع ﻷن التعقيد يبطيء العمل بدل أن يسرعه بسبب عشرات الميزات التي تحتاج لتفقدها والإضافات والبنى البرمجية المعقدة إلخ إلخ. أيضاً المبرمج لايجب أن يتقيد ببيئة ما أو لغة ما بل يجرب حتى يجد ضالته (ستشعر فوراً بهذا الشعور!).
شكراً كفاح على تحفيزك لي في مقالتك لكتابة هذه التدوينة!
الوسوم: برمجة, دروبال, نصائح













