إرشيف التصنيف: ‘برمجة’

وحدة Scrollable Content لدروبال

السبت, 26 ديسمبر, 2009

السلام عليكم،
مازالت الدروبال تحقق نجاحاً إثر نجاح، ومن أكبر أسرار نجاح هذا النظام هو المجتمع الكبير والمتعاون لدروبال. هذا المجتمع يغريك بالعمل والتعاون معهم، فوق هذا المجتمع الكبير جداً من الأعضاء (يقترب عدد أعضاء drupal.org من نصف مليون) يوجد طبقة إدارية متعاونة ومتابعة ﻷبعد الحدود، حيث تجدهم يومياً على تواصل ومعرفة دائمة بما يجري في مجتمع الدروبال وأظن أن هذا هو سبب نجاحها.
انتهيت منذ فترة قريبة من برمجة وحدة للدروبال سميتها Scrollable Content حيث تعمل هذه الوحدة على عرض المواضيع بطريقة جميلة (سلايدر slider) بالاعتماد على مكتبة jQuery Tools، بدون الكثير من التفاصيل إليكم صورة لتتضح الصورة :)

وأيضاً في موقع العرض: http://drupal.holooli.com

من أهم ميزات Scrollable Content:
1- السرعة في حركة التقليب (Sliding)
2- يمكنك استعمال دولاب الفأرة (scroll) لتحريك الصور (أي المقالات)
3- يمكنك تحديد نوع\أنواع محتوى و\أو تصنيف\تصنيفات لعرضها في قطعة (block) هذه الوحدة
4- يمكنك (ويفضل) استخدام وحدة ImageCache لعرض الصور بشكل أفضل.
5- يوجد حالياً نوعين للحركة أفقية وعمودية ويمكن تغييرهم وتكييفهم من خلال CSS كما تريد.

الوحدات في دروبال تخضع لمراقبة دقيقة قبل نشرها وبعد نشرها أيضاً، بعكس الووردبريس حيث تكون العملية آلية ولايمكنك التبليغ عن الأخطاء في نفس الموقع (بدأ ووردبريس الآن بإضافة قطعة صغيرة Compatibility في صفحة الإضافة للتبليغ عن الأخطاء).

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

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

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

دول العالم باللغة العربية

الأربعاء, 26 أغسطس, 2009

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

عالمنا

في هذه الدول لايوجد شيء اسمه إسرائيل بل يوجد فلسطين، أيضاً يوجد بعض الدول والتي لم أسمع بها في حياتي كلها لذلك لاتستغربوا من بعض الأسماء!

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

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

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

طريق البرمجة

الإثنين, 24 أغسطس, 2009


طريق

هذه التدوينة هي رد متأخر بعض الشيء على مقالة المبرمج الخبير عمر القعدان.
( اكمل قراءة التدوينة )

الكيك طلع من البيت!

السبت, 27 يونيو, 2009

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

Ubiquity سطر أوامر الفايرفوكس

الثلاثاء, 26 مايو, 2009

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

دورة حياة البرامج

الأحد, 17 مايو, 2009

السلام عليكم،
للبرامج كما للمخلوقات دورة حياة تمر فيها ومن قرأ كتب عن هندسة البرمجيات والتحليل يعرف هذا جيداً، في لمحة سريعة سنتعرف على دورة حياة البرنامج من ناحية الإصدارات التي كثيراً ما نسمع عنها (ألفا Alpha، بيتا Beta) وترقيم الإصدارات (1.1، 1.2.13) ولكن أغلبنا لا يعرف ماهيتها بالضبط، معلومات لابد أن يعرفها جميع العاملين في حقل البرمجة والبرامج.
( اكمل قراءة التدوينة )

الأجاكس في jQuery

الخميس, 14 مايو, 2009

السلام عليكم،
مثال بسيط موجود لدي أحببت أن أشارككم به وهو مثال لعملية جمع بسيطة باستخدام مكتبة jQuery وتقنية الأجاكس.
ملاحظة: يجب تشغيل الملفات داخل المخدم المحلي لأنها تحتوي على صفحات PHP أما الأجاكس لوحدها فلاتحتاج لأي سيرفر لأنها تعتمد على الجافاسكربت و XML.
صفحة (index.php)

