آلية تعلّم البرمجة في 2019.. نصائح وأفكار

بدأت قبل عامين تقريبًا تحدّي جديد على المستوى الشخصي يستمر لمدّة 100 يوم باستخدام لغة جافاسكريبت وتحديدًا Node.js، وهذا بعد سنوات من الاعتماد على لغة PHP في برمجة المواقع، وبعدها جافا لبرمجة تطبيقات أندرويد.
واجهتني بعض الصعوبات خلال البحث عن تمارين تعلّم البرمجة باستخدام Node.js بسبب كثرة المصادر، فهناك درس لتعلّم إنشاء نظام تسجيل الدخول، وآخر لجلب آخر المواضيع من مُدونة ما، وآخر للنشر على تويتر، وغيرها الكثير. لذا وبعد تفكير قرّرت أن أكتب هذه التدوينة للمساعدة في فهم آلية تعلّم البرمجة في 2019، وهذا قد يُسهّل رحلتك للوصول للدروس المطلوبة بسرعة أكبر.
بشكل عام يجب أن تفهم أولًا اللغة التي ترغب بتعلّمها وفرقها عن البقيّة، قبل أن تنتقل للدرس الأول وهو تشغيل التطبيق لعرض جملة “أهلًا بالعالم- Hello World” الشهيرة التي ستجعلك تشعر بلذّة الانتصار والتعلّم. في مواقع الويب، أنت بحاجة للبحث عن نظام قوالب متوافق مع اللغة التي تتعلّمها لفصل التصميم عن البرمجة، بحيث يُمكن تعديل أحدهما، أو كلاهما، بسهولة، وهو شيء ضروري في 2019.
بعدها أنت بحاجة لتعلّم آلية تخزين البيانات خصوصًا مع وجود أكثر من طريقة أشهرها قواعد البيانات العلائقية Rational مثل MYSQL أو الغير علائقية مثل Mongodb على سبيل المثال لا الحصر. خلال تعلّمك آلية تخزين البيانات يجب أن تقوم بإنشاء برنامج صغير يقوم بـ CRUD، أي إنشاء سجل جديد Create في قاعدة البيانات، وقراءة البيانات Read، وتعديلها Update، وحذفها Delete، وبهذا الشكل أنت قادر -وفقًا للخطوات السابقة- على إنشاء صفحة تسجيل دخول أو تسجيل حساب جديد والتأكّد من وجود المستخدم من عدمه في الموقع، مع إنشاء صفحة رئيسية تعرض آخر المواضيع مثلًا.
هناك عمليات أُخرى ضرورية مثل إنشاء واجهات برمجية API، بحيث تستلم طلب المستخدم عن طريق الموقع أو عن طريق تطبيق الهاتف الذكي وتقوم بتنفيذ شيء ما، وليكن حذف مقال من قاعدة البيانات، وإعادة النتيجة النهائية للمُرسل.
بعد هذه الخطوات الأساسية ستبدأ بالتوسّع شيئًا فشيئًا، فمثلًا تخزين كلمات المرور في قاعدة البيانات يجب أن يتم بعد تشفيرها، وهنا ستبحث عن أداة أو مكتبة لتشفيرها. التأكد من أن المستخدم قام بتسجيل الدخول بحاجة لنظام خاص مثل الجلسات، وبالتالي ستستخدم مكتبة لهذا الأمر، وبهذا الشكل تكبر خبرتك بالتدريج.
أصبحت البرمجة في 2019 عبارة عن لغات وأُطر عمل Frameworks، ففي لغة PHP إطار عمل Laravel هو الشائع حاليًا نظرًا للميّزات التي يُقدّمها. في جافاسكريبت أيضًا يوجد Node.js وإطار عملها Express.js، دون نسيان الاضافات Extensions – Modules التي بمجرد تحميلها نحصل على خصائص إضافية، مثل إضافة تشفير كلمة المرور، أو إضافة تسجيل الدخول باستخدام حسابات الشبكات الاجتماعية.
أخيرًا، استخدم مُحرّك بحث غوغل وستصل للإجابات بسهولة، اكتب مثلًا “إضافة لرفع الملفات في Node.js” وستجد الكثير من الإجابات خصوصًا لو كان سؤالك باللغة الإنكليزية. ولا يجب إهمال دور موقع StackOverflow الذي يوفّر حلولًا لـ 99٪ من المشاكل البرمجية التي يواجهها أي شخص.