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

pull/1756/head
localizeflow[bot] 6 months ago
parent 649b314d20
commit 6a3eacdca6

@ -1,7 +1,7 @@
{ {
"1-getting-started-lessons/1-intro-to-programming-languages/README.md": { "1-getting-started-lessons/1-intro-to-programming-languages/README.md": {
"original_hash": "d45ddcc54eb9232a76d08328b09d792e", "original_hash": "bec5e35642176d9e483552bfc82996d8",
"translation_date": "2026-01-06T21:16:19+00:00", "translation_date": "2026-03-06T12:05:54+00:00",
"source_file": "1-getting-started-lessons/1-intro-to-programming-languages/README.md", "source_file": "1-getting-started-lessons/1-intro-to-programming-languages/README.md",
"language_code": "el" "language_code": "el"
}, },
@ -493,7 +493,7 @@
}, },
"AGENTS.md": { "AGENTS.md": {
"original_hash": "a362efd06d64d4134a0cfe8515a86d34", "original_hash": "a362efd06d64d4134a0cfe8515a86d34",
"translation_date": "2026-02-06T17:12:15+00:00", "translation_date": "2026-03-06T12:18:30+00:00",
"source_file": "AGENTS.md", "source_file": "AGENTS.md",
"language_code": "el" "language_code": "el"
}, },
@ -516,8 +516,8 @@
"language_code": "el" "language_code": "el"
}, },
"README.md": { "README.md": {
"original_hash": "6d6385fd098088cb2d690fb0a6cdaedc", "original_hash": "a2c9eed480687319517c08a6319e5536",
"translation_date": "2026-02-06T17:07:46+00:00", "translation_date": "2026-03-06T12:00:55+00:00",
"source_file": "README.md", "source_file": "README.md",
"language_code": "el" "language_code": "el"
}, },

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

