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

update-translations
localizeflow[bot] 6 days ago
parent 5f5b733a93
commit 6c6d6aeae8

@ -493,7 +493,7 @@
},
"AGENTS.md": {
"original_hash": "a362efd06d64d4134a0cfe8515a86d34",
"translation_date": "2026-03-27T18:35:16+00:00",
"translation_date": "2026-04-06T18:36:30+00:00",
"source_file": "AGENTS.md",
"language_code": "el"
},
@ -516,8 +516,8 @@
"language_code": "el"
},
"README.md": {
"original_hash": "a2c9eed480687319517c08a6319e5536",
"translation_date": "2026-03-06T12:00:55+00:00",
"original_hash": "b885c87c7544109b78d6684daad6cba6",
"translation_date": "2026-04-06T18:31:49+00:00",
"source_file": "README.md",
"language_code": "el"
},

@ -2,27 +2,27 @@
## Επισκόπηση Έργου
Αυτό είναι ένα εκπαιδευτικό αποθετήριο προγράμματος σπουδών για τη διδασκαλία των βασικών αρχών ανάπτυξης ιστοσελίδων σε αρχάριους. Το πρόγραμμα σπουδών είναι ένα ολοκληρωμένο 12-εβδομάδων μάθημα που αναπτύχθηκε από τους Microsoft Cloud Advocates, περιλαμβάνοντας 24 πρακτικά μαθήματα που καλύπτουν JavaScript, CSS και HTML.
Αυτό είναι ένα αποθετήριο εκπαιδευτικού προγράμματος για τη διδασκαλία των βασικών της ανάπτυξης ιστοσελίδων σε αρχάριους. Το πρόγραμμα αποτελείται από ένα ολοκληρωμένο μάθημα 12 εβδομάδων που έχει αναπτυχθεί από τους Microsoft Cloud Advocates, με 24 πρακτικά μαθήματα που καλύπτουν JavaScript, CSS και HTML.
### Βασικά Στοιχεία
### Κύρια Στοιχεία
- **Εκπαιδευτικό Περιεχόμενο**: 24 οργανωμένα μαθήματα σε μονάδες βάση έργων
- **Πρακτικά Έργα**: Terrarium, Παιχνίδι Πληκτρολόγησης, Επέκταση Περιηγητή, Παιχνίδι Διαστήματος, Τραπεζική Εφαρμογή, Επεξεργαστής Κώδικα και Βοηθός AI Chat
- **Διαδραστικά Κουίζ**: 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, διάφορα έργα μαθημάτων)
- Σύστημα μετάφρασης με χρήση GitHub Actions (co-op-translator)
- Τεκμηρίωση που σερβίρεται μέσω Docsify και είναι διαθέσιμη ως PDF
- Εκπαιδευτικό αποθετήριο με δομή βασισμένη στα μαθήματα
- Κάθε φάκελος μαθήματος περιέχει README, παραδείγματα κώδικα και λύσεις
- Αυτόνομα έργα σε ξεχωριστούς φακέλους (quiz-app, διάφορα έργα μαθημάτων)
- Σύστημα μετάφρασης με χρήση GitHub Actions (co-op-translator)
- Τεκμηρίωση διαθέσιμη μέσω Docsify και ως PDF
## Εντολές Εγκατάστασης
## Εντολές Ρύθμισης
Αυτό το αποθετήριο έχει κυρίως σκοπό την κατανάλωση εκπαιδευτικού περιεχομένου. Για εργασία με συγκεκριμένα έργα:
Αυτό το αποθετήριο είναι κυρίως για την κατανάλωση εκπαιδευτικού περιεχομένου. Για εργασία με συγκεκριμένα έργα:
### Ρύθμιση Κύριου Αποθετηρίου
@ -30,18 +30,18 @@
git clone https://github.com/microsoft/Web-Dev-For-Beginners.git
cd Web-Dev-For-Beginners
```
### Ρύθμιση Quiz App (Vue 3 + Vite)
```bash
cd quiz-app
npm install
npm run dev # Εκκίνηση διακομιστή ανάπτυξης
npm run dev # Ξεκινήστε το διακομιστή ανάπτυξης
npm run build # Δημιουργία για παραγωγή
npm run lint # Εκτέλεση ESLint
```
### Bank Project API (Node.js + Express)
### API Έργου Τράπεζας (Node.js + Express)
```bash
cd 7-bank-project/api
@ -50,15 +50,15 @@ npm start # Εκκίνηση διακομιστή API
npm run lint # Εκτέλεση ESLint
npm run format # Μορφοποίηση με Prettier
```
### Έργα Επέκτασης Περιηγητή
```bash
cd 5-browser-extension/solution
npm install
# Ακολουθήστε τις οδηγίες φόρτωσης επεκτάσεων συγκεκριμένες για τον περιηγητή
# Ακολουθήστε τις οδηγίες φόρτωσης επεκτάσεων ειδικές για τον περιηγητή
```
### Έργα Παιχνιδιού Διαστήματος
```bash
@ -66,43 +66,43 @@ cd 6-space-game/solution
npm install
# Ανοίξτε το index.html σε πρόγραμμα περιήγησης ή χρησιμοποιήστε Live Server
```
### Έργο Chat (Python Backend)
### Έργο Συνομιλίας (Python Backend)
```bash
cd 9-chat-project/solution/backend/python
pip install openai
# Ορισμός μεταβλητής περιβάλλοντος GITHUB_TOKEN
# Ορίστε τη μεταβλητή περιβάλλοντος GITHUB_TOKEN
python api.py
```
## Ροή Ανάπτυξης
### Για Συμβολή στο Περιεχόμενο
### Για Συνεργάτες Περιεχομένου
1. **Κάντε fork το αποθετήριο** στο λογαριασμό σας στο GitHub
2. **Κατεβάστε το fork τοπικά**
3. **Δημιουργήστε νέο κλάδο** για τις αλλαγές σας
4. Κάντε αλλαγές στο περιεχόμενο των μαθημάτων ή στα παραδείγματα κώδικα
5. Δοκιμάστε οποιεσδήποτε αλλαγές κώδικα στους αντίστοιχους καταλόγους έργων
6. Υποβάλετε pull requests σύμφωνα με τις οδηγίες συμβολής
1. **Διακλάδωση (Fork)** του αποθετηρίου στο GitHub σας
2. **Κλωνοποίηση (Clone)** του fork τοπικά
3. **Δημιουργία νέου κλάδου** για τις αλλαγές σας
4. Κάντε αλλαγές στο περιεχόμενο μαθημάτων ή στα παραδείγματα κώδικα
5. Δοκιμάστε τις αλλαγές κώδικα στους σχετικούς φακέλους έργων
6. Υποβάλετε ζητήματα συγχώνευσης (pull requests) ακολουθώντας τις οδηγίες συμβολής
### Για Μαθητές
1. Κάντε fork ή clone το αποθετήριο
2. Πλοηγηθείτε στους καταλόγους μαθημάτων διαδοχικά
3. Διαβάστε τα αρχεία README για κάθε μάθημα
4. Ολοκληρώστε τα κουίζ πριν το μάθημα στη διεύθυνση https://ff-quizzes.netlify.app/web/
5. Εργαστείτε στα παραδείγματα κώδικα στους φακέλους μαθημάτων
6. Ολοκληρώστε εργασίες και προκλήσεις
7. Πραγματοποιήστε τα κουίζ μετά το μάθημα
1. Διακλάδωση ή κλωνοποίηση του αποθετηρίου
2. Πλοηγηθείτε στους φακέλους μαθημάτων με σειρά
3. Διαβάστε τα αρχεία README κάθε μαθήματος
4. Ολοκληρώστε τα κουίζ πριν το μάθημα στη διεύθυνση https://ff-quizzes.netlify.app/web/
5. Εργαστείτε στα παραδείγματα κώδικα στους φακέλους μαθημάτων
6. Ολοκληρώστε εργασίες και προκλήσεις
7. Κάντε τα κουίζ μετά το μάθημα
### Ζωντανή Ανάπτυξη
- **Τεκμηρίωση**: Εκτελέστε `docsify serve` στην ρίζα (πορτ 3000)
- **Quiz App**: Εκτελέστε `npm run dev` στον κατάλογο quiz-app
- **Έργα**: Χρησιμοποιήστε την επέκταση VS Code Live Server για έργα HTML
- **API Έργα**: Εκτελέστε `npm start` στους αντίστοιχους καταλόγους API
- **Τεκμηρίωση**: Εκτελέστε `docsify serve` στο ριζικό φάκελο (θύρα 3000)
- **Quiz App**: Εκτελέστε `npm run dev` στον φάκελο quiz-app
- **Έργα**: Χρησιμοποιήστε την επέκταση Live Server του VS Code για έργα HTML
- **API Έργα**: Εκτελέστε `npm start` στους αντίστοιχους φακέλους API
## Οδηγίες Δοκιμών
@ -110,173 +110,173 @@ python api.py
```bash
cd quiz-app
npm run lint # Έλεγχος για προβλήματα στυλ κώδικα
npm run build # Επαλήθευση επιτυχίας κατασκευής
npm run lint # Ελέγξτε για προβλήματα στυλ κώδικα
npm run build # Επαληθεύστε ότι η κατασκευή ολοκληρώνεται με επιτυχία
```
### Δοκιμές Bank API
### Δοκιμές API Τράπεζας
```bash
cd 7-bank-project/api
npm run lint # Έλεγχος για προβλήματα στο στυλ κώδικα
node server.js # Επαλήθευση ότι ο διακομιστής ξεκινά χωρίς σφάλματα
npm run lint # Ελέγξτε για προβλήματα στυλ κώδικα
node server.js # Επαληθεύστε ότι ο διακομιστής ξεκινά χωρίς σφάλματα
```
### Γενική Προσέγγιση Δοκιμών
- Αυτό είναι εκπαιδευτικό αποθετήριο χωρίς ολοκληρωμένες αυτοματοποιημένες δοκιμές
- Οι χειροκίνητες δοκιμές επικεντρώνονται σε:
- Εκτέλεση παραδειγμάτων κώδικα χωρίς σφάλματα
- Επαλήθευση συνδέσμων στην τεκμηρίωση
- Επιτυχής ολοκλήρωση κατασκευών έργων
- Παραδείγματα που ακολουθούν βέλτιστες πρακτικές
- Πρόκειται για εκπαιδευτικό αποθετήριο χωρίς πλήρεις αυτοματοποιημένες δοκιμές
- Η χειροκίνητη δοκιμή εστιάζει σε:
- Εκτέλεση παραδειγμάτων χωρίς σφάλματα
- Οι σύνδεσμοι στην τεκμηρίωση λειτουργούν σωστά
- Οι διαδικασίες κατασκευής έργων ολοκληρώνονται επιτυχώς
- Τα παραδείγματα ακολουθούν βέλτιστες πρακτικές
### Έλεγχοι Πριν την Υποβολή
- Εκτέλεση `npm run lint` σε καταλόγους με package.json
- Επαλήθευση εγκυρότητας συνδέσμων markdown
- Δοκιμή παραδειγμάτων κώδικα σε περιηγητή ή Node.js
- Έλεγχος ότι οι μεταφράσεις διατηρούν τη σωστή δομή
- Εκτελέστε `npm run lint` σε φακέλους με package.json
- Επαληθεύστε ότι οι σύνδεσμοι markdown είναι έγκυροι
- Δοκιμάστε τα παραδείγματα κώδικα στον περιηγητή ή Node.js
- Ελέγξτε ότι οι μεταφράσεις διατηρούν τη σωστή δομή
## Οδηγίες Στυλ Κώδικα
### JavaScript
- Χρήση σύγχρονης σύνταξης ES6+
- Τήρηση των τυπικών ρυθμίσεων ESLint που παρέχονται στα έργα
- Χρήση νοήμονων ονομάτων μεταβλητών και συναρτήσεων για παιδαγωγική σαφήνεια
- Προσθήκη σχολίων που εξηγούν τις έννοιες στους μαθητές
- Μορφοποίηση με Prettier όπου έχει ρυθμιστεί
- Χρήση σύγχρονης σύνταξης ES6+
- Ακολουθήστε τις τυπικές ρυθμίσεις ESLint που παρέχονται στα έργα
- Χρησιμοποιήστε ουσιαστικά ονόματα μεταβλητών και συναρτήσεων για εκπαιδευτική σαφήνεια
- Προσθέστε σχόλια που εξηγούν έννοιες για τους μαθητές
- Μορφοποιήστε με Prettier όπου έχει ρυθμιστεί
### HTML/CSS
- Σημασιολογικά στοιχεία HTML5
- Αρχές σχεδιασμού για ανταποκρισιμότητα (responsive design)
- Καθαρή ονοματολογία κλάσεων
- Σχόλια που εξηγούν τεχνικές CSS για τους μαθητές
- Σημαντικά στοιχεία HTML5
- Αρχές σχεδίασης για ευέλικτο σχεδιασμό (responsive)
- Καθαρούς κανόνες ονοματοδοσίας κλάσεων
- Σχόλια που εξηγούν τις τεχνικές CSS για εκπαιδευτικούς σκοπούς
### Python
- Κατευθυντήριες γραμμές στυλ PEP 8
- Καθαρά, εκπαιδευτικά παραδείγματα κώδικα
- Χρήση τύπων όπου βοηθά στη μάθηση
- Οδηγίες στυλ PEP 8
- Καθαρά, εκπαιδευτικά παραδείγματα κώδικα
- Τύποι (type hints) όπου είναι χρήσιμο για τη μάθηση
### Τεκμηρίωση Markdown
- Σαφής ιεραρχία επικεφαλίδων
- Μπλοκ κώδικα με καθορισμό γλώσσας
- Σύνδεσμοι προς επιπλέον πηγές
- Στιγμιότυπα οθόνης και εικόνες στους καταλόγους `images/`
- Alt κείμενο για εικόνες για πρόσβαση
- Σαφής ιεραρχία επικεφαλίδων
- Μπλοκ κώδικα με καθορισμένη γλώσσα
- Συνδέσμους σε επιπλέον πόρους
- Στιγμιότυπα και εικόνες στους φακέλους `images/`
- Εναλλακτικό κείμενο (alt text) για πρόσβαση
### Οργάνωση Αρχείων
- Μαθήματα αριθμημένα διαδοχικά (1-getting-started-lessons, 2-js-basics, κλπ.)
- Κάθε έργο έχει καταλόγους `solution/` και συχνά `start/` ή `your-work/`
- Οι εικόνες φυλάσσονται σε φακέλους `images/` ανά μάθημα
- Οι μεταφράσεις βρίσκονται σε δομή `translations/{language-code}/`
- Τα μαθήματα αριθμούνται διαδοχικά (1-getting-started-lessons, 2-js-basics, κ.λπ.)
- Κάθε έργο έχει φακέλους `solution/` και συχνά `start/` ή `your-work/`
- Εικόνες αποθηκεύονται σε φακέλους `images/` ανά μάθημα
- Μεταφράσεις σε δομή `translations/{language-code}/`
## Κατασκευή και Ανάπτυξη
### Ανάπτυξη Quiz App (Azure Static Web Apps)
Το quiz-app είναι ρυθμισμένο για ανάπτυξη σε Azure Static Web Apps:
Η εφαρμογή quiz-app είναι διαμορφωμένη για ανάπτυξη σε Azure Static Web Apps:
```bash
cd quiz-app
npm run build # Δημιουργεί τον φάκελο dist/
# Κάνει ανάπτυξη μέσω της ροής εργασίας GitHub Actions κατά την ώθηση στο main
# Αναπτύσσει μέσω ροής εργασίας GitHub Actions κατά την αποστολή στον κλάδο main
```
Ρυθμίσεις Azure Static Web Apps:
- **Τοποθεσία εφαρμογής**: `/quiz-app`
- **Τοποθεσία εξόδου**: `dist`
- **Ροή εργασίας**: `.github/workflows/azure-static-web-apps-ashy-river-0debb7803.yml`
Διαμόρφωση Azure Static Web Apps:
- **Τοποθεσία εφαρμογής**: `/quiz-app`
- **Τοποθεσία εξόδου**: `dist`
- **Ροή εργασίας**: `.github/workflows/azure-static-web-apps-ashy-river-0debb7803.yml`
### Δημιουργία PDF Τεκμηρίωσης
```bash
npm install # Εγκαταστήστε το docsify-to-pdf
npm run convert # Δημιουργήστε PDF από docs
npm install # Εγκατάσταση docsify-to-pdf
npm run convert # Δημιουργία PDF από docs
```
### Τεκμηρίωση Docsify
```bash
npm install -g docsify-cli # Εγκαταστήστε το Docsify παγκοσμίως
docsify serve # Εξυπηρετήστε στο localhost:3000
docsify serve # Υπηρετήστε στο localhost:3000
```
### Κατασκευές ανά Έργο
Κάθε κατάλογος έργου μπορεί να έχει δική του διαδικασία κατασκευής:
- Έργα Vue: `npm run build` δημιουργεί παραγωγικά πακέτα
- Στατικά έργα: Δεν υπάρχει βήμα κατασκευής, τα αρχεία σερβίρονται άμεσα
Κάθε φάκελος έργου μπορεί να έχει τη δική του διαδικασία κατασκευής:
- Vue έργα: `npm run build` δημιουργεί bundles παραγωγής
- Στατικά έργα: Δεν απαιτείται βήμα κατασκευής, εξυπηρετούνται απευθείας τα αρχεία
## Οδηγίες Pull Request
### Μορφή Τίτλου
Χρησιμοποιήστε σαφείς, περιγραφικούς τίτλους που υποδεικνύουν την περιοχή αλλαγής:
- `[Quiz-app] Προσθήκη νέου κουίζ για το μάθημα X`
- `[Lesson-3] Διόρθωση τυπογραφικού λάθους στο έργο terrarium`
- `[Translation] Προσθήκη Ισπανικής μετάφρασης για το μάθημα 5`
- `[Docs] Ενημέρωση οδηγιών ρύθμισης`
Χρησιμοποιήστε σαφείς, περιγραφικούς τίτλους που υποδεικνύουν την περιοχή αλλαγής:
- `[Quiz-app] Προσθήκη νέου κουίζ για μάθημα X`
- `[Lesson-3] Διόρθωση τυπογραφικού λάθους στο έργο terrarium`
- `[Translation] Προσθήκη ισπανικής μετάφρασης για μάθημα 5`
- `[Docs] Ενημέρωση οδηγιών ρύθμισης`
### Απαραίτητοι Έλεγχοι
### Απαιτούμενοι Έλεγχοι
Πριν την υποβολή PR:
Πριν την υποβολή PR:
1. **Ποιότητα Κώδικα**:
- Εκτέλεση `npm run lint` στους αντίστοιχους καταλόγους έργων
- Διόρθωση όλων των σφαλμάτων και προειδοποιήσεων lint
1. **Ποιότητα Κώδικα**:
- Εκτελέστε `npm run lint` στους επηρεασμένους φακέλους έργων
- Διορθώστε όλα τα σφάλματα και προειδοποιήσεις lint
2. **Επαλήθευση Κατασκευής**:
- Εκτέλεση `npm run build` αν απαιτείται
- Εξασφάλιση μη ύπαρξης σφαλμάτων κατασκευής
2. **Επαλήθευση Κατασκευής**:
- Εκτελέστε `npm run build` αν ισχύει
- Βεβαιωθείτε ότι δεν υπάρχουν σφάλματα κατασκευής
3. **Επικύρωση Συνδέσμων**:
- Δοκιμή όλων των συνδέσμων markdown
- Επαλήθευση λειτουργίας εικόνων
3. **Επαλήθευση Συνδέσμων**:
- Δοκιμάστε όλους τους συνδέσμους markdown
- Επαληθεύστε ότι οι αναφορές εικόνων λειτουργούν
4. **Ανασκόπηση Περιεχομένου**:
- Διόρθωση ορθογραφίας και γραμματικής
- Επιβεβαίωση ορθότητας και εκπαιδευτικής αξίας παραδειγμάτων κώδικα
- Επαλήθευση ότι οι μεταφράσεις διατηρούν το αρχικό νόημα
4. **Ανασκόπηση Περιεχομένου**:
- Διορθώστε ορθογραφία και γραμματική
- Βεβαιωθείτε ότι τα παραδείγματα κώδικα είναι σωστά και εκπαιδευτικά
- Επαληθεύστε ότι οι μεταφράσεις διατηρούν την αρχική έννοια
### Απαιτήσεις Συμβολής
- Συμφωνία με το Microsoft CLA (αυτοματοποιημένος έλεγχος στο πρώτο PR)
- Τήρηση του [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/)
- Δείτε το [CONTRIBUTING.md](./CONTRIBUTING.md) για λεπτομερείς οδηγίες
- Αναφορά αριθμών θεμάτων (issues) στην περιγραφή PR αν ισχύει
- Αποδοχή Microsoft CLA (αυτόματος έλεγχος στο πρώτο PR)
- Ακολουθήστε τον [Κώδικα Συμπεριφοράς Ανοικτού Κώδικα Microsoft](https://opensource.microsoft.com/codeofconduct/)
- Δείτε το [CONTRIBUTING.md](./CONTRIBUTING.md) για λεπτομερείς οδηγίες
- Αναφέρετε αριθμούς ζητημάτων στη περιγραφή PR, εφόσον εφαρμόζεται
### Διαδικασία Ανασκόπησης
### Διαδικασία Αναθεώρησης
- Τα PR εξετάζονται από διαχειριστές και κοινότητα
- Η παιδαγωγική σαφήνεια έχει προτεραιότητα
- Τα παραδείγματα κώδικα πρέπει να ακολουθούν τις τρέχουσες βέλτιστες πρακτικές
- Οι μεταφράσεις ελέγχονται για ακρίβεια και πολιτισμική καταλληλότητα
- Τα PR αναθεωρούνται από διαχειριστές και κοινότητα
- Προτεραιότητα στην εκπαιδευτική σαφήνεια
- Τα παραδείγματα κώδικα πρέπει να ακολουθούν τις τρέχουσες βέλτιστες πρακτικές
- Οι μεταφράσεις ελέγχονται για ακρίβεια και πολιτιστική καταλληλότητα
## Σύστημα Μετάφρασης
### Αυτόματη Μετάφραση
- Χρησιμοποιεί GitHub Actions με ροή εργασίας co-op-translator
- Μεταφράζει σε 50+ γλώσσες αυτόματα
- Αρχεία πηγής στους κύριους καταλόγους
- Μεταφρασμένα αρχεία σε `translations/{language-code}/`
- Χρήση GitHub Actions με ροή εργασίας co-op-translator
- Μετάφραση σε πάνω από 50 γλώσσες αυτόματα
- Αρχεία πηγής στους κύριους φακέλους
- Μεταφρασμένα αρχεία σε `translations/{language-code}/`
### Προσθήκη Χειροκίνητων Βελτιώσεων Μετάφρασης
### Προσθήκη Χειροκίνητων Βελτιώσεων
1. Εντοπίστε αρχείο στο `translations/{language-code}/`
2. Κάντε βελτιώσεις διατηρώντας τη δομή
3. Εξασφαλίστε ότι τα παραδείγματα κώδικα παραμένουν λειτουργικά
4. Δοκιμάστε τυχόν τοπικοποιημένο περιεχόμενο κουίζ
1. Βρείτε το αρχείο σε `translations/{language-code}/`
2. Κάντε βελτιώσεις διατηρώντας τη δομή
3. Εξασφαλίστε ότι τα παραδείγματα κώδικα παραμένουν λειτουργικά
4. Δοκιμάστε το τοπικό κουίζ αν υπάρχει
### Μεταδεδομένα Μετάφρασης
Τα μεταφρασμένα αρχεία περιλαμβάνουν επικεφαλίδα μεταδεδομένων:
Τα μεταφρασμένα αρχεία περιλαμβάνουν κεφαλίδα μεταδεδομένων:
```markdown
<!--
CO_OP_TRANSLATOR_METADATA:
@ -288,121 +288,121 @@ CO_OP_TRANSLATOR_METADATA:
}
-->
```
## Αποσφαλμάτωση και Επίλυση Προβλημάτων
## Αντιμετώπιση Σφαλμάτων και Επίλυση Προβλημάτων
### Συνηθισμένα Προβλήματα
**Αποτυχία εκκίνησης quiz app**:
- Ελέγξτε την έκδοση Node.js (προτείνεται v14+)
- Διαγράψτε `node_modules` και `package-lock.json`, τρέξτε `npm install` ξανά
- Ελέγξτε για συγκρούσεις θυρών (κανονικά: Vite χρησιμοποιεί πόρτ 5173)
**Το quiz app δεν ξεκινά**:
- Ελέγξτε την έκδοση Node.js (συνιστάται v14+)
- Διαγράψτε τους φακέλους `node_modules` και το αρχείο `package-lock.json`, εκτελέστε ξανά `npm install`
- Ελέγξτε για συγκρούσεις θυρών (ο προεπιλεγμένος Vite χρησιμοποιεί θύρα 5173)
**Ο διακομιστής API δεν ξεκινά**:
- Επιβεβαιώστε ότι η έκδοση Node.js είναι >=10
- Ελέγξτε αν η θύρα είναι ήδη σε χρήση
- Βεβαιωθείτε ότι έχουν εγκατασταθεί όλες οι εξαρτήσεις με `npm install`
**Ο server του API δεν ξεκινά**:
- Βεβαιωθείτε ότι η έκδοση Node.js είναι >=10
- Ελέγξτε αν θύρα είναι ήδη σε χρήση
- Εξασφαλίστε ότι όλες οι εξαρτήσεις έχουν εγκατασταθεί με `npm install`
**Η επέκταση περιηγητή δεν φορτώνει**:
- Επιβεβαιώστε ότι το manifest.json είναι σωστά διαμορφωμένο
- Ελέγξτε το κονσόλα περιηγητή για σφάλματα
- Ακολουθήστε τις οδηγίες εγκατάστασης ειδικά για τον περιηγητή
**Η επέκταση περιηγητή δεν φορτώνει**:
- Βεβαιωθείτε ότι το manifest.json είναι σωστά διαμορφωμένο
- Ελέγξτε την κονσόλα του περιηγητή για σφάλματα
- Ακολουθήστε τις οδηγίες εγκατάστασης για επεκτάσεις συγκεκριμένου περιηγητή
**Προβλήματα έργου chat Python**:
- Βεβαιωθείτε ότι είναι εγκατεστημένο το πακέτο OpenAI: `pip install openai`
- Επιβεβαιώστε ότι η μεταβλητή περιβάλλοντος GITHUB_TOKEN έχει ρυθμιστεί
- Ελέγξτε τα δικαιώματα πρόσβασης στα GitHub Models
**Προβλήματα στο έργο συνομιλίας Python**:
- Εγκαταστήστε το πακέτο OpenAI: `pip install openai`
- Βεβαιωθείτε ότι το περιβάλλον μεταβλητής GITHUB_TOKEN είναι ρυθμισμένο
- Ελέγξτε τα δικαιώματα πρόσβασης στα GitHub Models
**Docsify δεν σερβίρει τα έγγραφα**:
- Εγκαταστήστε το docsify-cli παγκοσμίως: `npm install -g docsify-cli`
- Τρέξτε από τον κατάλογο ρίζας του αποθετηρίου
- Ελέγξτε ότι το αρχείο `docs/_sidebar.md` υπάρχει
**Το Docsify δεν εξυπηρετεί τεκμηρίωση**:
- Εγκαταστήστε το docsify-cli παγκοσμίως: `npm install -g docsify-cli`
- Εκτελέστε από το ριζικό φάκελο του αποθετηρίου
- Βεβαιωθείτε ότι το αρχείο `docs/_sidebar.md` υπάρχει
### Συμβουλές Περιβάλλοντος Ανάπτυξης
- Χρησιμοποιήστε το VS Code με το extension Live Server για έργα HTML
- Εγκαταστήστε τα extensions ESLint και Prettier για συνεπή μορφοποίηση
- Χρησιμοποιήστε τα DevTools του περιηγητή για αποσφαλμάτωση JavaScript
- Για έργα Vue, εγκαταστήστε το Vue DevTools extension για περιηγητή
- Χρησιμοποιήστε VS Code με την επέκταση Live Server για έργα HTML
- Εγκαταστήστε τις επεκτάσεις ESLint και Prettier για συνεπή μορφοποίηση
- Χρησιμοποιήστε τα εργαλεία ανάπτυξης του περιηγητή για αποσφαλμάτωση JavaScript
- Για έργα Vue, εγκαταστήστε την επέκταση Vue DevTools στον περιηγητή
### Θέματα Απόδοσης
- Μεγάλος αριθμός μεταφρασμένων αρχείων (50+ γλώσσες) σημαίνει μεγάλα πλήρη αντίγραφα
- Χρησιμοποιήστε shallow clone αν δουλεύετε μόνο με περιεχόμενο: `git clone --depth 1`
- Αποκλείστε τις μεταφράσεις από τις αναζητήσεις όταν εργάζεστε μόνο με αγγλικό περιεχόμενο
- Οι διαδικασίες κατασκευής μπορεί να είναι αργές σε πρώτη εκτέλεση (npm install, Vite build)
- Ο μεγάλος αριθμός μεταφρασμένων αρχείων (πάνω από 50 γλώσσες) καθιστά τους πλήρεις κλώνους μεγάλους
- Χρησιμοποιήστε shallow clone αν εργάζεστε μόνο με περιεχόμενο: `git clone --depth 1`
- Αποφύγετε τη συμπερίληψη μεταφράσεων σε αναζητήσεις όταν εργάζεστε σε αγγλικό περιεχόμενο
- Οι διαδικασίες κατασκευής μπορεί να είναι αργές στην πρώτη εκτέλεση (npm install, Vite build)
## Θέματα Ασφαλείας
### Μεταβλητές Περιβάλλοντος
### Περιβάλλον Μεταβλητών
- Τα κλειδιά API δεν πρέπει ποτέ να δεσμεύονται στο αποθετήριο
- Χρησιμοποιήστε αρχεία `.env` (ήδη στο `.gitignore`)
- Τεκμηριώστε τις απαιτούμενες μεταβλητές περιβάλλοντος στα README των έργων
- Τα κλειδιά API δεν πρέπει ποτέ να δεσμεύονται στο αποθετήριο
- Χρησιμοποιήστε αρχεία `.env` (ήδη στο `.gitignore`)
- Τεκμηριώστε τις απαιτούμενες περιβαλλοντικές μεταβλητές στα README των έργων
### Έργα Python
- Χρησιμοποιήστε εικονικά περιβάλλοντα: `python -m venv venv`
- Κρατήστε τις εξαρτήσεις ενημερωμένες
- Τα tokens GitHub πρέπει να έχουν τα ελάχιστα απαιτούμενα δικαιώματα
- Χρησιμοποιήστε εικονικά περιβάλλοντα: `python -m venv venv`
- Κρατήστε τις εξαρτήσεις ενημερωμένες
- Τα tokens GitHub πρέπει να έχουν ελάχιστα απαιτούμενα δικαιώματα
### Πρόσβαση στα GitHub Models
- Απαιτούνται Personal Access Tokens (PAT) για τα GitHub Models
- Τα tokens πρέπει να αποθηκεύονται ως μεταβλητές περιβάλλοντος
- Μην δεσμεύετε ποτέ tokens ή διαπιστευτήρια
- Απαιτούνται Personal Access Tokens (PAT)
- Τα tokens πρέπει να αποθηκεύονται ως περιβάλλον μεταβλητές
- Ποτέ μην δεσμεύετε tokens ή διαπιστευτήρια
## Πρόσθετες Σημειώσεις
### Στοχευόμενο Κοινό
### Στοχευμένο Κοινό
- Απόλυτοι αρχάριοι στην ανάπτυξη ιστοσελίδων
- Φοιτητές και αυτοδίδακτοι
- Δάσκαλοι που χρησιμοποιούν το πρόγραμμα σπουδών σε τάξεις
- Το περιεχόμενο έχει σχεδιαστεί για προσβασιμότητα και βαθμιαία ανάπτυξη δεξιοτήτων
- Απόλυτοι αρχάριοι στην ανάπτυξη ιστοσελίδων
- Μαθητές και αυτοδίδακτοι
- Εκπαιδευτικοί που χρησιμοποιούν το πρόγραμμα σε τάξεις
- Το περιεχόμενο σχεδιάστηκε με προσβασιμότητα και σταδιακή ανάπτυξη δεξιοτήτων
### Παιδαγωγική Φιλοσοφία
### Εκπαιδευτική Φιλοσοφία
- Προσέγγιση μάθησης βάσει έργων
- Συχνές επανεκτιμήσεις γνώσεων (κουίζ)
- Πρακτικές ασκήσεις κώδικα
- Παραδείγματα εφαρμογής σε πραγματικό κόσμο
- Εστίαση στα βασικά πριν τα frameworks
- Προσέγγιση μάθησης βασισμένη σε έργα
- Συχνές αξιολογήσεις γνώσης (κουίζ)
- Πρακτικές ασκήσεις κώδικα
- Παραδείγματα εφαρμογών πραγματικού κόσμου
- Εστίαση στα βασικά πριν τα πλαίσια εργασίας
### Συντήρηση Αποθετηρίου
- Ενεργή κοινότητα μαθητών και συνεργατών
- Τακτικές ενημερώσεις εξαρτήσεων και περιεχομένου
- Παρακολούθηση θεμάτων και συζητήσεων από διαχειριστές
- Αυτόματες ενημερώσεις μεταφράσεων μέσω GitHub Actions
- Ενεργή κοινότητα μαθητών και συνεργατών
- Τακτικές ενημερώσεις εξαρτήσεων και περιεχομένου
- Παρακολούθηση ζητημάτων και συζητήσεων από τους διαχειριστές
- Αυτόματες ενημερώσεις μεταφράσεων μέσω GitHub Actions
### Σχετικοί Πόροι
- [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, Επιστήμη Δεδομένων, Μηχανική Μάθηση, IoT διαθέσιμα
- [Microsoft Learn modules](https://docs.microsoft.com/learn/)
- [Πόροι Student Hub](https://docs.microsoft.com/learn/student-hub/)
- [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) συνιστάται για μαθητές
- Πρόσθετα μαθήματα: Generative AI, Data Science, ML, IoT curricula διαθέσιμα
### Εργασία με Συγκεκριμένα Έργα
Για λεπτομερείς οδηγίες στα μεμονωμένα έργα, ανατρέξτε στα αρχεία README:
- `quiz-app/README.md` - Εφαρμογή κουίζ Vue 3
- `7-bank-project/README.md` - Τραπεζική εφαρμογή με αυθεντικοποίηση
- `5-browser-extension/README.md` - Ανάπτυξη επέκτασης περιηγητή
- `6-space-game/README.md` - Ανάπτυξη παιχνιδιού με καμβά
- `9-chat-project/README.md` - Έργο βοηθού AI chat
Για λεπτομερείς οδηγίες στα επιμέρους έργα, ανατρέξτε στα αρχεία README στα:
- `quiz-app/README.md` - Εφαρμογή quiz Vue 3
- `7-bank-project/README.md` - Εφαρμογή τραπεζικού με αυθεντικοποίηση
- `5-browser-extension/README.md` - Ανάπτυξη επέκτασης περιηγητή
- `6-space-game/README.md` - Ανάπτυξη παιχνιδιού με Canvas
- `9-chat-project/README.md` - Έργο βοηθού συνομιλίας AI
### Δομή Monorepo
Αν και δεν είναι παραδοσιακό monorepo, αυτό το αποθετήριο περιέχει πολλαπλά ανεξάρτητα έργα:
- Κάθε μάθημα είναι αυτόνομο
- Τα έργα δεν μοιράζονται εξαρτήσεις
- Μπορείτε να δουλεύετε σε μεμονωμένα έργα χωρίς να επηρεάζετε άλλα
- Κλωνοποιήστε ολόκληρο το αποθετήριο για πλήρη εμπειρία προγράμματος σπουδών
Αν και δεν είναι παραδοσιακό monorepo, αυτό το αποθετήριο περιέχει πολλαπλά ανεξάρτητα έργα:
- Κάθε μάθημα είναι αυτόνομο
- Τα έργα δεν μοιράζονται εξαρτήσεις
- Μπορείτε να εργαστείτε σε μεμονωμένα έργα χωρίς να επηρεάζονται τα υπόλοιπα
- Κλωνοποιήστε ολόκληρο το repo για πλήρη εμπειρία προγράμματος
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Αποποίηση Ευθύνης**:
Αυτό το έγγραφο έχει μεταφραστεί χρησιμοποιώντας την υπηρεσία αυτόματης μετάφρασης AI [Co-op Translator](https://github.com/Azure/co-op-translator). Παρόλο που προσπαθούμε για ακρίβεια, παρακαλούμε να γνωρίζετε ότι οι αυτόματες μεταφράσεις ενδέχεται να περιέχουν λάθη ή ανακρίβειες. Το πρωτότυπο έγγραφο στη γλώσσα προέλευσής του πρέπει να θεωρείται η αυθεντική πηγή. Για κρίσιμες πληροφορίες, συνιστάται επαγγελματική ανθρώπινη μετάφραση. Δεν φέρουμε ευθύνη για τυχόν παρανοήσεις ή λανθασμένες ερμηνείες που προκύπτουν από τη χρήση αυτής της μετάφρασης.
**Αποποίηση ευθυνών**:
Αυτό το έγγραφο έχει μεταφραστεί χρησιμοποιώντας την υπηρεσία μετάφρασης με τεχνητή νοημοσύνη [Co-op Translator](https://github.com/Azure/co-op-translator). Παρόλο που προσπαθούμε για ακρίβεια, παρακαλούμε να γνωρίζετε ότι οι αυτοματοποιημένες μεταφράσεις μπορεί να περιέχουν λάθη ή ανακρίβειες. Το πρωτότυπο έγγραφο στη μητρική του γλώσσα πρέπει να θεωρείται η επίσημη πηγή. Για κρίσιμες πληροφορίες συνιστάται η επαγγελματική μετάφραση από ανθρώπους. Δεν φέρουμε ευθύνη για τυχόν παρεξηγήσεις ή λανθασμένες ερμηνείες που απορρέουν από τη χρήση αυτής της μετάφρασης.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -10,29 +10,29 @@
[![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG)
# Ανάπτυξη Ιστού για Αρχαρίους - Ένα Πρόγραμμα Σπουδών
# Ανάπτυξη Ιστοσελίδων για Αρχάριους - Ένα Πρόγραμμα Σπουδών
Μάθετε τα βασικά της ανάπτυξης ιστοσελίδων με το ολοκληρωμένο 12-εβδομαδιαίο μάθημά μας από τους Microsoft Cloud Advocates. Κάθε ένα από τα 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. **Δημιουργήστε Fork το Αποθετήριο**: Κάντε κλικ [![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)
1. **Δημιουργήστε Fork στο Αποθετήριο**: Πατήστε [![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 Discord και γνωρίστε ειδικούς και άλλους προγραμματιστές**](https://discord.com/invite/ByRwuEEgH4)
### 🌐 Υποστήριξη Πολλαπλών Γλωσσών
### 🌐 Υποστήριξη Πολλών Γλωσσών
#### Υποστηρίζεται μέσω GitHub Action (Αυτοματοποιημένα & Πάντα Ενημερωμένα)
#### Υποστηρίζεται μέσω GitHub Action (Αυτοματοποιημένο & Πάντα Ενημερωμένο)
<!-- 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](./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](../nl/README.md) | [Estonian](../et/README.md) | [Finnish](../fi/README.md) | [French](../fr/README.md) | [German](../de/README.md) | [Greek](./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)
> **Προτιμάτε να κλωνοποιήσετε τοπικά;**
> **Προτιμάτε να Κλωνοποιήσετε τοπικά;**
>
> Αυτό το αποθετήριο περιλαμβάνει πάνω από 50 μεταφράσεις γλωσσών, που αυξάνουν σημαντικά το μέγεθος λήψης. Για να κλωνοποιήσετε χωρίς μεταφράσεις, χρησιμοποιήστε τον αραιό έλεγχο:
> Αυτό το αποθετήριο περιλαμβάνει πάνω από 50 μεταφράσεις που αυξάνουν σημαντικά το μέγεθος λήψης. Για κλωνοποίηση χωρίς μεταφράσεις, χρησιμοποιήστε sparse checkout:
>
> **Bash / macOS / Linux:**
> ```bash
@ -51,39 +51,39 @@
> Αυτό σας δίνει όλα όσα χρειάζεστε για να ολοκληρώσετε το μάθημα με πολύ πιο γρήγορη λήψη.
<!-- 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=Άνοιγμα%20στο%20Visual%20Studio%20Code&labelColor=2c2c32&color=007acc&logoColor=007acc)](https://open.vscode.dev/microsoft/Web-Dev-For-Beginners)
[![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)
#### 🧑‍🎓 _Είστε φοιτητής;_
#### 🧑‍🎓 _Είσαι φοιτητής;_
Επισκεφθείτε τη [**Σελίδα για Φοιτητές**](https://docs.microsoft.com/learn/student-hub/?WT.mc_id=academic-77807-sagibbon) όπου θα βρείτε πόρους για αρχάριους, πακέτα για φοιτητές και ακόμα τρόπους να πάρετε δωρεάν κουπόνι πιστοποιητικού. Αυτή είναι η σελίδα που θέλετε να αποθηκεύσετε στα αγαπημένα σας και να ελέγχετε περιοδικά καθώς ανανεώνουμε το περιεχόμενο κάθε μήνα.
Επισκεφθείτε τη σελίδα [**Student Hub**](https://docs.microsoft.com/learn/student-hub/?WT.mc_id=academic-77807-sagibbon) όπου θα βρείτε πόρους για αρχάριους, πακέτα για φοιτητές και ακόμη τρόπους να αποκτήσετε δωρεάν κουπόνι πιστοποίησης. Αυτή είναι η σελίδα που αξίζει να αποθηκεύσετε στα αγαπημένα και να ελέγχετε τακτικά καθώς ανανεώνουμε το περιεχόμενο κάθε μήνα.
### 📣 Ανακοίνωση - Νέες προκλήσεις λειτουργίας GitHub Copilot Agent για να ολοκληρώσετε!
### 📣 Ανακοίνωση - Νέες Προκλήσεις λειτουργίας GitHub Copilot Agent για ολοκλήρωση!
Νέα πρόκληση προστέθηκε, ψάξτε για "GitHub Copilot Agent Challenge 🚀" στα περισσότερα κεφάλαια. Αυτή είναι μια νέα πρόκληση για να ολοκληρώσετε χρησιμοποιώντας το GitHub Copilot και τη λειτουργία Agent. Αν δεν έχετε χρησιμοποιήσει τη λειτουργία Agent πριν, μπορεί όχι μόνο να δημιουργεί κείμενο αλλά και να δημιουργεί και να επεξεργάζεται αρχεία, να εκτελεί εντολές και άλλα.
Προστέθηκε νέα Πρόκληση, αναζητήστε "GitHub Copilot Agent Challenge 🚀" στις περισσότερες ενότητες. Πρόκειται για νέα πρόκληση για να ολοκληρώσετε χρησιμοποιώντας το GitHub Copilot και τη λειτουργία Agent. Αν δεν έχετε χρησιμοποιήσει τη λειτουργία Agent πριν, αυτή μπορεί όχι μόνο να δημιουργεί κείμενο αλλά και να δημιουργεί και να επεξεργάζεται αρχεία, να εκτελεί εντολές και άλλα.
### 📣 Ανακοίνωση - _Νέο Έργο για κατασκευή με τη χρήση Generative AI_
### 📣 Ανακοίνωση - _Νέο Έργο για δημιουργία με τη χρήση Γενετικής Τεχνητής Νοημοσύνης_
Πρόσφατα προστέθηκε ένα νέο έργο βοηθού AI, δείτε το [έργο](./9-chat-project/README.md)
Μόλις προστέθηκε νέο έργο AI Assistant, ρίξτε μια ματιά στο [έργο](./9-chat-project/README.md)
### 📣 Ανακοίνωση - _Νέο πρόγραμμα σπουδών_ για Generative AI για JavaScript μόλις κυκλοφόρησε
### 📣 Ανακοίνωση - _Νέο Πρόγραμμα Σπουδών_ για Γενετική Τεχνητή Νοημοσύνη για JavaScript μόλις κυκλοφόρησε
Μην χάσετε το νέο μας πρόγραμμα σπουδών για Generative AI!
Μην χάσετε το νέο μας πρόγραμμα Γενετικής Τεχνητής Νοημοσύνης!
Επισκεφθείτε [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course) για να ξεκινήσετε!
![Background](../../translated_images/el/background.148a8d43afde5730.webp)
- Μαθήματα που καλύπτουν από τα βασικά μέχρι το RAG.
- Αλληλεπιδράστε με ιστορικούς χαρακτήρες χρησιμοποιώντας GenAI και την companion εφαρμογή μας.
- Μαθήματα που καλύπτουν τα πάντα από τα βασικά έως RAG.
- Αλληλεπιδράστε με ιστορικούς χαρακτήρες χρησιμοποιώντας το GenAI και την εφαρμογή συνοδός μας.
- Διασκεδαστική και συναρπαστική αφήγηση, θα ταξιδεύετε στο χρόνο!
![character](../../translated_images/el/character.5c0dd8e067ffd693.webp)
Κάθε μάθημα περιλαμβάνει ανάθεση για ολοκλήρωση, έλεγχο γνώσεων και πρόκληση που σας καθοδηγούν στην εκμάθηση θεμάτων όπως:
- Πώς να δημιουργείτε prompts και μηχανική prompts
Κάθε μάθημα περιλαμβάνει μια εργασία για ολοκλήρωση, έναν έλεγχο γνώσεων και μια πρόκληση που θα σας καθοδηγήσει στην εκμάθηση θεμάτων όπως:
- Δημιουργία προτροπών και τεχνική prompt engineering
- Δημιουργία εφαρμογών κειμένου και εικόνας
- Εφαρμογές αναζήτησης
@ -93,130 +93,130 @@
## 🌱 Ξεκινώντας
> **Καθηγητές**, έχουμε [συμπεριλάβει ορισμένες προτάσεις](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 το Αποθετήριο**: Κάντε κλικ στο κουμπί "Fork" στην επάνω δεξιά γωνία αυτής της σελίδας.
1. **Δημιουργήστε Fork στο Αποθετήριο**: Πατήστε το κουμπί "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/el/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>
```
2. Ανοίξτε το φάκελο στο Visual Studio Code. Μπορείτε να το κάνετε κάνοντας κλικ στο **File** > **Open Folder** και επιλέγοντας το φάκελο που μόλις κλωνοποιήσατε.
2. Ανοίξτε το φάκελο στο Visual Studio Code. Μπορείτε να το κάνετε αυτό πατώντας **File** > **Open Folder** και επιλέγοντας το φάκελο που μόλις αντιγράψατε.
> Προτεινόμενες επεκτάσεις Visual Studio Code:
> Προτεινόμενες επεκτάσεις για το 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) - για να σας βοηθήσει να γράφετε κώδικα πιο γρήγορα
> * [Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot&WT.mc_id=academic-77807-sagibbon) - για να σας βοηθά να γράφετε κώδικα πιο γρήγορα
## 📂 Κάθε μάθημα περιλαμβάνει:
- προαιρετικό σκιτσάκι
- προαιρετικό σκίτσο
- προαιρετικό συμπληρωματικό βίντεο
- προ-μαθησιακό quiz για προθέρμανση
- προθέρμανση με quiz πριν το μάθημα
- γραπτό μάθημα
- για μαθήματα βασισμένα σε έργα, οδηγούς βήμα προς βήμα για την κατασκευή του έργου
- για μαθήματα με έργα, οδηγούς βήμα-βήμα για το πώς να φτιάξετε το έργο
- ελέγχους γνώσης
- μια πρόκληση
- συμπληρωματική ανάγνωση
- ανάθεση
- [μετα-μαθησιακό quiz](https://ff-quizzes.netlify.app/web/)
- ανάθεση εργασίας
- [quiz μετά το μάθημα](https://ff-quizzes.netlify.app/web/)
> **Σημείωση σχετικά με τα quiz**: Όλα τα quiz περιέχονται στο φάκελο Quiz-app, συνολικά 48 quiz με τρεις ερωτήσεις το καθένα. Είναι διαθέσιμα [εδώ](https://ff-quizzes.netlify.app/web/), η εφαρμογή quiz μπορεί να τρέξει τοπικά ή να αναπτυχθεί στο Azure· ακολουθήστε τις οδηγίες στον φάκελο `quiz-app`.
> **Μια σημείωση για τα quiz**: Όλα τα quiz περιέχονται στον φάκελο Quiz-app, συνολικά 48 quiz με τρεις ερωτήσεις το καθένα. Είναι διαθέσιμα [εδώ](https://ff-quizzes.netlify.app/web/) και η εφαρμογή quiz μπορεί να τρέξει τοπικά ή να αναπτυχθεί στο Azure· ακολουθήστε τις οδηγίες στον φάκελο `quiz-app`.
## 🗃️ Μαθήματα
| | Όνομα Έργου | Διδασκόμενες Έννοιες | Μαθησιακοί Στόχοι | Συνδεδεμένο Μάθημα | Συγγραφέας |
| | Όνομα Έργου | Διδακτικές Έννοιες | Στόχοι Μάθησης | Συνδεδεμένο Μάθημα | Συγγραφέας |
| :-: | :------------------------------------------------------: | :--------------------------------------------------------------------: | ----------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------: | :---------------------: |
| 01 | Ξεκινώντας | Εισαγωγή στον Προγραμματισμό και τα Εργαλεία της Εργασίας | Μάθετε τις βασικές αρχές πίσω από τις περισσότερες γλώσσες προγραμματισμού και για το λογισμικό που βοηθά τους επαγγελματίες προγραμματιστές να κάνουν τη δουλειά τους | [Εισαγωγή στις Γλώσσες Προγραμματισμού και Εργαλεία](./1-getting-started-lessons/1-intro-to-programming-languages/README.md) | Jasmine |
| 02 | Ξεκινώντας | Βασικά του GitHub, περιλαμβάνει συνεργασία με ομάδα | Πώς να χρησιμοποιείτε το GitHub στο έργο σας, πώς να συνεργάζεστε με άλλους σε βάση κώδικα | [Εισαγωγή στο GitHub](./1-getting-started-lessons/2-github-basics/README.md) | Floor |
| 03 | Ξεκινώντας | Προσβασιμότητα | Μάθετε τα βασικά της προσβασιμότητας ιστού | [Βασικά της Προσβασιμότητας](./1-getting-started-lessons/3-accessibility/README.md) | Christopher |
| 04 | Βασικά JS | Τύποι Δεδομένων JavaScript | Τα βασικά των τύπων δεδομένων JavaScript | [Τύποι Δεδομένων](./2-js-basics/1-data-types/README.md) | Jasmine |
| 05 | Βασικά JS | Συναρτήσεις και Μέθοδοι | Μάθετε για τις συναρτήσεις και μεθόδους για τη διαχείριση της ροής λογικής μιας εφαρμογής | [Συναρτήσεις και Μέθοδοι](./2-js-basics/2-functions-methods/README.md) | Jasmine και Christopher |
| 06 | Βασικά JS | Λήψη Αποφάσεων με JS | Μάθετε πώς να δημιουργείτε συνθήκες στον κώδικά σας χρησιμοποιώντας μεθόδους λήψης αποφάσεων | [Λήψη Αποφάσεων](./2-js-basics/3-making-decisions/README.md) | Jasmine |
| 07 | Βασικά JS | Πίνακες και Βρόχοι | Εργαστείτε με δεδομένα χρησιμοποιώντας πίνακες και βρόχους σε JavaScript | [Πίνακες και Βρόχοι](./2-js-basics/4-arrays-loops/README.md) | Jasmine |
| 08 | [Terrarium](./3-terrarium/solution/README.md) | HTML στην Πράξη | Δημιουργήστε το HTML για ένα διαδικτυακό terrarium, εστιάζοντας στην κατασκευή μιας διάταξης | [Εισαγωγή στο HTML](./3-terrarium/1-intro-to-html/README.md) | Jen |
| 09 | [Terrarium](./3-terrarium/solution/README.md) | CSS στην Πράξη | Δημιουργήστε το CSS για το στυλ του διαδικτυακού terrarium, εστιάζοντας στα βασικά του CSS, συμπεριλαμβανομένης της ανταπόκρισης της σελίδας | [Εισαγωγή στο CSS](./3-terrarium/2-intro-to-css/README.md) | Jen |
| 10 | [Terrarium](./3-terrarium/solution/README.md) | Κλεισίματα JavaScript, χειρισμός DOM | Δημιουργήστε τον JavaScript κώδικα για τη λειτουργία του terrarium ως διεπαφή drag/drop, εστιάζοντας στα κλεισίματα και χειρισμό DOM | [Κλεισίματα JavaScript, χειρισμός DOM](./3-terrarium/3-intro-to-DOM-and-closures/README.md) | Jen |
| 11 | [Παιχνίδι Πληκτρολόγησης](./4-typing-game/solution/README.md) | Δημιουργία Παιχνιδιού Πληκτρολόγησης | Μάθετε πώς να χρησιμοποιείτε τα γεγονότα πληκτρολογίου για να κατευθύνετε τη λογική της εφαρμογής JavaScript | [Προγραμματισμός με βάση τα γεγονότα](./4-typing-game/typing-game/README.md) | Christopher |
| 12 | [Πράσινη Επέκταση Περιηγητή](./5-browser-extension/solution/README.md) | Εργασία με Περιηγητές | Μάθετε πώς λειτουργούν οι περιηγητές, την ιστορία τους και πώς να στήσετε τα πρώτα στοιχεία επέκτασης περιηγητή | [Σχετικά με τους Περιηγητές](./5-browser-extension/1-about-browsers/README.md) | Jen |
| 13 | [Πράσινη Επέκταση Περιηγητή](./5-browser-extension/solution/README.md) | Δημιουργία φόρμας, κλήση API και αποθήκευση μεταβλητών στο τοπικό αποθηκευτικό χώρο | Δημιουργήστε τα στοιχεία JavaScript της επέκτασης περιηγητή σας για να καλέσετε ένα API χρησιμοποιώντας μεταβλητές αποθηκευμένες τοπικά | [APIs, Φόρμες και Τοπική Αποθήκευση](./5-browser-extension/2-forms-browsers-local-storage/README.md) | Jen |
| 14 | [Πράσινη Επέκταση Περιηγητή](./5-browser-extension/solution/README.md) | Φόντινες διεργασίες στον περιηγητή, απόδοση ιστοσελίδας | Χρησιμοποιήστε τις φόντινες διεργασίες του περιηγητή για να διαχειριστείτε το εικονίδιο της επέκτασης· μάθετε για την απόδοση του ιστού και ορισμένες βελτιστοποιήσεις | [Φόντινες εργασίες και Απόδοση](./5-browser-extension/3-background-tasks-and-performance/README.md) | Jen |
| 15 | [Παιχνίδι Διαστήματος](./6-space-game/solution/README.md) | Προχωρημένη Ανάπτυξη Παιχνιδιών με JavaScript | Μάθετε για την Κληρονομικότητα χρησιμοποιώντας και Κλάσεις και Σύνθεση και το πρότυπο Pub/Sub, ως προετοιμασία για τη δημιουργία παιχνιδιού | [Εισαγωγή στην Προχωρημένη Ανάπτυξη Παιχνιδιών](./6-space-game/1-introduction/README.md) | Chris |
| 16 | [Παιχνίδι Διαστήματος](./6-space-game/solution/README.md) | Σχεδίαση στον καμβά | Μάθετε για το Canvas API, που χρησιμοποιείται για να ζωγραφίζετε στοιχεία σε οθόνη | [Σχεδίαση στον Καμβά](./6-space-game/2-drawing-to-canvas/README.md) | Chris |
| 17 | [Παιχνίδι Διαστήματος](./6-space-game/solution/README.md) | Μετακίνηση στοιχείων στην οθόνη | Ανακαλύψτε πώς τα στοιχεία μπορούν να αποκτούν κίνηση χρησιμοποιώντας τα καρτεσιανά συντεταγμένα και το Canvas API | [Μετακίνηση Στοιχείων](./6-space-game/3-moving-elements-around/README.md) | Chris |
| 18 | [Παιχνίδι Διαστήματος](./6-space-game/solution/README.md) | Ανίχνευση συγκρούσεων | Κάντε τα στοιχεία να συγκρούονται και να αντιδρούν το ένα στο άλλο χρησιμοποιώντας πατήματα και παρέχετε λειτουργία ψύξης για τη βελτίωση της απόδοσης του παιχνιδιού | [Ανίχνευση Συγκρούσεων](./6-space-game/4-collision-detection/README.md) | Chris |
| 19 | [Παιχνίδι Διαστήματος](./6-space-game/solution/README.md) | Διατήρηση σκορ | Εκτελέστε μαθηματικούς υπολογισμούς με βάση την κατάσταση και απόδοση του παιχνιδιού | [Διατήρηση Σκορ](./6-space-game/5-keeping-score/README.md) | Chris |
| 20 | [Παιχνίδι Διαστήματος](./6-space-game/solution/README.md) | Τερματισμός και επανεκκίνηση παιχνιδιού | Μάθετε για τον τερματισμό και την επανεκκίνηση του παιχνιδιού, συμπεριλαμβανομένου του καθαρισμού πόρων και της επαναφοράς τιμών μεταβλητών | [Η Συνθήκη Τερματισμού](./6-space-game/6-end-condition/README.md) | Chris |
| 21 | [Εφαρμογή Τραπεζικής](./7-bank-project/solution/README.md) | Πρότυπα HTML και Διαδρομές σε μια Ιστοσελίδα | Μάθετε πώς να δημιουργήσετε τη δομή μιας πολυσέλιδης ιστοσελίδας χρησιμοποιώντας δρομολόγηση και πρότυπα HTML | [Πρότυπα HTML και Διαδρομές](./7-bank-project/1-template-route/README.md) | Yohan |
| 22 | [Εφαρμογή Τραπεζικής](./7-bank-project/solution/README.md) | Δημιουργία Φόρμας Εισόδου και Εγγραφής | Μάθετε για τη δημιουργία φορμών και τη διαχείριση ρουτινών ελέγχου | [Φόρμες](./7-bank-project/2-forms/README.md) | Yohan |
| 23 | [Εφαρμογή Τραπεζικής](./7-bank-project/solution/README.md) | Μέθοδοι Λήψης και Χρήσης Δεδομένων | Πώς τα δεδομένα ρέουν μέσα κι έξω από την εφαρμογή σας, πώς να τα λαμβάνετε, να τα αποθηκεύετε και να τα απορρίπτετε | [Δεδομένα](./7-bank-project/3-data/README.md) | Yohan |
| 24 | [Εφαρμογή Τραπεζικής](./7-bank-project/solution/README.md) | Έννοιες Διαχείρισης Κατάστασης | Μάθετε πώς η εφαρμογή σας διατηρεί κατάσταση και πώς να τη διαχειρίζεστε προγραμματιστικά | [Διαχείριση Κατάστασης](./7-bank-project/4-state-management/README.md) | Yohan |
| 25 | [Κώδικας Browser/VScode](../../8-code-editor) | Εργασία με το VScode | Μάθετε πώς να χρησιμοποιείτε έναν επεξεργαστή κώδικα | [Χρήση του επεξεργαστή κώδικα VScode](./8-code-editor/1-using-a-code-editor/README.md) | Chris |
| 26 | [Βοηθοί Τεχνητής Νοημοσύνης](./9-chat-project/README.md) | Εργασία με ΤΝ | Μάθετε πώς να φτιάξετε τον δικό σας βοηθό ΤΝ | [Έργο βοηθού ΤΝ](./9-chat-project/README.md) | Chris |
| 01 | Ξεκινώντας | Εισαγωγή στον Προγραμματισμό και τα Εργαλεία της Επαγγελματίας | Μάθετε τις βασικές αρχές που διέπουν τις περισσότερες γλώσσες προγραμματισμού και για το λογισμικό που βοηθά τους επαγγελματίες προγραμματιστές να κάνουν τη δουλειά τους | [Εισαγωγή στις Γλώσσες Προγραμματισμού και Εργαλεία](./1-getting-started-lessons/1-intro-to-programming-languages/README.md) | Jasmine |
| 02 | Ξεκινώντας | Βασικά του GitHub, περιλαμβάνει συνεργασία με ομάδα | Πώς να χρησιμοποιείτε το GitHub στο έργο σας και πώς να συνεργάζεστε με άλλους σε μια βάση κώδικα | [Εισαγωγή στο GitHub](./1-getting-started-lessons/2-github-basics/README.md) | Floor |
| 03 | Ξεκινώντας | Προσβασιμότητα | Μάθετε τα βασικά της προσβασιμότητας στο διαδίκτυο | [Βασικά Προσβασιμότητας](./1-getting-started-lessons/3-accessibility/README.md) | Christopher |
| 04 | Βασικά JS | Τύποι Δεδομένων JavaScript | Τα βασικά για τους τύπους δεδομένων στη JavaScript | [Τύποι Δεδομένων](./2-js-basics/1-data-types/README.md) | Jasmine |
| 05 | Βασικά JS | Συναρτήσεις και Μέθοδοι | Μάθετε για συναρτήσεις και μεθόδους για τη διαχείριση της ροής λογικής μιας εφαρμογής | [Συναρτήσεις και Μέθοδοι](./2-js-basics/2-functions-methods/README.md) | Jasmine και Christopher |
| 06 | Βασικά JS | Λήψη Αποφάσεων με JS | Μάθετε πώς να δημιουργείτε συνθήκες στον κώδικα σας χρησιμοποιώντας μεθόδους λήψης αποφάσεων | [Λήψη Αποφάσεων](./2-js-basics/3-making-decisions/README.md) | Jasmine |
| 07 | Βασικά JS | Πίνακες και Βρόχοι | Εργαστείτε με δεδομένα χρησιμοποιώντας πίνακες και βρόχους στη JavaScript | [Πίνακες και Βρόχοι](./2-js-basics/4-arrays-loops/README.md) | Jasmine |
| 08 | [Terrarium](./3-terrarium/solution/README.md) | HTML στην Πράξη | Δημιουργήστε το HTML για να φτιάξετε ένα διαδικτυακό terrarium, εστιάζοντας στη δημιουργία διάταξης | [Εισαγωγή στο HTML](./3-terrarium/1-intro-to-html/README.md) | Jen |
| 09 | [Terrarium](./3-terrarium/solution/README.md) | CSS στην Πράξη | Δημιουργήστε το CSS για να στυλιζάρετε το διαδικτυακό terrarium, εστιάζοντας στα βασικά του CSS και το responsive design | [Εισαγωγή στο CSS](./3-terrarium/2-intro-to-css/README.md) | Jen |
| 10 | [Terrarium](./3-terrarium/solution/README.md) | Κλεισίματα JavaScript, χειρισμός DOM | Δημιουργήστε το JavaScript ώστε το terrarium να λειτουργεί με drag/drop interface, εστιάζοντας στα closures και χειρισμό DOM | [Κλεισίματα JavaScript, χειρισμός DOM](./3-terrarium/3-intro-to-DOM-and-closures/README.md) | Jen |
| 11 | [Παιχνίδι Πληκτρολόγησης](./4-typing-game/solution/README.md) | Δημιουργία Παιχνιδιού Πληκτρολόγησης | Μάθετε πώς να χρησιμοποιείτε συμβάντα πληκτρολογίου για να καθοδηγήσετε τη λογική της εφαρμογής JavaScript σας | [Προγραμματισμός με συμβάντα](./4-typing-game/typing-game/README.md) | Christopher |
| 12 | [Πράσινη Επέκταση Περιηγητή](./5-browser-extension/solution/README.md) | Εργασία με Περιηγητές | Μάθετε πώς λειτουργούν οι περιηγητές, την ιστορία τους, και πώς να στήσετε τα πρώτα στοιχεία μιας επέκτασης περιηγητή | [Σχετικά με τους Περιηγητές](./5-browser-extension/1-about-browsers/README.md) | Jen |
| 13 | [Πράσινη Επέκταση Περιηγητή](./5-browser-extension/solution/README.md) | Δημιουργία φόρμας, κλήση API και αποθήκευση μεταβλητών τοπικά | Δημιουργήστε τα JavaScript στοιχεία της επέκτασης περιηγητή σας για να καλέσετε ένα API χρησιμοποιώντας μεταβλητές αποθηκευμένες τοπικά | [APIs, Φόρμες και Τοπική Αποθήκευση](./5-browser-extension/2-forms-browsers-local-storage/README.md) | Jen |
| 14 | [Πράσινη Επέκταση Περιηγητή](./5-browser-extension/solution/README.md) | Παρασκηνιακές διεργασίες στον περιηγητή, απόδοση στο web | Χρησιμοποιήστε τις παρασκηνιακές διεργασίες του περιηγητή για να διαχειριστείτε το εικονίδιο της επέκτασης· μάθετε για την απόδοση και βελτιστοποιήσεις | [Παρασκηνιακές Εργασίες και Απόδοση](./5-browser-extension/3-background-tasks-and-performance/README.md) | Jen |
| 15 | [Παιχνίδι Διαστήματος](./6-space-game/solution/README.md) | Προχωρημένη Ανάπτυξη Παιχνιδιού με JavaScript | Μάθετε για την κληρονομικότητα μέσω Κλάσεων και Σύνθεσης καθώς και το μοτίβο Pub/Sub, προετοιμαζόμενοι για ανάπτυξη παιχνιδιού | [Εισαγωγή στην Προχωρημένη Ανάπτυξη Παιχνιδιού](./6-space-game/1-introduction/README.md) | Chris |
| 16 | [Παιχνίδι Διαστήματος](./6-space-game/solution/README.md) | Σχεδίαση σε καμβά | Μάθετε για το Canvas API, που χρησιμοποιείται για τη σχεδίαση στοιχείων σε οθόνη | [Σχεδίαση σε Καμβά](./6-space-game/2-drawing-to-canvas/README.md) | Chris |
| 17 | [Παιχνίδι Διαστήματος](./6-space-game/solution/README.md) | Μετακίνηση στοιχείων στην οθόνη | Ανακαλύψτε πώς τα στοιχεία μπορούν να κινηθούν χρησιμοποιώντας καρτεσιανές συντεταγμένες και το Canvas API | [Μετακίνηση Στοιχείων](./6-space-game/3-moving-elements-around/README.md) | Chris |
| 18 | [Παιχνίδι Διαστήματος](./6-space-game/solution/README.md) | Ανίχνευση Σύγκρουσης | Κάντε τα στοιχεία να συγκρούονται και να αντιδρούν μεταξύ τους χρησιμοποιώντας πατήματα πλήκτρων και παρέχετε συνάρτηση cooldown για την απόδοση του παιχνιδιού | [Ανίχνευση Σύγκρουσης](./6-space-game/4-collision-detection/README.md) | Chris |
| 19 | [Παιχνίδι Διαστήματος](./6-space-game/solution/README.md) | Καταμέτρηση Βαθμολογίας | Πραγματοποιήστε μαθηματικούς υπολογισμούς βάσει της κατάστασης και της απόδοσης του παιχνιδιού | [Καταμέτρηση Βαθμολογίας](./6-space-game/5-keeping-score/README.md) | Chris |
| 20 | [Παιχνίδι Διαστήματος](./6-space-game/solution/README.md) | Τερματισμός και επανεκκίνηση του παιχνιδιού | Μάθετε για τον τερματισμό και την επανεκκίνηση του παιχνιδιού, συμπεριλαμβανομένου του καθαρισμού πόρων και της επαναφοράς μεταβλητών | [Ο Όρος Τερματισμού](./6-space-game/6-end-condition/README.md) | Chris |
| 21 | [Εφαρμογή Τραπεζικής](./7-bank-project/solution/README.md) | Πρότυπα HTML και Διαδρομές σε Web Εφαρμογή | Μάθετε πώς να δημιουργήσετε τη δομή μιας πολυσέλιδης ιστοσελίδας χρησιμοποιώντας διαδρομές και πρότυπα HTML | [Πρότυπα HTML και Διαδρομές](./7-bank-project/1-template-route/README.md) | Yohan |
| 22 | [Εφαρμογή Τραπεζικής](./7-bank-project/solution/README.md) | Δημιουργία Φόρμας Εισόδου και Εγγραφής | Μάθετε για τη δημιουργία φορμών και διαχείριση ελέγχων εγκυρότητας | [Φόρμες](./7-bank-project/2-forms/README.md) | Yohan |
| 23 | [Εφαρμογή Τραπεζικής](./7-bank-project/solution/README.md) | Μέθοδοι Ανάκτησης και Χρήσης Δεδομένων | Πώς ρέουν τα δεδομένα μέσα και έξω από την εφαρμογή σας, πώς να τα ανακτάτε, αποθηκεύετε και απορρίπτετε | [Δεδομένα](./7-bank-project/3-data/README.md) | Yohan |
| 24 | [Εφαρμογή Τραπεζικής](./7-bank-project/solution/README.md) | Έννοιες Διαχείρισης Κατάστασης | Μάθετε πώς η εφαρμογή σας διατηρεί την κατάσταση και πώς να τη διαχειρίζεστε προγραμματιστικά | [Διαχείριση Κατάστασης](./7-bank-project/4-state-management/README.md) | Yohan |
| 25 | [Κώδικας Browser/VScode](../../8-code-editor) | Εργασία με VScode | Μάθετε πώς να χρησιμοποιείτε έναν κειμενογράφο κώδικα| [Χρήση του Visual Studio Code](./8-code-editor/1-using-a-code-editor/README.md) | Chris |
| 26 | [Βοηθοί Τεχνητής Νοημοσύνης](./9-chat-project/README.md) | Εργασία με Τεχνητή Νοημοσύνη | Μάθετε πώς να δημιουργήσετε τον δικό σας βοηθό AI | [Έργο Βοηθού AI](./9-chat-project/README.md) | Chris |
## 🏫 Παιδαγωγική
Το πρόγραμμα σπουδών μας έχει σχεδιαστεί με δύο βασικές παιδαγωγικές αρχές στο μυαλό:
Το πρόγραμμα σπουδών μας έχει σχεδιαστεί με δύο βασικές παιδαγωγικές αρχές κατά νου:
* μάθηση βασισμένη σε έργα
* συχνά quiz
Το πρόγραμμα διδάσκει τα βασικά του JavaScript, HTML και CSS, καθώς και τα πιο πρόσφατα εργαλεία και τεχνικές που χρησιμοποιούν οι σημερινοί προγραμματιστές ιστού. Οι σπουδαστές θα έχουν την ευκαιρία να αποκτήσουν πρακτική εμπειρία χτίζοντας ένα παιχνίδι πληκτρολόγησης, ένα εικονικό terrarium, μια φιλική προς το περιβάλλον επέκταση περιηγητή, ένα παιχνίδι τύπου space-invader και μια τραπεζική εφαρμογή για επιχειρήσεις. Μέχρι το τέλος της σειράς, οι μαθητές θα έχουν αποκτήσει σταθερή κατανόηση της ανάπτυξης ιστού.
Το πρόγραμμα διδάσκει τα θεμέλια της JavaScript, HTML και CSS, καθώς και τα πιο σύγχρονα εργαλεία και τεχνικές που χρησιμοποιούν οι σύγχρονοι προγραμματιστές ιστοσελίδων. Οι μαθητές θα έχουν την ευκαιρία να αναπτύξουν πρακτική εμπειρία δημιουργώντας ένα παιχνίδι πληκτρολόγησης, ένα εικονικό terrarium, μια οικολογική επέκταση περιηγητή, ένα παιχνίδι τύπου space-invader και μια εφαρμογή τραπεζικής για επιχειρήσεις. Μέχρι το τέλος της σειράς, οι μαθητές θα έχουν αποκτήσει μια στέρεη κατανόηση της ανάπτυξης ιστού.
> 🎓 Μπορείτε να παρακολουθήσετε τα πρώτα λίγα μαθήματα αυτού του προγράμματος σπουδών ως [Μονοπάτι Μάθησης](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)", με ορισμένους από τους συγγραφείς της να συμβάλλουν σ' αυτό το πρόγραμμα σπουδών.
Επιπλέον, ένα ανεπίσημο quiz πριν από το μάθημα θέτει τον σκοπό του μαθητή προς την εκμάθηση μιας θεματικής ενότητας, ενώ ένα δεύτερο quiz μετά το μάθημα διασφαλίζει περαιτέρω διατήρηση. Αυτό το πρόγραμμα σπουδών έχει σχεδιαστεί ώστε να είναι ευέλικτο και διασκεδαστικό και μπορεί να παρακολουθηθεί στο σύνολό του ή μεμονωμένα τμήματα. Τα έργα ξεκινούν μικρά και γίνονται όλο και πιο σύνθετα μέχρι το τέλος του δωδεκαβδομαδιαίου κύκλου.
Επιπλέον, ένα quiz χαμηλής έντασης πριν από το μάθημα θέτει την πρόθεση του μαθητή για τη μάθηση ενός θέματος, ενώ ένα δεύτερο quiz μετά το μάθημα εξασφαλίζει περαιτέρω διατήρηση γνώσεων. Το πρόγραμμα σπουδών έχει σχεδιαστεί να είναι ευέλικτο και διασκεδαστικό και μπορεί να παρακολουθηθεί ολόκληρο ή μερικώς. Τα έργα ξεκινούν μικρά και γίνονται ολοένα και πιο σύνθετα μέχρι το τέλος του 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.md) και τις οδηγίες [Συμμετοχής](CONTRIBUTING.md). Καλωσορίζουμε τις εποικοδομητικές σας παρατηρήσεις!
> Επισκεφτείτε τους [Κανόνες Συμπεριφοράς](CODE_OF_CONDUCT.md) και τις οδηγίες [Συμμετοχής](CONTRIBUTING.md). Καλωσορίζουμε τα εποικοδομητικά σας σχόλια!
## 🧭 Πρόσβαση εκτός σύνδεσης
Μπορείτε να τρέξετε αυτή την τεκμηρίωση εκτός σύνδεσης χρησιμοποιώντας το [Docsify](https://docsify.js.org/#/). Κλωνοποιήστε το αποθετήριο, [εγκαταστήστε το Docsify](https://docsify.js.org/#/quickstart) στον τοπικό σας υπολογιστή και μετά στον ριζικό φάκελο του αποθετηρίου, πληκτρολογήστε `docsify serve`. Ο ιστότοπος θα σερβιριστεί στην θύρα 3000 στο τοπικό σας μηχάνημα: `localhost:3000`.
Μπορείτε να εκτελέσετε αυτή την τεκμηρίωση χωρίς σύνδεση χρησιμοποιώντας το [Docsify](https://docsify.js.org/#/). Κάντε fork αυτό το αποθετήριο, [εγκαταστήστε το Docsify](https://docsify.js.org/#/quickstart) στον τοπικό σας υπολογιστή και στη συνέχεια στον ριζικό φάκελο αυτού του αποθετηρίου πληκτρολογήστε `docsify serve`. Η ιστοσελίδα θα σερβιριστεί στη θύρα 3000 στο localhost σας: `localhost:3000`.
## 📘 PDF
Ένα PDF με όλα τα μαθήματα μπορεί να βρεθεί [εδώ](https://microsoft.github.io/Web-Dev-For-Beginners/pdf/readme.pdf).
Ένα PDF με όλα τα μαθήματα μπορείτε να βρείτε [εδώ](https://microsoft.github.io/Web-Dev-For-Beginners/pdf/readme.pdf).
## 🎒 Άλλα Μαθήματα
Η ομάδα μας παράγει και άλλα μαθήματα! Δείτε:
Η ομάδα μας δημιουργεί και άλλα μαθήματα! Ρίξτε μια ματιά:
<!-- CO-OP TRANSLATOR OTHER COURSES START -->
### LangChain
@ -233,7 +233,7 @@
---
### Σειρά για Τη Γενετική Τεχνητή Νοημοσύνη
### 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)
@ -241,7 +241,7 @@
---
### Βασική Μάθηση
### Core Learning
[![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)
@ -252,7 +252,7 @@
---
### Σειρά Copilot
### 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,21 +260,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 -->
**Αποποίηση ευθυνών**:
Το παρόν έγγραφο έχει μεταφραστεί χρησιμοποιώντας την υπηρεσία αυτόματης μετάφρασης AI [Co-op Translator](https://github.com/Azure/co-op-translator). Παρότι προσπαθούμε για ακρίβεια, παρακαλούμε να σημειώσετε ότι οι αυτόματες μεταφράσεις ενδέχεται να περιέχουν λάθη ή ανακρίβειες. Το αρχικό έγγραφο στη μητρική του γλώσσα πρέπει να θεωρείται η αυθεντική πηγή. Για κρίσιμες πληροφορίες, συνιστάται επαγγελματική ανθρώπινη μετάφραση. Δεν φέρουμε ευθύνη για τυχόν παρεξηγήσεις ή λανθασμένες ερμηνείες που προκύπτουν από τη χρήση αυτής της μετάφρασης.
Αυτό το έγγραφο έχει μεταφραστεί χρησιμοποιώντας την υπηρεσία μετάφρασης AI [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-27T18:37:55+00:00",
"translation_date": "2026-04-06T18:38:38+00:00",
"source_file": "AGENTS.md",
"language_code": "sv"
},
@ -516,8 +516,8 @@
"language_code": "sv"
},
"README.md": {
"original_hash": "a2c9eed480687319517c08a6319e5536",
"translation_date": "2026-03-06T12:13:32+00:00",
"original_hash": "b885c87c7544109b78d6684daad6cba6",
"translation_date": "2026-04-06T18:35:19+00:00",
"source_file": "README.md",
"language_code": "sv"
},

@ -2,29 +2,29 @@
## Projektöversikt
Detta är ett utbildningsmaterial för att lära ut grundläggande webbutveckling för nybörjare. Kursplanen är en omfattande 12-veckors kurs utvecklad av Microsoft Cloud Advocates, med 24 praktiska lektioner som täcker JavaScript, CSS och HTML.
Detta är ett utbildningscurriculum-repository för att undervisa grundläggande webbutveckling för nybörjare. Curriculumet är en omfattande 12-veckors kurs utvecklad av Microsoft Cloud Advocates, med 24 praktiska lektioner som täcker JavaScript, CSS och HTML.
### Nyckelkomponenter
### Viktiga komponenter
- **Utbildningsinnehåll**: 24 strukturerade lektioner organiserade i projektbaserade moduler
- **Praktiska projekt**: Terrarium, Typningsspel, Webbläsartillägg, Rymdspel, Bankapp, Kodeditor och AI-chattassistent
- **Interaktiva quiz**: 48 quiz med 3 frågor vardera (för- och efter-lektionsbedömningar)
- **Flerspråkigt stöd**: Automatiska översättningar till 50+ språk via GitHub Actions
- **Teknologier**: HTML, CSS, JavaScript, Vue.js 3, Vite, Node.js, Express, Python (för AI-projekt)
- **Utbildningsinnehåll**: 24 strukturerade lektioner organiserade i projektbaserade moduler
- **Praktiska projekt**: Terrarium, Typningsspel, Webbläsartillägg, Rymdspel, Bankapp, Kodredigerare och AI-chattassistent
- **Interaktiva quiz**: 48 quiz med 3 frågor vardera (före/efter lektion)
- **Fler språkstöd**: Automatiska översättningar till 50+ språk via GitHub Actions
- **Teknologier**: HTML, CSS, JavaScript, Vue.js 3, Vite, Node.js, Express, Python (för AI-projekt)
### Arkitektur
- Utbildningsarkiv med lektioner organiserade per ämne
- Varje lektionsmapp innehåller README, kodexempel och lösningar
- Självständiga projekt i separata kataloger (quiz-app, olika lektionsprojekt)
- Översättningssystem via GitHub Actions (co-op-translator)
- Dokumentation serveras via Docsify och finns tillgänglig som PDF
- Utbildningsrepository med lektionbaserad struktur
- Varje lektionsmapp innehåller README, kodexempel och lösningar
- Fristående projekt i separata kataloger (quiz-app, olika lektionsprojekt)
- Översättningssystem med GitHub Actions (co-op-translator)
- Dokumentation serveras via Docsify och finns som PDF
## Setup-kommandon
## Installationskommandon
Det här arkivet är främst för konsumtion av utbildningsinnehåll. För arbete med specifika projekt:
Detta repository är huvudsakligen för konsumtion av utbildningsinnehåll. För arbete med specifika projekt:
### Huvudarkivets setup
### Huvudrepository Setup
```bash
git clone https://github.com/microsoft/Web-Dev-For-Beginners.git
@ -59,7 +59,7 @@ npm install
# Följ webbläsarspecifika instruktioner för att ladda tillägg
```
### Rymdspelprojekt
### Rymdspelsprojekt
```bash
cd 6-space-game/solution
@ -67,12 +67,12 @@ npm install
# Öppna index.html i webbläsaren eller använd Live Server
```
### Chattprojekt (Python backend)
### Chattprojekt (Python Backend)
```bash
cd 9-chat-project/solution/backend/python
pip install openai
# Sätt GITHUB_TOKEN-miljövariabeln
# Ställ in miljövariabeln GITHUB_TOKEN
python api.py
```
@ -80,107 +80,107 @@ python api.py
### För innehållsbidragare
1. **Fork:a arkivet** till ditt GitHub-konto
2. **Klona din fork** lokalt
3. **Skapa en ny branch** för dina ändringar
4. Gör ändringar i lektionsinnehåll eller kodexempel
5. Testa eventuella kodändringar i relevanta projektkataloger
6. Skicka pull requests enligt riktlinjer för bidrag
1. **Gaffla repositoryt** till ditt GitHub-konto
2. **Klona din gaffel** lokalt
3. **Skapa en ny branch** för dina ändringar
4. Gör ändringar i lektionsinnehåll eller kodexempel
5. Testa eventuella kodändringar i relevanta projektkataloger
6. Skicka pull requests enligt riktlinjer för bidrag
### För elever
1. Fork:a eller klona arkivet
2. Navigera genom lektionskatalogerna i ordning
3. Läs README-filer för varje lektion
4. Gör för-lektion quiz på https://ff-quizzes.netlify.app/web/
5. Arbeta igenom kodexempel i lektionsmappar
6. Slutför uppgifter och utmaningar
7. Gör efter-lektion quiz
1. Gaffla eller klona repositoryt
2. Navigera sekventiellt till lektionskatalogerna
3. Läs README-filer för varje lektion
4. Gör förlektion-quiz på https://ff-quizzes.netlify.app/web/
5. Arbeta med kodexempel i lektionsmapparna
6. Slutför uppgifter och utmaningar
7. Gör efterlektion-quiz
### Live-utveckling
### Livsutveckling
- **Dokumentation**: Kör `docsify serve` i roten (port 3000)
- **Quiz-app**: Kör `npm run dev` i quiz-app katalogen
- **Projekt**: Använd VS Code Live Server-extension för HTML-projekt
- **API-projekt**: Kör `npm start` i respektive API-katalog
- **Dokumentation**: Kör `docsify serve` i root (port 3000)
- **Quiz App**: Kör `npm run dev` i quiz-app-mappen
- **Projekt**: Använd VS Code Live Server-extension för HTML-projekt
- **API-projekt**: Kör `npm start` i respektive API-kataloger
## Testinstruktioner
### Testning av Quiz App
### Quiz App-testning
```bash
cd quiz-app
npm run lint # Kontrollera kodstilproblem
npm run build # Verifiera att bygget lyckas
npm run build # Verifiera att byggnaden lyckas
```
### Bank API-testning
```bash
cd 7-bank-project/api
npm run lint # Kontrollera efter kodstilproblem
npm run lint # Kontrollera kodstilproblem
node server.js # Verifiera att servern startar utan fel
```
### Allmän testmetod
- Detta är ett utbildningsarkiv utan omfattande automatiserade tester
- Manuell testning fokuserar på:
- Att kodexempel körs utan fel
- Att länkar i dokumentationen fungerar korrekt
- Att projekt byggs utan problem
- Att exempel följer bästa praxis
- Detta är ett utbildningsrepository utan omfattande automatiserade tester
- Manuell testning fokuserar på:
- Kodexempel körs utan fel
- Länkar i dokumentationen fungerar korrekt
- Projekt bygger klart utan fel
- Exempel följer bästa praxis
### Kontroll före inskickning
- Kör `npm run lint` i kataloger med package.json
- Verifiera att markdown-länkar är giltiga
- Testa kodexempel i webbläsare eller Node.js
- Kontrollera att översättningar behåller korrekt struktur
- Kör `npm run lint` i kataloger med package.json
- Verifiera att alla markdownlänkar är giltiga
- Testa kodexempel i webbläsare eller Node.js
- Kontrollera att översättningar bibehåller korrekt struktur
## Kodstilriktlinjer
### JavaScript
- Använd modern ES6+ syntax
- Följ standard ESLint-konfigurationer som finns i projekten
- Använd meningsfulla variabel- och funktionsnamn för tydlighet i utbildningen
- Lägg till kommentarer som förklarar koncept för elever
- Formatera med Prettier där det är konfigurerat
- Använd modern ES6+-syntax
- Följ standard ESLint-konfigurationer i projekten
- Använd meningsfulla variabel- och funktionsnamn för utbildningsklarhet
- Lägg till kommentarer som förklarar koncept för elever
- Formatera med Prettier där det är konfigurerat
### HTML/CSS
- Semantiska HTML5-element
- Responsiv designprinciper
- Tydlig namngivning av klasser
- Kommentarer som förklarar CSS-tekniker för elever
- Semantiska HTML5-element
- Responsiva designprinciper
- Tydliga klassnamngivningskonventioner
- Kommentarer som förklarar CSS-tekniker för elever
### Python
- PEP 8 stilriktlinjer
- Tydliga, pedagogiska kodexempel
- Typangivelser där det är hjälpsamt för inlärningen
- PEP 8-stilriktlinjer
- Tydliga, pedagogiska kodexempel
- Typanvisningar där det är hjälpsamt för lärandet
### Markdown-dokumentation
- Klar rubrikhierarki
- Kodblock med språkspecifikation
- Länkar till ytterligare resurser
- Skärmbilder och bilder i `images/`-kataloger
- Alt-text för bilder för tillgänglighet
- Tydlig rubrikhierarki
- Kodblock med språkspecifikation
- Länkar till ytterligare resurser
- Skärmdumpar och bilder i `images/`-mappar
- Alt-text för bilder för tillgänglighet
### Filorganisation
- Lektioner numrerade sekventiellt (1-getting-started-lessons, 2-js-basics, etc.)
- Varje projekt har `solution/` och ofta `start/` eller `your-work/`-kataloger
- Bilder lagras i lektonspecifika `images/`-mappar
- Översättningar i `translations/{language-code}/`-struktur
- Lektioner numrerade sekventiellt (1-getting-started-lessons, 2-js-basics, etc.)
- Varje projekt har `solution/` och ofta `start/` eller `your-work/` kataloger
- Bilder lagras i lektionsspecifika `images/`-mappar
- Översättningar i `translations/{language-code}/` struktur
## Bygg och distribution
### Quiz App distribution (Azure Static Web Apps)
### Quiz App Distribution (Azure Static Web Apps)
Quiz-appen är konfigurerad för distribution via Azure Static Web Apps:
Quiz-appen är konfigurerad för Azure Static Web Apps-distribution:
```bash
cd quiz-app
@ -188,10 +188,10 @@ npm run build # Skapar mappen dist/
# Distribuerar via GitHub Actions-arbetsflöde vid push till main
```
Azure Static Web Apps-konfiguration:
- **Appplats**: `/quiz-app`
- **Utmatningsplats**: `dist`
- **Arbetsflöde**: `.github/workflows/azure-static-web-apps-ashy-river-0debb7803.yml`
Azure Static Web Apps-konfiguration:
- **App-läge**: `/quiz-app`
- **Utmatningsplats**: `dist`
- **Arbetsflöde**: `.github/workflows/azure-static-web-apps-ashy-river-0debb7803.yml`
### Dokumentations-PDF-generering
@ -200,83 +200,83 @@ npm install # Installera docsify-to-pdf
npm run convert # Generera PDF från docs
```
### Docsify dokumentation
### Docsify-dokumentation
```bash
npm install -g docsify-cli # Installera Docsify globalt
docsify serve # Servera på localhost:3000
```
### Projekt-specifika byggen
### Projektspecifika byggprocesser
Varje projektkatalog kan ha sin egen byggprocess:
- Vue-projekt: `npm run build` skapar produktionspaket
- Statiska projekt: Ingen byggfas, serva filer direkt
Varje projektkatalog kan ha egen byggprocess:
- Vue-projekt: `npm run build` skapar produktionspaket
- Statisk projekt: Ingen byggsteg, servera filer direkt
## Pull Request-riktlinjer
### Titelformat
Använd klara, beskrivande titlar som anger ändringsområde:
- `[Quiz-app] Lägg till nytt quiz för lektion X`
- `[Lesson-3] Rättelse av stavfel i terrarium-projektet`
- `[Translation] Lägg till spansk översättning för lektion 5`
- `[Docs] Uppdatera setup-instruktioner`
Använd tydliga, beskrivande titlar som anger ändringsområde:
- `[Quiz-app] Lägg till nytt quiz för lektion X`
- `[Lesson-3] Rätta stavfel i terrariumprojekt`
- `[Translation] Lägg till spansk översättning för lektion 5`
- `[Docs] Uppdatera installationsinstruktioner`
### Obligatoriska kontroller
Innan du skickar en PR:
Innan PR skickas in:
1. **Kodkvalitet**:
- Kör `npm run lint` i berörda projektkataloger
- Åtgärda alla lintvarningar och -fel
1. **Kodkvalitet**:
- Kör `npm run lint` i berörda projektkataloger
- Fixa alla lint-fel och varningar
2. **Byggverifiering**:
- Kör `npm run build` om tillämpligt
- Se till att inga byggfel uppstår
2. **Byggverifiering**:
- Kör `npm run build` om tillämpligt
- Säkerställ inga byggfel
3. **Länkvalidering**:
- Testa alla markdown-länkar
- Verifiera att bildreferenser fungerar
3. **Länkverifiering**:
- Testa alla markdownlänkar
- Kontrollera att bildreferenser fungerar
4. **Innehållsgranskning**:
- Korrekturläs rättstavning och grammatik
- Kontrollera att kodexempel är korrekta och pedagogiska
- Verifiera att översättningar behåller ursprungligt innehåll
4. **Innehållsgranskning**:
- Korrekturläs för stavning och grammatik
- Säkerställ att kodexempel är korrekta och pedagogiska
- Verifiera att översättningar bevarar ursprungligt innehåll
### Bidragskrav
### Krav på bidrag
- Acceptera Microsoft CLA (automatisk kontroll vid första PR)
- Följ [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/)
- Se [CONTRIBUTING.md](./CONTRIBUTING.md) för detaljerade riktlinjer
- Referera till ärendenummer i PR-beskrivning vid behov
- Godkänn Microsoft CLA (automatiskt vid första PR)
- Följ [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/)
- Se [CONTRIBUTING.md](./CONTRIBUTING.md) för detaljerade riktlinjer
- Referera ärendenummer i PR-beskrivning om tillämpligt
### Granskningsprocess
- PR granskas av underhållare och community
- Pedagogisk tydlighet prioriteras
- Kodexempel ska följa aktuell bästa praxis
- Översättningar granskas för noggrannhet och kulturell anpassning
- PR granskas av underhållare och community
- Utbildningsklarhet prioriteras
- Kodexempel ska följa aktuella bästa praxis
- Översättningar granskas för korrekthet och kulturell lämplighet
## Översättningssystem
### Automatisk översättning
- Använder GitHub Actions med co-op-translator arbetsflöde
- Översätter till 50+ språk automatiskt
- Källfiler i huvuddirektiv
- Översatta filer i `translations/{language-code}/` kataloger
- Använder GitHub Actions med co-op-translator workflow
- Översätter automatiskt till 50+ språk
- Källfiler i huvudkataloger
- Översatta filer i `translations/{language-code}/` kataloger
### Lägg till manuella översättningsförbättringar
### Lägga till manuella förbättringar
1. Lokalisera fil i `translations/{language-code}/`
2. Gör förbättringar med bevarad struktur
3. Säkerställ att kodexempel förblir funktionella
4. Testa eventuellt lokaliserat quizinnehåll
1. Lokalisera fil i `translations/{language-code}/`
2. Gör förbättringar samtidigt som struktur bevaras
3. Säkerställ att kodexempel förblir fungerande
4. Testa eventuell lokaliserad quiz-innehåll
### Översättningsmetadata
Översatta filer inkluderar metadata-header:
Översatta filer inkluderar metadataheader:
```markdown
<!--
CO_OP_TRANSLATOR_METADATA:
@ -289,120 +289,120 @@ CO_OP_TRANSLATOR_METADATA:
-->
```
## Felsökning och problemlösning
## Felsökning och Problemlösning
### Vanliga problem
**Quiz-appen startar inte**:
- Kontrollera Node.js version (v14+ rekommenderas)
- Radera `node_modules` och `package-lock.json`, kör `npm install` igen
- Kontrollera portkonflikter (standard: Vite använder port 5173)
**Quiz app startar inte**:
- Kontrollera Node.js-version (v14+ rekommenderas)
- Ta bort `node_modules` och `package-lock.json`, kör `npm install` igen
- Kontrollera portkonflikter (default: Vite använder port 5173)
**API-server startar inte**:
- Säkerställ att Node.js version är tillräcklig (node >=10)
- Kontrollera om port redan används
- Kontrollera att alla beroenden installerats med `npm install`
**API-server startar inte**:
- Kontrollera Node.js-version uppfyller miniminivå (node >=10)
- Kontrollera att port ej används av annat
- Säkerställ att alla beroenden är installerade med `npm install`
**Webbläsartillägg laddas inte**:
- Kontrollera att manifest.json är korrekt formaterad
- Kontrollera webbläsarkonsolen för fel
- Följ webbläsarspecifika installationsanvisningar för tillägg
**Webbläsartillägg laddas inte**:
- Kontrollera att manifest.json är korrekt formaterad
- Kolla webbläsarkonsolen för fel
- Följ webbläsarspecifika installationsinstruktioner
**Problem med Python chattprojekt**:
- Säkerställ att OpenAI-paket installerats: `pip install openai`
- Kontrollera att miljövariabel GITHUB_TOKEN är satt
- Kontrollera behörigheter för GitHub Models
**Problem med Python chat-projekt**:
- Säkerställ att OpenAI-paket är installerat: `pip install openai`
- Verifiera att GITHUB_TOKEN miljövariabel är satt
- Kontrollera GitHub Models-åtkomstbehörigheter
**Docsify serverar inte dokumentation**:
- Installera docsify-cli globalt: `npm install -g docsify-cli`
- Kör från arkivets rotkatalog
- Kontrollera att `docs/_sidebar.md` finns
**Docsify serverar inte dokumentation**:
- Installera docsify-cli globalt: `npm install -g docsify-cli`
- Kör från repositoryts rotkatalog
- Kontrollera att `docs/_sidebar.md` finns
### Tips för utvecklingsmiljö
### Utvecklingsmiljötips
- Använd VS Code med Live Server-extension för HTML-projekt
- Installera ESLint och Prettier extensions för konsekvent formatering
- Använd browser DevTools för felsökning av JavaScript
- För Vue-projekt, installera Vue DevTools browser extension
- Använd VS Code med Live Server-extension för HTML-projekt
- Installera ESLint- och Prettier-extensions för konsekvent formatering
- Använd webbläsarens DevTools för JavaScript-felsökning
- För Vue-projekt, installera Vue DevTools-webbläsartillägg
### Prestandahänsyn
### Prestandabetraktelser
- Stort antal översatta filer (50+ språk) gör fulla kloner stora
- Använd shallow clone om du bara arbetar med innehåll: `git clone --depth 1`
- Exkludera översättningar från sökningar vid arbete med engelskt innehåll
- Byggprocesser kan vara långsamma vid första körning (npm install, Vite build)
- Stort antal översatta filer (50+ språk) gör hela klon stora
- Använd shallow clone om du bara jobbar med innehåll: `git clone --depth 1`
- Exkludera översättningar från sökningar vid arbete med engelskt innehåll
- Byggprocesser kan vara långsamma vid första körning (npm install, Vite build)
## Säkerhetshänsyn
### Miljövariabler
- API-nycklar ska aldrig committas till arkivet
- Använd `.env`-filer (som redan finns i `.gitignore`)
- Dokumentera nödvändiga miljövariabler i projektens README-filer
- API-nycklar ska aldrig committas till repository
- Använd `.env`-filer (redan i `.gitignore`)
- Dokumentera nödvändiga miljövariabler i projektens README-filer
### Python-projekt
- Använd virtuella miljöer: `python -m venv venv`
- Håll beroenden uppdaterade
- GitHub-token ska ha minimala nödvändiga behörigheter
- Använd virtuella miljöer: `python -m venv venv`
- Håll beroenden uppdaterade
- GitHub-token bör ha minimala nödvändiga behörigheter
### GitHub Models åtkomst
### GitHub Models-åtkomst
- Personliga access tokens (PAT) krävs för GitHub Models
- Tokens ska lagras som miljövariabler
- Committa aldrig tokens eller inloggningsuppgifter
- Personliga access tokens (PAT) krävs för GitHub Models
- Tokens ska sparas som miljövariabler
- Commita aldrig tokens eller autentiseringsuppgifter
## Ytterligare anteckningar
## Ytterligare anmärkningar
### Målgrupp
- Totala nybörjare i webbutveckling
- Studenter och självstudier
- Lärare som använder kursplanen i klassrum
- Innehåll är designat för tillgänglighet och gradvis färdighetsuppbyggnad
- Kompletta nybörjare inom webbutveckling
- Studenter och självstudenter
- Lärare som använder curriculum i klassrum
- Innehållet är utformat för tillgänglighet och gradvis färdighetsträning
### Pedagogisk filosofi
- Projektbaserat lärande
- Frekventa kunskapskontroller (quiz)
- Praktiska kodningsövningar
- Exempel från verkliga tillämpningar
- Fokus på grundläggande principer innan ramverk
- Projektbaserat lärande
- Frekventa kunskapskontroller (quiz)
- Praktiska programmeringsövningar
- Verklighetsnära exempel
- Fokus på grunderna före ramverk
### Underhåll av arkivet
### Underhåll av repository
- Aktiv community av elever och bidragsgivare
- Regelbundna uppdateringar av beroenden och innehåll
- Ärenden och diskussioner bevakas av underhållare
- Översättningsuppdateringar automatiseras via GitHub Actions
- Aktiv community av elever och bidragsgivare
- Regelbundna uppdateringar av beroenden och innehåll
- Ärenden och diskussioner övervakas av underhållare
- Översättningsuppdateringar automatiserade via GitHub Actions
### Relaterade resurser
- [Microsoft Learn-moduler](https://docs.microsoft.com/learn/)
- [Student Hub-resurser](https://docs.microsoft.com/learn/student-hub/)
- [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) rekommenderas för elever
- Ytterligare kurser: Generativ AI, Data Science, ML, IoT kursplaner finns
- [Microsoft Learn-moduler](https://docs.microsoft.com/learn/)
- [Student Hub-resurser](https://docs.microsoft.com/learn/student-hub/)
- [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) rekommenderas för elever
- Ytterligare kurser: Generativ AI, Data Science, ML, IoT-curricula tillgängliga
### Arbeta med specifika projekt
För detaljerade instruktioner om enskilda projekt, se README-filerna i:
- `quiz-app/README.md` - Vue 3 quizapplikation
- `7-bank-project/README.md` - Bankapplikation med autentisering
- `5-browser-extension/README.md` - Utveckling av webbläsartillägg
- `6-space-game/README.md` - Canvas-baserat spel
- `9-chat-project/README.md` - AI-chattassistentprojekt
För detaljerade instruktioner om enskilda projekt, se README-filer i:
- `quiz-app/README.md` - Vue 3 quiz-applikation
- `7-bank-project/README.md` - Bankapplikation med autentisering
- `5-browser-extension/README.md` - Utveckling av webbläsartillägg
- `6-space-game/README.md` - Canvasbaserat spelutveckling
- `9-chat-project/README.md` - AI-chattassistentprojekt
### Monorepo-struktur
Även om detta inte är ett traditionellt monorepo, innehåller arkivet flera oberoende projekt:
- Varje lektion är fristående
- Projekten delar inga beroenden
- Arbeta på individuella projekt utan att påverka andra
- Klona hela arkivet för full kursplanserfarenhet
Även om detta inte är ett traditionellt monorepo, innehåller detta repository flera oberoende projekt:
- Varje lektion är självständig
- Projekt delar inte beroenden
- Arbeta med enskilda projekt utan att påverka andra
- Klona hela repo för fullständig curriculumupplevelse
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Ansvarsfriskrivning**:
Detta dokument har översatts med hjälp av AI-översättningstjänsten [Co-op Translator](https://github.com/Azure/co-op-translator). Även om vi strävar efter noggrannhet, vänligen var medveten om att automatiska översättningar kan innehålla fel eller felaktigheter. Det ursprungliga dokumentet på dess modersmål bör anses vara den auktoritativa källan. För kritisk information rekommenderas professionell mänsklig översättning. Vi ansvarar inte för några missförstånd eller feltolkningar som uppstår från användningen av denna översättning.
**Ansvarsfriskrivning**:
Detta dokument har översatts med hjälp av AI-översättningstjänsten [Co-op Translator](https://github.com/Azure/co-op-translator). Även om vi strävar efter noggrannhet, vänligen observera att automatiska översättningar kan innehålla fel eller unøyaktigheter. Det ursprungliga dokumentet på dess ursprungliga språk bör betraktas som den auktoritativa källan. För kritisk information rekommenderas professionell mänsklig översättning. Vi ansvarar inte för eventuella missförstånd eller feltolkningar som uppstår vid användning av denna översättning.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -10,29 +10,29 @@
[![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG)
# Webb utveckling för nybörjare - En läroplan
# Webbplatsutveckling för nybörjare - En läroplan
Lär dig grunderna i webb utveckling med vår 12-veckors omfattande kurs av Microsoft Cloud Advocates. Var och en av de 24 lektionerna dyker ner i JavaScript, CSS och HTML genom praktiska projekt som terrarier, webbläsartillägg och rymdspel. Delta i quiz, diskussioner och praktiska uppgifter. Förbättra dina färdigheter och optimera din kunskapsbevarande med vår effektiva projektbaserade pedagogik. Börja din kodningsresa idag!
Lär dig grunderna i webbplatsutveckling med vår 12-veckors omfattande kurs av Microsoft Cloud Advocates. Varje av de 24 lektionerna går på djupet i JavaScript, CSS och HTML genom praktiska projekt som terrarier, webbläsartillägg och rymdspel. Engagera dig i quiz, diskussioner och praktiska uppgifter. Förbättra dina färdigheter och optimera din kunskapsbehållning med vår effektiva projektbaserade pedagogik. Starta din kodningsresa idag!
Gå med i Azure AI Foundry Discord Community
[![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG)
Följ dessa steg för att komma igång med att använda dessa resurser:
1. **Forka Repositoryt**: Klicka [![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. **Klona Repositoryt**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git`
1. **Fork:a repot**: Klicka [![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. **Klona repot**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git`
3. [**Gå med i Azure AI Foundry Discord och träffa experter och andra utvecklare**](https://discord.com/invite/ByRwuEEgH4)
### 🌐 Stöd för flera språk
### 🌐 Flerspråkigt stöd
#### Stöds via GitHub Action (Automatiserat & Alltid Uppdaterat)
<!-- 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](../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](./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](../nl/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](./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)
> **Föredrar du att klona lokalt?**
>
> Detta repository innehåller över 50 språköversättningar vilket ökar nedladdningsstorleken avsevärt. För att klona utan översättningar, använd sparsamt utcheckning:
> Detta repo inkluderar 50+ språköversättningar vilket avsevärt ökar storleken på nedladdningen. För att klona utan översättningar, använd sparsamt incheckning:
>
> **Bash / macOS / Linux:**
> ```bash
@ -51,41 +51,41 @@ Följ dessa steg för att komma igång med att använda dessa resurser:
> Detta ger dig allt du behöver för att slutföra kursen med en mycket snabbare nedladdning.
<!-- CO-OP TRANSLATOR LANGUAGES TABLE END -->
**Om du vill ha ytterligare språkstöd finns de listade [här](https://github.com/Azure/co-op-translator/blob/main/getting_started/supported-languages.md)**
**Om du önskar stöd för flera översättningsspråk finns listade [här](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)
#### 🧑‍🎓 _Är du student?_
Besök [**Student Hub-sidan**](https://docs.microsoft.com/learn/student-hub/?WT.mc_id=academic-77807-sagibbon) där du hittar nybörjarresurser, studentpaket och till och med sätt att få ett gratis certifikatvoucher. Detta är sidan du vill bokmärka och kolla in då och då eftersom vi uppdaterar innehåll varje månad.
Besök [**Student Hub-sidan**](https://docs.microsoft.com/learn/student-hub/?WT.mc_id=academic-77807-sagibbon) där du hittar nybörjarresurser, studentpaket och till och med sätt att få en gratis certifikatkupong. Detta är sidan du vill bokmärka och kolla av med jämna mellanrum eftersom vi byter ut innehåll varje månad.
### 📣 Meddelande - Nya GitHub Copilot Agent-lägesutmaningar att slutföra!
### 📣 Tillkännagivande - Nya GitHub Copilot Agent-läges utmaningar att slutföra!
Ny utmaning tillagd, leta efter "GitHub Copilot Agent Challenge 🚀" i de flesta kapitel. Det är en ny utmaning för dig att slutföra med GitHub Copilot och Agent-läget. Om du inte använt Agent-läget tidigare kan det inte bara generera text, utan även skapa och redigera filer, köra kommandon och mer.
Ny utmaning tillagd, leta efter "GitHub Copilot Agent Challenge 🚀" i de flesta kapitel. Det är en ny utmaning för dig att klara av med GitHub Copilot och Agent-läge. Om du inte har använt Agent-läget tidigare kan det inte bara generera text utan också skapa och redigera filer, köra kommandon med mera.
### 📣 Meddelande - _Nytt projekt att bygga med Generativ AI_
### 📣 Tillkännagivande - _Nytt projekt att bygga med Generativ AI_
Nytt AI-assistentprojekt just tillagt, kolla in det [projektet](./9-chat-project/README.md)
Nytt AI Assistant-projekt precis tillagt, kolla in det [projekt](./9-chat-project/README.md)
### 📣 Meddelande - _Ny läroplan_ om Generativ AI för JavaScript har just släppts
### 📣 Tillkännagivande - _Ny läroplan_ för Generativ AI för JavaScript har just släppts
Missa inte vår nya Generativ AI-läroplan!
Missa inte vår nya läroplan för Generativ AI!
Besök [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course) för att komma igång!
![Background](../../translated_images/sv/background.148a8d43afde5730.webp)
- Lektioner som täcker allt från grunder till RAG.
- Interagera med historiska karaktärer med GenAI och vår medföljande app.
- Rolig och engagerande berättelse, du kommer att tidsresa!
- Interagera med historiska karaktärer med GenAI och vår följeslagar-app.
- Roligt och engagerande berättande, du kommer att tidsresa!
![character](../../translated_images/sv/character.5c0dd8e067ffd693.webp)
Varje lektion inkluderar en uppgift att slutföra, en kunskapskontroll och en utmaning som guidar dig i att lära dig ämnen som:
- Prompting och promptteknik
Varje lektion inkluderar en uppgift att slutföra, en kunskapskontroll och en utmaning för att guida dig i ämnen som:
- Prompting och prompt-engineering
- Text- och bildappsgenerering
- Sökappar
- Sökningsappar
Besök [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course) för att komma igång!
@ -93,41 +93,41 @@ Besök [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course) för att
## 🌱 Komma igång
> **Lärare**, vi har [inkluderat några förslag](for-teachers.md) på hur man använder denna läroplan. Vi skulle uppskatta din feedback [i vårt diskussionsforum](https://github.com/microsoft/Web-Dev-For-Beginners/discussions/categories/teacher-corner)!
> **Lärare**, vi har [inkluderat några förslag](for-teachers.md) på hur man kan använda denna läroplan. Vi vill gärna ha din feedback [i vårt diskussionsforum](https://github.com/microsoft/Web-Dev-For-Beginners/discussions/categories/teacher-corner)!
**[Studenter](https://aka.ms/student-page/?WT.mc_id=academic-77807-sagibbon)**, för varje lektion, börja med ett förföreläsningsquiz och fortsätt sedan med att läsa föreläsningsmaterialet, slutföra de olika aktiviteterna och kontrollera din förståelse med efterföreläsningsquizet.
**[Studenter](https://aka.ms/student-page/?WT.mc_id=academic-77807-sagibbon)**, för varje lektion, börja med ett för-quiz och fortsätt sedan med att läsa lektionsmaterialet, slutföra olika aktiviteter och kontrollera din förståelse med efter-quizet.
För att förbättra din lärandeupplevelse, koppla ihop med dina kamrater för att arbeta på projekten tillsammans! Diskussioner uppmuntras i vårt [diskussionsforum](https://github.com/microsoft/Web-Dev-For-Beginners/discussions) där vårt team av moderatorer finns tillgängliga för att svara på dina frågor.
För att förbättra din lärandeupplevelse, koppla ihop dig med dina kamrater för att arbeta på projekten tillsammans! Diskussioner uppmuntras i vårt [diskussionsforum](https://github.com/microsoft/Web-Dev-For-Beginners/discussions) där vårt team av moderatorer kommer att finnas tillgängliga för att svara på dina frågor.
För att fördjupa din utbildning rekommenderar vi starkt att utforska [Microsoft Learn](https://learn.microsoft.com/users/wirelesslife/collections/p1ddcy5jwy0jkm?WT.mc_id=academic-77807-sagibbon) för ytterligare studiematerial.
För att fördjupa din utbildning rekommenderar vi starkt att du utforskar [Microsoft Learn](https://learn.microsoft.com/users/wirelesslife/collections/p1ddcy5jwy0jkm?WT.mc_id=academic-77807-sagibbon) för ytterligare studiematerial.
### 📋 Ställa in din miljö
### 📋 Sätta upp din miljö
Denna läroplan har en utvecklingsmiljö redo att användas! När du kommer igång kan du välja att köra läroplanen i en [Codespace](https://github.com/features/codespaces/) (_en webbläsarbaserad miljö utan behov av installation_), eller lokalt på din dator med en textredigerare som [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon).
Denna läroplan har en utvecklingsmiljö klar att använda! När du kommer igång kan du välja att köra läroplanen i en [Codespace](https://github.com/features/codespaces/) (_en webbläsarbaserad miljö utan krav på installation_), eller lokalt på din dator med en textredigerare som [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon).
#### Skapa ditt repository
För att enkelt spara ditt arbete rekommenderas det att du skapar en egen kopia av detta repository. Du kan göra detta genom att klicka på knappen **Use this template** högst upp på sidan. Detta skapar ett nytt repository i ditt GitHub-konto med en kopia av läroplanen.
#### Skapa ditt arkiv
För att du enkelt ska kunna spara ditt arbete rekommenderas det att du skapar en egen kopia av detta arkiv. Det kan du göra genom att klicka på knappen **Use this template** högst upp på sidan. Detta skapar ett nytt arkiv på ditt GitHub-konto med en kopia av läroplanen.
Följ dessa steg:
1. **Forka Repositoryt**: Klicka på knappen "Fork" uppe i högra hörnet på denna sida.
2. **Klona Repositoryt**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git`
1. **Fork:a arkivet**: Klicka på "Fork"-knappen i övre högra hörnet på denna sida.
2. **Klona arkivet**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git`
#### Köra läroplanen i en Codespace
I din kopia av detta repository som du skapade, klicka på knappen **Code** och välj **Open with Codespaces**. Detta kommer att skapa en ny Codespace för dig att arbeta i.
I din kopia av detta arkiv som du skapade, klicka på **Code**-knappen och välj **Open with Codespaces**. Detta kommer att skapa en ny Codespace för dig att arbeta i.
![Codespace](../../translated_images/sv/createcodespace.0238bbf4d7a8d955.webp)
#### Köra läroplanen lokalt på din dator
För att köra denna läroplan lokalt på din dator behöver du en textredigerare, en webbläsare och ett kommandoradsverktyg. Vår första lektion, [Introduktion till programmeringsspråk och verktyg för yrket](../../1-getting-started-lessons/1-intro-to-programming-languages), guidar dig genom olika alternativ för var och en av dessa verktyg så att du kan välja det som passar dig bäst.
För att köra denna läroplan lokalt på din dator behöver du en textredigerare, en webbläsare och ett kommandoradsverktyg. Vår första lektion, [Introduktion till programmeringsspråk och verktyg](../../1-getting-started-lessons/1-intro-to-programming-languages), kommer att guida dig genom olika alternativ för varje verktyg så att du kan välja det som passar dig bäst.
Vår rekommendation är att använda [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) som din redigerare, som även har en inbyggd [Terminal](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon). Du kan ladda ner Visual Studio Code [här](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon).
Vår rekommendation är att använda [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) som din redigerare, som också har en inbyggd [Terminal](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon). Du kan ladda ner Visual Studio Code [här](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon).
1. Klona ditt repository till din dator. Du kan göra detta genom att klicka på **Code**-knappen och kopiera URL:en:
[CodeSpace](./images/createcodespace.png)
Öppna sedan [Terminal](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon) i [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) och kör följande kommando, där du byter ut `<your-repository-url>` mot URL:en du just kopierade:
Öppna sedan [Terminal](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon) i [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) och kör följande kommando, ersätt `<your-repository-url>` med URL:en du precis kopierade:
```bash
git clone <your-repository-url>
@ -135,81 +135,83 @@ Vår rekommendation är att använda [Visual Studio Code](https://code.visualstu
2. Öppna mappen i Visual Studio Code. Du kan göra detta genom att klicka på **File** > **Open Folder** och välja den mapp du just klonade.
> Rekommenderade tillägg för Visual Studio Code:
> Rekommenderade Visual Studio Code-tillägg:
>
> * [Live Server](https://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer&WT.mc_id=academic-77807-sagibbon) - för att förhandsgranska HTML-sidor inom Visual Studio Code
> * [Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot&WT.mc_id=academic-77807-sagibbon) - för att hjälpa dig skriva kod snabbare
## 📂 Varje lektion innehåller:
- valfritt skissnotat
- valfri sketchnote
- valfri kompletterande video
- värmande quiz före lektionen
- skriven lektion
- för projektbaserade lektioner, steg-för-steg-guider för att bygga projektet
- uppvärmningsquiz före lektionen
- skriftlig lektion
- steg-för-steg guider för projektbaserade lektioner om hur man bygger projektet
- kunskapskontroller
- en utmaning
- kompletterande läsning
- uppgift
- [quiz efter lektionen](https://ff-quizzes.netlify.app/web/)
> **En notering om quiz**: Alla quiz finns i Quiz-app-mappen, totalt 48 quiz med tre frågor vardera. De finns tillgängliga [här](https://ff-quizzes.netlify.app/web/) och quizappen kan köras lokalt eller distribueras till Azure; följ instruktionerna i `quiz-app`-mappen.
> **En notis om quiz**: Alla quiz finns i Quiz-app mappen, totalt 48 quiz med tre frågor vardera. De finns tillgängliga [här](https://ff-quizzes.netlify.app/web/). Quiz-appen kan köras lokalt eller distribueras till Azure; följ instruktionerna i `quiz-app` mappen.
## 🗃️ Lektioner
| | Projektnamn | Undervisade koncept | Lärandemål | Länkad lektion | Författare |
| :-: | :------------------------------------------------------: | :--------------------------------------------------------------------: | --------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------: | :---------------------: |
| 01 | Kom igång | Introduktion till programmering och verktyg | Lär dig grundläggande principer bakom de flesta programmeringsspråk och om programvara som hjälper professionella utvecklare | [Introduktion till programmeringsspråk och verktyg](./1-getting-started-lessons/1-intro-to-programming-languages/README.md) | Jasmine |
| 02 | Kom igång | Grundläggande GitHub, inkluderar arbete i team | Hur du använder GitHub i ditt projekt och samarbetar med andra på en kodbas | [Introduktion till GitHub](./1-getting-started-lessons/2-github-basics/README.md) | Floor |
| 03 | Kom igång | Tillgänglighet | Lär dig grunderna i webbåtkomst | [Grundläggande tillgänglighet](./1-getting-started-lessons/3-accessibility/README.md) | Christopher |
| 04 | JS-grunder | JavaScript-datatyper | Grunderna i JavaScript-datatyper | [Datatyper](./2-js-basics/1-data-types/README.md) | Jasmine |
| 05 | JS-grunder | Funktioner och metoder | Lär dig om funktioner och metoder för att hantera logiken i en applikation | [Funktioner och metoder](./2-js-basics/2-functions-methods/README.md) | Jasmine och Christopher |
| 06 | JS-grunder | Beslutsfattande med JS | Lär dig skapa villkor i din kod med beslutsmetoder | [Beslutsfattande](./2-js-basics/3-making-decisions/README.md) | Jasmine |
| 07 | JS-grunder | Arrayer och loopar | Arbeta med data med arrayer och loopar i JavaScript | [Arrayer och loopar](./2-js-basics/4-arrays-loops/README.md) | Jasmine |
| 08 | [Terrarium](./3-terrarium/solution/README.md) | HTML i praktiken | Bygg HTML för att skapa ett online-terrarium, med fokus på layout | [Introduktion till HTML](./3-terrarium/1-intro-to-html/README.md) | Jen |
| 09 | [Terrarium](./3-terrarium/solution/README.md) | CSS i praktiken | Bygg CSS för att styla online-terrarium, med fokus på grunder i CSS inklusive responsiv design | [Introduktion till CSS](./3-terrarium/2-intro-to-css/README.md) | Jen |
| 10 | [Terrarium](./3-terrarium/solution/README.md) | JavaScript closures, DOM-manipulering | Bygg JavaScript för att göra terrariet till en drag-och-släpp-gränssnitt, med fokus på closures och DOM-manipulering | [JavaScript-closures, DOM-manipulering](./3-terrarium/3-intro-to-DOM-and-closures/README.md) | Jen |
| 11 | [Typing Game](./4-typing-game/solution/README.md) | Bygg ett skrivspel | Lär dig använda tangentbords-event för att styra logiken i din JavaScript-app | [Händelsestyrd programmering](./4-typing-game/typing-game/README.md) | Christopher |
| 12 | [Green Browser Extension](./5-browser-extension/solution/README.md) | Arbeta med webbläsare | Lär dig hur webbläsare fungerar, deras historia och hur man skapar basen för ett webbläsartillägg | [Om webbläsare](./5-browser-extension/1-about-browsers/README.md) | Jen |
| 13 | [Green Browser Extension](./5-browser-extension/solution/README.md) | Skapa ett formulär, anropa en API och lagra variabler i lokal lagring | Bygg JavaScript-element i ditt webbläsartillägg för att anropa en API med variabler lagrade i lokal lagring | [API:er, formulär och lokal lagring](./5-browser-extension/2-forms-browsers-local-storage/README.md) | Jen |
| 14 | [Green Browser Extension](./5-browser-extension/solution/README.md) | Bakgrundsprocesser i webbläsaren, webbsida prestanda | Använd webbläsarens bakgrundsprocesser för att hantera tilläggets ikon; lär dig om webbprestanda och vissa optimeringar för att förbättra | [Bakgrundsprocesser och prestanda](./5-browser-extension/3-background-tasks-and-performance/README.md) | Jen |
| 15 | [Space Game](./6-space-game/solution/README.md) | Mer avancerad spelutveckling med JavaScript | Lär dig om arv med både klasser och komposition samt Pub/Sub-mönstret, som förberedelse för att bygga ett spel | [Introduktion till avancerad spelutveckling](./6-space-game/1-introduction/README.md) | Chris |
| 16 | [Space Game](./6-space-game/solution/README.md) | Rita på canvas | Lär dig om Canvas API, som används för att rita element på en skärm | [Rita på canvas](./6-space-game/2-drawing-to-canvas/README.md) | Chris |
| 17 | [Space Game](./6-space-game/solution/README.md) | Flytta element runt på skärmen | Upptäck hur element kan få rörelse med kartesiska koordinater och Canvas API | [Flytta element runt](./6-space-game/3-moving-elements-around/README.md) | Chris |
| 18 | [Space Game](./6-space-game/solution/README.md) | Kollisiondetektion | Få element att kollidera och reagera på varandra med tangenttryckningar samt skapa en cooldown-funktion för att säkerställa spelets prestanda | [Kollisiondetektion](./6-space-game/4-collision-detection/README.md) | Chris |
| 19 | [Space Game](./6-space-game/solution/README.md) | Poängräkning | Utför matematiska beräkningar baserade på spelets status och prestation | [Poängräkning](./6-space-game/5-keeping-score/README.md) | Chris |
| 20 | [Space Game](./6-space-game/solution/README.md) | Avsluta och starta om spelet | Lär dig om att avsluta och starta om spelet, inklusive att rensa tillgångar och återställa variabler | [Avslutsvillkor](./6-space-game/6-end-condition/README.md) | Chris |
| 21 | [Banking App](./7-bank-project/solution/README.md) | HTML-mallar och rutter i en webbapp | Lär dig skapa skalmallen för en webbplats med flera sidor med routing och HTML-mallar | [HTML-mallar och rutter](./7-bank-project/1-template-route/README.md) | Yohan |
| 22 | [Banking App](./7-bank-project/solution/README.md) | Bygg ett inloggnings- och registreringsformulär | Lär dig bygga formulär och hantera valideringsrutiner | [Formulär](./7-bank-project/2-forms/README.md) | Yohan |
| 23 | [Banking App](./7-bank-project/solution/README.md) | Metoder för att hämta och använda data | Hur data flödar in och ut ur din app, hur man hämtar, lagrar och slänger den | [Data](./7-bank-project/3-data/README.md) | Yohan |
| 24 | [Banking App](./7-bank-project/solution/README.md) | Begrepp kring state management | Lär dig hur din app behåller state och hur du hanterar det programmatiskt | [State management](./7-bank-project/4-state-management/README.md) | Yohan |
| 25 | [Browser/VScode Code](../../8-code-editor) | Arbeta med VScode | Lär dig använda en kodredigerare| [Använd VScode Code Editor](./8-code-editor/1-using-a-code-editor/README.md) | Chris |
| 26 | [AI Assistants](./9-chat-project/README.md) | Arbeta med AI | Lär dig bygga din egen AI-assistent | [AI Assistant-projekt](./9-chat-project/README.md) | Chris |
| | Projektnamn | Undervisade Begrepp | Läromål | Länkad lektion | Författare |
| :-: | :------------------------------------------------------: | :----------------------------------------------------------------------: | -------------------------------------------------------------------------------------------------------------------------------- | :-----------------------------------------------------------------------------------------------------------------------------: | :-------------------------: |
| 01 | Komma igång | Introduktion till programmering och verktyg | Lära sig grunderna bakom de flesta programmeringsspråk och om programvara som hjälper professionella utvecklare i deras arbete | [Intro till programmeringsspråk och verktyg](./1-getting-started-lessons/1-intro-to-programming-languages/README.md) | Jasmine |
| 02 | Komma igång | Grunderna i GitHub, inklusive samarbete i team | Hur man använder GitHub i ditt projekt och samarbetar med andra på en kodbas | [Introduktion till GitHub](./1-getting-started-lessons/2-github-basics/README.md) | Floor |
| 03 | Komma igång | Tillgänglighet | Lära sig grunderna i webbtillgänglighet | [Grundläggande tillgänglighet](./1-getting-started-lessons/3-accessibility/README.md) | Christopher |
| 04 | JS Grunder | JavaScript-datatyper | Grunderna för JavaScript datatyper | [Datatyper](./2-js-basics/1-data-types/README.md) | Jasmine |
| 05 | JS Grunder | Funktioner och Metoder | Lära sig om funktioner och metoder för att hantera en applikations logik | [Funktioner och Metoder](./2-js-basics/2-functions-methods/README.md) | Jasmine och Christopher |
| 06 | JS Grunder | Beslutsfattande med JS | Lära sig skapa villkor i koden med beslutsfattandemetoder | [Beslutsfattande](./2-js-basics/3-making-decisions/README.md) | Jasmine |
| 07 | JS Grunder | Arrayer och Loopar | Arbeta med data genom arrayer och loopar i JavaScript | [Arrayer och Loopar](./2-js-basics/4-arrays-loops/README.md) | Jasmine |
| 08 | [Terrarium](./3-terrarium/solution/README.md) | HTML i praktiken | Bygga HTML för att skapa ett online-terrarium, med fokus på layoutbygge | [Introduktion till HTML](./3-terrarium/1-intro-to-html/README.md) | Jen |
| 09 | [Terrarium](./3-terrarium/solution/README.md) | CSS i praktiken | Bygga CSS för att styla online-terrarium, med fokus på grundläggande CSS och responsiv design | [Introduktion till CSS](./3-terrarium/2-intro-to-css/README.md) | Jen |
| 10 | [Terrarium](./3-terrarium/solution/README.md) | JavaScript closures och DOM-manipulation | Bygga JavaScript för att göra terrariet funktionellt med drag/drop, med fokus på closures och DOM-manipulation | [JavaScript closures och DOM-manipulation](./3-terrarium/3-intro-to-DOM-and-closures/README.md) | Jen |
| 11 | [Typing Game](./4-typing-game/solution/README.md) | Bygga ett skrivspel | Lära sig använda tangentbords-händelser för att driva logiken i JavaScript-appen | [Händelsestyrd programmering](./4-typing-game/typing-game/README.md) | Christopher |
| 12 | [Grönt webbläsartillägg](./5-browser-extension/solution/README.md) | Arbeta med webbläsare | Lära sig hur webbläsare fungerar, deras historia och bygga de första elementen i en tillägg | [Om webbläsare](./5-browser-extension/1-about-browsers/README.md) | Jen |
| 13 | [Grönt webbläsartillägg](./5-browser-extension/solution/README.md) | Bygga ett formulär, anropa API och lagra variabler i lokal lagring | Bygga JavaScript-elementen i ditt tillägg för att anropa ett API med variabler sparade i lokal lagring | [API:er, formulär och lokal lagring](./5-browser-extension/2-forms-browsers-local-storage/README.md) | Jen |
| 14 | [Grönt webbläsartillägg](./5-browser-extension/solution/README.md) | Bakgrundsprocesser i webbläsaren, webbprestanda | Använd webbläsarens bakgrundsprocesser för att hantera tilläggets ikon; lära sig om webbprestanda och optimeringar | [Bakgrundsprocesser och prestanda](./5-browser-extension/3-background-tasks-and-performance/README.md) | Jen |
| 15 | [Rymdspel](./6-space-game/solution/README.md) | Mer avancerad spelutveckling med JavaScript | Lära sig om arv med både klasser och komposition och Pub/Sub-mönstret inför spelbyggande | [Introduktion till avancerad spelutveckling](./6-space-game/1-introduction/README.md) | Chris |
| 16 | [Rymdspel](./6-space-game/solution/README.md) | Rita på canvas | Lära sig om Canvas API, som används för att rita element på en skärm | [Rita på canvas](./6-space-game/2-drawing-to-canvas/README.md) | Chris |
| 17 | [Rymdspel](./6-space-game/solution/README.md) | Flytta element runt på skärmen | Upptäck hur element kan få rörelse med hjälp av kartesiska koordinater och Canvas API | [Flytta element runt](./6-space-game/3-moving-elements-around/README.md) | Chris |
| 18 | [Rymdspel](./6-space-game/solution/README.md) | Kollisiondetektion | Få element att kollidera och reagera på varandra med knapptryckningar och ge en cooldown-funktion för att säkerställa prestanda | [Kollisiondetektion](./6-space-game/4-collision-detection/README.md) | Chris |
| 19 | [Rymdspel](./6-space-game/solution/README.md) | Hålla poäng | Utför matematiska beräkningar baserat på spelets status och prestation | [Hålla poäng](./6-space-game/5-keeping-score/README.md) | Chris |
| 20 | [Rymdspel](./6-space-game/solution/README.md) | Avsluta och starta om spelet | Lära sig om att avsluta och starta om spelet, inklusive städning av resurser och återställning av variabler | [Avslutningsvillkor](./6-space-game/6-end-condition/README.md) | Chris |
| 21 | [Bankapp](./7-bank-project/solution/README.md) | HTML-mallar och rutthantering i en webbapp | Lära sig skapa stommen för en flersidig webbplats arkitektur med routing och HTML-mallar | [HTML-mallar och routing](./7-bank-project/1-template-route/README.md) | Yohan |
| 22 | [Bankapp](./7-bank-project/solution/README.md) | Bygga inloggning och registreringsformulär | Lära sig bygga formulär och hantera valideringsrutiner | [Formulär](./7-bank-project/2-forms/README.md) | Yohan |
| 23 | [Bankapp](./7-bank-project/solution/README.md) | Metoder för att hämta och använda data | Hur data flödar in och ut ur appen, hur man hämtar, sparar och gör sig av med den | [Data](./7-bank-project/3-data/README.md) | Yohan |
| 24 | [Bankapp](./7-bank-project/solution/README.md) | Begrepp för state-hantering | Lära sig hur appen behåller state och hur man hanterar detta programmässigt | [State-hantering](./7-bank-project/4-state-management/README.md) | Yohan |
| 25 | [Browser/VScode Code](../../8-code-editor) | Arbeta med VScode | Lära dig använda en kodeditor | [Använd VScode Code Editor](./8-code-editor/1-using-a-code-editor/README.md) | Chris |
| 26 | [AI Assistants](./9-chat-project/README.md) | Arbeta med AI | Lära dig bygga din egen AI-assistent | [AI Assistant project](./9-chat-project/README.md) | Chris |
## 🏫 Pedagogik
Vårt läroplan är utformat med två viktiga pedagogiska principer i åtanke:
Vår läroplan är utformad med två viktiga pedagogiska principer i åtanke:
* projektbaserat lärande
* frekventa quiz
Programmet lär ut grunderna i JavaScript, HTML och CSS, samt de senaste verktyg och tekniker som dagens webbutvecklare använder. Studenter får möjlighet att utveckla praktisk erfarenhet genom att bygga ett skrivspel, virtuellt terrarium, miljövänligt webbläsartillägg, rymdinvasionsspel och en bankapp för företag. I slutet av serien kommer studenter att ha fått en gedigen förståelse för webbutveckling.
Programmet lär ut grunderna i JavaScript, HTML och CSS samt de senaste verktygen och teknikerna som dagens webbutvecklare använder. Studenter får möjlighet att utveckla praktisk erfarenhet genom att bygga ett skrivspel, ett virtuellt terrarium, ett miljövänligt webbläsartillägg, ett rymdinvasionsspel och en bankapp för företag. I slutet av serien kommer studenterna ha fått en solid förståelse för webbutveckling.
> 🎓 Du kan ta de första lektionerna i denna läroplan som en [Lärandeväg](https://docs.microsoft.com/learn/paths/web-development-101/?WT.mc_id=academic-77807-sagibbon) på Microsoft Learn!
> 🎓 Du kan ta de första lektionerna i denna läroplan som en [Lärväg](https://docs.microsoft.com/learn/paths/web-development-101/?WT.mc_id=academic-77807-sagibbon) på Microsoft Learn!
Genom att säkerställa att innehållet är kopplat till projekt görs processen mer engagerande för studenter och retentionen av koncept förstärks. Vi har också skapat flera startlektioner i JavaScript-grunder för att introducera koncept, kombinerade med en video från "[Beginners Series to: JavaScript](https://channel9.msdn.com/Series/Beginners-Series-to-JavaScript/?WT.mc_id=academic-77807-sagibbon)" samling av videotutorials, varav flera författare bidrog till denna läroplan.
Genom att säkerställa att innehållet överensstämmer med projekt blir processen mer engagerande för studenter och behållning av koncept förstärks. Vi har också skrivit flera startlektioner i JavaScript-grunder för att introducera koncept, tillsammans med en video från "[Beginners Series to: JavaScript](https://channel9.msdn.com/Series/Beginners-Series-to-JavaScript/?WT.mc_id=academic-77807-sagibbon)"-samlingen av videotutorials, där några författare bidragit till denna läroplan.
Dessutom sätter ett låginsats-quiz före en lektion studentens fokus på att lära sig ett ämne, medan ett andra quiz efter lektionen säkerställer ytterligare retention. Denna läroplan är designad för att vara flexibel och rolig och kan genomföras helt eller delvis. Projekten börjar små och blir alltmer komplexa under den 12-veckorscykeln.
Dessutom sätter ett låginsats-quiz före en lektion studentens avsikt mot att lära sig ett ämne, medan ett andra quiz efter lektionen säkerställer vidare retention. Denna läroplan är designad för att vara flexibel och rolig och kan tas helt eller delvis. Projekten startar små och blir successivt mer komplexa under 12-veckorscykeln.
Medan vi medvetet har undvikit att introducera JavaScript-ramverk för att koncentrera oss på grundläggande färdigheter som krävs som webbutvecklare innan ett ramverk tas i bruk, är ett bra nästa steg efter denna läroplan att lära sig om Node.js via en annan videosamling: "[Beginner Series to: Node.js](https://channel9.msdn.com/Series/Beginners-Series-to-Nodejs/?WT.mc_id=academic-77807-sagibbon)".
Även om vi med avsikt undvikit att introducera JavaScript-ramverk för att fokusera på de grundläggande färdigheter som behövs som webbutvecklare innan man tar till sig ett ramverk, skulle ett bra nästa steg efter denna läroplan vara att lära sig om Node.js via en annan samling videor: "[Beginner Series to: Node.js](https://channel9.msdn.com/Series/Beginners-Series-to-Nodejs/?WT.mc_id=academic-77807-sagibbon)".
> Besök våra riktlinjer för [Uppförandekod](CODE_OF_CONDUCT.md) och [Bidragande](CONTRIBUTING.md). Vi välkomnar din konstruktiva feedback!
> Besök våra [Uppförandekod](CODE_OF_CONDUCT.md) och [Bidragsgivare](CONTRIBUTING.md) riktlinjer. Vi välkomnar din konstruktiva feedback!
## 🧭 Offlineåtkomst
Du kan köra denna dokumentation offline med hjälp av [Docsify](https://docsify.js.org/#/). Forka detta repo, [installera Docsify](https://docsify.js.org/#/quickstart) på din lokala dator, och skriv sedan `docsify serve` i rotmappen för detta repo. Webbplatsen kommer att serveras på port 3000 på din localhost: `localhost:3000`.
Du kan köra denna dokumentation offline med hjälp av [Docsify](https://docsify.js.org/#/). Forka detta repo, [installera Docsify](https://docsify.js.org/#/quickstart) på din lokala maskin och skriv sedan `docsify serve` i roten av detta repo. Webbplatsen tjänstgörs på port 3000 på din localhost: `localhost:3000`.
## 📘 PDF
En PDF med alla lektioner finns [här](https://microsoft.github.io/Web-Dev-For-Beginners/pdf/readme.pdf).
En PDF av alla lektioner finns [här](https://microsoft.github.io/Web-Dev-For-Beginners/pdf/readme.pdf).
## 🎒 Andra kurser
@ -239,7 +241,7 @@ Vårt team producerar andra kurser! Kolla in:
---
### Kärnlärande
### Kärnundervisning
[![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)
@ -258,21 +260,21 @@ Vårt team producerar andra kurser! Kolla in:
## Få hjälp
Om du fastnar eller har några frågor om att bygga AI-appar. Gå med andra som lär sig och erfarna utvecklare i diskussioner om MCP. Det är ett stödjande community där frågor är välkomna och kunskap delas fritt.
Om du kör fast eller har några frågor om att bygga AI-appar. Gå med i diskussioner med andra elever och erfarna utvecklare om MCP. Det är en stödjande gemenskap där frågor välkomnas och kunskap delas fritt.
[![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG)
Om du har produktfeedback eller felaktigheter när du bygger, besök:
Om du har produktfeedback eller fel vid byggande, besök:
[![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)
## Licens
Detta arkiv är licensierat under MIT-licensen. Se filen [LICENSE](../../LICENSE) för mer information.
Det här arkivet är licensierat under MIT-licensen. Se filen [LICENSE](../../LICENSE) för mer information.
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Ansvarsfriskrivning**:
Detta dokument har översatts med hjälp av AI-översättningstjänsten [Co-op Translator](https://github.com/Azure/co-op-translator). Även om vi strävar efter noggrannhet, vänligen var medveten om att automatiska översättningar kan innehålla fel eller onoggrheter. Det ursprungliga dokumentet på dess ursprungliga språk bör betraktas som den auktoritativa källan. För viktig information rekommenderas professionell mänsklig översättning. Vi ansvarar inte för eventuella missförstånd eller feltolkningar som uppstår vid användning av denna översättning.
Detta dokument har översatts med hjälp av AI-översättningstjänsten [Co-op Translator](https://github.com/Azure/co-op-translator). Även om vi strävar efter noggrannhet, vänligen var medveten om att automatiska översättningar kan innehålla fel eller brister. Det ursprungliga dokumentet på dess modersmål bör betraktas som den auktoritativa källan. För kritisk information rekommenderas professionell mänsklig översättning. Vi ansvarar inte för några missförstånd eller feltolkningar som uppstår vid användning av denna översättning.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -493,7 +493,7 @@
},
"AGENTS.md": {
"original_hash": "a362efd06d64d4134a0cfe8515a86d34",
"translation_date": "2026-03-27T18:36:47+00:00",
"translation_date": "2026-04-06T18:37:35+00:00",
"source_file": "AGENTS.md",
"language_code": "th"
},
@ -516,8 +516,8 @@
"language_code": "th"
},
"README.md": {
"original_hash": "a2c9eed480687319517c08a6319e5536",
"translation_date": "2026-03-06T12:07:39+00:00",
"original_hash": "b885c87c7544109b78d6684daad6cba6",
"translation_date": "2026-04-06T18:33:28+00:00",
"source_file": "README.md",
"language_code": "th"
},

@ -1,47 +1,47 @@
# AGENTS.md
## ภาพรวมโครงการ
## ภาพรวมของโครงการ
นี่คือรีโพซิทอรีหลักสูตรการศึกษาสำหรับการสอนพื้นฐานการพัฒนาเว็บให้กับผู้เริ่มต้น หลักสูตรนี้เป็นคอร์สแบบครบถ้วนใช้เวลาศึกษา 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, โครงการบทเรียนต่าง ๆ)
- ระบบแปลภาษาโดยใช้ GitHub Actions (co-op-translator)
- เอกสารให้บริการผ่าน Docsify และมีให้ในรูปแบบ PDF
- ที่เก็บข้อมูลเพื่อการศึกษาโดยมีโครงสร้างตามบทเรียน
- โฟลเดอร์บทเรียนแต่ละอันมี README, ตัวอย่างโค้ด และวิธีแก้ไข
- โปรเจกต์แยกในไดเรกทอรีแยกต่างหาก (quiz-app, โปรเจกต์บทเรียนต่างๆ)
- ระบบแปลโดยใช้ GitHub Actions (co-op-translator)
- เอกสารให้บริการผ่าน Docsify และมีให้ดาวน์โหลดเป็น PDF
## คำสั่งตั้งค่า
รีโพซิอรีนี้เน้นสำหรับการบริโภคเนื้อหาการศึกษาเป็นหลัก สำหรับการทำงานกับโครงการเฉพาะ:
ที่เก็บนี้เน้นสำหรับการบริโภคเนื้อหาการศึกษาเป็นหลัก สำหรับการทำงานกับโปรเจกต์เฉพาะ:
### การตั้งค่าหลักของรีโพซิทอรี
### การตั้งค่าที่เก็บหลัก
```bash
git clone https://github.com/microsoft/Web-Dev-For-Beginners.git
cd Web-Dev-For-Beginners
```
### ตั้งค่า Quiz App (Vue 3 + Vite)
### การตั้งค่า Quiz App (Vue 3 + Vite)
```bash
cd quiz-app
npm install
npm run dev # เริ่มเซิร์ฟเวอร์พัฒนา
npm run build # สร้างสำหรับโปรดักชัน
npm run lint # รัน ESLint
npm run build # สร้างสำหรับการผลิต
npm run lint # ใช้ ESLint
```
### API โครงการธนาคาร (Node.js + Express)
### โครงการธนาคาร API (Node.js + Express)
```bash
cd 7-bank-project/api
@ -51,23 +51,23 @@ 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
# เปิดไฟล์ index.html ในเบราว์เซอร์หรืใช้ Live Server
```
### โครงการแชท (Backend ด้วย Python)
### โปรเจกต์แชท (Python Backend)
```bash
cd 9-chat-project/solution/backend/python
@ -78,31 +78,31 @@ python api.py
## เวิร์กโฟลว์การพัฒนา
### สำหรับผู้ร่วมสร้างเนื้อหา
### สำหรับผู้มีส่วนร่วมเนื้อหา
1. **โคลนรีโพซิทอรี** ไปยังบัญชี GitHub ของคุณ
2. **โคลนโฟลว์กของคุณ** ลงในเครื่อง
1. **Fork ที่เก็บ** ไปยังบัญชี GitHub ของคุณ
2. **Clone fork ของคุณ** มายังเครื่องท้องถิ่น
3. **สร้างสาขาใหม่** สำหรับการเปลี่ยนแปลงของคุณ
4. แก้ไขเนื้อหาบทเรียนหรือตัวอย่างโค้ด
5. ทดสอบการเปลี่ยนแปลงโค้ดในไดเรกทอรีโครงการที่เกี่ยวข้อง
6. ส่งคำขอดึง (pull request) ตามแนวทางการมีส่วนร่วม
5. ทดสอบการเปลี่ยนแปลงโค้ดในไดเรกทอรีโปรเจกต์ที่เกี่ยวข้อง
6. ส่ง pull request ตามแนวทางการมีส่วนร่วม
### สำหรับผู้เรียน
1. โคลนหรือ Fork รีโพซิทอรี
2. นำทางไปยังไดเรกทอรีบทเรียนทีละบท
1. Fork หรือ clone ที่เก็บ
2. ไปที่ไดเรกทอรีบทเรียนตามลำดับ
3. อ่านไฟล์ README ของแต่ละบทเรียน
4. ทำแบบทดสอบก่อนบทเรียนที่ https://ff-quizzes.netlify.app/web/
5. ทำตัวอย่างโค้ดในโฟลเดอร์บทเรียน
6. ทำการมอบหมายงานและความท้าทายให้เสร็จ
5. ทำงานผ่านตัวอย่างโค้ดในโฟลเดอร์บทเรียน
6. ทำแบบฝึกหัดและความท้าทายให้ครบ
7. ทำแบบทดสอบหลังบทเรียน
### การพัฒนาแบบสด (Live Development)
### การพัฒนาแบบสด
- **เอกสาร**: รัน `docsify serve` ใน root (พอร์ต 3000)
- **เอกสาร**: รัน `docsify serve` ในรากของที่เก็บ (พอร์ต 3000)
- **Quiz App**: รัน `npm run dev` ในไดเรกทอรี quiz-app
- **ครงการ**: ใช้ส่วนขยาย VS Code Live Server สำหรับโครงการ HTML
- **ครงการ API**: รัน `npm start` ในไดเรกทอรี API ที่เกี่ยวข้อง
- **ปรเจกต์**: ใช้ส่วนขยาย VS Code Live Server สำหรับโปรเจก HTML
- **ปรเจกต์ API**: รัน `npm start` ในไดเรกทอรี API ที่เกี่ยวข้อง
## คำแนะนำการทดสอบ
@ -110,7 +110,7 @@ python api.py
```bash
cd quiz-app
npm run lint # ตรวจสอบปัญหาสไตล์โค้ด
npm run lint # ตรวจสอบข้อผิดพลาดของสไตล์โค้ด
npm run build # ยืนยันการสร้างสำเร็จ
```
@ -119,78 +119,78 @@ npm run build # ยืนยันการสร้างสำเร็
```bash
cd 7-bank-project/api
npm run lint # ตรวจสอบปัญหาสไตล์โค้ด
node server.js # ตรวจสอบให้แน่ใจว่าเซิร์ฟเวอร์เริ่มทำงานโดยไม่มีข้อผิดพลาด
node server.js # ตรวจสอบว่าเซิร์ฟเวอร์เริ่มทำงานโดยไม่มีข้อผิดพลาด
```
### วิธีการทดสอบทั่วไป
### แนวทางการทดสอบทั่วไป
- นี่คือรีโพซิทอรีเพื่อการศึกษา ไม่มีการทดสอบอัตโนมัติครบถ้วน
- การทดสอบด้วยตนเองมุ่งเน้นที่:
- ตัวอย่างโค้ดทำงานไม่มีข้อผิดพลาด
- ที่เก็บนี้เป็นเพื่อการศึกษา ไม่มีการทดสอบอัตโนมัติครบถ้วน
- การทดสอบด้วยมือเน้นที่:
- ตัวอย่างโค้ดทำงานโดยไม่มีข้อผิดพลาด
- ลิงก์ในเอกสารทำงานได้ถูกต้อง
- การสร้างโปรเจกต์สำเร็จ
- ตัวอย่างตามแนวทางปฏิบัติที่ดีที่สุด
- การสร้างโปรเจกต์สร็จสมบูรณ์
- ตัวอย่างปฏิบัติตามแนวทางที่ดีที่สุด
### การตรวจสอบก่อนส่ง
- รัน `npm run lint` ในไดเรกทอรีที่มี package.json
- ตรวจสอบลิงก์มาร์กดาวน์ว่าใช้งานได้
- ตรวจสอบลิงก์ markdown ว่าถูกต้อง
- ทดสอบตัวอย่างโค้ดในเบราว์เซอร์หรือ Node.js
- ตรวจสอบการแปลว่ารักษาโครงสร้างถูกต้อง
- ตรวจสอบว่าแปลยังคงโครงสร้างถูกต้อง
## แนวทางการเขียนโค้ด
## แนวทางสไตล์โค้ด
### JavaScript
- ใช้ไวยากรณ์ ES6+ ที่ทันสมัย
- ปฏิบัติตามการตั้งค่า ESLint มาตรฐานในโปรเจกต์
- ใช้ชื่อตัวแปรและฟังก์ชันที่มีความหมายเพื่อความชัดเจนทางการศึกษา
- ใส่คอมเมนต์อธิบายแนวคิดสำหรับผู้เรียน
- จัดรูปแบบด้วย Prettier เมื่อถูกตั้งค่า
- ใช้ไวยากรณ์ ES6+ สมัยใหม่
- ปฏิบัติตามการตั้งค่า ESLint มาตรฐานที่จัดไว้ในโปรเจกต์
- ใช้ชื่อตัวแปรและฟังก์ชันที่มีความหมายเพื่อความชัดเจนด้านการศึกษา
- เพิ่มคอมเมนต์อธิบายแนวคิดสำหรับผู้เรียน
- จัดรูปแบบด้วย Prettier ตามการตั้งค่าที่กำหนด
### HTML/CSS
- ใช้ส่วนประกอบ semantic HTML5
- หลักการออกแบบตอบสนอง (Responsive)
- ใช้องค์ประกอบ HTML5 อย่างมีความหมาย
- หลักการออกแบบตอบสนอง (responsive)
- การตั้งชื่อคลาสที่ชัดเจน
- คอมเมนต์อธิบายเทคนิค CSS สำหรับผู้เรียน
### Python
- ปฏิบัติตามแนวทางสไตล์ PEP 8
- ตัวอย่างโค้ดที่ชัดเจนและใช้เพื่อการศึกษา
- ใช้การบอกประเภทข้อมูล (type hints) เมื่อเป็นประโยชน์
- ตัวอย่างโค้ดที่ชัดเจนและเน้นการสอน
- ใช้ type hints เมื่อเหมาะสมเพื่อช่วยการเรียนรู้
### เอกสารมาร์กดาวน์
### เอกสาร Markdown
- โครงสร้างหัวข้อที่ชัดเจน
- บล็อกโค้ดที่ระบุภาษาชัดเจน
- ลิงก์ไปยังทรัพยากรเพิ่มเติม
- ภาพหน้าจอและรูปภาพในไดเรกทอรี `images/`
- ข้อความ alt สำหรับภาพเพื่อการเข้าถึง
- โครงสร้างหัวข้อชัดเจน
- บล็อกโค้ดระบุภาษาชัดเจน
- ลิงก์ไปยังแหล่งข้อมูลเพิ่มเติม
- สกรีนช็อตและรูปภาพในโฟลเดอร์ `images/`
- ใช้ข้อความ alt สำหรับรูปภาพเพื่อการเข้าถึง
### การจัดระเบียบไฟล์
- รายการบทเรียนลำดับหมายเลข (1-getting-started-lessons, 2-js-basics, เป็นต้น)
- แต่ละโปรเจกต์มีไดเรกทอรี `solution/` และมักจะมี `start/` หรือ `your-work/`
- รูปภาพเก็บในโฟลเดอร์ `images/` เฉพาะบทเรียน
- การแปลอยู่ในโครงสร้าง `translations/{language-code}/`
- บทเรียนเรียงตามหมายเลข (1-getting-started-lessons, 2-js-basics, ฯลฯ)
- โปรเจกต์แต่ละอันมีไดเรกทอรี `solution/` และบ่อยครั้งมี `start/` หรือ `your-work/`
- รูปภาพเก็บในโฟลเดอร์ `images/` ของแต่ละบทเรียน
- ไฟล์แปลในโครงสร้าง `translations/{language-code}/`
## การสร้างและการปรับใช้
### การปรับใช้ Quiz App (Azure Static Web Apps)
quiz-app ถูกตั้งค่าสำหรับการปรับใช้น Azure Static Web Apps:
quiz-app ถูกตั้งค่าสำหรับการปรับใช้น Azure Static Web Apps:
```bash
cd quiz-app
npm run build # สร้างโฟลเดอร์ dist/
# ปล่อยใช้งานผ่าน workflow ของ GitHub Actions เมื่อมีการ push ไปยัง main
# ดีพลอยผ่าน GitHub Actions workflow เมื่อมีการ push ไปยัง main
```
การตั้งค่า Azure Static Web Apps:
- **ตำแหน่งแอป**: `/quiz-app`
- **ตำแหน่งเอาท์พุต**: `dist`
- **ตำแหน่งผลลัพธ์**: `dist`
- **เวิร์กโฟลว์**: `.github/workflows/azure-static-web-apps-ashy-river-0debb7803.yml`
### การสร้างเอกสาร PDF
@ -204,22 +204,22 @@ npm run convert # สร้าง PDF จาก docs
```bash
npm install -g docsify-cli # ติดตั้ง Docsify ทั่วระบบ
docsify serve # ให้บริการที่ localhost:3000
docsify serve # ให้บริการบน localhost:3000
```
### การสร้างโครงการเฉพาะ
### การสร้างโปรเจกต์เฉพาะ
แต่ละโฟลเดอร์โครงการอาจมีขั้นตอนการสร้างของตนเอง:
- โปรเจกต์ Vue: รัน `npm run build` เพื่อสร้างโค้ดสำหรับโปรดักชัน
- โปรเจกต์แบบสแตติก: ไม่มีขั้นตอนการสร้าง ให้บริการไฟล์โดยตรง
แต่ละไดเรกทอรีโปรเจกต์อาจมีขั้นตอนการสร้างของตัวเอง:
- โปรเจกต์ Vue: รัน `npm run build` เพื่อสร้างโปรดักชันบันเดิล
- โปรเจกต์สแตติก: ไม่มีขั้นตอนสร้าง ให้เสิร์ฟไฟล์โดยตรง
## แนวทางการส่งคำขอดึง (Pull Request)
## แนวทางสำหรับ Pull Request
### รูปแบบชื่อหัวข้อ
ใช้ชื่อหัวข้อชัดเจนและบ่งชี้พื้นที่ของการเปลี่ยนแปลง:
ใช้หัวข้อที่ชัดเจนและบ่งชี้ส่วนที่เปลี่ยนแปลง:
- `[Quiz-app] เพิ่มแบบทดสอบใหม่สำหรับบทเรียน X`
- `[Lesson-3] แก้ไขคำสะกดในโปรเจกต์ terrarium`
- `[Lesson-3] แก้ไขการพิมพ์ในโปรเจกต์ terrarium`
- `[Translation] เพิ่มการแปลภาษาสเปนสำหรับบทเรียน 5`
- `[Docs] อัปเดตคำแนะนำการตั้งค่า`
@ -227,56 +227,56 @@ docsify serve # ให้บริการที่ localhost:3
ก่อนส่ง PR:
1. **คุณภาพของโค้ด**:
- รัน `npm run lint` ในไดเรกทอรีโครงการที่เกี่ยวข้อง
1. **คุณภาพโค้ด**:
- รัน `npm run lint` ในไดเรกทอรีโปรเจกต์ที่เกี่ยวข้อง
- แก้ไขข้อผิดพลาดและคำเตือนทั้งหมด
2. **การตรวจสอบการสร้าง**:
- รัน `npm run build` หากมี
- ตรวจสอบว่าไม่มีข้อผิดพลาดการสร้าง
- ยืนยันว่าไม่มีข้อผิดพลาดในการสร้าง
3. **การตรวจสอบลิงก์**:
- ทดสอบลิงก์มาร์กดาวน์ทั้งหมด
- ตรวจสอบการอ้างอิงภาพว่าทำงาน
- ทดสอบลิงก์ markdown ทั้งหมด
- ตรวจสอบลิงก์รูปภาพทำงาน
4. **การตรวจสอบเนื้อหา**:
- ตรวจทานคำผิดและไวยากรณ์
- ตรวจสอบความถูกต้องและคุณภาพการศึกษาของตัวอย่างโค้ด
- ตรวจสอบการแปลให้คงความหมายเดิม
4. **การตรวจทานเนื้อหา**:
- ตรวจสอบการสะกดและไวยากรณ์
- ยืนยันว่าตัวอย่างโค้ดถูกต้องและเหมาะแก่การเรียนการสอน
- ตรวจสอบว่าการแปลยังคงความหมายต้นฉบับ
### ข้อกำหนดการมีส่วนร่วม
- ยอมรับ Microsoft CLA (ตรวจอัตโนมัติครั้งแรกที่ส่ง PR)
- ปฏิบัติตาม [หลักจรรยาบรรณโอเพนซอร์สของ Microsoft](https://opensource.microsoft.com/codeofconduct/)
- ดูรายละเอียดใน [CONTRIBUTING.md](./CONTRIBUTING.md)
- อ้างอิงหมายเลข issue ในคำอธิบาย PR หากมี
- ยอมรับ Microsoft CLA (ตรวจสอบอัตโนมัติใน PR แรก)
- ปฏิบัติตาม [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/)
- ดู [CONTRIBUTING.md](./CONTRIBUTING.md) สำหรับแนวทางโดยละเอียด
- อ้างอิงหมายเลข issue ในคำอธิบาย PR หากเกี่ยวข้อง
### กระบวนการรีวิว
### กระบวนการทบทวน
- PR ถูกตรวจสอบโดยผู้ดูแลและชุมชน
- ให้ความสำคัญกับความชัดเจนทางการศึกษา
- ตัวอย่างโค้ดต้องเป็นไปตามแนวปฏิบัติที่ดีที่สุดปัจจุบัน
- การแปลได้รับการตรวจสอบความถูกต้องและเหมาะสมทางวัฒนธรรม
- PR จะได้รับการทบทวนโดยผู้ดูแลและชุมชน
- ใส่ใจเรื่องความชัดเจนทางการศึกษาเป็นอันดับแรก
- ตัวอย่างโค้ดควรเป็นไปตามแนวทางปฏิบัติที่ดีที่สุดปัจจุบัน
- การแปลตรวจสอบความแม่นยำและเหมาะสมทางวัฒนธรรม
## ระบบแปลภาษา
### การแปลอัตโนมัติ
- ใช้ GitHub Actions กับเวิร์กโฟลว์ co-op-translator
- แปลอัตโนมัติเป็นกว่า 50 ภาษา
- ไฟล์ต้นฉบับอยู่ในไดเรกทอรีหลัก
- ไฟล์แปลเก็บในโฟลเดอร์ `translations/{language-code}/`
- แปลเป็น 50+ ภาษาโดยอัตโนมัติ
- ไฟล์ต้นฉบับในไดเรกทอรีหลัก
- ไฟล์แปลในโครงสร้าง `translations/{language-code}/`
### การเพิ่มการแปลด้วยตนเอง
### การเพิ่มการแปลด้วยมือ
1. ค้นหาไฟล์ใน `translations/{language-code}/`
2. ปรับปรุงโดยรักษาโครงสร้างให้เหมือนเดิม
3. ตรวจสอบว่าตัวอย่างโค้ดยังใช้งานได้
4. ทดสอบเนื้อหาแบบทดสอบที่แปลแล้ว
2. ปรับปรุงพร้อมคงโครงสร้างเดิม
3. แน่ใจว่าตัวอย่างโค้ดยังใช้งานได้
4. ทดสอบเนื้อหาแบบทดสอบท้องถิ่น
### เมตาดาต้าการแปล
ไฟล์แปลมีส่วนหัวของ metadata:
ไฟล์แปลประกอบด้วยส่วนหัวเมตาดาต้า:
```markdown
<!--
CO_OP_TRANSLATOR_METADATA:
@ -289,120 +289,120 @@ CO_OP_TRANSLATOR_METADATA:
-->
```
## การดีบักและแก้ไขปัญหา
## การแก้ไขปัญหาและการดีบัก
### ปัญหาทั่วไป
**Quiz app เริ่มต้นไม่สำเร็จ**:
**แอปแบบทดสอบไม่เริ่มทำงาน**:
- ตรวจสอบเวอร์ชัน Node.js (แนะนำ v14+)
- ลบ `node_modules` และ `package-lock.json` แล้วรัน `npm install` ใหม่
- ตรวจสอบพอร์ตว่าซ้ำกับโปรแกรมอื่นหรือไม่ (ค่าเริ่มต้น: Vite ใช้พอร์ต 5173)
- ลบ `node_modules` และ `package-lock.json` แล้วรัน `npm install` อีกครั้ง
- ตรวจสอบความขัดแย้งของพอร์ต (พอร์ตเริ่มต้น: Vite ใช้ 5173)
**API server เริ่มต้นไม่ขึ้น**:
- ตรวจสอบเวอร์ชัน Node.js ให้ตรงขั้นต่ำ (node >=10)
- ตรวจสอบว่าพอร์ตถูกใช้งานแล้วหรือไม
- ตรวจสอบว่าติดตั้ง dependencies ด้วย `npm install` ครบถ้วน
**เซิร์ฟเวอร์ API ไม่เริ่มทำงาน**:
- ตรวจสอบว่ามีเวอร์ชัน Node.js ขั้นต่ำ (node >=10)
- ตรวจสอบว่าพอร์ตยังว่างอยู
- ยืนยันว่าติดตั้ง dependencies ด้วย `npm install` ครบถ้วน
**ส่วนขยายเบราว์เซอร์โหลดไม่ขึ้น**:
- ตรวจสอบว่า manifest.json ถูกฟอร์แมตถูกต้อง
- ตรวจสอบคอนโซลเบราว์เซอร์เพื่อหาข้อผิดพลาด
- ปฏิบัติตามคำแนะนำติดตั้งส่วนขยายเฉพาะเบราว์เซอร์
**ส่วนขยายเบราว์เซอร์ไม่โหลด**:
- ตรวจสอบไฟล์ manifest.json ว่าถูกต้อง
- ดูคอนโซลเบราว์เซอร์เพื่อตรวจหาข้อผิดพลาด
- ปฏิบัติตามคำแนะนำการติดตั้งส่วนขยายเฉพาะเบราว์เซอร์
**ปัญหาโครงการแชท Python**:
- ตรวจสอบว่าติดตั้งแพ็กเกจ OpenAI: `pip install openai`
- ตรวจสอบว่าตัวแปรสภาพแวดล้อม GITHUB_TOKEN ตั้งค่าแล้ว
- ตรวจสอบสิทธิ์เข้าถึง GitHub Models
**ปัญหาโปรเจกต์แชท Python**:
- ติดตั้งแพ็กเกจ OpenAI: `pip install openai`
- ตรวจสอบว่าตัวแปรสภาพแวดล้อม GITHUB_TOKEN ถูกตั้ง
- ตรวจสอบสิทธิ์การเข้าถึง GitHub Models
**Docsify ไม่แสดงเอกสาร**:
**Docsify ไม่เสิร์ฟเอกสาร**:
- ติดตั้ง docsify-cli ทั่วโลก: `npm install -g docsify-cli`
- รันจาก root ของรีโพซิทอรี
- ตรวจสอบว่ามีไฟล์ `docs/_sidebar.md`
- รันจากไดเรกทอรีรากของที่เก็บ
- ตรวจสอบว่า `docs/_sidebar.md` มีอยู่
### เคล็ดลับสำหรับสภาพแวดล้อมการพัฒนา
### เคล็ดลับสภาพแวดล้อมการพัฒนา
- ใช้ VS Code กับส่วนขยาย Live Server สำหรับโปรเจกต์ HTML
- ติดตั้งส่วนขยาย ESLint และ Prettier เพื่อจัดรูปแบบให้สม่ำเสม
- ใช้ DevTools ของเบราว์เซอร์สำหรับดีบัก JavaScript
- สำหรับโปรเจกต์ Vue ติดตั้ง Vue DevTools ส่วนขยายเบราว์เซอร์
- ใช้ VS Code พร้อมส่วนขยาย Live Server สำหรับโปรเจกต์ HTML
- ติดตั้งส่วนขยาย ESLint และ Prettier เพื่อจัดรูปแบบให้สอดคล้อง
- ใช้ DevTools ของเบราว์เซอร์ดีบัก JavaScript
- สำหรับโปรเจกต์ Vue ให้ติดตั้งส่วนขยาย Vue DevTools ในเบราว์เซอร์
### การพิจารณาด้านประสิทธิภาพ
- มีไฟล์แปลจำนวนมาก (>50 ภาษา) ทำให้การโคลนเต็มมีขนาดใหญ่
- ใช้โคลนแบบตื้นถ้าทำงานกับเนื้อหาเท่านั้น: `git clone --depth 1`
- ไม่รวมโฟลเดอร์แปลในการค้นหาเมื่อทำงานกับเนื้อหาภาษาอังกฤษ
- กระบวนการสร้างอาจช้าในรันแรก (npm install, สร้าง Vite)
- มีไฟล์แปลจำนวนมาก (50+ ภาษา) ทำให้การโคลนเต็มมีขนาดใหญ่
- ใช้ shallow clone หากทำงานที่เนื้อหาเท่านั้น: `git clone --depth 1`
- ยกเว้นการค้นหาในไฟล์แปลเมื่อทำงานกับเนื้อหาอังกฤษ
- กระบวนการสร้างอาจช้าครั้งแรก (npm install, การสร้าง Vite)
## การพิจารณาด้านความปลอดภัย
### ตัวแปรสภาพแวดล้อม
- ห้ามเก็บคีย์ API ในรีโพซิทอรี
- ใช้ไฟล์ `.env` (ไฟล์นี้ถูกละเว้นใน `.gitignore`)
- ระบุตัวแปรสภาพแวดล้อมที่จำเป็นใน README ของโปรเจกต์
- ห้ามเก็บกุญแจ API ในที่เก็บโค้ด
- ใช้ไฟล์ `.env` (มีระบุใน `.gitignore` แล้ว)
- เอกสารตัวแปรสภาพแวดล้อมที่ต้องใช้ใน README ของโปรเจกต์
### โครงการ Python
### โปรเจกต์ Python
- ใช้สภาพแวดล้อมเสมือน: `python -m venv venv`
- รักษา dependencies ให้ทันสมัย
- ใช้ virtual environments: `python -m venv venv`
- อัปเดต dependencies อย่างสม่ำเสมอ
- โทเค็น GitHub ควรมีสิทธิ์ขั้นต่ำที่จำเป็น
### การเข้าถึง GitHub Models
- ต้องใช้ Personal Access Token (PAT)
- ควรจัดเก็บโทเค็นเป็นตัวแปรสภาพแวดล้อม
- ห้ามเก็บโทเค็นหรือข้อมูลรับรองในรีโพซิทอรี
- ต้องใช้ Personal Access Tokens (PAT) สำหรับ GitHub Models
- ควรเก็บโทเค็นเป็นตัวแปรสภาพแวดล้อม
- หลีกเลี่ยงการคอมมิตโทเค็นหรือข้อมูลรับรอง
## หมายเหตุเพิ่มเติม
### กลุ่มเป้าหมาย
- ผู้เริ่มต้นใหม่ในด้านพัฒนาเว็บ
- นักศึกษาหรือผู้เรียนด้วยตนเอง
- ครูผู้ใช้หลักสูตรในห้องเรียน
- เนื้อหาออกแบบเพื่อการเข้าถึงและการสร้างทักษะอย่างค่อยเป็นค่อยไป
- ผู้เริ่มต้นที่สมบูรณ์ในการพัฒนาเว็บ
- นักเรียนและผู้เรียนด้วยตนเอง
- ครูผู้สอนที่ใช้หลักสูตรในห้องเรียน
- เนื้อหาออกแบบเพื่อการเข้าถึงและการพัฒนาทักษะอย่างค่อยเป็นค่อยไป
### ปรัชญาการศึกษา
- ใช้วิธีการเรียนรู้โดยโครงการ (Project-based learning)
- มีการตรวจสอบความรู้เป็นประจำ (แบบทดสอบ)
- แบบฝึกหัดโค้ดเชิงปฏิบัติ
- ตัวอย่างการใช้งานจริงในโลกความเป็นจริง
- การเรียนรู้ผ่านโปรเจกต์
- การทดสอบความรู้บ่อยครั้ง (แบบทดสอบ)
- แบบฝึกหัดเขียนโค้ดเชิงปฏิบัติ
- ตัวอย่างการประยุกต์ในโลกจริง
- เน้นพื้นฐานก่อนเรียนรู้เฟรมเวิร์ก
### การดูแลรักษารีโพซิทอรี
### การบำรุงรักษาที่เก็บ
- ชุมชนผู้เรียนและผู้ร่วมสร้างเนื้อหาแอคทีฟ
- ชุมชนผู้เรียนและผู้มีส่วนร่วมแอคทีฟ
- อัปเดต dependencies และเนื้อหาเป็นประจำ
- เจ้าหน้าที่ดูแลติดตามปัญหาและการอภิปราย
- อัปเดตการแปลอัตโนมัติผ่าน GitHub Actions
- ติดตามปัญหาและการสนทนาโดยผู้ดูแล
- การอัปเดตการแปลเป็นอัตโนมัติผ่าน GitHub Actions
### แหล่งข้อมูลที่เกี่ยวข้อง
- [Microsoft Learn modules](https://docs.microsoft.com/learn/)
- [Student Hub resources](https://docs.microsoft.com/learn/student-hub/)
- [โมดูล Microsoft Learn](https://docs.microsoft.com/learn/)
- [ทรัพยากร Student Hub](https://docs.microsoft.com/learn/student-hub/)
- [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) แนะนำสำหรับผู้เรียน
- คอร์สเพิ่มเติม: Generative AI, Data Science, ML, IoT หลักสูตรพร้อมใช้งาน
- คอร์สเพิ่มเติม: Generative AI, Data Science, ML, หลักสูตร IoT มีให้ใช้งาน
### การทำงานกับโครงการเฉพาะ
### การทำงานกับโปรเจกต์เฉพาะ
สำหรับคำแนะนำโดยละเอียดเกี่ยวกับโครงการต่าง ๆ โปรดดูที่ไฟล์ README ใน:
- `quiz-app/README.md` - แอปแบบสอบถาม Vue 3
- `7-bank-project/README.md` - แอปธนาคารที่มีการตรวจสอบสิทธิ์
คำแนะนำโดยละเอียดสำหรับโปรเจกต์แต่ละอันดูได้จากไฟล์ README ใน:
- `quiz-app/README.md` - แอปแบบทดสอบ Vue 3
- `7-bank-project/README.md` - แอปธนาคารพร้อมระบบตรวจสอบสิทธิ์
- `5-browser-extension/README.md` - การพัฒนาส่วนขยายเบราว์เซอร์
- `6-space-game/README.md` - การพัฒนาเกม Canvas
- `9-chat-project/README.md` - โครงการผู้ช่วยแชท AI
- `6-space-game/README.md` - การพัฒนาเกมด้วย Canvas
- `9-chat-project/README.md` - โปรเจกต์ผู้ช่วยแชท AI
### โครงสร้าง Monorepo
แม้ว่ารีโพซิทอรีนี้จะไม่ใช่ monorepo แบบดั้งเดิม แต่มีหลายโปรเจกต์อิสระ:
- แต่ละบทเรียนแยกจากกันอย่างครบถ้วน
- โปรเจกต์แต่ละอันไม่แชร์ dependencies
- สามารถทำงานบนโปรเจกต์เดียวโดยไม่กระทบกับอื่น
- โคลนรีโพซิอรีทั้งหมดเพื่อประสบการณ์หลักสูตรเต็มรูปแบบ
แม้ไม่ใช่ monorepo แบบดั้งเดิม ที่เก็บนี้มีโปรเจกต์อิสระหลายโปรเจกต์:
- บทเรียนแต่ละอันเป็นเอกเทศ
- โปรเจกต์ไม่แชร์ dependencies กัน
- ทำงานโปรเจกต์เดี่ยวได้โดยไม่กระทบโปรเจกต์อื่น
- โคลนที่เก็บทั้งหมดเพื่อรับประสบการณ์หลักสูตรเต็มรูปแบบ
---
<!-- 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 -->

@ -12,27 +12,27 @@
# การพัฒนาเว็บสำหรับผู้เริ่มต้น - หลักสูตร
เรียนรู้พื้นฐานของการพัฒนาเว็บด้วยคอร์ส 12 สัปดาห์แบบครบวงจรโดย Microsoft Cloud Advocates แต่ละบทเรียน 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. **ForkRepository**: คลิก [![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. **CloneRepository**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git`
3. [**เข้าร่วม Azure AI Foundry Discord และพบปะผู้เชี่ยวชาญและนักพัฒนาร่วมกัน**](https://discord.com/invite/ByRwuEEgH4)
ปฏิบัติตามขั้นตอนเหล่านี้เพื่อเริ่มใช้ทรัพยากรเหล่านี้:
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 Discord พบปะผู้เชี่ยวชาญและนักพัฒนาอื่นๆ**](https://discord.com/invite/ByRwuEEgH4)
### 🌐 รองรับหลายภาษา
#### รองรับผ่าน GitHub Action (ทำงานอัตโนมัติ & เป็นปัจจุบันเสมอ)
#### รองรับผ่าน GitHub Action (อัตโนมัติ & อัปเดตเสมอ)
<!-- 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](../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](./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](../nl/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](./README.md) | [Turkish](../tr/README.md) | [Ukrainian](../uk/README.md) | [Urdu](../ur/README.md) | [Vietnamese](../vi/README.md)
> **ต้องการโคลนแบบโลคัล?**
> **ต้องการโคลนในเครื่องไหม?**
>
> คลังนี้มีการแปลภาษามากกว่า 50 ภาษา ซึ่งเพิ่มขนาดการดาวน์โหลดอย่างมาก หากต้องการโคลนโดยไม่รวมการแปล ให้ใช้ sparse checkout:
> ที่เก็บนี้รวมคำแปลมากกว่า 50 ภาษา ซึ่งเพิ่มขนาดการดาวน์โหลดอย่างมาก หากต้องการโคลนโดยไม่รวมคำแปล ใช้การสั่ง checkout แบบ sparse:
>
> **Bash / macOS / Linux:**
> ```bash
@ -48,41 +48,42 @@
> 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)
#### 🧑‍🎓 _คุณเป็นนักเรียนใช่ไหม?_
#### 🧑‍🎓 _คุณเป็นนักเรียนไหม?_
เยี่ยมชม [**หน้า Student Hub**](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 Agent โหมดใหม่เพื่อทำให้เสร็จ!
### 📣 ประกาศ - มีความท้าทายใหม่โหมด GitHub Copilot Agent ให้ทำให้สำเร็จ!
เพิ่มความท้าทายใหม่ ค้นหา "GitHub Copilot Agent Challenge 🚀" ในเกือบทุกบท นี่คือความท้าทายใหม่สำหรับคุณในการทำให้เสร็จโดยใช้ GitHub Copilot และโหมด Agent หากคุณไม่เคยใช้โหมด Agent มาก่อน มันสามารถไม่เพียงแต่สร้างข้อความ แต่ยังสร้างและแก้ไขไฟล์ รันคำสั่ง และอื่น ๆ ได้
เพิ่มความท้าทายใหม่ ค้นหาคำว่า "GitHub Copilot Agent Challenge 🚀" ในบทต่างๆ เป็นความท้าทายใหม่สำหรับคุณในการทำให้เสร็จโดยใช้ GitHub Copilot และโหมด Agent หากคุณไม่เคยใช้โหมด Agent มาก่อน มันสามารถไม่เพียงแค่สร้างข้อความแต่ยังสามารถสร้างและแก้ไขไฟล์, รันคำสั่ง และอื่นๆ ได้
### 📣 ประกาศ - _โครงการใหม่ที่ใช้ Generative AI_
### 📣 ประกาศ - _โครงการใหม่ที่จะสร้างโดยใช้ Generative AI_
เพิ่มโครงการผู้ช่วย AI ใหม่ ตรวจสอบได้ที่ [project](./9-chat-project/README.md)
เพิ่มโครงการผู้ช่วย AI ใหม่ล่าสุด ตรวจสอบโครงการได้ที่ [project](./9-chat-project/README.md)
### 📣 ประกาศ - _หลักสูตรใหม่_ เกี่ยวกับ Generative AI สำหรับ JavaScript เพิ่งปล่อยออกมา
### 📣 ประกาศ - _หลักสูตรใหม่_ สำหรับ Generative AI ใน JavaScript เพิ่งเปิดตัว
อย่าพลาดหลักสูตรใหม่ของเราใน Generative AI!
อย่าพลาดหลักสูตร Generative AI ใหม่ของเรา!
เยี่ยมชม [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course) เพื่อเริ่มต้น!
![Background](../../translated_images/th/background.148a8d43afde5730.webp)
- บทเรียนครอบคลุมตั้งแต่พื้นฐานถึง RAG
- มีปฏิสัมพันธ์กับตัวละครในประวัติศาสตร์โดยใช้ GenAI และแอปคู่หูของเรา
- เรื่องราวสนุกสนานและน่าติดตาม คุณจะได้เดินทางข้ามเวลา!
- โต้ตอบกับตัวละครในประวัติศาสตร์ด้วย GenAI และแอป companion ของเรา
- เรื่องราวที่สนุกสนานและมีส่วนร่วม คุณจะได้เดินทางย้อนเวลา!
![character](../../translated_images/th/character.5c0dd8e067ffd693.webp)
แต่ละบทเรียนมีการมอบหมายงานให้ทำ การตรวจเช็คความรู้ และความท้าทายเพื่อแนะนำการเรียนรู้หัวข้อต่าง ๆ เช่น:
- การเขียนพรอมต์และการออกแบบพรอมต์
แต่ละบทเรียนประกอบด้วยการบ้านให้ทำ แบบทดสอบความรู้ และความท้าทายเพื่อแนะนำคุณในหัวข้อต่างๆ เช่น:
- การเขียน prompt และวิศวกรรม prompt
- การสร้างแอปข้อความและภาพ
- แอปค้นหา
@ -90,132 +91,131 @@
## 🌱 การเริ่มต้น
## 🌱 เริ่มต้นใช้งาน
> **สำหรับครูผู้สอน** เรามี [คำแนะนำบางส่วน](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)
#### สร้าง repository ของคุณ
เพื่อให้คุณบันทึกงานของคุณได้ง่าย ขอแนะนำให้คุณสร้างสำเนาของ repository นี้โดยคลิกปุ่ม **Use this template** ที่ด้านบนของหน้า ซึ่งจะสร้าง repository ใหม่ในบัญชี GitHub ของคุณโดยมีสำเนาหลักสูตรนี้
#### สร้างที่เก็บข้อมูลของคุณ
เพื่อความสะดวกในการบันทึกงานของคุณ แนะนำให้สร้างสำเนาของที่เก็บนี้ คุณสามารถทำได้โดยคลิกปุ่ม **Use this template** ที่ด้านบนของหน้า ซึ่งจะสร้างที่เก็บใหม่ในบัญชี GitHub ของคุณที่มีสำเนาของหลักสูตร
ทำตามขั้นตอนเหล่านี้:
1. **Fork Repository**: คลิกปุ่ม "Fork" ที่มุมขวาบนของหน้านี้
2. **Clone Repository**: `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
ในสำเนาของ repository ที่คุณสร้าง คลิกปุ่ม **Code** และเลือก **Open with Codespaces** ซึ่งจะสร้าง Codespace ใหม่ให้คุณทำงาน
ในสำเนาที่เก็บของคุณที่สร้างขึ้น คลิกปุ่ม **Code** แล้วเลือก **Open with Codespaces** จะสร้าง Codespace ใหม่ให้คุณทำงาน
![Codespace](../../translated_images/th/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) เป็นตัวแก้ไขของคุณ ซึ่งมี [Terminal](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon) ในตัว คุณสามารถดาวน์โหลด Visual Studio Code ได้ที่นี่ [here](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) เป็นโปรแกรมแก้ไขของคุณ ซึ่งมี [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)
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 ที่คุณเพิ่งคัดลอกมา:
จากนั้น เปิด [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 ที่คุณเพิ่งคัดลอกมา:
```bash
git clone <your-repository-url>
```
2. เปิดโฟลเดอร์ใน Visual Studio Code คุณสามารถทำได้โดยการคลิก **File** > **Open Folder** และเลือกโฟลเดอร์ที่คุณเพิ่งโคลนมา
2. เปิดโฟลเดอร์ใน Visual Studio Code คุณสามารถทำได้โดยคลิก **File** > **Open Folder** และเลือกโฟลเดอร์ที่คุณเพิ่งโคลนมา
> ส่วนขยายที่แนะนำสำหรับ Visual Studio Code:
>
> * [Live Server](https://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer&WT.mc_id=academic-77807-sagibbon) - เพื่อแสดงตัวอย่างหน้า HTML ภายใน 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) - เพื่อช่วยให้คุณเขียนโค้ดได้เร็วขึ้น
## 📂 แต่ละบทเรียนประกอบด้วย:
- สมุดสเก็ตช์ตัวเลือกเสริม
- วิดีโอเสริมหากต้องการ
- แบบทดสอบทบทวก่อนบทเรียน
- สเก็ตช์โน้ต (ไม่บังคับ)
- วิดีโอเสริม (ไม่บังคับ)
- แบบทดสอบอบอุ่นก่อนบทเรียน
- บทเรียนที่เขียนไว้
- สำหรับบทเรียนที่เป็นโครงงาน มีคำแนะนำทีละขั้นตอนเกี่ยวกับวิธีการสร้างโครงงาน
- การตรวจสอบความรู้
- สำหรับบทเรียนที่ใช้โครงการเป็นฐาน มีคำแนะนำทีละขั้นตอนในการสร้างโครงการ
- เช็คความรู้
- ความท้าทาย
- การอ่านเพิ่มเติมเสริม
- การอ่านเสริม
- การบ้าน
- [แบบทดสอบหลังบทเรียน](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/) แอปแบบทดสอบสามารถรันแบบออฟไลน์หรือดีพลอยไปที่ Azure ตามคำแนะนำในโฟลเดอร์ `quiz-app`
## 🗃️ บทเรียน
| | ชื่อโครงการ | แนวคิดที่สอน | วัตถุประสงค์การเรียนรู้ | บทเรียนที่ลิงก์ | ผู้เขียน |
| | ชื่อโปรเจค | แนวคิดที่สอน | วัตถุประสงค์การเรียนรู้ | บทเรียนที่ลิงก์ | ผู้แต่ง |
| :-: | :------------------------------------------------------: | :--------------------------------------------------------------------: | ----------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------: | :---------------------: |
| 01 | เริ่มต้นใช้งาน | บทนำสู่การเขียนโปรแกรมและเครื่องมือในงานพัฒนา | เรียนรู้พื้นฐานเบื้องต้นที่อยู่เบื้องหลังภาษาการเขียนโปรแกรมส่วนใหญ่ และเกี่ยวกับซอฟต์แวร์ที่ช่วยให้นักพัฒนามืออาชีพทำงานได้ | [Intro to Programming Languages and Tools of the Trade](./1-getting-started-lessons/1-intro-to-programming-languages/README.md) | Jasmine |
| 02 | เริ่มต้นใช้งาน | พื้นฐาน GitHub รวมถึงการทำงานเป็นทีม | วิธีการใช้ GitHub ในโครงการของคุณ วิธีการร่วมมือกับผู้อื่นในฐานข้อมูลโค้ด | [Intro 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 เบื้องต้น | อาร์เรย์และลูป | ทำงานกับข้อมูลโดยใช้ arrays และ loops ใน JavaScript | [Arrays and Loops](./2-js-basics/4-arrays-loops/README.md) | Jasmine |
| 08 | [Terrarium](./3-terrarium/solution/README.md) | HTML ในการปฏิบัติ | สร้าง HTML เพื่อสร้าง Terrarium ออนไลน์ โดยเน้นการสร้างเลย์เอาต์ | [Introduction to HTML](./3-terrarium/1-intro-to-html/README.md) | Jen |
| 09 | [Terrarium](./3-terrarium/solution/README.md) | CSS ในการปฏิบัติ | สร้าง CSS เพื่อจัดสไตล์ Terrarium ออนไลน์ โดยเน้นพื้นฐานของ CSS รวมถึงการทำให้หน้าเว็บตอบสนอง | [Introduction to CSS](./3-terrarium/2-intro-to-css/README.md) | Jen |
| 10 | [Terrarium](./3-terrarium/solution/README.md) | JavaScript Closures, การจัดการ DOM | สร้าง JavaScript เพื่อให้ Terrarium ทำงานเป็นอินเทอร์เฟซลากและวาง โดยเน้นที่ closures และการจัดการ 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 | [ส่วนขยายเบราว์เซอร์สีเขียว](./5-browser-extension/solution/README.md) | การทำงานกับเบราว์เซอร์ | เรียนรู้ว่าเบราว์เซอร์ทำงานอย่างไร ประวัติ และวิธีเริ่มต้นส่วนขยายเบราว์เซอร์ | [About Browsers](./5-browser-extension/1-about-browsers/README.md) | Jen |
| 13 | [ส่วนขยายเบราว์เซอร์สีเขียว](./5-browser-extension/solution/README.md) | สร้างฟอร์ม เรียก API และเก็บตัวแปรใน local storage | สร้างส่วนขยายเบราว์เซอร์ของคุณโดยใช้ JavaScript เพื่อเรียก API โดยใช้ตัวแปรที่เก็บใน local storage | [APIs, Forms, and Local Storage](./5-browser-extension/2-forms-browsers-local-storage/README.md) | Jen |
| 14 | [ส่วนขยายเบราว์เซอร์สีเขียว](./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 | เรียนรู้เกี่ยวกับ Inheritance โดยใช้ทั้ง Classes และ Composition และรูปแบบ 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) | การตรวจจับการชน | ทำให้องค์ประกอบชนและตอบสนองต่อกันโดยใช้การกดปุ่ม keypress พร้อมกับฟังก์ชัน cooldown เพื่อประสิทธิภาพของเกม | [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 และการกำหนดเส้นทางในเว็บแอป | เรียนรู้วิธีสร้างโครงสร้างเว็บไซต์หลายหน้าโดยใช้ routing และเทมเพลต 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 |
| 01 | Getting Started | แนะนำการเขียนโปรแกรมและเครื่องมือของงาน | เรียนรู้พื้นฐานของภาษาการเขียนโปรแกรมส่วนใหญ่และเกี่ยวกับซอฟต์แวร์ที่ช่วยนักพัฒนามืออาชีพทำงานของพวกเขา | [Intro to Programming Languages and Tools of the Trade](./1-getting-started-lessons/1-intro-to-programming-languages/README.md) | Jasmine |
| 02 | Getting Started | พื้นฐานของ GitHub รวมถึงการทำงานเป็นทีม | วิธีใช้งาน GitHub ในโปรเจคของคุณ วิธีการร่วมมือกับผู้อื่นบนฐานโค้ด | [Intro to GitHub](./1-getting-started-lessons/2-github-basics/README.md) | Floor |
| 03 | Getting Started | การเข้าถึง | เรียนรู้พื้นฐานของเว็บที่สามารถเข้าถึงได้ | [Accessibility Fundamentals](./1-getting-started-lessons/3-accessibility/README.md) | Christopher |
| 04 | JS Basics | ประเภทข้อมูลของ JavaScript | พื้นฐานของประเภทข้อมูลใน JavaScript | [Data Types](./2-js-basics/1-data-types/README.md) | Jasmine |
| 05 | JS Basics | ฟังก์ชันและเมธอด | เรียนรู้เกี่ยวกับฟังก์ชันและเมธอดในการจัดการการไหลของตรรกะแอปพลิเคชัน | [Functions and Methods](./2-js-basics/2-functions-methods/README.md) | Jasmine and Christopher |
| 06 | JS Basics | การตัดสินใจด้วย JS | เรียนรู้วิธีสร้างเงื่อนไขในโค้ดของคุณโดยใช้วิธีการตัดสินใจ | [Making Decisions](./2-js-basics/3-making-decisions/README.md) | Jasmine |
| 07 | JS Basics | อาร์เรย์และลูป | ทำงานกับข้อมูลโดยใช้ arrays และ loops ใน 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) | closures ของ JavaScript, การจัดการ DOM | สร้าง JavaScript เพื่อทำให้เทอร์ราเรียมทำงานเป็นอินเทอร์เฟซลาก/วาง โดยเน้น closures และการจัดการ 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 และเก็บตัวแปรใน local storage | สร้างส่วนประกอบ JavaScript ของส่วนเสริมเบราว์เซอร์ของคุณ เพื่อเรียกใช้ API โดยใช้ตัวแปรที่เก็บใน local storage | [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 | เรียนรู้เกี่ยวกับการสืบทอดโดยใช้ทั้ง Classes และ Composition และรูปแบบ 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 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 และเส้นทางในเว็บแอป | เรียนรู้วิธีสร้างโครงสร้างเว็บไซต์หลายหน้าโดยใช้ routing และเทมเพลต 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 |
## 🏫 การสอน
หลักสูตรของเราได้รับการออกแบบโดยมีหลักการทางการสอนสองประการสำคัญ:
* การเรียนรู้โดยใช้โครงงานเป็นฐาน
* การทำแบบทดสอบบ่อยครั้ง
โปรแกรมสอนพื้นฐานของ JavaScript, HTML และ CSS รวมถึงเครื่องมือและเทคนิคล่าสุดที่นักพัฒนาเว็บในปัจจุบันใช้ นักเรียนจะมีโอกาสสร้างประสบการณ์ปฏิบัติผ่านการสร้างเกมพิมพ์คีย์, Terrarium เสมือนจริง, ส่วนขยายเบราว์เซอร์ที่เป็นมิตรกับสิ่งแวดล้อม, เกมสไตล์ space-invader และแอปธนาคารสำหรับธุรกิจ เมื่อจบชุดบทเรียน นักเรียนจะมีความเข้าใจที่ดีเกี่ยวกับการพัฒนาเว็บ
หลักสูตรของเราออกแบบโดยยึดหลักการสอนสำคัญสองประการ:
* การเรียนรู้จากโครงการ
* แบบทดสอบบ่อยครั้ง
> 🎓 คุณสามารถเรียนบทเรียนแรก ๆ ในหลักสูตรนี้เป็น [เส้นทางการเรียนรู้](https://docs.microsoft.com/learn/paths/web-development-101/?WT.mc_id=academic-77807-sagibbon) บน Microsoft Learn!
โปรแกรมสอนพื้นฐานของ JavaScript, HTML, และ CSS รวมทั้งเครื่องมือและเทคนิคล่าสุดที่นักพัฒนาเว็บใช้งานในปัจจุบัน นักเรียนจะได้มีโอกาสพัฒนาทักษะผ่านการสร้างเกมพิมพ์ เกมเทอร์ราเรียมเสมือนจริง ส่วนขยายเบราว์เซอร์ที่เป็นมิตรกับสิ่งแวดล้อม เกมสไตล์ space-invader และแอปธนาคารสำหรับธุรกิจ เมื่อจบชุดบทเรียนนี้ นักเรียนจะมีความเข้าใจแข็งแกร่งเกี่ยวกับการพัฒนาเว็บ
โดยการทำให้เนื้อหาสอดคล้องกับโครงงาน กระบวนการเรียนรู้จะน่าสนใจขึ้นสำหรับนักเรียนและการจดจำแนวคิดจะดีขึ้น เราได้เขียนบทเรียนเริ่มต้นหลายบทเกี่ยวกับพื้นฐาน JavaScript เพื่อแนะนำแนวคิด พร้อมกับวิดีโอจากชุด "[Beginners Series to: JavaScript](https://channel9.msdn.com/Series/Beginners-Series-to-JavaScript/?WT.mc_id=academic-77807-sagibbon)" ชุดวิดีโอสอนซึ่งผู้เขียนบางท่านมีส่วนร่วมในการจัดทำหลักสูตรนี้
> 🎓 คุณสามารถเรียนบทเรียนแรกๆ ในหลักสูตรนี้เป็น [Learn Path](https://docs.microsoft.com/learn/paths/web-development-101/?WT.mc_id=academic-77807-sagibbon) บน Microsoft Learn!
นอกจากนี้ แบบทดสอบที่ความกดดันต่ำก่อนเข้าชั้นเรียนจะช่วยให้นักเรียนตั้งใจเรียนหัวข้อ และแบบทดสอบที่สองหลังเข้าชั้นเรียนช่วยเสริมสร้างการจดจำ หลักสูตรนี้ถูกออกแบบมาให้ยืดหยุ่นและสนุก และสามารถเรียนได้ทั้งหมดหรือบางส่วน โครงงานเริ่มเล็กและซับซ้อนมากขึ้นเรื่อย ๆ เมื่อเข้าสู่สัปดาห์ที่ 12
ด้วยการทำให้เนื้อหาสอดคล้องกับโครงการ ขั้นตอนการเรียนรู้จะน่าดึงดูดใจมากขึ้นสำหรับนักเรียนและช่วยเพิ่มความจำแนวคิด เรายังเขียนบทเรียนเริ่มต้นเกี่ยวกับพื้นฐาน JavaScript เพื่อแนะนำแนวคิด พร้อมกับวิดีโอจากชุด "[Beginners Series to: JavaScript](https://channel9.msdn.com/Series/Beginners-Series-to-JavaScript/?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)".
นอกจากนี้ แบบทดสอบแบบไม่กดดันก่อนเข้าชั้นเรียนช่วยให้นักเรียนตั้งเป้าหมายการเรียนรู้เรื่องใดเรื่องหนึ่ง ในขณะเดียวกัน แบบทดสอบหลังชั้นเรียนจะเสริมความจำของนักเรียน หลักสูตรนี้ออกแบบมาให้ยืดหยุ่นและสนุก และคุณสามารถเรียนทั้งชุดหรือแค่บางส่วนก็ได้ โครงการเริ่มจากง่ายและค่อย ๆ ซับซ้อนขึ้นในช่วง 12 สัปดาห์
> เยี่ยมชม [Code of Conduct](CODE_OF_CONDUCT.md) และแนวทาง [การมีส่วนร่วม](CONTRIBUTING.md) ของเรา เรายินดีรับข้อเสนอแนะเชิงสร้างสรรค์จากคุณ!
แม้เราจะหลีกเลี่ยงการนำ JavaScript frameworks มาใช้เพื่อเน้นทักษะพื้นฐานที่จำเป็นสำหรับนักพัฒนาเว็บก่อนที่จะเรียนรู้ framework ก้าวต่อไปที่ดีหลังจากจบบทเรียนนี้คือการเรียนรู้ 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) ของเรา เรายินดีรับฟังคำติชมสร้างสรรค์ของคุณ!
## 🧭 การเข้าถึงแบบออฟไลน์
คุณสามารถรันเอกสารนี้แบบออฟไลน์ได้ดยใช้ [Docsify](https://docsify.js.org/#/). Fork รีโปนี้, [ติดตั้ง Docsify](https://docsify.js.org/#/quickstart) บนเครื่องของคุณ จากนั้นในโฟลเดอร์หลักของรีโปนี้ ให้พิมพ์ `docsify serve`. เว็บไซต์จะถูกให้บริการบนพอร์ต 3000 ที่ localhost ของคุณ: `localhost:3000`.
คุณสามารถอ่านเอกสารนี้แบบออฟไลน์ได้ด้วการใช้ [Docsify](https://docsify.js.org/#/) ให้ fork โครงการนี้, [ติดตั้ง Docsify](https://docsify.js.org/#/quickstart) บนเครื่องของคุณ จากนั้นในโฟลเดอร์รากของโครงการนี้ ให้พิมพ์ `docsify serve` เว็บไซต์จะถูกเสิร์ฟที่พอร์ต 3000 บน localhost ของคุณ: `localhost:3000`
## 📘 PDF
PDF ของบทเรียนทั้งหมดสามารถดูได้ที่ [นี่](https://microsoft.github.io/Web-Dev-For-Beginners/pdf/readme.pdf)
ไฟล์ PDF ของบทเรียนทั้งหมดสามารถดูได้ที่ [นี่](https://microsoft.github.io/Web-Dev-For-Beginners/pdf/readme.pdf)
## 🎒 หลักสูตรอื่น
## 🎒 คอร์สอื่น
ทีมงานของเราผลิตหลักสูตรอื่นๆ อีก! ลองดูที่:
ทีมของเราผลิตคอร์สอื่น ๆ ด้วย! ตรวจสอบได้ที่:
<!-- CO-OP TRANSLATOR OTHER COURSES START -->
### LangChain
@ -232,7 +232,7 @@ PDF ของบทเรียนทั้งหมดสามารถดู
---
### Generative AI Series
### ชุด Generative 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 @@ PDF ของบทเรียนทั้งหมดสามารถดู
---
### Core Learning
### การเรียนรู้หลัก
[![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 @@ PDF ของบทเรียนทั้งหมดสามารถดู
---
### Copilot Series
### ชุด 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 @@ PDF ของบทเรียนทั้งหมดสามารถดู
## การขอความช่วยเหลือ
หากคุณติดขัดหรือมีคำถามเกี่ยวกับการสร้างแอป AI เข้าร่วมกับผู้เรียนคนอื่นๆ และนักพัฒนาที่มีประสบการณ์ในการอภิปรายเกี่ยวกับ 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 -->
**ข้อจำกัดความรับผิดชอบ**:
เอกสารนี้ได้รับการแปลโดยใช้บริการแปลภาษา AI [Co-op Translator](https://github.com/Azure/co-op-translator) ถึงแม้เราจะพยายามรักษาความถูกต้อง แต่กรุณาทราบว่าการแปลโดยอัตโนมัติอาจมีข้อผิดพลาดหรือความคลาดเคลื่อน เอกสารต้นฉบับในภาษาดั้งเดิมถือเป็นแหล่งข้อมูลที่เชื่อถือได้ หากเป็นข้อมูลสำคัญ ขอแนะนำให้ใช้บริการแปลโดยมนุษย์มืออาชีพ เราจะไม่รับผิดชอบต่อความเข้าใจผิดหรือการตีความที่ผิดพลาดที่เกิดขึ้นจากการใช้การแปลนี้
เอกสารนี้ได้รับการแปลโดยใช้บริการแปลภาษาด้วย AI [Co-op Translator](https://github.com/Azure/co-op-translator) แม้ว่าเราจะพยายามให้มีความถูกต้อง แต่โปรดทราบว่าการแปลโดยอัตโนมัติอาจมีข้อผิดพลาดหรือความไม่ถูกต้องได้ เอกสารต้นฉบับในภาษาต้นฉบับถือเป็นแหล่งข้อมูลที่ถูกต้องที่สุด สำหรับข้อมูลที่สำคัญ ขอแนะนำให้ใช้บริการแปลโดยมนุษย์มืออาชีพ เราจะไม่รับผิดชอบต่อความเข้าใจผิดหรือการตีความที่ผิดพลาดที่เกิดจากการใช้การแปลนี้
<!-- CO-OP TRANSLATOR DISCLAIMER END -->
Loading…
Cancel
Save