Follow me on Twitter
‏إظهار الرسائل ذات التسميات برمجة. إظهار كافة الرسائل
‏إظهار الرسائل ذات التسميات برمجة. إظهار كافة الرسائل

الأحد، 20 يناير 2019

سلسلة Core Python Series - سلسلة فيديوهات شرح بايثون


السلام عليكم
لم أتوقف عند نظام لينكس للتغنى بفلسفته وبقوته ولكنى أكملت طريقى إلى أن أصبحت مبرمج بايثون للويب وأندرويد وسطح المكتب ..
لذابدأت فى عمل سلسلة فيديوهات عن بايثون سميتها Python Core Series أتكلم فيها عن modules والدوال المهمة فى Python Standard Library والتى قد تجد بعض مبرمجى بايثون لم يعرف أنها موجودة built-in بلغة python.

فيديو المقدمة : أول فيديو لسلسلة Core Python Series : الهدف من السلسلة - بايثون 2 أم 3 #1


فيديو رقم 2 : الدوال Methods المشتركة بين List & Tuple فى Python - #2 سلسلة Core Python Series


فيديو  رقم 3 :  الدوال الى تتميز بها List فى بايثون Python - سلسلة Core Python Series #3




الثلاثاء، 25 أبريل 2017

5 دروس تعلمتها عند تطويرى أول تطبيق ويب [مترجم]

لقد قمت ببناء تطبيق ويب كجزء من مشروع تخرجى من الجامعة. وبدلا من تطويرى لتطبيق ويب بغرض إنهاء مشروعى، أخترت أن أطوّر تطبيقا يمكنه حل مشكلة واقعية. فاخترت أن أنشئ Cyber Manager وهو عبارة عن نظام إدارة لـمقهى انترنت cyber cafe أونلاين لـadministrators الخاصين بـ cyber cafe ، والذى تم حميله قرابة 3000 تحميل منذ رفعى إياه على SourceForge.net عام 2011.

فى هذه المقال سألقى نظرة على 5 دروس تعلّمتهم أثناء تلك الفترة والتى قد تساعدك أثناء وبعد تطوير تطبيق الويب الخاص بك.

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

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

الدرس الثالث : الأخذ بالاعتبار تطوير حلول باستخدام أدوات مفتوحة المصدر
عندما قررت ما الذى سأقوم بإنشائه، أحتجت أن أركز عن كيف أطور المشروع. كانت لغة البرمجة ASP.NET المشهوة خيارا بين طلاب الجامعة مثلما كانت جافا. كل خيار كله مميزات وعيوب. قررت أن أطور مشروعى باستخدام لغة PHP و Apache و MySQL. فلغة PHP لغة مشهورة، قابلة للتطور Scalable ،مفتوحة المصدر. لقد أخترت PHP لأنها سهلة وآمنة وتقدم دعم مجتمعى كبير للمطور. باستخدام تلك الأدوات أعطتنى الخبرة فى التعامل مع مجتمعاتها مفتوحة المصدر.

الدرس الرابع: التوجيه/الإرشاد Mentorship أهم من Technology Stack .
حينما تبدأ بالعمل فى مشروع تطبيق الويب الخاص بك، ضع فى أولوياتك إيجاد موجّه/مرشد mentor فعال فضلا عن التركيز على تكنولوجيا فعالة. إن التكنولوجيا شىء سوف يتعامل فقط مع المشروع، فى حين أن  الموجّه/المرشد mentor هو شخص سوف سيتعامل معك-سيساعدك لبناء تطبيق أفضل بينما يساعدك أيضا فى التحسن كمطوّر Developer وكمحترف. على الرغم من تقديم الجامعات للتوجيه من خلالها، لكن على الطلاب البحث عن مصادر خارجية لإيجاد موجّه/مرشد شخصى يساعدهم على اكتساب مهارات التخصص المطلوبة. لقد كنت محظوظا كون صديقى هو الموجّه Mentor لمشروع عامى الأخير. لقد كان مبرمج PHP ذا خبرة تحوّل إلى رائد أعمال entrepreneur ، ليطلق مشروع Startup تقنى صغير مؤخرا يقدم خدمات Web Development حول المدينة. جلست معه وعمل معه على مدى جدوى مشروعى، وقدّم لى النصيحة التى أضافت القيمة لمشروعى. فى بعض الأوقات كان يشرف على تقدّمى ويستخدم تطبيقى ويختبره فى حالات ير متوقعة وذلك ساعدنى فى تحديد الأخطاء bugs ومشاكل الأداء. هذا ساعدنى كثيرا فى تحسين تطبيقى وجعله قابل للتطور Scalable.