@ -10,70 +10,80 @@
[![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG) [![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 μέσω πρακτικών έργων όπως τεραριαμικά, επεκτάσεις προγράμματος περιήγησης και παιχνίδια στο διάστημα. Συμμετέχετε σε κουίζ, συζητήσεις και πρακτικές αναθέσεις. Βελτιώστε τις δεξιότητές σας και μεγιστοποιήστε τη διατήρηση γνώσεων με την αποτελεσματική παιδαγωγική μας που βασίζεται σε έργα. Ξεκινήστε το ταξίδι κωδικοποίησής σας σήμερα!
Εγγραφείτε στην Κοινότητα Discord Azure AI Foundry Γίνετε μέλος της κοινότητας Azure AI Foundry στο Discord
[![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG) [![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG)
Ακολουθήστε αυτά τα βήματα για να ξεκινήσετε να χρησιμοποιείτε αυτούς τους πόρους: Ακολουθήστε αυτά τα βήματα για να ξεκινήσετε με αυτούς τους πόρους:
1. **Αντιγράψτε το Αποθετήριο**: Κάντε κλικ [![GitHub forks](https://img.shields.io/github/forks/microsoft/Web-Dev-For-beginners.svg?style=social&label=Fork)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/fork) 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` 2. **Κλωνοποιήστε το Αποθετήριο**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git`
3. [**Εγγραφείτε στο Discord του Azure AI Foundry και γνωρίστε ειδικούς και άλλους προγραμματιστές**](https://discord.com/invite/ByRwuEEgH4) 3. [**Γίνετε μέλος του Azure AI Foundry Discord και γνωρίστε ειδικούς και άλλους προγραμματιστές**](https://discord.com/invite/ByRwuEEgH4)
### 🌐 Υποστήριξη Πολλών Γλωσσών ### 🌐 Υποστήριξη Πολλαπλών Γλωσσών
#### Υποστηρίζεται μέσω GitHub Action (Αυτόματη & Πάντα Ενημερωμένη) #### Υποστηρίζεται μέσω GitHub Action (Αυτοματοποιημένα & Πάντα Ενημερωμένα)
<!-- CO-OP TRANSLATOR LANGUAGES TABLE START --> <!-- 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) | [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 μεταφράσεις γλωσσών που αυξάνουν σημαντικά το μέγεθος λήψης. Για να κλωνοποιήσετε χωρίς τις μεταφράσεις, χρησιμοποιήστε sparse checkout: > Αυτό το αποθετήριο περιλαμβάνει πάνω από 50 μεταφράσεις γλωσσών, που αυξάνουν σημαντικά το μέγεθος λήψης. Για να κλωνοποιήσετε χωρίς μεταφράσεις, χρησιμοποιήστε τον αραιό έλεγχο:
>
> **Bash / macOS / Linux:**
> ```bash > ```bash
> git clone --filter=blob:none --sparse https://github.com/microsoft/Web-Dev-For-Beginners.git > git clone --filter=blob:none --sparse https://github.com/microsoft/Web-Dev-For-Beginners.git
> cd Web-Dev-For-Beginners > cd Web-Dev-For-Beginners
> git sparse-checkout set --no-cone '/*' '!translations' '!translated_images' > git sparse-checkout set --no-cone '/*' '!translations' '!translated_images'
> ``` > ```
>
> **CMD (Windows):**
> ```cmd
> git clone --filter=blob:none --sparse https://github.com/microsoft/Web-Dev-For-Beginners.git
> cd Web-Dev-For-Beginners
> git sparse-checkout set --no-cone "/*" "!translations" "!translated_images"
> ```
>
> Αυτό σας δίνει όλα όσα χρειάζεστε για να ολοκληρώσετε το μάθημα με πολύ πιο γρήγορη λήψη. > Αυτό σας δίνει όλα όσα χρειάζεστε για να ολοκληρώσετε το μάθημα με πολύ πιο γρήγορη λήψη.
<!-- CO-OP TRANSLATOR LANGUAGES TABLE END --> <!-- 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) [![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)
#### 🧑‍🎓 _Είσαι φοιτητής/φοιτήτρια;_ #### 🧑‍🎓 _Είστε φοιτητής;_
Επισκεφθείτε τη [**σελίδα 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 mode. Αν δεν έχετε χρησιμοποιήσει το Agent mode πριν, μπορεί όχι μόνο να δημιουργεί κείμενο αλλά και να δημιουργεί και να επεξεργάζεται αρχεία, να εκτελεί εντολές και άλλα. Νέα πρόκληση προστέθηκε, ψάξτε για "GitHub Copilot Agent Challenge 🚀" στα περισσότερα κεφάλαια. Αυτή είναι μια νέα πρόκληση για να ολοκληρώσετε χρησιμοποιώντας το GitHub Copilot και τη λειτουργία Agent. Αν δεν έχετε χρησιμοποιήσει τη λειτουργία Agent πριν, μπορεί όχι μόνο να δημιουργεί κείμενο αλλά και να δημιουργεί και να επεξεργάζεται αρχεία, να εκτελεί εντολές και άλλα.
### 📣 Ανακοίνωση - _Νέο έργο για κατασκευή με χρήση Γενετικής Τεχνητής Νοημοσύνης_ ### 📣 Ανακοίνωση - _Νέο Έργο για κατασκευή με τη χρήση Generative AI_
Πρόσθετο νέο έργο Βοηθού AI, δείτε το [έργο](./9-chat-project/README.md) Πρόσφατα προστέθηκε ένα νέο έργο βοηθού AI, δείτε το [έργο](./9-chat-project/README.md)
### 📣 Ανακοίνωση - _Νέο Πρόγραμμα Σπουδών_ για Γενετική Τεχνητή Νοημοσύνη σε JavaScript μόλις κυκλοφόρησε ### 📣 Ανακοίνωση - _Νέο πρόγραμμα σπουδών_ για Generative AI για JavaScript μόλις κυκλοφόρησε
Μην χάσετε το νέο μας πρόγραμμα σπουδών για Γενετική Τεχνητή Νοημοσύνη! Μην χάσετε το νέο μας πρόγραμμα σπουδών για Generative AI!
Επισκεφθείτε [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course) για να ξεκινήσετε! Επισκεφθείτε [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course) για να ξεκινήσετε!
![Background](../../translated_images/el/background.148a8d43afde5730.webp) ![Background](../../translated_images/el/background.148a8d43afde5730.webp)
- Μαθήματα που καλύπτουν από τα βασικά ως το RAG. - Μαθήματα που καλύπτουν από τα βασικά μέχρι το RAG.
- Αλληλεπιδράστε με ιστορικούς χαρακτήρες μέσω GenAI και της εφαρμογής συνοδού μας. - Αλληλεπιδράστε με ιστορικούς χαρακτήρες χρησιμοποιώντας GenAI και την companion εφαρμογή μας.
- Διασκεδαστική και καλογραμμένη αφήγηση, θα ταξιδεύετε στο χρόνο! - Διασκεδαστική και συναρπαστική αφήγηση, θα ταξιδεύετε στο χρόνο!
![character](../../translated_images/el/character.5c0dd8e067ffd693.webp) ![character](../../translated_images/el/character.5c0dd8e067ffd693.webp)
Κάθε μάθημα περιλαμβάνει μια εργασία για ολοκλήρωση, έναν έλεγχο γνώσης και μια πρόκληση για να σας καθοδηγήσει στη μάθηση θεμάτων όπως: Κάθε μάθημα περιλαμβάνει ανάθεση για ολοκλήρωση, έλεγχο γνώσεων και πρόκληση που σας καθοδηγούν στην εκμάθηση θεμάτων όπως:
- Εντολές και μηχανική εντολών - Πώς να δημιουργείτε prompts και μηχανική prompts
- Δημιουργία εφαρμογών κειμένου και εικόνας - Δημιουργία εφαρμογών κειμένου και εικόνας
- Εφαρμογές αναζήτησης - Εφαρμογές αναζήτησης
@ -83,130 +93,129 @@
## 🌱 Ξεκινώντας ## 🌱 Ξεκινώντας
> **Καθηγητές**, έχουμε [περιλάβει μερικές προτάσεις](for-teachers.md) για το πώς να χρησιμοποιήσετε αυτό το πρόγραμμα σπουδών. Θα εκτιμούσαμε το feedback σας [στο φόρουμ συζητήσεών μας](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" στην πάνω δεξιά γωνία αυτής της σελίδας. 1. **Δημιουργήστε Fork το Αποθετήριο**: Κάντε κλικ στο κουμπί "Fork" στην επάνω δεξιά γωνία αυτής της σελίδας.
2. **Κλωνοποιήστε το Αποθετήριο**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git` 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) ![Codespace](../../translated_images/el/createcodespace.0238bbf4d7a8d955.webp)
#### Εκτέλεση του προγράμματος τοπικά στον υπολογιστή σας #### Τρέξιμο του προγράμματος τοπικά στον υπολογιστή σας
Για να τρέξετε αυτό το πρόγραμμα τοπικά, θα χρειαστείτε έναν επεξεργαστή κειμένου, ένα πρόγραμμα περιήγησης και ένα εργαλείο γραμμής εντολών. Το πρώτο μάθημά μας, [Εισαγωγή στις Γλώσσες Προγραμματισμού και στα Εργαλεία του Χειριστή](../../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-getting-started-lessons/1-intro-to-programming-languages), θα σας καθοδηγήσει ανάμεσα στις διάφορες επιλογές για κάθε ένα από αυτά τα εργαλεία, για να επιλέξετε ποια δουλεύει καλύτερα για εσάς.
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) [CodeSpace](./images/createcodespace.png)
Στη συνέχεια, ανοίξτε το [Τερματικό](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 ```bash
git clone <your-repository-url> 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 > * [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) - για να σας βοηθήσει να γράφετε κώδικα πιο γρήγορα
## 📂 Κάθε μάθημα περιλαμβάνει: ## 📂 Κάθε μάθημα περιλαμβάνει:
- προαιρετική σχεδίαση ιδεών (sketchnote) - προαιρετικό σκιτσάκι
- προαιρετικό συμπληρωματικό βίντεο - προαιρετικό συμπληρωματικό βίντεο
- προθέρμανση quiz πριν το μάθημα - προ-μαθησιακό quiz για προθέρμανση
- γραπτό μάθημα - γραπτό μάθημα
- για μαθήματα βασισμένα σε project, οδηγίες βήμα προς βήμα για το πώς να χτίσετε το έργο - για μαθήματα βασισμένα σε έργα, οδηγούς βήμα προς βήμα για την κατασκευή του έργου
- ελέγχους γνώσης - ελέγχους γνώσης
- μια πρόκληση - μια πρόκληση
- συμπληρωματική ανάγνωση - συμπληρωματική ανάγνωση
- εργασίες - ανάθεση
- [τεστ μετά το μάθημα](https://ff-quizzes.netlify.app/web/) - [μετα-μαθησιακό quiz](https://ff-quizzes.netlify.app/web/)
> **Μια σημείωση για τα κουίζ**: Όλα τα κουίζ βρίσκονται στον φάκελο Quiz-app, συνολικά 48 κουίζ με τρεις ερωτήσεις το καθένα. Είναι διαθέσιμα [εδώ](https://ff-quizzes.netlify.app/web/) και η εφαρμογή κουίζ μπορεί να τρέξει τοπικά ή να αναπτυχθεί στο 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 | | 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 | | 02 | Ξεκινώντας | Βασικά του GitHub, περιλαμβάνει συνεργασία με ομάδα | Πώς να χρησιμοποιείτε το GitHub στο έργο σας, πώς να συνεργάζεστε με άλλους σε βάση κώδικα | [Εισαγωγή στο GitHub](./1-getting-started-lessons/2-github-basics/README.md) | Floor |
| 03 | Ξεκινώντας | Προσβασιμότητα | Μάθετε τα βασικά της προσβασιμότητας στον ιστό | [Βασικά της Προσβασιμότητας](./1-getting-started-lessons/3-accessibility/README.md) | Christopher | | 03 | Ξεκινώντας | Προσβασιμότητα | Μάθετε τα βασικά της προσβασιμότητας ιστού | [Βασικά της Προσβασιμότητας](./1-getting-started-lessons/3-accessibility/README.md) | Christopher |
| 04 | Βασικά JS | Τύποι Δεδομένων JavaScript | Τα βασικά των τύπων δεδομένων JavaScript | [Τύποι Δεδομένων](./2-js-basics/1-data-types/README.md) | Jasmine | | 04 | Βασικά JS | Τύποι Δεδομένων JavaScript | Τα βασικά των τύπων δεδομένων JavaScript | [Τύποι Δεδομένων](./2-js-basics/1-data-types/README.md) | Jasmine |
| 05 | Βασικά JS | Συναρτήσεις και Μέθοδοι | Μάθετε για τις συναρτήσεις και τις μεθόδους για τη διαχείριση της ροής λογικής μιας εφαρμογής | [Συναρτήσεις και Μέθοδοι](./2-js-basics/2-functions-methods/README.md) | Jasmine and Christopher | | 05 | Βασικά JS | Συναρτήσεις και Μέθοδοι | Μάθετε για τις συναρτήσεις και μεθόδους για τη διαχείριση της ροής λογικής μιας εφαρμογής | [Συναρτήσεις και Μέθοδοι](./2-js-basics/2-functions-methods/README.md) | Jasmine και Christopher |
| 06 | Βασικά JS | Λήψη Αποφάσεων με JS | Μάθετε πώς να δημιουργείτε συνθήκες στον κώδικά σας χρησιμοποιώντας μεθόδους λήψης αποφάσεων | [Λήψη Αποφάσεων](./2-js-basics/3-making-decisions/README.md) | Jasmine | | 06 | Βασικά JS | Λήψη Αποφάσεων με JS | Μάθετε πώς να δημιουργείτε συνθήκες στον κώδικά σας χρησιμοποιώντας μεθόδους λήψης αποφάσεων | [Λήψη Αποφάσεων](./2-js-basics/3-making-decisions/README.md) | Jasmine |
| 07 | Βασικά JS | Πίνακες και Βρόχοι | Εργαστείτε με δεδομένα χρησιμοποιώντας πίνακες και βρόχους στην JavaScript | [Πίνακες και Βρόχοι](./2-js-basics/4-arrays-loops/README.md) | Jasmine | | 07 | Βασικά JS | Πίνακες και Βρόχοι | Εργαστείτε με δεδομένα χρησιμοποιώντας πίνακες και βρόχους σε JavaScript | [Πίνακες και Βρόχοι](./2-js-basics/4-arrays-loops/README.md) | Jasmine |
| 08 | [Terrarium](./3-terrarium/solution/README.md) | HTML στην πράξη | Δημιουργήστε το HTML για να φτιάξετε ένα online terrarium, εστιάζοντας στη δημιουργία διάταξης | [Εισαγωγή στο HTML](./3-terrarium/1-intro-to-html/README.md) | Jen | | 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 για το στυλιζάρισμα του online terrarium, εστιάζοντας στα βασικά του CSS, συμπεριλαμβανομένου και του responsive design | [Εισαγωγή στο CSS](./3-terrarium/2-intro-to-css/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 λειτουργικό ως interface με σύρσιμο και απόθεση, εστιάζοντας σε κλεισίματα και χειρισμό DOM | [Κλεισίματα JavaScript, χειρισμός DOM](./3-terrarium/3-intro-to-DOM-and-closures/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 | | 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 | | 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 | | 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 | | 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 | | 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 | | 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 | | 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 | | 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 | | 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 | | 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 Εφαρμογή | Μάθετε πώς να δημιουργήσετε τη δομή μιας πολυσέλιδης ιστοσελίδας χρησιμοποιώντας routing και πρότυπα HTML | [Πρότυπα HTML και Διαδρομές](./7-bank-project/1-template-route/README.md) | Yohan | | 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 | | 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 | | 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 | | 24 | [Εφαρμογή Τραπεζικής](./7-bank-project/solution/README.md) | Έννοιες Διαχείρισης Κατάστασης | Μάθετε πώς η εφαρμογή σας διατηρεί κατάσταση και πώς να τη διαχειρίζεστε προγραμματιστικά | [Διαχείριση Κατάστασης](./7-bank-project/4-state-management/README.md) | Yohan |
| 25 | [Κώδικας Περιηγητή/VSCode](../../8-code-editor) | Εργασία με το VScode | Μάθετε πώς να χρησιμοποιείτε έναν επεξεργαστή κώδικα | [Χρήση επεξεργαστή κώδικα VScode](./8-code-editor/1-using-a-code-editor/README.md) | Chris | | 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) | Εργασία με AI | Μάθετε πώς να δημιουργήσετε τον δικό σας βοηθό τεχνητής νοημοσύνης | [Έργο Βοηθού AI](./9-chat-project/README.md) | Chris | | 26 | [Βοηθοί Τεχνητής Νοημοσύνης](./9-chat-project/README.md) | Εργασία με ΤΝ | Μάθετε πώς να φτιάξετε τον δικό σας βοηθό ΤΝ | [Έργο βοηθού ΤΝ](./9-chat-project/README.md) | Chris |
## 🏫 Παιδαγωγική ## 🏫 Παιδαγωγική
Το πρόγραμμα σπουδών μας έχει σχεδιαστεί με δύο βασικές παιδαγωγικές αρχές στο μυαλό: Το πρόγραμμα σπουδών μας έχει σχεδιαστεί με δύο βασικές παιδαγωγικές αρχές στο μυαλό:
* μάθηση βασισμένη σε έργα * μάθηση βασισμένη σε έργα
* συχνά κουίζ * συχνά quiz
Το πρόγραμμα διδάσκει τα βασικά της JavaScript, HTML και CSS, καθώς και τα πιο σύγχρονα εργαλεία και τεχνικές που χρησιμοποιούν οι σύγχρονοι προγραμματιστές ιστού. Οι μαθητές θα έχουν την ευκαιρία να αναπτύξουν πρακτική εμπειρία δημιουργώντας ένα παιχνίδι πληκτρολόγησης, ένα εικονικό terrarium, μια οικολογική επέκταση περιηγητή, ένα παιχνίδι τύπου εισβολέα στο διάστημα και μια τραπεζική εφαρμογή για επιχειρήσεις. Μέχρι το τέλος της σειράς, οι μαθητές θα έχουν αποκτήσει μια στέρεη κατανόηση της ανάπτυξης στον ιστό. Το πρόγραμμα διδάσκει τα βασικά του 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)" με βιντεομαθήματα, με μερικούς από τους συγγραφείς τους να έχουν συμβάλει σε αυτό το πρόγραμμα σπουδών.
Επιπλέον, ένα χαμηλού ρίσκου κουίζ πριν το μάθημα θέτει την πρόθεση του μαθητή προς την εκμάθηση ενός θέματος, ενώ ένα δεύτερο κουίζ μετά το μάθημα εξασφαλίζει περαιτέρω διατήρηση. Αυτό το πρόγραμμα σπουδών σχεδιάστηκε να είναι ευέλικτο και διασκεδαστικό και μπορεί να παρακολουθηθεί ολόκληρο ή κατά τμήματα. Τα έργα ξεκινούν μικρά και γίνονται όλο και πιο σύνθετα προς το τέλος του κύκλου των 12 εβδομάδων. Επιπλέον, ένα ανεπίσημο quiz πριν από το μάθημα θέτει τον σκοπό του μαθητή προς την εκμάθηση μιας θεματικής ενότητας, ενώ ένα δεύτερο quiz μετά το μάθημα διασφαλίζει περαιτέρω διατήρηση. Αυτό το πρόγραμμα σπουδών έχει σχεδιαστεί ώστε να είναι ευέλικτο και διασκεδαστικό και μπορεί να παρακολουθηθεί στο σύνολό του ή μεμονωμένα τμήματα. Τα έργα ξεκινούν μικρά και γίνονται όλο και πιο σύνθετα μέχρι το τέλος του δωδεκαβδομαδιαίου κύκλου.
Παρόλο που αποφεύγουμε εσκεμμένα την εισαγωγή πλαισίων εργασίας 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/#/). Κάντε fork αυτό το αποθετήριο, [εγκαταστήστε το Docsify](https://docsify.js.org/#/quickstart) στη τοπική σας μηχανή και μετά στο ριζικό φάκελο αυτού του αποθετηρίου, πληκτρολογήστε `docsify serve`. Ο ιστότοπος θα σερβιριστεί στην πόρτα 3000 στον τοπικό σας υπολογιστή: `localhost:3000`. Μπορείτε να τρέξετε αυτή την τεκμηρίωση εκτός σύνδεσης χρησιμοποιώντας το [Docsify](https://docsify.js.org/#/). Κλωνοποιήστε το αποθετήριο, [εγκαταστήστε το Docsify](https://docsify.js.org/#/quickstart) στον τοπικό σας υπολογιστή και μετά στον ριζικό φάκελο του αποθετηρίου, πληκτρολογήστε `docsify serve`. Ο ιστότοπος θα σερβιριστεί στην θύρα 3000 στο τοπικό σας μηχάνημα: `localhost:3000`.
## 📘 PDF ## 📘 PDF
Ένα PDF με όλα τα μαθήματα μπορεί να βρεθεί [εδώ](https://microsoft.github.io/Web-Dev-For-Beginners/pdf/readme.pdf).
Ένα PDF με όλα τα μαθήματα μπορείτε να βρείτε [εδώ](https://microsoft.github.io/Web-Dev-For-Beginners/pdf/readme.pdf).
## 🎒 Άλλα Μαθήματα ## 🎒 Άλλα Μαθήματα
Η ομάδα μας παράγει και άλλα μαθήματα! Δείτε: Η ομάδα μας παράγει και άλλα μαθήματα! Δείτε:
<!-- CO-OP TRANSLATOR OTHER COURSES START --> <!-- CO-OP TRANSLATOR OTHER COURSES START -->
@ -224,7 +233,7 @@
--- ---
### Σειρά για Δημιουργική Τεχνητή Νοημοσύνη ### Σειρά για Τη Γενετική Τεχνητή Νοημοσύνη
[![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 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 (.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) [![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)
@ -232,7 +241,7 @@
--- ---
### Κεντρική Μάθηση ### Βασική Μάθηση
[![ML for Beginners](https://img.shields.io/badge/ML%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=22C55E)](https://aka.ms/ml-beginners?WT.mc_id=academic-105485-koreyst) [![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) [![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) [![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,11 +260,11 @@
## Λήψη Βοήθειας ## Λήψη Βοήθειας
Αν κολλήσετε ή έχετε ερωτήσεις σχετικά με τη δημιουργία εφαρμογών AI, συμμετάσχετε με άλλους μαθητές και έμπειρους προγραμματιστές σε συζητήσεις σχετικά με το MCP. Είναι μια υποστηρικτική κοινότητα όπου οι ερωτήσεις είναι ευπρόσδεκτες και η γνώση μοιράζεται ελεύθερα. Αν κολλήσετε ή έχετε απορίες σχετικά με την ανάπτυξη εφαρμογών ΤΝ, συμμετάσχετε σε συζητήσεις με άλλους μαθητές και έμπειρους προγραμματιστές για το MCP. Είναι μια υποστηρικτική κοινότητα όπου οι ερωτήσεις είναι ευπρόσδεκτες και η γνώση μοιράζεται ελεύθερα.
[![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG) [![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) [![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)
@ -266,6 +275,6 @@
--- ---
<!-- CO-OP TRANSLATOR DISCLAIMER START --> <!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Απόρρητο**: **Αποποίηση ευθυνών**:
Αυτό το έγγραφο έχει μεταφραστεί χρησιμοποιώντας υπηρεσία μετάφρασης με τεχνητή νοημοσύνη [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 --> <!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -1,7 +1,7 @@
{ {
"1-getting-started-lessons/1-intro-to-programming-languages/README.md": { "1-getting-started-lessons/1-intro-to-programming-languages/README.md": {
"original_hash": "d45ddcc54eb9232a76d08328b09d792e", "original_hash": "bec5e35642176d9e483552bfc82996d8",
"translation_date": "2026-01-06T23:15:38+00:00", "translation_date": "2026-03-06T12:17:15+00:00",
"source_file": "1-getting-started-lessons/1-intro-to-programming-languages/README.md", "source_file": "1-getting-started-lessons/1-intro-to-programming-languages/README.md",
"language_code": "sv" "language_code": "sv"
}, },
@ -493,7 +493,7 @@
}, },
"AGENTS.md": { "AGENTS.md": {
"original_hash": "a362efd06d64d4134a0cfe8515a86d34", "original_hash": "a362efd06d64d4134a0cfe8515a86d34",
"translation_date": "2026-02-06T17:23:53+00:00", "translation_date": "2026-03-06T12:20:45+00:00",
"source_file": "AGENTS.md", "source_file": "AGENTS.md",
"language_code": "sv" "language_code": "sv"
}, },
@ -516,8 +516,8 @@
"language_code": "sv" "language_code": "sv"
}, },
"README.md": { "README.md": {
"original_hash": "6d6385fd098088cb2d690fb0a6cdaedc", "original_hash": "a2c9eed480687319517c08a6319e5536",
"translation_date": "2026-02-06T17:18:18+00:00", "translation_date": "2026-03-06T12:13:32+00:00",
"source_file": "README.md", "source_file": "README.md",
"language_code": "sv" "language_code": "sv"
}, },

@ -2,36 +2,36 @@
## Projektöversikt ## Projektöversikt
Detta är ett utbildningsbibliotek för att lära ut grunderna i webbapputveckling 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 utbildningsprogramsförråd för att lära ut grunderna i webbdesign till nybörjare. Kursplanen är en omfattande 12-veckorskurs utvecklad av Microsoft Cloud Advocates, med 24 praktiska lektioner som täcker JavaScript, CSS och HTML.
### Viktiga komponenter ### Viktiga komponenter
- **Utbildningsinnehåll**: 24 strukturerade lektioner organiserade i projektbaserade moduler - **Utbildningsinnehåll**: 24 strukturerade lektioner organiserade i projektbaserade moduler
- **Praktiska projekt**: Terrarium, Typ-spel, Webbläsartillägg, Rymdspel, Bankapp, Kodredigerare och AI-chattassistent - **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) - **Interaktiva quiz**: 48 quiz med 3 frågor vardera (för- och efter lektion)
- **Fler språkstöd**: Automatiska översättningar för 50+ språk via GitHub Actions - **Flerspråkigt stöd**: Automatiska översättningar för 50+ språk via GitHub Actions
- **Teknologier**: HTML, CSS, JavaScript, Vue.js 3, Vite, Node.js, Express, Python (för AI-projekt) - **Teknologier**: HTML, CSS, JavaScript, Vue.js 3, Vite, Node.js, Express, Python (för AI-projekt)
### Arkitektur ### Arkitektur
- Utbildningsbibliotek med lektionbaserad struktur - Utbildningsförråd med lektionbaserad struktur
- Varje lektionsmapp innehåller README, kodexempel och lösningar - Varje lektionsmapp innehåller README, kodexempel och lösningar
- Självständiga projekt i separata kataloger (quiz-app, olika lektionsprojekt) - Fristående projekt i separata kataloger (quiz-app, olika lektionsprojekt)
- Översättningssystem med GitHub Actions (co-op-translator) - Översättningssystem med GitHub Actions (co-op-translator)
- Dokumentation serveras via Docsify och finns som PDF - Dokumentation serveras via Docsify och finns tillgänglig som PDF
## Installationskommandon ## Installationskommandon
Detta bibliotek är främst för att konsumera utbildningsinnehåll. För att arbeta med specifika projekt: Detta förråd är främst för konsumtion av utbildningsinnehåll. För arbete med specifika projekt:
### Huvudbibliotekets installation ### Huvudförrådets installation
```bash ```bash
git clone https://github.com/microsoft/Web-Dev-For-Beginners.git git clone https://github.com/microsoft/Web-Dev-For-Beginners.git
cd Web-Dev-For-Beginners cd Web-Dev-For-Beginners
``` ```
### Quiz App Setup (Vue 3 + Vite) ### Quiz App installation (Vue 3 + Vite)
```bash ```bash
cd quiz-app cd quiz-app
@ -59,7 +59,7 @@ npm install
# Följ webbläsarspecifika instruktioner för att ladda tillägg # Följ webbläsarspecifika instruktioner för att ladda tillägg
``` ```
### Rymdspelsprojekt ### Rymdspelprojekt
```bash ```bash
cd 6-space-game/solution cd 6-space-game/solution
@ -76,45 +76,45 @@ pip install openai
python api.py python api.py
``` ```
## Utvecklingsarbetsflöde ## Utvecklingsflöde
### För innehållsbidragare ### För innehållsbidragare
1. **Forka biblioteket** till ditt GitHub-konto 1. **Fork:a förrådet** till ditt GitHub-konto
2. **Klona din fork** lokalt 2. **Klona din fork** lokalt
3. **Skapa en ny branch** för dina ändringar 3. **Skapa en ny gren** för dina ändringar
4. Gör ändringar i lektionsinnehåll eller kodexempel 4. Gör ändringar i lektionsinnehåll eller kodexempel
5. Testa eventuella kodändringar i relevanta projektmappar 5. Testa eventuella kodändringar i relevanta projektkataloger
6. Skicka pull requests enligt bidragsriktlinjer 6. Skicka in pull requests enligt bidragsriktlinjerna
### För elever ### För elever
1. Forka eller klona biblioteket 1. Fork:a eller klona förrådet
2. Gå igenom lektionsmappar i ordning 2. Navigera till lektionskataloger i tur och ordning
3. Läs README-filer för varje lektion 3. Läs README-filer för varje lektion
4. Slutför för-lektionsquiz på https://ff-quizzes.netlify.app/web/ 4. Gör för-quiz på https://ff-quizzes.netlify.app/web/
5. Arbeta igenom kodexempel i lektionsmappar 5. Arbeta igenom kodexempel i lektionsmapparna
6. Slutför uppgifter och utmaningar 6. Genomför uppgifter och utmaningar
7. Gör efter-lektionsquiz 7. Avsluta med efter-quiz
### Live-utveckling ### Live-utveckling
- **Dokumentation**: Kör `docsify serve` i root (port 3000) - **Dokumentation**: Kör `docsify serve` i rotkatalogen (port 3000)
- **Quiz App**: Kör `npm run dev` i quiz-app-mappen - **Quiz App**: Kör `npm run dev` i quiz-app-katalogen
- **Projekt**: Använd VS Code Live Server-extension för HTML-projekt - **Projekt**: Använd VS Codes Live Server-förlängning för HTML-projekt
- **API-projekt**: Kör `npm start` i respektive API-katalog - **API-projekt**: Kör `npm start` i respektive API-katalog
## Testningsinstruktioner ## Testinstruktioner
### Quiz App testning ### Testning av Quiz App
```bash ```bash
cd quiz-app cd quiz-app
npm run lint # Kontrollera kodstilproblem npm run lint # Kontrollera kodstilproblem
npm run build # Verifiera att byggnationen lyckas npm run build # Verifiera att byggandet lyckas
``` ```
### Bank API testning ### Testning av Bank API
```bash ```bash
cd 7-bank-project/api cd 7-bank-project/api
@ -124,12 +124,12 @@ node server.js # Verifiera att servern startar utan fel
### Allmän testmetod ### Allmän testmetod
- Detta är ett utbildningsbibliotek utan omfattande automatiserade tester - Detta är ett utbildningsförråd utan omfattande automatiska tester
- Manuell testning fokuserar på: - Manuella tester fokuserar på:
- Kodexempel körs utan fel - Kodexempel som körs utan fel
- Länkar i dokumentationen fungerar korrekt - Länkar i dokumentationen fungerar korrekt
- Projekt byggs utan problem - Projekten byggs färdigt utan fel
- Exempel följer bästa praxis - Exemplen följer bästa praxis
### Kontroll före inskickning ### Kontroll före inskickning
@ -144,7 +144,7 @@ node server.js # Verifiera att servern startar utan fel
- Använd modern ES6+ syntax - Använd modern ES6+ syntax
- Följ standard ESLint-konfigurationer i projekten - Följ standard ESLint-konfigurationer i projekten
- Använd meningsfulla variabel- och funktionsnamn för utbildningsklarhet - Använd meningsfulla variabel- och funktionsnamn för pedagogisk tydlighet
- Lägg till kommentarer som förklarar koncept för elever - Lägg till kommentarer som förklarar koncept för elever
- Formatera med Prettier där det är konfigurerat - Formatera med Prettier där det är konfigurerat
@ -158,42 +158,42 @@ node server.js # Verifiera att servern startar utan fel
### Python ### Python
- PEP 8 stilriktlinjer - PEP 8 stilriktlinjer
- Klara, utbildningsanpassade kodexempel - Klara, pedagogiska kodexempel
- Typangivelser där det är hjälpsamt för lärande - Typangivelser där det är hjälpsamt för inlärning
### Markdown-dokumentation ### Markdown-dokumentation
- Tydlig rubrikstruktur - Klar rubrikhierarki
- Kodblock med språkspecifikation - Kodblock med språkangivelse
- Länkar till ytterligare resurser - Länkar till ytterligare resurser
- Skärmdumpar och bilder i `images/`-mappar - Skärmdumpar och bilder i `images/`-kataloger
- Alt-text för bilder för tillgänglighet - Alternativtext för bilder för tillgänglighet
### Filorganisation ### Filorganisation
- Lektioner numrerade i ordning (1-getting-started-lessons, 2-js-basics, etc.) - Lektioner numrerade sekventiellt (1-getting-started-lessons, 2-js-basics, osv)
- Varje projekt har `solution/` och ofta `start/` eller `your-work/` kataloger - Varje projekt har `solution/` och ofta `start/` eller `your-work/` kataloger
- Bilder lagras i lektons-specifika `images/`-mappar - Bilder lagras i lektionsspecifika `images/` mappar
- Översättningar i `translations/{language-code}/` struktur - Översättningar i `translations/{language-code}/` struktur
## Bygg och distribution ## Build och Utplacering
### Quiz App distribution (Azure Static Web Apps) ### Quiz App-utplacering (Azure Static Web Apps)
quiz-app är konfigurerad för distribution till Azure Static Web Apps: Quiz-appen är konfigurerad för utplacering på Azure Static Web Apps:
```bash ```bash
cd quiz-app cd quiz-app
npm run build # Skapar dist/ mapp npm run build # Skapar dist/ mappen
# Distribuerar via GitHub Actions-arbetsflöde vid push till main # Distribuerar via GitHub Actions arbetsflöde vid push till main
``` ```
Azure Static Web Apps-konfiguration: Azure Static Web Apps-konfiguration:
- **App-plats**: `/quiz-app` - **Appplats**: `/quiz-app`
- **Utdata-plats**: `dist` - **Utmatningsplats**: `dist`
- **Workflow**: `.github/workflows/azure-static-web-apps-ashy-river-0debb7803.yml` - **Workflow**: `.github/workflows/azure-static-web-apps-ashy-river-0debb7803.yml`
### Generering av PDF-dokumentation ### Generering av dokumentations-PDF
```bash ```bash
npm install # Installera docsify-to-pdf npm install # Installera docsify-to-pdf
@ -211,52 +211,52 @@ docsify serve # Servera på localhost:3000
Varje projektkatalog kan ha egen byggprocess: Varje projektkatalog kan ha egen byggprocess:
- Vue-projekt: `npm run build` skapar produktionspaket - Vue-projekt: `npm run build` skapar produktionspaket
- Statisk projekt: Inget byggsteg, servera filer direkt - Statiska projekt: Inget byggsteg, servera filer direkt
## Pull Request-riktlinjer ## Riktlinjer för Pull Requests
### Titelformat ### Titelformat
Använd tydliga, beskrivande titlar som anger ändringsområde: Använd klara, beskrivande titlar som anger ändringsområde:
- `[Quiz-app] Lägg till nytt quiz för lektion X` - `[Quiz-app] Lägg till nytt quiz för lektion X`
- `[Lesson-3] Fixar stavfel i terrarium-projekt` - `[Lesson-3] Rätta stavfel i terrarium-projekt`
- `[Translation] Lägg till spansk översättning för lektion 5` - `[Translation] Lägg till spansk översättning för lektion 5`
- `[Docs] Uppdatera installationsinstruktioner` - `[Docs] Uppdatera installationsinstruktioner`
### Obligatoriska kontroller ### Obligatoriska kontroller
Innan PR skickas in: Innan PR skickas:
1. **Kodkvalitet**: 1. **Kodkvalitet**:
- Kör `npm run lint` i berörda projektmappar - Kör `npm run lint` i berörda projektkataloger
- Åtgärda alla lint-varningar och fel - Åtgärda alla lint-varningar och fel
2. **Byggverifiering**: 2. **Byggverifiering**:
- Kör `npm run build` om tillämpligt - Kör `npm run build` där applicerbart
- Säkerställ att inga byggfel uppstår - Säkerställ inga byggfel
3. **Länkkontroll**: 3. **Länkverifiering**:
- Testa alla markdown-länkar - Testa alla markdown-länkar
- Verifiera att bildreferenser fungerar - Verifiera att bildreferenser fungerar
4. **Innehållsgranskning**: 4. **Innehållsgranskning**:
- Korrekturläs stavning och grammatik - Korrekturläs stavning och grammatik
- Säkerställ att kodexempel är korrekta och pedagogiska - Säkerställ att kodexempel är korrekta och pedagogiska
- Kontrollera att översättningar behåller ursprungligt budskap - Verifiera att översättningar bevarar ursprunglig betydelse
### Bidragskrav ### Bidragskrav
- Acceptera Microsoft CLA (automatisk kontroll vid första PR) - Godkänn Microsoft CLA (automatisk kontroll vid första PR)
- Följ [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/) - Följ [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/)
- Se [CONTRIBUTING.md](./CONTRIBUTING.md) för detaljerade riktlinjer - Se [CONTRIBUTING.md](./CONTRIBUTING.md) för detaljerade riktlinjer
- Referera ärendenummer i PR-beskrivning vid behov - Referera ärendenummer i PR-beskrivning vid tillämplighet
### Granskningsprocess ### Granskningsprocess
- PR granskas av underhållare och community - PR granskas av underhållare och community
- Utbildningsklarhet prioriteras - Pedagogisk tydlighet prioriteras
- Kodexempel ska följa aktuella bästa praxis - Kodexempel ska följa aktuella bästa praxis
- Översättningar granskas för korrekthet och kulturell lämplighet - Översättningar granskas för noggrannhet och kulturrelevans
## Översättningssystem ## Översättningssystem
@ -265,13 +265,13 @@ Innan PR skickas in:
- Använder GitHub Actions med co-op-translator workflow - Använder GitHub Actions med co-op-translator workflow
- Översätter automatiskt till 50+ språk - Översätter automatiskt till 50+ språk
- Källfiler i huvudkataloger - Källfiler i huvudkataloger
- Översatta filer i `translations/{language-code}/`-mappar - Översatta filer i `translations/{language-code}/` kataloger
### Manuella förbättringar av översättning ### Lägga till manuell översättningsförbättring
1. Hitta filen i `translations/{language-code}/` 1. Hitta fil i `translations/{language-code}/`
2. Gör förbättringar samtidigt som struktur bevaras 2. Gör förbättringar utan att ändra struktur
3. Säkerställ att kodexempel förblir funktionella 3. Säkerställ att kodexempel förblir fungerande
4. Testa eventuellt lokaliserat quizinnehåll 4. Testa eventuellt lokaliserat quizinnehåll
### Översättningsmetadata ### Översättningsmetadata
@ -289,87 +289,87 @@ CO_OP_TRANSLATOR_METADATA:
--> -->
``` ```
## Felsökning och problemlösning ## Felsökning och Problemlösning
### Vanliga problem ### Vanliga problem
**Quiz-appen startar inte**: **Quiz-appen startar inte**:
- Kontrollera Node.js-version (v14+ rekommenderas) - Kontrollera Node.js version (v14+ rekommenderas)
- Ta bort `node_modules` och `package-lock.json`, kör `npm install` igen - Radera `node_modules` och `package-lock.json`, kör `npm install` igen
- Kontrollera om porten är upptagen (standard: Vite använder port 5173) - Kontrollera portkonflikter (standard: Vite använder port 5173)
**API-server startar inte**: **API-servern startar inte**:
- Verifiera att Node.js-version är minst (node >=10) - Kontrollera att Node.js version är tillräcklig (node >=10)
- Kontrollera om port är redan i bruk - Kontrollera att porten inte redan används
- Säkerställ att alla beroenden är installerade med `npm install` - Säkerställ alla beroenden installerade med `npm install`
**Webbläsartillägg laddas inte**: **Webbläsartillägg laddas inte**:
- Kontrollera att manifest.json är korrekt formaterad - Kontrollera att manifest.json är korrekt formaterad
- Kontrollera webbläsarkonsolen för fel - Granska webbläsarkonsol för fel
- Följ webbläsarspecifika installationsinstruktioner för tillägg - Följ webbläsarspecifika installationsanvisningar
**Problem med Python-chattprojektet**: **Problem med Python-chattprojekt**:
- Kontrollera att OpenAI-paketet är installerat: `pip install openai` - Säkerställ att OpenAI-paket är installerat: `pip install openai`
- Verifiera att GITHUB_TOKEN miljövariabel är satt - Kontrollera att GITHUB_TOKEN miljövariabel är satt
- Kontrollera GitHub Models åtkomsträttigheter - Granska GitHub Models åtkomstbehörigheter
**Docsify serverar inte dokumentation**: **Docsify serverar inte dokumentation**:
- Installera docsify-cli globalt: `npm install -g docsify-cli` - Installera docsify-cli globalt: `npm install -g docsify-cli`
- Kör från repository root-katalog - Kör från förrådets rotkatalog
- Kontrollera att `docs/_sidebar.md` finns - Kontrollera att `docs/_sidebar.md` finns
### Tips för utvecklingsmiljö ### Tips för utvecklingsmiljö
- Använd VS Code med Live Server-extension för HTML-projekt - Använd VS Code med Live Server-förlängning för HTML-projekt
- Installera ESLint och Prettier extensions för konsekvent formatering - Installera ESLint och Prettier-förlängningar för konsekvent formatering
- Använd webbläsarens DevTools för att debugga JavaScript - Använd webbläsarens DevTools för JavaScript-felsökning
- För Vue-projekt, installera Vue DevTools webbläsartillägg - För Vue-projekt, installera Vue DevTools webbläsartillägg
### Prestandaöverväganden ### Prestandahänsyn
- Stort antal översatta filer (50+ språk) gör att fulla kloner blir stora - 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` - Använd grundklon om du bara arbetar med innehåll: `git clone --depth 1`
- Exkludera översättningar från sökningar när du arbetar med engelskt innehåll - Exkludera översättningar från sökningar när du jobbar på engelskt innehåll
- Byggprocesser kan vara långsamma vid första körning (npm install, Vite build) - Byggprocesser kan vara långsamma vid första körning (npm install, Vite build)
## Säkerhetsöverväganden ## Säkerhetshänsyn
### Miljövariabler ### Miljövariabler
- API-nycklar bör aldrig committas till repository - API-nycklar ska aldrig checkas in i förrådet
- Använd `.env`-filer (redan i `.gitignore`) - Använd `.env`-filer (redan i `.gitignore`)
- Dokumentera erforderliga miljövariabler i projekt-README - Dokumentera nödvändiga miljövariabler i projektens README-filer
### Python-projekt ### Python-projekt
- Använd virtuella miljöer: `python -m venv venv` - Använd virtuella miljöer: `python -m venv venv`
- Håll beroenden uppdaterade - Håll beroenden uppdaterade
- GitHub-tokens bör ha minimala nödvändiga rättigheter - GitHub-tokens bör ha minimala nödvändiga behörigheter
### GitHub Models-åtkomst ### GitHub Models åtkomst
- Personliga åtkomsttokens (PAT) krävs för GitHub Models - Personliga åtkomsttokens (PAT) krävs för GitHub Models
- Tokens bör sparas som miljövariabler - Tokens ska sparas som miljövariabler
- Commita aldrig tokens eller inloggningsuppgifter - Aldrig checka in tokens eller inloggningsuppgifter
## Ytterligare anteckningar ## Ytterligare anteckningar
### Målgrupp ### Målgrupp
- Helt nybörjare inom webbappar - Kompletta nybörjare inom webbdesign
- Studenter och självlärande - Studenter och självstudier
- Lärare som använder kursplanen i klassrum - Lärare som använder kursplanen i klassrum
- Innehållet är utformat för tillgänglighet och stegvis kompetensuppbyggnad - Innehållet är utformat för tillgänglighet och gradvis färdighetsutveckling
### Pedagogisk filosofi ### Pedagogisk filosofi
- Projektbaserat lärande - Projektbaserat lärande
- Frekventa kunskapskontroller (quiz) - Frekventa kunskapskontroller (quiz)
- Praktiska kodövningar - Praktiska kodningsövningar
- Exempel från verkliga tillämpningar - Exempel verkliga tillämpningar
- Fokus på grunder innan ramverk - Fokus på grunder innan ramverk
### Underhåll av repository ### Förrådets underhåll
- Aktiv community av elever och bidragsgivare - Aktiv community av elever och bidragsgivare
- Regelbundna uppdateringar av beroenden och innehåll - Regelbundna uppdateringar av beroenden och innehåll
@ -378,31 +378,31 @@ CO_OP_TRANSLATOR_METADATA:
### Relaterade resurser ### Relaterade resurser
- [Microsoft Learn moduler](https://docs.microsoft.com/learn/) - [Microsoft Learn-moduler](https://docs.microsoft.com/learn/)
- [Student Hub resurser](https://docs.microsoft.com/learn/student-hub/) - [Student Hub-resurser](https://docs.microsoft.com/learn/student-hub/)
- [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) rekommenderas för elever - [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) rekommenderas för elever
- Ytterligare kurser: Generativ AI, Data Science, ML, IoT kursplaner finns - Ytterligare kurser: Generativ AI, Data Science, ML, IoT kursplaner tillgängliga
### Arbeta med specifika projekt ### Arbeta med specifika projekt
För detaljerade instruktioner om individuell projekt, se README-filer i: För detaljerade instruktioner om enskilda projekt, se README-filer i:
- `quiz-app/README.md` - Vue 3 quiz-app - `quiz-app/README.md` - Vue 3 quiz-applikation
- `7-bank-project/README.md` - Bankapplikation med autentisering - `7-bank-project/README.md` - Bankapplikation med autentisering
- `5-browser-extension/README.md` - Webbläsartilläggsutveckling - `5-browser-extension/README.md` - Webbläsartilläggsutveckling
- `6-space-game/README.md` - Canvas-baserat spel - `6-space-game/README.md` - Canvas-baserat spelutveckling
- `9-chat-project/README.md` - AI-chattassistentprojekt - `9-chat-project/README.md` - AI chattassistentprojekt
### Monorepo-struktur ### Monorepo-struktur
Även om detta inte är ett traditionellt monorepo, innehåller detta bibliotek flera oberoende projekt: Även om det inte är ett traditionellt monorepo innehåller detta förråd flera oberoende projekt:
- Varje lektion är självständig - Varje lektion är självständig
- Projekt delar inga beroenden - Projekten delar inte beroenden
- Arbeta med enskilda projekt utan att påverka andra - Arbeta på individuella projekt utan att påverka andra
- Klona hela repot för full utbildningsupplevelse - Klona hela förrådet för hela kursplanens upplevelse
--- ---
<!-- CO-OP TRANSLATOR DISCLAIMER START --> <!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Ansvarsfriskrivning**: **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 bör du vara medveten om att automatiska översättningar kan innehålla fel eller felaktigheter. Det ursprungliga dokumentet på dess ursprungsspråk ska betraktas som den auktoritativa källan. För viktig 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. 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, var vänlig observera att automatiska översättningar kan innehålla fel eller brister. Originaldokumentet på dess ursprungliga språk ska 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 till följd av användningen av denna översättning.
<!-- CO-OP TRANSLATOR DISCLAIMER END --> <!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -12,67 +12,78 @@
# Webb utveckling för nybörjare - En läroplan # Webb utveckling för nybörjare - En läroplan
Lär dig grunderna i webbutveckling med vår 12-veckors omfattande kurs av Microsoft Cloud Advocates. Varje av de 24 lektionerna fördjupar sig i JavaScript, CSS och HTML genom praktiska projekt som terrarier, webbläsartillägg och rymdspel. Delta i frågesporter, 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 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!
Gå med i Azure AI Foundry Discord Community Gå med i Azure AI Foundry Discord Community
[![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG) [![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 dessa resurser: Följ dessa steg för att komma igång med att använda dessa resurser:
1. **Forka FÖrrådet**: 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) 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 FÖrrådet**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git` 2. **Klona Repositoryt**: `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) 3. [**Gå med i Azure AI Foundry Discord och träffa experter och andra utvecklare**](https://discord.com/invite/ByRwuEEgH4)
### 🌐 Flerspråkigt stöd ### 🌐 Stöd för flera språk
#### Stöds via GitHub Action (Automatiserat och alltid uppdaterat) #### Stöds via GitHub Action (Automatiserat & Alltid Uppdaterat)
<!-- CO-OP TRANSLATOR LANGUAGES TABLE START --> <!-- 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) | [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?** > **Föredrar du att klona lokalt?**
>
> Detta förråd inkluderar över 50 språköversättningar som betydligt ökar nedladdningsstorleken. För att klona utan översättningar, använd sparsamt utläsning: > 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:
>
> **Bash / macOS / Linux:**
> ```bash > ```bash
> git clone --filter=blob:none --sparse https://github.com/microsoft/Web-Dev-For-Beginners.git > git clone --filter=blob:none --sparse https://github.com/microsoft/Web-Dev-For-Beginners.git
> cd Web-Dev-For-Beginners > cd Web-Dev-For-Beginners
> git sparse-checkout set --no-cone '/*' '!translations' '!translated_images' > git sparse-checkout set --no-cone '/*' '!translations' '!translated_images'
> ``` > ```
>
> **CMD (Windows):**
> ```cmd
> git clone --filter=blob:none --sparse https://github.com/microsoft/Web-Dev-For-Beginners.git
> cd Web-Dev-For-Beginners
> git sparse-checkout set --no-cone "/*" "!translations" "!translated_images"
> ```
>
> Detta ger dig allt du behöver för att slutföra kursen med en mycket snabbare nedladdning. > Detta ger dig allt du behöver för att slutföra kursen med en mycket snabbare nedladdning.
<!-- CO-OP TRANSLATOR LANGUAGES TABLE END --> <!-- CO-OP TRANSLATOR LANGUAGES TABLE END -->
**Om du vill ha ytterligare översättningsspråk stödjs dessa [här](https://github.com/Azure/co-op-translator/blob/main/getting_started/supported-languages.md)** **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)**
[![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) [![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?_ #### 🧑‍🎓 _Ä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 även sätt att få ett gratis certifikat-voucher. Detta är sidan du vill bokmärka och kolla då och då eftersom vi byter ut innehållet 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å ett gratis certifikatvoucher. Detta är sidan du vill bokmärka och kolla in då och då eftersom vi uppdaterar innehåll varje månad.
### 📣 Meddelande - Nya GitHub Copilot Agent-lägesutmaningar att slutföra! ### 📣 Meddelande - Nya GitHub Copilot Agent-lägesutmaningar 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äge. Om du inte har använt Agent-läge tidigare kan det inte bara generera text utan kan också skapa och redigera filer, köra kommandon med mera. 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.
### 📣 Meddelande - _Nytt projekt att bygga med Generativ AI_ ### 📣 Meddelande - _Nytt projekt att bygga med Generativ AI_
Nytt AI Assistant-projekt nyligen tillagt, kolla in det [projekt](./9-chat-project/README.md) Nytt AI-assistentprojekt just tillagt, kolla in det [projektet](./9-chat-project/README.md)
### 📣 Meddelande - _Ny läroplan_ om Generativ AI för JavaScript har just släppts ### 📣 Meddelande - _Ny läroplan_ om Generativ AI för JavaScript har just släppts
Missa inte vår nya läroplan för Generativ AI! Missa inte vår nya Generativ AI-läroplan!
Besök [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course) för att komma igång! 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) ![Background](../../translated_images/sv/background.148a8d43afde5730.webp)
- Lektioner som täcker allt från grunder till RAG. - Lektioner som täcker allt från grunder till RAG.
- Interagera med historiska karaktärer med GenAI och vår app. - Interagera med historiska karaktärer med GenAI och vår medföljande app.
- Rolig och engagerande berättelse, du kommer att resa i tiden! - Rolig och engagerande berättelse, du kommer att tidsresa!
![character](../../translated_images/sv/character.5c0dd8e067ffd693.webp) ![character](../../translated_images/sv/character.5c0dd8e067ffd693.webp)
Varje lektion innehåller en uppgift att slutföra, en kunskapskontroll och en utmaning som vägleder dig genom ämnen som:
- Frågeteknik och promptteknik 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
- Text- och bildappsgenerering - Text- och bildappsgenerering
- Sökappar - Sökappar
@ -82,130 +93,127 @@ Besök [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course) för att
## 🌱 Komma igång ## 🌱 Komma igång
> **Lärare**, vi har [inkluderat några förslag](for-teachers.md) om hur du kan använda 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 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ärande](https://aka.ms/student-page/?WT.mc_id=academic-77807-sagibbon)**, för varje lektion, börja med en för-foreläsningsfrågesport och fortsätt med att läsa föreläsningsmaterialet, komplettera de olika aktiviteterna och kontrollera din förståelse med post-foreläsningsfrågesporten. **[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.
För att förbättra din inlärningsupplevelse, anslut med dina kamrater för att arbeta med 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 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 vidareutbilda dig 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 utforska [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ö ### 📋 Ställa in 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, ingen installation behövs-miljö_), 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ö 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).
#### Skapa ditt förråd #### Skapa ditt repository
För att du enkelt ska kunna spara ditt arbete rekommenderas att du skapar din egen kopia av detta förråd. Du kan göra detta genom att klicka på knappen **Use this template** högst upp på sidan. Detta skapar ett nytt förråd i ditt GitHub-konto med en kopia av läroplanen. 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.
Följ dessa steg: Följ dessa steg:
1. **Forka FÖrrådet**: Klicka på "Fork"-knappen i det övre högra hörnet på denna sida. 1. **Forka Repositoryt**: Klicka på knappen "Fork" uppe i högra hörnet på denna sida.
2. **Klona FÖrrådet**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git` 2. **Klona Repositoryt**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git`
#### Köra läroplanen i en Codespace #### Köra läroplanen i en Codespace
I din kopia av detta förråd som du skapade, klicka på **Code**-knappen och välj **Open with Codespaces**. Detta skapar en ny Codespace för dig att arbeta i. 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.
![Codespace](../../translated_images/sv/createcodespace.0238bbf4d7a8d955.webp) ![Codespace](../../translated_images/sv/createcodespace.0238bbf4d7a8d955.webp)
#### Köra läroplanen lokalt på din dator #### 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](../../1-getting-started-lessons/1-intro-to-programming-languages), guidar dig genom olika alternativ för varje 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 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.
Vårt rekommenderade redigeringsprogram är [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) 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 ä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).
1. Klona ditt förråd till din dator. Du kan göra detta genom att klicka på **Code**-knappen och kopiera URL: 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) [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, byt 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, där du byter ut `<your-repository-url>` mot URL:en du just kopierade:
```bash ```bash
git clone <your-repository-url> git clone <your-repository-url>
``` ```
2. Öppna mappen i Visual Studio Code. Det kan du göra genom att klicka på **File** > **Open Folder** och välja mappen du just klonade. 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 i Visual Studio Code > * [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 > * [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 inkluderar: ## 📂 Varje lektion innehåller:
- valfri sketchnote - valfritt skissnotat
- valfri kompletterande video - valfri kompletterande video
- förberedande quiz före lektionen - värmande quiz före lektionen
- skriftlig lektion - skriven lektion
- för projektbaserade lektioner, steg-för-steg guider för hur man bygger projektet - för projektbaserade lektioner, steg-för-steg-guider för att bygga projektet
- kunskapskontroller - kunskapskontroller
- en utmaning - en utmaning
- kompletterande läsning - kompletterande läsning
- uppgift - uppgift
- [quiz efter lektionen](https://ff-quizzes.netlify.app/web/) - [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/), quiz-appen kan köras lokalt eller distribueras till Azure; följ instruktionerna i mappen `quiz-app`. > **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.
## 🗃️ Lektioner ## 🗃️ Lektioner
| | Projektnamn | Undervisade koncept | Lärandemål | Länkad lektion | Författare | | | Projektnamn | Undervisade koncept | Lärandemål | Länkad lektion | Författare |
| :-: | :----------------------------------------------------: | :------------------------------------------------------------------------: | -------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------: | :-------------------------: | | :-: | :------------------------------------------------------: | :--------------------------------------------------------------------: | --------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------: | :---------------------: |
| 01 | Kom igång | Introduktion till programmering och verktyg | Lär dig de grundläggande principerna bakom de flesta programmeringsspråk och programvara som hjälper professionella utvecklare | [Introduktion till programmeringsspråk och verktyg](./1-getting-started-lessons/1-intro-to-programming-languages/README.md) | Jasmine | | 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 | Grunder i GitHub, inklusive samarbete i team | Hur man använder GitHub i sitt projekt, och hur man samarbetar med andra i en kodbas | [Introduktion till GitHub](./1-getting-started-lessons/2-github-basics/README.md) | Floor | | 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 webbtillgänglighet | [Grundläggande tillgänglighet](./1-getting-started-lessons/3-accessibility/README.md) | Christopher | | 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 | | 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 applikationens logik | [Funktioner och metoder](./2-js-basics/2-functions-methods/README.md) | Jasmine och Christopher | | 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 att skapa villkor i din kod med hjälp av beslutsfattandemetoder | [Beslutsfattande](./2-js-basics/3-making-decisions/README.md) | Jasmine | | 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 genom arrayer och loopar i JavaScript | [Arrayer och loopar](./2-js-basics/4-arrays-loops/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:en för att skapa ett online-terrarium, med fokus på layout | [Introduktion till HTML](./3-terrarium/1-intro-to-html/README.md) | Jen | | 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:en för att styla online-terrarium, med fokus på CSS-grunder, inklusive responsivt webbdesign | [Introduktion till CSS](./3-terrarium/2-intro-to-css/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-manipulation | Bygg JavaScript för att få terrariet att fungera som ett drag/drop-gränssnitt, med fokus på closures och DOM-manipulation | [JavaScript-closures, DOM-manipulation](./3-terrarium/3-intro-to-DOM-and-closures/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 tangentbordevenemang för att styra logiken i din JavaScript-app | [Händelsestyrd programmering](./4-typing-game/typing-game/README.md) | Christopher | | 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 skissar de första elementen i en webbläsartillägg | [Om webbläsare](./5-browser-extension/1-about-browsers/README.md) | Jen | | 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) | Bygg ett formulär, anropa en API och lagra variabler lokalt | Bygg JavaScript-komponenterna i din webbläsartillägg för att anropa en API med hjälp av variabler lagrade lokalt | [API:er, formulär och lokal lagring](./5-browser-extension/2-forms-browsers-local-storage/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, webbprestanda | Använd webbläsarens bakgrundsprocesser för att hantera tilläggets ikon; lär dig om webbprestanda och vissa optimeringar | [Bakgrundsuppgifter och prestanda](./5-browser-extension/3-background-tasks-and-performance/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 | | 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 | | 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 | | 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) | Kollisionsdetektion | Få element att kollidera och reagera på varandra med hjälp av knapptryckningar och ge en cooldown-funktion för spelets prestanda| [Kollisionsdetektion](./6-space-game/4-collision-detection/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 baserat på spelets status och prestanda | [Poängräkning](./6-space-game/5-keeping-score/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 variabelvärden | [Avslutsvillkor](./6-space-game/6-end-condition/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 grunden till en multipages webbplats arkitektur med routing och HTML-mallar | [HTML-mallar och rutter](./7-bank-project/1-template-route/README.md) | Yohan | | 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 om att bygga formulär och hantera valideringsrutiner | [Formulär](./7-bank-project/2-forms/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) | Sätt att hämta och använda data | Hur data flyter in och ut ur din app, hur man hämtar, lagrar och gör sig av med det | [Data](./7-bank-project/3-data/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 i tillståndshantering | Lär dig hur din app behåller tillstånd och hur du hanterar det programmässigt | [Tillståndshantering](./7-bank-project/4-state-management/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 hur man använder en kodredigerare | [Använd VScode Code Editor](./8-code-editor/1-using-a-code-editor/README.md) | Chris | | 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 hur du bygger din egen AI-assistent | [AI Assistentprojekt](./9-chat-project/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 |
## 🏫 Pedagogik ## 🏫 Pedagogik
Vår läroplan är utformad med två viktiga pedagogiska principer i åtanke: Vårt läroplan är utformat med två viktiga pedagogiska principer i åtanke:
* projektbaserat lärande * projektbaserat lärande
* frekventa quiz * frekventa quiz
Programmet lär ut grunderna i JavaScript, HTML och CSS, samt de senaste verktygen och teknikerna som används av dagens webbutvecklare. Studenter får möjlighet att utveckla praktisk erfarenhet genom att bygga ett skrivspel, ett virtuellt terrarium, en miljövänlig webbläsartillägg, ett rymd-invaderarspel och en bankapp för företag. I slutet av serien kommer studenter att ha en gedigen förståelse för webbutveckling. 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.
> 🎓 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! > 🎓 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 överensstämmer med projekten blir processen mer engagerande för studenterna och konceptens bestående förstärks. Vi skrev också flera grundläggande lektioner i JavaScript 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, vars några 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ågrisk-quiz före en lektion studentens fokus mot att lära sig ett ämne, medan ett andra quiz efter lektionen säkerställer ytterligare bestående förståelse. Denna läroplan är designad för att vara flexibel och rolig och kan tas i sin helhet eller delvis. Projekten börjar smått och blir successivt mer komplexa vid slutet av 12-veckorscykeln.
Medan vi medvetet har undvikit att introducera JavaScript-ramverk för att fokusera på grundläggande färdigheter som webbutvecklare innan ett ramverk används, är ett bra nästa steg efter att ha genomfört 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)". 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.
> Besök våra riktlinjer för [Uppförandekod](CODE_OF_CONDUCT.md) och [Bidrag](CONTRIBUTING.md). Vi välkomnar din konstruktiva feedback! Ä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 [Uppförandekod](CODE_OF_CONDUCT.md) och [Bidragsgivare](CONTRIBUTING.md) riktlinjer. Vi välkomnar din konstruktiva feedback!
## 🧭 Offlineåtkomst ## 🧭 Offlineåtkomst
Du kan köra denna dokumentation offline genom att använda [Docsify](https://docsify.js.org/#/). Forka detta repo, [installera Docsify](https://docsify.js.org/#/quickstart) på din lokala maskin, och sedan i rotmappen av detta repo skriver du `docsify serve`. 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 dator, och skriv sedan `docsify serve` i rotmappen för detta repo. Webbplatsen kommer att serveras på port 3000 på din localhost: `localhost:3000`.
## 📘 PDF ## 📘 PDF
En PDF med alla lektioner finns [här](https://microsoft.github.io/Web-Dev-For-Beginners/pdf/readme.pdf). En PDF med alla lektioner finns [här](https://microsoft.github.io/Web-Dev-For-Beginners/pdf/readme.pdf).
## 🎒 Andra kurser ## 🎒 Andra kurser
Vårt team producerar andra kurser! Kolla in: Vårt team producerar andra kurser! Kolla in:
<!-- CO-OP TRANSLATOR OTHER COURSES START --> <!-- CO-OP TRANSLATOR OTHER COURSES START -->
@ -223,7 +231,7 @@ Vårt team producerar andra kurser! Kolla in:
--- ---
### Generative AI Series ### Generativ AI-serie
[![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 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 (.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) [![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)
@ -231,7 +239,7 @@ Vårt team producerar andra kurser! Kolla in:
--- ---
### Core Learning ### Kärnlärande
[![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) [![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) [![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) [![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)
@ -242,7 +250,7 @@ Vårt team producerar andra kurser! Kolla in:
--- ---
### Copilot Series ### Copilot-serie
[![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 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 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) [![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)
@ -250,21 +258,21 @@ Vårt team producerar andra kurser! Kolla in:
## Få hjälp ## Få hjälp
Om du fastnar eller har några frågor om att bygga AI-appar. Gå med andra studenter och erfarna utvecklare i diskussioner om MCP. Det är en stödjande gemenskap där frågor är välkomna och kunskap delas fritt. 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.
[![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG) [![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG)
Om du har produktfeedback eller stöter på fel under byggandet, besök: Om du har produktfeedback eller felaktigheter när du bygger, 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) [![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 ## Licens
Detta förråd är licensierat under MIT-licensen. Se filen [LICENSE](../../LICENSE) för mer information. Detta arkiv är licensierat under MIT-licensen. Se filen [LICENSE](../../LICENSE) för mer information.
--- ---
<!-- CO-OP TRANSLATOR DISCLAIMER START --> <!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Ansvarsfriskrivning**: **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, var god notera att automatiska översättningar kan innehålla fel eller brister. 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 några missförstånd eller feltolkningar som uppstår till följd av användningen 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 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.
<!-- CO-OP TRANSLATOR DISCLAIMER END --> <!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -1,7 +1,7 @@
{ {
"1-getting-started-lessons/1-intro-to-programming-languages/README.md": { "1-getting-started-lessons/1-intro-to-programming-languages/README.md": {
"original_hash": "d45ddcc54eb9232a76d08328b09d792e", "original_hash": "bec5e35642176d9e483552bfc82996d8",
"translation_date": "2026-01-06T22:22:09+00:00", "translation_date": "2026-03-06T12:11:30+00:00",
"source_file": "1-getting-started-lessons/1-intro-to-programming-languages/README.md", "source_file": "1-getting-started-lessons/1-intro-to-programming-languages/README.md",
"language_code": "th" "language_code": "th"
}, },
@ -493,7 +493,7 @@
}, },
"AGENTS.md": { "AGENTS.md": {
"original_hash": "a362efd06d64d4134a0cfe8515a86d34", "original_hash": "a362efd06d64d4134a0cfe8515a86d34",
"translation_date": "2026-02-06T17:22:44+00:00", "translation_date": "2026-03-06T12:19:35+00:00",
"source_file": "AGENTS.md", "source_file": "AGENTS.md",
"language_code": "th" "language_code": "th"
}, },
@ -516,8 +516,8 @@
"language_code": "th" "language_code": "th"
}, },
"README.md": { "README.md": {
"original_hash": "6d6385fd098088cb2d690fb0a6cdaedc", "original_hash": "a2c9eed480687319517c08a6319e5536",
"translation_date": "2026-02-06T17:15:05+00:00", "translation_date": "2026-03-06T12:07:39+00:00",
"source_file": "README.md", "source_file": "README.md",
"language_code": "th" "language_code": "th"
}, },

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

@ -12,200 +12,210 @@
# การพัฒนาเว็บสำหรับผู้เริ่มต้น - หลักสูตร # การพัฒนาเว็บสำหรับผู้เริ่มต้น - หลักสูตร
เรียนรู้พื้นฐานของการพัฒนาเว็บกับหลักสูตรครอบคลุม 12 สัปดาห์ของเราโดย Microsoft Cloud Advocates แต่ละบทเรียนทั้ง 24 บทเรียนจะเจาะลึก JavaScript, CSS, และ HTML ผ่านโปรเจกต์ปฏิบัติ เช่น เทอร์ราเรียม, ส่วนขยายเบราว์เซอร์ และเกมอวกาศ พร้อมส่วนร่วมกับแบบทดสอบ, การสนทนา และงานปฏิบัติ พัฒนาทักษะและเพิ่มประสิทธิภาพการเก็บความรู้ของคุณด้วยวิธีการสอนผ่านโปรเจกต์ที่ได้ผล เริ่มต้นเส้นทางการเขียนโค้ดของคุณวันนี้! เรียนรู้พื้นฐานของการพัฒนาเว็บด้วยคอร์ส 12 สัปดาห์แบบครบวงจรโดย Microsoft Cloud Advocates แต่ละบทเรียน 24 บท จะเจาะลึก JavaScript, CSS และ HTML ผ่านโครงการทำมือเช่น เทอร์ราเรียม, ส่วนขยายเบราว์เซอร์ และเกมอวกาศ มส่วนร่วมกับแบบทดสอบ, การสนทนา และงานปฏิบัติ เพิ่มพูนทักษะของคุณและเพิ่มประสิทธิภาพในการจดจำความรู้ด้วยวิธีการสอนที่มุ่งเน้นโครงการ เริ่มต้นเส้นทางการเขียนโค้ดของคุณวันนี้!
เข้าร่วมชุมชน Discord Azure AI Foundry เข้าร่วมชุมชน Azure AI Foundry Discord
[![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG) [![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. **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. **โคลนที่เก็บ**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git` 2. **CloneRepository**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git`
3. [**เข้าร่วม Azure AI Foundry Discord และพบปะผู้เชี่ยวชาญและนักพัฒนาร่วมกัน**](https://discord.com/invite/ByRwuEEgH4) 3. [**เข้าร่วม Azure AI Foundry Discord และพบปะผู้เชี่ยวชาญและนักพัฒนาร่วมกัน**](https://discord.com/invite/ByRwuEEgH4)
### 🌐 การสนับสนุนหลายภาษา ### 🌐 รองรับหลายภาษา
#### สนับสนุนผ่าน GitHub Action (อัตโนมัติ & อัปเดตเสมอ) #### รองรับผ่าน GitHub Action (ทำงานอัตโนมัติ & เป็นปัจจุบันเสมอ)
<!-- CO-OP TRANSLATOR LANGUAGES TABLE START --> <!-- 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) | [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 ภาษา ซึ่งเพิ่มขนาดการดาวน์โหลดอย่างมาก หากต้องการโคลนโดยไม่รวมการแปล ให้ใช้ sparse checkout:
>
> **Bash / macOS / Linux:**
> ```bash > ```bash
> git clone --filter=blob:none --sparse https://github.com/microsoft/Web-Dev-For-Beginners.git > git clone --filter=blob:none --sparse https://github.com/microsoft/Web-Dev-For-Beginners.git
> cd Web-Dev-For-Beginners > cd Web-Dev-For-Beginners
> git sparse-checkout set --no-cone '/*' '!translations' '!translated_images' > git sparse-checkout set --no-cone '/*' '!translations' '!translated_images'
> ``` > ```
> ซึ่งจะให้คุณทุกอย่างที่จำเป็นสำหรับหลักสูตรด้วยการดาวน์โหลดที่รวดเร็วขึ้นมาก >
> **CMD (Windows):**
> ```cmd
> git clone --filter=blob:none --sparse https://github.com/microsoft/Web-Dev-For-Beginners.git
> cd Web-Dev-For-Beginners
> git sparse-checkout set --no-cone "/*" "!translations" "!translated_images"
> ```
>
> นี้จะให้คุณทุกอย่างที่จำเป็นสำหรับการทำคอร์สด้วยความเร็วดาวน์โหลดที่เร็วขึ้นมาก
<!-- CO-OP TRANSLATOR LANGUAGES TABLE END --> <!-- 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) [![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) ซึ่งคุณจะพบทรัพยากรสำหรับผู้เริ่มต้น, ชุดนักเรียน และวิธีรับบัตรกำนัลประกาศนียบัตรฟรี นี่คือหน้าที่คุณควรกดบุ๊กมาร์กและตรวจสอบเป็นระยะเนื่องจากเราจะเปลี่ยนเนื้อหาทุกเดือน เยี่ยมชม [**หน้า 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_ ### 📣 ประกาศ - _โครงการใหม่ที่ใช้ Generative AI_
เพิ่มโปรเจกต์ AI Assistant ใหม่เพิ่งเพิ่มเข้ามา ลองดูได้ที่ [โปรเจกต์](./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) เพื่อเริ่มต้น! เยี่ยมชม [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course) เพื่อเริ่มต้น!
![Background](../../translated_images/th/background.148a8d43afde5730.webp) ![Background](../../translated_images/th/background.148a8d43afde5730.webp)
- บทเรียนครอบคลุมทุกอย่างตั้งแต่พื้นฐานจนถึง RAG - บทเรียนครอบคลุมตั้งแต่พื้นฐานถึง RAG
- โต้ตอบกับตัวละครประวัติศาสตร์โดยใช้ GenAI และแอปคู่ของเรา - มีปฏิสัมพันธ์กับตัวละครในประวัติศาสตร์โดยใช้ GenAI และแอปคู่หูของเรา
- เนื้อเรื่องสนุกและน่าติดตาม คุณจะได้เดินทางข้ามเวลา! - เรื่องราวสนุกสนานและน่าติดตาม คุณจะได้เดินทางข้ามเวลา!
![character](../../translated_images/th/character.5c0dd8e067ffd693.webp) ![character](../../translated_images/th/character.5c0dd8e067ffd693.webp)
แต่ละบทเรียนมีการมอบหมายงานให้ทำ การตรวจเช็คความรู้ และความท้าทายเพื่อแนะนำการเรียนรู้หัวข้อต่าง ๆ เช่น:
แต่ละบทเรียนประกอบด้วยงานที่ต้องทำ, การตรวจสอบความรู้ และความท้าทายเพื่อแนะนำการเรียนรู้หัวข้อต่าง ๆ เช่น: - การเขียนพรอมต์และการออกแบบพรอมต์
- การตั้งค่าและออกแบบ prompt - การสร้างแอปข้อความและภาพ
- การสร้างแอปข้อความและรูปภาพ
- แอปค้นหา - แอปค้นหา
เยี่ยมชม [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course) เพื่อเริ่มต้น! เยี่ยมชม [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course) เพื่อเริ่มต้น!
## 🌱 การเริ่มต้นใช้งาน ## 🌱 การเริ่มต้น
> **ครูผู้สอน** เราได้ [รวมคำแนะนำ](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 ของคุณ
เพื่อความสะดวกในการบันทึกงานของคุณ ควรสร้างสำเนาของที่เก็บนี้โดยคลิกปุ่ม **Use this template** ที่ด้านบนของหน้าเพื่อสร้างที่เก็บใหม่ในบัญชี GitHub ของคุณที่มีสำเนาหลักสูตรนี้ เพื่อให้คุณบันทึกงานของคุณได้ง่าย ขอแนะนำให้คุณสร้างสำเนาของ repository นี้โดยคลิกปุ่ม **Use this template** ที่ด้านบนของหน้า ซึ่งจะสร้าง repository ใหม่ในบัญชี GitHub ของคุณโดยมีสำเนาหลักสูตรนี้
ทำตามขั้นตอนเหล่านี้: ทำตามขั้นตอนเหล่านี้:
1. **Fork ที่เก็บ**: คลิกที่ปุ่ม "Fork" ที่มุมบนขวาของหน้านี้ 1. **Fork Repository**: คลิกปุ่ม "Fork" ที่มุมขวาบนของหน้านี้
2. **โคลนที่เก็บ**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git` 2. **Clone Repository**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git`
#### การใช้งานหลักสูตรใน Codespace #### รันหลักสูตรใน Codespace
ในสำเนาที่เก็บของคุณที่สร้างไว้ คลิกปุ่ม **Code** และเลือก **Open with Codespaces** ขั้นตอนนี้จะสร้าง Codespace ใหม่ให้คุณทำงานได้ ในสำเนาของ repository ที่คุณสร้าง คลิกปุ่ม **Code** และเลือก **Open with Codespaces** ซึ่งจะสร้าง Codespace ใหม่ให้คุณทำงาน
![Codespace](../../translated_images/th/createcodespace.0238bbf4d7a8d955.webp) ![Codespace](../../translated_images/th/createcodespace.0238bbf4d7a8d955.webp)
#### การใช้งานหลักสูตรในเครื่องของคุณ #### รันหลักสูตรบนคอมพิวเตอร์ของคุณเอง
ในการรันหลักสูตรนี้บนเครื่องของคุณ คุณจะต้องมีโปรแกรมแก้ไขข้อความ, เบราว์เซอร์ และเครื่องมือบรรทัดคำสั่ง บทเรียนแรกของเรา [แนะนำภาษาโปรแกรมและเครื่องมือ](../../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 [ที่นี่](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon)
การรันหลักสูตรนี้บนคอมพิวเตอร์ของคุณ คุณจะต้องมีตัวแก้ไขข้อความ, เบราว์เซอร์ และเครื่องมือบรรทัดคำสั่ง บทเรียนแรกของเรา, [บทนำสู่ภาษาโปรแกรมและเครื่องมือ](../../1-getting-started-lessons/1-intro-to-programming-languages), จะแนะนำตัวเลือกต่าง ๆ สำหรับเครื่องมือเหล่านี้เพื่อให้คุณเลือกใช้ที่เหมาะสมกับคุณ
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 ได้ที่นี่ [here](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon)
1. โคลนที่เก็บของคุณไปยังคอมพิวเตอร์ของคุณ คุณสามารถทำได้โดยการคลิกปุ่ม **Code** และคัดลอก URL:
[CodeSpace](./images/createcodespace.png) [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 ```bash
git clone <your-repository-url> 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 > * [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) - เพื่อช่วยให้คุณเขียนโค้ดได้เร็วขึ้น
## 📂 แต่ละบทเรียนประกอบด้วย: ## 📂 แต่ละบทเรียนประกอบด้วย:
- สเก็ตช์โน้ตเสริม (ถ้ามี) - สมุดสเก็ตช์ตัวเลือกเสริม
- วิดีโอเสริม (ถ้ามี) - วิดีโอเสริมหากต้องการ
- แบบทดสอบก่อนเรียน - แบบทดสอบทบทวก่อนบทเรียน
- บทเรียนเขียน - บทเรียนที่เขียนไว้
- สำหรับบทเรียนที่เป็นแบบโครงการ มีคำแนะนำทีละขั้นตอนในการสร้างโครงการ - สำหรับบทเรียนที่เป็นโครงงาน มีคำแนะนำทีละขั้นตอนเกี่ยวกับวิธีการสร้างโครงงาน
- การตรวจสอบความรู้ - การตรวจสอบความรู้
- ความท้าทาย - ความท้าทาย
- การอ่านเสริม - การอ่านเพิ่มเติมเสริม
- การบ้าน - การบ้าน
- [แบบทดสอบหลังเรียน](https://ff-quizzes.netlify.app/web/) - [แบบทดสอบหลังบทเรียน](https://ff-quizzes.netlify.app/web/)
> **หมายเหตุเกี่ยวกับแบบทดสอบ**: แบบทดสอบทั้งหมดอยู่ในโฟลเดอร์ Quiz-app รวม 48 แบบทดสอบ แต่ละแบบมีสามคำถาม คุณสามารถเข้าถึงได้ที่ [นี่](https://ff-quizzes.netlify.app/web/) แอปแบบทดสอบสามารถรันแบบออฟไลน์หรือเผยแพร่บน Azure ได้; โปรดปฏิบัติตามคำแนะนำในโฟลเดอร์ `quiz-app` > **หมายเหตุเกี่ยวกับแบบทดสอบ**: แบบทดสอบทั้งหมดอยู่ในโฟลเดอร์ Quiz-app มีแบบทดสอบทั้งหมด 48 ชุด ชุดละสามคำถาม คุณสามารถเข้าถึงได้ที่ [นี่](https://ff-quizzes.netlify.app/web/) ซึ่งแอปแบบทดสอบสามารถรันแบบออฟไลน์หรือปรับใช้บน Azure ได้; ทำตามคำแนะนำในโฟลเดอร์ `quiz-app`
## 🗃️ บทเรียน ## 🗃️ บทเรียน
| | ชื่อโปรเจค | แนวคิดที่สอน | เป้าหมายการเรียนรู้ | บทเรียนที่เชื่อมโยง | ผู้เขียน | | | ชื่อโครงการ | แนวคิดที่สอน | วัตถุประสงค์การเรียนรู้ | บทเรียนที่ลิงก์ | ผู้เขียน |
| :-: | :------------------------------------------------------: | :--------------------------------------------------------------------: | ----------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------: | :---------------------: | | :-: | :------------------------------------------------------: | :--------------------------------------------------------------------: | ----------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------: | :---------------------: |
| 01 | Getting Started | บทนำสู่การเขียนโปรแกรมและเครื่องมือที่ใช้ในการทำงาน | เรียนรู้พื้นฐานของภาษาการเขียนโปรแกรมส่วนใหญ่และเกี่ยวกับซอฟต์แวร์ที่ช่วยให้นักพัฒนามืออาชีพทำงานได้อย่างมีประสิทธิภาพ | [Intro to Programming Languages and Tools of the Trade](./1-getting-started-lessons/1-intro-to-programming-languages/README.md) | Jasmine | | 01 | เริ่มต้นใช้งาน | บทนำสู่การเขียนโปรแกรมและเครื่องมือในงานพัฒนา | เรียนรู้พื้นฐานเบื้องต้นที่อยู่เบื้องหลังภาษาการเขียนโปรแกรมส่วนใหญ่ และเกี่ยวกับซอฟต์แวร์ที่ช่วยให้นักพัฒนามืออาชีพทำงานได้ | [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 | | 02 | เริ่มต้นใช้งาน | พื้นฐาน 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 | | 03 | เริ่มต้นใช้งาน | การเข้าถึง | เรียนรู้พื้นฐานการเข้าถึงเว็บ | [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 | | 04 | JS เบื้องต้น | ประเภทข้อมูลใน 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 | | 05 | JS เบื้องต้น | ฟังก์ชันและเมธอด | เรียนรู้เกี่ยวกับฟังก์ชันและเมธอดเพื่อจัดการลอจิกของแอปพลิเคชัน | [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 | | 06 | JS เบื้องต้น | การตัดสินใจด้วย 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 | | 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 เพื่อสร้างเทอร์ราเรียมออนไลน์ โดยเน้นการสร้างเลย์เอาต์ | [Introduction to HTML](./3-terrarium/1-intro-to-html/README.md) | Jen | | 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 เพื่อจัดแต่งเทอร์ราเรียมออนไลน์ โดยเน้นพื้นฐานของ CSS รวมถึงการทำให้หน้าเว็บตอบสนอง | [Introduction to CSS](./3-terrarium/2-intro-to-css/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 เพื่อให้เทอร์ราเรียมทำงานเป็นอินเทอร์เฟซลากและวาง โดยเน้นที่ closures และการจัดการ DOM | [JavaScript Closures, DOM manipulation](./3-terrarium/3-intro-to-DOM-and-closures/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 | | 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 | | 12 | [ส่วนขยายเบราว์เซอร์สีเขียว](./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 | | 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 | [Green Browser Extension](./5-browser-extension/solution/README.md) | กระบวนการพื้นหลังในเบราว์เซอร์, ประสิทธิภาพเว็บ | ใช้กระบวนการพื้นหลังของเบราว์เซอร์เพื่อจัดการไอคอนของส่วนขยาย; ศึกษาเกี่ยวกับประสิทธิภาพเว็บและการปรับแต่งบางอย่างเพื่อทำให้ | [Background Tasks and Performance](./5-browser-extension/3-background-tasks-and-performance/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 | เรียนรู้เกี่ยวกับการสืบทอดโดยใช้ทั้ง Classes และ Composition และรูปแบบ Pub/Sub เพื่อเตรียมพร้อมสำหรับการสร้างเกม | [Introduction to Advanced Game Development](./6-space-game/1-introduction/README.md) | Chris | | 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 | | 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 | | 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) | การตรวจจับการชน | ทำให้องค์ประกอบชนกันและตอบสนองต่อกันโดยใช้การกดปุ่ม แถมมีฟังก์ชัน cooldown เพื่อรักษาประสิทธิภาพของเกม | [Collision Detection](./6-space-game/4-collision-detection/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 | | 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 | | 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 | | 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 | | 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 | | 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 | | 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 | | 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 | | 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 และแอปธนาคารสำหรับธุรกิจ เมื่อจบชุดบทเรียน นักเรียนจะมีความเข้าใจที่ดีเกี่ยวกับการพัฒนาเว็บ
* การเรียนรู้ผ่านโครงการ
* แบบทดสอบบ่อยครั้ง
โปรแกรมสอนพื้นฐานของ JavaScript, HTML และ CSS รวมถึงเครื่องมือและเทคนิคล่าสุดที่นักพัฒนาเว็บสมัยใหม่ใช้ นักเรียนจะมีโอกาสได้รับประสบการณ์ปฏิบัติจริงโดยการสร้างเกมพิมพ์ดีด เทอร์ราเรียมเสมือน ส่วนขยายเบราว์เซอร์สีเขียว เกมอวกาศสไตล์ space-invader และแอปธนาคารสำหรับธุรกิจ เมื่อจบซีรีส์นี้ นักเรียนจะมีความเข้าใจแท้จริงเกี่ยวกับการพัฒนาเว็บ > 🎓 คุณสามารถเรียนบทเรียนแรก ๆ ในหลักสูตรนี้เป็น [เส้นทางการเรียนรู้](https://docs.microsoft.com/learn/paths/web-development-101/?WT.mc_id=academic-77807-sagibbon) บน Microsoft Learn!
> 🎓 คุณสามารถเรียนบทเรียนแรก ๆ ของหลักสูตรนี้ในรูปแบบ [Learn Path](https://docs.microsoft.com/learn/paths/web-development-101/?WT.mc_id=academic-77807-sagibbon) บน Microsoft Learn! โดยการทำให้เนื้อหาสอดคล้องกับโครงงาน กระบวนการเรียนรู้จะน่าสนใจขึ้นสำหรับนักเรียนและการจดจำแนวคิดจะดีขึ้น เราได้เขียนบทเรียนเริ่มต้นหลายบทเกี่ยวกับพื้นฐาน JavaScript เพื่อแนะนำแนวคิด พร้อมกับวิดีโอจากชุด "[Beginners Series to: JavaScript](https://channel9.msdn.com/Series/Beginners-Series-to-JavaScript/?WT.mc_id=academic-77807-sagibbon)" ชุดวิดีโอสอนซึ่งผู้เขียนบางท่านมีส่วนร่วมในการจัดทำหลักสูตรนี้
ด้วยการทำให้เนื้อหาสอดคล้องกับโครงการ ขั้นตอนการเรียนการสอนจึงน่าสนใจขึ้นสำหรับนักเรียนและช่วยเพิ่มการจดจำแนวคิด เราเขียนบทเรียนเริ่มต้นหลายบทเกี่ยวกับพื้นฐานของ JavaScript เพื่อแนะนำแนวคิด พร้อมกับวิดีโอจากชุด "[Beginners Series to: JavaScript](https://channel9.msdn.com/Series/Beginners-Series-to-JavaScript/?WT.mc_id=academic-77807-sagibbon)" ซึ่งมีผู้เขียนบางท่านมีส่วนร่วมในการสร้างหลักสูตรนี้ นอกจากนี้ แบบทดสอบที่ความกดดันต่ำก่อนเข้าชั้นเรียนจะช่วยให้นักเรียนตั้งใจเรียนหัวข้อ และแบบทดสอบที่สองหลังเข้าชั้นเรียนช่วยเสริมสร้างการจดจำ หลักสูตรนี้ถูกออกแบบมาให้ยืดหยุ่นและสนุก และสามารถเรียนได้ทั้งหมดหรือบางส่วน โครงงานเริ่มเล็กและซับซ้อนมากขึ้นเรื่อย ๆ เมื่อเข้าสู่สัปดาห์ที่ 12
นอกจากนี้ แบบทดสอบความเสี่ยงต่ำก่อนเข้าเรียนช่วยตั้งความมุ่งมั่นของนักเรียนต่อการเรียนรู้หัวข้อ ในขณะที่แบบทดสอบที่สองหลังเรียนช่วยรักษาการจดจำ เนื้อหาหลักสูตรนี้ออกแบบมาให้ยืดหยุ่นและสนุกสนาน สามารถเรียนครบหรือบางส่วนก็ได้ โครงการเริ่มต้นเล็ก ๆ และมีความซับซ้อนเพิ่มขึ้นเรื่อย ๆ ภายใน 12 สัปดาห์ ในขณะที่เราได้ตั้งใจหลีกเลี่ยงการแนะนำเฟรมเวิร์ก JavaScript เพื่อมุ่งเน้นทักษะพื้นฐานที่จำเป็นสำหรับนักพัฒนาเว็บก่อนที่จะใช้เฟรมเวิร์ก ขั้นตอนถัดไปที่ดีในการเรียนรู้หลักสูตรนี้คือการเรียนรู้เกี่ยวกับ Node.js ผ่านชุดวิดีโออีกชุดหนึ่ง: "[Beginner Series to: Node.js](https://channel9.msdn.com/Series/Beginners-Series-to-Nodejs/?WT.mc_id=academic-77807-sagibbon)".
แม้เราจะจงใจหลีกเลี่ยงการแนะนำเฟรมเวิร์ก JavaScript เพื่อเน้นที่ทักษะพื้นฐานที่จำเป็นสำหรับนักพัฒนาเว็บก่อนจะใช้เฟรมเวิร์ก ขั้นตอนถัดไปที่ดีหลังจบหลักสูตรนี้คือการเรียนรู้ Node.js ผ่านชุดวิดีโออื่น: "[Beginner Series to: Node.js](https://channel9.msdn.com/Series/Beginners-Series-to-Nodejs/?WT.mc_id=academic-77807-sagibbon)" > เยี่ยมชม [Code of Conduct](CODE_OF_CONDUCT.md) และแนวทาง [การมีส่วนร่วม](CONTRIBUTING.md) ของเรา เรายินดีรับข้อเสนอแนะเชิงสร้างสรรค์จากคุณ!
> เยี่ยมชม [Code of Conduct](CODE_OF_CONDUCT.md) และแนวทาง [Contributing](CONTRIBUTING.md) ของเรา เรายินดีรับฟังความคิดเห็นในการพัฒนาของคุณ!
## 🧭 การเข้าถึงแบบออฟไลน์ ## 🧭 การเข้าถึงแบบออฟไลน์
คุณสามารถรันเอกสารนี้แบบออฟไลน์โดยใช้ [Docsify](https://docsify.js.org/#/) โคลน repo นี้ ติดตั้ง Docsify บนเครื่องของคุณ แล้วในโฟลเดอร์หลักของ repo ให้พิมพ์ `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
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 --> <!-- CO-OP TRANSLATOR OTHER COURSES START -->
### LangChain ### LangChain
@ -249,21 +259,21 @@
## การขอความช่วยเหลือ ## การขอความช่วยเหลือ
ถ้าคุณติดปัญหาหรือมีคำถามใดๆ เกี่ยวกับการสร้างแอป AI เข้าร่วมกับผู้เรียนและนักพัฒนาที่มีประสบการณ์ในการสนทนาเกี่ยวกับ MCP นี่คือชุมชนที่ให้กำลังใจ ที่ซึ่งคำถามเป็นที่ต้อนรับและความรู้ถูกแบ่งปันอย่างเสรี หากคุณติดขัดหรือมีคำถามเกี่ยวกับการสร้างแอป AI เข้าร่วมกับผู้เรียนคนอื่นๆ และนักพัฒนาที่มีประสบการณ์ในการอภิปรายเกี่ยวกับ MCP นี่คือชุมชนที่สนับสนุนซึ่งเปิดรับคำถามและแบ่งปันความรู้กันอย่างเสรี
[![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG) [![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) [![Microsoft Foundry Developer Forum](https://img.shields.io/badge/GitHub-Microsoft_Foundry_Developer_Forum-blue?style=for-the-badge&logo=github&color=000000&logoColor=fff)](https://aka.ms/foundry/forum)
## ใบอนุญาต ## ใบอนุญาต
ที่เก็บนี้ได้รับอนุญาตภายใต้ใบอนุญาต MIT ดูไฟล์ [LICENSE](../../LICENSE) สำหรับข้อมูลเพิ่มเติม. ที่เก็บนี้ได้รับใบอนุญาตภายใต้ใบอนุญาต MIT ดูไฟล์ [LICENSE](../../LICENSE) สำหรับข้อมูลเพิ่มเติม
--- ---
<!-- CO-OP TRANSLATOR DISCLAIMER START --> <!-- CO-OP TRANSLATOR 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 --> <!-- CO-OP TRANSLATOR DISCLAIMER END -->
Loading…
Cancel
Save