الجمعة، 31 أغسطس 2012

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

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

تحتوي لغة GO على المؤشرات مشابه لغة C , و لكن قام المطورون بمنع العمليات الحسابية على مواقع الذاكرة ,  و لمن ليس لديه فكرة فسوف تتوضح لديك الفكرة عندما تتنفذ المثالين التالين :

package main

import "fmt"

func main() {

    i := 5

    fmt.Println("i is: ", i)

    fmt.Println("address of i is: ", &i)

}

في هذا السطر أستخدمنا الحرف  & لطباعة عنوان المتغير في الذاكرة :

fmt.Println("address of i is: ", &i)

كمبرمج يجب أن تعلم بأن لك متغير في برنامج عنوان في الذاكرة يتم حفظ فيه القيم , و بالنسبة للمبرمجين فالذاكرة من الموارد المهمة جداّ و يجب المحافظة لذا قم المطورون بأستخدام المؤشرات, حيث أنه برمجياً من الأوفر نسخ عنوان الذاكرة الدال على البيانات بدل نسخ البيانات كلما تم التعامل معها في برنامجك , و هذا مثال بسيط على أستخدامها :

الحصول على جميع المواقع على السيرفر

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

للحصول على جميع المواقع الموجودة على السيرفر , تستطيع أستخدام موقع bing  و ذلك بأستخدام عنوان الأي بي , الذي تستطيع الحصول عليه بواسطة الأمر ping في موجه الأوامر في نظامك :
ping example.com


ثم في موقع البحث bing أكتب الكلمة :ip متبوعة بعنوان الأي بي للحصول على قائمة المواقع العاملة على نفس رقم الأي بي .

ip:127.0.0.1

الخميس، 30 أغسطس 2012

ubuntu 12: تشغيل أفلام DVD المشفرة

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

لتشغيل أفلام DVD الأصلية المحمية بنظام تشفير في نظام لينكس ubuntu قم بأستخدام موجة الأوامر لتثبيت المكتبة  libdvdread4 :
sudo apt-get install libdvdread4

sudo /usr/share/doc/libdvdread4/install-css.sh

بعد أنتهاء التثبيت تستطيع أستخدام برنامج المشغل vlc  مباشرة بدون الحاجة لأي أعدادات أخرى .

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

BASH Script: قراءة كلمات السر من المستخدم

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

قد يحتاج المبرمج للحصول على بيانات من المستخدم من دون عرضها على الشاشة مثل كلمات السر و لذا تستطيع أستخدام الأمر read كالتالي :
#!/bin/bash

echo "Enter the password:"

read -s password

echo "Password:"$password

فقط قم بأضافة المعامل s- بعد الأمر read ليتم أخفاء القيم عن الشاشة .

BASH SCRIPT: البحث و الأستبدال في النصوص

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

يحتوي سكربيت الباش على العديد من الخصائص لتعامل مع النصوص و منها البحث و الأستبدال بواسطة هذه الصيغة :
${Text/old/new}

و هذا السكريبت مثال عملي على  أستخدام هذه الصيغة :

#!/bin/bash

text="Hello,World"

old="World"

new="UAE"

echo "old text:" $text

newtext=${text/$old/$new}

echo "new text:" $newtext


هنالك ملاحظة عند أستخدام هذه الصيغة , تلاحظ اننا لم نستخدم $ قبل المتغير text حيث أن كتابة المتغير بهذه الصورة $text سيؤدي لخطأ عند التنفيذ .

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