<html>
<head>
	<script src="jquery.js"></script>

	<script language="javascript">
		$(function(){
			$("#add").click(function(){
				$.post("calc.php", { x: $("#x").val(), y: $("#y").val() },
				  function(data){
					$("#result").append("The result: " + data);
				  });
			});
		});
	</script>
</head>

<body>
	<form action="calc.php" method="post">
		<input type="text" id="x" name="x"><br/>
		<input type="text" id="y" name="y"><br/>
		<input type="submit" value="Normal Add"><br/>
		<input type="button" id="add" value="Ajax Add"><br/>
	</form>

	<div id="result"></div>
</body>
</html>

بالتأكيد ملف jQuery يجب أن يكون موجود في نفس مسار هذه الصفحة (هكذا حددناه في السطر الثالث)، بكل بساطة تقوم باستدعاء تابع post.$ الموجود في مكتبة jQuery والذي يقوم بتغليف تابع الأجاكس التلقيدي بحيث يريحك من الاستثناءات كمتصفح IE، ونقوم بتمرير ثلاثة وسائط للتابع هم مسار واسم الصفحة التي سيرسل لها البيانات وسيأخذ منها النتائج، الثاني هي مجموعة المتحولات والتي يجب أن تكون بنفس اسم المتحولات في الصفحة التي ستقوم بالحساب (calc.php)، أما الثالث فهو تابع يستقبل وسيط واحد هو النتيجة التي جاءتنا من تلك الصفحة حيث نقوم بطباعة هذه النتيجة داخل div المسماة result.

أما الصفحة التي تقوم بالحساب (calc.php):

<?php
	$x = $_POST['x'];
	$y = $_POST['y'];

	echo $x + $y;
?>

حمل ملف المثال:
Calc (401)

تنقيح الكود باستخدام PDT + Xdebug

الأحد, 3 مايو, 2009

السلام عليكم،
لعل تنقيح كود PHP من أهم الأمور التي تشغل مبرمجي هذه اللغة، فيضطر دائماً إلى استخدام تعليمات (echo, print_r, var_dump) لرؤية المتحولات وتغيراتهم. أما باستخدام منقح Xdebug فالحال يختلف كثيراً حيث يمكنك وضع نقاط التوقف (break points) ومشاهدة حالة المتحولات في هذه النقاط والمحتولات الموجودة أيضاً.
PHP PDT Xdebug
( اكمل قراءة التدوينة )

مقدمة في الاختبارات الآلية

الثلاثاء, 3 مارس, 2009

السلام عليكم،
تكلمنا سابقاً عن أهمية الاختبارات الآلية وفائدتها، واليوم سيكون درس سريع لكيفية استخدام مكتبة SimpleTest مع PHP.

simpletest-logo

سنقوم سوياً عبر عدة تدوينات لهذا الغرض (الاختبارات الآلية) بإنشاء مشروع صغير لإدارة شؤون شركة صغيرة والموظفين فيها.
( اكمل قراءة التدوينة )

نصائح php الجزء الثالث

الخميس, 5 فبراير, 2009

11- عند بناءك لموقع بدون استخدام إطار عمل فاستخدم على الأقل طبقة للتعامل مع قاعدة البيانات ومحرك للقوالب (مثل smarty).
12- استخدم أسماء معبرة للمتحولات والتوابع والأصناف.
13- اكتب التعليقات على النص المصدري باستمرار وخلال كتابة الكود لابعده، والأفضل أن تتقيد بمعايير كتابة التعليقات كي تيسر الأمر على المطورين من بعدك وأيضاً لتستطيع إنشاء دليل المستخدم بشكل آلي من هذه التعليقات.
14- لا تستمع للناس الذين يقولون بحذف الأقواس للعبارات الشرطية والحلقات ذات السطر الواحد، ابقي نصك المصدري متجانس وذو مظهر واحد ومعياري،

// not so good
if ($budget > 100)
  getTax($budget);
// good
if ($budget > 100) {
  getTax($budget);
}

15- استخدم دائماً طرقاً واضحة ومنطقية في تطبيقك، لا تستخدم اختصارات ورموز غريبة أو تستدعي توابع بشكل غير منطقي.
16- إذا أردت طباعة وسوم HTML أو توابع جافاسكربت فلا تفعل ذلك بال echo بل:

<?php if ($loggedin) { ?>
  <div class="message">Welcome!</div>
<?php } ?>