بايثون خطوتك التالية بعد تعلم لغة بايثون

مقدمة

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

ماذا أتعلم بعد أن تعلمت لغة بايثون

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


إذاً, بعد أن تتعلم لغة بايثون, يمكنك إعتمادها في أحد المجالات التالية:

  • تطوير المواقع (Web Development).
  • الذكاء الإصطناعي (Artificial Intelligence).
  • تطوير تطبيقات للحاسوب (Software Development).
  • مؤثرات الألعاب (Animations).
  • تجهيز سكريبتات لتسريع عملك (Scripting).

إنتبه, تخصصك في مجال واحد لا يعني أنك لا تستطيع تعلم غيره. الفكرة هنا هي أن تتخصص في مجال واحد في كل مرة.
فعلى سبيل المثال, إذا قررت البدء بتعلم تطوير تطبيقات للحاسوب. عندها يجب أن تقضي فترة في تعلم ذلك و من ثم يجب أن تحاول بناء عدة تطبيقات بنفسك حتى تجد نفسك مرتاحاُ في هذا المجال و لا تخاف من البدء بتطوير تطبيقات و الربح منها مادياً.

بعد أن تجد نفسك أصبحت محترفاً في مجال تطوير تطبيقات الحاسوب, عندها نحن ننصحك بالبدء بتعلم مجال آخر من أجل أن تزيد فرصك في العمل و الربح.
فمثلاً إذا قررت تعلم تطوير المواقع بعد ذلك, فأنت الآن أصبحت قادر على العمل في مجالين و ليس في مجال واحد.

تطوير المواقع باستخدام لغة بايثون

إذا أردت الدخول في مجال تطوير المواقع, فعليك أولاً معرفة أين سيكون دور لغة بايثون في ذلك.
تطوير المواقع ينقسم لقسمين أساسيين: Front End و Back End.


قسم الـ Front End

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

  • لغة HTML: هذه اللغة تستخدم لتحديد الأشياء التي تريد عرضها في الموقع مثل العناوين, الصور, الفيديوهات الخ..
  • لغة CSS: هذه اللغة تستخدم لتحسين تصميم و طريقة ظهور الأشياء التي تريد عرضها في الموقع.
  • لغة Javascript: هذه اللغة تستخدم لإضافة مؤثرات جميلة في الموقع.
  • مكتبة JQuery: من أجل كتابة كود الـ Javascript بشكل أسهل و مختصر.
  • مكتبة Bootstrap: من أجل جعل التصميم يتوافق مع حجم شاشة أي جهاز يتم تصفح الموقع من خلاله و هي توفر عليك جهد كبير جداً في التصميم.
  • مكتبة FontAwesome: لإضافة أيقونات رائعة في الموقع بكل سهولة.


قسم الـ Back End

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

بالنسبة لقواعد البيانات
تستطيع إستخدام أي قاعدة بيانات تريد مثل MySQL, SQL Server, Oracle إلخ..

بالنسبة للغة بايثون
تستطيع إستخدام أي إطار ( Framework ) جاهز تريد مثل Django, Pyramid, Flask إلخ.. لعلك تتساءل الآن لم يجب استخدام إطار بدل استخدام لغة بايثون بشكل مباشر!
عند استخدام إطار فأنت تريح رأسك من أشياء كثيرة مثل: الكود آمن و ليس فيه ثغرات, ستجد دوال و كلاسات كثيرة جاهزة يمكنك استخدامها كما هي بدل الإضطرار إلى كتابتها من الصفر, أي سؤال يخطر في بالك ستجد أجوبة له كثيرة في جوجل إلخ..

إذا كنت حائراً و لا تعرف أي قاعدة بيانات أو إطار بايثون أنسب لك, فيمكنك استخدام قواعد بيانات MySQL و الإطار Django لأنهما الأكثر شهرة.

بعد تعلم كل ما سبق, تصبح قادر على بناء أي موقع يخطر في بالك و العمل كمطور مواقع إن شاء الله.


الآن, في حال أردت تطوير نفسك أكثر في مجال الويب, يمكنك تعلم بناء تطبيقات ويب بدل بناء مواقع ويب تقليدية.
تطبيقات الويب لها عدة مميزات و أهمها أنها تجعلك قادر على تحويل الموقع إلى تطبيق يعمل على الهاتف و هذا الأمر يمكنه أن يؤمن لك فرص كثيرة أخرى للربح.

لبناء تطبيق ويب, سيكون عليك بالإضافة لم تعرفه سابقاً أن تتعلم استخدام إطار آخر من جهة Front End فقط.
أشهر الأطر المستخدمة حالياً لبناء تطبيقات ويب هي: Angular, Vue و React.

إستخدام لغة بايثون في الذكاء الإصطناعي

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

لا بد و أنك تتساءل الآن حول كيف يمكن جعل البرنامج قادر على التفكير من تلقاء ذاته و هذا سؤال منطقي.
الذكاء الإصطناعي لا يعني أبداً جعل البرنامج يفكر و يتصرف تماماً من تلقاء ذاته, بل جعله يعتمد الأسلوب الذي يعتمده الناس في التصرف و اتخاذ القرارات.

