chore(i18n): sync translations with latest source changes (chunk 1/1, 9 changes)

pull/1774/head
localizeflow[bot] 3 months ago
parent 165e807554
commit b56c4f2f9e

@ -1,7 +1,7 @@
{
"1-getting-started-lessons/1-intro-to-programming-languages/README.md": {
"original_hash": "bec5e35642176d9e483552bfc82996d8",
"translation_date": "2026-03-06T16:49:23+00:00",
"original_hash": "d5eeb6e975b5864d8da52d4a41941f8d",
"translation_date": "2026-03-27T21:40:57+00:00",
"source_file": "1-getting-started-lessons/1-intro-to-programming-languages/README.md",
"language_code": "ar"
},
@ -493,7 +493,7 @@
},
"AGENTS.md": {
"original_hash": "a362efd06d64d4134a0cfe8515a86d34",
"translation_date": "2026-03-06T16:52:52+00:00",
"translation_date": "2026-03-27T21:44:05+00:00",
"source_file": "AGENTS.md",
"language_code": "ar"
},

@ -2,23 +2,23 @@
## نظرة عامة على المشروع
هذا مستودع منهج تعليمي لتعليم أساسيات تطوير الويب للمبتدئين. المنهج عبارة عن دورة شاملة لمدة 12 أسبوعًا طورتها Microsoft Cloud Advocates، تشمل 24 درسًا عمليًا تغطي JavaScript و CSS و HTML.
هذا مستودع منهج تعليمي لتعليم أساسيات تطوير الويب للمبتدئين. المنهج عبارة عن دورة شاملة لمدة 12 أسبوعًا تم تطويرها من قبل دعاة سحابة مايكروسوفت، تتضمن 24 درسًا عمليًا تغطي جافا سكريبت، CSS، وHTML.
### المكونات الرئيسية
- **المحتوى التعليمي**: 24 درسًا منظمًا في وحدات تعتمد على المشاريع
- **مشاريع عملية**: Terrarium, لعبة الطباعة، امتداد المتصفح، لعبة الفضاء، تطبيق مصرفي، محرر كود، ومساعد دردشة ذكي
- **اختبارات تفاعلية**: 48 اختبارًا يحتوي كل منها على 3 أسئلة (تقييمات قبل وبعد الدرس)
- **دعم متعدد اللغات**: ترجمات آلية لأكثر من 50 لغة عبر GitHub Actions
- **التقنيات**: HTML, CSS, JavaScript, Vue.js 3, Vite, Node.js, Express, Python (لمشاريع الذكاء الاصطناعي)
- **المحتوى التعليمي**: 24 درسًا منظمًا في وحدات قائمة على المشاريع
- **مشاريع عملية**: Terrarium، لعبة الكتابة، امتداد المتصفح، لعبة الفضاء، تطبيق البنك، محرر التعليمات البرمجية، ومساعد دردشة بالذكاء الاصطناعي
- **اختبارات تفاعلية**: 48 اختبارًا مع 3 أسئلة لكل اختبار (تقييمات ما قبل/بعد الدرس)
- **دعم متعدد اللغات**: ترجمات آلية لأكثر من 50 لغة عبر GitHub Actions
- **التقنيات**: HTML، CSS، JavaScript، Vue.js 3، Vite، Node.js، Express، بايثون (لمشاريع الذكاء الاصطناعي)
### الهيكلية
- مستودع تعليمي به هيكل يعتمد على الدروس
- يحتوي كل مجلد درس على README، أمثلة الكود، والحلول
- مشاريع مستقلة في مجلدات منفصلة (quiz-app، مشاريع الدروس المختلفة)
- نظام ترجمة باستخدام GitHub Actions (co-op-translator)
- توثيق مقدم عبر Docsify ومتوافر كملف PDF
- مستودع تعليمي به هيكل قائم على الدروس
- يحتوي كل مجلد درس على README، أمثلة تعليمية، وحلول
- مشاريع مستقلة في مجلدات منفصلة (quiz-app، مشاريع الدروس المختلفة)
- نظام الترجمة يستخدم GitHub Actions (co-op-translator)
- الوثائق مقدمة عبر Docsify ومتوفرة أيضًا كملف PDF
## أوامر الإعداد
@ -36,8 +36,8 @@ cd Web-Dev-For-Beginners
```bash
cd quiz-app
npm install
npm run dev # ابدأ خادم التطوير
npm run build # بناء للإنتاج
npm run dev # بدء خادم التطوير
npm run build # البناء للإنتاج
npm run lint # تشغيل ESLint
```
@ -56,7 +56,7 @@ npm run format # التنسيق باستخدام Prettier
```bash
cd 5-browser-extension/solution
npm install
# اتبع تعليمات تحميل الإضافات الخاصة بالمتصفح
# اتبع تعليمات تحميل الإضافة الخاصة بالمتصفح
```
### مشاريع لعبة الفضاء
@ -64,45 +64,45 @@ npm install
```bash
cd 6-space-game/solution
npm install
# افتح index.html في المتصفح أو استخدم Live Server
# افتح index.html في المتصفح أو استخدم الخادم الحي
```
### مشروع الدردشة (باك إند بايثون)
### مشروع الدردشة (خلفية بايثون)
```bash
cd 9-chat-project/solution/backend/python
pip install openai
# تعيين متغير البيئة GITHUB_TOKEN
# تعيين المتغير البيئي GITHUB_TOKEN
python api.py
```
## سير العمل التطويري
## سير عمل التطوير
### للمساهمين في المحتوى
1. **فرع المستودع** إلى حسابك على GitHub
2. **نسخ الفرع** محليًا
3. **إنشاء فرع جديد** للتعديلات التي ستجريها
4. أجرِ التعديلات على محتوى الدرس أو أمثلة الكود
5. اختبر تغييرات الكود في مجلدات المشاريع ذات الصلة
6. أرسل طلبات السحب وفقًا لإرشادات المساهمة
1. **استنسخ المستودع** إلى حساب GitHub الخاص بك
2. **انسخ الاستنساخ محليًا**
3. **أنشئ فرعًا جديدًا** لتغييراتك
4. قم بإجراء تغييرات على محتوى الدروس أو أمثلة الشيفرة
5. اختبر أي تغييرات على الشيفرة في مجلدات المشاريع المعنية
6. قدم طلبات سحب طبقًا لإرشادات المساهمة
### للمتعلمين
1. فرع أو استنسخ المستودع
2. انتقل تدريجيًا إلى مجلدات الدروس
3. اقرأ ملفات README لكل درس
4. أكمل الاختبارات قبل الدرس على https://ff-quizzes.netlify.app/web/
5. تابع أمثلة الكود في مجلدات الدروس
6. أكمل الواجبات والتحديات
7. خُذ اختبارات ما بعد الدرس
1. استنسخ أو انسخ المستودع
2. انتقل إلى مجلدات الدروس بالتسلسل
3. اقرأ ملفات README لكل درس
4. أكمل اختبارات ما قبل الدرس عبر https://ff-quizzes.netlify.app/web/
5. قم بتنفيذ الأمثلة البرمجية في مجلدات الدروس
6. أكمل الواجبات والتحديات
7. خذ اختبارات ما بعد الدرس
### التطوير الحي
### التطوير المباشر
- **التوثيق**: شغّل الأمر `docsify serve` في المسار الجذري (المنفذ 3000)
- **تطبيق الاختبار**: شغّل `npm run dev` في مجلد quiz-app
- **المشاريع**: استخدم إضافة Live Server في VS Code لمشاريع HTML
- **مشاريع API**: شغّل `npm start` في مجلدات API المعنية
- **الوثائق**: قم بتشغيل `docsify serve` من الجذر (المنفذ 3000)
- **تطبيق الاختبار**: شغل `npm run dev` في مجلد quiz-app
- **المشاريع**: استخدم ملحق VS Code Live Server لمشاريع HTML
- **مشاريع API**: شغل `npm start` في مجلدات API المعنية
## تعليمات الاختبار
@ -111,172 +111,172 @@ python api.py
```bash
cd quiz-app
npm run lint # التحقق من مشاكل نمط الكود
npm run build # التأكد من نجاح الإنشاء
npm run build # التحقق من نجاح البناء
```
### اختبار API البنك
```bash
cd 7-bank-project/api
npm run lint # التحقق من مشاكل نمط الكود
npm run lint # التحقق من مشكلات نمط الكود
node server.js # التحقق من بدء الخادم بدون أخطاء
```
### نهج الاختبار العام
### منهجية الاختبار العامة
- هذا مستودع تعليمي بدون اختبارات آلية شاملة
- الاختبار اليدوي يركز على:
- تشغيل أمثلة الكود بدون أخطاء
- تأكد من عمل الروابط في التوثيق بشكل صحيح
- اكتمال بناء المشروع بنجاح
- اتباع أمثلة الكود لأفضل الممارسات
- هذا مستودع تعليمي بدون اختبارات آلية شاملة
- تركيز الاختبار اليدوي على:
- تشغيل أمثلة الشيفرة بدون أخطاء
- عمل الروابط في الوثائق بشكل صحيح
- إتمام بناء المشاريع بنجاح
- اتباع أفضل الممارسات في الأمثلة
### الفحوصات قبل الإرسال
### فحوصات ما قبل الإرسال
- شغّل `npm run lint` في المجلدات التي تحوي package.json
- تحقق من صحة روابط markdown
- اختبر أمثلة الكود في المتصفح أو Node.js
- تأكد من أن الترجمات تحافظ على الهيكل الصحيح
- شغل `npm run lint` في المجلدات التي تحتوي على package.json
- تحقق من صحة روابط الماركداون
- اختبر أمثلة الشيفرة في المتصفح أو Node.js
- تأكد من أن الترجمة تحافظ على البنية الصحيحة
## إرشادات نمط الكود
## إرشادات نمط الشيفرة
### جافا سكريبت
- استخدم صياغة ES6+ الحديثة
- اتبع تكوينات ESLint القياسية المقدمة في المشاريع
- استخدم أسماء متغيرات ودوال ذات معنى لتعزيز وضوح التعليم
- أضف تعليقات تشرح المفاهيم للمتعلمين
- نسق باستخدام Prettier حيثما تم التكوين
- استخدام صياغة ES6+ الحديثة
- اتباع تهيئات ESLint القياسية المقدمة في المشاريع
- استخدام أسماء متغيرات ودوال ذات معنى للتوضيح التعليمي
- إضافة تعليقات تشرح المفاهيم للمتعلمين
- التنسيق باستخدام Prettier حيثما تم التهيئة
### HTML/CSS
- استخدم عناصر HTML5 الدلالية
- مبادئ التصميم المتجاوب
- تسميات واضحة للفئات (class)
- تعليقات تشرح تقنيات CSS للمتعلمين
- عناصر HTML5 الدلالية
- مبادئ التصميم المتجاوب
- تسميات واضحة للفئات (classes)
- تعليقات تشرح تقنيات CSS للمتعلمين
### بايثون
- اتبع إرشادات نمط PEP 8
- أمثلة كود واضحة وتعليمية
- استخدم تنبيهات النوع (Type hints) إن كان مفيدًا للتعلم
- إرشادات نمط PEP 8
- أمثلة شيفرة واضحة وتعليمية
- تعليمات النوع حيثما تسهل التعلم
### توثيق Markdown
### توثيق ماركداون
- تسلسل واضح للعناوين
- كتل كود مع تحديد اللغة
- روابط لموارد إضافية
- لقطات شاشة وصور في مجلدات `images/`
- نص بديل للصور لدعم إمكانية الوصول
- تسلسل عناوين واضحة
- كتل شيفرة مع تحديد اللغة
- روابط لمصادر إضافية
- لقطات وصور في مجلدات `images/`
- نص بديل للصور لدعم الوصول
### تنظيم الملفات
- ترقم الدروس بشكل تسلسلي (1-getting-started-lessons, 2-js-basics، ..)
- يحتوي كل مشروع على مجلد `solution/` وغالبًا `start/` أو `your-work/`
- تُخزن الصور في مجلدات `images/` الخاصة بكل درس
- الترجمات في هيكل `translations/{language-code}/`
- الدروس مرقمة بالتسلسل (1-getting-started-lessons, 2-js-basics,... )
- يحتوي كل مشروع على مجلد `solution/` وغالباً `start/` أو `your-work/`
- تخزين الصور في مجلدات `images/` الخاصة بكل درس
- الترجمة في هيكل `translations/{language-code}/`
## البناء والنشر
### نشر تطبيق الاختبار (Azure Static Web Apps)
تم تكوين quiz-app للنشر على Azure Static Web Apps:
تم تهيئة تطبيق الاختبار للنشر على Azure Static Web Apps:
```bash
cd quiz-app
npm run build # ينشئ مجلد dist/
# ينفذ النشر عبر سير عمل GitHub Actions عند الدفع إلى الفرع الرئيسي
# ينشر عبر سير عمل GitHub Actions عند الدفع إلى الفرع الرئيسي
```
تكوين Azure Static Web Apps:
- **موقع التطبيق**: `/quiz-app`
- **موقع المخرجات**: `dist`
- **سير العمل**: `.github/workflows/azure-static-web-apps-ashy-river-0debb7803.yml`
إعداد Azure Static Web Apps:
- **موقع التطبيق**: `/quiz-app`
- **موقع الإخراج**: `dist`
- **سير العمل**: `.github/workflows/azure-static-web-apps-ashy-river-0debb7803.yml`
### توليد ملف PDF للتوثيق
### إنشاء ملفات PDF للوثائق
```bash
npm install # تثبيت docsify-to-pdf
npm run convert # إنشاء ملف PDF من المستندات
npm run convert # توليد ملف PDF من المستندات
```
### توثيق Docsify
```bash
npm install -g docsify-cli # تثبيت Docsify على مستوى النظام
docsify serve # الخادم على localhost:3000
docsify serve # الخدمة على localhost:3000
```
### بناء خاص بكل مشروع
قد يحتوي كل مجلد مشروع على عملية بناء خاصة به:
- مشاريع Vue: `npm run build` لإنشاء الحزم للإنتاج
- المشاريع الثابتة: لا توجد خطوة بناء، تقديم الملفات مباشرة
قد يحتوي كل مشروع على عملية بناء خاصة به:
- مشاريع Vue: أمر `npm run build` لإنشاء حزم الإنتاج
- المشاريع الثابتة: لا تحتاج لخطوة بناء، تقدم الملفات مباشرة
## إرشادات طلبات السحب
## إرشادات طلب السحب
### صيغة العنوان
استخدم عناوين واضحة وواصفة تشير إلى مجال التغيير:
- `[Quiz-app] أضف اختبارًا جديدًا للدرس X`
- `[Lesson-3] أصلح خطأ إملائي في مشروع Terrarium`
- `[Translation] أضف ترجمة إسبانية للدرس 5`
- `[Docs] حدث تعليمات الإعداد`
استخدم عناوين واضحة ووصفيه تشير إلى مجال التغيير:
- `[Quiz-app] إضافة اختبار جديد للدرس X`
- `[Lesson-3] تصحيح خطأ إملائي في مشروع terrarium`
- `[Translation] إضافة الترجمة الإسبانية للدرس 5`
- `[Docs] تحديث تعليمات الإعداد`
### الفحوصات المطلوبة
قبل إرسال طلب السحب:
قبل تقديم طلب السحب:
1. **جودة الكود**:
- شغّل `npm run lint` في مجلدات المشاريع المتأثرة
- أصلح جميع أخطاء التحليل التحذيرية
1. **جودة الشيفرة**:
- شغّل `npm run lint` في مجلدات المشاريع
- أصلح جميع أخطاء وإنذارات الفحص
2. **التحقق من البناء**:
- شغّل `npm run build` إذا كان ذلك مطبقًا
- تأكد من عدم وجود أخطاء في البناء
2. **التحقق من البناء**:
- نفذ `npm run build` إن استدعى الأمر
- تحقق من عدم وجود أخطاء في البناء
3. **التحقق من الروابط**:
- اختبر جميع روابط markdown
- تحقق من عمل مراجع الصور
3. **التحقق من الروابط**:
- اختبر جميع روابط الماركداون
- تحقق من عمل إشارات الصور
4. **مراجعة المحتوى**:
- تدقيق إملائي ونحوي
- تأكد من صحة أمثلة الكود وتعليميتها
- تحقق من المحافظة على المعنى الأصلي في الترجمات
4. **مراجعة المحتوى**:
- تدقيق نحوي وإملائي
- التأكد من صحة أمثلة الشيفرات وجودتها التعليمية
- التأكد من دقة الترجمات ومعناها الأصلي
### متطلبات المساهمة
- الموافقة على اتفاقية ترخيص المساهمة من Microsoft (فحص تلقائي في أول طلب سحب)
- الالتزام ب[مدونة السلوك المفتوحة لمايكروسوفت](https://opensource.microsoft.com/codeofconduct/)
- راجع [CONTRIBUTING.md](./CONTRIBUTING.md) للإرشادات التفصيلية
- أشر إلى أرقام القضايا في وصف طلب السحب إن وجد
- الموافقة على اتفاقية ترخيص مساهمات مايكروسوفت (فحص آلي على أول طلب سحب)
- اتباع [مدونة قواعد السلوك المفتوح لمايكروسوفت](https://opensource.microsoft.com/codeofconduct/)
- راجع [CONTRIBUTING.md](./CONTRIBUTING.md) للتفاصيل
- المرجعية لأرقام القضايا في وصف طلب السحب إن وجد
### عملية المراجعة
- مراجعة طلبات السحب من قبل الصيانة والمجتمع
- الأولوية لوضوح التعليم
- يجب أن تتبع أمثلة الكود أفضل الممارسات الحالية
- مراجعة الترجمات للدقة والملاءمة الثقافية
- مراجعة طلبات السحب من قبل الصيانة والمجتمع
- التركيز على الوضوح التعليمي
- يجب أن تتبع أمثلة الشيفرة أفضل الممارسات الحالية
- مراجعة الترجمات للتحقق من الدقة والتوافق الثقافي
## نظام الترجمة
### الترجمة الآلية
- يستخدم GitHub Actions مع سير العمل co-op-translator
- يترجم إلى أكثر من 50 لغة تلقائيًا
- الملفات المصدر في الدلائل الرئيسية
- الملفات المترجمة في مجلدات `translations/{language-code}/`
- يستخدم GitHub Actions مع سير العمل co-op-translator
- يترجم تلقائيًا لأكثر من 50 لغة
- ملفات المصدر في المجلدات الرئيسية
- الملفات المترجمة في مجلدات `translations/{language-code}/`
### إضافة تحسينات الترجمة اليدوية
### إضافة تحسينات يدوية للترجمة
1. حدد موقع الملف في `translations/{language-code}/`
2. أجرِ تحسينات مع الحفاظ على الهيكل
3. تأكد من بقاء أمثلة الكود فعالة
4. اختبر أي محتوى اختبار محلي
1. حدد الملف في `translations/{language-code}/`
2. قم بالتحسينات مع الحفاظ على البنية
3. تأكد من بقاء أمثلة الشيفرة عاملة
4. اختبر أي محتوى اختبارات محلي
### بيانات الترجمة الوصفية
### بيانات وصفية للترجمة
الملفات المترجمة تشمل رأس بيانات وصفية:
الملفات المترجمة تتضمن رأس بيانات وصفية:
```markdown
<!--
CO_OP_TRANSLATOR_METADATA:
@ -289,120 +289,120 @@ CO_OP_TRANSLATOR_METADATA:
-->
```
## التحري عن الأخطاء وحل المشاكل
## تصحيح الأخطاء واستكشاف المشاكل
### المشاكل الشائعة
### مشاكل شائعة
**فشل تطبيق الاختبار في البدء**:
- تحقق من إصدار Node.js (ينصح v14+)
- احذف `node_modules` و `package-lock.json`، ثم أعد تشغيل `npm install`
- تحقق من تعارض المنافذ (افتراضي: Vite يستخدم المنفذ 5173)
**فشل بدء تطبيق الاختبار**:
- تحقق من إصدار Node.js (يفضل v14+)
- احذف `node_modules` و `package-lock.json`، ثم شغل `npm install` من جديد
- تحقق من تعارض المنافذ (Vite الافتراضي يستخدم المنفذ 5173)
**عدم بدء خادم API**:
- تحقق من أن نسخة Node.js تفي بالحد الأدنى (node >=10)
- تحقق إذا كان المنفذ مستخدمًا بالفعل
- تأكد من تثبيت جميع التبعيات باستخدام `npm install`
**خادم API لا يبدأ**:
- تحقق من أن إصدار Node.js مناسب (node >=10)
- تحقق مما إذا كان المنفذ قيد الاستخدام بالفعل
- تأكد من تثبيت جميع التبعيات عبر `npm install`
**امتداد المتصفح لا يعمل**:
- تحقق من صحة صياغة manifest.json
- تحقق من وحدة تحكم المتصفح للأخطاء
- اتبع تعليمات تثبيت الامتداد الخاصة بالمتصفح
**امتداد المتصفح لا يعمل**:
- تحقق من تنسيق manifest.json بشكل صحيح
- راجع أخطاء وحدة تحكم المتصفح
- اتبع تعليمات تثبيت الامتداد الخاصة بالمتصفح
**مشاكل مشروع الدردشة بايثون**:
- تأكد من تثبيت حزمة OpenAI: `pip install openai`
- تحقق من تعيين متغير البيئة GITHUB_TOKEN
- تحقق من أذونات الوصول لنماذج GitHub
**مشاكل مشروع دردشة بايثون**:
- تأكد من تثبيت حزمة OpenAI: `pip install openai`
- تحقق من تعيين متغير البيئة GITHUB_TOKEN
- راجع أذونات الوصول لنماذج GitHub
**عدم تقديم Docsify للتوثيق**:
- ثبت docsify-cli عالميًا: `npm install -g docsify-cli`
- شغّل الأمر من الدليل الجذري للمستودع
- تأكد من وجود `docs/_sidebar.md`
**عدم عرض Docsify للوثائق**:
- ثبت docsify-cli عالميًا: `npm install -g docsify-cli`
- شغّل الأمر من جذر المستودع
- تحقق من وجود ملف `docs/_sidebar.md`
### نصائح بيئة التطوير
- استخدم VS Code مع إضافة Live Server لمشاريع HTML
- ثبت إضافات ESLint و Prettier لتنسيق موحد
- استخدم أدوات المتصفح لتصحيح جافا سكريبت
- لمشاريع Vue، ثبت إضافة Vue DevTools للمتصفح
- استخدم VS Code مع ملحق Live Server لمشاريع HTML
- ثبت ملحقات ESLint وPrettier للتنسيق المتسق
- استخدم أدوات المطورين في المتصفح لتصحيح JavaScript
- لمشاريع Vue، ثبت ملحق Vue DevTools للمتصفح
### اعتبارات الأداء
- عدد كبير من الملفات المترجمة (أكثر من 50 لغة) يجعل النسخ الكاملة كبيرًا
- استخدم استنساخ عميق ضحل عند العمل على المحتوى فقط: `git clone --depth 1`
- استبعد الترجمات من عمليات البحث عند العمل على المحتوى الإنجليزي
- عمليات البناء قد تكون بطيئة في أول تشغيل (npm install، بناء Vite)
- عدد كبير من الملفات المترجمة (>50 لغة) يعني أن الاستنساخ الكامل ضخم
- استخدم استنساخ ضحل إذا كنت تعمل فقط على المحتوى: `git clone --depth 1`
- استثنِ الترجمات من البحث عند العمل على المحتوى بالإنجليزية
- قد تكون عمليات البناء بطيئة في التشغيل الأول (npm install، بناء Vite)
## اعتبارات الأمان
### متغيرات البيئة
- يجب ألا يتم الالتزام بمفاتيح API في المستودع
- استخدم ملفات `.env` (مضمّنة في `.gitignore`)
- وثّق متغيرات البيئة المطلوبة في ملفات README الخاصة بالمشاريع
- لا يجب أبدًا تضمين مفاتيح API في المستودع
- استخدم ملفات `.env` (مضمّنة بالفعل في `.gitignore`)
- وثق متغيرات البيئة المطلوبة في ملفات README للمشاريع
### مشاريع بايثون
- استخدم بيئات افتراضية: `python -m venv venv`
- حافظ على تحديث التبعيات
- يجب أن تمتلك رموز GitHub صلاحيات قليلة قدر الإمكان
- استخدم بيئات افتراضية: `python -m venv venv`
- حافظ على تحديث التبعيات
- يجب أن تمتلك رموز GitHub أقل الصلاحيات المطلوبة
### وصول نماذج GitHub
- يتطلب الوصول رموز وصول شخصية (PAT)
- يجب تخزين الرموز كمتغيرات بيئة
- لا تلتزم الرموز أو بيانات الاعتماد في المستودع
- تتطلب رموز وصول شخصية (PAT) لنماذج GitHub
- يجب تخزين الرموز كمتغيرات بيئية
- لا تقم أبدًا بتضمين الرموز أو بيانات الاعتماد في المستودع
## ملاحظات إضافية
### الجمهور المستهدف
- مبتدئون تامون في تطوير الويب
- الطلاب والتعلم الذاتي
- المعلمون الذين يستخدمون المنهج داخل الصفوف
- المحتوى مصمم للوصول السهل وبناء المهارات تدريجيًا
- المبتدئون الكاملون في تطوير الويب
- الطلاب والمتعلمون الذاتيّون
- المعلمون الذين يستخدمون المنهج داخل الفصول الدراسية
- تم تصميم المحتوى ليكون وصوليًا وبناء مهارات تدريجي
### الفلسفة التعليمية
### فلسفة التعليم
- نهج التعلم القائم على المشاريع
- اختبارات معرفة متكررة (اختبارات قصيرة)
- تمارين عملية في البرمجة
- أمثلة تطبيقية من العالم الحقيقي
- التركيز على الأساسيات قبل الأُطُر (frameworks)
- نهج التعلم القائم على المشاريع
- فحوصات معرفية متكررة (اختبارات)
- تمارين تعليمية عملية
- أمثلة تطبيقية من الواقع
- التركيز على الأساسيات قبل الأُطُر البرمجية
### صيانة المستودع
- مجتمع نشط من المتعلمين والمساهمين
- تحديثات منتظمة للتبعيات والمحتوى
- مراقبة القضايا والمناقشات من قِبل القائمين على الصيانة
- تحديثات الترجمة مؤتمتة عبر GitHub Actions
- مجتمع نشط من المتعلمين والمساهمين
- تحديثات منتظمة للتبعيات والمحتوى
- مراقبة القضايا والنقاشات من قبل الصيانة
- تحديث الترجمة يتم تلقائيًا عبر GitHub Actions
### الموارد المرتبطة
### موارد ذات صلة
- [وحدات Microsoft Learn](https://docs.microsoft.com/learn/)
- [موارد Student Hub](https://docs.microsoft.com/learn/student-hub/)
- [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) موصى به للمتعلمين
- دورات إضافية: الذكاء الاصطناعي التوليدي، علم البيانات، التعلم الآلي، مناهج إنترنت الأشياء متاحة
- [وحدات Microsoft Learn](https://docs.microsoft.com/learn/)
- [موارد Student Hub](https://docs.microsoft.com/learn/student-hub/)
- [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) موصى به للمتعلمين
- دورات إضافية: الذكاء الاصطناعي التوليدي، علم البيانات، تعلم الآلة، مناهج إنترنت الأشياء
### العمل مع مشاريع محددة
للتعليمات التفصيلية عن المشاريع الفردية، راجع ملفات README في:
- `quiz-app/README.md` - تطبيق اختبار Vue 3
- `7-bank-project/README.md` - تطبيق مصرفي مع المصادقة
- `5-browser-extension/README.md` - تطوير امتدادات المتصفح
- `6-space-game/README.md` - تطوير لعبة باستخدام Canvas
- `9-chat-project/README.md` - مشروع مساعد دردشة ذكي
للحصول على تعليمات تفصيلية حول المشاريع الفردية، راجع ملفات README في:
- `quiz-app/README.md` - تطبيق اختبار Vue 3
- `7-bank-project/README.md` - تطبيق بنكي مع مصادقة
- `5-browser-extension/README.md` - تطوير امتداد متصفح
- `6-space-game/README.md` - تطوير لعبة قائمة على Canvas
- `9-chat-project/README.md` - مشروع مساعد دردشة بالذكاء الاصطناعي
### هيكل المونوريبوزيتوري
### هيكلية المونوريبو
بينما ليس مونوريبوزيتوري تقليدي، يحتوي هذا المستودع على مشاريع مستقلة متعددة:
- كل درس مستقل ذاتيًا
- المشاريع لا تشترك في التبعيات
- العمل على المشاريع الفردية بدون التأثير على الأخرى
- استنسخ المستودع كاملًا للحصول على تجربة المنهج الكامل
رغم أنه ليس مونوريبو تقليدي، يحتوي هذا المستودع على عدة مشاريع مستقلة:
- كل درس مستقل بذاته
- المشاريع لا تشترك في التبعيات
- يمكنك العمل على مشاريع فردية دون التأثير على الأخرى
- استنسخ المستودع كاملًا لتجربة المنهج الكامل
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**إخلاء المسؤولية**:
تمت ترجمة هذا المستند باستخدام خدمة الترجمة الآلية [Co-op Translator](https://github.com/Azure/co-op-translator). بينما نسعى للحفاظ على الدقة، يرجى العلم أن الترجمات الآلية قد تحتوي على أخطاء أو عدم دقة. يجب اعتبار المستند الأصلي بلغته الأصلية المصدر المعتمد. للوثائق والمعلومات الحيوية، يُنصح بالاستعانة بترجمة بشرية محترفة. نحن غير مسؤولين عن أي سوء فهم أو تفسير خاطئ ينشأ عن استخدام هذه الترجمة.
**تنويه**:
تمت ترجمة هذا المستند باستخدام خدمة الترجمة الآلية [Co-op Translator](https://github.com/Azure/co-op-translator). بينما نسعى لتحقيق الدقة، يرجى العلم أن الترجمات الآلية قد تحتوي على أخطاء أو عدم دقة. يجب اعتبار المستند الأصلي بلغته الأصلية المصدر الموثوق. للمعلومات الهامة، يُنصح بالترجمة الاحترافية بواسطة بشر. نحن غير مسؤولين عن أي سوء فهم أو تفسير ناتج عن استخدام هذه الترجمة.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -1,7 +1,7 @@
{
"1-getting-started-lessons/1-intro-to-programming-languages/README.md": {
"original_hash": "bec5e35642176d9e483552bfc82996d8",
"translation_date": "2026-03-06T16:37:25+00:00",
"original_hash": "d5eeb6e975b5864d8da52d4a41941f8d",
"translation_date": "2026-03-27T21:33:43+00:00",
"source_file": "1-getting-started-lessons/1-intro-to-programming-languages/README.md",
"language_code": "de"
},
@ -493,7 +493,7 @@
},
"AGENTS.md": {
"original_hash": "a362efd06d64d4134a0cfe8515a86d34",
"translation_date": "2026-03-06T16:50:26+00:00",
"translation_date": "2026-03-27T21:42:04+00:00",
"source_file": "AGENTS.md",
"language_code": "de"
},

@ -2,42 +2,42 @@
## Projektübersicht
Dies ist ein Bildungs-Curriculum-Repository zum Erlernen der Grundlagen der Webentwicklung für Einsteiger. Das Curriculum ist ein umfassender 12-Wochen-Kurs, der von Microsoft Cloud Advocates entwickelt wurde und 24 praxisorientierte Lektionen zu JavaScript, CSS und HTML umfasst.
Dies ist ein Bildungs-Curriculum-Repository zum Unterrichten der Grundlagen der Webentwicklung für Anfänger. Das Curriculum ist ein umfassender 12-wöchiger Kurs, entwickelt von Microsoft Cloud Advocates, mit 24 praktischen Lektionen zu JavaScript, CSS und HTML.
### Hauptkomponenten
### Hauptbestandteile
- **Bildungsinhalte**: 24 strukturierte Lektionen, organisiert in projektbasierten Modulen
- **Praktische Projekte**: Terrarium, Tipp-Spiel, Browser-Erweiterung, Weltraumspiel, Bank-App, Code-Editor und KI-Chat-Assistent
- **Bildungsinhalt**: 24 strukturierte Lektionen, organisiert in projektbasierten Modulen
- **Praktische Projekte**: Terrarium, Tipp-Spiel, Browser-Erweiterung, Weltraumspiel, Banking-App, Code-Editor und KI-Chat-Assistent
- **Interaktive Quizze**: 48 Quizze mit jeweils 3 Fragen (Vor-/Nach-Lektion-Bewertungen)
- **Mehrsprachige Unterstützung**: Automatisierte Übersetzungen für über 50 Sprachen via GitHub Actions
- **Mehrsprachige Unterstützung**: Automatisierte Übersetzungen für 50+ Sprachen via GitHub Actions
- **Technologien**: HTML, CSS, JavaScript, Vue.js 3, Vite, Node.js, Express, Python (für KI-Projekte)
### Architektur
- Bildungs-Repository mit lektionenbasierter Struktur
- Jeder Lektionen-Ordner enthält README, Code-Beispiele und Lösungen
- Eigenständige Projekte in separaten Verzeichnissen (quiz-app, verschiedene Lektionenprojekte)
- Bildungsrepository mit lektionenbasierter Struktur
- Jeder Lektionenordner enthält README, Codebeispiele und Lösungen
- Eigenständige Projekte in separaten Verzeichnissen (quiz-app, verschiedene Lektionen-Projekte)
- Übersetzungssystem mit GitHub Actions (co-op-translator)
- Dokumentation bereitgestellt über Docsify und als PDF verfügbar
- Dokumentation bereitgestellt via Docsify und als PDF verfügbar
## Setup-Befehle
## Einrichtung Befehle
Dieses Repository dient hauptsächlich dem Konsum von Bildungsinhalten. Für die Arbeit mit bestimmten Projekten:
Dieses Repository dient hauptsächlich zum Konsumieren von Bildungsinhalten. Für die Arbeit mit spezifischen Projekten:
### Haupt-Repository-Setup
### Haupt-Repository-Einrichtung
```bash
git clone https://github.com/microsoft/Web-Dev-For-Beginners.git
cd Web-Dev-For-Beginners
```
### Quiz-App Setup (Vue 3 + Vite)
### Quiz-App Einrichtung (Vue 3 + Vite)
```bash
cd quiz-app
npm install
npm run dev # Entwicklungsserver starten
npm run build # Für Produktion erstellen
npm run build # Für die Produktion bauen
npm run lint # ESLint ausführen
```
@ -51,7 +51,7 @@ npm run lint # ESLint ausführen
npm run format # Mit Prettier formatieren
```
### Browser-Erweiterungs-Projekte
### Browser-Erweiterungsprojekte
```bash
cd 5-browser-extension/solution
@ -64,7 +64,7 @@ npm install
```bash
cd 6-space-game/solution
npm install
# Öffne index.html im Browser oder verwende Live Server
# Öffnen Sie index.html im Browser oder verwenden Sie Live Server
```
### Chat-Projekt (Python Backend)
@ -76,105 +76,105 @@ pip install openai
python api.py
```
## Entwicklungs-Workflow
## Entwicklungsablauf
### Für Inhaltsbeiträge
### Für Inhaltsmitwirkende
1. **Forken Sie das Repository** in Ihr GitHub-Konto
2. **Klonen Sie Ihren Fork** lokal
3. **Erstellen Sie einen neuen Branch** für Ihre Änderungen
4. Nehmen Sie Änderungen am Lektionstext oder Codebeispielen vor
5. Testen Sie Codeänderungen in relevanten Projektverzeichnissen
6. Reichen Sie Pull-Requests gemäß den Beitragsrichtlinien ein
1. **Forke das Repository** in deinem GitHub-Konto
2. **Klonen deinen Fork** lokal
3. **Erstelle einen neuen Branch** für deine Änderungen
4. Änderungen an Lektionstexten oder Codebeispielen vornehmen
5. Codeänderungen in relevanten Projektverzeichnissen testen
6. Pull Requests entsprechend der Beitragsrichtlinien einreichen
### Für Lernende
1. Repository forken oder klonen
2. Navigieren Sie sequentiell durch die Lektionen-Ordner
3. Lesen Sie die README-Dateien für jede Lektion
4. Machen Sie Vor-Lektionen-Quizze unter https://ff-quizzes.netlify.app/web/
5. Arbeiten Sie die Codebeispiele in den Lektionen-Ordnern durch
6. Erledigen Sie Aufgaben und Herausforderungen
7. Nehmen Sie an Nach-Lektionen-Quizzen teil
2. Nacheinander durch Lektionenverzeichnisse navigieren
3. README-Dateien jeder Lektion lesen
4. Vor-Lektion-Quizze auf https://ff-quizzes.netlify.app/web/ absolvieren
5. Codebeispiele in Lektionenordnern durcharbeiten
6. Aufgaben und Herausforderungen abschließen
7. Nach-Lektion-Quizze machen
### Live-Entwicklung
- **Dokumentation**: Führen Sie `docsify serve` im Root-Verzeichnis aus (Port 3000)
- **Quiz-App**: Führen Sie `npm run dev` im quiz-app-Verzeichnis aus
- **Projekte**: Verwenden Sie die VS Code Live Server-Erweiterung für HTML-Projekte
- **API-Projekte**: Führen Sie `npm start` in den jeweiligen API-Verzeichnissen aus
- **Dokumentation**: `docsify serve` im Root ausführen (Port 3000)
- **Quiz-App**: `npm run dev` im quiz-app-Verzeichnis ausführen
- **Projekte**: Verwende VS Code Live Server Erweiterung für HTML-Projekte
- **API-Projekte**: `npm start` in jeweiligen API-Verzeichnissen ausführen
## Testanweisungen
### Quiz-App Testen
### Quiz-App Test
```bash
cd quiz-app
npm run lint # Überprüfen Sie auf Stilprobleme im Code
npm run build # Stellen Sie sicher, dass der Build erfolgreich ist
npm run lint # Überprüfen Sie auf Probleme mit dem Code-Stil
npm run build # Überprüfen Sie, ob der Build erfolgreich ist
```
### Bank-API Testen
### Bank API Test
```bash
cd 7-bank-project/api
npm run lint # Überprüfe auf Code-Stilprobleme
node server.js # Verifiziere, dass der Server ohne Fehler startet
npm run lint # Überprüfen auf Probleme mit dem Code-Stil
node server.js # Überprüfen, ob der Server ohne Fehler startet
```
### Allgemeiner Testansatz
- Dies ist ein Bildungs-Repository ohne umfassende automatisierte Tests
- Manuelles Testen konzentriert sich auf:
- Fehlerfreies Ausführen der Codebeispiele
- Funktionierende Links in der Dokumentation
- Erfolgreiche Projekt-Builds
- Einhaltung von Best Practices in den Beispielen
- Dies ist ein Bildungsrepository ohne umfassende automatisierte Tests
- Manueller Testfokus:
- Codebeispiele laufen fehlerfrei
- Links in der Dokumentation funktionieren korrekt
- Projekt-Builds werden erfolgreich abgeschlossen
- Beispiele folgen Best Practices
### Prüfungen vor dem Einreichen
### Vor-Einreichungs-Checks
- Führen Sie `npm run lint` in Verzeichnissen mit package.json aus
- Überprüfen Sie die Gültigkeit der Markdown-Links
- Testen Sie Codebeispiele im Browser oder Node.js
- Stellen Sie sicher, dass Übersetzungen die Struktur beibehalten
- `npm run lint` in Verzeichnissen mit package.json ausführen
- Markdown-Links auf Gültigkeit prüfen
- Codebeispiele im Browser oder Node.js testen
- Prüfen, dass Übersetzungen die richtige Struktur beibehalten
## Code-Stilrichtlinien
### JavaScript
- Verwenden Sie moderne ES6+-Syntax
- Folgen Sie den standardmäßigen ESLint-Konfigurationen in den Projekten
- Verwenden Sie aussagekräftige Variablen- und Funktionsnamen zur besseren Verständlichkeit
- Fügen Sie Kommentare zur Erklärung von Konzepten für Lernende hinzu
- Formatieren Sie mit Prettier, wo konfiguriert
- Nutze moderne ES6+ Syntax
- Folge den standardmäßigen ESLint-Konfigurationen in Projekten
- Verwende aussagekräftige Variablen- und Funktionsnamen zur Bildungsklarheit
- Füge Kommentare hinzu, die Konzepte für Lernende erklären
- Formatierung mit Prettier, wenn konfiguriert
### HTML/CSS
- Semantische HTML5-Elemente
- Prinzipien des responsiven Designs
- Responsive Design Prinzipien
- Klare Klassennamen-Konventionen
- Kommentare zur Erklärung von CSS-Techniken für Lernende
- Kommentare, die CSS-Techniken für Lernende erklären
### Python
- PEP 8 Stilrichtlinien
- Klare, didaktische Codebeispiele
- Klare, lehrreiche Codebeispiele
- Typ-Hinweise, wo hilfreich für das Lernen
### Markdown-Dokumentation
- Klare Gliederungshierarchie
- Klare Überschriften-Hierarchie
- Codeblöcke mit Sprachangabe
- Verlinkung zu weiteren Ressourcen
- Screenshots und Bilder in `images/`-Verzeichnissen
- Alternativtexte für Bilder zur Barrierefreiheit
- Links zu zusätzlichen Ressourcen
- Screenshots und Bilder in `images/` Verzeichnissen
- Alt-Text für Bilder zur Barrierefreiheit
### Dateiorganisation
### Datei-Organisation
- Lektionen fortlaufend nummeriert (1-getting-started-lessons, 2-js-basics usw.)
- Lektionen sequenziell nummeriert (1-getting-started-lessons, 2-js-basics usw.)
- Jedes Projekt hat `solution/` und oft `start/` oder `your-work/` Verzeichnisse
- Bilder in lektionenspezifischen `images/`-Ordnern gespeichert
- Übersetzungen in `translations/{language-code}/` Unterordnern
- Bilder werden in lektion-spezifischen `images/` Ordnern gespeichert
- Übersetzungen in `translations/{language-code}/` Struktur
## Build und Deployment
@ -185,15 +185,15 @@ Die quiz-app ist für Azure Static Web Apps Deployment konfiguriert:
```bash
cd quiz-app
npm run build # Erstellt den Ordner dist/
# Führt die Bereitstellung über den GitHub Actions-Workflow bei Push auf main durch
# Führt die Bereitstellung über GitHub Actions Workflow bei Push zum Branch main durch
```
Azure Static Web Apps Konfiguration:
- **App-Standort**: `/quiz-app`
- **Output-Standort**: `dist`
- **Ausgabeort**: `dist`
- **Workflow**: `.github/workflows/azure-static-web-apps-ashy-river-0debb7803.yml`
### PDF-Erstellung der Dokumentation
### Dokumentation PDF-Erstellung
```bash
npm install # Installiere docsify-to-pdf
@ -203,80 +203,80 @@ npm run convert # Erzeuge PDF aus docs
### Docsify Dokumentation
```bash
npm install -g docsify-cli # Docsify global installieren
npm install -g docsify-cli # Installiere Docsify global
docsify serve # Auf localhost:3000 bereitstellen
```
### Projekt-spezifische Builds
Jedes Projektverzeichnis kann seinen eigenen Build-Prozess haben:
Jedes Projektverzeichnis kann einen eigenen Build-Prozess haben:
- Vue-Projekte: `npm run build` erzeugt Produktions-Bundles
- Statische Projekte: Kein Build-Schritt, Dateien werden direkt bereitgestellt
- Statische Projekte: Kein Build Schritt, Dateien direkt servieren
## Pull-Request-Richtlinien
## Pull-Request Richtlinien
### Titel-Format
Verwenden Sie klare, beschreibende Titel, die den Änderungsbereich angeben:
Verwende klare, beschreibende Titel, die den Änderungsbereich anzeigen:
- `[Quiz-app] Neues Quiz für Lektion X hinzufügen`
- `[Lesson-3] Tippfehler im Terrarium-Projekt korrigieren`
- `[Lesson-3] Tippfehler im Terrarium-Projekt beheben`
- `[Translation] Spanische Übersetzung für Lektion 5 hinzufügen`
- `[Docs] Setup-Anweisungen aktualisieren`
### Erforderliche Prüfungen
Vor dem Einreichen eines PR:
Vor dem Einreichen eines Pull Requests:
1. **Codequalität**:
- Führen Sie `npm run lint` in den betroffenen Projektverzeichnissen aus
- Beheben Sie alle Linting-Fehler und Warnungen
1. **Code-Qualität**:
- `npm run lint` in betroffenen Projektverzeichnissen ausführen
- Alle Linting-Fehler und Warnungen beheben
2. **Build-Verifikation**:
- Führen Sie ggf. `npm run build` aus
- Stellen Sie sicher, dass keine Build-Fehler auftreten
- `npm run build` wenn zutreffend ausführen
- Sicherstellen, dass keine Build-Fehler vorliegen
3. **Linkprüfung**:
- Testen Sie alle Markdown-Links
- Überprüfen Sie Bildreferenzen
3. **Link-Validierung**:
- Alle Markdown-Links testen
- Bildverweise prüfen
4. **Inhaltsprüfung**:
- Korrekturlesen auf Rechtschreibung und Grammatik
- Sicherstellen, dass Codebeispiele korrekt und didaktisch sind
- Überprüfen, dass Übersetzungen die Originalbedeutung wahren
- Sicherstellen, dass Codebeispiele korrekt und bildend sind
- Übersetzungen auf Bedeutungsintaktheit prüfen
### Beitragsanforderungen
- Zustimmung zur Microsoft CLA (automatische Prüfung beim ersten PR)
- Zustimmung zur Microsoft CLA (automatische Überprüfung beim ersten PR)
- Befolgung des [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/)
- Siehe [CONTRIBUTING.md](./CONTRIBUTING.md) für detaillierte Richtlinien
- Referenzierung von Issue-Nummern in der PR-Beschreibung, falls zutreffend
- Referenzierung von Issue-Nummern im PR-Beschreibung falls zutreffend
### Überprüfungsprozess
### Review-Prozess
- PRs werden von Maintainers und Community geprüft
- Didaktische Klarheit hat Priorität
- Codebeispiele sollten den aktuellen Best Practices folgen
- Übersetzungen werden auf Genauigkeit und kulturelle Angemessenheit geprüft
- Bildungsverständlichkeit hat Priorität
- Codebeispiele sollten aktuellen Best Practices folgen
- Übersetzungen auf Genauigkeit und kulturelle Angemessenheit geprüft
## Übersetzungssystem
### Automatisierte Übersetzung
- Verwendet GitHub Actions mit co-op-translator Workflow
- Übersetzt automatisch in über 50 Sprachen
- Quelldateien in den Hauptverzeichnissen
- Übersetzte Dateien in `translations/{language-code}/` Ordnern
- Übersetzt automatisch in 50+ Sprachen
- Quell-Dateien in Hauptverzeichnissen
- Übersetzte Dateien in `translations/{language-code}/` Verzeichnissen
### Manuelle Übersetzungsverbesserungen hinzufügen
### Manuelle Verbesserungen an Übersetzungen
1. Datei in `translations/{language-code}/` finden
2. Verbesserungen vornehmen und dabei die Struktur bewahren
3. Sicherstellen, dass Codebeispiele weiterhin funktionieren
4. Eventuell lokalisierte Quiz-Inhalte testen
2. Verbesserungen bei Erhalt der Struktur vornehmen
3. Sicherstellen, dass Codebeispiele funktionsfähig bleiben
4. Lokalisiertes Quiz-Material testen
### Übersetzungs-Metadaten
Übersetzte Dateien enthalten Metadaten-Kopfzeile:
Übersetzte Dateien enthalten Metadaten-Header:
```markdown
<!--
CO_OP_TRANSLATOR_METADATA:
@ -289,120 +289,120 @@ CO_OP_TRANSLATOR_METADATA:
-->
```
## Fehlerbehebung und Problembehandlung
## Debugging und Fehlersuche
### Häufige Probleme
**Quiz-App startet nicht**:
- Überprüfen der Node.js-Version (v14+ empfohlen)
- Löschen von `node_modules` und `package-lock.json`, danach `npm install` ausführen
- Prüfen auf Port-Konflikte (Standard: Vite verwendet Port 5173)
- Node.js Version prüfen (v14+ empfohlen)
- `node_modules` und `package-lock.json` löschen, danach `npm install` ausführen
- Auf Port-Konflikte prüfen (Standard: Vite verwendet Port 5173)
**API-Server startet nicht**:
- Node.js-Version prüfen (node >=10)
**API Server startet nicht**:
- Node.js Version >= 10 sicherstellen
- Prüfen, ob Port bereits belegt ist
- Sicherstellen, dass alle Abhängigkeiten mit `npm install` installiert sind
- Alle Abhängigkeiten mit `npm install` installieren
**Browser-Erweiterung lädt nicht**:
- Manifest.json auf korrekte Formatierung prüfen
- manifest.json auf korrekte Formatierung prüfen
- Browser-Konsole auf Fehler überprüfen
- Browser-spezifische Installationsanweisungen beachten
- Browser-spezifische Installationsanleitungen befolgen
**Probleme mit Python-Chat-Projekt**:
**Python Chat-Projekt Probleme**:
- OpenAI-Paket installiert? `pip install openai`
- Umgebungsvariable GITHUB_TOKEN gesetzt?
- Zugriff auf GitHub-Modelle prüfen
- GITHUB_TOKEN Umgebungsvariable gesetzt?
- Zugriffsrechte für GitHub Models prüfen
**Docsify liefert keine Dokumentation aus**:
**Docsify liefert keine Dokumentation**:
- docsify-cli global installieren: `npm install -g docsify-cli`
- Im Root-Verzeichnis des Repositories ausführen
- Sicherstellen, dass `docs/_sidebar.md` existiert
- Vom Repository-Root aus starten
- Prüfen, ob `docs/_sidebar.md` existiert
### Tipps zur Entwicklungsumgebung
- VS Code mit Live Server-Erweiterung für HTML-Projekte verwenden
- ESLint- und Prettier-Erweiterungen für konsistente Formatierung installieren
- Browser-DevTools zum Debuggen von JavaScript nutzen
- Für Vue-Projekte Vue DevTools Browser-Erweiterung installieren
- VS Code mit Live Server Erweiterung für HTML-Projekte verwenden
- ESLint und Prettier Erweiterungen für einheitliche Formatierung installieren
- Browser DevTools zum JavaScript Debuggen nutzen
- Für Vue-Projekte Vue DevTools Browser-Erweiterung verwenden
### Performance-Überlegungen
### Performance Aspekt
- Große Anzahl übersetzter Dateien (50+ Sprachen) führt zu großen Klonen
- Verwenden Sie ein flaches Klon mit `git clone --depth 1`, wenn nur Inhalte bearbeitet werden
- Übersetzungen bei der Suche ausnehmen, wenn englische Inhalte bearbeitet werden
- Build-Prozesse können beim ersten Lauf langsam sein (npm install, Vite build)
- Große Anzahl an Übersetzungsdateien (50+ Sprachen) führt zu großen Klonen
- Shallow Clone verwenden, wenn nur Inhaltsarbeit gewünscht: `git clone --depth 1`
- Übersetzungen bei Arbeit am englischen Inhalt von Suchvorgängen ausnehmen
- Build-Prozesse können beim ersten Lauf langsam sein (npm install, Vite Build)
## Sicherheitsüberlegungen
### Umgebungsvariablen
- API-Schlüssel dürfen nie im Repository gespeichert werden
- Verwenden Sie `.env` Dateien (bereits in `.gitignore` enthalten)
- Erforderliche Umgebungsvariablen in den Projekt-READMEs dokumentieren
- API-Schlüssel niemals ins Repository commiten
- `.env` Dateien verwenden (bereits in `.gitignore`)
- Benötigte Umgebungsvariablen in Projekt-READMEs dokumentieren
### Python-Projekte
- Virtuelle Umgebungen verwenden: `python -m venv venv`
- Abhängigkeiten aktuell halten
- GitHub-Tokens sollten nur minimale erforderliche Berechtigungen haben
- GitHub Tokens mit minimal erforderlichen Berechtigungen nutzen
### Zugriff auf GitHub-Modelle
### GitHub Models Zugriff
- Persönliche Zugriffstoken (PAT) werden für GitHub-Modelle benötigt
- Personal Access Tokens (PAT) für GitHub Models erforderlich
- Tokens als Umgebungsvariablen speichern
- Nie Tokens oder Anmeldedaten im Repository commiten
- Tokens oder Zugangsdaten niemals committen
## Zusätzliche Hinweise
### Zielgruppe
- Komplettanfänger in der Webentwicklung
- Absolute Anfänger in Webentwicklung
- Studierende und Selbstlernende
- Lehrkräfte, die das Curriculum im Unterricht einsetzen
- Inhalte sind auf Zugänglichkeit und schrittweisen Kompetenzaufbau ausgelegt
- Inhalte sind auf Barrierefreiheit und schrittweise Kompetenzentwicklung ausgelegt
### Pädagogische Philosophie
### Bildungskonzept
- Projektbasiertes Lernen
- Häufige Wissensüberprüfungen (Quizze)
- Praktische Coding-Übungen
- Praxisnahe Beispiele
- Praktische Programmierübungen
- Beispiele mit realweltlichen Anwendungen
- Fokus auf Grundlagen vor Frameworks
### Repository-Wartung
- Aktive Community von Lernenden und Beitragenden
- Regelmäßige Updates von Abhängigkeiten und Inhalten
- Aktive Gemeinschaft von Lernenden und Mitwirkenden
- Regelmäßige Aktualisierung von Abhängigkeiten und Inhalten
- Issues und Diskussionen werden von Maintainers überwacht
- Übersetzungsupdates automatisiert via GitHub Actions
- Übersetzungsupdates automatisiert über GitHub Actions
### Verwandte Ressourcen
- [Microsoft Learn Module](https://docs.microsoft.com/learn/)
- [Student Hub Ressourcen](https://docs.microsoft.com/learn/student-hub/)
- [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) empfohlen für Lernende
- Weitere Kurse: Generative KI, Data Science, ML, IoT Curricula verfügbar
- [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) empfiehlt sich für Lernende
- Weitere Kurse: Generative AI, Data Science, ML, IoT Curricula verfügbar
### Arbeiten mit spezifischen Projekten
### Arbeit mit spezifischen Projekten
Für detaillierte Anweisungen zu einzelnen Projekten siehe README-Dateien in:
Für detaillierte Anleitungen zu einzelnen Projekten siehe README-Dateien in:
- `quiz-app/README.md` - Vue 3 Quiz-Anwendung
- `7-bank-project/README.md` - Bankanwendung mit Authentifizierung
- `5-browser-extension/README.md` - Entwicklung von Browser-Erweiterungen
- `7-bank-project/README.md` - Banking-App mit Authentifizierung
- `5-browser-extension/README.md` - Browser-Erweiterungsentwicklung
- `6-space-game/README.md` - Canvas-basiertes Spiel
- `9-chat-project/README.md` - KI-Chat-Assistent-Projekt
- `9-chat-project/README.md` - KI Chat-Assistent Projekt
### Monorepo-Struktur
Obwohl kein traditionelles Monorepo, enthält dieses Repository mehrere unabhängige Projekte:
- Jede Lektion ist eigenständig
- Projekte teilen keine Abhängigkeiten
- Arbeiten Sie an einzelnen Projekten, ohne andere zu beeinflussen
- Klonen Sie das gesamte Repository für die vollständige Curriculum-Erfahrung
- Arbeit an Einzelprojekten ohne Beeinflussung anderer
- Gesamtes Repo klonen für das komplette Curriculum-Erlebnis
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Haftungsausschluss**:
Dieses Dokument wurde mit dem KI-Übersetzungsdienst [Co-op Translator](https://github.com/Azure/co-op-translator) übersetzt. Obwohl wir nach Genauigkeit streben, beachten Sie bitte, dass automatisierte Übersetzungen Fehler oder Ungenauigkeiten enthalten können. Das Originaldokument in seiner Ursprungssprache ist als maßgebliche Quelle anzusehen. Für kritische Informationen wird eine professionelle menschliche Übersetzung empfohlen. Wir übernehmen keine Haftung für Missverständnisse oder Fehlinterpretationen, die aus der Nutzung dieser Übersetzung entstehen.
**Haftungsausschluss**:
Dieses Dokument wurde mit dem KI-Übersetzungsdienst [Co-op Translator](https://github.com/Azure/co-op-translator) übersetzt. Obwohl wir auf Genauigkeit achten, bitten wir zu beachten, dass automatisierte Übersetzungen Fehler oder Ungenauigkeiten enthalten können. Das Originaldokument in seiner Ursprungssprache ist als maßgebliche Quelle zu betrachten. Für wichtige Informationen wird eine professionelle menschliche Übersetzung empfohlen. Wir übernehmen keine Haftung für Missverständnisse oder Fehlinterpretationen, die aus der Verwendung dieser Übersetzung entstehen.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -1,7 +1,7 @@
{
"1-getting-started-lessons/1-intro-to-programming-languages/README.md": {
"original_hash": "bec5e35642176d9e483552bfc82996d8",
"translation_date": "2026-03-06T16:43:56+00:00",
"original_hash": "d5eeb6e975b5864d8da52d4a41941f8d",
"translation_date": "2026-03-27T21:37:10+00:00",
"source_file": "1-getting-started-lessons/1-intro-to-programming-languages/README.md",
"language_code": "ru"
},
@ -493,7 +493,7 @@
},
"AGENTS.md": {
"original_hash": "a362efd06d64d4134a0cfe8515a86d34",
"translation_date": "2026-03-06T16:51:51+00:00",
"translation_date": "2026-03-27T21:43:05+00:00",
"source_file": "AGENTS.md",
"language_code": "ru"
},

@ -2,25 +2,25 @@
## Обзор проекта
Это репозиторий учебной программы для обучения основам веб-разработки для начинающих. Учебная программа — это комплексный 12-недельный курс, разработанный Microsoft Cloud Advocates, включающий 24 практических урока по JavaScript, CSS и HTML.
Это образовательный репозиторий с учебной программой для обучения основам веб-разработки для начинающих. Учебная программа представляет собой комплексный 12-недельный курс, разработанный специалистами Microsoft Cloud Advocates, который включает 24 практических урока по JavaScript, CSS и HTML.
### Ключевые компоненты
- **Образовательный контент**: 24 структурированных урока, организованных в проектно-ориентированные модули
- **Практические проекты**: Террариум, Игра на набор текста, Расширение для браузера, Космическая игра, Банковское приложение, Редактор кода и чат-ассистент с ИИ
- **Интерактивные викторины**: 48 викторин с 3 вопросами каждая (оценка до и после урока)
- **Многоязычная поддержка**: Автоматические переводы на 50+ языков с использованием GitHub Actions
- **Технологии**: HTML, CSS, JavaScript, Vue.js 3, Vite, Node.js, Express, Python (для ИИ-проектов)
- **Образовательный контент**: 24 структурированных урока, организованных в проектно-ориентированные модули
- **Практические проекты**: Террариум, Игра на скорость набора, Расширение браузера, Космическая игра, Банковское приложение, Редактор кода, и AI чат-ассистент
- **Интерактивные викторины**: 48 викторин с 3 вопросами в каждой (оценка до/после урока)
- **Многоязычная поддержка**: Автоматический перевод на 50+ языков с помощью GitHub Actions
- **Технологии**: HTML, CSS, JavaScript, Vue.js 3, Vite, Node.js, Express, Python (для AI проектов)
### Архитектура
- Образовательный репозиторий со структурой на основе уроков
- В каждой папке урока содержатся README, примеры кода и решения
- Отдельные проекты в отдельных директориях (quiz-app, различные проекты из уроков)
- Система перевода с использованием GitHub Actions (co-op-translator)
- Документация доступна через Docsify и в формате PDF
- Образовательный репозиторий с уроковой структурой
- В каждой папке урока находятся README, примеры кода и решения
- Отдельные проекты в отдельных директориях (quiz-app, различные проекты уроков)
- Система перевода с использованием GitHub Actions (co-op-translator)
- Документация предоставляется через Docsify и доступна в формате PDF
## Команды для настройки
## Команды настройки
Этот репозиторий предназначен в первую очередь для изучения образовательного контента. Для работы с конкретными проектами:
@ -30,7 +30,7 @@
git clone https://github.com/microsoft/Web-Dev-For-Beginners.git
cd Web-Dev-For-Beginners
```
### Настройка Quiz App (Vue 3 + Vite)
```bash
@ -40,25 +40,25 @@ npm run dev # Запустить сервер разработки
npm run build # Собрать для продакшена
npm run lint # Запустить ESLint
```
### API банковского проекта (Node.js + Express)
```bash
cd 7-bank-project/api
npm install
npm start # Запустить сервер API
npm start # Запустить API сервер
npm run lint # Запустить ESLint
npm run format # Отформатировать с помощью Prettier
```
### Проекты расширений для браузера
### Проекты расширения браузера
```bash
cd 5-browser-extension/solution
npm install
# Следуйте инструкциям по загрузке расширения, специфичным для браузера
```
### Проекты космической игры
```bash
@ -66,8 +66,8 @@ cd 6-space-game/solution
npm install
# Откройте index.html в браузере или используйте Live Server
```
### Проект чата (Python Backend)
### Проект чата (Python backend)
```bash
cd 9-chat-project/solution/backend/python
@ -75,34 +75,34 @@ pip install openai
# Установите переменную окружения GITHUB_TOKEN
python api.py
```
## Рабочий процесс разработки
### Для контрибьюторов контента
1. **Сделайте форк репозитория** в свой аккаунт GitHub
2. **Склонируйте форк** локально
3. **Создайте новую ветку** для своих изменений
4. Внесите изменения в содержимое уроков или примеры кода
5. Проверьте изменения кода в соответствующих директориях проектов
6. Отправьте pull requests в соответствии с руководством по вкладам
1. **Сделайте форк репозитория** в свой аккаунт на GitHub
2. **Клонируйте ваш форк** локально
3. **Создайте новую ветку** для ваших изменений
4. Внесите изменения в содержимое уроков или примеры кода
5. Протестируйте любые изменения кода в соответствующих директориях проектов
6. Отправьте pull request в соответствии с руководством по внесению изменений
### Для обучающихся
1. Сделайте форк или склонируйте репозиторий
2. Последовательно перейдите в директории уроков
3. Прочитайте README каждого урока
4. Пройдите предварительные викторины на https://ff-quizzes.netlify.app/web/
5. Выполняйте примеры кода в папках уроков
6. Выполните задания и вызовы
7. Пройдите пост-урочные викторины
1. Форкайте или клонируйте репозиторий
2. Переходите по папкам уроков последовательно
3. Читайте README файлы для каждого урока
4. Выполните предварительные викторины по ссылке https://ff-quizzes.netlify.app/web/
5. Работайте с примерами кода в папках уроков
6. Выполняйте задания и вызовы
7. Проходите пост-урочные викторины
### Живая разработка
- **Документация**: Запустите `docsify serve` в корне (порт 3000)
- **Quiz App**: Запустите `npm run dev` в директории quiz-app
- **Проекты**: Используйте расширение VS Code Live Server для HTML-проектов
- **API проекты**: Запустите `npm start` в соответствующих API директориях
- **Документация**: Запустите `docsify serve` в корне (порт 3000)
- **Quiz App**: Запустите `npm run dev` в директории quiz-app
- **Проекты**: Используйте расширение VS Code Live Server для HTML-проектов
- **API проекты**: Запустите `npm start` в соответствующих API папках
## Инструкции по тестированию
@ -113,170 +113,170 @@ cd quiz-app
npm run lint # Проверить проблемы со стилем кода
npm run build # Проверить успешность сборки
```
### Тестирование Bank API
```bash
cd 7-bank-project/api
npm run lint # Проверить проблемы со стилем кода
npm run lint # Проверить проблемы с оформлением кода
node server.js # Проверить, что сервер запускается без ошибок
```
### Общий подход к тестированию
- Это образовательный репозиторий без комплексных автоматизированных тестов
- Ручное тестирование ориентировано на:
- Запуск примеров кода без ошибок
- Проверку работоспособности ссылок в документации
- Успешную сборку проектов
- Следование примеров лучшим практикам
- Это образовательный репозиторий без комплексных автоматических тестов
- Ручное тестирование сосредоточено на:
- успешном выполнении примеров кода
- корректной работе ссылок в документации
- успешной сборке проектов
- следовании примеров лучшим практикам
### Проверки перед отправкой
- Запустите `npm run lint` в директориях с package.json
- Проверьте валидность ссылок markdown
- Протестируйте примеры кода в браузере или Node.js
- Убедитесь, что переводы сохраняют корректную структуру
- Запустите `npm run lint` в директориях с package.json
- Проверьте, что markdown-ссылки корректны
- Протестируйте примеры кода в браузере или Node.js
- Убедитесь, что переводы сохраняют правильную структуру
## Руководство по стилю кода
## Руководства по стилю кода
### JavaScript
- Используйте современный синтаксис ES6+
- Следуйте стандартным конфигурациям ESLint в проектах
- Используйте осмысленные имена переменных и функций для образовательной ясности
- Добавляйте комментарии с объяснениями концепций для обучающихся
- Форматируйте код с помощью Prettier, если это настроено
- Используйте современный синтаксис ES6+
- Следуйте стандартным конфигурациям ESLint, представленным в проектах
- Используйте осмысленные имена переменных и функций для образовательной ясности
- Добавляйте комментарии, объясняющие концепции для обучающихся
- Форматируйте с помощью Prettier, где настроено
### HTML/CSS
- Семантические элементы HTML5
- Принципы адаптивного дизайна
- Четкие соглашения по именованию классов
- Семантические элементы HTML5
- Принципы адаптивного дизайна
- Четкие правила именования классов
- Комментарии с объяснениями CSS-техник для обучающихся
### Python
- Руководство по стилю PEP 8
- Четкие, образовательные примеры кода
- Аннотации типов, где это полезно для обучения
- Соблюдайте стиль PEP 8
- Четкие, образовательные примеры кода
- Тайпинги, где полезно для обучения
### Документация Markdown
### Markdown документация
- Четкая иерархия заголовков
- Блоки кода с указанием языка
- Ссылки на дополнительные ресурсы
- Скриншоты и изображения в папках `images/`
- Alt-тексты для изображений для доступности
- Чистая иерархия заголовков
- Блоки кода с указанием языка
- Ссылки на дополнительные ресурсы
- Скриншоты и изображения в папках `images/`
- Альтернативный текст для изображений для доступности
### Организация файлов
- Уроки пронумерованы последовательно (1-getting-started-lessons, 2-js-basics и т. д.)
- В каждом проекте есть папки `solution/` и часто `start/` или `your-work/`
- Изображения хранятся в папках `images/`, относящихся к конкретным урокам
- Переводы расположены в структуре `translations/{language-code}/`
- Уроки пронумерованы последовательно (1-getting-started-lessons, 2-js-basics и т.д.)
- Каждый проект имеет папки `solution/` и часто `start/` или `your-work/`
- Изображения хранятся в специфичных для урока папках `images/`
- Переводы в структуре `translations/{language-code}/`
## Сборка и деплоймент
## Сборка и деплой
### Развертывание Quiz App (Azure Static Web Apps)
### Деплой Quiz App (Azure Static Web Apps)
quiz-app настроен для деплоймента в Azure Static Web Apps:
quiz-app настроен для деплоя в Azure Static Web Apps:
```bash
cd quiz-app
npm run build # Создает папку dist/
# Выполняет развертывание через рабочий процесс GitHub Actions при пуше в main
# Выполняет деплой через GitHub Actions при push в main
```
Конфигурация Azure Static Web Apps:
- **Путь приложения**: `/quiz-app`
- **Путь вывода**: `dist`
Конфигурация Azure Static Web Apps:
- **Местоположение приложения**: `/quiz-app`
- **Папка вывода**: `dist`
- **Workflow**: `.github/workflows/azure-static-web-apps-ashy-river-0debb7803.yml`
### Генерация PDF документации
```bash
npm install # Установить docsify-to-pdf
npm run convert # Генерировать PDF из docs
npm run convert # Создать PDF из документов
```
### Документация Docsify
```bash
npm install -g docsify-cli # Установите Docsify глобально
docsify serve # Запустить на localhost:3000
```
### Сборка для отдельных проектов
В каждой директории проекта может быть свой процесс сборки:
- Vue проекты: `npm run build` создает продакшен-сборки
### Сборки для отдельных проектов
Каждый каталог проекта может иметь собственный процесс сборки:
- Vue проекты: `npm run build` создает продакшн-бандлы
- Статические проекты: сборка не требуется, файлы подаются напрямую
## Руководство по pull request
## Руководство по Pull Request
### Формат заголовка
### Формат названия
Используйте понятные, описательные заголовки, указывающие область изменений:
- `[Quiz-app] Добавить новую викторину для урока X`
- `[Lesson-3] Исправить опечатку в проекте Террариум`
- `[Translation] Добавить испанский перевод для урока 5`
Используйте четкие, описательные заголовки, указывающие область изменений:
- `[Quiz-app] Добавить новую викторину для урока X`
- `[Lesson-3] Исправить опечатку в проекте террариума`
- `[Translation] Добавить перевод на испанский для урока 5`
- `[Docs] Обновить инструкции по настройке`
### Необходимые проверки
Перед отправкой PR:
Перед отправкой PR:
1. **Качество кода**:
- Запустите `npm run lint` в затронутых директориях
1. **Качество кода**:
- Запустите `npm run lint` в затронутых директориях проектов
- Исправьте все ошибки и предупреждения lint
2. **Проверка сборки**:
- Запустите `npm run build` при необходимости
2. **Проверка сборки**:
- Запустите `npm run build`, если применимо
- Убедитесь в отсутствии ошибок сборки
3. **Валидация ссылок**:
- Проверьте все markdown-ссылки
3. **Проверка ссылок**:
- Проверьте все markdown-ссылки
- Убедитесь, что ссылки на изображения работают
4. **Проверка содержимого**:
- Проверьте орфографию и грамматику
- Убедитесь в правильности и образовательной ценности примеров кода
- Проверьте точность переводов
4. **Проверка содержимого**:
- Проверьте орфографию и грамматику
- Убедитесь, что примеры кода верны и образовательны
- Проверьте, что переводы сохраняют первоначальный смысл
### Требования к внесению вклада
### Требования к вкладу
- Согласие с Microsoft CLA (автоматическая проверка при первом PR)
- Соблюдение [Кодекса поведения Microsoft Open Source](https://opensource.microsoft.com/codeofconduct/)
- Подробные инструкции в [CONTRIBUTING.md](./CONTRIBUTING.md)
- Упоминание номеров задач в описании PR при наличии
- Необходимо согласиться с Microsoft CLA (автоматическая проверка при первом PR)
- Следовать [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/)
- См [CONTRIBUTING.md](./CONTRIBUTING.md) для подробных инструкций
- Указывайте номера issues в описании PR, если применимо
### Процесс проверки
### Процесс рецензирования
- PR проверяются поддерживающими и сообществом
- PR рассматриваются мейнтейнерами и сообществом
- Приоритет на образовательную ясность
- Примеры кода должны соответствовать текущим лучшим практикам
- Переводы проверяются на точность и культурную адекватность
- Переводы проверяются на точность и культурную соответствие
## Система перевода
### Автоматический перевод
- Использует GitHub Actions с workflow co-op-translator
- Автоматический перевод на 50+ языков
- Исходные файлы в основных директориях
- Переведённые файлы в директориях `translations/{language-code}/`
- Использует GitHub Actions с workflow co-op-translator
- Автоматический перевод на 50+ языков
- Исходные файлы в основных директориях
- Переведённые файлы в папках `translations/{language-code}/`
### Добавление улучшений в ручной перевод
### Добавление ручных улучшений перевода
1. Найдите файл в `translations/{language-code}/`
2. Внесите улучшения, сохраняя структуру
3. Убедитесь, что примеры кода остаются работоспособными
4. Проверьте локализованный контент викторин
1. Найдите файл в `translations/{language-code}/`
2. Внесите улучшения, сохраняя структуру
3. Убедитесь, что примеры кода остаются работоспособными
4. Тестируйте локализованный контент викторин
### Метаданные перевода
Переведённые файлы содержат заголовок с метаданными:
Переведённые файлы включают заголовок с метаданными:
```markdown
<!--
CO_OP_TRANSLATOR_METADATA:
@ -288,121 +288,121 @@ CO_OP_TRANSLATOR_METADATA:
}
-->
```
## Отладка и устранение неполадок
### Распространённые проблемы
**Quiz app не запускается**:
- Проверьте версию Node.js (рекомендуется v14+)
- Удалите `node_modules` и `package-lock.json`, затем снова выполните `npm install`
**Quiz app не запускается**:
- Проверьте версию Node.js (рекомендуется v14+)
- Удалите `node_modules` и `package-lock.json`, затем выполните `npm install` заново
- Проверьте конфликты портов (по умолчанию Vite использует порт 5173)
**API сервер не запускается**:
- Убедитесь, что версия Node.js не ниже 10
- Проверьте, не занят ли порт
- Установите все зависимости через `npm install`
**API сервер не запускается**:
- Убедитесь, что версия Node.js не ниже 10
- Проверьте, не занят ли порт другим процессом
- Убедитесь, что все зависимости установлены с помощью `npm install`
**Расширение браузера не загружается**:
- Проверьте правильность формата manifest.json
- Смотрите ошибки в консоли браузера
**Расширение браузера не загружается**:
- Проверьте корректность манифеста manifest.json
- Посмотрите консоль браузера на наличие ошибок
- Следуйте инструкциям по установке расширения для конкретного браузера
**Проблемы с Python чат-проектом**:
- Убедитесь, что пакет OpenAI установлен: `pip install openai`
- Проверьте, что установлен GITHUB_TOKEN в переменных среды
- Проверьте разрешения доступа к GitHub Models
**Проблемы с проектом чата на Python**:
- Убедитесь, что пакет OpenAI установлен: `pip install openai`
- Проверьте, что установлена переменная среды GITHUB_TOKEN
- Проверьте разрешения доступа GitHub Models
**Docsify не обслуживает документацию**:
- Установите docsify-cli глобально: `npm install -g docsify-cli`
- Запускайте из корня репозитория
- Убедитесь, что `docs/_sidebar.md` существует
**Docsify не сервисит документацию**:
- Установите docsify-cli глобально: `npm install -g docsify-cli`
- Запускайте из корневой директории репозитория
- Проверьте наличие файла `docs/_sidebar.md`
### Советы по среде разработки
- Используйте VS Code с расширением Live Server для HTML проектов
- Устанавливайте расширения ESLint и Prettier для согласованного форматирования
- Используйте DevTools браузера для отладки JavaScript
- Для проектов Vue установите расширение Vue DevTools
- Используйте VS Code с расширением Live Server для HTML проектов
- Установите расширения ESLint и Prettier для единообразного форматирования
- Используйте инструменты разработчика в браузере для отладки JavaScript
- Для Vue проектов установите расширение Vue DevTools для браузера
### Особенности производительности
- Большое количество переведённых файлов (50+ языков) делает полные клонирования тяжелыми
- Используйте shallow clone, если работаете только с контентом: `git clone --depth 1`
- Исключите переводы из поиска при работе с английским контентом
- Процессы сборки могут быть медленными при первом запуске (npm install, сборка Vite)
- Большое количество переведённых файлов (50+ языков) делает полное клонирование объёмным
- Используйте неглубокое клонирование для работы только с контентом: `git clone --depth 1`
- Исключайте переводы из поиска при работе с английским содержимым
- Первые сборки могут идти медленно (npm install, сборка Vite)
## Вопросы безопасности
### Переменные окружения
- Ключи API никогда не должны попадать в репозиторий
- Используйте `.env` файлы (уже внесены в `.gitignore`)
- API ключи нельзя коммитить в репозиторий
- Используйте `.env` файлы (уже в `.gitignore`)
- Документируйте необходимые переменные окружения в README проектов
### Python проекты
- Используйте виртуальные окружения: `python -m venv venv`
- Обновляйте зависимости
- Используйте виртуальные окружения: `python -m venv venv`
- Поддерживайте зависимости в актуальном состоянии
- Токены GitHub должны иметь минимально необходимые разрешения
### Доступ к GitHub Models
- Для GitHub Models требуются Personal Access Tokens (PAT)
- Токены следует хранить в переменных среды
- Никогда не коммитьте токены или учетные данные
- Для доступа к GitHub Models необходимы Personal Access Tokens (PAT)
- Токены должны храниться в переменных окружения
- Никогда не коммитьте токены и учетные данные
## Дополнительные заметки
### Целевая аудитория
- Абсолютные новички в веб-разработке
- Студенты и самоучки
- Преподаватели, использующие программу в классе
- Контент разработан с учетом доступности и постепенного освоения навыков
- Полные новички в веб-разработке
- Студенты и самоучки
- Преподаватели, применяющие учебную программу в классе
- Контент разработан с учетом доступности и постепенного наращивания навыков
### Образовательная философия
- Проектно-ориентированное обучение
- Частые проверки знаний (викторины)
- Практические упражнения по программированию
- Примеры реальных приложений
- Сфокусированность на основах до изучения фреймворков
- Подход, основанный на обучении через проекты
- Частая проверка знаний (викторины)
- Практические упражнения по кодированию
- Примеры применения в реальных сценариях
- Акцент на фундаментальных знаниях до изучения фреймворков
### Поддержка репозитория
- Активное сообщество обучающихся и контрибьюторов
- Регулярные обновления зависимостей и контента
- Мониторинг тикетов и дискуссий со стороны поддерживающих
- Автоматическое обновление переводов через GitHub Actions
- Активное сообщество обучающихся и контрибьюторов
- Регулярные обновления зависимостей и содержания
- Вопросы и обсуждения под контролем мейнтейнеров
- Автоматическое обновление переводов с помощью GitHub Actions
### Связанные ресурсы
- [Модули Microsoft Learn](https://docs.microsoft.com/learn/)
- [Ресурсы Student Hub](https://docs.microsoft.com/learn/student-hub/)
- [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) рекомендуется для обучающихся
- Дополнительные курсы: Generative AI, Data Science, ML, IoT
- [Microsoft Learn modules](https://docs.microsoft.com/learn/)
- [Student Hub resources](https://docs.microsoft.com/learn/student-hub/)
- [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) рекомендован для обучающихся
- Дополнительные курсы: генеративный ИИ, дата-сайенс, машинное обучение, IoT учебные программы
### Работа с конкретными проектами
Для подробных инструкций обращайтесь к README файлов в:
- `quiz-app/README.md` - Vue 3 приложение викторины
- `7-bank-project/README.md` - Банковское приложение с аутентификацией
- `5-browser-extension/README.md` - Разработка расширений для браузера
- `6-space-game/README.md` - Разработка игры на Canvas
- `9-chat-project/README.md` - Проект чат-ассистента с ИИ
Для подробных инструкций по отдельным проектам смотрите README файлы:
- `quiz-app/README.md` - приложение викторины на Vue 3
- `7-bank-project/README.md` - банковское приложение с аутентификацией
- `5-browser-extension/README.md` - разработка расширения браузера
- `6-space-game/README.md` - разработка игры на Canvas
- `9-chat-project/README.md` - проект AI чат-ассистента
### Структура монорепозитория
Хотя это не традиционный монорепозиторий, он содержит несколько независимых проектов:
- Каждый урок автономен
- Проекты не делят зависимости
- Работайте с отдельными проектами без влияния на другие
- Клонируйте весь репозиторий для полного опыта обучения
Хотя это не традиционный монорепозиторий, данный репозиторий содержит несколько независимых проектов:
- Каждый урок автономен
- Проекты не имеют общих зависимостей
- Работа с отдельными проектами не влияет на другие
- Клонируйте весь репозиторий для полного опыта курса
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Отказ от ответственности**:
Этот документ был переведен с помощью сервиса AI-перевода [Co-op Translator](https://github.com/Azure/co-op-translator). Несмотря на наши усилия обеспечить точность, пожалуйста, учитывайте, что автоматический перевод может содержать ошибки или неточности. Оригинальный документ на исходном языке следует считать авторитетным источником. Для важной информации рекомендуется обращаться к профессиональному переводу, выполненному человеком. Мы не несем ответственности за любые недоразумения или неправильные толкования, возникшие в результате использования данного перевода.
**Отказ от ответственности**:
Этот документ был переведен с помощью сервиса автоматического перевода [Co-op Translator](https://github.com/Azure/co-op-translator). Несмотря на наши усилия по обеспечению точности, пожалуйста, имейте в виду, что автоматический перевод может содержать ошибки или неточности. Оригинальный документ на его исходном языке следует считать авторитетным источником. Для критически важной информации рекомендуется использовать профессиональный перевод, выполненный человеком. Мы не несем ответственности за любые недоразумения или искажения, возникшие в результате использования данного перевода.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->
Loading…
Cancel
Save