١٠٠ يوم برمجة بلغة الجافاسكربت

ما هو تحدي ١٠٠ يوم برمجة

التحدي قائم على أنك تبرمج ساعة على الأقل لمدة ١٠٠ يوم متتالية، وتشارك تقدمك كل يوم في هاشتاق #100DaysOfCode. 

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

خطوات المشاركة بالتحدي

  1. أعلن التزامك بالتحدي.
  2. أنشئ فرع (fork) من صفحة المشروع في Github. هذه الخطوة اختيارية لكنها خطوة ينصح بها.

رحلتي في التحدي

لم استطع الالتزام بأن تكون الأيام متتالية، ولم أشارك تقدمي في الهاشتاق، لكني كنت أشارك تقدمي بتحديث السجل (log) في Github.

اخترت أن أركز على لغة الجافاسكربت وتقنيات واتسون خلال هذه المئة يوم، لكني خرجت عن السياق في بعض الأيام.

ممارسات عامة في البرمجة

  1. طبقت ودونت طريقة رفع المشاريع عبر واجهة الأوامر النصية لنظام Git. استفدت من الاختصارات. مثل استخدام:git cm "commit message"بدلاً منgit commit -m "commit message" 
  2. تعلمت استخدام ملف متغيرات البيئة (environment variables) واللي يكون بصيغة .env لحفظ كلمات السر. والأهم عدم رفع هذا الملف عند مشاركة الكود البرمجي في Github، وذلك عبر كتابة .env في ملف .gitignore

دورة الجافاسكربت في يودمي

بدأت بهذه الدورة المخصصة لمن لديهم أساسيات البرمجة. بدأت بتعليم أساسيات اللغة وأطر عملها مثل AJAX  و ES6+. وأول مشروع كان تصميم موقع لعرض ألبوم صور نأخذها من الواجهة البرمجية لناسا.

ومن الجميل أثناء الدورة، عرض أسئلة مقابلة محتملة، تختبر فهمك لآلية عمل اللغة وما يميزها عن غيرها.

ثم تعرفنا على مكتبة React، وكيفية استخدامها، وهذه بعض التطبيقات عليها:

وفي الختام، تم تزويدنا بمصادر أفادتنا لإكمال المشوار واستخدام ذات اللغة لتطوير تطبيقات الجوال عبر React Native.

جافاسكربت وواتسون 

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

وفي إطار خدمات آي بي إم في السحابة، استخدمت الجافاسكربت كذلك في وقت فراغي لبرمجة السكربت للبلوكشين أكثر من مرة.

تحدي ٣٠ يوم جافاسكربت

من أفضل التحديات وأمتعها، وتمنيت لو أني وجدته من البداية، علمني بعض الاختصارات وما يميز الجافاسكربت في مشاريع ممتعة، وغير معتمدة على مكتبات إضافية.

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

وبعضها كانت مرتبطة باستخدام الجافاسكربت للتحكم في تصميم الصفحة (CSS)، مثل تحريك عقارب الساعة، وتعديل متغيرات CSS، والتحكم في عرض الصور والقوائم.

والأخير وكان الأمتع، هو برمجة الأحداث (events) والتي تكون مرتبطة بفعل المستخدم. ومن ضمنها، تحويل التسجيل الصوتي إلى نص، وتسريع الفيديو وتبطيئه، وعمل مؤقت حساب تنازلي، ولعبة Whack a mole.

(1) Comments

Leave a Reply