الدرس الخامس : أوجد مستخدمين حقيقين للاختبار، واستخدام التطبيق فى العالم الحقيقى
ليس هناك تطبيق تام حتى يتم اختباره ويستخدم من قبل المستخدمين المستهدفين. إذا أردت أن يكون مشروعك ذا جدوى feasible ،وذا اعتمادية reliable وقابل للاستخدام usable ، يجب أن تحصل على مستخدمين مستدفين لاختباره وتقديم تقييم feedback للمشروع. اختبار العالم الحقيقى والتقييم هو أمر بالغ الأهمية لتحسين جودة تطبيقك وأساسى لتطوير المشروع والمنتج الذى يريده المستخدم النهائى ليستمتع باستخدامه.

----------------
المصدر

الأربعاء، 29 مارس 2017

لماذا لغة بايثون أفضل للمبتدئين فى البرمجة

فيديو أتحدث فيه عن لغة python ولماذا هى أفضل لغة للمبتدئين فى البرمجة.

يمكنكم عمل Subscribe للقناة لمتابعة الفيديوهات الجديدة.


الثلاثاء، 29 يوليو 2014

لغة البرمجة بايثون python فى تطبيقات الويب

أكمل كلامى عن لغة البرمجة بايثون .. بايثون من اللغات التى يمك أن يطلق عليها بالعامية "ليها فى كل خرابة عفريت" ..

تستطيع أن تستخم بايثون فى بناء مواقع ويب قوية عن طريق Frameworks كتيرة منها Django و Pyramid و Flask (تعرف على الباقى عن طريق ويكيبديا ) ولكن أشهرها هو Django أو جانجو بالعربى.

Django عبارة عن إطار ويب مفتوح المصدر ومكتوب بالبايثون، ويعتبر من أقوى أطر الويب للغة بايثون .. تم تنفيذ مواقع عديدة بواسطته يمكنك تصفحها عن ذلك الموقع ( ستجد بعض المواقع تقدم الشفرة المصدرية الخاصة بها )
https://www.djangosites.org

يمكن أن تبدأ الآن فى تعلّم Django من خلال وثائق الموقع الرسمى (النسخة 1.6 هى النسخة الرسمية حاليا ، والنسخة 1.7 لسه بيتا )
https://docs.djangoproject.com/en/1.6/

موقع كتاب THe Django Book

http://www.djangobook.com

ودروس أخرى من موقع Tutsplus
http://code.tutsplus.com/categories/django http://code.tutsplus.com/articles/diving-into-django--net-2969

صفحة Django resources
  ttps://code.djangoproject.com/wiki/DjangoResources

وأكيد الانترنت عبارة عن مصدر مفتوح لك يمكنك البحث فيه كما تشاء .. استخدمه فى البحث عن مشكلتك وزيادة معلومتك..

يمكن معرفة أيضا Frameworks أخرى للبايثون وذلك من خلال صفحة الويكيبديا ..
  http://en.wikipedia.org/wiki/Python_%28programming_language%29#Use

‫#‏اتعلم‬ ‫#‏بايثون‬ ‪#‎Python‬ ‪#‎Django‬

الأحد، 17 يونيو 2012

سكربت بايثون: عمل backup للمجلدات الرئيسية باللينكس


سكربت بلغة بايثون _لنظام اللينكس_ يستخدم لعمل backup للمجلدات والملفات الموجودة داخل مسارات home الهامة (
'Downloads', 'Music', 'Documents', 'Pictures', 'Videos') .
المكان الافتراضى لنسخ ملفاتك /media/DATA/Backup ،قم بتغيير DATA إلى اسم partition الخاص بك الذى تريد انشاء backup به.

لست أعتمد فى السكربت على أوامر من سطر الأوامر لينكس بل أعتمد على الدوال الموجودة فى Modules بايثون مثل os ، shutile .

رخصة السكربت GPL


الأحد، 27 مايو 2012

كيف تغيير خط موقعك - لمحات من CSS3 -


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

يتم ذلك كالآتى :

@font-face {
font-family: Font-name;
src: url('/directory/font-file.ttf');
}


السطر الثانى يقوم بتحديد مسار الخط على السيرفر -الخادم- فيستدعى الخط من الخادم وليس من نظام التشغيل
أما السطر الأول فمع font-family تحدد اسم الخط _أى اسم أريد أن أسمّى به الخط _ والذى يمكنك استدعاءه بعد ذلك كالتالى

#content{
font-family: Font-name;
}

الآن استمتع بأن تختار خط موقعك بحرية ^_^


الخميس، 24 مايو 2012

حمل كود موقع Events باطار ويب CodeIgniter من برمجتى


