السبت، 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{}

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

    لأي شخص يريد يتوظف في الفيسبوك

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

    أذا تحب التحدي و تتقن أي من لغات البرمجة التالية (C, C++, Java, Python, Perl, Ruby, C#, PHP ) فعندك فرصة للحصول على وظفية في موقع الفيسبوك .

    كل ما تحتاجه هو حل مجموعة من الألغاز البرمجية في وقت محدد ليتم الأتصال بك و تحديد موعد المقابلة الشخصية , طبعا الألغاز تحتاج تفكير إبداعي , مب للجماعة اللي يلجؤون للمنتديات لحل الواجبات ;-)   .

    لكي تبدأ التحدي أدخل على هذا الرابط  , و سجل الدخول بأستخدام حسابك في الفيسبوك .

    * ملاحظة : يبدأ العداد الخاص بحل الألغاز مع تسجيلك بواسطة حسابك .

    تصفح موقع wiki بدون أتصال بالأنترنت

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

    قام موقع wiki الشهير بأنشاء برنامج kiwix الذي يمكن المستخدمين من قراءة محتوى الموسوعة بدون أتصال بالأنترنت بعد تنزيله من موقع البرنامج السابق .


    لتنزيل البرنامج قم بزيارة الموقع الرسمي للبرنامج ( kiwix ) , و أختر أصدارة البرنامج الخاصة بنظام تشغيلك , ثم نزل نسخة الموسوعة باللغة التي تريدها .

    الاثنين، 30 أبريل 2012

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

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

    في هذا الدرس " أن شاء الله " سوف تتعلم أستخدام جملة القرار switch بالأمثلة , تستخدم جملة switch في تحديد الأوامر المراد تنفيذها في عدة حالات أو مقارنات لقيمة متغير أو نتائج دالة , و سأستخدم في المثال هذا النص البرمجي من موقع go tour :

    package main

    import (

        "fmt"

        "runtime"
    )

    func main() {

        fmt.Print("Go runs on ")

        switch os := runtime.GOOS; os {

        case "darwin":

            fmt.Println("OS X.")

        case "linux":

            fmt.Println("Linux.")

        default:

            // freebsd, openbsd,

            // plan9, windows...

            fmt.Printf("%s.", os)

        }

    }