عن المشروع
tutor هي دورة تدريبية لتعلم لغة Python تعمل دون اتصال بالإنترنت عبر الطرفية (terminal)، حيث تعتمد على كتابة كود حقيقي بدلاً من مشاهدة الفيديوهات. الدروس، والتدريبات، والأمثلة التطبيقية، و"VIM dojo"، وأداة تتبع "watch it run" المتحركة، كلها معدة مسبقاً ويتم توليدها محلياً؛ ويذكر ملف README أنه لا توجد استدعاءات لنماذج ذكاء اصطناعي ولا وصول للشبكة، لذا فهي تعمل بالكامل دون اتصال ولا ترسل بيانات للخارج.
تعمل الدورة داخل محرر نصوص نمطي (modal editor) بأسلوب Neovim. يتلخص سير العمل في: قراءة التحدي، الضغط على i لبدء الكتابة، الضغط على Esc، ثم التشغيل والتسليم عبر :!python3 % أو Ctrl+Enter. يؤدي النجاح إلى الانتقال للتحدي التالي، بينما يسمح الفشل بإصلاح الكود وإعادة التشغيل. تشمل مفاتيح وضع NORMAL: التحرك عبر h/j/k/l، والإدراج عبر i/a/A/I/o/O، وحذف حرف عبر x، وحذف سطر عبر dd، والنسخ عبر yy، واللصق عبر p، والتراجع عبر u، والوصول للحواف عبر 0/$، والأعلى/الأسفل عبر gg/G، مع مفتاح Enter للدخول في الدرس واختصارات للمشاهدة، والاستماع، والدروس، والتحقق السريع، وورقة الغش، والمراجعة، والأمثلة، ومستوى الصوت، والصوت، والموسيقى.
يتم تقديم السرد الصوتي عبر محرك TTS محلي يتم اكتشافه تلقائياً: إما espeak-ng (الموصوف بأنه الأسهل والأكثر توفراً، وصوته آلي) أو Piper (صوت عصبي يتم تثبيته عبر سكربت مرفق). يقوم مفتاح F6 بتبديل الصوت، ويظل كل شيء يعمل بصمت في حال عدم تثبيت أي صوت. تعتمد أصوات الضغط على المفاتيح ونغمات الفوز/الفشل على aplay/paplay عبر ALSA أو PulseAudio، ويتضمن برنامج التثبيت حزمة وسائط تحتوي على 32 عينة لضغطات مفاتيح ميكانيكية ومكتبة نغمات. يفتح مفتاح F4 لوحة التحكم في مستوى الصوت مع منزلقات منفصلة للصوت والمؤثرات الصوتية، ويتم حفظ المستويين بين الجلسات.
بالإضافة إلى أساسيات اللغة، تتضمن المواد مسار BUILD STUFF مع طرفية bash حقيقية وشجرة مجلدات حية، بحيث يمكنك إنشاء المجلدات والملفات ثم تشغيل برنامجك الخاص. كما يوصف مسار CLOUD & DEVOPS بأنه يتكون من 11 وحدة و92 درساً، تغطي التحكم في الإصدار باستخدام git، والتغليف باستخدام Docker، وAWS S3، وEC2، وLambda، وDynamoDB وIAM عبر واجهة CLI ولغة boto3 Python، والبنية التحتية ككود (IaC) باستخدام Terraform، وأتمتة الخوادم باستخدام Ansible بما في ذلك idempotency وhandlers، وخط أنابيب CI/CD يتحول بين الأحمر والأخضر — كل ذلك داخل سحابة محاكاة تعمل دون اتصال.
يتم حفظ التقدم مثل XP والمستوى وسلسلة الإنجازات ومستوى الصوت في ~/.learning/progress.json ولا تتأثر بالتحديثات. التثبيت يتم عبر سكربت curl من سطر واحد يقوم بتنزيل التطبيق إلى ~/.local/share/tutor/، وإنشاء virtualenv خاص، وتثبيت تبعيتين لـ Python (textual و rich)، ووضع مشغل tutor في ~/.local/bin؛ كما تتوفر خيارات التثبيت عبر pip أو pipx من رابط Git. إعادة تشغيل برنامج التثبيت هي عملية idempotent وتقوم بسحب أحدث كود وحزمة الوسائط. المشروع مرخص بموجب رخصة MIT.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.