هذا هو الكود المصدرى Source Code لمشروع برمجى مبدئى لموقع خاص بمعرفة أحدث المؤتمرات Events قمت ببرمجته أثناء تعلّمى لاطار الويب CodeIgniter السنة الماضية.

ساعدنى تعلّم ذلك الاطار فى ترسيخ مبادئ عدة مثل أهمية الطبقات Classes ،والدوال
Functions ،و MVC Design pattern

يوجد ملف sql وذلك لبناء قاعدة البيانات الخاصة بالموقع ،والكود المصدرى للموقع تحت رخصة GPL .

ستجد بعض الأكواد ليست احترافية ويمكن برمجتها بأسهل من ذلك ، أو أسلوب يوفّر كثيرا مثل
تكرار كتابة css فى كل ملف عرض ،والأفضل عمل ملف واحد css واستدعاء الملف فى صفحات العرض بدلا من تكرار كتابة css فى كل ملف عرض.


الجمعة، 2 مارس 2012

سكربت php : توليد captcha بسيطة

السلام عليكم

هذا سكربت php قمت بكتابته منذ فترة لـتوليد captcha بسيط ..أرجو أن تستفيدوا منه.

فى البداية قمت بانشاء ملف سمّيته captcha.php ،هذا الملف سيقوم بتوليد captcha ،ثم كتبت به الآتى:
$image = imagecreatetruecolor(70, 35);
$background_color = imagecolorallocate($image, 88, 158, 239);
$text_color = imagecolorallocate($image, 255, 255, 255);


imagecreatetruecolor(70, 35) // سيقوم بانشاء صورة بأبعاد عرض 70 بيكسل ،وطول 35 بيكسل

imagecolorallocate($image, $red, $green, $blue)
دالة تقوم بتعيين الألوان التى ستسخدم فى الخلفية وخط الكتابة حيث image$ هى متغير الصورة ،أما اللون فيتم تحديده عن طريق النوع RGB حيث R : أحمر،و G : أخضر ، و B : أزرق ،وقيمة كل منهم تكون بين 0 و 255 . يمكنك اختيار لونك المفضل أو توليد اللون عشوائيا.

إذا أردت أن تظهر خطوط عشوائية فى خلفية الصورة ،يمكنك كتابة الكود الآتى:
$line_color = imagecolorallocate($image,233,239,239); // لتوليد لون للخطوط
imageline($image,0,0,35,25, $line_color);
imageline($image,12,29,70,5, $line_color);


imageline($image, $x1, $y1, $x2, $y2, $color) // تلك الدالة تمثل خط واحد
حيث x1 $ و y1 $ هى الاحداثى y , x لبداية الخط ، وx2 $ و y2 $ هى الاحداثى y , x لنهاية الخط.

الآن نقوم بتلوين الخلفية باللون الذين قمنا بتعيينه سابقا للخلفية ،وذلك بالسطر الآتى :
imagefill($image, 5, 6, $background_color);

إن أردت كتابة كلمة ثابتة فى captcha لكى تظهر كل مرة فيمكنك كتابة الكود الآتى:
$string = 'asdfbhy';
imagestring($image, 5, 10, 10, $string, $text_color);


imagestring($image, $font, $x, $y, $string, $color) // وهذه دالة تعيين لون وخط ومكان الكلمة
حيث x$ هى احداثى x من النقطة العلوية فى اليسار ، و y$ هى احداثى y من النقطة العلوية فى اليسار

أما إذا أردت أن تولّد كلمة عشوائية كل مرة ،فيمكنك استخدام الكود الآتى ،حيث كتبته لتوليد مجموعة من الحروف والأرقام مجموعها 6 دون ترتيب.
$string = '';
for ($i=1; $i<=6; $i++){
$array = array(chr(rand(48, 57)),chr(rand(97, 122)));
$string .= $array[rand(0,1)];
}
imagestring($image, 5, 10, 10, $string, $text_color);

rand($min, $max ) // تقوم بتوليد رقم عشوائى بين القيمتين الصغرى والكبرى
دالة chr() تقوم بإعادة الحرف المقابل للرقم الموجود بداخل الأقواس من جدول ASCI

هناك أنواع كثيرة لتوليد صورة captcha منها png و jpg ،ولكننا سنستخدم png :
header("Content-Type: image/png");
imagepng($image);

ثم نقوم بازالتها بعد توليدها وتصديرها :
imagedestroy($image);

فى النهاية، نقوم بأخذ حروف captcha عن طريق session ،ونقارنها بما أدخله المستخدم.

عذرا للاطالة ،وأرجو أن أكون قد أفدتكم :)

الجمعة، 13 مايو 2011

Bluefish ..محرر نصوص ويب لـ html/css


السلام عليكم

