مسار تعليمي متكامل مُصحَّح بأمانة — قابل للتطبيق الفعلي بدون ثغرات أو قفزات.
هذا المسار قابل للإتقان الحقيقي إذا أخذته بصبر وترتيب. التوقع الواقعي هو 10 إلى 14 شهراً بساعتين يومياً لمن يبدأ من صفر مطلق. من يضغط الجدول أكثر سيفهم سطحياً ويبني على أساس هشّ. الثبات أهم من السرعة. كل وحدة تحتوي على كود حقيقي ومشروع — لا تنتقل للتالية قبل أن تكتب الكود بيدك وتشغّله. لا يوجد اختصار للفهم العميق، لكن يوجد طريق واضح — وهذا هو.
8 مراحل متسلسلة — Phase 0 أُضيفت خصيصاً لبناء بيئة عمل احترافية منذ اليوم الأول
# تحقق من التثبيت python --version # Python 3.12.x pip --version # pip 24.x python -c "print('مرحباً Python')"
python -m venv venv venv\Scripts\activate # Windows source venv/bin/activate # Mac/Linux pip install requests pip freeze > requirements.txt
git init
git add .
git commit -m "first commit"
git remote add origin [url]
git push -u origin mainage: int = 25 salary: float = 8500.0 name: str = "أنس" active: bool = True print(type(age)) # <class 'int'> print(float(age)) # 25.0
name = " أنس اللهيبي " print(name.strip()) # 'أنس اللهيبي' score = 95.5 print(f"الدرجة: {score:.1f}%")
import random secret = random.randint(1, 100) while True: guess = int(input("خمّن: ")) match True: case _ if guess == secret: print("✅ صح!"); break case _ if guess < secret: print("⬆️ أكبر") case _: print("⬇️ أصغر")
def calculate_vat(price: float, rate: float = 0.15) -> dict: """احسب ضريبة القيمة المضافة السعودية""" vat = price * rate return {"price": price, "vat": vat, "total": price + vat}
import logging logging.basicConfig( level=logging.INFO, format='%(asctime)s %(levelname)s %(message)s') try: r = 10 / 0 except ZeroDivisionError: logging.error("لا يمكن القسمة على صفر!")
import re def validate_saudi_phone(phone: str) -> bool: return bool(re.match(r'^(05|5)[0-9]{8}$', phone)) print(validate_saudi_phone("0512345678")) # True
scores: list[int] = [85,92,61,78,95] passed = [s for s in scores if s >= 70] grade = ["A" if s>=90 else "B" if s>=80 else "C" for s in scores] name, age, city = ("أنس", 30, "المدينة")
import json from pathlib import Path db = Path("data/users.json") db.parent.mkdir(exist_ok=True) data = json.loads(db.read_text(encoding="utf-8")) db.write_text(json.dumps(data, ensure_ascii=False, indent=2))
class Product: _count: int = 0 def __init__(self, name:str, price:float) -> None: self.name = name; self.price = price Product._count += 1 def __str__(self) -> str: return f"{self.name}: {self.price:,.2f} ريال"
from dataclasses import dataclass, field @dataclass class Employee: name: str salary: float skills: list[str] = field(default_factory=list) def __post_init__(self) -> None: if self.salary < 0: raise ValueError("الراتب لا يمكن أن يكون سالباً")
import time from functools import wraps from typing import Callable, Any def timer(func: Callable) -> Callable: @wraps(func) def wrapper(*args: Any, **kw: Any) -> Any: t = time.perf_counter() r = func(*args, **kw) print(f"⏱ {func.__name__}: {time.perf_counter()-t:.4f}s") return r return wrapper
# .env — لا يُرفع على GitHub أبداً! API_KEY=sk-abc123secret # config.py from dotenv import load_dotenv import os load_dotenv() API_KEY: str = os.getenv("API_KEY", "") if not API_KEY: raise ValueError("API_KEY غير موجود في .env")
from fastapi import FastAPI from pydantic import BaseModel app = FastAPI(title="Tasks API") class Task(BaseModel): title: str done: bool = False tasks: list[Task] = [] @app.post("/tasks", status_code=201) async def create(t: Task) -> Task: tasks.append(t); return t
35 مشروعاً تدريجياً — الصعوبة مُعدَّلة بأمانة بناءً على المستوى الفعلي المطلوب
إعداد Python + VS Code + Git + venv + أول Push لـ GitHub
عمليات حسابية + تاريخ العمليات + حفظ النتائج في ملف JSON
الصافي بعد الاقتطاعات — مع تقرير مُنسَّق وتاريخ الحسابات
قرأ، نظّف، نسّق، صدّر — تطبيق شامل للنصوص والأرقام
مع مستويات صعوبة، محاولات محدودة، وحفظ أعلى النتائج
يقرأ CSV فيه أرقام جوال وإيميلات ويتحقق منها بـ Regex
يقرأ بيانات ويُنشئ تقرير نصي منسّق مع Logging كامل
يقرأ CSV، يُرتّب، يُنسّق، يُصدر تقرير مع الإحصاءات الكاملة
CRUD كامل بـ SQLite — بحث متقدم، تصدير، تنبيهات
إدارة مخزون، تنبيه النقص، تقارير يومية، تصدير Excel
حسابات، تحويلات، تاريخ المعاملات — OOP كامل مُختبَر
موظف، مدير، مقاول — OOP وراثة كاملة مع حساب الرواتب
منتجات، كميات، خصومات، إيصال طباعة — dataclasses كاملة
@timer, @retry(n=3), @cache, @validate — موثّقة ومُختبَرة
يجلب 30 مصدر RSS بالتوازي بـ asyncio ويصنّف المقالات
Pandas + NumPy: تنظيف، تجميع، إحصاء، تقرير مرئي
Plotly: بيانات حقيقية، فلاتر متعددة، رسوم متحركة
FastAPI + PostgreSQL + JWT Auth + Tests + Docker كامل
تطبيق ويب من اختيارك: API + قاعدة بيانات + Auth + Docker + نشر + Portfolio
42 أسبوعاً ≈ 10 أشهر بساعتين يومياً — توقع صادق لا وعد مبالغ فيه. من أخذ 14 شهراً لم يفشل، هو أتقن بعمق.
Python، VS Code، Git، GitHub، venv، pip، Linting. الهدف: بيئتك تشبه بيئة المطور الحقيقي — ليس المبتدئ
المتغيرات، الأنواع، النصوص، الأرقام، المدخلات، Type Hints. الهدف: كتابة برامج تتعامل مع البيانات وتحسبها
الشروط، الحلقات، الدوال بعمق، معالجة الأخطاء، Logging، Regex. الهدف: برنامج يعمل تلقائياً ويعالج أخطاءه
Lists، Dicts، Sets، الملفات، JSON، CSV، SQLite. الهدف: حفظ البيانات والتعامل معها باحترافية كاملة
Classes، Inheritance، Properties، dataclasses، Type Hints. الهدف: إعادة بناء مشاريعك السابقة بتصميم قابل للتوسع
Decorators، Generators، Async، .env والأسرار، Testing. الهدف: كودك يشبه مشاريع GitHub المحترفة
NumPy (2)، Pandas (2)، Matplotlib+Seaborn (2)، Plotly (2)، ML أساسي (2). كل مكتبة بأسبوعين فعليين
HTTP، FastAPI، PostgreSQL، Docker، الأمان، النشر، مشروع التخرج. الهدف: تطبيق حقيقي على الإنترنت في Portfolio
كل ما تحتاجه — موثوق ومجاني في معظمه
docs.python.org — المرجع الأول والأخير. اعتد على قراءته مباشرة
مجاني ١٠٠٪cs50.harvard.edu/python — أفضل دورة Python مجانية في العالم
مجاني ١٠٠٪كل مشروع تبنيه يجب أن يكون هنا — Portfolio المطور الحقيقي
مجاني ١٠٠٪realpython.com — شروحات عملية ومتعمقة لكل موضوع في Python
مجاني جزئياًلتقوية منطق حل المسائل — ابدأ بـ Easy وأكمل 50 مسألة
مجاني جزئياًللأسئلة والأخطاء — تعلّم كيف تبحث قبل أن تسأل
مجاني ١٠٠٪pypi.org — مستودع مكتبات Python. أكثر من 500,000 مكتبة
مجاني ١٠٠٪مساعدك الذكي للشرح والتصحيح — لكن لا تجعله يكتب الكود بدلاً منك. استخدمه ليكون مهارياً وتمكينياً: يشرح المفهوم، يراجع كودك، يكشف الخطأ ويعلّل سببه، ويُحافظ على جودة التعليم وموضوعية النقل وعدم الخروج عن السياق بأوامرك أنت.
التجربة التطبيقية هي ما تُؤكد موثوقية وصحة هذه المنهجية وقوتها — بما سيعود من التحصيل الملموس الذي سيجده المتعلم حين يكتب كوده بيده ويُشغّله أمام عينيه ويرى النتيجة. لا يكفي القراءة ولا يكفي الفهم الذهني — الامتحان الحقيقي هو الكود الذي يعمل.
أنا أنس مبيريك ساعد اللهيبي — JABALF15 والناقل — لستُ سوى ناقل محبّ، لا يرى للعلم ثمناً يُقاس به إلا من الله وحده.
أبٌ وابن وأخٌ وصديق وجار — لا يريد لهذه الأمة إلا التوفيق والسداد، وأن يحفظ الله البلاد والعباد.
كما أنني لا أدّعي بها التخصصية الاحترافية، ولا ما قد يدل على التمكّن والمباهاة، ولا ما قد يدخل من مداخل التساؤل والاستدراك غير المفيد والمشتّت عن الهدف القيّم المرجو من هذا العمل.
أُبرئ إلى الله من أي استخدام تجاري أو تغرير بغية تحويل الأموال أو طلبها أو التعامل بها، أو ما قد يكون فيه أي من طرق الاحتيال باسم هذا العمل أو هذه الهوية.
لن أُسامح من يقوم بذلك — وأنا يوم القيامة خصمُه.
وإن علمتُه من شخص أو جهة — وبعد التوكل على الله — لن أتوانى عن الإطاحة به وملاحقته وردعه، بما أدفن به ظلمه وأكفي المسلمين شرّه، وردّ كيده في نحره. والله مولاي وهو على كل شيء قدير.
• هذا المسار عمل تعليمي أصلي في صياغته وترتيبه، ولا يتضمن نسخاً لأي منهج أو كتاب أو دورة مملوكة لجهة أخرى.
أمثلة الكود الواردة فيه أمثلة قياسية تعليمية قصيرة من الاستخدام العام للغة.
• جميع الأسماء والعلامات التجارية المذكورة — ومنها Python وPSF وVS Code وGitHub وDocker وPostgreSQL وFastAPI
وسطر وطويق وحسوب وإدراك ورواق وCS50 وHarvard وReal Python وLeetCode وStack Overflow —
هي ملك لأصحابها، ويُشار إليها هنا لغرض الإحالة التعليمية فقط، دون أي ادعاء لملكيتها أو رعايةٍ أو انتساب إليها.
• هذا العمل لا يمنح شهادة ولا اعتماداً من أي جهة تعليمية أو تدريبية،
وليس بديلاً عن البرامج المعتمدة، ولا يُقدَّم بصفة استشارية مهنية.
• يُتاح للاستخدام الشخصي والتعليمي بحرية، مع الإشارة إلى مصدره وعدم بيعه أو تحصيل مقابل مادي عليه.
المسؤولية عن تطبيق ما ورد فيه تقع على المتعلّم.