المتطلبات الأساسية — تمارين

جرّب هذه التمارين دون أن تنظر إلى الحلول أولًا؛ فهي تجمع كل ما تعلّمته.


التمرين 1: إعداد المشروع (الطرفية + Git + ماركداون)

  1. أنشئ مجلدًا باسم my-portfolio داخل /tmp
  2. أنشئ داخله هذه الملفات: README.md وabout.md وprojects.md
  3. هيّئ مستودع Git
  4. اكتب ملف README.md يتضمّن:
  5. اسمك في عنوان
  6. نبذة قصيرة عنك في فقرة
  7. قائمة بالمهارات
  8. رابطًا إلى حسابك على GitHub
  9. أضف الملفات إلى منطقة التجهيز ثم احفظ التغييرات (commit) برسالة "Initial commit"
  10. أضف سطرًا إلى about.md، ثم جهّزه واحفظ التغييرات (commit) برسالة "Add about page"

التمرين 2: عدّاد الكلمات بلغة Python

اكتب سكربت Python باسم counter.py يقوم بما يلي:

  1. يقرأ ملفًا نصيًا يُمرَّر كوسيط في سطر الأوامر
  2. يحسب عدد الأسطر والكلمات والأحرف
  3. يطبع النتائج في جدول منسّق

مثال على المخرجات:

File: sample.txt
Lines:    12
Words:    145
Chars:    823

اختبره بملف تنشئه بنفسك.


التمرين 3: جالب بيانات بلغة TypeScript

اكتب سكربت TypeScript باسم weather.ts يقوم بما يلي:

  1. يعرّف واجهة (interface) باسم Weather تضم temperature وcondition وcity
  2. يجلب البيانات من https://jsonplaceholder.typicode.com/todos/1 (ليست طقسًا حقيقيًا، لكنها فرصة للتدريب)
  3. يحوّل الاستجابة إلى كائن يشبه Weather
  4. يطبع "City: {city}, Temperature: {temp}°C, Condition: {condition}"

التمرين 4: تحدّي سير عمل Git

  1. أنشئ مجلدًا جديدًا /tmp/git-flow وهيّئ فيه مستودع Git
  2. أنشئ ملفًا باسم main.py يحتوي على print("Hello") — ثم اعمل commit
  3. أنشئ فرعًا باسم feature/greet
  4. على ذلك الفرع، عدّل main.py بحيث يطلب اسمًا ويرحّب بصاحبه
  5. اعمل commit للتغيير
  6. عُد إلى الفرع main
  7. ادمج feature/greet في main
  8. احذف فرع الميزة
  9. اعرض السجل للتأكد

التمرين 5: تحدٍّ يجمع بين الموضوعات

اجمع كل ما سبق:

  1. أنشئ مجلدًا باسم cross-challenge وهيّئ فيه Git
  2. اكتب سكربت Python باسم data.py يولّد 100 شخص عشوائي (الاسم، العمر، المدينة) ويحفظهم في people.json
  3. اكتب سكربت TypeScript باسم report.ts يقرأ people.json، ويستبقي من هم فوق 18 عامًا، ويطبع جدولًا بالنتائج منسّقًا بماركداون
  4. اكتب المخرجات إلى ملف adults.md
  5. اعمل commit لكل التغييرات برسالة commit جيدة
  6. اعرض السجل والفرق (diff)

التمرين 6: سلسلة أوامر Bash (pipeline)

اكتب أمرًا من سطر واحد يقوم بما يلي:

  1. يجد كل ملفات .py في المجلد الحالي
  2. يحسب مجموع أسطر كود Python
  3. يحفظ العدد في loc.txt

تلميح: استخدم find وxargs وwc و>.


التمرين 7: تحويل ماركداون إلى HTML

أنشئ ملف ماركداون باسم recipe.md لوصفة مفضّلة لديك يتضمّن: - عنوانًا يحمل اسم الوصفة - قائمة مكوّنات (غير مرقّمة) - خطوات التحضير بالترتيب (قائمة مرقّمة) - نصيحة بخط عريض في النهاية - كتلة كود تحتوي زمن الطهي بالدقائق

ثم استخدم أداة لتحويل ماركداون إلى HTML (توجد أدوات كثيرة على الإنترنت) لترى النتيجة معروضة.