لكل مصممى الويب الذين يستخدمون لغة html و css أرشح لكم محرر الويب Bluefish الرائع ،وهو محرر مفتوح المصدر open source.

Bluefish يمتاز بميزات عديدة منها بساطة الواجهة وقوتها ،كما يوجد به عدة أدوات لبناء css يمكنك الاستفادة منعا

البرنامج متوفر للعدد من الأنظمة : لينكس linux ،ماك ،ويندوز ،سولاريس
لمستخدمى نظام linux يمكنهم تحميل البرنامج من مستودعات التوزيعات ،أو موقع البرنامج


الأربعاء، 30 مارس 2011

برنامج NetBeans للغة البايثون

السلام عليكم ورحمة الله وبركاته

كل منا يعرف NetBeans الشهير فى عالم البرمجة.

وللتذكير فقط :
NetBeans هو بيئة تطوير متكاملة متاحة‫ لأنظمة لينكس ،ويندوز ،ماك ،وسولاريس.‬
مشروع NetBeans يتكون من بيئة تطوير متكاملة مفتوحة المصدر ومنصة للتطبيقات التي تمكن المطورين لإنشاء تطبيقاتهم لشبكة الإنترنت ، والمكتبية ، وأجهزة المحمول باستخدام منصة جافا وكذلكJavaFX, PHP, JavaScript and Ajax, Ruby and Ruby on Rails, C/C++ and Groovy and Grails.

يمكنكم الحصول على البرنامج من غالبية مستودعات توزيعات اللينكس linux ،أو قم بتنزيل الاصدار الخاص باللغة التى تريدها من الرابط

الكثير منا يعرف ما سبق أما الجديد على مسامعنا وجود NetBeans للغة البايثون "Python" الرائعة ،وهو مشروع نتج من جهود مجتمع NetBeans

الصفحة الرئيسية لـ NetBeans for Python ستجد بها روابط لكيفية التعامل مع البرنامج مع بعض الدروس التعليمية الخفيفة.

يمكنكم الحصول على NetBeans الخاص بلغة البايثون من خلال ذلك الرابط والذى يحوى الاصدار 6.5

ملحوظة: حاولت البحث عن روابط لاصدارات أحدث على موقع NetBeans مثل 6.7 ولكن فشلت فى العثور عليها ،ولست أعلم هل هناك ما هو أحدث منها.

تحديث: رابط تحميل NetBeans for Python 6.7


الاثنين، 1 نوفمبر 2010

تعليم لغة الجافا من المؤسسة العامة

السلام عليكم ورحمة الله وبركاته

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

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

لتحميل الأجزاء الثلاثة
تعليم لغة الجافا

مقدمة عن لغات البرمجة وخرائط التدفق والخوارزميات

السلام عليكم ورحمة الله وبركاته

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

بين أيديكم ملفا يحتوى على مقدمة جميلة ومبسطة عن البرمجة فيشمل:
*شرح مبسط لأنواع لغات البرمجة للحاسب الآلى.
*ما هى الخوارزميات Algorithms ؟
*ما هى خرائط التدفق ،أهميتها،الأنواع الرئيسية منها ؟
*شرح عن تحليل المشكلة وتخطيط الحل لهذه المشكلة باستخدام خرائط التدفق والخوارزميات.

الملف هو عبارة عن مادة تعليمية من المؤسسة العامة للتدريب التقنى والمهنى بالسعودية
وماذكرته لكم هو الفصل الأول والثانى منها أما الباقى فجزء من شرح لغة الجافا

لتحميل الملف من هنا أو هنا


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

الجمعة، 29 أكتوبر 2010

الرخص البرمجية EULA, GPL, CDDL, BSD

السلام عليكم ورحمة الله وبركاته

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

الرخص هى:
1- Eula وهى اختصار End User License Agreement ومن أشهر البرمجيات التى لها هذه الرخصة : ويندوز ،ومايكروسوفت أوفيس
2- GPL وهى اختصار General Puplic License ومن أشهر برمجياتها معظم توزيعات لينكس وكثير من البرمجيات التى تعمل على أنظمة اللينكس وبرمجيات متعددة المنصات كـ Pidgin و Blender وغيرها

الأربعاء، 27 أكتوبر 2010

كتاب لغة C الشامل

السلام عليكم ورحمة الله وبركاته

لكل محبى تعلم لغة السى ،إليكم كتاب "لغة C الشامل"
أول كتاب عربي مجاني يتحدث عن البرمجة على لغة C
الكتاب للأخ الكريم / خليل أونيس

الكتاب رائع وجميل ،وقد استفدت منه شخصيا فى دراستى خاصة فى باب المؤشرات (Pointers)