سنحاول شرح طريقة عمل الذكاء الإصطناعي من خلال المثال التالي:
لنفترض أنه يوجد مستشفى يقوم يومياً بإلتقاط عدة صور أشعة لصدور المرضى, و من ثم يأتي الطبيب و ينظر إلى هذه الصورة فيكتب تقرير مفصل عنها.
بعدها يتم حفظ كل صورة مع التقرير الخاص بها في قاعدة بيانات المستشفى.
بعد مرور 5 سنوات على سبيل المثال, سيصبح لدى المستشفى قاعدة بيانات فيها آلاف الصور مع التقارير الخاصة بها.
بعد أن أصبح المستشفى يملك كم هائل من المعلومات, أصبح بإمكان هذه المستشفى الإستفادة من الذكاء الإصطناعي و إدخاله في عملها.
الآن, أصبح بإمكان المبرمج أن يجعل أي صورة أشعة يتم إلتقاتها تقارن مع الصور الموجودة في قاعدة البيانات و على أساس أكثر صورة أو صور مشابهة لها يتم طباعة التقرير للصورة الجديدة التي تم إلتقاطها.
فمثلاً بعد المقارنة, قد يجد البرنامج أنه يوجد إحتمال بنسبة 98% أن يكون هذا المريض يعاني من مشكلة معينة لأن أغلب الصور المشابهة لها تعاني من نفس المشكلة.
عندها و بشكل مباشر سيقوم البرنامج بإعطائك التقرير المفصل لهذه الصورة و كأنه قد قام شخص ما بإعداد هذا التقرير.

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


مجال الذكاء الإصطناعي ينقسم بدوره لعدة فروع يمكنك تعلم إحداها مثل:

  • التعلم الآلي ( Machine Learning ) : يرتكز على جعل الآلة تحفظ المعلومات التي تسجلها من تلقاء نفسها ثم بناءاً على هذه المعلومات و الخوارزميات التي تعتمدها تعطيك النتيجة. فمثلاً, عند البحث في جوجل تجده بشكل تلقائي يظهر لك خيارات أثناء إدخال المعلومات التي تريد البحث عنها. هذه الخيارات تم تخزينها في الأصل بشكل تلقائي عندما قام أشخاص قبلك بالبحث كما تفعل أنت الآن.
  • الروبوتات الذكية ( Robotics ) : يرتكز على بناء آلات تجمع المعلومات من تلقاء ذاتها باعتماد خوارزميات معينة و من ثم تتصرف أو تؤدي المهمات التي تطلب منها على أساس المعلومات التي تعلمتها بنفسها. فمثلاً إذا طلبت من روبوت أن يصعد إلى الدرج, فإنه قد يقضي بعض الوقت في المرة الأولى و هو يجرب كيف يجب أن يتحرك حتى يصعد الدرج بنجاح. في النهاية و بعد أن يتوصل للطريقة الصحيحة التي يجب أن يتحرك بها لصعود الدرج فإنه عندما يريد صعوده في المرة المقبلة سيستخدم بسرعة نفس الأسلوب الذي تعلمه بنفسه سابقاً.
  • الرؤية ( Vision ) : يرتكز على جعل الآلة قادرة على معرفة طبيعة الأجسام التي تصورها و تحليلها, فمثلاً إذا قمت بإلتقاط صورة لقنينة ماء, فإنها قادرة على معرفة أن ما في الصورة عبارة عن قنينة بل و أن هذه القنينة ممتلئة على سبيل المثال بنسبة 80%. كمثال آخر, عندما تقوم بإضافة صورة على فيسبوك, فإن فيسبوك تجده بشكل تلقائي يضع علامة على الوجوه, بل و يخبرك أحياناً أن الشخص الذي في الصورة هو فلان و يسألك إن كنت تريد أن تفعل له منشين.
  • التخطيط ( Planning ) : يستخدم كثيراً في الألعاب حيث يتيح لك تحريك الشخصيات بشكل تلقائي. مثلاً لجعل الأشرار في اللعبة يقتربوا منك أو يهربوا منك إلخ.
  • معالجة الصوت ( Speech Processing ) : جعل الآلة قادرة على فهم الأصوات و تحويلها إلى كلام أو جعل لنطق الكلام المكتوب.

ملاحظة

ما قمنا بذكره عن مجالات الذكاء الإصطناعي يعتبر سطحي جداً لأن هذا المجال ضخم و مجالاته كثيرة.


ما هي الاشياء التي يجب معرفتها قبل الدخول في مجال الذكاء الإصطناعي

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

من ناحية الرياضيات, يجب دراسة المواد التالية كبداية و التي يدرسها الطلاب في الجامعات:

  • Linear Algebra.
  • Calculus.
  • Probability and Statistics.
  • Discrete Mathematics.
  • Mathematical Logic.

