مستودع مناهج تقنية بالعربية. كل منهج نصٌّ مكتفٍ بنفسه يمكنك دراسته وحدك، ومعه موقع ساكن يُنشر على أي استضافة.
وفيه ثلاثة أشياء تفرّقه عن أكثر ما يُكتب في هذا الباب:
المخرجات يُعاد التحقق منها مع كل تعديل. في منهج Rust يترجم
tools/verify.py كل لوحة في النصّ ويقارنها بتشغيلها، وفي منهج الهيكلة يعيد
tools/measure.mjs حساب كل رقم من الهياكل نفسها. فإن تغيّر سطر ولم تُحدَّث
لوحته، يفشل الفحص.
الوحدة المعروضة لقطة، لا صفحة تطول. كل لقطة تحت ٢٥٠ كلمة وفيها بلوكان على الأكثر، وتنتهي بشيء تكسبه. فترى قعر ما بدأته قبل أن تبدأه، ويتنقّل الموقع لقطةً لقطة بدل صفحة لا يُرى آخرها.
كل منهج مكتفٍ بنفسه. لا يحيلك إلى كتاب أو مقال لتفهم فصلاً، ويبني في أول فصوله نظاماً صغيراً يعمل ثم يقضي بقيته في تفكيكه. وموقعه يعمل بلا شبكة ويمكن تثبيته كتطبيق، فما تفتحه اليوم تفتحه بعد سنة.
ومواقع المناهج مشتقّة من نصوصها لا قوالب فوقها: لكل قرار في الموقع، من اللون إلى
المكوّن، سطرٌ يردّه إلى شيء موجود في الماركداون. جدول الاشتقاق في site/README.md
عند كل منهج.
ولا تحتاج الموقع لتقرأ المنهج. النصّ كلّه في
curricula/<تصنيف>/<منهج>/regions/، والموقع يعرضه ولا يحتفظ بنسخة منه.
لغات البرمجة — نظام الأنواع والتمثيل والتنفيذ
| المنهج | الموضوع | الموقع | الحالة |
|---|---|---|---|
c |
C — اللغة الأولى | زُر ↗ | ✅ |
c-advanced |
C المتقدّم — الذاكرة والملفّ التنفيذيّ والخيط | زُر ↗ | ✅ |
dart |
Dart — لغةٌ مُدارة بعد لغةٍ عارية | زُر ↗ | ✅ |
go |
Go — من الجذور | زُر ↗ | ✅ |
python |
Python — الكائن والمفسّر والحدّ مع C | زُر ↗ | 🔨 |
rust |
Rust — ما يثبته المترجم | زُر ↗ | ✅ |
ما تحت التجريد: النواة، العزل، الضمانات، الزمن
| المنهج | الموضوع | الموقع | الحالة |
|---|---|---|---|
docker |
دوكر من البدائيات | docker.nodeksa.com |
🔨 |
kernel |
الكيرنل من الجذور | kernel.nodeksa.com |
✅ |
who-waits |
مَن يَنتظر؟ | زُر ↗ | ✅ |
الخادم والمتصفّح وما بينهما
| المنهج | الموضوع | الموقع | الحالة |
|---|---|---|---|
dotnet |
مسار .NET — رحلة TeamBoard | زُر ↗ | ✅ |
الصورة والصوت والفيديو: ترميزاً وصيغاً
| المنهج | الموضوع | الموقع | الحالة |
|---|---|---|---|
path-to-pixel |
من المسار إلى البكسل — الملء والخطّ والتركيب واللون | زُر ↗ | 🔨 |
شكل المشروع: أين تُرسَم الحدود، وأي اتّجاهٍ يعبرها الاعتماد
| المنهج | الموضوع | الموقع | الحالة |
|---|---|---|---|
project-layout |
هيكلة المشروع — أين يسكن كل شيء، ولماذا | زُر ↗ | 🔨 |
representation |
التمثيل — بنيةٌ يكتبها إنسانٌ وينفّذها برنامج | زُر ↗ | 🔨 |
.claude/ الثوابت والأدلّة والأساليب والمهارات
kit/ العدّة المشتركة للمواقع: سلوك وبنية بلا مظهر
curricula/ المناهج، مصنَّفة
tools/ doctor
archive/ ما ليس منهجاً
ideas.md دفتر أفكار المناهج القادمة
كل منهج يحتوي curriculum.json وREADME.md وregions/ وsite/. الشكل الكامل
في conventions/repo-layout.md.
العمل هنا قائم على ثلاث طبقات، وما يفرّق بينها أنها لا تتغيّر بنفس الطريقة:
الثوابت في invariants.md لا تتغيّر. وهي قواعد
نزاهة، أهمّها أن ما لا يمكن التحقق منه لا يُكتب.
الأدلّة في evidence/ هي ما أثبته البحث
التربويّ، وتتغيّر بدراسة جديدة تمرّ بإجراء معلوم مكتوب هناك.
الأسلوب في profiles/ قراراتٌ يملكها المؤلّف: القالب،
ودرجة الصعوبة، ومتى يُعطى تلميح.
كل منهج يعلن أسلوبه في curriculum.json، وكل حقل في الأسلوب يحيل إلى دليل أو
إلى اجتهاد مسجَّل. وإن أردت أسلوباً غير المستعمل هنا، انسخ
_template.md وأجب عن حقوله، ولن تحتاج إلى
تعديل أي مهارة.
وإن أردت لماذا بُني المستودع هكذا، فذلك في
philosophy/.
تحتاج Node 20.19 أو أحدث. التثبيت مرّة واحدة من الجذر، فمساحة العمل واحدة:
npm install
node tools/doctor.mjs # هل البنية والتوثيق متطابقان؟
node tools/doctor.mjs --fix # يعيد توليد الجداولجداول المناهج في هذا الملف وفي ملفات التصنيفات مولّدة من curriculum.json، فلا
تحرّرها بيدك. وكذلك عنوان الموقع: يشتقّه doctor من اسم المنهج
(https://<slug>.nodeksa.com).
وكل منهج تطبيق React مستقلّ يُبنى إلى مجلد ساكن، بلا أصول خارجية، ويمكن تثبيته
كتطبيق. أمر البناء والرفع مكتوب في site/README.md عند كل منهج، والعدّة
المشتركة في kit/.
المحتوى تحت CC BY-NC-SA 4.0، والكود تحت PolyForm Noncommercial 1.0.0. كلتاهما تمنع الاستعمال التجاري: البيع، والإدراج في دورة مدفوعة، والاستعمال داخل منتج أو خدمة مدفوعة.
وتُسمح صراحةً الدراسة الشخصية والبحث ومشاريع الهواية، وكذلك المؤسسات التعليمية والخيرية والبحثية العامة.
وإن كان ما تريده يقع خارج ذلك، راسلني ونتّفق عليه.