بايثونخطوتك التالية بعد تعلم لغة بايثون
- مقدمة
- ماذا أتعلم بعد أن تعلمت لغة بايثون
- تطوير المواقع باستخدام لغة بايثون
- إستخدام لغة بايثون في الذكاء الإصطناعي
- تطوير تطبيقات للحاسوب باستخدام لغة بايثون
- إستخدام لغة بايثون لإعداد رسوم متحركة
- إستخدام لغة بايثون لبناء سكريبتات تستخدم مفيدة
- كيف أطور نفسي الآن و أجد المعلومات التي أحتاجها
مقدمة
إذا قمت بقراءة كل الدروس التي شرحناها في هذه الدورة و وصلت إلى هنا، فهذا يعني أنك أصبحت ماهراً في التعامل مع لغة بايثون.
الشيء الذي عليك البحث عنه الآن، هو كيف تبدأ باستخدام لغة بايثون في المشاريع البرمجية من أجل أن تستفيد منها مادياً.
ماذا أتعلم بعد أن تعلمت لغة بايثون
في البداية، هناك مجالات عديدة يجب أن تتخصص بأحدها و ليس فيها كلها لأن هذا مستحيل. أي لا تفكر أبداً بأن تتخصص في عدة مجالات في وقت واحد. لأنك إن حاولت ذلك فتـأكد أنك في مرحلة ما ستيأس و تمل من شدة الضغط الذي سببته لنفسك.
الآن، بعد أن تعلمت لغة بايثون يمكنك إعتمادها في أحد المجالات التالية:
- تطوير المواقع (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، React، Vue، Next و Nuxt.
إستخدام لغة بايثون في الذكاء الإصطناعي
في البداية، عليك معرفة أن أفضل مجال لإستخدام لغة بايثون و أكثر سبب لشهرتها هو شهرتها في هذا المجال.
فكرة الذكاء الإصطناعي بشكل عام هي بناء برنامج قادر على إتخاذ القرارات و كأنه إنسان عادي!
لا بد و أنك تتساءل الآن حول كيف يمكن جعل البرنامج قادر على التفكير من تلقاء ذاته و هذا سؤال منطقي. الذكاء الإصطناعي لا يعني أبداً جعل البرنامج يفكر و يتصرف تماماً من تلقاء ذاته، بل جعله يعتمد الأسلوب الذي يعتمده الناس في التصرف و اتخاذ القرارات.
سنحاول شرح طريقة عمل الذكاء الإصطناعي من خلال المثال التالي:
لنفترض أنه يوجد مستشفى يقوم يومياً بإلتقاط عدة صور أشعة لصدور المرضى، و من ثم يأتي الطبيب و ينظر إلى هذه الصورة فيكتب تقرير مفصل عنها. بعدها يتم حفظ كل صورة مع التقرير الخاص بها في قاعدة بيانات المستشفى. بعد مرور 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 له شعبية كبيرة و مميزات قوية جداً و يمكنك إيجاد شروحات كثيرة له في النت بالإضافة إلى المجسمات و الشخصيات و المؤثرات المجانية المعدة بواسطته.
إستخدام لغة بايثون لبناء سكريبتات تستخدم مفيدة
في حال كنت تقوم بمهام يومية أو شبه يومية في حاسوبك فيمكنك تجهيز سكريبت يفعل هذه المهام بمجرد أن تقوم بتشغيله.
فمثلاً، في حال كنت تقوم بشكل يومي بإجراء نسخة إحتياطية ( Backup ) من ملفات موضوعة في مجلد ما، أو كنت تنشر نفس المقالات في عدة مجموعات في فيسبوك، أو تبحث في جوجل عن مواعيد الصلوات الخمسة إلخ.. عندها يمكنك إعداد الكود مرة واحدة، و عند الحاجة لتنفيذه تقوم بتشغيله فقط فيقوم بنفس المهام التي كنت ستقوم بها بنفسك و لن تضطر إلى الإنتظار و إضاعة وقتك في إجراء نفس العمليات في كل يوم.
كيف أطور نفسي الآن و أجد المعلومات التي أحتاجها
في البداية، كل ما تم ذكره في هذا الدرس يوجد مقدمات و دروس جاهزة حوله في يوتيوب و جوجل باللغتين العربية و الإنجليزية.
و بالتالي في أحال أردت معرفة المزيد حول أي شيء ذكرناه سابقاً قم بالبحث عنه فقط و تأكد أنك ستجد ملايين الإجابات الجاهزة و المفصلة.
روابط دورات عربية و أجنبية | |
---|---|
1 | Youtube: Flask
اللغة: الإنجليزية جميع قنوات يوتيوب التي قدمت دورات للإطار Flask. |
2 | Youtube: Pyramid
اللغة: الإنجليزية جميع قنوات يوتيوب التي قدمت دورات للإطار Pyramid. |
3 | Youtube: Tkinter
اللغة: الإنجليزية جميع قنوات يوتيوب التي قدمت دورات للإطار Tkinter. |
4 | Youtube: Kivy
اللغة: الإنجليزية جميع قنوات يوتيوب التي قدمت دورات للإطار Kivy. |
5 | Youtube: PyQT
اللغة: الإنجليزية جميع قنوات يوتيوب التي قدمت دورات للإطار PyQT. |
6 | Youtube: WxPython
اللغة: الإنجليزية جميع قنوات يوتيوب التي قدمت دورات للإطار WxPython. |
7 | Youtube: Blender
اللغة: الإنجليزية جميع قنوات يوتيوب التي قدمت دورات لبرنامج Blender. |
8 | Youtube: Machine Learning
اللغة: الإنجليزية جميع قنوات يوتيوب التي قدمت دورات في مجال Machine Learning. |
9 | Youtube: Robotics
اللغة: الإنجليزية جميع قنوات يوتيوب التي قدمت دورات في مجال Robotics. |
10 | Youtube: Vision
اللغة: الإنجليزية جميع قنوات يوتيوب التي قدمت دورات في مجال Vision. |
11 | Youtube: Speech Processing
اللغة: الإنجليزية جميع قنوات يوتيوب التي قدمت دورات في مجال Speech Processing. |
للأسف لم نستطع إيجاد روابط لدورات عربية قوية و متقدمة في بايثون لأن أغلب المطورين العرب للأسف لا يشاركون خبراتهم مجاناً في يوتيوب.
رسالة من الموقع
تطلّب إعداد هذه الدورة عمل استمر أكثر من سنة و نصف لتكون شاملة لكل أساسيات بايثون التي يجب أن يعرفها المبرمج و بنفس الوقت لتكون سهلة الفهم. لذا نتمنى دعمنا من خلال مشاركة الدورة مع أصدقائك في مواقع التواصل الإجتماعي و زملائك في الجامعة إذا كنت تجد أن هذه الدروس مفيدة لهم.
في الختام، نتمنى لك كل التوفيق و نسأل الله أن يوفقك و يبارك لك في علمك و عملك.