الأربعاء، 22 أغسطس 2012

BASH SCRIPT: تنفيذ حلقة تكرارية في الخلفية

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

تستطيع تنفيذ حلقة تكرارية في الباش سكريبت في الخلفية , بدل من الأنتظار لمتابعة التنفيذ , و ذلك كهذا المثال :
#!/bin/bash

for i in {1..10}
do
echo -n $i
done&

for i in a b c d f
do
echo -n $i
done

echo


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

for i in {1..10}
do
echo -n $i
done&

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

BASH SCRIPT:طباعة الوقت الذي أستغرقه تنفيذ السكريبت

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

يتوافر في سكريبت الباش المتغير الخاص SECONDS الذي يمكننا من معرفة عدد الثواني منذ بدأ التنفيذ إلى حين أستدعاء المتغير و يمكن أستخدامه عن نهاية السكريبت لأعطاءنا الوقت الكلي بالثواني لتنفيذ السكريبت كما في مثالنا التالي :
#!/bin/bash

sleep 10

echo "Total time taken by this script:"$SECONDS

السبت، 28 يوليو 2012

تثبيت مكتبة opencv في البايثون


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

تشتهر مكتبة opencv البرمجية بأستخدمها في التعرف على الأنماط و الأشكال في الصور و الفيديو , و ما يميز هذه المكتبة كونها تدعم منصات متعددة ( ويندوز , ماكنتوش , لينكس ) و يمكن أستخدمها في لغة C و C++ و البايثون .
و في هذه السلسة سوف أستخدم واجهة opencv الخاصة باللغة البايثون لسهولة هذه اللغة بالنسبة للمبرمجين الهواة و سرعة كتابة البرامج باللغة البايثون .


التثبيت :

* أن مكتبة opencv تدعم الأصدارتين 2.7 و 2.6 , وإلى الأن لا يوجد دعم رسمي للأصدارة 3.0 .
  • لينكس :

    بالنسبة لمستخدمي نظام لينكس نسخة ubuntu كما ما تحتاجه هو تنفيذ هذا الأمر في موجه الأوامر :
sudo apt-get install python-opencv

السبت، 14 يوليو 2012

التحديث الأخير من شركة Symantec يعطب ويندوز

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


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

الحل :

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

أما الحل الذي أنصح به فأترك نظام الويندوز و أنتقل لنظام لينكس :-) .

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

مكتبة turtle البرمجية في لغة البايثون

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

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


  • البرنامج الأول :

import turtle # أستيراد المكتبة البرمجية

wn = turtle.Screen() # أنشاء كائن خاص بالمكتبة 

alex = turtle.Turtle() # أنشاء كائن "turtle"  


alex.forward(50) # تحريك السلحفاة للأمام مسافة 50

alex.left(90) # لكي تستدير السلحفاة بأتجاه اليسار مقدار 90 درجة

alex.forward(30) # لكي تتحرك السلحفاة بأتجاه الأمام مسافة 30 



wn.mainloop(# أنتظر المستخدم لكي ينهي النافذة الخاصة بالبرنامج


الثلاثاء، 29 مايو 2012

تغير رسالة الترحيب في موجه الأوامر ( لينكس)

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

عند الأتصال بسيرفر لينكس بأستخدام برتوكول SSH يتم عرض رسالة ترحيب و لتغير هذه الرسالة يمكنك أستخدام  ملف /etc/motd و ذلك بتعديل محتوياته بواسطة أي محرر نصوص كما في هذا المثال :

sudo editor /etc/motd

فقط قم بكتابة الرسالة التي تريد طباعتها عن الأتصال , و أحفظ الملف .

السبت، 26 مايو 2012

موقع Crunchroll لأحدث الأنمي و الدراما اليابانية

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

لمدمني الأنمي و الدراما اليابانية " و أنا منهم :-) " , أقدم لكم موقع Crunchroll الذي يحتوي على مجموعة كبيرة من المسلسلات و الدراما اليابانية الشهيرة مثل نارتو .

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

و أهم ما في الموضوع أن الأنمي لن يتم حذفه بسبب حقوق النشر , لأن هذا الموقع قانوني 100% .

الجمعة، 25 مايو 2012

تحويل صفحة الأنترنت لملف pdf في متصفح قوقل كروم


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

يحتوي متصفح قوقل كروم على خاصية رائعة لحفظ صفحات الأنترنت بصيغة pdf مما يسهل حفظ المقالات بطريقة أفضل من الطريق التقليدية بحفظ الصفحة بصيغة HTML .

و لحفظ أي صفحة في متصفح قوقل كروم أتبع هذه الخطوات :

  • قم بضغط الزرين (CTRL+P) في المتصفح و ذلك بعد تحميل الصفحة , أو أستخدام القائمة الرئيسية و أختر الأمر (Print) :
 
  • ستظهر لك صفحة مشابه لهذه , قم بتغير الوجهه "Destination" إلى "Print to PDF" :
 
 
  • أضغط على زر الطباعة "Print" لكي يظهر لك زر الحفظ ,  قم بتسمية الملف وحفظه :

الثلاثاء، 15 مايو 2012

تحدي لمبرمجي البايثون

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

من فترة قريبة أكتشفت موقع (http://www.pythonchallenge.com) القائم على فكرة تقديم تحديات لمبرمجي البايثون لأستخدام ما تعلموه لحل الألغاز .


أنا من تجربتي  أقدر أقول أن الموقع أكثر من رائع و الألغاز تثبت معلوماتك عن لغة البايثون و تخليك تبحث عن طرق و معلومات تهملها عند تعلم اللغة .


ملاحظة : الألغاز تعطيك عناوين صفحة اللغز التالي .

تعلم لغة البرمجة Go بالعربي ( الدرس الثامن )

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

في هذا الدرس سوف نتعرف على المصفوفات و الشرائح (slices) و هو نوع من البيانات أكثر مرونة من المصفوفات و أخيرا الخرائط (map) و هي بديلة للهاش (Hash) و المعاجم (Dictionary) .

1. المصفوفات ( Arrays ) :
    المصفوفات هي عبارة عن مجموعة من المتغيرات المتشابه في النوع و المتجاورة في المواقع في الذاكرة , و يتعدد أستخدمها في البرمجة مثل التصنيف ( Sorting ) و السلاسل النصية ( Strings) .
    •  التصريح عن مصفوفة :
    لتصريح عن مصفوفة جديدة في لغة Go يوجد أكثر من طريقة , و هذا مثال على الطرق المستخدمة :

    var list [4]int

    list1 := [4]int{ 12, 43 ,35 ,2}


    في السطر الأول قمنا بالتصريح عن المصفوفة بأسم "list" بأستخدام var ثم أنهينا التصريح بحجم المصفوفة متبوعا بنوع المصفوفة [4] بعد ذلك النوع int .

    أما في السطر الثاني فأستخدمنا الطريقة المختصرة بأستخدام " =: " ثم بعد ذلك حجم المصفوفة ونوعها , الفرق في هذا التصريح بأنه من اللازم تحديد عناصر المصفوفة :


    list1 := [4]int{ 12, 43 ,35 ,2}

    في حالة عدم رغبتك في التصريح عن المصفوفة بهذه الطريقة بدون تحديد القيم يجب كتابة التصريح بهذه الطريقة


    list1 := [4]int{}