نشر مشروع جانغو على منصة PythonAnywhere

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

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

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

ثلاثة اماكن ستكون مهمة بالنسبة إليك : جهاز الكمبيوتر الخاص بك الذي سيكون مكان للتطوير والتجريب وعندما تكون مسرورا بالتغييرات ستحمل نسخة من البرنامج إلى  GitHub وسيكون موقعك على PythonAnywhere وستقوم بتحديثه من خلال موقع GitHub. أكمل القراءة →

أرجوا أن تقوم بدعمنا عبر نشرك والاعجاب بالموقع

كيفية إستعمال مكتبة PILLOW

تعتبر مكتبة PIL  مكتبة للتعامل والتلاعب ومعالجة الصور بطريقة جد سهلة وممتعة كماأنها تدعم الكثير من صيغ الصور المختلفة ومشكلة هذه المكتبة أنها لم تشهد أي تطوير منذ سنة 2009 لذلك يقترح الموقع الرسمي لهذه المكتبة باستعمال مكتبة PILLOW وهي المكتبة التي سنقوم يشرحها في هذه التدوينة.ماهي مكتبة PILLOW :
هي مكتبة مطورة من مكتبة PIL والتي قام بتطويرها مجموعة من المتطوعين وهي ترتكز على كود مكتبة PIL ولكنها نسخة حديثة ومطورة وأفضل منها وقد تم إضافة مميزات أخرى بالاضافة الى دعم من الصيغ الجديدة للصور ولكل من سبق له وأن تعامل مع المكتبة السابقة لن يجد أي غختلاف في طريقة عمل هذه المكتبة . أكمل القراءة →
أرجوا أن تقوم بدعمنا عبر نشرك والاعجاب بالموقع

كيفية تثبيت واستعمال pip في بايثون

pip عبارة عن نظام إدارة الحزم يستخدم لتثبيت و إدارة حزم البرمجيات والتي تجدها في موقع Python Package Index
pip تعمل على كل من نسخ بايثون التالية :2.6, 2.7, 3.2, 3.3, 3.4
وكما تعمل أيضا على كل أنظمة التشغيل من لينكس ويندوز و ماك.
الميزة الأساسية ل Pip هي سهولة استعمالها من خلال سطر الأوامر وهو ما يجعل تثبيت حزم برامج بايثون سهل وبسطر واحد فقط.
إن أبسط طريقة لتثبيت أي حزمة هي تحميل شفرة المصدر بعد ذلك تقوم بتثبيت تلك الحزمة مثلها مثل أي برنامج ما أي أننا لسنا بحاجة إلى أدوات لعمل ذلك، ولكن هذه الطريقة كانت تترك بعض المشاكل نذكر بعض منها:
أكمل القراءة →
أرجوا أن تقوم بدعمنا عبر نشرك والاعجاب بالموقع

دالة randrange

الأرقام العشوائية تستخدم بشكل كبير في علوم الحاسوب خاصة في البرامج التي تنطوي على الألعاب والمحاكاة.


دالة randrange

افتراضيا بايثون لا يعرف كيف يقوم بتقديم أرقام عشوائية ومن الضروري أن يقوم بايثون بجلب مكتبة أكواد خاصة من أجل عمل أرقام عشوائية، ولاستعمال الأرقام العشوائية علينا أن نقوم جلب مكتبة خاصة وذلك بكتابة  عبارة Import أعلى البرنامج .

import random

لا تحاول تسمية الملف التي تعمل عليه ب random.py لأنه في ما بعد وعند استعمال import random سيقوم بايثون بجلب الملف الذي قمت بإنشائه وليس المكتبة الخاصة بالأرقام العشوائية .

الآن بعدما قمنا بجلب مكتبة random سنقوم بكتابة برنامجنا الذي سيقوم بعرض رقم عشوائي من 0 إلى 49  باستخدام الدالة randrange  .

my_number = random.randrange(50)

كما يمكننا استعمال خاصية random مع القوائم أيضا.

my_list = ["dz", "ma", "tn"]
random_index = random.randrange(3)
print(my_list[random_index])
أرجوا أن تقوم بدعمنا عبر نشرك والاعجاب بالموقع

شرح ___name___== “___main___”

عندما نقوم بتشغيل برنامج بايثون من الطرفية مباشرة باستخدام الأمر python script.py $
فنحن بذلك نريد تعيين نقطة بداية السكريبت يعني أن مفسر اللغة يقوم بتشغيل البرنامج انطلاقا من السطر الأول ثم ينتقل الى السطر الثاني وهكذا….

import module

def my_function():
# الكود هنا

x = my_function()

ولكن اذا كنت تريد أن تجعل من الكود الخاص بك أكثر تنظيما  شاهد المثال التالي :

import module

def my_function():
# code here

def main():
x = my_function()

# البرنامج يبدأ من هنا
main()

هذا جيد ولكن المشكلة الوحيدة هي عند استدعاء سكريبت من خلال سكريبت أخر أو from module import * حيث يقوم المفسر بتشغيل الدالة main() ولكن في حالتنا هذه لا أنصحك بها لأنه يجب استدعاء الدالة main() الا عندما يتم تنفيذ برنامجنا الرئيسي أولا ويمكننا تحقيق ذلك الا باستخدام

__name__ == “__main__”

حيث يقوم هذا السطر بتنفيذ ماتحته اذا تم تشغيل الكود مباشرة ومن دون خاصية الاستيراد

import module

def my_function():
# code here

def main():
x = my_function()

# the program starts from here
if __name__ == "__main__":
main()

وهكذا يمكنك من جعل الكود قابل للاستخدام من جديد

أرجوا أن تقوم بدعمنا عبر نشرك والاعجاب بالموقع