في هذا الرابط تجد صور مبسطة جداً من شأنها أن توضح لك علاقة هذه المواد و أهميتها بالذكاء الإصطناعي إنتقل للموقع »

تطوير تطبيقات للحاسوب باستخدام لغة بايثون

في بايثون يوجد أطر ( Frameworks ) عديدة يمكنك إستخدامها لبناء تطبيقات للحاسوب أو ما يعرف بتطبيقات سطح المكتب ( Desktop Apps ).


أشهر الأطر المستخدمة حالياً في بناء تطبيقات للحاسوب هي التالية:

  • Tkinter: يأتي مع ملفات بايثون نفسها.
  • Kivy: إطار مجاني يمكن استخدامه لبناء تطبيقات تعمل على نظام Windows, MacOSX, Android, IOS, Raspberry Pi.
  • PyQT: إطار يمكن استخدامه لبناء تطبيقات تعمل على نظام Windows, Unix/Linux و MacOSX. كما أنه يوجد منه نسخة مجانية و نسخة مدفوعة.
  • WxPython: إطار مجاني يمكن استخدامه لبناء تطبيقات شبيهة بالتطبيقات المنصبة على الجهاز ( Native Apps ) و تعمل على نظام Windows, MacOSX, Unix.

إستخدام لغة بايثون لإعداد مؤثرات للألعاب

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

برنامج Blender له شعبية كبيرة و مميزات قوية حقاً نسبة لأنه مجاني و يمكنك إيجاد شروحات كثيرة له في النت بالإضافة إلى المجسمات و الشخصيات و المؤثرات المجانية المعدة بواسطته.

إستخدام لغة بايثون لبناء سكريبتات تستخدم مفيدة

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

كيف أطور نفسي الآن و أجد المعلومات التي أحتاجها

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


روابط دورات عربية و أجنبية
w3schools.com اللغة: الإنجليزية
يعتبر من أفضل المواقع على الإطلاق لتعلم اللغات الأساسية ( HTML, CSS, Javascript, JQuery, Bootstrap ) التي تستخدم في تصميم المواقع.
كما أنه يحتوي على دورة تعلمك طريقة إستخدام الأيقونات المجانية التي توفرها لك المكتبة FontAwesome.
Youtube: SQL Server اللغة: الإنجليزية
تعتبر من أفضل القنوات في يوتيوب لتعلم قواعد بيانات SQL Server من الصفر وصولاً لمستوى متقدم جداً فيها.
من مميزات هذه الدورة, أن الأستاذ يتطرق أيضاً للأسئلة التي يتم طرحها في مقابلات العمل.
Youtube: SQL Server اللغة: العربية
تعتبر من أفضل القنوات في يوتيوب لتعلم قواعد بيانات SQL Server من الصفر وصولاً لمستوى متقدم جداً فيها.
من مميزات هذه الدورة, أن الأستاذ يتطرق أيضاً للأسئلة التي يتم طرحها في مقابلات العمل. و هي نفس الدورة السابقة و لكنها مدبلجة للغة العربية.
Youtube: Flask اللغة: الإنجليزية
جميع قنوات يوتيوب التي قدمت دورات للإطار Flask.
Youtube: Pyramid اللغة: الإنجليزية
جميع قنوات يوتيوب التي قدمت دورات للإطار Pyramid.
Youtube: Tkinter اللغة: الإنجليزية
جميع قنوات يوتيوب التي قدمت دورات للإطار Tkinter.
Youtube: Kivy اللغة: الإنجليزية
جميع قنوات يوتيوب التي قدمت دورات للإطار Kivy.
Youtube: PyQT اللغة: الإنجليزية
جميع قنوات يوتيوب التي قدمت دورات للإطار PyQT.
Youtube: WxPython اللغة: الإنجليزية
جميع قنوات يوتيوب التي قدمت دورات للإطار WxPython.
Youtube: Blender اللغة: الإنجليزية
جميع قنوات يوتيوب التي قدمت دورات لبرنامج Blender.
Youtube: Machine Learning اللغة: الإنجليزية
جميع قنوات يوتيوب التي قدمت دورات في مجال Machine Learning.
Youtube: Robotics اللغة: الإنجليزية
جميع قنوات يوتيوب التي قدمت دورات في مجال Robotics.
Youtube: Vision اللغة: الإنجليزية
جميع قنوات يوتيوب التي قدمت دورات في مجال Vision.
Youtube: Speech Processing اللغة: الإنجليزية
جميع قنوات يوتيوب التي قدمت دورات في مجال Speech Processing.

للأسف لم نستطع إيجاد روابط لدورات عربية قوية و مجانية لأن أغلب المطورين العرب للأسف لا يشاركون خبراتهم مجاناً في يوتيوب.



رسالة من الموقع

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

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

نتمنى لك كل التوفيق و نسأل الله أن يوفقك و يبارك لك في علمك و عملك.

الدورات

أدوات مساعدة

الأقسام

دورات
مقالات أسئلة مشاريع كتب