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

update-translations
localizeflow[bot] 6 days ago
parent 42c323fe2d
commit dc71b57eb7

@ -493,7 +493,7 @@
},
"AGENTS.md": {
"original_hash": "a362efd06d64d4134a0cfe8515a86d34",
"translation_date": "2026-03-27T21:27:49+00:00",
"translation_date": "2026-04-06T17:25:14+00:00",
"source_file": "AGENTS.md",
"language_code": "he"
},
@ -516,8 +516,8 @@
"language_code": "he"
},
"README.md": {
"original_hash": "a2c9eed480687319517c08a6319e5536",
"translation_date": "2026-03-06T13:40:37+00:00",
"original_hash": "b885c87c7544109b78d6684daad6cba6",
"translation_date": "2026-04-06T17:21:28+00:00",
"source_file": "README.md",
"language_code": "he"
},

@ -2,23 +2,23 @@
## סקירת הפרויקט
זהו מאגר תוכן חינוכי ללימוד יסודות פיתוח ווב למתחילים. הקורס הינו קורס מקיף בן 12 שבועות שפותח על ידי Microsoft Cloud Advocates, וכולל 24 שיעורים מעשיים המכסים JavaScript, CSS ו-HTML.
זהו מאגר תוכן חינוכי ללימוד יסודות הפיתוח לאינטרנט למתחילים. התכנית היא קורס מקיף בן 12 שבועות שפותח על ידי Microsoft Cloud Advocates, ומכיל 24 שיעורים מעשיים בנושא JavaScript, CSS ו-HTML.
### רכיבים מרכזיים
- **תוכן חינוכי**: 24 שיעורים מובנים המאורגנים במודולים מבוססי פרויקטים
- **פרויקטים מעשיים**: Terrarium, משחק הקלדה, תוסף לדפדפן, משחק חלל, אפליקציית בנקאות, עורך קוד ועוזר צ'אט מבוסס AI
- **חידונים אינטראקטיביים**: 48 חידונים עם 3 שאלות בכל אחד (הערכות לפני/אחרי השיעור)
- **תמיכה בריבוי שפות**: תרגומים אוטומטיים ל-50+ שפות באמצעות GitHub Actions
- **טכנולוגיות**: HTML, CSS, JavaScript, Vue.js 3, Vite, Node.js, Express, Python (לפרויקטים מבוססי AI)
- **תוכן חינוכי**: 24 שיעורים מסודרים המאורגנים במודולים מבוססי פרויקטים
- **פרויקטים מעשיים**: Terrarium, משחק הקלדה, תוסף דפדפן, משחק חלל, אפליקציית בנקאות, עורך קוד ועוזר צ'אט מבוסס AI
- **חידונים אינטראקטיביים**: 48 חידונים עם 3 שאלות כל אחד (הערכות לפני/אחרי השיעור)
- **תמיכה רב-שפתית**: תרגומים אוטומטיים ל-50+ שפות באמצעות GitHub Actions
- **טכנולוגיות**: HTML, CSS, JavaScript, Vue.js 3, Vite, Node.js, Express, Python (לפרויקטי AI)
### ארכיטקטורה
- מאגר חינוכי עם מבנה מבוסס שיעורים
- כל תיקיית שיעור מכילה README, דוגמאות קוד ופתרונות
- פרויקטים עצמאיים בתיקיות נפרדות (quiz-app, פרויקטים שונים של שיעורים)
- בכל תיקיית שיעור יש README, דוגמאות קוד ופתרונות
- פרויקטים עצמאיים בתיקיות נפרדות (quiz-app, פרויקטי שיעורים שונים)
- מערכת תרגום באמצעות GitHub Actions (co-op-translator)
- תיעוד המוגש דרך Docsify וזמין גם כ-PDF
- תיעוד מוגש באמצעות Docsify וזמין גם בקובץ PDF
## פקודות התקנה
@ -30,137 +30,136 @@
git clone https://github.com/microsoft/Web-Dev-For-Beginners.git
cd Web-Dev-For-Beginners
```
### התקנת אפליקציית החידונים (Vue 3 + Vite)
### התקנת אפליקציית חידונים (Vue 3 + Vite)
```bash
cd quiz-app
npm install
npm run dev # הפעל שרת פיתוח
npm run build # בנייה לייצור
npm run build # בנייה לסביבה יצרנית
npm run lint # הרץ ESLint
```
### API לפרויקט בנק (Node.js + Express)
### API לפרויקט הבנק (Node.js + Express)
```bash
cd 7-bank-project/api
npm install
npm start # הפעל שרת API
npm run lint # הרץ ESLint
npm run lint # הפעל ESLint
npm run format # עיצוב עם Prettier
```
### פרויקטים של תוספי דפדפן
```bash
cd 5-browser-extension/solution
npm install
# עקוב אחר הוראות טעינת התוסף הספציפיות לדפדפן
# עקוב אחר הוראות טעינת התוספים הספציפיות לדפדפן
```
### פרויקטים של משחק חלל
### פרויקטים של משחקי חלל
```bash
cd 6-space-game/solution
npm install
# פתח את index.html בדפדפן או השתמש ב-Live Server
```
### פרויקט צ'אט (Backend בפייתון)
### פרויקט צ'אט (Backend ב-Python)
```bash
cd 9-chat-project/solution/backend/python
pip install openai
# הגדר משתנה סביבה GITHUB_TOKEN
# הגדר את משתנה הסביבה GITHUB_TOKEN
python api.py
```
## זרימת פיתוח
### לתורמים לתוכן
## זרימת עבודה לפיתוח
### לתורמי תוכן
1. **פעל למזלג את המאגר** לחשבון ה-GitHub שלך
2. **שכפל את המזלג** באופן מקומי
3. **צור ענף חדש** לשינויים שלך
1. **בצע fork של המאגר** לחשבון ה-GitHub שלך
2. **שכפל את ה-fork** באופן מקומי
3. **צור סניף חדש** עבור השינויים שלך
4. בצע שינויים בתוכן השיעור או בדוגמאות הקוד
5. בדוק שינויים בקוד בתיקיות הפרויקטים הרלוונטיות
6. שלח בקשות משיכה לפי הנחיות התרומה
5. בדוק שינויים בקוד בתיקיות הפרויקטים הרלוונטיים
6. הגש בקשות משיכה על פי הנחיות התרומה
### ללומדים
1. מזלג או שכפל את המאגר
2. עבור לתיקיות השיעורים ברצף
3. קרא קבצי README בכל שיעור
4. השלם חידונים לפני השיעור בכתובת https://ff-quizzes.netlify.app/web/
5. עבוד על דוגמאות הקוד בתיקיות השיעור
1. בצע fork או שכפל את המאגר
2. נווט בתיקיות השיעורים לפי סדר
3. קרא את קבצי README של כל שיעור
4. מלא את חידוני טרום-שיעור בכתובת https://ff-quizzes.netlify.app/web/
5. עבוד עם דוגמאות הקוד בתיקיות השיעור
6. השלם מטלות ואתגרים
7. השתתף בחידונים לאחר השיעור
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 המתאימות
## הוראות בדיקה
## הנחיות לבדיקות
### בדיקת אפליקציית החידונים
### בדיקות אפליקציית חידונים
```bash
cd quiz-app
npm run lint # בדוק בעיות בסגנון הקוד
npm run lint # בדוק בעיות סגנון קוד
npm run build # אמת שהבנייה מצליחה
```
### בדיקת API של הבנק
### בדיקות API בנק
```bash
cd 7-bank-project/api
npm run lint # בדוק בעיות בסגנון הקוד
node server.js # אמת את התחלת השרת ללא שגיאות
node server.js # אמת שהשרת מתחיל ללא שגיאות
```
### גישת בדיקות כללית
### גישה כללית לבדיקות
- זהו מאגר חינוכי ללא בדיקות אוטומטיות רחבות היקף
- זהו מאגר חינוכי ללא בדיקות אוטומטיות מקיפות
- בדיקות ידניות מתמקדות ב:
- הרצת דוגמאות קוד ללא שגיאות
- קישורים בתיעוד תקינים
- בניית הפרויקט מצליחה
- דוגמאות מממשות נהלים מיטביים
- קישורים בתיעוד עובדים כראוי
- בניית פרויקטים בהצלחה
- סילוק דוגמאות ע"פ שיטות עבודה מומלצות
### בדיקות לפני שליחה
- הרץ `npm run lint` בתיקיות עם package.json
- ודא שכל הקישורים במרקדאון תקינים
- הפעל `npm run lint` בתיקיות עם package.json
- אמת את תקינות הקישורים במרקדאון
- בדוק דוגמאות קוד בדפדפן או ב-Node.js
- ודא שהתרגומים שומרים על מבנה תקין
- וודא שהתרגומים שומרים על המבנה הנכון
## הנחיות סגנון קוד
## קווי הנחיה לסגנון קוד
### JavaScript
- השתמש בסינטקס מודרני ES6+
- פעל לפי קונפיגורציות ESLint סטנדרטיות בפרויקטים
- השתמש בשמות משתנים ופונקציות משמעותיים להבהרת התוכן החינוכי
- הוסף הערות שמסבירות מושגים ללומדים
- עיצוב קוד באמצעות Prettier כאשר מוגדר
- השתמש בתחביר מודרני ES6+
- פעל לפי הגדרות ESLint הסטנדרטיות בפרויקטים
- השתמש בשמות משתנים ופונקציות בעלי משמעות ברורה עבור לימוד
- הוסף הערות המסבירות מושגים ללומדים
- עיצוב הקוד באמצעות Prettier במקומות שהוגדרו
### HTML/CSS
- אלמנטים סמנטיים ב-HTML5
- אלמנטים סמנטיים של HTML5
- עקרונות עיצוב רספונסיבי
- שמות מחלקות ברורים לפי קונבנציות
- הערות שמסבירות טכניקות CSS ללומדים
- קונבנציות שמות ברורות למחלקות
- הערות המסבירות טכניקות CSS ללומדים
### Python
- הנחיות סגנון PEP 8
- דוגמאות קוד ברורות וחינוכיות
- רמיזות טיפוס (type hints) היכן שמועיל ללמידה
- רמזי טיפוס (type hints) במידת הצורך ללמידה
### תיעוד Markdown
@ -168,96 +167,96 @@ node server.js # אמת את התחלת השרת ללא שגיאות
- בלוקים עם ציון שפת הקוד
- קישורים למשאבים נוספים
- צילומי מסך ותמונות בתיקיות `images/`
- טקסט חלופי לתמונות לנגישות
- טקסט אלטרנטיבי לתמונות לנגישות
### ארגון קבצים
- שיעורים ממוספרים ברצף (1-getting-started-lessons, 2-js-basics וכו')
- לכל פרויקט תיקיית `solution/` ולרוב גם `start/` או `your-work/`
- תמונות נשמרות בתיקיות ספציפיות לשיעור `images/`
- תרגומים במבנה `translations/{language-code}/`
- לכל פרויקט תיקיית `solution/` ולעיתים גם `start/` או `your-work/`
- תמונות מאוחסנות בתיקיות `images/` ייעודיות לשיעור
- תרגומים בתיקיות `translations/{language-code}/`
## בנייה ופריסה
### פריסת אפליקציית החידונים (Azure Static Web Apps)
### פריסת אפליקציית חידונים (Azure Static Web Apps)
האפליקציה quiz-app מוגדרת לפריסה ב-Azure Static Web Apps:
האפליקציה מוגדרת לפריסת Azure Static Web Apps:
```bash
cd quiz-app
npm run build # יוצר תיקייה dist/
# מפרסם דרך תהליך עבודה של GitHub Actions כאשר דוחפים ל-main
npm run build # יוצרת תיקיה dist/
# מפרסמת דרך תהליך GitHub Actions בלחיצה על main
```
הגדרות Azure Static Web Apps:
ההגדרות לפריסת 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 מ־docs
npm run convert # יצירת PDF מ-docs
```
### תיעוד Docsify
```bash
npm install -g docsify-cli # התקן את Docsify באופן גלובלי
docsify serve # שירות בכתובת localhost:3000
npm install -g docsify-cli # התקן את Docsify בצורה גלובלית
docsify serve # הפעל על localhost:3000
```
### תהליכי בנייה ספציפיים לפרויקטים
### תהליכי בנייה ספציפיים לפרויקט
לכל תיקיית פרויקט עשוי להיות תהליך בנייה משלו:
- פרויקטים ב-Vue: `npm run build` ליצירת חבילות הפקה
- פרויקטים סטטיים: ללא בנייה, מגישים קבצים ישירות
לכל פרויקט יכול להיות תהליך בנייה משלו:
- פרויקטי Vue: `npm run build` ליצירת חבילות הפצה
- פרויקטים סטטיים: אין שלב בנייה, שרת קבצים ישירות
## הנחיות לבקשות משיכה
## הנחיות להגשת בקשות משיכה
### פורמט הכותרת
השתמש בכותרות ברורות ותיאוריות המצביעות על תחום השינוי:
השתמש בכותרות ברורות ומתארות את תחום השינוי:
- `[Quiz-app] הוסף חידון חדש לשיעור X`
- `[Lesson-3] תקן שגיאת כתיב בפרויקט terrarium`
- `[Translation] הוסף תרגום ספרדי לשיעור 5`
- `[Lesson-3] תקן טעות בפרויקט terrarium`
- `[Translation] הוסף תרגום לספרדית לשיעור 5`
- `[Docs] עדכן הוראות התקנה`
### בדיקות נדרשות
### בדיקות דרושות
לפני שליחת בקשה:
לפני הגשת PR:
1. **איכות קוד**:
- הרץ `npm run lint` בתיקיות הפרויקט הרלוונטיות
- תקן את כל שגיאות האיתור
- הפעל `npm run lint` בתיקיות הפרויקט הרלוונטיות
- תקן את כל שגיאות ואזהרות הלינטר
2. **אימות בניה**:
- הרץ `npm run build` אם נדרש
- ודא שאין שגיאות בניה
2. **אימות בנייה**:
- הפעל `npm run build` אם רלוונטי
- וודא שאין שגיאות בנייה
3. **בדיקת קישורים**:
3. **תיקוף קישורים**:
- בדוק את כל הקישורים במרקדאון
- וודא הפניות לתמונות תקינות
- אמת הפניות לתמונות
4. **סקירת תוכן**:
- הגהה לאיות ודקדוק
- ודא שהדוגמאות נכונות וחינוכיות
- בדוק שתרגומים שומרים על המשמעות המקורית
- בדוק איות ודקדוק
- ודא שהדוגמאות בקוד נכונות ומלמדות
- אמת שהתרגומים שומרים על המשמעות המקורית
### דרישות לתרומה
- הסכמה ל-Microsoft CLA (בדיקה אוטומטית בבקשה הראשונה)
- פעול לפי [קוד ההתנהגות של מיקרוסופט בקוד פתוח](https://opensource.microsoft.com/codeofconduct/)
- ראה [CONTRIBUTING.md](./CONTRIBUTING.md) להנחיות מפורטות
- הפנייה למספרי נושאים בתיאור הבקשה אם רלוונטי
- הסכמה על Microsoft CLA (בדיקה אוטומטית בבקשה הראשונה)
- פועלים לפי [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/)
- ראו [CONTRIBUTING.md](./CONTRIBUTING.md) להנחיות מפורטות
- ציין מספרי נושאים בתיאור הבקשה אם רלוונטי
### תהליך סקירה
### תהליך סיקור
- בקשות משיכה נבדקות על ידי מנהלי המאגר והקהילה
- מועדפת בהירות חינוכית
- דוגמאות קוד יש לעקוב אחרי שיטות עבודה מומלצות עדכניות
- תרגומים נבדקים לדיוק ולקליטת תרבותית
- בקשות משיכה נסקרות על ידי מנחים והקהילה
- עדיפות לבריאות חינוכית
- יש לעקוב אחרי שיטות עבודה מומלצות בדוגמאות קוד
- התרגומים נסקרים לדיוק ולהתאמה תרבותית
## מערכת תרגום
@ -265,19 +264,19 @@ docsify serve # שירות בכתובת localhost:3000
- משתמש ב-GitHub Actions עם זרימת עבודה co-op-translator
- מתרגם ל-50+ שפות באופן אוטומטי
- קבצי המקור בתיקיות הראשיות
- קבצים מתורגמים ב-`translations/{language-code}/`
- קבצי מקור בתיקיות הראשיות
- קבצים מתורגמים בתיקיות `translations/{language-code}/`
### הוספת שיפורים ידניים לתרגום
1. אתר קובץ ב-`translations/{language-code}/`
1. אתר את הקובץ בתיקיית `translations/{language-code}/`
2. בצע שיפורים תוך שמירה על המבנה
3. ודא שדוגמאות קוד ממשיכות לפעול
4. בדוק כל תוכן חידון ממוקם
3. ודא שדוגמאות הקוד נשארות תקינות
4. בדוק כל תוכן חידון מקומי
### מטאנתוני תרגום
### מטא-נתוני תרגום
לקבצים מתורגמים יש כותרת מטאנתונים:
קבצים מתורגמים כוללים כותרת מטא-נתונים:
```markdown
<!--
CO_OP_TRANSLATOR_METADATA:
@ -289,122 +288,121 @@ CO_OP_TRANSLATOR_METADATA:
}
-->
```
## איתור תקלות ופתרון בעיות
## איתור שגיאות ופתרון בעיות
### בעיות נפוצות
**אפליקציית החידונים לא מתחילה**:
**האפליקציית חידונים נכשלת בהפעלה**:
- בדוק גרסת Node.js (מומלץ v14+)
- מחק את `node_modules` ו-`package-lock.json` והרץ `npm install` מחדש
- בדוק התנגשויות פורטים (ברירת מחדל: Vite משתמש בפורט 5173)
- מחק `node_modules` ו-`package-lock.json` והפעל `npm install` מחדש
- בדוק סתירות פורטים (ברירת מחדל: Vite משתמש בפורט 5173)
**שרת ה-API לא מתחיל**:
- וודא שגרסת Node.js עומדת בדרישה (node >=10)
- בדוק אם הפורט בשימוש כבר
- אמת שגרסת Node.js מתאימה (node >=10)
- בדוק אם הפורט כבר בשימוש
- ודא שכל התלויות מותקנות עם `npm install`
**תוסף הדפדפן לא נטען**:
- בדוק ש-manifest.json מעוצב כראוי
- בדוק קונסול הדפדפן לשגיאות
- עקוב אחר הוראות ההתקנה הספציפיות לדפדפן
- אמת ש-manifest.json מעוצב כראוי
- בדוק קונסול דפדפן לשגיאות
- פעל לפי הוראות התקנת תוסף ספציפיות לדפדפן
**בעיות בפרויקט הצ'אט בפייתון**:
- וודא שהתקנת את חבילת OpenAI: `pip install openai`
- ודא משתנה הסביבה GITHUB_TOKEN מוגדר
- בדוק הרשאות גישה למודלים ב-GitHub
**בעיות בפרויקט צ'אט ב-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 לעיצוב אחיד
- השתמש בכלי הפיתוח בדפדפן לפירוק שגיאות JavaScript
- לפרויקטים ב-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 build)
## שיקולי אבטחה
### משתני סביבה
- אסור להכניס מפתחות API למאגר
- השתמש בקבצי `.env` (כבר ב-.gitignore)
- תעד את משתני הסביבה הנדרשים ב-READMEs של הפרויקטים
- השתמש בקבצי `.env` (כבר ב-`.gitignore`)
- תעד משתני סביבה נדרשים בקבצי README של הפרויקטים
### פרויקטי Python
### פרויקטים ב-Python
- השתמש בסביבות וירטואליות: `python -m venv venv`
- שמור על עדכון תלויות
- טוקנים של GitHub צריכים הרשאות מינימליות נדרשות
- שמור על עדכון תלותים
- טוקנים ל-GitHub צריכים להיות בעלי הרשאות מינימליות
### גישת מודלים ב-GitHub
### גישה ל-GitHub Models
- נדרשים Personal Access Tokens (PAT) עבור מודלים של GitHub
- דרושים Personal Access Tokens (PAT) ל-GitHub Models
- יש לאחסן טוקנים במשתני סביבה
- לעולם אל תכלול טוקנים או אישורים במאגר
- אף פעם לא להכניס טוקנים או אישורים למאגר
## הערות נוספות
### קהל יעד
- מתחילים מוחלטים בפיתוח ווב
- סטודנטים ולומדי עצמאות
- מורים המשתמשים בתכנית בכיתות
- התוכן מעוצב לנגישות ולבניית מיומנויות הדרגתית
- מתחילים מלאים בפיתוח אינטרנט
- תלמידים ולומדים עצמאיים
- מורים שמשתמשים בתכנית בכיתות
- התוכן מותאם לנגישות ולהתפתחות מיומנויות הדרגתית
### הפילוסופיה החינוכית
### פילוסופיית הלימוד
- גישת למידה מבוססת פרויקטים
- גישה מבוססת פרויקטים
- בדיקות ידע תכופות (חידונים)
- תרגילי קידוד מעשיים
- דוגמאות יישום מהמציאות
- דגש על יסודות לפני מסגרות
- דוגמאות ליישומים בעולם האמיתי
- התמקדות ביסודות לפני מסגרות עבודה
### תחזוקת המאגר
- קהילת לומדים ותורמים פעילה
- עדכונים שוטפים לתלויות ולתוכן
- ניהול סוגיות ושיחות על ידי מנהלים
- קהילה פעילה של לומדים ותורמים
- עדכונים סדירים לתלויות ותוכן
- ניהול נושאים ודיונים על ידי מנהלים
- עדכוני תרגום אוטומטיים באמצעות GitHub Actions
### משאבים קשורים
- [מודולים ב-Microsoft Learn](https://docs.microsoft.com/learn/)
- [משאבים ב-Student Hub](https://docs.microsoft.com/learn/student-hub/)
- [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) מומלץ ללומדים
- קורסים נוספים: AI גנרטיבי, Data Science, ML, IoT זמינים
- קורסים נוספים: AI גנרטיבי, מדעי נתונים, למידת מכונה, IoT
### עבודה עם פרויקטים ספציפיים
להוראות מפורטות על פרויקטים בודדים, עיין בקבצי README ב:
להוראות מפורטות לפרויקטים בודדים, עיין בקבצי README ב:
- `quiz-app/README.md` - אפליקציית חידונים ב-Vue 3
- `7-bank-project/README.md` - אפליקציית בנקאות עם אימות
- `5-browser-extension/README.md` - פיתוח תוסף דפדפן
- `6-space-game/README.md` - פיתוח משחק בקנבס
- `6-space-game/README.md` - פיתוח משחק מבוסס Canvas
- `9-chat-project/README.md` - פרויקט עוזר צ'אט מבוסס AI
### מבנה מונורפו
למרות שאינו מונורפו קלאסי, מאגר זה כולל מספר פרויקטים עצמאיים:
- כל שיעור עצמאי בפני עצמו
- פרויקטים אינם חולקים תלויות
- עבודות על פרויקטים בודדים ללא השפעה על אחרים
- שכפל את כל המאגר לחוויית קורס מלאה
אף שזו לא מונורפו קלאסית, המאגר מכיל מספר פרויקטים עצמאיים:
- כל שיעור הוא עצמאי
- אין שיתוף תלותים בין פרויקטים
- העבודה על פרויקטים בודדים ללא השפעה על האחרים
- שכפל את כל המאגר לחוויית הלימוד המלאה
---
<!-- 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,38 +1,38 @@
[![GitHub license](https://img.shields.io/github/license/microsoft/Web-Dev-For-Beginners.svg)](https://github.com/microsoft/Web-Dev-For-Beginners/blob/master/LICENSE)
[![GitHub contributors](https://img.shields.io/github/contributors/microsoft/Web-Dev-For-Beginners.svg)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/graphs/contributors/)
[![GitHub issues](https://img.shields.io/github/issues/microsoft/Web-Dev-For-Beginners.svg)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/issues/)
[![GitHub pull-requests](https://img.shields.io/github/issues-pr/microsoft/Web-Dev-For-Beginners.svg)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/pulls/)
[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](http://makeapullrequest.com)
[![רישיון GitHub](https://img.shields.io/github/license/microsoft/Web-Dev-For-Beginners.svg)](https://github.com/microsoft/Web-Dev-For-Beginners/blob/master/LICENSE)
[![תורמי GitHub](https://img.shields.io/github/contributors/microsoft/Web-Dev-For-Beginners.svg)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/graphs/contributors/)
[![בעיות GitHub](https://img.shields.io/github/issues/microsoft/Web-Dev-For-Beginners.svg)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/issues/)
[![בקשות משיכה GitHub](https://img.shields.io/github/issues-pr/microsoft/Web-Dev-For-Beginners.svg)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/pulls/)
[![ברוכים הבאים ל-PRs](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](http://makeapullrequest.com)
[![GitHub watchers](https://img.shields.io/github/watchers/microsoft/Web-Dev-For-Beginners.svg?style=social&label=Watch&maxAge=2592000)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/watchers/)
[![GitHub forks](https://img.shields.io/github/forks/microsoft/Web-Dev-For-Beginners.svg?style=social&label=Fork&maxAge=2592000)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/network/)
[![GitHub stars](https://img.shields.io/github/stars/microsoft/Web-Dev-For-Beginners.svg?style=social&label=Star&maxAge=2592000)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/stargazers/)
[![צופים ב-GitHub](https://img.shields.io/github/watchers/microsoft/Web-Dev-For-Beginners.svg?style=social&label=Watch&maxAge=2592000)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/watchers/)
[![Forks ב-GitHub](https://img.shields.io/github/forks/microsoft/Web-Dev-For-Beginners.svg?style=social&label=Fork&maxAge=2592000)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/network/)
[![כוכבים ב-GitHub](https://img.shields.io/github/stars/microsoft/Web-Dev-For-Beginners.svg?style=social&label=Star&maxAge=2592000)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/stargazers/)
[![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG)
# פיתוח אתרים למתחילים - תוכנית לימודים
# פיתוח אתרים למתחילים - תכנית לימודים
למדו את יסודות פיתוח האינטרנט עם הקורס המקיף שלנו של 12 שבועות שנבנה על ידי מומחי Microsoft Cloud. כל אחד מ-24 השיעורים מתעמק ב-JavaScript, CSS ו-HTML דרך פרויקטים מעשיים כמו טרריום, תוספי דפדפן ומשחקי חלל. השתתפו בחידונים, דיונים ופעילויות מעשיות. שפרו את היכולות שלכם ואופטמו את חווית הלמידה עם שיטת הלימוד המבוססת פרויקטים שלנו. התחילו את מסע התכנות שלכם היום!
למדו את יסודות פיתוח האינטרנט עם הקורס המקיף שלנו בן 12 השבועות על ידי Microsoft Cloud Advocates. כל אחת מ-24 השיעורים מתעמקת ב-JavaScript, CSS ו-HTML דרך פרויקטים מעשיים כמו טרטריומים, תוספות לדפדפן, ומשחקי חלל. התנסו עם חידונים, דיונים ומשימות מעשיות. שפרו את הכישורים שלכם ואופטימיזו את השימור של הידע עם הפדגוגיה היעילה שלנו המבוססת על פרויקטים. התחילו את מסע הקידוד שלכם היום!
הצטרפו לקהילת Azure AI Foundry ב-Discord
[![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG)
עקבו אחרי השלבים הבאים כדי להתחיל להשתמש במשאבים אלו:
1. **פיצול המאגר**: לחצו [![GitHub forks](https://img.shields.io/github/forks/microsoft/Web-Dev-For-beginners.svg?style=social&label=Fork)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/fork)
2. **שיבוט המאגר**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git`
3. [**הצטרפו ל-Azure AI Foundry בדיסקורד ובלו עם מומחים ומפתחים אחרים**](https://discord.com/invite/ByRwuEEgH4)
עקבו אחר השלבים הבאים כדי להתחיל להשתמש במשאבים אלו:
1. **פיצול הריפוזיטורי**: לחצו כאן [![Forks ב-GitHub](https://img.shields.io/github/forks/microsoft/Web-Dev-For-beginners.svg?style=social&label=Fork)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/fork)
2. **שכפול הריפוזיטורי**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git`
3. [**הצטרפו ל-Azure AI Foundry Discord ופגשו מומחים ומפתחים נוספים**](https://discord.com/invite/ByRwuEEgH4)
### 🌐 תמיכה בריבוי שפות
### 🌐 תמיכה רב-שפתית
#### נתמך באמצעות GitHub Action (אוטומטי ותמיד מעודכן)
#### נתמך בעזרת פעולה של GitHub (אוטומטי ותמיד מעודכן)
<!-- CO-OP TRANSLATOR LANGUAGES TABLE START -->
[Arabic](../ar/README.md) | [Bengali](../bn/README.md) | [Bulgarian](../bg/README.md) | [Burmese (Myanmar)](../my/README.md) | [Chinese (Simplified)](../zh-CN/README.md) | [Chinese (Traditional, Hong Kong)](../zh-HK/README.md) | [Chinese (Traditional, Macau)](../zh-MO/README.md) | [Chinese (Traditional, Taiwan)](../zh-TW/README.md) | [Croatian](../hr/README.md) | [Czech](../cs/README.md) | [Danish](../da/README.md) | [Dutch](../nl/README.md) | [Estonian](../et/README.md) | [Finnish](../fi/README.md) | [French](../fr/README.md) | [German](../de/README.md) | [Greek](../el/README.md) | [Hebrew](./README.md) | [Hindi](../hi/README.md) | [Hungarian](../hu/README.md) | [Indonesian](../id/README.md) | [Italian](../it/README.md) | [Japanese](../ja/README.md) | [Kannada](../kn/README.md) | [Korean](../ko/README.md) | [Lithuanian](../lt/README.md) | [Malay](../ms/README.md) | [Malayalam](../ml/README.md) | [Marathi](../mr/README.md) | [Nepali](../ne/README.md) | [Nigerian Pidgin](../pcm/README.md) | [Norwegian](../no/README.md) | [Persian (Farsi)](../fa/README.md) | [Polish](../pl/README.md) | [Portuguese (Brazil)](../pt-BR/README.md) | [Portuguese (Portugal)](../pt-PT/README.md) | [Punjabi (Gurmukhi)](../pa/README.md) | [Romanian](../ro/README.md) | [Russian](../ru/README.md) | [Serbian (Cyrillic)](../sr/README.md) | [Slovak](../sk/README.md) | [Slovenian](../sl/README.md) | [Spanish](../es/README.md) | [Swahili](../sw/README.md) | [Swedish](../sv/README.md) | [Tagalog (Filipino)](../tl/README.md) | [Tamil](../ta/README.md) | [Telugu](../te/README.md) | [Thai](../th/README.md) | [Turkish](../tr/README.md) | [Ukrainian](../uk/README.md) | [Urdu](../ur/README.md) | [Vietnamese](../vi/README.md)
[ערבית](../ar/README.md) | [בנגלית](../bn/README.md) | [בולגרית](../bg/README.md) | [בורמזית (מיאנמר)](../my/README.md) | [סינית (מפושטת)](../zh-CN/README.md) | [סינית (מסורתית, הונג קונג)](../zh-HK/README.md) | [סינית (מסורתית, מקאו)](../zh-MO/README.md) | [סינית (מסורתית, טייוואן)](../zh-TW/README.md) | [קרואטית](../hr/README.md) | [צ'כית](../cs/README.md) | [דנית](../da/README.md) | [הולנדית](../nl/README.md) | [אסטונית](../et/README.md) | [פינית](../fi/README.md) | [צרפתית](../fr/README.md) | [גרמנית](../de/README.md) | [יוונית](../el/README.md) | [עברית](./README.md) | [הינדי](../hi/README.md) | [הונגרית](../hu/README.md) | [אינדונזית](../id/README.md) | [איטלקית](../it/README.md) | [יפנית](../ja/README.md) | [קנדה](../kn/README.md) | [חמרית](../km/README.md) | [קוריאנית](../ko/README.md) | [ליטאית](../lt/README.md) | [מלאית](../ms/README.md) | [מאלאיאלאם](../ml/README.md) | [מרטהית](../mr/README.md) | [נפאלית](../ne/README.md) | [ניגרית פידגין](../pcm/README.md) | [נורווגית](../no/README.md) | [פרסית (פארסית)](../fa/README.md) | [פולנית](../pl/README.md) | [פורטוגזית (ברזיל)](../pt-BR/README.md) | [פורטוגזית (פורטוגל)](../pt-PT/README.md) | [פונג'בית (ג׳רמוקי)](../pa/README.md) | [רומנית](../ro/README.md) | [רוסית](../ru/README.md) | [סרבית (קירילית)](../sr/README.md) | [סלובקית](../sk/README.md) | [סלובנית](../sl/README.md) | [ספרדית](../es/README.md) | [סוואהילית](../sw/README.md) | [שבדית](../sv/README.md) | [טגלוג (פיליפינית)](../tl/README.md) | [טמילית](../ta/README.md) | [טלוגו](../te/README.md) | [תאית](../th/README.md) | [טורקית](../tr/README.md) | [אוקראינית](../uk/README.md) | [אורדו](../ur/README.md) | [וייטנאמית](../vi/README.md)
> **מעדיפים לשכפל מקומית?**
>
> מאגר זה כולל מעל 50 תרגומים שונים שמגדילים משמעותית את גודל ההורדה. כדי לשכפל בלי תרגומים, השתמשו ב-sparse checkout:
> מאגר זה כולל למעלה מ-50 שפות תרגום, מה שמגדיל משמעותית את גודל ההורדה. לשכפול ללא תרגומים, השתמשו ב-sparse checkout:
>
> **Bash / macOS / Linux:**
> ```bash
@ -48,42 +48,41 @@
> git sparse-checkout set --no-cone "/*" "!translations" "!translated_images"
> ```
>
> זה נותן לכם את כל מה שצריך בכדי להשלים את הקורס במהירות הורדה גבוהה יותר.
> זה נותן לכם את כל מה שנדרש כדי להשלים את הקורס עם הורדה מהירה הרבה יותר.
<!-- CO-OP TRANSLATOR LANGUAGES TABLE END -->
**אם תרצו לתמוך בשפות תרגום נוספות, הן רשומות [כאן](https://github.com/Azure/co-op-translator/blob/main/getting_started/supported-languages.md)**
**אם אתם מעוניינים בתמיכה בשפות תרגום נוספות, הן רשומות [כאן](https://github.com/Azure/co-op-translator/blob/main/getting_started/supported-languages.md)**
[![Open in Visual Studio Code](https://img.shields.io/static/v1?logo=visualstudiocode&label=&message=Open%20in%20Visual%20Studio%20Code&labelColor=2c2c32&color=007acc&logoColor=007acc)](https://open.vscode.dev/microsoft/Web-Dev-For-Beginners)
[![פתחו ב-Visual Studio Code](https://img.shields.io/static/v1?logo=visualstudiocode&label=&message=Open%20in%20Visual%20Studio%20Code&labelColor=2c2c32&color=007acc&logoColor=007acc)](https://open.vscode.dev/microsoft/Web-Dev-For-Beginners)
#### 🧑‍🎓 _האם אתה תלמיד?_
בקר ב[**דף מרכז התלמיד**](https://docs.microsoft.com/learn/student-hub/?WT.mc_id=academic-77807-sagibbon) בו תמצאו משאבי מתחילים, חבילת תלמידים ואפילו דרכים לקבל שובר הסמכה חינמי. זהו הדף שכדאי לשמור כסימנייה ולבדוק מעת לעת כאשר אנו מחליפים תוכן מדי חודש.
בקרו ב-[**דף מרכז התלמיד**](https://docs.microsoft.com/learn/student-hub/?WT.mc_id=academic-77807-sagibbon) שם תמצאו משאבים למתחילים, חבילות לסטודנטים ועוד דרכים לקבל שובר לתעודה חינמית. זה הדף שכדאי לכם לסמן בבקבוק ולעיין בו מדי פעם כשאנו מחליפים תוכן מדי חודש.
### 📣 הכרזה - אתגרי מצב סוכן חדש ל-GitHub Copilot להשלים!
### 📣 הכרזה - אתגרי מצב GitHub Copilot Agent חדשים להשלים!
אתגר חדש נוסף, חפשו "GitHub Copilot Agent Challenge 🚀" ברוב הפרקים. זהו אתגר חדש עבורכם להשלים בעזרת GitHub Copilot ומצב סוכן. אם לא השתמשתם במצב סוכן קודם, הוא מסוגל לא רק ליצור טקסט אלא גם ליצור ולערוך קבצים, להפעיל פקודות ועוד.
אתגר חדש נוסף, חפשו "GitHub Copilot Agent Challenge 🚀" ברוב הפרקים. זהו אתגר חדש עבורכם להשלים תוך שימוש ב-GitHub Copilot ובמצב Agent. אם לא השתמשתם במצב Agent קודם לכן, הוא מסוגל לא רק לייצר טקסט אלא גם ליצור ולערוך קבצים, להריץ פקודות ועוד.
### 📣 הכרזה - _פרויקט חדש לבנייה באמצעות AI גנרטיבי_
פרויקט עוזר AI חדש נוסף, בדקו את [הפרויקט](./9-chat-project/README.md)
פרויקט עוזר AI חדש נוסף, בדקו אותו [כאן](./9-chat-project/README.md)
### 📣 הכרזה - וכנית לימודים חדשה_ על AI גנרטיבי ל-JavaScript זה עתה שוחררה
### 📣 הכרזה - כנית לימודים חדשה_ ל-AI גנרטיבי עבור JavaScript שפורסמה לאחרונה
אל תפספסו את תוכנית הלימודים החדשה שלנו ב-AI גנרטיבי!
אל תפספסו את תכנית הלימודים החדשה שלנו ל-AI גנרטיבי!
בקרו ב-[https://aka.ms/genai-js-course](https://aka.ms/genai-js-course) כדי להתחיל!
![Background](../../translated_images/he/background.148a8d43afde5730.webp)
![רקע](../../translated_images/he/background.148a8d43afde5730.webp)
- שיעורים שמכסים הכל מהבסיס ועד RAG.
- התקשורת עם דמויות היסטוריות באמצעות GenAI והאפליקציה המלווית שלנו.
- נרטיב מהנה ומרתק, תנסו נסיעה בזמן!
- שיעורים המכסים הכל מבסיסי ועד RAG.
- אינטראקציה עם דמויות היסטוריות באמצעות GenAI ואפליקציית הליווי שלנו.
- נרטיב מהנה ומרתק, טיול בזמן מחכה לכם!
![character](../../translated_images/he/character.5c0dd8e067ffd693.webp)
![דמות](../../translated_images/he/character.5c0dd8e067ffd693.webp)
כל שיעור כולל מטלה להשלים, בדיקת ידע ואתגר שינחו אתכם בלימוד נושאים כגון:
- הנעת פקודות והנדסת פרומפטים
כל שיעור כולל משימה להשלים, בדיקת ידע ואתגר להנחות אותך בנושאים כמו:
- יצירת פקודות והנדסת פקודות
- יצירת אפליקציות טקסט ותמונה
- אפליקציות חיפוש
@ -91,43 +90,43 @@
## 🌱 התחלת העבודה
## 🌱 להתחיל
> **מורים**, כללנו [כמה הצעות](for-teachers.md) לשימוש בתוכנית לימודים זו. נשמח למשוב שלכם [בפורום הדיונים שלנו](https://github.com/microsoft/Web-Dev-For-Beginners/discussions/categories/teacher-corner)!
> **מורים**, כללנו [הצעות](for-teachers.md) כיצד להשתמש בתכנית לימודים זו. נשמח למשוב שלכם [בפורום הדיון שלנו](https://github.com/microsoft/Web-Dev-For-Beginners/discussions/categories/teacher-corner)!
**[לומדים](https://aka.ms/student-page/?WT.mc_id=academic-77807-sagibbon)**, עבור כל שיעור, התחילו בחידון מקדים ועברו על חומר ההרצאה, השלימו פעילויות שונות ובדקו את ההבנה שלכם עם החידון לאחר ההרצאה.
**[לומדים](https://aka.ms/student-page/?WT.mc_id=academic-77807-sagibbon)**, עבור כל שיעור, התחילו בחידון טרום-הרצאה ועקבו אחר קריאת חומר ההרצאה, השלמת הפעילויות השונות ובדיקת ההבנה שלכם עם חידון לאחר ההרצאה.
כדי לשפר את חוויית הלמידה שלכם, התחברו לחברים לקבוצות עבודה על הפרויקטים יחד! עידוד דיונים בפורום הדיונים שלנו [בפורום הדיונים](https://github.com/microsoft/Web-Dev-For-Beginners/discussions) בו צוות המנהלים שלנו יהיה זמין למענה על שאלותכם.
כדי לשפר את חוויית הלמידה שלכם, התחברו עם חבריכם לעבוד יחד על הפרויקטים! דיונים מומלצים ב[פורום הדיון שלנו](https://github.com/microsoft/Web-Dev-For-Beginners/discussions) שבו צוות המפמ"רים שלנו יהיה זמין לענות על שאלותיכם.
לקידום הלימודים, אנו ממליצים בחום לבדוק את [Microsoft Learn](https://learn.microsoft.com/users/wirelesslife/collections/p1ddcy5jwy0jkm?WT.mc_id=academic-77807-sagibbon) למשאבי לימוד נוספים.
להרחבת ההשכלה שלכם, אנו ממליצים בחום לחקור את [Microsoft Learn](https://learn.microsoft.com/users/wirelesslife/collections/p1ddcy5jwy0jkm?WT.mc_id=academic-77807-sagibbon) לקבלת חומרי לימוד נוספים.
### 📋 הקמת סביבת הפיתוח שלכם
### 📋 הגדרת סביבת העבודה שלכם
לתוכנית הלימודים הזו יש סביבת פיתוח מוכנה לשימוש! כאשר תתחילו, תוכלו לבחור להריץ את תוכנית הלימודים ב-[Codespace](https://github.com/features/codespaces/) (_סביבת דפדפן ללא צורך בהתקנות_), או מקומית במחשב שלכם באמצעות עורך טקסט כמו [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon).
לתכנית לימודים זו קיימת סביבת פיתוח מוכנה לשימוש! כאשר תתחילו תוכלו לבחור להריץ את התכנית ב-[Codespace](https://github.com/features/codespaces/) (_סביבת עבודה בדפדפן ללא צורך בהתקנות_), או מקומית במחשב שלכם תוך שימוש בעורך טקסט כמו [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon).
#### צרו את המאגר שלכם
כדי שתוכלו לשמור בקלות את העבודה שלכם, מומלץ ליצור עותק אישי של המאגר. ניתן לעשות זאת על ידי לחיצה על כפתור **Use this template** בראש הדף. זה ייצור מאגר חדש בחשבון GitHub שלכם עם עותק של תוכנית הלימודים.
#### צרו את מאגר הקוד שלכם
כדי שתוכלו לשמור את העבודה שלכם בקלות, מומלץ ליצור עותק משלכם של מאגר הקוד הזה. ניתן לעשות זאת על ידי לחיצה על כפתור **Use this template** בראש הדף. זה ייצור מאגר חדש בחשבון ה-GitHub שלכם עם עותק של תכנית הלימודים.
עקבו אחרי השלבים הבאים:
1. **פיצול המאגר**: לחצו על כפתור "Fork" בפינה הימנית העליונה של הדף הזה.
2. **שיבוט המאגר**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git`
עקבו אחר השלבים האלה:
1. **פיצול הריפוזיטורי**: לחצו על כפתור "Fork" בפינה הימנית העליונה של דף זה.
2. **שכפול הריפוזיטורי**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git`
#### הרצת תוכנית הלימודים ב-Codespace
#### הרצת תכנית הלימודים ב-Codespace
בעותק שיצרתם של מאגר זה, לחצו על כפתור **Code** ובחרו **Open with Codespaces**. זה ייצור Codespace חדש עבורכם לעבוד בו.
בעותק שלכם של המאגר שיצרתם, לחצו על כפתור **Code** ובחרו **Open with Codespaces**. זה ייצור Codespace חדש שבו תוכלו לעבוד.
![Codespace](../../translated_images/he/createcodespace.0238bbf4d7a8d955.webp)
#### הרצת תוכנית הלימודים מקומית במחשב שלכם
#### הרצת תכנית הלימודים במחשב האישי שלכם
להריץ תוכנית לימודים זו במחשב שלכם, תזדקקו לעורך טקסט, לדפדפן וכלי שורת פקודה. השיעור הראשון שלנו, [הקדמה לשפות תכנות וכלי עבודה](../../1-getting-started-lessons/1-intro-to-programming-languages), יכוון אתכם דרך אפשרויות שונות לכל אחד מהכלים הללו כדי שתוכלו לבחור את המתאים לכם ביותר.
כדי להריץ תכנית לימודים זו באופן מקומי, תזדקקו לעורך טקסט, לדפדפן וכלי שורת פקודה. השיעור הראשון שלנו, [מבוא לשפות תכנות וכלים מקצועיים](../../1-getting-started-lessons/1-intro-to-programming-languages), ידריך אתכם דרך אפשרויות שונות לכל אחד מהכלים לבחירתכם.
ההמלצה שלנו היא להשתמש ב-[Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) כעורך שלכם, שיש גם [טרמינל](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon) מובנה. ניתן להוריד את Visual Studio Code [כאן](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon).
1. שכפל את המאגר שלך למחשב שלך. ניתן לעשות זאת על ידי לחיצה על לחצן **Code** והעתקת כתובת ה-URL:
ההמלצה שלנו היא להשתמש ב-[Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) כעורך הטקסט שלכם, שיש לו גם [טרמינל מובנה](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon). ניתן להוריד את Visual Studio Code [כאן](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon).
1. שכפל את המאגר שלך למחשב האישי. ניתן לעשות זאת על ידי לחיצה על כפתור **Code** והעתקת ה-URL:
[CodeSpace](./images/createcodespace.png)
לאחר מכן, פתח את [Terminal](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon) בתוך [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) והרץ את הפקודה הבאה, כשהחלף את `<your-repository-url>` בכתובת ה-URL שהעתקת זה עתה:
לאחר מכן, פתח את [הטרמינל](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon) בתוך [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) והרץ את הפקודה הבאה, כשהחלפת את `<your-repository-url>` עם ה-URL שהעתקת זה עתה:
```bash
git clone <your-repository-url>
@ -138,84 +137,85 @@
> הרחבות מומלצות ל-Visual Studio Code:
>
> * [Live Server](https://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer&WT.mc_id=academic-77807-sagibbon) - לתצוגת תצוגה מקדימה של דפי HTML בתוך Visual Studio Code
> * [Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot&WT.mc_id=academic-77807-sagibbon) - לעזור לך לכתוב קוד מהר יותר
> * [Live Server](https://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer&WT.mc_id=academic-77807-sagibbon) - לתצוגה מקדימה של דפי HTML בתוך Visual Studio Code
> * [Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot&WT.mc_id=academic-77807-sagibbon) - כדי לעזור לך לכתוב קוד מהר יותר
## 📂 כל שיעור כולל:
- הערת רישום אופציונלית
- וידאו תומך אופציונלי
- בחן חימום לפני השיעור
- סקצ'נוט אופציונלי
- וידאו משלים אופציונלי
- חידון חימום לפני השיעור
- שיעור כתוב
- לשיעורים מבוססי פרויקט, מדריכים שלב אחרי שלב כיצד לבנות את הפרויקט
- בשיעורים מבוססי פרויקטים, מדריכים שלב-אחר-שלב כיצד לבנות את הפרויקט
- בדיקות ידע
- אתגר
- קריאה תומכת
- מטלה
- [בחן לאחר השיעור](https://ff-quizzes.netlify.app/web/)
- קריאה משלימה
- משימה
- [חידון לאחר השיעור](https://ff-quizzes.netlify.app/web/)
> **הערה על החנים**: כל החנים נמצאים בתיקיית Quiz-app, 48 חנים בסך הכל של שלוש שאלות כל אחד. הם זמינים [כאן](https://ff-quizzes.netlify.app/web/) אפליקציית החנים ניתנת להרצה מקומית או פריסה ב-Azure; עקוב אחר ההוראות שבתיקיית `quiz-app`.
> **הערה על חידונים**: כל החידונים נמצאים בתיקיית Quiz-app, 48 חידונים בסך הכול עם שלוש שאלות בכל אחד מהם. הם זמינים [כאן](https://ff-quizzes.netlify.app/web/) ניתן להריץ את אפליקציית החידון באופן מקומי או לפרוס אותה לאזור; עקבו אחרי ההוראות בתיקיית `quiz-app`.
## 🗃️ שיעורים
| | שם הפרויקט | המושגים הנלמדים | יעדי הלמידה | השיעור המקושר | מחבר |
| :-: | :------------------------------------------------------: | :-----------------------------------------------------------------: | ------------------------------------------------------------------------------------------------------------------------------ | :----------------------------------------------------------------------------------------------------------------------------: | :-------------------: |
| 01 | התחלה מהירה | מבוא לתכנות וכלי המקצוע | למד את היסודות של רוב שפות התכנות ועל תוכנות המסייעות למפתחים מקצועיים לבצע את עבודתם | [Introduction to Programming Languages and Tools of the Trade](./1-getting-started-lessons/1-intro-to-programming-languages/README.md) | Jasmine |
| 02 | התחלה מהירה | יסודות GitHub, כולל עבודה עם צוות | כיצד להשתמש ב-GitHub בפרויקט שלך, כיצד לשתף פעולה עם אחרים בקוד | [Introduction to GitHub](./1-getting-started-lessons/2-github-basics/README.md) | Floor |
| 03 | התחלה מהירה | נגישות | למד את היסודות של נגישות באינטרנט | [Accessibility Fundamentals](./1-getting-started-lessons/3-accessibility/README.md) | Christopher |
| 04 | יסודות JS | טיפוסי נתונים ב-JavaScript | היסודות של טיפוסי הנתונים ב-JavaScript | [Data Types](./2-js-basics/1-data-types/README.md) | Jasmine |
| 05 | יסודות JS | פונקציות ושיטות | למד על פונקציות ושיטות לניהול זרימת הלוגיקה של האפליקציה | [Functions and Methods](./2-js-basics/2-functions-methods/README.md) | Jasmine and Christopher |
| 06 | יסודות JS | קבלת החלטות עם JS | למד כיצד ליצור תנאים בקוד שלך באמצעות שיטות קבלת החלטות | [Making Decisions](./2-js-basics/3-making-decisions/README.md) | Jasmine |
| 07 | יסודות JS | מערכים ולולאות | עבודה עם נתונים באמצעות מערכים ולולאות ב-JavaScript | [Arrays and Loops](./2-js-basics/4-arrays-loops/README.md) | Jasmine |
| 08 | [Terrarium](./3-terrarium/solution/README.md) | HTML בתרגול | בניית HTML ליצירת טרריום מקוון, תוך דגש על בניית פריסת עמוד | [Introduction to HTML](./3-terrarium/1-intro-to-html/README.md) | Jen |
| 09 | [Terrarium](./3-terrarium/solution/README.md) | CSS בתרגול | בניית CSS לעיצוב הטרריום המקוון, התמקדות ביסודות ה-CSS כולל עיצוב תגובתי של העמוד | [Introduction to CSS](./3-terrarium/2-intro-to-css/README.md) | Jen |
| 10 | [Terrarium](./3-terrarium/solution/README.md) | סגירות JavaScript, מניפולציה של DOM | בניית JavaScript להפעלת הטרריום כממשק גרירה וגרירה, התמקדות בסגירות ומניפולציה של DOM | [JavaScript Closures, DOM manipulation](./3-terrarium/3-intro-to-DOM-and-closures/README.md) | Jen |
| 11 | [Typing Game](./4-typing-game/solution/README.md) | בניית משחק הקלדה | למד כיצד להשתמש באירועי מקלדת כדי להניע את הלוגיקה של אפליקציית ה-JavaScript שלך | [Event-Driven Programming](./4-typing-game/typing-game/README.md) | Christopher |
| 12 | [Green Browser Extension](./5-browser-extension/solution/README.md) | עבודה עם דפדפנים | למד כיצד דפדפנים פועלים, ההיסטוריה שלהם, וכיצד לבנות את האלמנטים הראשונים של תוסף דפדפן | [About Browsers](./5-browser-extension/1-about-browsers/README.md) | Jen |
| 13 | [Green Browser Extension](./5-browser-extension/solution/README.md) | בניית טופס, קריאה ל-API ואחסון משתנים באחסון מקומי | בניית אלמנטים של JavaScript בתוסף הדפדפן שלך לקריאה ל-API תוך שימוש במשתנים המאוחסנים באחסון מקומי | [APIs, Forms, and Local Storage](./5-browser-extension/2-forms-browsers-local-storage/README.md) | Jen |
| 14 | [Green Browser Extension](./5-browser-extension/solution/README.md) | תהליכים ברקע בדפדפן, ביצועי רשת | שימוש בתהליכים ברקע של הדפדפן כדי לנהל את האייקון של התוסף; לימוד על ביצועים ואופטימיזציות באינטרנט | [Background Tasks and Performance](./5-browser-extension/3-background-tasks-and-performance/README.md) | Jen |
| 15 | [Space Game](./6-space-game/solution/README.md) | פיתוח משחק מתקדם יותר ב-JavaScript | למד על ירושה באמצעות מחלקות והרכבה ודפוס Pub/Sub, כהכנה לבניית משחק | [Introduction to Advanced Game Development](./6-space-game/1-introduction/README.md) | Chris |
| 16 | [Space Game](./6-space-game/solution/README.md) | ציור ב-canvas | למד על ה-Canvas API, המשמש לציור אלמנטים על המסך | [Drawing to Canvas](./6-space-game/2-drawing-to-canvas/README.md) | Chris |
| 17 | [Space Game](./6-space-game/solution/README.md) | הזזת אלמנטים על המסך | גלה כיצד אלמנטים יכולים לקבל תנועה באמצעות קואורדינטות קרטזיות ו-Canvas API | [Moving Elements Around](./6-space-game/3-moving-elements-around/README.md) | Chris |
| 18 | [Space Game](./6-space-game/solution/README.md) | זיהוי התנגשויות | לגרום לאלמנטים להתנגש ולתגובה זה לזה באמצעות לחיצות מקשים ולספק פונקציית קירור להבטחת ביצועי המשחק | [Collision Detection](./6-space-game/4-collision-detection/README.md) | Chris |
| 19 | [Space Game](./6-space-game/solution/README.md) | שמירת ניקוד | בצע חישובים מתמטיים על בסיס מצב וביצועי המשחק | [Keeping Score](./6-space-game/5-keeping-score/README.md) | Chris |
| 20 | [Space Game](./6-space-game/solution/README.md) | סיום והפעלה מחדש של המשחק | למד על סיום והפעלה מחדש של המשחק, כולל ניקוי משאבים ואיפוס ערכי משתנים | [The Ending Condition](./6-space-game/6-end-condition/README.md) | Chris |
| 21 | [Banking App](./7-bank-project/solution/README.md) | תבניות HTML ונתיבים באפליקציית רשת | למד כיצד ליצור את השלד של ארכיטקטורת אתר אינטרנט מרובה דפים באמצעות נתיבים ותבניות HTML | [HTML Templates and Routes](./7-bank-project/1-template-route/README.md) | Yohan |
| 22 | [Banking App](./7-bank-project/solution/README.md) | בניית טופס כניסה והרשמה | למד על בניית טפסים וטיפול בשגרות אימות | [Forms](./7-bank-project/2-forms/README.md) | Yohan |
| 23 | [Banking App](./7-bank-project/solution/README.md) | שיטות של שליפה ושימוש בנתונים | כיצד נתונים זורמים לתוך ומחוץ לאפליקציה שלך, כיצד לשלוף אותם, לאחסן ולפנות אליהם | [Data](./7-bank-project/3-data/README.md) | Yohan |
| 24 | [Banking App](./7-bank-project/solution/README.md) | מושגי ניהול מדינה | למד כיצד האפליקציה שלך שומרת מדינה וכיצד לנהל אותה תוכניתית | [State Management](./7-bank-project/4-state-management/README.md) | Yohan |
| 25 | [Browser/VScode Code](../../8-code-editor) | עבודה עם VScode | למד להשתמש בעורך קוד | [Use VScode Code Editor](./8-code-editor/1-using-a-code-editor/README.md) | Chris |
| 26 | [AI Assistants](./9-chat-project/README.md) | עבודה עם AI | למד לבנות עוזר AI משלך | [AI Assistant project](./9-chat-project/README.md) | Chris |
| | שם הפרויקט | מושגים שנלמדים | מטרות הלמידה | שיעור מקושר | מחבר |
| :-: | :------------------------------------------------------: | :--------------------------------------------------------------------: | ----------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------: | :---------------------: |
| 01 | מתחילים | מבוא לתכנות וכלי המסחר | למדו את היסודות הבסיסיים שמאחורי רוב שפות התכנות ועל התוכנה שעוזרת למפתחים מקצועיים לבצע את עבודתם | [מבוא לשפות תכנות וכלי מסחר](./1-getting-started-lessons/1-intro-to-programming-languages/README.md) | ג'אזמין |
| 02 | מתחילים | יסודות GitHub, כולל עבודה בצוות | כיצד להשתמש ב-GitHub בפרויקט שלך, כיצד לשתף פעולה עם אחרים בבסיס קוד | [מבוא ל-GitHub](./1-getting-started-lessons/2-github-basics/README.md) | פלור |
| 03 | מתחילים | נגישות | למדו את יסודות הנגישות באינטרנט | [יסודות הנגישות](./1-getting-started-lessons/3-accessibility/README.md) | כריסטופר |
| 04 | יסודות JS | סוגי נתונים ב-JavaScript | היסודות של סוגי הנתונים ב-JavaScript | [סוגי נתונים](./2-js-basics/1-data-types/README.md) | ג'אזמין |
| 05 | יסודות JS | פונקציות ושיטות | למדו על פונקציות ושיטות לניהול זרימת הלוגיקה באפליקציה | [פונקציות ושיטות](./2-js-basics/2-functions-methods/README.md) | ג'אזמין וכריסטופר |
| 06 | יסודות JS | קבלת החלטות עם JS | למדו כיצד ליצור תנאים בקוד שלכם באמצעות שיטות קבלת החלטות | [קבלת החלטות](./2-js-basics/3-making-decisions/README.md) | ג'אזמין |
| 07 | יסודות JS | מערכים ולולאות | עבודה עם נתונים באמצעות מערכים ולולאות ב-JavaScript | [מערכים ולולאות](./2-js-basics/4-arrays-loops/README.md) | ג'אזמין |
| 08 | [Terrarium](./3-terrarium/solution/README.md) | HTML בפעולה | בניית ה-HTML ליצירת טרריום מקוון, התמקדות בבניית פריסה | [מבוא ל-HTML](./3-terrarium/1-intro-to-html/README.md) | ג'ן |
| 09 | [Terrarium](./3-terrarium/solution/README.md) | CSS בפעולה | בניית ה-CSS לעיצוב הטרריום המקוון, התמקדות ביסודות CSS כולל התאמת העמוד לתצוגה רספונסיבית | [מבוא ל-CSS](./3-terrarium/2-intro-to-css/README.md) | ג'ן |
| 10 | [Terrarium](./3-terrarium/solution/README.md) | JavaScript Closures, מניפולציית DOM | בניית הקוד ב-JavaScript כדי לגרום לטרריום לתפקד כממשק גרירה ושחרור, עם דגש על Closure ומניפולציית DOM | [JavaScript Closures, מניפולציית DOM](./3-terrarium/3-intro-to-DOM-and-closures/README.md) | ג'ן |
| 11 | [Typing Game](./4-typing-game/solution/README.md) | בניית משחק הקלדה | למדו כיצד להשתמש באירועי מקלדת כדי לנהל את הלוגיקה של אפליקציית ה-JavaScript שלכם | [תכנות מוכוון אירועים](./4-typing-game/typing-game/README.md) | כריסטופר |
| 12 | [הרחבת דפדפן ירוקה](./5-browser-extension/solution/README.md) | עבודה עם דפדפנים | למדו כיצד דפדפנים עובדים, ההיסטוריה שלהם, ואיך להקים את רכיבי הבסיס של הרחבת דפדפן | [על דפדפנים](./5-browser-extension/1-about-browsers/README.md) | ג'ן |
| 13 | [הרחבת דפדפן ירוקה](./5-browser-extension/solution/README.md) | בניית טופס, קריאה ל-API ואחסון משתנים בזיכרון מקומי | בנו את רכיבי ה-JavaScript של הרחבת הדפדפן שלכם לקריאה ל-API תוך שימוש במשתנים המאוחסנים בזיכרון המקומי | [API, טפסים ואחסון מקומי](./5-browser-extension/2-forms-browsers-local-storage/README.md) | ג'ן |
| 14 | [הרחבת דפדפן ירוקה](./5-browser-extension/solution/README.md) | תהליכים ברקע בדפדפן, ביצועי ווב | השתמשו בתהליכים ברקע של הדפדפן לניהול האייקון של ההרחבה; למדו על ביצועי רשת וכמה אופטימיזציות לשיפור ביצועי ההרחבה | [משימות רקע וביצועים](./5-browser-extension/3-background-tasks-and-performance/README.md) | ג'ן |
| 15 | [משחק חלל](./6-space-game/solution/README.md) | פיתוח משחק מתקדם יותר עם JavaScript | למדו על ירושה באמצעות מחלקות וקומפוזיציה וגם על תבנית Pub/Sub, כהכנה לבניית משחק | [מבוא לפיתוח משחק מתקדם](./6-space-game/1-introduction/README.md) | כריס |
| 16 | [משחק חלל](./6-space-game/solution/README.md) | ציור על הקנבס | למדו על Canvas API, המשמש לציור אלמנטים על המסך | [ציור על קנבס](./6-space-game/2-drawing-to-canvas/README.md) | כריס |
| 17 | [משחק חלל](./6-space-game/solution/README.md) | הזזת אלמנטים על המסך | גלו כיצד אלמנטים יכולים לקבל תנועה באמצעות קואורדינטות קרטזיות ו-Canvas API | [הזזת אלמנטים](./6-space-game/3-moving-elements-around/README.md) | כריס |
| 18 | [משחק חלל](./6-space-game/solution/README.md) | זיהוי התנגשות | הפכו אלמנטים להתנגש ולהגיב זה לזה באמצעות לחיצות מקשים וספקו פונקציית קירור כדי לוודא ביצועים טובים במשחק | [זיהוי התנגשות](./6-space-game/4-collision-detection/README.md) | כריס |
| 19 | [משחק חלל](./6-space-game/solution/README.md) | שמירת ניקוד | בצעו חישובים מתמטיים על בסיס מצב המשחק והביצועים | [שימור ניקוד](./6-space-game/5-keeping-score/README.md) | כריס |
| 20 | [משחק חלל](./6-space-game/solution/README.md) | סיום והפעלה מחדש של המשחק | למדו על סיום והפעלה מחדש של המשחק, כולל ניקוי משאבים ואיפוס ערכי משתנים | [תנאי סיום](./6-space-game/6-end-condition/README.md) | כריס |
| 21 | [אפליקציית בנקאות](./7-bank-project/solution/README.md) | תבניות HTML ונתיבים באפליקציית ווב | למדו כיצד ליצור תשתית של אתר רב-דפי באמצעות ניתוב ותבניות HTML | [תבניות HTML ונתיבים](./7-bank-project/1-template-route/README.md) | יוהאן |
| 22 | [אפליקציית בנקאות](./7-bank-project/solution/README.md) | בניית טופס התחברות והרשמה | למדו על בניית טפסים וטיפול בשגרות אימות | [טפסים](./7-bank-project/2-forms/README.md) | יוהאן |
| 23 | [אפליקציית בנקאות](./7-bank-project/solution/README.md) | שיטות לקבלת שימוש בנתונים | כיצד נתונים זורמים פנימה והחוצה מהאפליקציה שלך, כיצד לאחסן אותם, לשלוף אותם ולפנות אותם | [נתונים](./7-bank-project/3-data/README.md) | יוהאן |
| 24 | [אפליקציית בנקאות](./7-bank-project/solution/README.md) | מושגי ניהול מצב | למדו כיצד האפליקציה שלכם שומרת מצב וכיצד לנהל אותו תכנותית | [ניהול מצבים](./7-bank-project/4-state-management/README.md) | יוהאן |
| 25 | [קוד דפדפן/VScode](../../8-code-editor) | עבודה עם VScode | למדו כיצד להשתמש בעורך קוד| [שימוש בעורך קוד VScode](./8-code-editor/1-using-a-code-editor/README.md) | כריס |
| 26 | [עוזרי בינה מלאכותית](./9-chat-project/README.md) | עבודה עם בינה מלאכותית | למדו כיצד לבנות עוזר AI משלכם | [פרויקט עוזר AI](./9-chat-project/README.md) | כריס |
## 🏫 פדגוגיה
תכנית הלימודים שלנו מעוצבת עם שני עקרונות פדגוגיים מרכזיים:
* למידה מבוססת פרויקטים
* חנים תכופים
* חידונים תכופים
הקורס מלמד את היסודות של JavaScript, HTML ו-CSS, וכן את הכלים והטכניקות העדכניים ביותר בהם משתמשים מפתחי האינטרנט של היום. לסטודנטים תהיה הזדמנות לפתח ניסיון מעשי על ידי בניית משחק הקלדה, טרריום וירטואלי, תוסף דפדפן ידידותי לסביבה, משחק בסגנון פלישת החלל ואפליקציית בנקאות לעסקים. בסיום הסדרה הסטודנטים ירכשו הבנה איתנה של פיתוח ווב.
התכנית מלמדת את הבסיס של JavaScript, HTML, ו-CSS, כמו גם את הכלים והשיטות העדכניות שמשתמשים בהם מפתחי ווב כיום. לתלמידים תינתן ההזדמנות לפתח ניסיון מעשי באמצעות בניית משחק הקלדה, טרריום וירטואלי, הרחבת דפדפן אקולוגית, משחק בסגנון Space Invaders, ואפליקציית בנקאות לעסקים. בסיום הסדרה, התלמידים ירכשו הבנה מוצקה של פיתוח אתרי אינטרנט.
> 🎓 ניתן לקחת את כמה השיעורים הראשונים בתכנית זו כ-[מרכז למידה](https://docs.microsoft.com/learn/paths/web-development-101/?WT.mc_id=academic-77807-sagibbon) ב-Microsoft Learn!
> 🎓 ניתן לקחת את השיעורים הראשונים בתכנית זו כ-[נתיב למידה](https://docs.microsoft.com/learn/paths/web-development-101/?WT.mc_id=academic-77807-sagibbon) ב-Microsoft Learn!
על ידי הבטחת התאמה של התכנים לפרויקטים, התהליך נעשה מעניין יותר עבור הסטודנטים והחזקת המושגים תוגבר. כמו כן, כתבנו כמה שיעורי פתיחה ביסודות JavaScript כדי להציג מושגים, יחד עם וידאו מסדרת "[Beginners Series to: JavaScript](https://channel9.msdn.com/Series/Beginners-Series-to-JavaScript/?WT.mc_id=academic-77807-sagibbon)" של סרטוני הדרכה, שחלק מהמחברים שלהם תרמו לתכנית זו.
על ידי הבטחת ההתאמה בין התוכן לפרויקטים, התהליך נעשה יותר מרתק עבור התלמידים וזכירת המושגים מועצמת. כמו כן כתבנו מספר שיעורי בסיס ב-JavaScript להכרות עם מושגים, בתוספת וידאו מתוך אוסף ההדרכות "[Beginners Series to: JavaScript](https://channel9.msdn.com/Series/Beginners-Series-to-JavaScript/?WT.mc_id=academic-77807-sagibbon)", חלק מהכותבים שלהם תרמו לתכנית לימודים זו.
בנוסף, בחן ללא סיכון לפני השיעור מגדיר את כוונת הסטודנט ללמוד נושא, בעוד בחן שני לאחר השיעור מבטיח החזקה נוספת. תכנית הלימודים עוצבה להיות גמישה ומהנה וניתן לקחת אותה בשלמותה או בחלקים. הפרויקטים מתחילים קטנים והופכים למורכבים יותר לקראת סיום מחזור של 12 שבועות.
בנוסף, חידון בעל סיכון נמוך לפני השיעור מגדיר את כוונת התלמיד ללמידת נושא, בעוד שחידון שני לאחר הכיתה מבטיח זכירה נוספת. תכנית הלימודים עוצבה להיות גמישה ומהנה וניתן לעבור אותה כולה או בחלקה. הפרויקטים מתחילים קטנים והולכים ומסובכים לקראת סוף מחזור של 12 שבועות.
בעוד שהימנענו בכוונה מהכנסת מסגרות JavaScript כדי להתמקד בכישורים הבסיסיים הנדרשים כמפתח ווב לפני אימוץ מסגרת, צעד טוב להשלמת תכנית זו הוא ללמוד על Node.js דרך אוסף וידאו נוסף: "[Beginner Series to: Node.js](https://channel9.msdn.com/Series/Beginners-Series-to-Nodejs/?WT.mc_id=academic-77807-sagibbon)".
אמנם הימנענו במודע מהכנסת מסגרות JavaScript כדי להתמקד בכישורים הבסיסיים הדרושים כמפתח ווב לפני אימוץ מסגרת, צעד טוב הבא להשלמת תכנית זו יהיה ללמוד על Node.js באמצעות אוסף וידאו נוסף: "[Beginner Series to: Node.js](https://channel9.msdn.com/Series/Beginners-Series-to-Nodejs/?WT.mc_id=academic-77807-sagibbon)".
> בקר במדריך ההתנהגות שלנו [Code of Conduct](CODE_OF_CONDUCT.md) ובכללי ההשתתפות שלנו [Contributing](CONTRIBUTING.md). נשמח למשובכם הבונה!
> בקרו בהנחיות [קוד ההתנהגות שלנו](CODE_OF_CONDUCT.md) ו[השתתפות](CONTRIBUTING.md). נשמח לקבל משוב בונה ממכם!
## 🧭 גישה לא מקוונת
ניתן להפעיל תיעוד זה במצב לא מקוון באמצעות [Docsify](https://docsify.js.org/#/). נסה לפצל מאגר זה, [התקן Docsify](https://docsify.js.org/#/quickstart) במחשב המקומי שלך, ואז בתיקיית השורש של המאגר הקלד `docsify serve`. האתר יופעל בפורט 3000 על ה-localhost שלך: `localhost:3000`.
ניתן להפעיל תיעוד זה במצב לא מקוון באמצעות [Docsify](https://docsify.js.org/#/). פצלו את הרפו, [התקינו Docsify](https://docsify.js.org/#/quickstart) במחשב המקומי שלכם, ואז בתיקיית השורש של הרפו, הקלידו `docsify serve`. האתר יפעל על פורט 3000 במחשב המקומי שלכם: `localhost:3000`.
## 📘 קובץ PDF
## 📘 PDF
ניתן למצוא קובץ PDF של כל השיעורים [כאן](https://microsoft.github.io/Web-Dev-For-Beginners/pdf/readme.pdf).
## 🎒 קורסים נוספים
הצוות שלנו מפיק קורסים נוספים! בדקו את:
## 🎒 קורסים אחרים
הצוות שלנו מפיק קורסים נוספים! עיינו ב:
<!-- CO-OP TRANSLATOR OTHER COURSES START -->
### LangChain
@ -224,7 +224,7 @@
[![LangChain for Beginners](https://img.shields.io/badge/LangChain%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=0553D6)](https://github.com/microsoft/langchain-for-beginners?WT.mc_id=m365-94501-dwahlin)
---
### Azure / Edge / MCP / סוכנים
### Azure / Edge / MCP / Agents
[![AZD for Beginners](https://img.shields.io/badge/AZD%20for%20Beginners-0078D4?style=for-the-badge&labelColor=E5E7EB&color=0078D4)](https://github.com/microsoft/AZD-for-beginners?WT.mc_id=academic-105485-koreyst)
[![Edge AI for Beginners](https://img.shields.io/badge/Edge%20AI%20for%20Beginners-00B8E4?style=for-the-badge&labelColor=E5E7EB&color=00B8E4)](https://github.com/microsoft/edgeai-for-beginners?WT.mc_id=academic-105485-koreyst)
[![MCP for Beginners](https://img.shields.io/badge/MCP%20for%20Beginners-009688?style=for-the-badge&labelColor=E5E7EB&color=009688)](https://github.com/microsoft/mcp-for-beginners?WT.mc_id=academic-105485-koreyst)
@ -232,7 +232,7 @@
---
### סדרת בינה מלאכותית גנרטיבית
### סדרת AI גנרטיבי
[![Generative AI for Beginners](https://img.shields.io/badge/Generative%20AI%20for%20Beginners-8B5CF6?style=for-the-badge&labelColor=E5E7EB&color=8B5CF6)](https://github.com/microsoft/generative-ai-for-beginners?WT.mc_id=academic-105485-koreyst)
[![Generative AI (.NET)](https://img.shields.io/badge/Generative%20AI%20(.NET)-9333EA?style=for-the-badge&labelColor=E5E7EB&color=9333EA)](https://github.com/microsoft/Generative-AI-for-beginners-dotnet?WT.mc_id=academic-105485-koreyst)
[![Generative AI (Java)](https://img.shields.io/badge/Generative%20AI%20(Java)-C084FC?style=for-the-badge&labelColor=E5E7EB&color=C084FC)](https://github.com/microsoft/generative-ai-for-beginners-java?WT.mc_id=academic-105485-koreyst)
@ -240,7 +240,7 @@
---
### לימוד יסודי
### לימודה בסיסית
[![ML for Beginners](https://img.shields.io/badge/ML%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=22C55E)](https://aka.ms/ml-beginners?WT.mc_id=academic-105485-koreyst)
[![Data Science for Beginners](https://img.shields.io/badge/Data%20Science%20for%20Beginners-84CC16?style=for-the-badge&labelColor=E5E7EB&color=84CC16)](https://aka.ms/datascience-beginners?WT.mc_id=academic-105485-koreyst)
[![AI for Beginners](https://img.shields.io/badge/AI%20for%20Beginners-A3E635?style=for-the-badge&labelColor=E5E7EB&color=A3E635)](https://aka.ms/ai-beginners?WT.mc_id=academic-105485-koreyst)
@ -251,7 +251,7 @@
---
### סדרת Copilot
### סדרת קופיילוט
[![Copilot for AI Paired Programming](https://img.shields.io/badge/Copilot%20for%20AI%20Paired%20Programming-FACC15?style=for-the-badge&labelColor=E5E7EB&color=FACC15)](https://aka.ms/GitHubCopilotAI?WT.mc_id=academic-105485-koreyst)
[![Copilot for C#/.NET](https://img.shields.io/badge/Copilot%20for%20C%23/.NET-FBBF24?style=for-the-badge&labelColor=E5E7EB&color=FBBF24)](https://github.com/microsoft/mastering-github-copilot-for-dotnet-csharp-developers?WT.mc_id=academic-105485-koreyst)
[![Copilot Adventure](https://img.shields.io/badge/Copilot%20Adventure-FDE68A?style=for-the-badge&labelColor=E5E7EB&color=FDE68A)](https://github.com/microsoft/CopilotAdventures?WT.mc_id=academic-105485-koreyst)
@ -259,21 +259,21 @@
## קבלת עזרה
אם אתה נתקע או יש לך שאלות לגבי בניית אפליקציות בינה מלאכותית. הצטרף ללומדים אחרים ומפתחים מנוסים בדיונים על MCP. זוהי קהילה תומכת שבה שאלות מתקבלות בברכה והידע משותף בחופשיות.
אם אתם נתקעים או יש לכם שאלות לגבי בניית אפליקציות AI. הצטרפו ללומדים אחרים ולמפתחים מנוסים לדיונים על MCP. זה קהילה תומכת שבה שאלות מתקבלות בברכה והידע נשאר חופשי.
[![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG)
אם יש לך משוב על המוצר או שגיאות בזמן בנייה, בקר:
אם יש לכם משוב על המוצר או שגיאות במהלך הבנייה בקרו ב:
[![Microsoft Foundry Developer Forum](https://img.shields.io/badge/GitHub-Microsoft_Foundry_Developer_Forum-blue?style=for-the-badge&logo=github&color=000000&logoColor=fff)](https://aka.ms/foundry/forum)
## רישיון
מאגר זה מורשה תחת רישיון MIT. ראה את קובץ [LICENSE](../../LICENSE) למידע נוסף.
מאגר זה מורשה תחת רישיון MIT. ראה את הקובץ [LICENSE](../../LICENSE) למידע נוסף.
---
<!-- 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 -->

@ -493,7 +493,7 @@
},
"AGENTS.md": {
"original_hash": "a362efd06d64d4134a0cfe8515a86d34",
"translation_date": "2026-03-27T21:26:48+00:00",
"translation_date": "2026-04-06T17:24:17+00:00",
"source_file": "AGENTS.md",
"language_code": "nl"
},
@ -516,8 +516,8 @@
"language_code": "nl"
},
"README.md": {
"original_hash": "a2c9eed480687319517c08a6319e5536",
"translation_date": "2026-03-06T13:36:25+00:00",
"original_hash": "b885c87c7544109b78d6684daad6cba6",
"translation_date": "2026-04-06T17:19:47+00:00",
"source_file": "README.md",
"language_code": "nl"
},

@ -2,29 +2,29 @@
## Projectoverzicht
Dit is een educatieve curriculum-repository voor het onderwijzen van webontwikkeling basisprincipes aan beginners. Het curriculum is een uitgebreide cursus van 12 weken ontwikkeld door Microsoft Cloud Advocates, met 24 praktijkgerichte lessen over JavaScript, CSS en HTML.
Dit is een educatieve curriculumrepository voor het aanleren van webontwikkelingbasisprincipes aan beginners. Het curriculum is een uitgebreide cursus van 12 weken, ontwikkeld door Microsoft Cloud Advocates, met 24 praktische lessen die JavaScript, CSS en HTML behandelen.
### Belangrijkste Onderdelen
### Belangrijkste Componenten
- **Educatieve Inhoud**: 24 gestructureerde lessen georganiseerd in projectgebaseerde modules
- **Praktische Projecten**: Terrarium, Typing Game, Browser Extensie, Space Game, Banking App, Code Editor en AI Chat Assistent
- **Interactieve Quizzen**: 48 quizzen met elk 3 vragen (pre/post-les assessments)
- **Meertalige Ondersteuning**: Automatische vertalingen voor 50+ talen via GitHub Actions
- **Technologieën**: HTML, CSS, JavaScript, Vue.js 3, Vite, Node.js, Express, Python (voor AI projecten)
- **Educatieve Inhoud**: 24 gestructureerde lessen georganiseerd in projectgebaseerde modules
- **Praktische Projecten**: Terrarium, Typspel, Browserextensie, Ruimtespel, Bankapp, Code-editor en AI Chat-assistent
- **Interactieve Quizzen**: 48 quizzen met elk 3 vragen (pre-/post-les evaluaties)
- **Meertalige Ondersteuning**: Geautomatiseerde vertalingen voor 50+ talen via GitHub Actions
- **Technologieën**: HTML, CSS, JavaScript, Vue.js 3, Vite, Node.js, Express, Python (voor AI-projecten)
### Architectuur
- Educatieve repository met les-gebaseerde structuur
- Elke lesmap bevat README, codevoorbeelden en oplossingen
- Standalone projecten in aparte directories (quiz-app, diverse lesprojecten)
- Vertalingssysteem gebruikmakend van GitHub Actions (co-op-translator)
- Documentatie aangeboden via Docsify en beschikbaar als PDF
- Educatieve repository met lesgebaseerde structuur
- Elke lesmap bevat README, codevoorbeelden en oplossingen
- Zelfstandige projecten in aparte mappen (quiz-app, diverse lesprojecten)
- Vertalingssysteem met behulp van GitHub Actions (co-op-translator)
- Documentatie geleverd via Docsify en beschikbaar als PDF
## Setup Commandos
## Setup Commando's
Deze repository is primair voor consumptie van educatieve inhoud. Voor werken met specifieke projecten:
Deze repository is primair bedoeld voor het consumeren van educatieve inhoud. Voor het werken met specifieke projecten:
### Hoofd Repository Setup
### Hoofdrepository Setup
```bash
git clone https://github.com/microsoft/Web-Dev-For-Beginners.git
@ -37,7 +37,7 @@ cd Web-Dev-For-Beginners
cd quiz-app
npm install
npm run dev # Start ontwikkelserver
npm run build # Bouwen voor productie
npm run build # Bouw voor productie
npm run lint # Voer ESLint uit
```
@ -48,7 +48,7 @@ cd 7-bank-project/api
npm install
npm start # Start API-server
npm run lint # Voer ESLint uit
npm run format # Format met Prettier
npm run format # Formatteer met Prettier
```
### Browser Extensie Projecten
@ -59,7 +59,7 @@ npm install
# Volg browser-specifieke instructies voor het laden van extensies
```
### Space Game Projecten
### Ruimtespel Projecten
```bash
cd 6-space-game/solution
@ -78,31 +78,31 @@ python api.py
## Ontwikkelworkflow
### Voor Inhoud Bijdragers
### Voor Inhoudbijdragers
1. **Fork de repository** naar je GitHub-account
2. **Clone je fork** lokaal
3. **Maak een nieuwe branch** voor je wijzigingen
4. Breng wijzigingen aan in lesinhoud of codevoorbeelden
5. Test codewijzigingen in relevante projectmappen
6. Dien pull requests in volgens de bijdrage richtlijnen
1. **Fork de repository** naar je GitHub-account
2. **Clone je fork** lokaal
3. **Maak een nieuwe branch** aan voor je wijzigingen
4. Breng wijzigingen aan in lesinhoud of codevoorbeelden
5. Test eventuele codewijzigingen in relevante projectmappen
6. Dien pull requests in volgens de bijdrage richtlijnen
### Voor Leerlingen
### Voor Studenten
1. Fork of clone de repository
2. Navigeer sequentieel door lesmappen
3. Lees README bestanden voor elke les
4. Maak pre-les quizzen op https://ff-quizzes.netlify.app/web/
5. Werk door codevoorbeelden in lesmappen
6. Voltooi opdrachten en uitdagingen
7. Maak post-les quizzen
1. Fork of clone de repository
2. Navigeer sequentieel door de lesmappen
3. Lees de README-bestanden van elke les
4. Maak pre-les quizzen bij https://ff-quizzes.netlify.app/web/
5. Werk de codevoorbeelden in lesmappen door
6. Voltooi opdrachten en uitdagingen
7. Maak post-les quizzen
### Live Ontwikkeling
- **Documentatie**: Voer `docsify serve` uit in root (poort 3000)
- **Quiz App**: Voer `npm run dev` uit in quiz-app directory
- **Projecten**: Gebruik VS Code Live Server extensie voor HTML projecten
- **API Projecten**: Voer `npm start` uit in respectievelijke API directories
- **Documentatie**: Voer `docsify serve` uit in de root (poort 3000)
- **Quiz App**: Voer `npm run dev` uit in de quiz-app map
- **Projecten**: Gebruik VS Code Live Server extensie voor HTML-projecten
- **API Projecten**: Voer `npm start` uit in de betreffende API-mappen
## Testinstructies
@ -110,71 +110,71 @@ python api.py
```bash
cd quiz-app
npm run lint # Controleer op problemen met de code stijl
npm run build # Verifieer dat de build slaagt
npm run lint # Controleren op problemen met de code stijl
npm run build # Verifiëren dat de build slaagt
```
### Bank API Testen
```bash
cd 7-bank-project/api
npm run lint # Controleer op code-stijl problemen
npm run lint # Controleer op codeerstijl problemen
node server.js # Controleer of de server zonder fouten start
```
### Algemene Testaanpak
- Dit is een educatieve repository zonder uitgebreide geautomatiseerde tests
- Handmatig testen richt zich op:
- Codevoorbeelden draaien zonder fouten
- Links in documentatie functioneren correct
- Project builds slagen succesvol
- Voorbeelden volgen best practices
- Dit is een educatieve repository zonder uitgebreide geautomatiseerde tests
- Handmatig testen richt zich op:
- Codevoorbeelden draaien zonder fouten
- Links in documentatie werken correct
- Project builds voltooien succesvol
- Voorbeelden volgen best practices
### Pre-submissie Checks
- Voer `npm run lint` uit in directories met package.json
- Controleer of markdown links geldig zijn
- Test codevoorbeelden in browser of Node.js
- Controleer dat vertalingen juiste structuur behouden
- Voer `npm run lint` uit in mappen met package.json
- Controleer of markdown links geldig zijn
- Test codevoorbeelden in browser of Node.js
- Controleer dat vertalingen de juiste structuur behouden
## Code Stilering Richtlijnen
## Code Style Richtlijnen
### JavaScript
- Gebruik moderne ES6+ syntax
- Volg standaard ESLint configuraties zoals geleverd in projecten
- Gebruik betekenisvolle variabele- en functienamen voor educatieve duidelijkheid
- Voeg commentaar toe ter uitleg van concepten voor leerlingen
- Format gebruik makend van Prettier waar geconfigureerd
- Gebruik moderne ES6+ syntaxis
- Volg standaard ESLint-configuraties uit projecten
- Gebruik betekenisvolle variabele- en functienamen voor educatieve duidelijkheid
- Voeg commentaar toe die concepten uitleggen voor studenten
- Format gebruikmakend van Prettier waar ingesteld
### HTML/CSS
- Semantische HTML5 elementen
- Responsive design principes
- Duidelijke class naamgevingsconventies
- Comments die CSS-technieken uitleggen voor leerlingen
- Semantische HTML5 elementen
- Responsive design principes
- Duidelijke naamgevingsconventies voor classes
- Commentaar dat CSS-technieken uitlegt voor studenten
### Python
- PEP 8 stijl richtlijnen
- Duidelijke educatieve codevoorbeelden
- Type hints waar nuttig voor leerdoelen
- PEP 8 stijl richtlijnen
- Duidelijke, educatieve codevoorbeelden
- Type hints waar nuttig voor het leren
### Markdown Documentatie
- Duidelijke koppenhiërarchie
- Codeblokken met taalspecificatie
- Links naar extra resources
- Screenshots en afbeeldingen in `images/` directories
- Alt-tekst voor afbeeldingen voor toegankelijkheid
- Duidelijke kopstructuur
- Codeblokken met taal specificatie
- Links naar aanvullende bronnen
- Screenshots en afbeeldingen in `images/` mappen
- Alternatieve tekst voor afbeeldingen voor toegankelijkheid
### Bestandsorganisatie
- Lessen genummerd in oplopende volgorde (1-getting-started-lessons, 2-js-basics, etc.)
- Elk project heeft `solution/` en vaak `start/` of `your-work/` directories
- Afbeeldingen opgeslagen in les-specifieke `images/` mappen
- Vertalingen in `translations/{language-code}/` structuur
- Lessen genummerd op volgorde (1-getting-started-lessons, 2-js-basics, enz.)
- Elk project heeft `solution/` en vaak `start/` of `your-work/` mappen
- Afbeeldingen opgeslagen in les-specifieke `images/` mappen
- Vertalingen in `translations/{taalcode}/` structuur
## Build en Deployment
@ -184,14 +184,14 @@ De quiz-app is geconfigureerd voor Azure Static Web Apps deployment:
```bash
cd quiz-app
npm run build # Maakt dist/ map aan
npm run build # Maakt map dist/ aan
# Zet uit via GitHub Actions workflow bij push naar main
```
Azure Static Web Apps configuratie:
- **App locatie**: `/quiz-app`
- **Output locatie**: `dist`
- **Workflow**: `.github/workflows/azure-static-web-apps-ashy-river-0debb7803.yml`
Azure Static Web Apps configuratie:
- **App locatie**: `/quiz-app`
- **Output locatie**: `dist`
- **Workflow**: `.github/workflows/azure-static-web-apps-ashy-river-0debb7803.yml`
### Documentatie PDF Generatie
@ -203,80 +203,80 @@ npm run convert # Genereer PDF van docs
### Docsify Documentatie
```bash
npm install -g docsify-cli # Installeer Docsify wereldwijd
npm install -g docsify-cli # Installeer Docsify globaal
docsify serve # Server op localhost:3000
```
### Project-specifieke Builds
### Projectspecifieke Builds
Elke projectdirectory kan een eigen buildproces hebben:
- Vue projecten: `npm run build` creëert productie bundles
- Statische projecten: Geen build stap, bestanden direct serveren
Elke projectmap kan een eigen buildproces hebben:
- Vue projecten: `npm run build` genereert productie bundles
- Statische projecten: Geen build stap, lever bestanden direct aan
## Pull Request Richtlijnen
### Titel Formaat
Gebruik duidelijke, beschrijvende titels die gebied van wijziging aangeven:
- `[Quiz-app] Nieuwe quiz toegevoegd voor les X`
- `[Lesson-3] Typfout opgelost in terrarium project`
- `[Vertaling] Spaanse vertaling toegevoegd voor les 5`
- `[Docs] Setup instructies bijgewerkt`
Gebruik duidelijke, beschrijvende titels die het wijzigingsgebied aangeven:
- `[Quiz-app] Voeg nieuwe quiz toe voor les X`
- `[Lesson-3] Verander typefout in terrarium project`
- `[Translation] Voeg Spaanse vertaling toe voor les 5`
- `[Docs] Werk installatie-instructies bij`
### Vereiste Checks
### Verplichte Checks
Voordat je een PR indient:
Voor het indienen van een PR:
1. **Code Kwaliteit**:
- Voer `npm run lint` uit in betrokken projectdirectories
- Los alle lint fouten en waarschuwingen op
1. **Codekwaliteit**:
- Voer `npm run lint` uit in de betrokken projectmappen
- Los alle lintfouten en waarschuwingen op
2. **Build Verificatie**:
- Voer `npm run build` uit indien van toepassing
- Zorg dat er geen build fouten zijn
2. **Build Validatie**:
- Voer `npm run build` uit indien van toepassing
- Zorg dat er geen build-fouten zijn
3. **Link Validatie**:
- Test alle markdown links
- Controleer dat afbeelding-referenties werken
3. **Link Validatie**:
- Test alle markdown links
- Controleer of afbeeldingsreferenties werken
4. **Inhoud Review**:
- Controleer spelling en grammatica
- Zorg dat codevoorbeelden juist zijn en educatief
- Verifieer dat vertalingen oorspronkelijke betekenis behouden
4. **Inhoud Review**:
- Controleer spelling en grammatica
- Zorg dat codevoorbeelden correct en educatief zijn
- Verifieer dat vertalingen de oorspronkelijke betekenis behouden
### Bijdragevereisten
- Akkoord gaan met Microsoft CLA (automatische check bij eerste PR)
- Volg de [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/)
- Zie [CONTRIBUTING.md](./CONTRIBUTING.md) voor gedetailleerde richtlijnen
- Verwijs naar issue nummers in PR beschrijving indien van toepassing
- Stem in met Microsoft CLA (automatische controle bij eerste PR)
- Volg de [Microsoft Open Source Gedragscode](https://opensource.microsoft.com/codeofconduct/)
- Zie [CONTRIBUTING.md](./CONTRIBUTING.md) voor gedetailleerde richtlijnen
- Verwijs in de PR-beschrijving naar issue-nummers indien van toepassing
### Review Proces
### Reviewproces
- PRs worden beoordeeld door maintainers en community
- Educatieve duidelijkheid staat voorop
- Codevoorbeelden moeten huidige best practices volgen
- Vertalingen worden gecontroleerd op nauwkeurigheid en culturele geschiktheid
- PRs worden beoordeeld door maintainers en de community
- Educatieve duidelijkheid heeft prioriteit
- Codevoorbeelden moeten huidige best practices volgen
- Vertalingen worden gecontroleerd op nauwkeurigheid en culturele gepastheid
## Vertalingssysteem
### Geautomatiseerde Vertaling
- Maakt gebruik van GitHub Actions met co-op-translator workflow
- Vertaal naar 50+ talen automatisch
- Bronbestanden in hoofd directories
- Vertaalde bestanden in `translations/{language-code}/` directories
- Maakt gebruik van GitHub Actions met co-op-translator workflow
- Vertaalt automatisch naar 50+ talen
- Bronbestanden in hoofdmap
- Vertaalde bestanden in `translations/{taalcode}/` mappen
### Handmatige Vertalingsverbeteringen Toevoegen
1. Zoek bestand in `translations/{language-code}/`
2. Breng verbeteringen aan met behoud van structuur
3. Zorg dat codevoorbeelden functioneel blijven
4. Test eventueel gelokaliseerde quizinhoud
1. Zoek bestand in `translations/{taalcode}/`
2. Breng verbeteringen aan terwijl structuur behouden blijft
3. Zorg dat codevoorbeelden functioneel blijven
4. Test eventuele gelokaliseerde quizinhoud
### Vertalingsmetadata
### Vertaal Metadata
Vertaalde bestanden bevatten metadata header:
Vertaalde bestanden bevatten een metadata-header:
```markdown
<!--
CO_OP_TRANSLATOR_METADATA:
@ -293,116 +293,116 @@ CO_OP_TRANSLATOR_METADATA:
### Veelvoorkomende Problemen
**Quiz app start niet op**:
- Controleer Node.js versie (v14+ aanbevolen)
- Verwijder `node_modules` en `package-lock.json`, voer `npm install` opnieuw uit
- Controleer op poortconflicten (standaard: Vite gebruikt poort 5173)
**Quiz-app start niet**:
- Controleer Node.js versie (v14+ aanbevolen)
- Verwijder `node_modules` en `package-lock.json`, voer daarna `npm install` opnieuw uit
- Controleer op poortconflicten (standaard: Vite gebruikt poort 5173)
**API server start niet**:
- Verifieer dat Node.js versie voldoet aan minimum (node >=10)
- Controleer of poort al in gebruik is
- Zorg dat alle dependencies geïnstalleerd zijn met `npm install`
**API-server start niet**:
- Controleer of Node.js versie voldoet aan minimum (node >=10)
- Controleer of poort al in gebruik is
- Zorg dat alle dependencies geïnstalleerd zijn met `npm install`
**Browser extensie laadt niet**:
- Verifieer dat manifest.json correct is geformatteerd
- Controleer browserconsole op fouten
- Volg browser-specifieke extensie-installatie instructies
**Browserextensie laadt niet**:
- Controleer of manifest.json correct is geformatteerd
- Bekijk browserconsole op fouten
- Volg browser-specifieke extensie installatie-instructies
**Python chat project problemen**:
- Zorg dat OpenAI pakket geïnstalleerd is: `pip install openai`
- Verifieer dat GITHUB_TOKEN omgeving variabele is ingesteld
- Controleer GitHub Models toegangsmachtigingen
**Python chat project problemen**:
- Zorg dat OpenAI package geïnstalleerd is: `pip install openai`
- Controleer of GITHUB_TOKEN omgevingsvariabele is ingesteld
- Controleer GitHub Models toegangsrechten
**Docsify serveert geen docs**:
- Installeer docsify-cli globaal: `npm install -g docsify-cli`
- Start vanuit root directory van repository
- Controleer dat `docs/_sidebar.md` bestaat
**Docsify serveert geen docs**:
- Installeer docsify-cli globaal: `npm install -g docsify-cli`
- Voer uit vanuit de root directory van de repository
- Controleer of `docs/_sidebar.md` aanwezig is
### Ontwikkelomgeving Tips
### Tips Ontwikkelomgeving
- Gebruik VS Code met Live Server extensie voor HTML projecten
- Installeer ESLint en Prettier extensies voor consistente formatting
- Gebruik browser DevTools voor JavaScript debugging
- Voor Vue projecten, installeer Vue DevTools browser extensie
- Gebruik VS Code met Live Server extensie voor HTML-projecten
- Installeer ESLint- en Prettier-extensies voor consistente formattering
- Gebruik browser DevTools voor het debuggen van JavaScript
- Voor Vue-projecten, installeer Vue DevTools browserextensie
### Prestatie Overwegingen
### Prestatieoverwegingen
- Groot aantal vertaalde bestanden (50+ talen) maakt volledige clones groot
- Gebruik shallow clone indien je alleen aan inhoud werkt: `git clone --depth 1`
- Sluit vertalingen uit van zoekopdrachten indien je aan Engelse inhoud werkt
- Build processen kunnen traag zijn bij eerste run (npm install, Vite build)
- Groot aantal vertaalde bestanden (50+ talen) betekent dat volledige clones groot zijn
- Gebruik shallow clone als je alleen aan inhoud werkt: `git clone --depth 1`
- Sluit vertalingen uit van zoekopdrachten bij het werken aan Engelse inhoud
- Buildprocessen kunnen traag zijn bij eerste uitvoering (npm install, Vite build)
## Beveiligingsoverwegingen
### Omgevingsvariabelen
- API-sleutels mogen nooit worden gecommit naar repository
- Gebruik `.env` bestanden (al in `.gitignore`)
- Documenteer vereiste omgevingsvariabelen in project READMEs
- API-sleutels mogen nooit in de repository worden gecommit
- Gebruik `.env` bestanden (reeds opgenomen in `.gitignore`)
- Documenteer vereiste omgevingsvariabelen in project-READMEs
### Python Projecten
- Gebruik virtual environments: `python -m venv venv`
- Houd dependencies up-to-date
- GitHub tokens moeten minimale vereiste permissies hebben
- Gebruik virtuele omgevingen: `python -m venv venv`
- Houd dependencies up-to-date
- GitHub-tokens moeten minimale benodigde rechten hebben
### GitHub Models Toegang
- Persoonlijke toegangstokens (PAT) vereist voor GitHub Models
- Tokens dienen als omgevingsvariabelen te worden opgeslagen
- Token of inloggegevens nooit commiten
- Persoonlijke toegangstokens (PAT) zijn vereist voor GitHub Models
- Tokens moeten worden opgeslagen als omgevingsvariabelen
- Tokens of inloggegevens nooit committen
## Aanvullende Notities
### Doelgroep
- Volledige beginners in webontwikkeling
- Studenten en zelflerenden
- Docenten die curriculum in klaslokalen gebruiken
- Inhoud is ontworpen voor toegankelijkheid en geleidelijke vaardigheidsopbouw
- Volledige beginners in webontwikkeling
- Studenten en zelflerenden
- Docenten die het curriculum in de klas gebruiken
- Inhoud is ontworpen voor toegankelijkheid en geleidelijke vaardigheidsopbouw
### Educatieve Filosofie
- Project-gebaseerd leerproces
- Frequente kenniscontroles (quizzen)
- Praktische codeeroefeningen
- Voorbeelden van toepassingen in de praktijk
- Focus op basisprincipes vóór frameworks
- Projectgebaseerde leerbenadering
- Frequente kenniscontroles (quizzen)
- Praktische codeer oefeningen
- Voorbeelden van toepassing in de praktijk
- Focus op basisprincipes voordat frameworks aan bod komen
### Repository Onderhoud
- Actieve community van leerlingen en bijdragers
- Regelmatige updates van dependencies en inhoud
- Issues en discussies worden gemonitord door maintainers
- Vertaalupdates geautomatiseerd via GitHub Actions
- Actieve community van lerenden en bijdragers
- Regelmatige updates van dependencies en inhoud
- Issues en discussies worden gemonitord door maintainers
- Vertaalupdates geautomatiseerd via GitHub Actions
### Gerelateerde Resources
### Gerelateerde Bronnen
- [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) aanbevolen voor leerlingen
- Extra cursussen: Generative AI, Data Science, ML, IoT curricula beschikbaar
- [Microsoft Learn modules](https://docs.microsoft.com/learn/)
- [Student Hub bronnen](https://docs.microsoft.com/learn/student-hub/)
- [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) aanbevolen voor lerenden
- Extra cursussen: Generatieve AI, Data Science, ML, IoT curricula beschikbaar
### Werken met Specifieke Projecten
Voor gedetailleerde instructies over individuele projecten, raadpleeg de README-bestanden in:
- `quiz-app/README.md` - Vue 3 quiz applicatie
- `7-bank-project/README.md` - Banking applicatie met authenticatie
- `5-browser-extension/README.md` - Browser extensie ontwikkeling
- `6-space-game/README.md` - Canvas-gebaseerde game ontwikkeling
- `9-chat-project/README.md` - AI chat assistent project
Voor gedetailleerde instructies over individuele projecten, zie de README-bestanden in:
- `quiz-app/README.md` - Vue 3 quiz applicatie
- `7-bank-project/README.md` - Bankapplicatie met authenticatie
- `5-browser-extension/README.md` - Browserextensie ontwikkeling
- `6-space-game/README.md` - Canvas-gebaseerd spel
- `9-chat-project/README.md` - AI chat-assistent project
### Monorepo Structuur
### Monorepo-structuur
Hoewel dit geen traditionele monorepo is, bevat deze repository meerdere onafhankelijke projecten:
- Elke les is zelfvoorzienend
- Projecten delen geen dependencies
- Werk aan individuele projecten zonder anderen te beïnvloeden
- Clone de volledige repo voor de volledige curriculum ervaring
Hoewel geen traditionele monorepo, bevat deze repository meerdere onafhankelijke projecten:
- Elke les is zelfstandig
- Projecten delen geen dependencies
- Werk aan individuele projecten zonder anderen te beïnvloeden
- Clone hele repo voor de volledige curriculumervaring
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Disclaimer**:
Dit document is vertaald met behulp van de AI-vertalingsdienst [Co-op Translator](https://github.com/Azure/co-op-translator). Hoewel we streven naar nauwkeurigheid, dient u er rekening mee te houden dat automatische vertalingen fouten of onjuistheden kunnen bevatten. Het originele document in de oorspronkelijke taal wordt beschouwd als de gezaghebbende bron. Voor belangrijke informatie wordt professionele menselijke vertaling aanbevolen. Wij zijn niet aansprakelijk voor eventuele misverstanden of verkeerde interpretaties die voortvloeien uit het gebruik van deze vertaling.
Dit document is vertaald met behulp van de AI vertaaldienst [Co-op Translator](https://github.com/Azure/co-op-translator). Hoewel we streven naar nauwkeurigheid, dient u ervan bewust te zijn dat geautomatiseerde vertalingen fouten of onjuistheden kunnen bevatten. Het originele document in de oorspronkelijke taal moet als de gezaghebbende bron worden beschouwd. Voor kritieke informatie wordt professionele menselijke vertaling aanbevolen. Wij zijn niet aansprakelijk voor misverstanden of verkeerde interpretaties die voortvloeien uit het gebruik van deze vertaling.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -10,29 +10,29 @@
[![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG)
# Webontwikkeling voor Beginners - Een Curriculum
# Webontwikkeling voor beginners - Een curriculum
Leer de basisprincipes van webontwikkeling met onze 12-weken durende uitgebreide cursus van Microsoft Cloud Advocates. Elk van de 24 lessen verdiept zich in JavaScript, CSS en HTML via hands-on projecten zoals terrariums, browserextensies en ruimtegames. Doe mee met quizzen, discussies en praktische opdrachten. Verbeter je vaardigheden en optimaliseer je kennisretentie met onze effectieve projectgebaseerde didactiek. Begin vandaag nog met coderen!
Leer de basisprincipes van webontwikkeling met onze 12-weekse cursus van Microsoft Cloud Advocates. Elke van de 24 lessen duikt in JavaScript, CSS en HTML via praktische projecten zoals terrariums, browserextensies en ruimtegames. Doe mee met quizzen, discussies en praktische opdrachten. Verbeter je vaardigheden en optimaliseer je kennisbehoud met onze effectieve projectgerichte didactiek. Begin vandaag nog met je codeerreis!
Word lid van de Azure AI Foundry Discord Community
Sluit je aan bij de Azure AI Foundry Discord Community
[![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG)
Volg deze stappen om aan de slag te gaan met deze bronnen:
1. **Fork de repository**: Klik op [![GitHub forks](https://img.shields.io/github/forks/microsoft/Web-Dev-For-beginners.svg?style=social&label=Fork)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/fork)
2. **Clone de repository**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git`
3. [**Word lid van de Azure AI Foundry Discord en ontmoet experts en mede-ontwikkelaars**](https://discord.com/invite/ByRwuEEgH4)
1. **Fork de Repository**: Klik op [![GitHub forks](https://img.shields.io/github/forks/microsoft/Web-Dev-For-beginners.svg?style=social&label=Fork)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/fork)
2. **Clone de Repository**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git`
3. [**Word lid van The Azure AI Foundry Discord en ontmoet experts en medeontwikkelaars**](https://discord.com/invite/ByRwuEEgH4)
### 🌐 Meertalige Ondersteuning
### 🌐 Meertalige ondersteuning
#### Ondersteund via GitHub Actie (Geautomatiseerd & Altijd Actueel)
#### Ondersteund via GitHub Action (Geautomatiseerd & altijd up-to-date)
<!-- CO-OP TRANSLATOR LANGUAGES TABLE START -->
[Arabic](../ar/README.md) | [Bengali](../bn/README.md) | [Bulgarian](../bg/README.md) | [Burmese (Myanmar)](../my/README.md) | [Chinese (Simplified)](../zh-CN/README.md) | [Chinese (Traditional, Hong Kong)](../zh-HK/README.md) | [Chinese (Traditional, Macau)](../zh-MO/README.md) | [Chinese (Traditional, Taiwan)](../zh-TW/README.md) | [Croatian](../hr/README.md) | [Czech](../cs/README.md) | [Danish](../da/README.md) | [Dutch](./README.md) | [Estonian](../et/README.md) | [Finnish](../fi/README.md) | [French](../fr/README.md) | [German](../de/README.md) | [Greek](../el/README.md) | [Hebrew](../he/README.md) | [Hindi](../hi/README.md) | [Hungarian](../hu/README.md) | [Indonesian](../id/README.md) | [Italian](../it/README.md) | [Japanese](../ja/README.md) | [Kannada](../kn/README.md) | [Korean](../ko/README.md) | [Lithuanian](../lt/README.md) | [Malay](../ms/README.md) | [Malayalam](../ml/README.md) | [Marathi](../mr/README.md) | [Nepali](../ne/README.md) | [Nigerian Pidgin](../pcm/README.md) | [Norwegian](../no/README.md) | [Persian (Farsi)](../fa/README.md) | [Polish](../pl/README.md) | [Portuguese (Brazil)](../pt-BR/README.md) | [Portuguese (Portugal)](../pt-PT/README.md) | [Punjabi (Gurmukhi)](../pa/README.md) | [Romanian](../ro/README.md) | [Russian](../ru/README.md) | [Serbian (Cyrillic)](../sr/README.md) | [Slovak](../sk/README.md) | [Slovenian](../sl/README.md) | [Spanish](../es/README.md) | [Swahili](../sw/README.md) | [Swedish](../sv/README.md) | [Tagalog (Filipino)](../tl/README.md) | [Tamil](../ta/README.md) | [Telugu](../te/README.md) | [Thai](../th/README.md) | [Turkish](../tr/README.md) | [Ukrainian](../uk/README.md) | [Urdu](../ur/README.md) | [Vietnamese](../vi/README.md)
[Arabic](../ar/README.md) | [Bengali](../bn/README.md) | [Bulgarian](../bg/README.md) | [Burmese (Myanmar)](../my/README.md) | [Chinese (Simplified)](../zh-CN/README.md) | [Chinese (Traditional, Hong Kong)](../zh-HK/README.md) | [Chinese (Traditional, Macau)](../zh-MO/README.md) | [Chinese (Traditional, Taiwan)](../zh-TW/README.md) | [Croatian](../hr/README.md) | [Czech](../cs/README.md) | [Danish](../da/README.md) | [Dutch](./README.md) | [Estonian](../et/README.md) | [Finnish](../fi/README.md) | [French](../fr/README.md) | [German](../de/README.md) | [Greek](../el/README.md) | [Hebrew](../he/README.md) | [Hindi](../hi/README.md) | [Hungarian](../hu/README.md) | [Indonesian](../id/README.md) | [Italian](../it/README.md) | [Japanese](../ja/README.md) | [Kannada](../kn/README.md) | [Khmer](../km/README.md) | [Korean](../ko/README.md) | [Lithuanian](../lt/README.md) | [Malay](../ms/README.md) | [Malayalam](../ml/README.md) | [Marathi](../mr/README.md) | [Nepali](../ne/README.md) | [Nigerian Pidgin](../pcm/README.md) | [Norwegian](../no/README.md) | [Persian (Farsi)](../fa/README.md) | [Polish](../pl/README.md) | [Portuguese (Brazil)](../pt-BR/README.md) | [Portuguese (Portugal)](../pt-PT/README.md) | [Punjabi (Gurmukhi)](../pa/README.md) | [Romanian](../ro/README.md) | [Russian](../ru/README.md) | [Serbian (Cyrillic)](../sr/README.md) | [Slovak](../sk/README.md) | [Slovenian](../sl/README.md) | [Spanish](../es/README.md) | [Swahili](../sw/README.md) | [Swedish](../sv/README.md) | [Tagalog (Filipino)](../tl/README.md) | [Tamil](../ta/README.md) | [Telugu](../te/README.md) | [Thai](../th/README.md) | [Turkish](../tr/README.md) | [Ukrainian](../uk/README.md) | [Urdu](../ur/README.md) | [Vietnamese](../vi/README.md)
> **Liever lokaal clonen?**
>
> Deze repository bevat meer dan 50 taalvertalingen, wat de downloadgrootte aanzienlijk vergroot. Om zonder vertalingen te clonen, gebruik sparse checkout:
> Deze repository bevat meer dan 50 taalvertalingen, wat de downloadgrootte aanzienlijk verhoogt. Om te clonen zonder vertalingen, gebruik je sparse checkout:
>
> **Bash / macOS / Linux:**
> ```bash
@ -51,78 +51,78 @@ Volg deze stappen om aan de slag te gaan met deze bronnen:
> Dit geeft je alles wat je nodig hebt om de cursus te voltooien met een veel snellere download.
<!-- CO-OP TRANSLATOR LANGUAGES TABLE END -->
**Als je wilt dat er extra vertaaltalen worden ondersteund, zijn die te vinden [hier](https://github.com/Azure/co-op-translator/blob/main/getting_started/supported-languages.md)**
**Als je wilt dat er extra vertalingen worden ondersteund, staan deze [hier](https://github.com/Azure/co-op-translator/blob/main/getting_started/supported-languages.md)**
[![Open in Visual Studio Code](https://img.shields.io/static/v1?logo=visualstudiocode&label=&message=Open%20in%20Visual%20Studio%20Code&labelColor=2c2c32&color=007acc&logoColor=007acc)](https://open.vscode.dev/microsoft/Web-Dev-For-Beginners)
#### 🧑‍🎓 _Ben je een student?_
Bezoek de [**Student Hub-pagina**](https://docs.microsoft.com/learn/student-hub/?WT.mc_id=academic-77807-sagibbon) waar je beginnersmateriaal, studentenpakketten en zelfs manieren om een gratis certificaatvoucher te verkrijgen zult vinden. Dit is de pagina die je wilt bookmarken en van tijd tot tijd bekijken omdat we maandelijks de inhoud wisselen.
Bezoek de [**Student Hub pagina**](https://docs.microsoft.com/learn/student-hub/?WT.mc_id=academic-77807-sagibbon) waar je beginnersmaterialen, studentpakketten en zelfs manieren vindt om een gratis certificaatvoucher te krijgen. Dit is de pagina die je wilt bookmarken en van tijd tot tijd wilt bekijken, omdat we maandelijks inhoud wisselen.
### 📣 Aankondiging - Nieuwe GitHub Copilot Agent modus uitdagingen om te voltooien!
Nieuwe uitdaging toegevoegd, zoek naar "GitHub Copilot Agent Challenge 🚀" in de meeste hoofdstukken. Dit is een nieuwe uitdaging voor jou om te voltooien met behulp van GitHub Copilot en Agent modus. Als je Agent modus nog niet hebt gebruikt, kan deze niet alleen tekst genereren, maar ook bestanden maken en bewerken, commando's uitvoeren en meer.
Nieuwe uitdaging toegevoegd, zoek naar "GitHub Copilot Agent Challenge 🚀" in de meeste hoofdstukken. Dat is een nieuwe uitdaging om te voltooien met behulp van GitHub Copilot en de Agent-modus. Als je Agent-modus nog niet eerder hebt gebruikt, kan deze niet alleen tekst genereren, maar ook bestanden maken en bewerken, opdrachten uitvoeren en meer.
### 📣 Aankondiging - _Nieuw project om te bouwen met Generatieve AI_
### 📣 Aankondiging - _Nieuw project om te bouwen met Generatieve AI_
Nieuw AI-assistent project zojuist toegevoegd, bekijk het [project](./9-chat-project/README.md)
Net toegevoegd: een nieuw AI-assistentproject, bekijk het [project](./9-chat-project/README.md)
### 📣 Aankondiging - _Nieuw curriculum_ over Generatieve AI voor JavaScript is zojuist uitgebracht
### 📣 Aankondiging - _Nieuw curriculum_ over Generatieve AI voor JavaScript is net uitgebracht
Mis ons nieuwe Generatieve AI curriculum niet!
Mis ons nieuwe Generatieve AI-curriculum niet!
Bezoek [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course) om te beginnen!
![Background](../../translated_images/nl/background.148a8d43afde5730.webp)
- Lessen die alles behandelen van basisprincipes tot RAG.
- Interageer met historische figuren met GenAI en onze begeleidende app.
- Leuk en boeiend verhaal, je gaat tijdreizen!
- Lessen die alles behandelen van de basis tot RAG.
- Interactie met historische personen via GenAI en onze begeleidende app.
- Levendig en boeiend verhaal, je reist door de tijd!
![character](../../translated_images/nl/character.5c0dd8e067ffd693.webp)
Elke les bevat een opdracht om te voltooien, een kenniscontrole en een uitdaging om je te begeleiden bij het leren over onderwerpen zoals:
Elke les bevat een opdracht om te voltooien, een kennischeck en een uitdaging die je begeleidt bij het leren van onderwerpen zoals:
- Prompting en prompt engineering
- Generatie van tekst- en afbeeldingsapps
- Zoekapps
- Tekst- en beeldapplicatie-generatie
- Zoek-applicaties
Bezoek [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course) om te starten!
Bezoek [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course) om te beginnen!
## 🌱 Aan de slag
> **Docenten**, we hebben [enkele suggesties opgenomen](for-teachers.md) over hoe je dit curriculum kunt gebruiken. We horen graag je feedback [in ons discussieforum](https://github.com/microsoft/Web-Dev-For-Beginners/discussions/categories/teacher-corner)!
> **Docenten**, we hebben [enkele suggesties opgenomen](for-teachers.md) over hoe dit curriculum te gebruiken. We horen graag je feedback [in ons discussieforum](https://github.com/microsoft/Web-Dev-For-Beginners/discussions/categories/teacher-corner)!
**[Leerlingen](https://aka.ms/student-page/?WT.mc_id=academic-77807-sagibbon)**, begin bij elke les met een pre-lecture quiz en volg deze op door het leesmateriaal van de les door te nemen, de verschillende activiteiten te voltooien en je begrip te controleren met de post-lecture quiz.
**[Leerlingen](https://aka.ms/student-page/?WT.mc_id=academic-77807-sagibbon)**, voor elke les begin je met een pre-lecture quiz en ga je door met het lezen van het lesmateriaal, het voltooien van de verschillende activiteiten en controleer je je begrip met de post-lecture quiz.
Om je leerervaring te verbeteren, verbind je met je medeleerlingen om samen aan de projecten te werken! Discussies worden aangemoedigd in ons [discussieforum](https://github.com/microsoft/Web-Dev-For-Beginners/discussions) waar ons team van moderatoren beschikbaar is om je vragen te beantwoorden.
Om je leerervaring te verbeteren, verbind je met je medeleerlingen om samen aan de projecten te werken! Discussies worden aangemoedigd in ons [discussieforum](https://github.com/microsoft/Web-Dev-For-Beginners/discussions) waar ons team van moderators beschikbaar zal zijn om je vragen te beantwoorden.
Om je opleiding verder te brengen, raden we sterk aan de [Microsoft Learn](https://learn.microsoft.com/users/wirelesslife/collections/p1ddcy5jwy0jkm?WT.mc_id=academic-77807-sagibbon) te verkennen voor aanvullende studiematerialen.
Om je opleiding verder te bevorderen, raden we sterk aan om [Microsoft Learn](https://learn.microsoft.com/users/wirelesslife/collections/p1ddcy5jwy0jkm?WT.mc_id=academic-77807-sagibbon) te verkennen voor aanvullende studiematerialen.
### 📋 Je omgeving instellen
Dit curriculum heeft een ontwikkelomgeving die klaar is om te gebruiken! Als je begint, kun je ervoor kiezen om het curriculum te draaien in een [Codespace](https://github.com/features/codespaces/) (_een browser gebaseerde omgeving zonder installatie nodig_), of lokaal op je computer met een teksteditor zoals [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon).
Dit curriculum heeft een ontwikkelomgeving klaar voor gebruik! Als je begint kun je ervoor kiezen om het curriculum te draaien in een [Codespace](https://github.com/features/codespaces/) (_een browsergebaseerde, geen installatie benodigde omgeving_), of lokaal op je computer met een teksteditor zoals [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon).
#### Maak je repository aan
Om je werk gemakkelijk op te slaan, wordt aangeraden om je eigen kopie van deze repository te maken. Dit kun je doen door op de knop **Use this template** bovenaan de pagina te klikken. Dit maakt een nieuwe repository in je GitHub-account met een kopie van het curriculum.
#### Maak je eigen repository
Om je werk gemakkelijk op te slaan, wordt het aanbevolen om een eigen kopie van deze repository te maken. Dit kun je doen door op de knop **Use this template** bovenaan de pagina te klikken. Dit maakt een nieuwe repository aan in je GitHub-account met een kopie van het curriculum.
Volg deze stappen:
1. **Fork de Repository**: Klik op de "Fork" knop rechtsboven op deze pagina.
2. **Clone de Repository**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git`
#### Het curriculum draaien in een Codespace
#### Het curriculum uitvoeren in een Codespace
In je eigen kopie van deze repository die je hebt gemaakt, klik op de **Code** knop en selecteer **Open with Codespaces**. Dit maakt een nieuwe Codespace voor je aan om in te werken.
In je kopie van deze repository die je hebt gemaakt, klik op de **Code** knop en selecteer **Open with Codespaces**. Dit maakt een nieuwe Codespace voor je werkruimte.
![Codespace](../../translated_images/nl/createcodespace.0238bbf4d7a8d955.webp)
#### Het curriculum lokaal op je computer draaien
#### Het curriculum lokaal uitvoeren op je computer
Om dit curriculum lokaal op je computer te draaien, heb je een teksteditor, een browser en een command line tool nodig. Onze eerste les, [Introductie tot Programmeertalen en Gereedschappen van het Vak](../../1-getting-started-lessons/1-intro-to-programming-languages), zal je door verschillende opties voor elk van deze tools leiden zodat je kunt kiezen wat het beste voor jou werkt.
Om dit curriculum lokaal op je computer uit te voeren, heb je een teksteditor, een browser en een opdrachtregeltool nodig. Onze eerste les, [Introductie tot programmeertalen en tools van het vak](../../1-getting-started-lessons/1-intro-to-programming-languages), zal je door verschillende opties voor elk van deze tools leiden zodat je kunt kiezen wat het beste voor jou werkt.
Onze aanbeveling is om [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) als editor te gebruiken, die ook een ingebouwde [Terminal](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon) heeft. Je kunt Visual Studio Code [hier](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) downloaden.
Onze aanbeveling is om [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) te gebruiken als je editor, die ook een ingebouwde [Terminal](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon) heeft. Je kunt Visual Studio Code [hier downloaden](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon).
1. Clone je repository naar je computer. Dit kun je doen door op de **Code** knop te klikken en de URL te kopiëren:
[CodeSpace](./images/createcodespace.png)
@ -133,10 +133,10 @@ Onze aanbeveling is om [Visual Studio Code](https://code.visualstudio.com/?WT.mc
git clone <your-repository-url>
```
2. Open de map in Visual Studio Code. Dit doe je door te klikken op **File** > **Open Folder** en de map te selecteren die je zojuist hebt gekloond.
2. Open de map in Visual Studio Code. Dit kun je doen door te klikken op **Bestand** > **Map openen** en de map te selecteren die je zojuist hebt gekloond.
> Aanbevolen Visual Studio Code-extensies:
> Aanbevolen Visual Studio Code extensies:
>
> * [Live Server](https://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer&WT.mc_id=academic-77807-sagibbon) - om HTML-pagina's binnen Visual Studio Code te bekijken
> * [Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot&WT.mc_id=academic-77807-sagibbon) - om je te helpen sneller code te schrijven
@ -145,78 +145,78 @@ Onze aanbeveling is om [Visual Studio Code](https://code.visualstudio.com/?WT.mc
- optionele sketchnote
- optionele aanvullende video
- warming-up quiz vóór de les
- geschreven les
- voor projectgerichte lessen, stapsgewijze handleidingen om het project te bouwen
- kenniscontroles
- warming-up quiz voor de les
- schriftelijke les
- voor projectgebaseerde lessen, stapsgewijze handleidingen over hoe het project te bouwen
- kennistests
- een uitdaging
- aanvullende lectuur
- aanvullende leesstof
- opdracht
- [quiz na de les](https://ff-quizzes.netlify.app/web/)
> **Een opmerking over quizzen**: Alle quizzen bevinden zich in de Quiz-app map, in totaal 48 quizzen met elk drie vragen. Ze zijn beschikbaar [hier](https://ff-quizzes.netlify.app/web/). De quiz-app kan lokaal worden uitgevoerd of naar Azure worden gedeployed; volg de instructies in de `quiz-app` map.
> **Een opmerking over quizzes**: Alle quizzes bevinden zich in de Quiz-app map, in totaal 48 quizzes met elk drie vragen. Ze zijn beschikbaar [hier](https://ff-quizzes.netlify.app/web/). De quiz-app kan lokaal worden uitgevoerd of worden gedeployed naar Azure; volg de instructies in de `quiz-app` map.
## 🗃️ Lessen
| | Projectnaam | Behandelde Concepten | Leerdoelen | Gekoppelde Les | Auteur |
| :-: | :------------------------------------------------------: | :-------------------------------------------------------------------------: | ------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------: | :---------------------: |
| 01 | Aan de slag | Introductie tot programmeren en tools van het vak | Leer de basisprincipes achter de meeste programmeertalen en over software die professionele ontwikkelaars helpt hun werk te doen | [Intro tot Programmeertalen en Tools van het Vak](./1-getting-started-lessons/1-intro-to-programming-languages/README.md) | Jasmine |
| 02 | Aan de slag | Basisprincipes van GitHub, inclusief samenwerken in een team | Hoe je GitHub gebruikt in je project, hoe je samenwerkt met anderen aan een codebase | [Intro tot GitHub](./1-getting-started-lessons/2-github-basics/README.md) | Floor |
| 03 | Aan de slag | Toegankelijkheid | Leer de basis van webtoegankelijkheid | [Toegankelijkheidsfundamentals](./1-getting-started-lessons/3-accessibility/README.md) | Christopher |
| 04 | JS Basisprincipes | JavaScript Datatypes | De basis van JavaScript-datatypes | [Datatypes](./2-js-basics/1-data-types/README.md) | Jasmine |
| 05 | JS Basisprincipes | Functies en Methoden | Leer over functies en methoden om de logica van een applicatie te beheren | [Functies en Methoden](./2-js-basics/2-functions-methods/README.md) | Jasmine en Christopher |
| 06 | JS Basisprincipes | Beslissingen nemen met JS | Leer hoe je voorwaarden maakt in je code met behulp van besluitvormingsmethoden | [Beslissingen nemen](./2-js-basics/3-making-decisions/README.md) | Jasmine |
| 07 | JS Basisprincipes | Arrays en Lussen | Werk met data met behulp van arrays en lussen in JavaScript | [Arrays en Lussen](./2-js-basics/4-arrays-loops/README.md) | Jasmine |
| 08 | [Terrarium](./3-terrarium/solution/README.md) | HTML in de praktijk | Bouw de HTML om een online terrarium te creëren, met focus op het maken van een lay-out | [Introductie tot HTML](./3-terrarium/1-intro-to-html/README.md) | Jen |
| 09 | [Terrarium](./3-terrarium/solution/README.md) | CSS in de praktijk | Bouw de CSS om het online terrarium te stylen, met focus op de basis van CSS inclusief het responsief maken van de pagina | [Introductie tot CSS](./3-terrarium/2-intro-to-css/README.md) | Jen |
| 10 | [Terrarium](./3-terrarium/solution/README.md) | JavaScript Closures, DOM-manipulatie | Bouw de JavaScript om het terrarium te laten functioneren als drag/drop-interface, met focus op closures en DOM-manipulatie | [JavaScript Closures, DOM-manipulatie](./3-terrarium/3-intro-to-DOM-and-closures/README.md) | Jen |
| 11 | [Typen Spel](./4-typing-game/solution/README.md) | Bouw een Typingspel | Leer hoe je toetsenbord-events gebruikt om de logica van je JavaScript-app aan te sturen | [Event-Driven Programmeren](./4-typing-game/typing-game/README.md) | Christopher |
| 12 | [Groene Browser Extensie](./5-browser-extension/solution/README.md) | Werken met Browsers | Leer hoe browsers werken, hun geschiedenis en hoe je de eerste elementen van een browserextensie maakt | [Over Browsers](./5-browser-extension/1-about-browsers/README.md) | Jen |
| 13 | [Groene Browser Extensie](./5-browser-extension/solution/README.md) | Bouw een formulier, bellen van een API en opslaan van variabelen in lokale opslag | Bouw de JavaScript-elementen van je browserextensie om een API aan te roepen met variabelen die in lokale opslag zijn opgeslagen | [APIs, Formulieren en Lokale Opslag](./5-browser-extension/2-forms-browsers-local-storage/README.md) | Jen |
| 14 | [Groene Browser Extensie](./5-browser-extension/solution/README.md) | Achtergrondprocessen in de browser, webprestaties | Gebruik de achtergrondprocessen van de browser om het pictogram van de extensie te beheren; leer over webprestaties en optimalisaties | [Achtergrondtaken en Prestaties](./5-browser-extension/3-background-tasks-and-performance/README.md) | Jen |
| 15 | [Ruimte Spel](./6-space-game/solution/README.md) | Geavanceerdere spelontwikkeling met JavaScript | Leer over overerving met behulp van klassen en compositie en het Pub/Sub-patroon, ter voorbereiding op het bouwen van een spel | [Introductie tot Geavanceerde Spelontwikkeling](./6-space-game/1-introduction/README.md) | Chris |
| 16 | [Ruimte Spel](./6-space-game/solution/README.md) | Tekenen op canvas | Leer over de Canvas API, gebruikt om elementen op een scherm te tekenen | [Tekenen op Canvas](./6-space-game/2-drawing-to-canvas/README.md) | Chris |
| 17 | [Ruimte Spel](./6-space-game/solution/README.md) | Elementen verplaatsen over het scherm | Ontdek hoe elementen beweging krijgen met behulp van cartesiaanse coördinaten en de Canvas API | [Elementen Verplaatsen](./6-space-game/3-moving-elements-around/README.md) | Chris |
| 18 | [Ruimte Spel](./6-space-game/solution/README.md) | Botsingsdetectie | Laat elementen botsen en op elkaar reageren met toetsdrukken en voorzie in een afkoelfunctie om de prestaties van het spel te waarborgen | [Botsingsdetectie](./6-space-game/4-collision-detection/README.md) | Chris |
| 19 | [Ruimte Spel](./6-space-game/solution/README.md) | Puntentelling | Voer wiskundige berekeningen uit op basis van de status en prestaties van het spel | [Puntentelling](./6-space-game/5-keeping-score/README.md) | Chris |
| 20 | [Ruimte Spel](./6-space-game/solution/README.md) | Het spel beëindigen en opnieuw starten | Leer over het beëindigen en opnieuw starten van het spel, inclusief het opruimen van assets en het resetten van variabelen | [De Eindvoorwaarde](./6-space-game/6-end-condition/README.md) | Chris |
| 21 | [Bankieren App](./7-bank-project/solution/README.md) | HTML Templates en Routes in een Web App | Leer hoe je de opbouw van een multi-page website maakt met routing en HTML-templates | [HTML Templates en Routes](./7-bank-project/1-template-route/README.md) | Yohan |
| 22 | [Bankieren App](./7-bank-project/solution/README.md) | Bouw een Login- en Registratieformulier | Leer over het bouwen van formulieren en het afhandelen van validatieroutines | [Formulieren](./7-bank-project/2-forms/README.md) | Yohan |
| 23 | [Bankieren App](./7-bank-project/solution/README.md) | Methoden om data op te halen en te gebruiken | Hoe data in en uit je app stroomt, hoe je het ophaalt, opslaat en opruimt | [Data](./7-bank-project/3-data/README.md) | Yohan |
| 24 | [Bankieren App](./7-bank-project/solution/README.md) | Concepten van State Management | Leer hoe je app status behoudt en hoe je dat programmeerbaar beheert | [State Management](./7-bank-project/4-state-management/README.md) | Yohan |
| 25 | [Browser/VScode Code](../../8-code-editor) | Werken met VScode | Leer hoe je een code-editor gebruikt| [Gebruik VScode Code Editor](./8-code-editor/1-using-a-code-editor/README.md) | Chris |
| 26 | [AI Assistenten](./9-chat-project/README.md) | Werken met AI | Leer hoe je je eigen AI-assistent bouwt | [AI Assistent project](./9-chat-project/README.md) | Chris |
| | Projectnaam | Behandelde Concepten | Leerdoelen | Gelinkte les | Auteur |
| :-: | :-----------------------------------------------------: | :--------------------------------------------------------------------------: | --------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------: | :---------------------: |
| 01 | Aan de slag | Introductie tot programmeren en de gebruikte tools | Leer de basisprincipes achter de meeste programmeertalen en over software die professionele ontwikkelaars helpt | [Introductie tot Programmeertalen en Tools](./1-getting-started-lessons/1-intro-to-programming-languages/README.md) | Jasmine |
| 02 | Aan de slag | Basis van GitHub, inclusief samenwerken in een team | Hoe je GitHub gebruikt in je project, hoe je samenwerkt met anderen aan een codebase | [Introductie tot GitHub](./1-getting-started-lessons/2-github-basics/README.md) | Floor |
| 03 | Aan de slag | Toegankelijkheid | Leer de basis van webtoegankelijkheid | [Toegankelijkheidsbasisprincipes](./1-getting-started-lessons/3-accessibility/README.md) | Christopher |
| 04 | JS Basis | JavaScript Datatypes | De basis van JavaScript datatypes | [Datatypes](./2-js-basics/1-data-types/README.md) | Jasmine |
| 05 | JS Basis | Functies en Methodes | Leer over functies en methodes om de logica van een applicatie te beheren | [Functies en Methodes](./2-js-basics/2-functions-methods/README.md) | Jasmine en Christopher |
| 06 | JS Basis | Beslissingen maken met JS | Leer hoe je voorwaarden creëert in je code via beslissingsmethodes | [Beslissingen maken](./2-js-basics/3-making-decisions/README.md) | Jasmine |
| 07 | JS Basis | Arrays en Lussen | Werk met data via arrays en lussen in JavaScript | [Arrays en Lussen](./2-js-basics/4-arrays-loops/README.md) | Jasmine |
| 08 | [Terrarium](./3-terrarium/solution/README.md) | HTML in de praktijk | Bouw de HTML om een online terrarium te maken, met focus op het bouwen van een layout | [Introductie tot HTML](./3-terrarium/1-intro-to-html/README.md) | Jen |
| 09 | [Terrarium](./3-terrarium/solution/README.md) | CSS in de praktijk | Bouw de CSS om het online terrarium te stylen, met focus op CSS-basis en het responsief maken van de pagina | [Introductie tot CSS](./3-terrarium/2-intro-to-css/README.md) | Jen |
| 10 | [Terrarium](./3-terrarium/solution/README.md) | JavaScript Closures, DOM-manipulatie | Bouw de JavaScript voor het terrarium om te functioneren als een drag/drop-interface, met focus op closures en DOM-manipulatie | [JavaScript Closures, DOM Manipulatie](./3-terrarium/3-intro-to-DOM-and-closures/README.md) | Jen |
| 11 | [Typing Game](./4-typing-game/solution/README.md) | Bouw een Typing Game | Leer hoe je toetsevenementen gebruikt om de logica van je JavaScript app aan te sturen | [Event-Driven Programming](./4-typing-game/typing-game/README.md) | Christopher |
| 12 | [Green Browser Extension](./5-browser-extension/solution/README.md) | Werken met Browsers | Leer hoe browsers werken, hun geschiedenis, en hoe je de eerste elementen van een browser-extensie opzet | [Over Browsers](./5-browser-extension/1-about-browsers/README.md) | Jen |
| 13 | [Green Browser Extension](./5-browser-extension/solution/README.md) | Formulieren maken, API aanroepen en variabelen opslaan in lokale opslag | Bouw de JavaScript-elementen van je browser-extensie om een API aan te roepen met gebruik van variabelen opgeslagen in lokaal opslag | [API's, Formulieren en Lokale Opslag](./5-browser-extension/2-forms-browsers-local-storage/README.md) | Jen |
| 14 | [Green Browser Extension](./5-browser-extension/solution/README.md) | Achtergrondprocessen in de browser, webprestaties | Gebruik de achtergrondprocessen van de browser om het icoon van de extensie te beheren; leer over webprestaties en optimalisaties | [Achtergrondtaken en Prestaties](./5-browser-extension/3-background-tasks-and-performance/README.md) | Jen |
| 15 | [Space Game](./6-space-game/solution/README.md) | Meer geavanceerde gameontwikkeling met JavaScript | Leer over Overerving met zowel Klassen als Compositie en het Pub/Sub-patroon, ter voorbereiding op het bouwen van een game | [Introductie tot Geavanceerde Gameontwikkeling](./6-space-game/1-introduction/README.md) | Chris |
| 16 | [Space Game](./6-space-game/solution/README.md) | Tekenen op canvas | Leer over de Canvas API, gebruikt om elementen op een scherm te tekenen | [Tekenen op Canvas](./6-space-game/2-drawing-to-canvas/README.md) | Chris |
| 17 | [Space Game](./6-space-game/solution/README.md) | Elementen bewegen over het scherm | Ontdek hoe elementen beweging krijgen met behulp van cartesische coördinaten en de Canvas API | [Elementen Bewegen](./6-space-game/3-moving-elements-around/README.md) | Chris |
| 18 | [Space Game](./6-space-game/solution/README.md) | Detectie van botsingen | Laat elementen botsen en reageren op elkaar via toetsaanslagen en zorg voor een cooldown-functie ter verbetering van prestaties | [Botsingsdetectie](./6-space-game/4-collision-detection/README.md) | Chris |
| 19 | [Space Game](./6-space-game/solution/README.md) | Score bijhouden | Voer wiskundige berekeningen uit op basis van de status en prestaties van het spel | [Score bijhouden](./6-space-game/5-keeping-score/README.md) | Chris |
| 20 | [Space Game](./6-space-game/solution/README.md) | Het spel beëindigen en opnieuw starten | Leer over het beëindigen en herstarten van het spel, inclusief opruimen van assets en resetten van variabelen | [De eindvoorwaarde](./6-space-game/6-end-condition/README.md) | Chris |
| 21 | [Banking App](./7-bank-project/solution/README.md) | HTML-templates en routes in een webapp | Leer hoe je de structuur van een meerpagina-website maakt met routing en HTML-templates | [HTML-templates en Routes](./7-bank-project/1-template-route/README.md) | Yohan |
| 22 | [Banking App](./7-bank-project/solution/README.md) | Bouw een login- en registratieformulier | Leer over het bouwen van formulieren en het afhandelen van validatieroutines | [Formulieren](./7-bank-project/2-forms/README.md) | Yohan |
| 23 | [Banking App](./7-bank-project/solution/README.md) | Methoden voor het ophalen en gebruiken van data | Hoe data in en uit je app stroomt, hoe je het ophaalt, opslaat en opruimt | [Data](./7-bank-project/3-data/README.md) | Yohan |
| 24 | [Banking App](./7-bank-project/solution/README.md) | Concepten van state management | Leer hoe je app de staat behoudt en hoe je dit programmeerbaar beheert | [State Management](./7-bank-project/4-state-management/README.md) | Yohan |
| 25 | [Browser/VScode Code](../../8-code-editor) | Werken met VScode | Leer hoe je een code-editor gebruikt| [Gebruik van VScode Code Editor](./8-code-editor/1-using-a-code-editor/README.md) | Chris |
| 26 | [AI Assistants](./9-chat-project/README.md) | Werken met AI | Leer hoe je je eigen AI-assistent bouwt | [AI Assistant project](./9-chat-project/README.md) | Chris |
## 🏫 Pedagogiek
Onze curriculum is ontworpen met twee belangrijke pedagogische principes in gedachten:
Onze leerstof is ontworpen met twee belangrijke pedagogische principes in gedachten:
* projectgebaseerd leren
* frequente quizzen
* regelmatige quizzes
Het programma leert de basisprincipes van JavaScript, HTML en CSS, evenals de nieuwste tools en technieken die tegenwoordig door webontwikkelaars worden gebruikt. Studenten krijgen de kans om praktische ervaring op te doen door het bouwen van een typingspel, virtueel terrarium, milieuvriendelijke browserextensie, space-invader-stijl spel en een bankapp voor bedrijven. Aan het einde van de serie hebben studenten een solide begrip van webontwikkeling opgedaan.
Het programma leert de basisprincipes van JavaScript, HTML en CSS, evenals de nieuwste tools en technieken die hedendaagse webontwikkelaars gebruiken. Studenten krijgen de kans om praktijkervaring op te doen door het bouwen van een typing game, virtueel terrarium, milieuvriendelijke browser-extensie, space-invader-stijl game en een banking app voor bedrijven. Aan het einde van de serie hebben studenten een solide begrip van webontwikkeling verworven.
> 🎓 Je kunt de eerste lessen van dit curriculum volgen als een [Leerroute](https://docs.microsoft.com/learn/paths/web-development-101/?WT.mc_id=academic-77807-sagibbon) op Microsoft Learn!
> 🎓 Je kunt de eerste lessen in deze leerstof volgen als een [Leertraject](https://docs.microsoft.com/learn/paths/web-development-101/?WT.mc_id=academic-77807-sagibbon) op Microsoft Learn!
Door te zorgen dat de inhoud aansluit bij projecten wordt het leerproces boeiender voor studenten en wordt het vasthouden van concepten vergroot. We schreven ook enkele starterlessen in JavaScript-basisprincipes om concepten te introduceren, gecombineerd met een video uit de "[Beginners Series to: JavaScript](https://channel9.msdn.com/Series/Beginners-Series-to-JavaScript/?WT.mc_id=academic-77807-sagibbon)" collectie van videotutorials, waarvan enkele auteurs aan dit curriculum hebben bijgedragen.
Door ervoor te zorgen dat de inhoud aansluit bij projecten, wordt het proces boeiender voor studenten en wordt het vasthouden van concepten vergroot. We hebben ook verschillende startlessen in JavaScript basics geschreven om concepten te introduceren, gecombineerd met een video uit de "[Beginners Series to: JavaScript](https://channel9.msdn.com/Series/Beginners-Series-to-JavaScript/?WT.mc_id=academic-77807-sagibbon)" verzameling van videotutorials, waarvan enkele auteurs hebben bijgedragen aan deze leerstof.
Daarnaast zet een quiz met lage druk vóór de les de intentie van de student om een onderwerp te leren, terwijl een tweede quiz na de les verdere retentie waarborgt. Dit curriculum is ontworpen om flexibel en leuk te zijn en kan geheel of gedeeltelijk worden gevolgd. De projecten beginnen klein en worden steeds complexer aan het einde van de 12-weekse cyclus.
Daarnaast zet een low-stakes quiz voor een les de intentie van de student om een onderwerp te leren, terwijl een tweede quiz na de les zorgt voor verdere opname. Deze leerstof is ontworpen om flexibel en leuk te zijn en kan geheel of gedeeltelijk worden gevolgd. De projecten beginnen klein en worden steeds complexer tegen het einde van de 12-weekse cyclus.
Hoewel we bewust hebben vermeden om JavaScript-frameworks te introduceren om ons te concentreren op de basisvaardigheden die nodig zijn als webontwikkelaar vóór het adopteren van een framework, zou een goede volgende stap na het voltooien van dit curriculum het leren over Node.js zijn via een andere collectie video's: "[Beginner Series to: Node.js](https://channel9.msdn.com/Series/Beginners-Series-to-Nodejs/?WT.mc_id=academic-77807-sagibbon)".
Hoewel we er bewust voor hebben gekozen om geen JavaScript-frameworks te introduceren om te focussen op de basisvaardigheden die een webontwikkelaar nodig heeft vóór het gebruik van een framework, zou een goede volgende stap om deze leerstof te voltooien het leren over Node.js kunnen zijn via een andere collectie video's: "[Beginner Series to: Node.js](https://channel9.msdn.com/Series/Beginners-Series-to-Nodejs/?WT.mc_id=academic-77807-sagibbon)".
> Bezoek onze [Gedragscode](CODE_OF_CONDUCT.md) en [Bijdragen](CONTRIBUTING.md) richtlijnen. We stellen je constructieve feedback op prijs!
> Bekijk onze [Gedragscode](CODE_OF_CONDUCT.md) en [Bijdragen](CONTRIBUTING.md) richtlijnen. We verwelkomen je constructieve feedback!
## 🧭 Offline toegang
Je kunt deze documentatie offline gebruiken door gebruik te maken van [Docsify](https://docsify.js.org/#/). Fork deze repo, [installeer Docsify](https://docsify.js.org/#/quickstart) op je lokale machine, en typ vervolgens in de root-map van deze repo `docsify serve`. De website zal worden geserveerd op poort 3000 op je localhost: `localhost:3000`.
Je kunt deze documentatie offline draaien met behulp van [Docsify](https://docsify.js.org/#/). Fork deze repo, [installeer Docsify](https://docsify.js.org/#/quickstart) op je lokale machine en typ in de hoofdmap van deze repo `docsify serve`. De website wordt geserveerd op poort 3000 op je localhost: `localhost:3000`.
## 📘 PDF
Een PDF van alle lessen is hier te vinden [here](https://microsoft.github.io/Web-Dev-For-Beginners/pdf/readme.pdf).
Een PDF van alle lessen is te vinden [hier](https://microsoft.github.io/Web-Dev-For-Beginners/pdf/readme.pdf).
## 🎒 Andere Cursussen
Ons team produceert ook andere cursussen! Neem een kijkje bij:
Ons team maakt ook andere cursussen! Bekijk:
<!-- CO-OP TRANSLATOR OTHER COURSES START -->
### LangChain
@ -233,7 +233,7 @@ Ons team produceert ook andere cursussen! Neem een kijkje bij:
---
### Generatieve AI Serie
### Generative AI Series
[![Generative AI for Beginners](https://img.shields.io/badge/Generative%20AI%20for%20Beginners-8B5CF6?style=for-the-badge&labelColor=E5E7EB&color=8B5CF6)](https://github.com/microsoft/generative-ai-for-beginners?WT.mc_id=academic-105485-koreyst)
[![Generative AI (.NET)](https://img.shields.io/badge/Generative%20AI%20(.NET)-9333EA?style=for-the-badge&labelColor=E5E7EB&color=9333EA)](https://github.com/microsoft/Generative-AI-for-beginners-dotnet?WT.mc_id=academic-105485-koreyst)
[![Generative AI (Java)](https://img.shields.io/badge/Generative%20AI%20(Java)-C084FC?style=for-the-badge&labelColor=E5E7EB&color=C084FC)](https://github.com/microsoft/generative-ai-for-beginners-java?WT.mc_id=academic-105485-koreyst)
@ -252,7 +252,7 @@ Ons team produceert ook andere cursussen! Neem een kijkje bij:
---
### Copilot Serie
### Copilot Series
[![Copilot for AI Paired Programming](https://img.shields.io/badge/Copilot%20for%20AI%20Paired%20Programming-FACC15?style=for-the-badge&labelColor=E5E7EB&color=FACC15)](https://aka.ms/GitHubCopilotAI?WT.mc_id=academic-105485-koreyst)
[![Copilot for C#/.NET](https://img.shields.io/badge/Copilot%20for%20C%23/.NET-FBBF24?style=for-the-badge&labelColor=E5E7EB&color=FBBF24)](https://github.com/microsoft/mastering-github-copilot-for-dotnet-csharp-developers?WT.mc_id=academic-105485-koreyst)
[![Copilot Adventure](https://img.shields.io/badge/Copilot%20Adventure-FDE68A?style=for-the-badge&labelColor=E5E7EB&color=FDE68A)](https://github.com/microsoft/CopilotAdventures?WT.mc_id=academic-105485-koreyst)
@ -260,11 +260,11 @@ Ons team produceert ook andere cursussen! Neem een kijkje bij:
## Hulp Krijgen
Als je vastloopt of vragen hebt over het bouwen van AI-apps, doe mee met andere leerlingen en ervaren ontwikkelaars in discussies over MCP. Het is een ondersteunende gemeenschap waar vragen welkom zijn en kennis vrij wordt gedeeld.
Als je vastloopt of vragen hebt over het bouwen van AI-apps. Sluit je aan bij mede-leren en ervaren ontwikkelaars in discussies over MCP. Het is een ondersteunende gemeenschap waar vragen welkom zijn en kennis vrij wordt gedeeld.
[![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG)
Als je productfeedback hebt of fouten tegenkomt tijdens het bouwen, bezoek:
Als je productfeedback hebt of fouten ondervindt tijdens het bouwen, bezoek:
[![Microsoft Foundry Developer Forum](https://img.shields.io/badge/GitHub-Microsoft_Foundry_Developer_Forum-blue?style=for-the-badge&logo=github&color=000000&logoColor=fff)](https://aka.ms/foundry/forum)
@ -276,5 +276,5 @@ Deze repository is gelicentieerd onder de MIT-licentie. Zie het [LICENSE](../../
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Disclaimer**:
Dit document is vertaald met behulp van de AI-vertalingsservice [Co-op Translator](https://github.com/Azure/co-op-translator). Hoewel we streven naar nauwkeurigheid, dient u er rekening mee te houden dat geautomatiseerde vertalingen fouten of onnauwkeurigheden kunnen bevatten. Het originele document in de oorspronkelijke taal dient als gezaghebbende bron te worden beschouwd. Voor cruciale informatie wordt professionele menselijke vertaling aanbevolen. Wij zijn niet aansprakelijk voor eventuele misverstanden of verkeerde interpretaties die voortvloeien uit het gebruik van deze vertaling.
Dit document is vertaald met behulp van de AI-vertalingsdienst [Co-op Translator](https://github.com/Azure/co-op-translator). Hoewel we streven naar nauwkeurigheid, dient u er rekening mee te houden dat automatische vertalingen fouten of onnauwkeurigheden kunnen bevatten. Het originele document in de oorspronkelijke taal moet als de gezaghebbende bron worden beschouwd. Voor kritieke informatie wordt professionele menselijke vertaling aanbevolen. Wij zijn niet aansprakelijk voor eventuele misverstanden of verkeerde interpretaties die voortkomen uit het gebruik van deze vertaling.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -493,7 +493,7 @@
},
"AGENTS.md": {
"original_hash": "a362efd06d64d4134a0cfe8515a86d34",
"translation_date": "2026-03-27T21:29:10+00:00",
"translation_date": "2026-04-06T17:26:14+00:00",
"source_file": "AGENTS.md",
"language_code": "vi"
},
@ -516,8 +516,8 @@
"language_code": "vi"
},
"README.md": {
"original_hash": "a2c9eed480687319517c08a6319e5536",
"translation_date": "2026-03-06T13:45:48+00:00",
"original_hash": "b885c87c7544109b78d6684daad6cba6",
"translation_date": "2026-04-06T17:23:22+00:00",
"source_file": "README.md",
"language_code": "vi"
},

@ -2,25 +2,25 @@
## Tổng quan dự án
Đây là khoá học giáo dục nhằm dạy các kiến thức cơ bản về phát triển web cho người mới bắt đầu. Khoá học là một khóa toàn diện kéo dài 12 tuần do Microsoft Cloud Advocates phát triển, với 24 bài học thực hành bao gồm JavaScript, CSS, và HTML.
Đây là khoá học giáo dục dành cho việc giảng dạy các kiến thức cơ bản về phát triển web cho người mới bắt đầu. Khóa học là một chương trình toàn diện kéo dài 12 tuần được phát triển bởi Microsoft Cloud Advocates, bao gồm 24 bài học thực hành với các chủ đề về JavaScript, CSS và HTML.
### Các thành phần chính
- **Nội dung giáo dục**: 24 bài học có cấu trúc, tổ chức trong các mô-đun dự án
- **Dự án thực tế**: Terrarium, Trò chơi gõ chữ, Tiện ích mở rộng trình duyệt, Trò chơi không gian, Ứng dụng ngân hàng, Trình chỉnh sửa mã, và Trợ lý chat AI
- **Bài kiểm tra tương tác**: 48 bài kiểm tra với 3 câu hỏi mỗi bài (đánh giá trước/sau bài học)
- **Hỗ trợ đa ngôn ngữ**: Dịch tự động hơn 50 ngôn ngữ qua GitHub Actions
- **Công nghệ**: HTML, CSS, JavaScript, Vue.js 3, Vite, Node.js, Express, Python (cho các dự án AI)
- **Nội dung giáo dục**: 24 bài học có cấu trúc được tổ chức theo các mô-đun dự án
- **Dự án thực hành**: Terrarium, Trò chơi gõ phím, Tiện ích mở rộng trình duyệt, Trò chơi không gian, Ứng dụng ngân hàng, Trình chỉnh sửa mã và Trợ lý chat AI
- **Bài kiểm tra tương tác**: 48 bài kiểm tra với 3 câu hỏi mỗi bài (đánh giá trướcsau bài học)
- **Hỗ trợ đa ngôn ngữ**: Dịch tự động cho hơn 50 ngôn ngữ thông qua GitHub Actions
- **Công nghệ**: HTML, CSS, JavaScript, Vue.js 3, Vite, Node.js, Express, Python (cho dự án AI)
### Kiến trúc
- Khoá học giáo dục với cấu trúc dựa trên bài học
- Mỗi thư mục bài học chứa README, ví dụ mã, và giải pháp
- Các dự án độc lập trong thư mục riêng (quiz-app, các dự án bài học khác nhau)
- Khoá học có cấu trúc dựa trên từng bài học
- Mỗi thư mục bài học chứa README, ví dụ mã nguồn và các giải pháp
- Các dự án độc lập được đặt trong các thư mục riêng biệt (quiz-app, các dự án bài học khác nhau)
- Hệ thống dịch thuật sử dụng GitHub Actions (co-op-translator)
- Tài liệu được phục vụ qua Docsify và có sẵn định dạng PDF
- Tài liệu được phục vụ qua Docsify và có sẵn dưới dạng PDF
## Lệnh thiết lập
## Các lệnh thiết lập
Kho lưu trữ này chủ yếu dành cho việc tiêu thụ nội dung giáo dục. Để làm việc với các dự án cụ thể:
@ -31,7 +31,7 @@ git clone https://github.com/microsoft/Web-Dev-For-Beginners.git
cd Web-Dev-For-Beginners
```
### Thiết lập Quiz App (Vue 3 + Vite)
### Thiết lập Ứng dụng Quiz (Vue 3 + Vite)
```bash
cd quiz-app
@ -41,7 +41,7 @@ npm run build # Xây dựng cho môi trường sản xuất
npm run lint # Chạy ESLint
```
### API dự án Ngân hàng (Node.js + Express)
### API dự án ngân hàng (Node.js + Express)
```bash
cd 7-bank-project/api
@ -51,15 +51,15 @@ npm run lint # Chạy ESLint
npm run format # Định dạng với Prettier
```
### Các dự án Tiện ích mở rộng trình duyệt
### Dự án tiện ích mở rộng trình duyệt
```bash
cd 5-browser-extension/solution
npm install
# Thực hiện theo hướng dẫn tải tiện ích mở rộng dành riêng cho trình duyệt
# Làm theo hướng dẫn tải tiện ích mở rộng dành riêng cho trình duyệt
```
### Các dự án Trò chơi không gian
### Dự án trò chơi không gian
```bash
cd 6-space-game/solution
@ -67,7 +67,7 @@ npm install
# Mở index.html trong trình duyệt hoặc sử dụng Live Server
```
### Dự án Chat (Python Backend)
### Dự án chat (Backend Python)
```bash
cd 9-chat-project/solution/backend/python
@ -80,147 +80,147 @@ python api.py
### Dành cho người đóng góp nội dung
1. **Fork kho lưu trữ** vào tài khoản GitHub của bạn
2. **Clone** bản fork về máy cục bộ
1. **Fork kho lưu trữ** sang tài khoản GitHub của bạn
2. **Clone bản fork** về máy tính cá nhân
3. **Tạo nhánh mới** cho các thay đổi của bạn
4. Thay đổi nội dung bài học hoặc ví dụ mã
5. Kiểm tra các thay đổi mã trong các thư mục dự án liên quan
4. Thực hiện thay đổi nội dung bài học hoặc ví dụ mã
5. Kiểm tra các thay đổi mã trong thư mục dự án liên quan
6. Gửi pull request theo hướng dẫn đóng góp
### Dành cho người học
1. Fork hoặc clone kho lưu trữ
2. Điều hướng tuần tự trong các thư mục bài học
3. Đọc các file README của từng bài học
2. Điều hướng lần lượt đến các thư mục bài học
3. Đọc file README của mỗi bài học
4. Hoàn thành bài kiểm tra trước bài học tại https://ff-quizzes.netlify.app/web/
5. Làm việc qua các ví dụ mã trong thư mục bài học
5. Làm các ví dụ mã trong thư mục bài học
6. Hoàn thành các bài tập và thử thách
7. Làm bài kiểm tra sau bài học
7. Tham gia bài kiểm tra sau bài học
### Phát triển trực tiếp
- **Tài liệu**: Chạy `docsify serve` thư mục gốc (cổng 3000)
- **Quiz App**: Chạy `npm run dev` trong thư mục quiz-app
- **Dự án**: Sử dụng tiện ích mở rộng VS Code Live Server cho các dự án HTML
- **Dự án API**: Chạy `npm start` trong các thư mục API tương ứng
- **Tài liệu**: Chạy `docsify serve` trong thư mục gốc (cổng 3000)
- **Ứng dụng Quiz**: Chạy `npm run dev` trong thư mục quiz-app
- **Dự án**: Sử dụng extension Live Server của VS Code cho các dự án HTML
- **API**: Chạy `npm start` trong thư mục API tương ứng
## Hướng dẫn thử nghiệm
## Hướng dẫn kiểm tra
### Thử nghiệm Quiz App
### Kiểm tra ứng dụng Quiz
```bash
cd quiz-app
npm run lint # Kiểm tra các vấn đề về phong cách mã
npm run build # Xác minh việc xây dựng thành công
npm run build # Xác minh rằng việc xây dựng thành công
```
### Thử nghiệm API Ngân hàng
### Kiểm tra API ngân hàng
```bash
cd 7-bank-project/api
npm run lint # Kiểm tra các vấn đề về phong cách
node server.js # Xác minh máy chủ khởi động không có lỗi
npm run lint # Kiểm tra các vấn đề về kiểu
node server.js # Xác minh máy chủ khởi động không có lỗi
```
### Cách tiếp cận thử nghiệm chung
### Cách tiếp cận kiểm tra chung
- Đây là kho học tập không có các bài kiểm tra tự động toàn diện
- Thử nghiệm thủ công tập trung vào:
- Đây là kho giáo dục không có các bài kiểm tra tự động toàn diện
- Kiểm tra thủ công tập trung vào:
- Ví dụ mã chạy không lỗi
- Liên kết trong tài liệu hoạt động đúng
- Các liên kết trong tài liệu hoạt động đúng
- Các bản build dự án hoàn tất thành công
- Ví dụ theo đúng các phương pháp hay nhất
- Ví dụ tuân thủ các thực hành tốt nhất
### Kiểm tra trước khi gửi
- Chạy `npm run lint` trong các thư mục có package.json
- Xác minh các liên kết markdown hợp lệ
- Thử ví dụ mã trong trình duyệt hoặc Node.js
- Kiểm tra dịch giữ nguyên cấu trúc chính xác
- Xác minh liên kết markdown hợp lệ
- Thử các ví dụ mã trên trình duyệt hoặc Node.js
- Đảm bảo bản dịch giữ đúng cấu trúc
## Hướng dẫn phong cách mã
### JavaScript
- Sử dụng cú pháp ES6+ hiện đại
- Tuân theo cấu hình ESLint chuẩn trong các dự án
- Sử dụng tên biến và hàm có ý nghĩa rõ ràng cho mục đích giáo dục
- Thêm chú thích giải thích khái niệm cho người học
- Định dạng bằng Prettier khi có cấu hình
- Tuân theo cấu hình ESLint chuẩn trong dự án
- Đặt tên biến và hàm có ý nghĩa rõ ràng để dễ học
- Thêm chú thích giải thích các khái niệm cho người học
- Định dạng mã sử dụng Prettier khi đã thiết lập
### HTML/CSS
- Sử dụng các phần tử HTML5 mang tính ngữ nghĩa
- Nguyên tắc thiết kế đáp ứng
- Quy ước đặt tên class rõ ràng
- Quy ước đặt tên lớp rõ ràng
- Chú thích giải thích kỹ thuật CSS cho người học
### Python
- Theo chuẩn phong cách PEP 8
- Ví dụ mã rõ ràng, mang tính giáo dục
- Gợi ý kiểu nơi hữu ích cho việc học
- Tuân theo chuẩn style PEP 8
- Ví dụ mã nguồn rõ ràng, phục vụ mục đích học tập
- Gợi ý kiểu dữ liệu (type hints) khi hữu ích
### Tài liệu Markdown
- Cấu trúc tiêu đề rõ ràng
- Khối mã có chỉ định ngôn ngữ
- Liên kết tới tài nguyên bổ sung
- Khối mã kèm định nghĩa ngôn ngữ
- Liên kết đến tài nguyên bổ sung
- Ảnh chụp màn hình và hình ảnh trong thư mục `images/`
- Văn bản thay thế cho hình ảnh để đảm bảo khả năng truy cập
- Văn bản thay thế (alt text) cho ảnh để truy cập tốt hơn
### Tổ chức file
### Tổ chức tệp
- Các bài học đánh số tuần tự (1-getting-started-lessons, 2-js-basics, v.v.)
- Mỗi dự án có thư mục `solution/` và thường có `start/` hoặc `your-work/`
- Hình ảnh lưu trong thư mục `images/` thuộc từng bài học
- Các bản dịch trong cấu trúc `translations/{language-code}/`
- Các bài học được đánh số tuần tự (1-getting-started-lessons, 2-js-basics, v.v.)
- Mỗi dự án có thư mục `solution/` thường kèm theo `start/` hoặc `your-work/`
- Ảnh lưu trong thư mục `images/` riêng của từng bài học
- Các bản dịch nằm trong cấu trúc `translations/{language-code}/`
## Xây dựng và triển khai
## Xây dựng và Triển khai
### Triển khai Quiz App (Azure Static Web Apps)
### Triển khai Ứng dụng Quiz (Azure Static Web Apps)
quiz-app được cấu hình để triển khai trên Azure Static Web Apps:
Ứng dụng quiz-app được cấu hình để triển khai trên Azure Static Web Apps:
```bash
cd quiz-app
npm run build # Tạo thư mục dist/
# Triển khai qua workflow GitHub Actions khi đẩy lên nhánh main
# Triển khai qua workflow GitHub Actions khi đẩy lên main
```
Cấu hình Azure Static Web Apps:
- **Vị trí app**: `/quiz-app`
- **Vị trí đầu ra**: `dist`
- **Quy trình tự động**: `.github/workflows/azure-static-web-apps-ashy-river-0debb7803.yml`
- **Đường dẫn ứng dụng**: `/quiz-app`
- **Đường dẫn đầu ra**: `dist`
- **Quy trình làm việc**: `.github/workflows/azure-static-web-apps-ashy-river-0debb7803.yml`
### Tạo PDF tài liệu
### Tạo tài liệu PDF
```bash
npm install # Cài đặt docsify-to-pdf
npm run convert # Tạo PDF từ tài liệu docs
npm run convert # Tạo PDF từ docs
```
### Tài liệu Docsify
```bash
npm install -g docsify-cli # Cài đặt Docsify trên toàn cục
npm install -g docsify-cli # Cài đặt Docsify toàn cục
docsify serve # Phục vụ trên localhost:3000
```
### Xây dựng riêng cho từng dự án
### Xây dựng theo dự án
Mỗi thư mục dự án có thể có quy trình xây dựng riêng:
- Dự án Vue: `npm run build` tạo bundle sản xuất
- Dự án tĩnh: Không có bước build, phục vụ file trực tiếp
Mỗi thư mục dự án có thể có quy trình build riêng:
- Dự án Vue: `npm run build` tạo các bundle production
- Dự án tĩnh: không cần bước build, phục vụ file trực tiếp
## Hướng dẫn gửi Pull Request
## Hướng dẫn Pull Request
### Định dạng tiêu đề
Sử dụng tiêu đề rõ ràng, mô tả khu vực thay đổi:
- `[Quiz-app] Thêm câu hỏi mới cho bài học X`
- `[Lesson-3] Sửa lỗi chính tả trong dự án terrarium`
- `[Translation] Thêm bản dịch tiếng Tây Ban Nha cho bài học 5`
Sử dụng tiêu đề rõ ràng, mô tả vùng thay đổi:
- `[Quiz-app] Thêm bài quiz mới cho bài học X`
- `[Lesson-3] Sửa lỗi đánh máy trong dự án terrarium`
- `[Translation] Thêm bản dịch tiếng Tây Ban Nha cho bài 5`
- `[Docs] Cập nhật hướng dẫn thiết lập`
### Các kiểm tra bắt buộc
@ -228,55 +228,55 @@ Sử dụng tiêu đề rõ ràng, mô tả khu vực thay đổi:
Trước khi gửi PR:
1. **Chất lượng mã**:
- Chạy `npm run lint` trong các thư mục dự án liên quan
- Chạy `npm run lint` trong thư mục dự án bị ảnh hưởng
- Sửa tất cả lỗi và cảnh báo lint
2. **Xác nhận build**:
- Chạy `npm run build` nếu có thể
2. **Kiểm tra build**:
- Chạy `npm run build` nếu có
- Đảm bảo không có lỗi build
3. **Kiểm tra liên kết**:
- Thử tất cả liên kết markdown
- Đảm bảo tham chiếu ảnh hoạt động
- Thử tất cả các liên kết markdown
- Xác minh tham chiếu ảnh
4. **Đánh giá nội dung**:
- Đọc lại chính tả và ngữ pháp
- Đảm bảo ví dụ mã đúng và mang tính giáo dục
- Đọc lại, kiểm tra lỗi chính tả và ngữ pháp
- Đảm bảo ví dụ mã đúng và phục vụ giáo dục
- Kiểm tra bản dịch giữ nguyên ý nghĩa gốc
### Yêu cầu đóng góp
- Đồng ý với Microsoft CLA (kiểm tra tự động khi PR đầu tiên)
- Đồng ý với Microsoft CLA (kiểm tra tự động lần đầu PR)
- Tuân theo [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/)
- Xem [CONTRIBUTING.md](./CONTRIBUTING.md) để biết hướng dẫn chi tiết
- Tham chiếu số issue trong mô tả PR nếu có
### Quy trình đánh giá
- PR được duyệt bởi người quản lý và cộng đồng
- Ưu tiên rõ ràng về tính giáo dục
- Ví dụ mã phải theo các phương pháp tốt nhất hiện tại
- Các PR được đánh giá bởi người duy trì và cộng đồng
- Ưu tiên tính rõ ràng trong giáo dục
- Ví dụ mã nên tuân theo các thực hành tốt nhất hiện tại
- Bản dịch được xem xét về độ chính xác và phù hợp văn hóa
## Hệ thống dịch dịch tự động
## Hệ thống dịch thuật
### Dịch tự động
- Sử dụng GitHub Actions với workflow co-op-translator
- Dịch hơn 50 ngôn ngữ tự động
- File nguồn trong các thư mục chính
- File dịch trong thư mục `translations/{language-code}/`
- Sử dụng GitHub Actions với quy trình co-op-translator
- Dịch sang hơn 50 ngôn ngữ tự động
- Tệp nguồn ở các thư mục chính
- Tệp dịch ở các thư mục `translations/{language-code}/`
### Thêm cải tiến dịch thủ công
1. Tìm file trong `translations/{language-code}/`
2. Cải thiện trong khi giữ nguyên cấu trúc
1. Tìm tệp trong `translations/{language-code}/`
2. Thực hiện cải tiến mà vẫn giữ cấu trúc
3. Đảm bảo ví dụ mã vẫn hoạt động
4. Thử các nội dung bài kiểm tra đã địa phương hóa
4. Kiểm tra nội dung quiz bản địa hóa nếu có
### Siêu dữ liệu dịch
### Metadata bản dịch
File dịch bao gồm phần đầu metadata:
Tệp dịch có header metadata:
```markdown
<!--
CO_OP_TRANSLATOR_METADATA:
@ -289,120 +289,120 @@ CO_OP_TRANSLATOR_METADATA:
-->
```
## Gỡ lỗi và khắc phục sự cố
## Gỡ lỗi và Xử lý sự cố
### Các sự cố phổ biến
### Các vấn đề phổ biến
**Quiz app không khởi động được**:
**Ứng dụng quiz không khởi động**:
- Kiểm tra phiên bản Node.js (khuyến nghị v14+)
- Xóa `node_modules``package-lock.json`, chạy lại `npm install`
- Kiểm tra xung đột cổng (mặc định: Vite dùng cổng 5173)
**API server không khởi động được**:
- Đảm bảo phiên bản Node.js phù hợp (node >=10)
- Kiểm tra xem cổng đã được sử dụng chưa
- Đảm bảo cài đủ phụ thuộc với `npm install`
**API server không khởi động**:
- Kiểm tra phiên bản Node.js đáp ứng tối thiểu (node >=10)
- Kiểm tra xem cổng có đang bị chiếm dụng không
- Đảm bảo đã cài đặt đầy đủ dependencies bằng `npm install`
**Tiện ích mở rộng trình duyệt không tải được**:
- Kiểm tra file manifest.json định dạng đúng
- Xem console trình duyệt lỗi
- Làm theo hướng dẫn cài tiện ích mở rộng trình duyệt cụ thể
**Tiện ích mở rộng trình duyệt không tải**:
- Kiểm tra tệp manifest.json đúng định dạng
- Kiểm tra console trình duyệt có lỗi không
- Làm theo hướng dẫn cài đặt tiện ích mở rộng riêng cho từng trình duyệt
**Vấn đề dự án chat Python**:
- Đảm bảo cài package OpenAI: `pip install openai`
- Kiểm tra biến môi trường GITHUB_TOKEN đã thiết lập
- Kiểm tra quyền truy cập GitHub Models
- Đảm bảo gói OpenAI được cài đặt: `pip install openai`
- Kiểm tra biến môi trường GITHUB_TOKEN đã được thiết lập
- Kiểm tra quyền truy cập Models trên GitHub
**Docsify không phục vụ tài liệu**:
- Cài docsify-cli toàn cục: `npm install -g docsify-cli`
- Chạy từ thư mục gốc kho
- Kiểm tra `docs/_sidebar.md` tồn tại
- Cài đặt docsify-cli toàn cục: `npm install -g docsify-cli`
- Chạy từ thư mục gốc của kho lưu trữ
- Kiểm tra file `docs/_sidebar.md` tồn tại
### Mẹo môi trường phát triển
### Mẹo về môi trường phát triển
- Dùng VS Code với tiện ích mở rộng Live Server cho dự án HTML
- Cài ESLint và Prettier để định dạng nhất quán
- ng DevTools trình duyệt để gỡ lỗi JavaScript
- Với dự án Vue, cài tiện ích mở rộng Vue DevTools trình duyệt
- Dùng VS Code với extension Live Server cho các dự án HTML
- Cài đặt ESLint và Prettier để định dạng nhất quán
- Sử dụng DevTools trình duyệt để gỡ lỗi JavaScript
- Với Vue, cài đặt extension Vue DevTools trên trình duyệt
### Cân nhắc hiệu năng
### Lưu ý về hiệu năng
- Số lượng file dịch lớn (50+ ngôn ngữ) khiến clone đầy đủ rất nặng
- Dùng clone nông nếu chỉ làm việc trên nội dung: `git clone --depth 1`
- Loại trừ thư mục dịch khỏi tìm kiếm khi làm việc với nội dung tiếng Anh
- Số lượng tệp dịch lớn (hơn 50 ngôn ngữ) làm bản clone đầy đủ lớn
- Dùng shallow clone nếu chỉ làm việc với nội dung: `git clone --depth 1`
- Loại trừ thư mục dịch khỏi tìm kiếm khi chỉ làm việc với nội dung tiếng Anh
- Quy trình build có thể chậm lần đầu (npm install, build Vite)
## Cân nhắc bảo mật
## Các lưu ý bảo mật
### Biến môi trường
- Không bao giờ commit kh API vào kho lưu trữ
- Sử dụng file `.env` (đã được liệt kê trong `.gitignore`)
- Đưa ra tài liệu các biến môi trường cần thiết trong README dự án
- Không bao giờ commit khóa API vào kho lưu trữ
- Sử dụng tệp `.env` (đã có trong `.gitignore`)
- Tài liệu yêu cầu biến môi trường trong README từng dự án
### Dự án Python
- ng môi trường ảo: `python -m venv venv`
- Giữ phụ thuộc luôn cập nhật
- Token GitHub nên có quyền tối thiểu cần thiết
- Sử dụng môi trường ảo: `python -m venv venv`
- Cập nhật dependencies thường xuyên
- Token GitHub chỉ cấp quyền cần thiết tối thiểu
### Truy cập GitHub Models
### Quyền truy cập Models GitHub
- Cần token truy cập cá nhân (PAT) cho GitHub Models
- Token nên lưu ở biến môi trường
- Không bao giờ commit token hoặc thông tin đăng nhập
- Cần Personal Access Tokens (PAT) cho GitHub Models
- Lưu trữ token dưới dạng biến môi trường
- Không bao giờ commit token hay thông tin đăng nhập
## Ghi chú bổ sung
### Đối tượng hướng đến
### Đối tượng mục tiêu
- Người mới hoàn toàn bắt đầu phát triển web
- Người mới hoàn toàn trong phát triển web
- Sinh viên và người tự học
- Giáo viên sử dụng chương trình trong lớp học
- Nội dung thiết kế để dễ tiếp cận và xây dựng kỹ năng dần dần
- Nội dung thiết kế dễ tiếp cận và xây dựng kỹ năng từng bước
### Triết lý giáo dục
- Phương pháp học dựa trên dự án
- Học theo dự án
- Kiểm tra kiến thức thường xuyên (quiz)
- Bài tập mã hóa thực hành
- Ví dụ ứng dụng thực tế
- Tập trung vào nền tảng trước khi học framework
- Thực hành lập trình trực tiếp
- Ví dụ áp dụng thực tế
- Tập trung vào kiến thức cơ bản trước khi học framework
### Bảo trì kho
### Bảo trì kho lưu trữ
- Cộng đồng học tập và đóng góp hoạt động
- Cập nhật thường xuyên các phụ thuộc và nội dung
- Vấn đề và thảo luận được quản lý bởi người duy trì
- Cộng đồng người học và đóng góp tích cực
- Thường xuyên cập nhật dependencies và nội dung
- Giám sát issue và thảo luận bởi người duy trì
- Cập nhật dịch tự động qua GitHub Actions
### Tài nguyên liên quan
- [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) được khuyến nghị cho người học
- Các khoá học bổ sung: AI sinh tạo, Khoa học dữ liệu, ML, IoT
- [Các mô-đun Microsoft Learn](https://docs.microsoft.com/learn/)
- [Tài nguyên Student Hub](https://docs.microsoft.com/learn/student-hub/)
- [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) đề xuất cho người học
- Các khóa học thêm: AI Generative, Khoa học dữ liệu, ML, IoT
### Làm việc với các dự án cụ thể
Hướng dẫn chi tiết cho từng dự án có trong file README tại:
Hướng dẫn chi tiết trong file README của các thư mục:
- `quiz-app/README.md` - Ứng dụng quiz Vue 3
- `7-bank-project/README.md` - Ứng dụng ngân hàng xác thực
- `7-bank-project/README.md` - Ứng dụng ngân hàng với xác thực
- `5-browser-extension/README.md` - Phát triển tiện ích mở rộng trình duyệt
- `6-space-game/README.md` - Phát triển trò chơi Canvas
- `6-space-game/README.md` - Phát triển trò chơi dựa trên Canvas
- `9-chat-project/README.md` - Dự án trợ lý chat AI
### Cấu trúc Monorepo
Mặc dù không phải monorepo truyền thống, kho lưu trữ này chứa nhiều dự án riêng biệt:
- Mỗi bài học là độc lập
- Các dự án không chia sẻ phụ thuộc
- Làm việc riêng từng dự án mà không ảnh hưởng nhau
- Clone toàn bộ kho để có trải nghiệm khoá học đầy đủ
Không phải monorepo kiểu truyền thống, kho này chứa nhiều dự án độc lập:
- Mỗi bài học là một đơn vị riêng biệt
- Các dự án không chia sẻ dependencies
- Làm việc trên từng dự án riêng biệt không ảnh hưởng dự án khác
- Clone toàn bộ repo để trải nghiệm toàn diện khóa học
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Tuyên bố từ chối trách nhiệm**:
Tài liệu này đã được dịch bằng dịch vụ dịch thuật AI [Co-op Translator](https://github.com/Azure/co-op-translator). Mặc dù chúng tôi cố gắng đảm bảo độ chính xác, xin lưu ý rằng bản dịch tự động có thể chứa lỗi hoặc không chính xác. Tài liệu gốc bằng ngôn ngữ gốc của nó nên được coi là nguồn tin cậy chính thức. Đối với thông tin quan trọng, nên sử dụng dịch vụ dịch thuật chuyên nghiệp do con người thực hiện. Chúng tôi không chịu trách nhiệm đối với bất kỳ sự hiểu lầm hoặc diễn giải sai nào phát sinh từ việc sử dụng bản dịch này.
Tài liệu này đã được dịch bằng dịch vụ dịch thuật AI [Co-op Translator](https://github.com/Azure/co-op-translator). Mặc dù chúng tôi cố gắng đảm bảo độ chính xác, xin lưu ý rằng bản dịch tự động có thể chứa lỗi hoặc sai sót. Tài liệu gốc bằng ngôn ngữ nguyên bản của nó nên được coi là nguồn chính xác nhất. Đối với thông tin quan trọng, nên sử dụng dịch thuật chuyên nghiệp do con người thực hiện. Chúng tôi không chịu trách nhiệm đối với bất kỳ sự hiểu nhầm hoặc diễn giải sai nào phát sinh từ việc sử dụng bản dịch này.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -2,37 +2,37 @@
[![Người đóng góp GitHub](https://img.shields.io/github/contributors/microsoft/Web-Dev-For-Beginners.svg)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/graphs/contributors/)
[![Vấn đề GitHub](https://img.shields.io/github/issues/microsoft/Web-Dev-For-Beginners.svg)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/issues/)
[![Yêu cầu kéo GitHub](https://img.shields.io/github/issues-pr/microsoft/Web-Dev-For-Beginners.svg)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/pulls/)
[![Chào mừng PRs](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](http://makeapullrequest.com)
[![Chào mừng các PR](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](http://makeapullrequest.com)
[![Người theo dõi GitHub](https://img.shields.io/github/watchers/microsoft/Web-Dev-For-Beginners.svg?style=social&label=Watch&maxAge=2592000)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/watchers/)
[![Chia sẻ GitHub](https://img.shields.io/github/forks/microsoft/Web-Dev-For-Beginners.svg?style=social&label=Fork&maxAge=2592000)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/network/)
[![Ngôi sao GitHub](https://img.shields.io/github/stars/microsoft/Web-Dev-For-Beginners.svg?style=social&label=Star&maxAge=2592000)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/stargazers/)
[![Gabel GitHub](https://img.shields.io/github/forks/microsoft/Web-Dev-For-Beginners.svg?style=social&label=Fork&maxAge=2592000)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/network/)
[![Sao GitHub](https://img.shields.io/github/stars/microsoft/Web-Dev-For-Beginners.svg?style=social&label=Star&maxAge=2592000)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/stargazers/)
[![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG)
# Phát Triển Web Cho Người Mới Bắt Đầu - Một Chương Trình Học
Học những kiến thức cơ bản về phát triển web với khóa học toàn diện kéo dài 12 tuần do Microsoft Cloud Advocates tổ chức. Mỗi trong số 24 bài học sẽ đào sâu vào JavaScript, CSS và HTML qua các dự án thực hành như terrariums, tiện ích trình duyệt và trò chơi không gian. Tham gia với các bài kiểm tra, thảo luận và bài tập thực tế. Nâng cao kỹ năng của bạn và tối ưu hóa việc tiếp thu kiến thức với phương pháp giảng dạy dựa trên dự án hiệu quả của chúng tôi. Bắt đầu hành trình lập trình của bạn ngay hôm nay!
Học các kiến thức cơ bản về phát triển web với khóa học toàn diện 12 tuần do Microsoft Cloud Advocates tổ chức. Mỗi trong số 24 bài học sẽ đi sâu vào JavaScript, CSS, và HTML thông qua các dự án thực hành như terrarium, tiện ích trình duyệt và trò chơi không gian. Tham gia với các bài kiểm tra, thảo luận và bài tập thực hành. Nâng cao kỹ năng và tối ưu khả năng ghi nhớ kiến thức của bạn với phương pháp học dựa trên dự án hiệu quả của chúng tôi. Bắt đầu hành trình lập trình của bạn ngay hôm nay!
Tham gia cộng đồng Azure AI Foundry Discord
Tham gia Cộng đồng Discord Azure AI Foundry
[![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG)
Thực hiện các bước sau để bắt đầu sử dụng các tài nguyên này:
1. **Tạo bản sao kho lưu trữ (Fork Repository)**: Nhấp vào [![Chia sẻ GitHub](https://img.shields.io/github/forks/microsoft/Web-Dev-For-beginners.svg?style=social&label=Fork)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/fork)
2. **Sao chép kho lưu trữ (Clone Repository)**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git`
3. [**Tham gia The Azure AI Foundry Discord và gặp gỡ các chuyên gia cùng đồng nghiệp phát triển**](https://discord.com/invite/ByRwuEEgH4)
Theo các bước sau để bắt đầu sử dụng tài nguyên này:
1. **Fork Repository**: Nhấp vào [![Gabel GitHub](https://img.shields.io/github/forks/microsoft/Web-Dev-For-beginners.svg?style=social&label=Fork)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/fork)
2. **Clone Repository**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git`
3. [**Tham gia Azure AI Foundry Discord và gặp gỡ chuyên gia cùng những nhà phát triển khác**](https://discord.com/invite/ByRwuEEgH4)
### 🌐 Hỗ Trợ Đa Ngôn Ngữ
### 🌐 Hỗ trợ đa ngôn ngữ
#### Hỗ trợ qua GitHub Action (Tự động & Luôn Cập Nhật)
#### Hỗ trợ qua GitHub Action (Tự động Luôn Cập Nhật)
<!-- CO-OP TRANSLATOR LANGUAGES TABLE START -->
[Tiếng Ả Rập](../ar/README.md) | [Tiếng Bengal](../bn/README.md) | [Tiếng Bulgaria](../bg/README.md) | [Tiếng Miến Điện](../my/README.md) | [Tiếng Trung (Giản thể)](../zh-CN/README.md) | [Tiếng Trung (Phồn thể, Hồng Kông)](../zh-HK/README.md) | [Tiếng Trung (Phồn thể, Ma Cao)](../zh-MO/README.md) | [Tiếng Trung (Phồn thể, Đài Loan)](../zh-TW/README.md) | [Tiếng Croatia](../hr/README.md) | [Tiếng Séc](../cs/README.md) | [Tiếng Đan Mạch](../da/README.md) | [Tiếng Hà Lan](../nl/README.md) | [Tiếng Estonia](../et/README.md) | [Tiếng Phần Lan](../fi/README.md) | [Tiếng Pháp](../fr/README.md) | [Tiếng Đức](../de/README.md) | [Tiếng Hy Lạp](../el/README.md) | [Tiếng Hebrew](../he/README.md) | [Tiếng Hindi](../hi/README.md) | [Tiếng Hungary](../hu/README.md) | [Tiếng Indonesia](../id/README.md) | [Tiếng Ý](../it/README.md) | [Tiếng Nhật](../ja/README.md) | [Tiếng Kannada](../kn/README.md) | [Tiếng Hàn](../ko/README.md) | [Tiếng Lithuania](../lt/README.md) | [Tiếng Mã Lai](../ms/README.md) | [Tiếng Malayalam](../ml/README.md) | [Tiếng Marathi](../mr/README.md) | [Tiếng Nepal](../ne/README.md) | [Tiếng Pidgin Nigeria](../pcm/README.md) | [Tiếng Na Uy](../no/README.md) | [Tiếng Ba Tư (Farsi)](../fa/README.md) | [Tiếng Ba Lan](../pl/README.md) | [Tiếng Bồ Đào Nha (Brazil)](../pt-BR/README.md) | [Tiếng Bồ Đào Nha (Bồ Đào Nha)](../pt-PT/README.md) | [Tiếng Punjabi (Gurmukhi)](../pa/README.md) | [Tiếng Romania](../ro/README.md) | [Tiếng Nga](../ru/README.md) | [Tiếng Serbia (Chữ Cyrillic)](../sr/README.md) | [Tiếng Slovakia](../sk/README.md) | [Tiếng Slovenia](../sl/README.md) | [Tiếng Tây Ban Nha](../es/README.md) | [Tiếng Swahili](../sw/README.md) | [Tiếng Thụy Điển](../sv/README.md) | [Tiếng Tagalog (Philippines)](../tl/README.md) | [Tiếng Tamil](../ta/README.md) | [Tiếng Telugu](../te/README.md) | [Tiếng Thái](../th/README.md) | [Tiếng Thổ Nhĩ Kỳ](../tr/README.md) | [Tiếng Ukraina](../uk/README.md) | [Tiếng Urdu](../ur/README.md) | [Tiếng Việt](./README.md)
[Tiếng Ả Rập](../ar/README.md) | [Tiếng Bengal](../bn/README.md) | [Tiếng Bulgaria](../bg/README.md) | [Tiếng Miến Điện (Myanmar)](../my/README.md) | [Tiếng Trung (Giản thể)](../zh-CN/README.md) | [Tiếng Trung (Phồn thể, Hồng Kông)](../zh-HK/README.md) | [Tiếng Trung (Phồn thể, Macau)](../zh-MO/README.md) | [Tiếng Trung (Phồn thể, Đài Loan)](../zh-TW/README.md) | [Tiếng Croatia](../hr/README.md) | [Tiếng Séc](../cs/README.md) | [Tiếng Đan Mạch](../da/README.md) | [Tiếng Hà Lan](../nl/README.md) | [Tiếng Estonia](../et/README.md) | [Tiếng Phần Lan](../fi/README.md) | [Tiếng Pháp](../fr/README.md) | [Tiếng Đức](../de/README.md) | [Tiếng Hy Lạp](../el/README.md) | [Tiếng Do Thái](../he/README.md) | [Tiếng Hindi](../hi/README.md) | [Tiếng Hungary](../hu/README.md) | [Tiếng Indonesia](../id/README.md) | [Tiếng Ý](../it/README.md) | [Tiếng Nhật](../ja/README.md) | [Tiếng Kannada](../kn/README.md) | [Tiếng Khmer](../km/README.md) | [Tiếng Hàn](../ko/README.md) | [Tiếng Litva](../lt/README.md) | [Tiếng Mã Lai](../ms/README.md) | [Tiếng Malayalam](../ml/README.md) | [Tiếng Marathi](../mr/README.md) | [Tiếng Nepal](../ne/README.md) | [Tiếng Pidgin Nigeria](../pcm/README.md) | [Tiếng Na Uy](../no/README.md) | [Tiếng Ba Tư (Farsi)](../fa/README.md) | [Tiếng Ba Lan](../pl/README.md) | [Tiếng Bồ Đào Nha (Brazil)](../pt-BR/README.md) | [Tiếng Bồ Đào Nha (Bồ Đào Nha)](../pt-PT/README.md) | [Tiếng Punjabi (Gurmukhi)](../pa/README.md) | [Tiếng Romania](../ro/README.md) | [Tiếng Nga](../ru/README.md) | [Tiếng Serbia (Cyrillic)](../sr/README.md) | [Tiếng Slovakia](../sk/README.md) | [Tiếng Slovenia](../sl/README.md) | [Tiếng Tây Ban Nha](../es/README.md) | [Tiếng Swahili](../sw/README.md) | [Tiếng Thụy Điển](../sv/README.md) | [Tiếng Tagalog (Filipino)](../tl/README.md) | [Tiếng Tamil](../ta/README.md) | [Tiếng Telugu](../te/README.md) | [Tiếng Thái](../th/README.md) | [Tiếng Thổ Nhĩ Kỳ](../tr/README.md) | [Tiếng Ukraina](../uk/README.md) | [Tiếng Urdu](../ur/README.md) | [Tiếng Việt](./README.md)
> **Muốn Sao Chép Nội Bộ?**
> **Thích Clone Cục Bộ?**
>
> Kho lưu trữ này bao gồm hơn 50 bản dịch ngôn ngữ làm kích thước tải về tăng lên đáng kể. Để sao chép mà không có các bản dịch, hãy sử dụng sparse checkout:
> Repository này bao gồm hơn 50 bản dịch ngôn ngữ làm cho dung lượng tải về tăng đáng kể. Để clone mà không có bản dịch, hãy dùng sparse checkout:
>
> **Bash / macOS / Linux:**
> ```bash
@ -48,42 +48,41 @@ Thực hiện các bước sau để bắt đầu sử dụng các tài nguyên
> git sparse-checkout set --no-cone "/*" "!translations" "!translated_images"
> ```
>
> Điều này cung cấp cho bạn mọi thứ bạn cần để hoàn thành khóa học với tốc độ tải xuống nhanh hơn nhiều.
> Điều này cung cấp cho bạn mọi thứ bạn cần để hoàn tất khóa học với tốc độ tải nhanh hơn nhiều.
<!-- CO-OP TRANSLATOR LANGUAGES TABLE END -->
**Nếu bạn muốn có thêm các ngôn ngữ dịch được hỗ trợ, danh sách có tại [đây](https://github.com/Azure/co-op-translator/blob/main/getting_started/supported-languages.md)**
**Nếu bạn muốn có thêm ngôn ngữ dịch hỗ trợ được liệt kê [đây](https://github.com/Azure/co-op-translator/blob/main/getting_started/supported-languages.md)**
[![Mở trong Visual Studio Code](https://img.shields.io/static/v1?logo=visualstudiocode&label=&message=Open%20in%20Visual%20Studio%20Code&labelColor=2c2c32&color=007acc&logoColor=007acc)](https://open.vscode.dev/microsoft/Web-Dev-For-Beginners)
[![Mở trong Visual Studio Code](https://img.shields.io/static/v1?logo=visualstudiocode&label=&message=Mở%20trong%20Visual%20Studio%20Code&labelColor=2c2c32&color=007acc&logoColor=007acc)](https://open.vscode.dev/microsoft/Web-Dev-For-Beginners)
#### 🧑‍🎓 _Bạn là sinh viên?_
Tham khảo [**trang Trung tâm Sinh viên**](https://docs.microsoft.com/learn/student-hub/?WT.mc_id=academic-77807-sagibbon) nơi bạn sẽ tìm thấy tài nguyên dành cho người mới bắt đầu, bộ công cụ Sinh viên và thậm chí là cách lấy phiếu chứng nhận miễn phí. Đây là trang bạn nên đánh dấu và kiểm tra định kỳ chúng tôi thay đổi nội dung hàng tháng.
Truy cập [**trang Student Hub**](https://docs.microsoft.com/learn/student-hub/?WT.mc_id=academic-77807-sagibbon) nơi bạn sẽ tìm thấy tài nguyên cho người mới bắt đầu, bộ dụng cụ học sinh và thậm chí cả cách nhận phiếu chứng nhận miễn phí. Đây là trang bạn nên đánh dấu và kiểm tra định kỳ khi chúng tôi thay đổi nội dung hàng tháng.
### 📣 Thông báo - Thử thách Chế độ GitHub Copilot Agent mới để hoàn thành!
### 📣 Thông báo - Thử thách mới Chế độ GitHub Copilot Agent để hoàn thành!
Thêm Thử thách mới, tìm kiếm "Thử thách GitHub Copilot Agent 🚀" trong hầu hết các chương. Đây là thử thách mới dành cho bạn hoàn thành sử dụng GitHub Copilot và chế độ Agent. Nếu bạn chưa từng dùng chế độ Agent trước đây, nó có khả năng không chỉ tạo văn bản mà còn tạo và chỉnh sửa tập tin, chạy lệnh và nhiều hơn nữa.
Thử thách mới được thêm vào, hãy tìm "GitHub Copilot Agent Challenge 🚀" trong hầu hết các chương. Đây là thử thách mới để bạn hoàn thành bằng cách sử dụng GitHub Copilot và Chế độ Agent. Nếu bạn chưa từng dùng Chế độ Agent trước đây, nó không chỉ tạo văn bản mà còn có thể tạo và chỉnh sửa tệp, chạy lệnh và hơn thế nữa.
### 📣 Thông báo - _Dự án Mới xây dựng sử dụng Generative AI_
### 📣 Thông báo - _Dự án mới xây dựng sử dụng AI Tạo Tác_
Dự án trợ lý AI mới vừa được thêm vào, xem tại [dự án](./9-chat-project/README.md)
Dự án trợ lý AI mới vừa được thêm, xem tại [dự án](./9-chat-project/README.md)
### 📣 Thông báo - _Chương Trình Mới_ về Generative AI cho JavaScript vừa được phát hành
### 📣 Thông báo - _Chương Trình Mới_ về AI Tạo Tác cho JavaScript vừa được phát hành
Đừng bỏ lỡ chương trình Generative AI mới của chúng tôi!
Đừng bỏ lỡ chương trình AI Tạo Tác mới của chúng tôi!
Truy cập [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course) để bắt đầu!
![Nền](../../translated_images/vi/background.148a8d43afde5730.webp)
![Background](../../translated_images/vi/background.148a8d43afde5730.webp)
- Bài học bao gồm mọi thứ từ cơ bản đến RAG.
- Tương tác với các nhân vật lịch sử bằng GenAI và ứng dụng đồng hành của chúng tôi.
- Câu chuyện vui nhộn và hấp dẫn, bạn sẽ du hành thời gian!
- Các bài học bao gồm từ căn bản đến RAG.
- Tương tác với các nhân vật lịch sử qua GenAI và ứng dụng đồng hành của chúng tôi.
- Câu chuyện hấp dẫn và vui nhộn, bạn sẽ được du hành thời gian!
![nhân vật](../../translated_images/vi/character.5c0dd8e067ffd693.webp)
![character](../../translated_images/vi/character.5c0dd8e067ffd693.webp)
Mỗi bài học bao gồm bài tập để hoàn thành, kiểm tra kiến thức và thử thách để hướng dẫn bạn học các chủ đề như:
- Thúc đẩy và kỹ thuật thiết kế lời nhắc
Mỗi bài học bao gồm một bài tập để hoàn thành, một bài kiểm tra kiến thức và một thử thách để hướng dẫn bạn học các chủ đề như:
- Đặt câu lệnh và kỹ thuật thiết kế câu lệnh
- Tạo ứng dụng văn bản và hình ảnh
- Ứng dụng tìm kiếm
@ -93,37 +92,37 @@ Truy cập [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course) đ
## 🌱 Bắt Đầu
> **Giáo viên**, chúng tôi đã [bao gồm một số gợi ý](for-teachers.md) về cách sử dụng chương trình học này. Chúng tôi rất mong nhận phản hồi từ bạn [trong diễn đàn thảo luận](https://github.com/microsoft/Web-Dev-For-Beginners/discussions/categories/teacher-corner)!
> **Giáo viên**, chúng tôi đã [bao gồm một số đề xuất](for-teachers.md) về cách sử dụng chương trình học này. Chúng tôi rất mong nhận phản hồi từ bạn [trong diễn đàn thảo luận của chúng tôi](https://github.com/microsoft/Web-Dev-For-Beginners/discussions/categories/teacher-corner)!
**[Người học](https://aka.ms/student-page/?WT.mc_id=academic-77807-sagibbon)**, với từng bài học, hãy bắt đầu với bài kiểm tra trước bài giảng và tiếp tục đọc tài liệu giảng dạy, hoàn thành các hoạt động khác nhau và kiểm tra hiểu biết của bạn với bài kiểm tra sau bài giảng.
**[Người học](https://aka.ms/student-page/?WT.mc_id=academic-77807-sagibbon)**, với mỗi bài học, bắt đầu với bài kiểm tra trước giờ học và tiếp tục với việc đọc tài liệu bài giảng, hoàn thành các hoạt động khác nhau và kiểm tra hiểu biết của bạn bằng bài kiểm tra sau giờ học.
Để nâng cao trải nghiệm học tập, kết nối với bạn bè để cùng làm các dự án! Khuyến khích thảo luận trong [diễn đàn thảo luận](https://github.com/microsoft/Web-Dev-For-Beginners/discussions) nơi đội ngũ điều phối viên của chúng tôi sẽ có mặt để giải đáp các thắc mắc của bạn.
Để nâng cao trải nghiệm học tập, hãy kết nối với bạn bè cùng học để làm dự án cùng nhau! Việc thảo luận được khuyến khích trong [diễn đàn thảo luận](https://github.com/microsoft/Web-Dev-For-Beginners/discussions) nơi nhóm điều phối viên của chúng tôi sẽ có mặt để trả lời câu hỏi của bạn.
Để mở rộng kiến thức, chúng tôi khuyên bạn khám phá [Microsoft Learn](https://learn.microsoft.com/users/wirelesslife/collections/p1ddcy5jwy0jkm?WT.mc_id=academic-77807-sagibbon) để có thêm tài liệu học tập.
Để mở rộng kiến thức, chúng tôi rất khuyên bạn khám phá [Microsoft Learn](https://learn.microsoft.com/users/wirelesslife/collections/p1ddcy5jwy0jkm?WT.mc_id=academic-77807-sagibbon) để có thêm tài liệu học.
### 📋 Thiết lập môi trường làm việc
### 📋 Thiết lập môi trường của bạn
Chương trình học này đã sẵn sàng môi trường phát triển! Khi bắt đầu, bạn có thể chọn chạy chương trình học trong [Codespace](https://github.com/features/codespaces/) (_môi trường dựa trên trình duyệt, không cần cài đặt_), hoặc chạy tại máy tính cá nhân bằng trình soạn thảo văn bản như [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon).
Chương trình này có một môi trường phát triển sẵn sàng để dùng! Khi bắt đầu, bạn có thể chọn chạy chương trình trong [Codespace](https://github.com/features/codespaces/) (_một môi trường dựa trên trình duyệt, không cần cài đặt_), hoặc trên máy tính của bạn bằng một trình chỉnh sửa văn bản như [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon).
#### Tạo kho lưu trữ của bạn
Để bạn dễ dàng lưu công việc, nên tạo bản sao riêng kho lưu trữ này. Bạn có thể làm điều này bằng cách nhấn nút **Use this template** phía trên trang. Điều này sẽ tạo một kho lưu trữ mới trong tài khoản GitHub của bạn với bản sao chương trình học.
#### Tạo repository của bạn
Để bạn dễ dàng lưu công việc, nên tạo bản sao repository này cho riêng bạn. Bạn có thể làm điều này bằng cách nhấp nút **Use this template** ở đầu trang. Điều này sẽ tạo một repository mới trong tài khoản GitHub của bạn với bản sao chương trình học.
Làm theo các bước sau:
1. **Tạo bản sao kho lưu trữ (Fork Repository)**: Nhấp vào nút "Fork" ở góc trên bên phải trang này.
2. **Sao chép kho lưu trữ (Clone Repository)**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git`
Thực hiện theo các bước:
1. **Fork Repository**: Nhấp vào nút "Fork" ở góc trên bên phải của trang này.
2. **Clone Repository**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git`
#### Chạy chương trình học trong Codespace
#### Chạy chương trình trong Codespace
Trong bản sao kho lưu trữ bạn vừa tạo, nhấp nút **Code** và chọn **Open with Codespaces**. Điều này sẽ tạo một Codespace mới để bạn làm việc.
Trong bản sao repository bạn tạo, nhấp nút **Code** và chọn **Open with Codespaces**. Điều này sẽ tạo một Codespace mới cho bạn làm việc.
![Codespace](../../translated_images/vi/createcodespace.0238bbf4d7a8d955.webp)
#### Chạy chương trình học trên máy tính cá nhân
#### Chạy chương trình trên máy tính của bạn
Để chạy chương trình học này trên máy tính cá nhân, bạn cần trình soạn thảo văn bản, trình duyệt và công cụ dòng lệnh. Bài học đầu tiên của chúng tôi, [Giới thiệu về Ngôn ngữ Lập trình và Công cụ](../../1-getting-started-lessons/1-intro-to-programming-languages), sẽ hướng dẫn bạn qua các tùy chọn cho những công cụ này để bạn chọn lựa phù hợp nhất.
Để chạy chương trình này trên máy tính của bạn, bạn sẽ cần một trình chỉnh sửa văn bản, một trình duyệt và một công cụ dòng lệnh. Bài học đầu tiên của chúng tôi, [Giới thiệu về Ngôn Ngữ Lập Trình và Công Cụ Phát Triển](../../1-getting-started-lessons/1-intro-to-programming-languages), sẽ hướng dẫn bạn qua các lựa chọn khác nhau cho mỗi công cụ để bạn có thể chọn cái phù hợp nhất.
Chúng tôi khuyên dùng [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) làm trình soạn thảo, có tích hợp sẵn [Terminal](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon). Bạn có thể tải Visual Studio Code [tại đây](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon).
1. Sao chép kho lưu trữ của bạn về máy tính. Bạn có thể làm điều này bằng cách nhấp vào nút **Code** và sao chép URL:
Khuyến nghị của chúng tôi là sử dụng [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) làm trình soạn thảo, nó cũng có [Terminal](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon) tích hợp sẵn. Bạn có thể tải Visual Studio Code [tại đây](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon).
1. Sao chép kho lưu trữ của bạn về máy tính. Bạn có thể làm điều này bằng cách nhấn nút **Code** và sao chép URL:
[CodeSpace](./images/createcodespace.png)
@ -133,89 +132,90 @@ Chúng tôi khuyên dùng [Visual Studio Code](https://code.visualstudio.com/?WT
git clone <your-repository-url>
```
2. Mở thư mục trong Visual Studio Code. Bạn có thể làm điều này bằng cách nhấp **File** > **Open Folder** và chọn thư mục bạn vừa sao chép.
2. Mở thư mục trong Visual Studio Code. Bạn có thể làm điều này bằng cách nhấn **File** > **Open Folder** và chọn thư mục bạn vừa sao chép.
> Các tiện ích mở rộng được khuyến nghị cho Visual Studio Code:
> Các tiện ích mở rộng Visual Studio Code được khuyên dùng:
>
> * [Live Server](https://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer&WT.mc_id=academic-77807-sagibbon) - để xem trước các trang HTML trong Visual Studio Code
> * [Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot&WT.mc_id=academic-77807-sagibbon) - giúp bạn viết code nhanh hơn
> * [Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot&WT.mc_id=academic-77807-sagibbon) - giúp bạn viết nhanh hơn
## 📂 Mỗi bài học bao gồm:
- sketchnote tùy chọn
- video bổ sung tùy chọn
- bản ghi chú vẽ tay tùy chọn
- video bổ trợ tùy chọn
- bài kiểm tra khởi động trước bài học
- bài học viết
- đối với các bài học dự án, hướng dẫn từng bước cách xây dựng dự án
- với bài học dự án, hướng dẫn từng bước để xây dựng dự án
- kiểm tra kiến thức
- một thử thách
- tài liệu đọc bổ sung
- bài kiểm tra sau bài học [post-lesson quiz](https://ff-quizzes.netlify.app/web/)
- đọc thêm bổ trợ
- bài tập
- [bài kiểm tra sau bài học](https://ff-quizzes.netlify.app/web/)
> **Ghi chú về các bài kiểm tra**: Tất cả bài kiểm tra được chứa trong thư mục Quiz-app, tổng cộng 48 bài kiểm tra với mỗi bài gồm ba câu hỏi. Chúng có sẵn [ở đây](https://ff-quizzes.netlify.app/web/), ứng dụng quiz có thể chạy cục bộ hoặc triển khai lên Azure; làm theo hướng dẫn trong thư mục `quiz-app`.
> **Lưu ý về các bài kiểm tra**: Tất cả các bài kiểm tra đều được chứa trong thư mục Quiz-app, tổng cộng 48 bài kiểm tra với mỗi bài 3 câu hỏi. Chúng có sẵn [ở đây](https://ff-quizzes.netlify.app/web/) ứng dụng kiểm tra có thể chạy cục bộ hoặc được triển khai lên Azure; hãy làm theo hướng dẫn trong thư mục `quiz-app`.
## 🗃️ Các bài học
| | Tên dự án | Khái niệm được dạy | Mục tiêu học tập | Bài học liên quan | Tác giả |
| :-: | :------------------------------------------------------: | :--------------------------------------------------------------------: | ----------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------: | :---------------------: |
| 01 | Bắt đầu | Giới thiệu về Lập trình và Công cụ | Tìm hiểu các nguyên lý cơ bản đằng sau hầu hết các ngôn ngữ lập trình và phần mềm giúp các lập trình viên làm việc chuyên nghiệp | [Giới thiệu về Ngôn ngữ lập trình và Công cụ](./1-getting-started-lessons/1-intro-to-programming-languages/README.md) | Jasmine |
| 02 | Bắt đầu | Các kiến thức cơ bản về GitHub, làm việc nhóm | Cách sử dụng GitHub trong dự án của bạn, cách cộng tác với người khác trên cùng một mã nguồn | [Giới thiệu GitHub](./1-getting-started-lessons/2-github-basics/README.md) | Floor |
| 03 | Bắt đầu | Khả năng truy cập | Học các kiến thức cơ bản về khả năng truy cập web | [Các kiến thức cơ bản về truy cập](./1-getting-started-lessons/3-accessibility/README.md) | Christopher |
| 04 | JS Cơ bản | Các kiểu dữ liệu trong JavaScript | Các kiến thức cơ bản về kiểu dữ liệu trong JavaScript | [Kiểu dữ liệu](./2-js-basics/1-data-types/README.md) | Jasmine |
| 05 | JS Cơ bản | Hàm và Phương thức | Tìm hiểu về hàm và phương thức để quản lý luồng logic ứng dụng | [Hàm và Phương thức](./2-js-basics/2-functions-methods/README.md) | Jasmine và Christopher |
| 06 | JS Cơ bản | Lập quyết định với JS | Học cách tạo các điều kiện trong mã bằng các phương pháp quyết định | [Lập quyết định](./2-js-basics/3-making-decisions/README.md) | Jasmine |
| 07 | JS Cơ bản | Mảng và vòng lặp | Làm việc với dữ liệu sử dụng mảng và vòng lặp trong JavaScript | [Mảng và vòng lặp](./2-js-basics/4-arrays-loops/README.md) | Jasmine |
| 08 | [Terrarium](./3-terrarium/solution/README.md) | HTML thực hành | Tạo HTML để xây dựng một terrarium trực tuyến, tập trung vào xây dựng bố cục | [Giới thiệu HTML](./3-terrarium/1-intro-to-html/README.md) | Jen |
| 09 | [Terrarium](./3-terrarium/solution/README.md) | CSS thực hành | Viết CSS để tạo kiểu cho terrarium trực tuyến, tập trung vào các kiến thức cơ bản của CSS bao gồm làm cho trang phản hồi | [Giới thiệu CSS](./3-terrarium/2-intro-to-css/README.md) | Jen |
| 10 | [Terrarium](./3-terrarium/solution/README.md) | Đóng gói JavaScript, thao tác DOM | Viết JavaScript để làm cho terrarium có thể thao tác kéo thả, tập trung vào đóng gói và thao tác DOM | [Đóng gói JavaScript, thao tác DOM](./3-terrarium/3-intro-to-DOM-and-closures/README.md) | Jen |
| 11 | [Trò chơi đánh máy](./4-typing-game/solution/README.md) | Xây dựng trò chơi đánh máy | Học cách sử dụng các sự kiện bàn phím để điều khiển logic của ứng dụng JavaScript | [Lập trình hướng sự kiện](./4-typing-game/typing-game/README.md) | Christopher |
| 12 | [Tiện ích mở rộng trình duyệt Xanh](./5-browser-extension/solution/README.md) | Làm việc với trình duyệt | Hiểu về hoạt động của trình duyệt, lịch sử và cách tạo cấu trúc các phần tử đầu tiên của tiện ích mở rộng trình duyệt | [Về trình duyệt](./5-browser-extension/1-about-browsers/README.md) | Jen |
| 13 | [Tiện ích mở rộng trình duyệt Xanh](./5-browser-extension/solution/README.md) | Xây dựng biểu mẫu, gọi API và lưu biến trong bộ nhớ local | Xây dựng các phần tử JavaScript của tiện ích mở rộng trình duyệt để gọi API sử dụng biến lưu trong bộ nhớ local | [API, Biểu mẫu và Bộ nhớ Local](./5-browser-extension/2-forms-browsers-local-storage/README.md) | Jen |
| 14 | [Tiện ích mở rộng trình duyệt Xanh](./5-browser-extension/solution/README.md) | Quá trình nền trong trình duyệt, hiệu suất web | Sử dụng các tiến trình nền của trình duyệt để quản lý biểu tượng tiện ích; tìm hiểu về hiệu suất web và một số tối ưu cho nó | [Tác vụ nền và hiệu suất](./5-browser-extension/3-background-tasks-and-performance/README.md) | Jen |
| 15 | [Trò chơi không gian](./6-space-game/solution/README.md) | Phát triển trò chơi nâng cao với JavaScript | Tìm hiểu về Kế thừa sử dụng cả Lớp và Thành phần cũng như mẫu Pub/Sub, chuẩn bị cho việc xây dựng game | [Giới thiệu phát triển game nâng cao](./6-space-game/1-introduction/README.md) | Chris |
| 16 | [Trò chơi không gian](./6-space-game/solution/README.md) | Vẽ lên canvas | Tìm hiểu API Canvas, được dùng để vẽ các phần tử lên màn hình | [Vẽ lên Canvas](./6-space-game/2-drawing-to-canvas/README.md) | Chris |
| 17 | [Trò chơi không gian](./6-space-game/solution/README.md) | Di chuyển các phần tử trên màn hình | Khám phá cách các phần tử có thể chuyển động sử dụng tọa độ Đề-các và API Canvas | [Di chuyển phần tử](./6-space-game/3-moving-elements-around/README.md) | Chris |
| 18 | [Trò chơi không gian](./6-space-game/solution/README.md) | Phát hiện va chạm | Làm cho các phần tử va chạm và phản ứng với nhau bằng phím bấm và cung cấp hàm hồi chiếu để đảm bảo hiệu suất game | [Phát hiện va chạm](./6-space-game/4-collision-detection/README.md) | Chris |
| 19 | [Trò chơi không gian](./6-space-game/solution/README.md) | Ghi điểm | Thực hiện các phép tính toán dựa trên trạng thái và hiệu suất của trò chơi | [Ghi điểm](./6-space-game/5-keeping-score/README.md) | Chris |
| 20 | [Trò chơi không gian](./6-space-game/solution/README.md) | Kết thúc và khởi động lại trò chơi | Tìm hiểu cách kết thúc và khởi động lại trò chơi, bao gồm dọn dẹp tài nguyên và đặt lại giá trị biến | [Điều kiện kết thúc](./6-space-game/6-end-condition/README.md) | Chris |
| 21 | [Ứng dụng Ngân hàng](./7-bank-project/solution/README.md) | Mẫu HTML và Router trong ứng dụng web | Học cách tạo khung kiến trúc cho website nhiều trang sử dụng routing và mẫu HTML | [Mẫu HTML và Router](./7-bank-project/1-template-route/README.md) | Yohan |
| 22 | [Ứng dụng Ngân hàng](./7-bank-project/solution/README.md) | Xây dựng Biểu mẫu Đăng nhập và Đăng ký | Tìm hiểu cách xây dựng biểu mẫu và xử lý các quy trình xác thực | [Biểu mẫu](./7-bank-project/2-forms/README.md) | Yohan |
| 23 | [Ứng dụng Ngân hàng](./7-bank-project/solution/README.md) | Các phương pháp lấy và sử dụng dữ liệu | Cách dữ liệu chảy vào ra ứng dụng của bạn, cách lấy dữ liệu, lưu trữ, và xử lý | [Dữ liệu](./7-bank-project/3-data/README.md) | Yohan |
| 24 | [Ứng dụng Ngân hàng](./7-bank-project/solution/README.md) | Các khái niệm quản lý trạng thái | Tìm hiểu cách ứng dụng của bạn giữ trạng thái và cách quản lý lập trình | [Quản lý trạng thái](./7-bank-project/4-state-management/README.md) | Yohan |
| 25 | [Mã trình soạn thảo Browser/VScode](../../8-code-editor) | Làm việc với VScode | Tìm hiểu cách sử dụng trình soạn thảo mã | [Sử dụng trình soạn thảo VScode](./8-code-editor/1-using-a-code-editor/README.md) | Chris |
| 26 | [Trợ lý AI](./9-chat-project/README.md) | Làm việc với AI | Tìm hiểu cách xây dựng trợ lý AI cho riêng bạn | [Dự án trợ lý AI](./9-chat-project/README.md) | Chris |
| | Tên Dự Án | Các Khái Niệm Được Giảng Dạy | Mục Tiêu Học Tập | Bài Học Liên Quan | Tác Giả |
| :-: | :----------------------------------------------------: | :--------------------------------------------------------------------------: | --------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------: | :---------------------: |
| 01 | Bắt Đầu | Giới thiệu về Lập trình và Công cụ chuyên môn | Tìm hiểu cơ bản về nền tảng của hầu hết ngôn ngữ lập trình và về phần mềm hỗ trợ các nhà phát triển chuyên nghiệp | [Giới thiệu về Ngôn ngữ Lập trình và Công cụ chuyên môn](./1-getting-started-lessons/1-intro-to-programming-languages/README.md) | Jasmine |
| 02 | Bắt Đầu | Kiến thức cơ bản về GitHub, làm việc theo nhóm | Cách sử dụng GitHub trong dự án, cách cộng tác với những người khác trên cùng mã nguồn | [Giới thiệu về GitHub](./1-getting-started-lessons/2-github-basics/README.md) | Floor |
| 03 | Bắt Đầu | Khả năng tiếp cận | Tìm hiểu cơ bản về khả năng tiếp cận web | [Kiến thức cơ bản về Khả năng tiếp cận](./1-getting-started-lessons/3-accessibility/README.md) | Christopher |
| 04 | JS Cơ Bản | Các kiểu dữ liệu trong JavaScript | Những kiến thức cơ bản về các kiểu dữ liệu trong JavaScript | [Kiểu Dữ liệu](./2-js-basics/1-data-types/README.md) | Jasmine |
| 05 | JS Cơ Bản | Hàm và Phương thức | Tìm hiểu về hàm và phương thức để quản lý luồng logic của ứng dụng | [Hàm và Phương thức](./2-js-basics/2-functions-methods/README.md) | Jasmine và Christopher |
| 06 | JS Cơ Bản | Quyết định với JS | Tìm hiểu cách tạo điều kiện trong mã bằng các phương pháp ra quyết định | [Ra Quyết Định](./2-js-basics/3-making-decisions/README.md) | Jasmine |
| 07 | JS Cơ Bản | Mảng và Vòng lặp | Làm việc với dữ liệu sử dụng mảng và vòng lặp trong JavaScript | [Mảng và Vòng lặp](./2-js-basics/4-arrays-loops/README.md) | Jasmine |
| 08 | [Terrarium](./3-terrarium/solution/README.md) | Thực hành HTML | Xây dựng HTML để tạo terrarium trực tuyến, tập trung vào xây dựng bố cục | [Giới thiệu về HTML](./3-terrarium/1-intro-to-html/README.md) | Jen |
| 09 | [Terrarium](./3-terrarium/solution/README.md) | Thực hành CSS | Xây dựng CSS để tạo kiểu cho terrarium trực tuyến, tập trung vào những kiến thức cơ bản về CSS bao gồm làm cho trang hiển thị responsive | [Giới thiệu về CSS](./3-terrarium/2-intro-to-css/README.md) | Jen |
| 10 | [Terrarium](./3-terrarium/solution/README.md) | Đóng gói JavaScript, thao tác DOM | Xây dựng JavaScript để làm terrarium hoạt động như một giao diện kéo/thả, tập trung vào sử dụng closures và thao tác DOM | [Closures trong JavaScript, thao tác DOM](./3-terrarium/3-intro-to-DOM-and-closures/README.md) | Jen |
| 11 | [Typing Game](./4-typing-game/solution/README.md) | Xây dựng trò chơi đánh máy | Tìm hiểu cách sử dụng sự kiện bàn phím để điều khiển logic trong ứng dụng JavaScript của bạn | [Lập trình theo sự kiện](./4-typing-game/typing-game/README.md) | Christopher |
| 12 | [Green Browser Extension](./5-browser-extension/solution/README.md) | Làm việc với trình duyệt | Tìm hiểu cách hoạt động của trình duyệt, lịch sử của chúng và cách tạo các phần tử đầu tiên của tiện ích mở rộng trình duyệt | [Về trình duyệt](./5-browser-extension/1-about-browsers/README.md) | Jen |
| 13 | [Green Browser Extension](./5-browser-extension/solution/README.md) | Xây dựng form, gọi API và lưu biến trong bộ nhớ cục bộ | Xây dựng các phần tử JavaScript của tiện ích mở rộng trình duyệt để gọi API sử dụng biến được lưu trong bộ nhớ cục bộ | [API, Form và Bộ nhớ cục bộ](./5-browser-extension/2-forms-browsers-local-storage/README.md) | Jen |
| 14 | [Green Browser Extension](./5-browser-extension/solution/README.md) | Tiến trình nền trong trình duyệt, hiệu năng web | Sử dụng tiến trình nền của trình duyệt để quản lý biểu tượng tiện ích; tìm hiểu về hiệu năng web và một số tối ưu hóa | [Tiến trình nền và Hiệu năng](./5-browser-extension/3-background-tasks-and-performance/README.md) | Jen |
| 15 | [Space Game](./6-space-game/solution/README.md) | Phát triển game nâng cao với JavaScript | Tìm hiểu về Kế thừa sử dụng cả Lớp và Thành phần cũng như mẫu Pub/Sub, chuẩn bị cho việc xây dựng game | [Giới thiệu về Phát triển Game Nâng cao](./6-space-game/1-introduction/README.md) | Chris |
| 16 | [Space Game](./6-space-game/solution/README.md) | Vẽ trên canvas | Tìm hiểu về Canvas API, dùng để vẽ các phần tử lên màn hình | [Vẽ trên Canvas](./6-space-game/2-drawing-to-canvas/README.md) | Chris |
| 17 | [Space Game](./6-space-game/solution/README.md) | Di chuyển các phần tử trên màn hình | Khám phá cách các phần tử có thể chuyển động sử dụng tọa độ Descartes và Canvas API | [Di chuyển các phần tử](./6-space-game/3-moving-elements-around/README.md) | Chris |
| 18 | [Space Game](./6-space-game/solution/README.md) | Phát hiện va chạm | Làm cho các phần tử va chạm và phản ứng với nhau bằng các phím nhấn, đồng thời cung cấp hàm cooldown để đảm bảo hiệu năng game | [Phát hiện Va chạm](./6-space-game/4-collision-detection/README.md) | Chris |
| 19 | [Space Game](./6-space-game/solution/README.md) | Gi điểm số | Thực hiện các phép tính toán dựa trên trạng thái và hiệu suất của game | [Gi điểm số](./6-space-game/5-keeping-score/README.md) | Chris |
| 20 | [Space Game](./6-space-game/solution/README.md) | Kết thúc và khởi động lại game | Tìm hiểu về cách kết thúc và khởi động lại game, bao gồm dọn dẹp tài nguyên và đặt lại giá trị các biến | [Điều kiện kết thúc](./6-space-game/6-end-condition/README.md) | Chris |
| 21 | [Banking App](./7-bank-project/solution/README.md) | Mẫu HTML và Định tuyến trong Ứng dụng Web | Tìm hiểu cách tạo bộ khung kiến trúc website đa trang sử dụng định tuyến và mẫu HTML | [Mẫu HTML và Định tuyến](./7-bank-project/1-template-route/README.md) | Yohan |
| 22 | [Banking App](./7-bank-project/solution/README.md) | Xây dựng Form Đăng nhập và Đăng ký | Tìm hiểu về xây dựng form và xử lý các quy trình xác thực | [Form](./7-bank-project/2-forms/README.md) | Yohan |
| 23 | [Banking App](./7-bank-project/solution/README.md) | Phương pháp lấy và sử dụng dữ liệu | Cách dữ liệu chảy vào và ra ứng dụng, cách lấy dữ liệu, lưu trữ và loại bỏ dữ liệu | [Dữ liệu](./7-bank-project/3-data/README.md) | Yohan |
| 24 | [Banking App](./7-bank-project/solution/README.md) | Khái niệm Quản lý Trạng thái | Tìm hiểu cách ứng dụng giữ trạng thái và cách quản lý bằng lập trình | [Quản lý Trạng thái](./7-bank-project/4-state-management/README.md) | Yohan |
| 25 | [Browser/VScode Code](../../8-code-editor) | Làm việc với VScode | Tìm hiểu cách sử dụng trình soạn thảo mã | [Sử dụng Trình soạn thảo VScode](./8-code-editor/1-using-a-code-editor/README.md) | Chris |
| 26 | [AI Assistants](./9-chat-project/README.md) | Làm việc với AI | Tìm hiểu cách xây dựng trợ lý AI của riêng bạn | [Dự án Trợ lý AI](./9-chat-project/README.md) | Chris |
## 🏫 Phương pháp giảng dạy
Chương trình học của chúng tôi được thiết kế với hai nguyên tắc sư phạm chính:
* học theo dự án
Chương trình học được thiết kế dựa trên hai nguyên tắc sư phạm chính:
* học qua dự án
* các bài kiểm tra thường xuyên
Chương trình giảng dạy dạy các kiến thức cơ bản của JavaScript, HTML và CSS, cũng như các công cụ và kỹ thuật mới nhất được các nhà phát triển web ngày nay sử dụng. Học viên sẽ có cơ hội thực hành xây dựng trò chơi đánh máy, terrarium ảo, tiện ích mở rộng trình duyệt thân thiện với môi trường, trò chơi kiểu không gian xâm lược và ứng dụng ngân hàng cho doanh nghiệp. Đến cuối chuỗi bài học, học viên sẽ có được hiểu biết vững chắc về phát triển web.
Chương trình giảng dạy dạy các kiến thức nền tảng của JavaScript, HTML, và CSS, cũng như các công cụ và kỹ thuật mới nhất mà các nhà phát triển web hiện nay sử dụng. Học viên sẽ có cơ hội phát triển kinh nghiệm thực hành bằng cách xây dựng một trò chơi đánh máy, terrarium ảo, tiện ích mở rộng trình duyệt thân thiện với môi trường, trò chơi kiểu space-invader, và một ứng dụng ngân hàng cho doanh nghiệp. Cuối chuỗi bài học, học viên sẽ nắm vững kiến thức về phát triển web.
> 🎓 Bạn có thể học một vài bài đầu tiên trong chương trình này như một [Lộ trình Học tập](https://docs.microsoft.com/learn/paths/web-development-101/?WT.mc_id=academic-77807-sagibbon) trên Microsoft Learn!
> 🎓 Bạn có thể học các bài học đầu tiên trong chương trình học này như một [Lộ trình Học](https://docs.microsoft.com/learn/paths/web-development-101/?WT.mc_id=academic-77807-sagibbon) trên Microsoft Learn!
Bằng cách đảm bảo nội dung phù hợp với các dự án, quá trình học trở nên hấp dẫn hơn đối với học viên và tăng hiệu quả ghi nhớ các khái niệm. Chúng tôi cũng đã viết một số bài học khởi đầu về JavaScript cơ bản để giới thiệu các khái niệm, kết hợp với video từ bộ sưu tập "[Series cho người mới bắt đầu với JavaScript](https://channel9.msdn.com/Series/Beginners-Series-to-JavaScript/?WT.mc_id=academic-77807-sagibbon)", trong đó một số tác giả đã đóng góp cho chương trình học này.
Bằng cách đảm bảo nội dung phù hợp với các dự án, quá trình học trở nên thú vị hơn với học viên và tăng cường việc ghi nhớ các khái niệm. Chúng tôi cũng đã viết một số bài học khởi đầu về các kiến thức cơ bản JavaScript để giới thiệu các khái niệm, kèm theo một video trong bộ sưu tập "[Beginners Series to: JavaScript](https://channel9.msdn.com/Series/Beginners-Series-to-JavaScript/?WT.mc_id=academic-77807-sagibbon)", một số tác giả của video góp phần xây dựng chương trình này.
Ngoài ra, một bài kiểm tra thấp điểm trước lớp giúp học viên tạo động lực học tập theo chủ đề, trong khi bài kiểm tra thứ hai sau lớp giúp củng cố kiến thức. Chương trình học này được thiết kế linh hoạt và thú vị, có thể học toàn bộ hoặc từng phần. Các dự án bắt đầu từ nhỏ và trở nên phức tạp hơn theo chu kỳ 12 tuần.
Ngoài ra, một bài kiểm tra nhẹ nhàng trước lớp giúp học viên xác định mục tiêu học tập chủ đề, trong khi bài kiểm tra thứ hai sau lớp giúp củng cố kiến thức. Chương trình này được thiết kế linh hoạt và vui nhộn, có thể học toàn bộ hoặc một phần. Các dự án bắt đầu đơn giản và ngày càng phức tạp hơn sau 12 tuần học.
Mặc dù chúng tôi đặc biệt tránh giới thiệu các framework JavaScript để tập trung vào kỹ năng cơ bản cần thiết cho lập trình viên web trước khi sử dụng framework, bước tiếp theo tốt để hoàn thành chương trình này là học về Node.js qua một bộ video khác: "[Series cho người mới bắt đầu với Node.js](https://channel9.msdn.com/Series/Beginners-Series-to-Nodejs/?WT.mc_id=academic-77807-sagibbon)".
Mặc dù chúng tôi c tình tránh giới thiệu các framework JavaScript để tập trung vào kỹ năng cơ bản cần thiết cho lập trình viên web trước khi chuyển sang học framework, bước tiếp theo tốt để hoàn thành chương trình này là học về Node.js qua bộ video khác: "[Beginner Series to: Node.js](https://channel9.msdn.com/Series/Beginners-Series-to-Nodejs/?WT.mc_id=academic-77807-sagibbon)".
> Tham khảo [Quy tắc ứng xử](CODE_OF_CONDUCT.md) và [Hướng dẫn đóng góp](CONTRIBUTING.md) của chúng tôi. Chúng tôi rất hoan nghênh các phản hồi mang tính xây dựng của bạn!
> Hãy tham khảo [Quy tắc ứng xử](CODE_OF_CONDUCT.md) và [Đóng góp](CONTRIBUTING.md) của chúng tôi. Chúng tôi hoan nghênh những góp ý xây dựng của bạn!
## 🧭 Truy cập ngoại tuyến
## 🧭 Truy cập ngoài mạng
Bạn có thể chạy tài liệu này ngoại tuyến bằng cách sử dụng [Docsify](https://docsify.js.org/#/). Fork kho lưu trữ này, [cài đặt Docsify](https://docsify.js.org/#/quickstart) trên máy của bạn, sau đó ở thư mục gốc của kho lưu trữ này, gõ lệnh `docsify serve`. Website sẽ được phục vụ trên cổng 3000 tại localhost của bạn: `localhost:3000`.
Bạn có thể chạy tài liệu này ngoại tuyến bằng cách sử dụng [Docsify](https://docsify.js.org/#/). Tạo nhánh (fork) kho này, [cài đặt Docsify](https://docsify.js.org/#/quickstart) trên máy cục bộ, và sau đó trong thư mục gốc của kho này, gõ `docsify serve`. Trang web sẽ được phục vụ trên cổng 3000 tại localhost của bạn: `localhost:3000`.
## 📘 PDF
Một tệp PDF của tất cả các bài học có thể được tìm thấy [tại đây](https://microsoft.github.io/Web-Dev-For-Beginners/pdf/readme.pdf).
Một tệp PDF của tất cả các bài học có thể được tìm thấy [ đây](https://microsoft.github.io/Web-Dev-For-Beginners/pdf/readme.pdf).
## 🎒 Các Khóa Học Khác
Nhóm của chúng tôi cũng sản xuất các khóa học khác! Hãy xem:
Nhóm của chúng tôi sản xuất các khóa học khác! Hãy xem qua:
<!-- CO-OP TRANSLATOR OTHER COURSES START -->
### LangChain
@ -232,7 +232,7 @@ Nhóm của chúng tôi cũng sản xuất các khóa học khác! Hãy xem:
---
### Chuỗi AI Sinh Tạo
### Dòng AI Tạo Sinh
[![Generative AI for Beginners](https://img.shields.io/badge/Generative%20AI%20for%20Beginners-8B5CF6?style=for-the-badge&labelColor=E5E7EB&color=8B5CF6)](https://github.com/microsoft/generative-ai-for-beginners?WT.mc_id=academic-105485-koreyst)
[![Generative AI (.NET)](https://img.shields.io/badge/Generative%20AI%20(.NET)-9333EA?style=for-the-badge&labelColor=E5E7EB&color=9333EA)](https://github.com/microsoft/Generative-AI-for-beginners-dotnet?WT.mc_id=academic-105485-koreyst)
[![Generative AI (Java)](https://img.shields.io/badge/Generative%20AI%20(Java)-C084FC?style=for-the-badge&labelColor=E5E7EB&color=C084FC)](https://github.com/microsoft/generative-ai-for-beginners-java?WT.mc_id=academic-105485-koreyst)
@ -251,7 +251,7 @@ Nhóm của chúng tôi cũng sản xuất các khóa học khác! Hãy xem:
---
### Chuỗi Copilot
### Dòng Copilot
[![Copilot for AI Paired Programming](https://img.shields.io/badge/Copilot%20for%20AI%20Paired%20Programming-FACC15?style=for-the-badge&labelColor=E5E7EB&color=FACC15)](https://aka.ms/GitHubCopilotAI?WT.mc_id=academic-105485-koreyst)
[![Copilot for C#/.NET](https://img.shields.io/badge/Copilot%20for%20C%23/.NET-FBBF24?style=for-the-badge&labelColor=E5E7EB&color=FBBF24)](https://github.com/microsoft/mastering-github-copilot-for-dotnet-csharp-developers?WT.mc_id=academic-105485-koreyst)
[![Copilot Adventure](https://img.shields.io/badge/Copilot%20Adventure-FDE68A?style=for-the-badge&labelColor=E5E7EB&color=FDE68A)](https://github.com/microsoft/CopilotAdventures?WT.mc_id=academic-105485-koreyst)
@ -259,11 +259,11 @@ Nhóm của chúng tôi cũng sản xuất các khóa học khác! Hãy xem:
## Nhận Trợ Giúp
Nếu bạn gặp khó khăn hoặc có bất kỳ câu hỏi nào về việc xây dựng ứng dụng AI, hãy tham gia cùng những người học khác và các nhà phát triển giàu kinh nghiệm trong các cuộc thảo luận về MCP. Đây là một cộng đồng hỗ trợ nơi các câu hỏi được chào đón và kiến thức được chia sẻ tự do.
Nếu bạn bị mắc kẹt hoặc có bất kỳ câu hỏi nào về việc xây dựng ứng dụng AI. Hãy tham gia cùng các học viên khác và các nhà phát triển có kinh nghiệm trong các cuộc thảo luận về MCP. Đây là một cộng đồng hỗ trợ nơi các câu hỏi được chào đón và kiến thức được chia sẻ một cách tự do.
[![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG)
Nếu bạn có phản hồi về sản phẩm hoặc gặp lỗi trong quá trình phát triển, hãy truy cập:
Nếu bạn có phản hồi sản phẩm hoặc lỗi trong quá trình xây dựng, hãy truy cập:
[![Microsoft Foundry Developer Forum](https://img.shields.io/badge/GitHub-Microsoft_Foundry_Developer_Forum-blue?style=for-the-badge&logo=github&color=000000&logoColor=fff)](https://aka.ms/foundry/forum)
@ -274,6 +274,6 @@ Kho lưu trữ này được cấp phép theo giấy phép MIT. Xem tệp [LICEN
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Tuyên bố từ chối trách nhiệm**:
Tài liệu này đã được dịch bằng dịch vụ dịch thuật AI [Co-op Translator](https://github.com/Azure/co-op-translator). Mặc dù chúng tôi cố gắng đảm bảo độ chính xác, vui lòng lưu ý rằng các bản dịch tự động có thể chứa lỗi hoặc sự không chính xác. Tài liệu gốc bằng ngôn ngữ gốc nên được xem là nguồn tin chính thức. Đối với thông tin quan trọng, khuyến nghị sử dụng dịch vụ dịch thuật chuyên nghiệp bởi con người. Chúng tôi không chịu trách nhiệm đối với bất kỳ sự hiểu lầm hoặc giải thích sai nào phát sinh từ việc sử dụng bản dịch này.
**Tuyên bố từ chối trách nhiệm**:
Tài liệu này đã được dịch bằng dịch vụ dịch thuật AI [Co-op Translator](https://github.com/Azure/co-op-translator). Mặc dù chúng tôi nỗ lực đảm bảo độ chính xác, xin lưu ý rằng bản dịch tự động có thể chứa lỗi hoặc không chính xác. Tài liệu gốc bằng ngôn ngữ mẹ đẻ nên được xem là nguồn tham khảo chính xác nhất. Đối với thông tin quan trọng, nên sử dụng dịch vụ dịch thuật chuyên nghiệp bởi con người. Chúng tôi không chịu trách nhiệm về bất kỳ sự hiểu nhầm hay giải thích sai nào phát sinh từ việc sử dụng bản dịch này.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->
Loading…
Cancel
Save