|
|
|
|
@ -1,30 +1,30 @@
|
|
|
|
|
# AGENTS.md
|
|
|
|
|
|
|
|
|
|
## ទិដ្ឋភាពសេចក្តីសង្ខេបគម្រោង
|
|
|
|
|
## ពិភាក្សាពីគម្រោង
|
|
|
|
|
|
|
|
|
|
នេះគឺជាគណនីយោបល់វគ្គសិក្សាសម្រាប់បង្ហាញមូលដ្ឋានអភិវឌ្ឍន៍គេហទំព័រដល់អ្នកចុងក្រោយ។ វគ្គសិក្សានេះជាវគ្គសិក្សាពេញលេញរយៈពេល ១២ សប្តាហ៍ដែលបានបង្កើតដោយ Microsoft Cloud Advocates មានមេរៀន ២៤ វគ្គដែលផ្តោតលើ JavaScript, CSS និង HTML។
|
|
|
|
|
នេះជាឃ្លាំងមេរៀនសិក្សាសម្រាប់បង្រៀនមូលដ្ឋាននៃការអភិវឌ្ឍវែបដល់អ្នកចាប់ផ្តើម។ មេរៀននេះជាកម្មវិធីសិក្សាពេញលេញរយៈពេល ១២ សប្តាហ៍ ដែលបានបង្កើតឡើងដោយអ្នករៀបចំកម្មវិធី Microsoft Cloud Advocates មានមេរៀនទាំងស្រុង ២៤ នៅក្នុងគម្រោងអនុវត្តន៍ដែលគ្របដណ្តប់លើ JavaScript, CSS និង HTML។
|
|
|
|
|
|
|
|
|
|
### ធាតុសំខាន់ៗ
|
|
|
|
|
### ផ្នែកសំខាន់ៗ
|
|
|
|
|
|
|
|
|
|
- **មាតិកាអប់រំ**៖ មេរៀន ២៤ វគ្គដែលបានរៀបចំក្នុងម៉ូឌុលផ្អែកលើគម្រោង
|
|
|
|
|
- **គម្រោងយ៉ាងជាក់ស្តែង**៖ Terrarium, Typing Game, Browser Extension, Space Game, Banking App, Code Editor, និង AI Chat Assistant
|
|
|
|
|
- **ការប្រលងអន្តរកម្ម**៖ ការប្រលង ៤៨ ប្រការ មួយក្នុងនីមួយៗមានសំណួរ ៣ (ការវាយតម្លៃមុន/ក្រោយមេរៀន)
|
|
|
|
|
- **គាំទ្រភាសាច្រើន**៖ បកប្រែកម្មវិធីស្វ័យប្រវត្តិនៅក្នុងភាសាច្រើនជាង ៥០ ជាមួយ GitHub Actions
|
|
|
|
|
- **មាតិកាសិក្សា**៖ មេរៀន ២៤ ដែលមានរចនាសម្ព័ន្ធ ក្នុងម៉ូឌុលមូលដ្ឋានគម្រោង
|
|
|
|
|
- **គម្រោងអនុវត្តន៍**៖ Terrarium, Typing Game, Browser Extension, Space Game, Banking App, Code Editor និង AI Chat Assistant
|
|
|
|
|
- **វិញ្ញាសាបែបមានអន្តរកម្ម**៖ វិញ្ញាសា ៤៨ ដែលមាន ៣ សំណួរក្នុងមួយវិញ្ញាសា (ប៉ុន្មានមុន / បន្ទាប់មេរៀន)
|
|
|
|
|
- **គាំទ្រភាសាច្រើន**៖ បកប្រែដោយស្វ័យប្រវត្តិជាង ៥០ ភាសា តាមរយៈ GitHub Actions
|
|
|
|
|
- **បច្ចេកវិទ្យា**៖ HTML, CSS, JavaScript, Vue.js 3, Vite, Node.js, Express, Python (សម្រាប់គម្រោង AI)
|
|
|
|
|
|
|
|
|
|
### សំណុំបែបបទ
|
|
|
|
|
### វិស្វកម្ម
|
|
|
|
|
|
|
|
|
|
- គណនីយោបល់អប់រំដែលមានរចនាសម្ព័ន្ធផ្អែកលើមេរៀន
|
|
|
|
|
- ការភ្ជាប់មេរៀននីមួយៗមាន README, ឧទាហរណ៍កូដ និងដំណោះស្រាយ
|
|
|
|
|
- គម្រោងឯករាជ្យក្នុងថតប្រៀបប្រដាប់ផ្សេងទៀត (quiz-app, គម្រោងវគ្គផ្សេងៗ)
|
|
|
|
|
- ប្រព័ន្ធបកប្រែប្រើ GitHub Actions (co-op-translator)
|
|
|
|
|
- เอกสารបែបគេហទំព័រដោយ Docsify ហើយអាចរកបានជា PDF
|
|
|
|
|
- ឃ្លាំងសម្រាប់ការសិក្សា ជារចនាសម្ព័ន្ធមេរៀន
|
|
|
|
|
- តំបន់មេរៀននីមួយៗមាន README, ឧទាហរណ៍កូដ និងដំណោះស្រាយ
|
|
|
|
|
- គម្រោងឯកាពេញខុសគ្នា (quiz-app, គម្រោងមេរៀនផ្សេងៗ)
|
|
|
|
|
- ប្រព័ន្ធបកប្រែដោយ GitHub Actions (co-op-translator)
|
|
|
|
|
- ឯកសារបង្ហាញតាម Docsify និងមានជាទម្រង់ PDF
|
|
|
|
|
|
|
|
|
|
## ពាក្យបញ្ជាបង្កើតបរិស្ថាន
|
|
|
|
|
## ពាក្យបញ្ជា Setup
|
|
|
|
|
|
|
|
|
|
គណនីនេះគឺសម្រាប់ផ្តល់មាតិកាអប់រំនៅជាចម្បង។ សម្រាប់ធ្វើការជាមួយគម្រោងជាក់លាក់៖
|
|
|
|
|
ឃ្លាំងនេះសំរាប់ការប្រើប្រាស់មាតិកាសិក្សាសម្រាប់សិស្ស។ សម្រាប់ធ្វើការអនុវត្តន៍ជាមួយគម្រោងពិសេស៖
|
|
|
|
|
|
|
|
|
|
### ការតំឡើងគណនីជាមេដ្ឋាន
|
|
|
|
|
### ការតំឡើងឃ្លាំងមេ
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
git clone https://github.com/microsoft/Web-Dev-For-Beginners.git
|
|
|
|
|
@ -36,159 +36,159 @@ cd Web-Dev-For-Beginners
|
|
|
|
|
```bash
|
|
|
|
|
cd quiz-app
|
|
|
|
|
npm install
|
|
|
|
|
npm run dev # ចាប់ផ្តើមម៉ាស៊ីនបម្រើអភិវឌ្ឍន៍
|
|
|
|
|
npm run build # សង់សម្រាប់ផលិតកម្ម
|
|
|
|
|
npm run lint # ប្រតិបត្តិ ESLint
|
|
|
|
|
npm run dev # ដំណើរការផ្ទុកបង្កើតសេវាកម្ម
|
|
|
|
|
npm run build # សាងសង់សម្រាប់ផលិតកម្ម
|
|
|
|
|
npm run lint # រត់ ESLint
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
### API គម្រោងធនាគារ (Node.js + Express)
|
|
|
|
|
### Banking Project API (Node.js + Express)
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
cd 7-bank-project/api
|
|
|
|
|
npm install
|
|
|
|
|
npm start # ចាប់ផ្តើមម៉ាស៊ីនបម្រើ API
|
|
|
|
|
npm run lint # ដំណើរការ ESLint
|
|
|
|
|
npm run format # រៀបចំដោយ Prettier
|
|
|
|
|
npm run format # ទ្រង់ទ្រាយជាមួយ Prettier
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
### គម្រោងបន្ថែម Browser Extension
|
|
|
|
|
### គម្រោង Browser Extension
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
cd 5-browser-extension/solution
|
|
|
|
|
npm install
|
|
|
|
|
# អនុវត្តន៍នីតិវិធីផ្ទុកផ្នែកបន្ថែមដែលផ្ទាល់ខ្លួនសម្រាប់កម្មវិធីរុករក។
|
|
|
|
|
# អនុវត្តតាមការណែនាំការផ្ទុកបន្ថែមដែលជាក់លាក់ទ្វារទស្សនា
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
### គម្រោងហ្គេម Space Game
|
|
|
|
|
### គម្រោង Space Game
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
cd 6-space-game/solution
|
|
|
|
|
npm install
|
|
|
|
|
# បើក index.html ក្នុងកម្មវិធីទស្សនាកំរិត ឬប្រើ Live Server
|
|
|
|
|
# បើក index.html នៅក្នុងកម្មវិធីរុករក ឬប្រើ Live Server
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
### គម្រោងជជែក Chat Project (Python Backend)
|
|
|
|
|
### គម្រោង Chat (Python Backend)
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
cd 9-chat-project/solution/backend/python
|
|
|
|
|
pip install openai
|
|
|
|
|
# កំណត់អថេរ PÉPOTE_GITHUB_TOKEN ទៅក្នុងបរិយាកាស
|
|
|
|
|
# កំណត់អថេរបរិបទ GITHUB_TOKEN
|
|
|
|
|
python api.py
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
## វិធីសាស្រ្តអភិវឌ្ឍន៍
|
|
|
|
|
## ដំណើរការអភិវឌ្ឍ
|
|
|
|
|
|
|
|
|
|
### សម្រាប់អ្នកចូលរួមផ្គត់ផ្គង់មាតិកា
|
|
|
|
|
### សម្រាប់អ្នកចូលរួមដាក់ទិន្នន័យ
|
|
|
|
|
|
|
|
|
|
1. **Fork គណនីនេះ** ទៅគណនី GitHub របស់អ្នក
|
|
|
|
|
2. **Clone fork របស់អ្នក** ទៅក្នុងម៉ាស៊ីនភ្លាម
|
|
|
|
|
3. **បង្កើតសាខាថ្មី** សម្រាប់បម្រែបម្រួលរបស់អ្នក
|
|
|
|
|
4. ប្រែប្រួលមាតិកាមេរៀន ឬ ឧទាហរណ៍កូដ
|
|
|
|
|
5. សាកល្បងកូដនៅក្នុងថតគម្រោងដែលពាក់ព័ន្ធ
|
|
|
|
|
6. ដាក់ការស្នើសុំ PR តាមប្រតិបត្តិការចូលរួម
|
|
|
|
|
1. **ចម្លងឃ្លាំងនេះ** ទៅទៅគណនី GitHub របស់អ្នក
|
|
|
|
|
2. **ចម្លងបង្កើតទីតាំងក្នុងម៉ាស៊ីនប័ណ្ណ** របស់អ្នក
|
|
|
|
|
3. **បង្កើតសាខាថ្មី** សម្រាប់ការផ្លាស់ប្តូររបស់អ្នក
|
|
|
|
|
4. បង្កើតកំណែប្រែខ្លះៗលើមាតិកាមេរៀន ឬឧទាហរណ៍កូដ
|
|
|
|
|
5. សាកល្បងកូដនៅក្នុងថតគម្រោងពាក់ព័ន្ធ
|
|
|
|
|
6. បញ្ចូន pull requests ទៅតាមកម្រិតការចូលរួម
|
|
|
|
|
|
|
|
|
|
### សម្រាប់អ្នករៀន
|
|
|
|
|
|
|
|
|
|
1. Fork ឬ clone គណនីនេះ
|
|
|
|
|
2. រៀបចំទៅកាន់ថតវគ្គសិក្សាលំដាប់គ្នា
|
|
|
|
|
3. អានឯកសារ README នៃមេរៀននីមួយៗ
|
|
|
|
|
4. បញ្ចប់ការប្រលងមុនមេរៀន នៅ https://ff-quizzes.netlify.app/web/
|
|
|
|
|
5. ធ្វើឧទាហរណ៍កូដក្នុងថតមេរៀន
|
|
|
|
|
6. សម្រេចបញ្ហានិងបញ្ហាតស៊ូមាត្រ
|
|
|
|
|
7. ធ្វើការប្រលងបន្ទាប់មកបន្ទប់មេរៀន
|
|
|
|
|
1. ចម្រាស់ឬចម្លងឃ្លាំងនេះ
|
|
|
|
|
2. ចូលទៅថតមេរៀនដោយជាប់លំដាប់
|
|
|
|
|
3. អានឯកសារ README នីមួយៗ
|
|
|
|
|
4. បញ្ចប់វិញ្ញាសាមុនមេរៀន នៅ https://ff-quizzes.netlify.app/web/
|
|
|
|
|
5. អនុវត្តឧទាហរណ៍កូដនៅថតមេរៀន
|
|
|
|
|
6. បញ្ចប់ការងារនិងសំណួរប្រកួតប្រជែង
|
|
|
|
|
7. ធ្វើវិញ្ញាសាបន្ទាប់មេរៀន
|
|
|
|
|
|
|
|
|
|
### ការអភិវឌ្ឍបន្តផ្ទាល់
|
|
|
|
|
### អភិវឌ្ឍបន្តផ្ទាល់
|
|
|
|
|
|
|
|
|
|
- **ឯកសារ**៖ រត់ `docsify serve` នៅថតគ្រប់គ្រង (ផត ៣០០០)
|
|
|
|
|
- **Quiz App**៖ រត់ `npm run dev` នៅក្នុងថត quiz-app
|
|
|
|
|
- **គម្រោង**៖ ប្រើ VS Code Live Server extension សំរាប់គម្រោង HTML
|
|
|
|
|
- **API គម្រោង**៖ រត់ `npm start` នៅក្នុងថត API ដែលសមរម្យ
|
|
|
|
|
- **ឯកសារ**៖ រត់ `docsify serve` នៅថតឫស (port 3000)
|
|
|
|
|
- **Quiz App**៖ រត់ `npm run dev` នៅថត quiz-app
|
|
|
|
|
- **គម្រោង**៖ ប្រើ VS Code Live Server សម្រាប់គម្រោង HTML
|
|
|
|
|
- **គម្រោង API**៖ រត់ `npm start` នៅថត API ពាក់ព័ន្ធ
|
|
|
|
|
|
|
|
|
|
## ការណែនាំតេស្ត
|
|
|
|
|
## សេចក្ដីណែនាំសម្រាប់ការប្រឡង
|
|
|
|
|
|
|
|
|
|
### ការតេស្ត Quiz App
|
|
|
|
|
### ការសាកល្បង Quiz App
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
cd quiz-app
|
|
|
|
|
npm run lint # ตรวจสอบបញ្ហារចនាសម្ព័ន្ធកូដ
|
|
|
|
|
npm run build # ពិនិត្យមើលការបង្កើតបានជោគជ័យ
|
|
|
|
|
npm run lint # ពិនិត្យមើលចំពោះបញ្ហាសំរាប់រចនាប័ទ្មកូដ
|
|
|
|
|
npm run build # បញ្ជាក់ការសម្រេចការបង្កើតបានជោគជ័យ
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
### ការតេស្ត API ធនាគារ
|
|
|
|
|
### ការសាកល្បង Bank API
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
cd 7-bank-project/api
|
|
|
|
|
npm run lint # ពិនិត្យរកបញ្ហារចនារបស់កូដ
|
|
|
|
|
node server.js # ផ្ទៀងផ្ទាត់ម៉ាស៊ីនបម្រើចាប់ផ្តើមដោយគ្មានកំហុស
|
|
|
|
|
npm run lint # ពិនិត្យសម្រាប់បញ្ហារចនាប័ទ្មកូដ
|
|
|
|
|
node server.js # ផ្ទៀងផ្ទាត់ថារត្ន័មិនមានកំហុសក្នុងការចាប់ផ្តើម
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
### វិធីសាស្ត្រតេស្តទូទៅ
|
|
|
|
|
### វិធីសាស្ត្រសាកល្បងទូទៅ
|
|
|
|
|
|
|
|
|
|
- គណនីនេះគឺសម្រាប់អប់រំនិងមិនមានតេស្តស្វ័យប្រវត្តិត្រឹមត្រូវទាំងមូល
|
|
|
|
|
- តេស្តដោយដៃផ្តោតលើ:
|
|
|
|
|
- ឧទាហរណ៍កូដដំណើរការដោយគ្មានកំហុស
|
|
|
|
|
- តំណភ្ជាប់ក្នុងឯកសារពិតប្រាកដ
|
|
|
|
|
- នេះជាឃ្លាំងសិក្សាទេ មិនមានសាកល្បងស្វ័យប្រវត្តិពេញលេញទេ
|
|
|
|
|
- ការសាកល្បងដៃផ្តោតលើ៖
|
|
|
|
|
- កូដទាំងអស់រត់បានដោយគ្មានកំហុស
|
|
|
|
|
- គំនែក្នុងឯកសារដំណើរការបានត្រឹមត្រូវ
|
|
|
|
|
- ការបង្កើតគម្រោងបានជោគជ័យ
|
|
|
|
|
- ការដើរតាមបែងចែស្តង់ដារល្អ
|
|
|
|
|
- ឧទាហរណ៍បច្ចេកទេសត្រូវបានគោរព
|
|
|
|
|
|
|
|
|
|
### ការត្រួតពិនិត្យមុនដាក់ស្នើ
|
|
|
|
|
### ពិនិត្យមុនបញ្ចូន
|
|
|
|
|
|
|
|
|
|
- ដំណើរការ `npm run lint` ក្នុងថតដែលមាន package.json
|
|
|
|
|
- បញ្ជាក់ថាតំណMarkdown តំណដែលមានសុពលភាព
|
|
|
|
|
- សាកល្បងឧទាហរណ៍កូដនៅក្នុងប្រ្វៅសើរឬ Node.js
|
|
|
|
|
- ពិនិត្យថាការបកប្រែមិនបំផ្លាញរចនាសម្ព័ន្ធ
|
|
|
|
|
- រត់ `npm run lint` នៅថតដែលមាន package.json
|
|
|
|
|
- ផ្ទៀងផ្ទាត់តំណភ្ជាប់ markdown មានសុពលភាព
|
|
|
|
|
- စាកពិនិត្យឧទាហរណ៍កូដ នៅក្នុងកម្មវិធីរុករកឬ Node.js
|
|
|
|
|
- ពិនិត្យថាបកប្រែរក្សារចនាសម្ព័ន្ធត្រឹមត្រូវ
|
|
|
|
|
|
|
|
|
|
## ស្តង់ដារស្ទាយកូដ
|
|
|
|
|
## គោលការណ៍ស្ទីលកូដ
|
|
|
|
|
|
|
|
|
|
### JavaScript
|
|
|
|
|
|
|
|
|
|
- ប្រើវីធីសាស្ត្រថ្មី ES6+
|
|
|
|
|
- អនុវត្ត ESLint ធម្មតាដែលបានផ្តល់នៅគម្រោង
|
|
|
|
|
- ប្រើឈ្មោះអថេរនិងមុខងារដែលមានន័យសម្រាប់ការអប់រំ
|
|
|
|
|
- បន្ថែមមតិយោបល់ពណ៌នាគន្លងសម្រាប់អ្នករៀន
|
|
|
|
|
- រៀបចំដោយ Prettier នៅកន្លែងបានកំណត់
|
|
|
|
|
- ប្រើរចនាសម្ព័ន្ធ ES6+
|
|
|
|
|
- ធ្វើតាមការកំណត់ ESLint នៅក្នុងគម្រោង
|
|
|
|
|
- ប្រើឈ្មោះអថេរនិងមុខងារមានន័យសម្រាប់ការអប់រំ
|
|
|
|
|
- បន្ថែមកំណត់ចំណាំអំពីមូលដ្ឋានដើម្បីជួយអ្នករៀន
|
|
|
|
|
- បង្ហាញក្នុងប្រព័ន្ធ Prettier ពេលមានកំណត់
|
|
|
|
|
|
|
|
|
|
### HTML/CSS
|
|
|
|
|
|
|
|
|
|
- ប្រើធាតុ HTML5 ដូចគ្នា
|
|
|
|
|
- គោលការណ៍រចនារូបភាពឆ្លាតវៃ
|
|
|
|
|
- គោលការណ៍ច្បាស់លាស់ក្នុងការកំណត់ឈ្មោះ class
|
|
|
|
|
- មតិយោបល់ពន្យល់បច្ចេកទេស CSS សម្រាប់អ្នករៀន
|
|
|
|
|
- ធាតុ HTML5 មានន័យសំខាន់
|
|
|
|
|
- គោលការណ៍រចនាបែបឆ្លាតវៃ
|
|
|
|
|
- ឈ្មោះថ្នាក់ដែលច្បាស់លាស់
|
|
|
|
|
- កំណត់ចំណាំបង្ហាញបច្ចេកទេស CSS សម្រាប់អ្នករៀន
|
|
|
|
|
|
|
|
|
|
### Python
|
|
|
|
|
|
|
|
|
|
- គោលការណ៍ស្ទាយ PEP 8
|
|
|
|
|
- ឧទាហរណ៍កូដសិក្សាច្បាស់លាស់
|
|
|
|
|
- ការបង្ហាញប្រភេទតាមតម្រូវការសម្រាប់ការរៀន
|
|
|
|
|
- គោលការណ៍ស្ទីល PEP 8
|
|
|
|
|
- ឧទាហរណ៍កូដច្បាស់លាស់ និងផ្តោតលើការអប់រំ
|
|
|
|
|
- ចំណាំប្រភេទនៅកន្លែងមានប្រយោជន៍សម្រាប់ការសិក្សា
|
|
|
|
|
|
|
|
|
|
### ឯកសារបែប Markdown
|
|
|
|
|
### ឯកសារម៉ាគដោន
|
|
|
|
|
|
|
|
|
|
- ឋានៈច្បាស់ក្នុងចំណងជើង
|
|
|
|
|
- ប្លុកកូដមានការបញ្ជាក់ភាសា
|
|
|
|
|
- រចនាសម្ព័ន្ធក្បាលច្បាស់លាស់
|
|
|
|
|
- ប្លុកកូដមានកំណត់ភាសា
|
|
|
|
|
- តំណទៅកាន់ធនធានបន្ថែម
|
|
|
|
|
- រូបភាពនិងស្ក្រីនស៊ុតនៅក្នុងថត `images/`
|
|
|
|
|
- អក្សរប្រើសម្រាប់រូបភាពដើម្បីអនុវត្តសមត្ថភាពចូលដំណើរការ
|
|
|
|
|
- រូបភាព និងផ្ទាំងរូបនៅថត `images/`
|
|
|
|
|
- ចំណងជើងរូបភាពសម្រាប់ការចូលដល់អត្តសញ្ញាណ
|
|
|
|
|
|
|
|
|
|
### ការរៀបចំឯកសារ
|
|
|
|
|
### រៀបចំឯកសារ
|
|
|
|
|
|
|
|
|
|
- វគ្គសិក្សាចំនួនរៀបចំពីទំរង់ (1-getting-started-lessons, 2-js-basics, ល.ហ)
|
|
|
|
|
- គម្រោងមួយៗមានផ្ទាំង `solution/` និងភាគច្រើនមាន `start/` ឬ `your-work/`
|
|
|
|
|
- រូបភាពផ្ទុកក្នុងថត `images/` ផ្តោតលើមេរៀន
|
|
|
|
|
- ការបកប្រែក្នុងថត `translations/{language-code}/`
|
|
|
|
|
- មេរៀនត្រូវបានលេខរៀងជាលំដាប់ (1-getting-started-lessons, 2-js-basics, ...)
|
|
|
|
|
- គម្រោងនីមួយៗមានថត `solution/` និងភាគច្រើនមាន `start/` ឬ `your-work/`
|
|
|
|
|
- រូបភាពរក្សាទុកក្នុងថត `images/` របស់មេរៀននីមួយៗ
|
|
|
|
|
- បកប្រែថតក្នុង `translations/{language-code}/`
|
|
|
|
|
|
|
|
|
|
## ការបង្កើតនិងចេញផ្សាយ
|
|
|
|
|
## ការបង្កើត និងការចាក់ផ្សាយ
|
|
|
|
|
|
|
|
|
|
### ការចេញផ្សាយ Quiz App (Azure Static Web Apps)
|
|
|
|
|
### ការចាក់ផ្សាយ Quiz App (Azure Static Web Apps)
|
|
|
|
|
|
|
|
|
|
Quiz App ត្រូវបានកំណត់សម្រាប់ការចេញផ្សាយ Azure Static Web Apps៖
|
|
|
|
|
quiz-app ត្រូវបានកំណត់សម្រាប់ចាក់ផ្សាយ Azure Static Web Apps:
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
cd quiz-app
|
|
|
|
|
npm run build # បង្កើតថត dist/
|
|
|
|
|
# ប្រើប្រាស់ការបំពេញតាមកម្មវិធី GitHub Actions នៅពេលចុចដាក់ទៅ main
|
|
|
|
|
# ចាក់ផ្សាយតាមរយៈដំណើរការងារប្រតិបត្តិ GitHub Actions នៅពេលបញ្ចូនទៅ main
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
ការកំណត់ពិសេស Azure Static Web Apps:
|
|
|
|
|
កំណត់ Azure Static Web Apps៖
|
|
|
|
|
- **ទីតាំងកម្មវិធី**: `/quiz-app`
|
|
|
|
|
- **ទីតាំងចេញ**: `dist`
|
|
|
|
|
- **ប្រតិបត្តិការ**: `.github/workflows/azure-static-web-apps-ashy-river-0debb7803.yml`
|
|
|
|
|
@ -200,83 +200,83 @@ npm install # ដំឡើង docsify-to-pdf
|
|
|
|
|
npm run convert # បង្កើត PDF ពី docs
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
### ឯកសារ Docsify
|
|
|
|
|
### ឯកសារដោយ Docsify
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
npm install -g docsify-cli # តំឡើង Docsify ជាសកល
|
|
|
|
|
docsify serve # បម្រើលើ localhost:3000
|
|
|
|
|
npm install -g docsify-cli # ដំឡើង Docsify សាកលវិជ្ជា
|
|
|
|
|
docsify serve # បម្រើនៅលើ localhost:3000
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
### ការបង្កើតគម្រោងជាក់លាក់
|
|
|
|
|
### ការបង្កើតគម្រោងជាពិសេស
|
|
|
|
|
|
|
|
|
|
ថតគម្រោងនីមួយៗអាចមានដំណើរការបង្កើតរបស់ខ្លួន៖
|
|
|
|
|
- គម្រោង Vue: `npm run build` បង្កើតគ្រឿងបន្លាស់ផលិតកម្ម
|
|
|
|
|
- គម្រោងស្តាត៖ គ្មានជំហានបង្កើត ប្រើសេវាទាញយកឯកសារដែលមាន
|
|
|
|
|
ថតគម្រោងនីមួយៗអាចមានដំណើរការបង្កើតខ្លួនឯង៖
|
|
|
|
|
- គម្រោង Vue៖ `npm run build` បង្កើតកញ្ចប់ផលិតកម្ម
|
|
|
|
|
- គម្រោងជារបស់ស្ថិតិ៖ មិនមានដំណើរការបង្កើត ធ្វើសេវាទៅឯកសារផ្ទាល់ចុះ
|
|
|
|
|
|
|
|
|
|
## មគ្គុទេសក៍ការស្នើសុំ PR
|
|
|
|
|
## ការណែនាំសម្រាប់ Pull Request
|
|
|
|
|
|
|
|
|
|
### ទំរង់ចំណងជើង
|
|
|
|
|
### រចនាបទចំណងជើង
|
|
|
|
|
|
|
|
|
|
ប្រើចំណងជើងច្បាស់ដែលបង្ហាញផ្នែកដែលបានផ្លាស់ប្តូរ៖
|
|
|
|
|
- `[Quiz-app] បន្ថែមការប្រលងថ្មីសម្រាប់មេរៀន X`
|
|
|
|
|
- `[Lesson-3] បញ្ចុះបញ្ញាក់កំហុសក្នុងគម្រោង terrarium`
|
|
|
|
|
- `[Translation] បន្ថែមការបកប្រែភាសាស្ប៉ាញសម្រាប់មេរៀន 5`
|
|
|
|
|
- `[Docs] អាប់ដេតការណែនាំការតំឡើង`
|
|
|
|
|
ប្រើចំណងជើងច្បាស់លាស់ សំដៅការផ្លាស់ប្តូរយ៉ាងច្បាស់៖
|
|
|
|
|
- `[Quiz-app] បន្ថែមវិញ្ញាសាថ្មី សម្រាប់មេរៀន X`
|
|
|
|
|
- `[Lesson-3] កែសម្រួលកំហុសកំណត់ពាក្យក្នុងគម្រោង terrarium`
|
|
|
|
|
- `[Translation] បន្ថែមបកប្រែភាសាស្ប៉ាញសម្រាប់មេរៀន 5`
|
|
|
|
|
- `[Docs] បន្ទាន់សម័យការណែនាំតំឡើង`
|
|
|
|
|
|
|
|
|
|
### ការត្រួតពិនិត្យចាំបាច់
|
|
|
|
|
### ពិនិត្យតម្រូវការ
|
|
|
|
|
|
|
|
|
|
មុនដាក់ស្នើ PR:
|
|
|
|
|
មុនបញ្ចូន PR៖
|
|
|
|
|
|
|
|
|
|
1. **គុណភាពកូដ**:
|
|
|
|
|
- រត់ `npm run lint` នៅថតគម្រោងដែលទាក់ទង
|
|
|
|
|
- បញ្ចប់កំហុសនិងការព្រមានទាំងអស់
|
|
|
|
|
1. **គុណភាពកូដ**៖
|
|
|
|
|
- រត់ `npm run lint` នៅថតគម្រោងដែលពាក់ព័ន្ធ
|
|
|
|
|
- ជួសជុលកំហុស និងសញ្ញាព្រមានទាំងអស់
|
|
|
|
|
|
|
|
|
|
2. **ការប្រាកដថាបានបង្កើត**:
|
|
|
|
|
- រត់ `npm run build` ប្រសិនបើអាច
|
|
|
|
|
- ត្រូវប្រាកដថាគ្មានកំហុសក្នុងការបង្កើត
|
|
|
|
|
2. **បញ្ជាក់ការបង្កើត**៖
|
|
|
|
|
- រត់ `npm run build` ប្រសិនបើត្រូវការ
|
|
|
|
|
- ធានារួចជាភាពគ្មានកំហុសបង្កើត
|
|
|
|
|
|
|
|
|
|
3. **ត្រួតពិនិត្យតំណ**:
|
|
|
|
|
- សាកល្បងតំណ Markdown ទាំងអស់
|
|
|
|
|
- បញ្ជាក់ការចងក្រងរូបភាពបានត្រឹមត្រូវ
|
|
|
|
|
3. **ផ្ទៀងផ្ទាត់តំណ**៖
|
|
|
|
|
- សាកល្បងតំណ markdown ទាំងអស់
|
|
|
|
|
- ផ្ទៀងផ្ទាត់ឯកសាររូបភាពមើលបានត្រឹមត្រូវ
|
|
|
|
|
|
|
|
|
|
4. **ពិនិត្យមាតិកា**:
|
|
|
|
|
- ពិនិត្យការកែសម្រួលឲ្យបានត្រឹមត្រូវនិងមិនមានកំហុស
|
|
|
|
|
- បញ្ជាក់ឧទាហរណ៍កូដត្រឹមត្រូវ និងមានការបង្រៀន
|
|
|
|
|
- វាយតម្លៃការបកប្រែថាមានសារសំខាន់ដដែល
|
|
|
|
|
4. **ពិនិត្យមាតិកា**៖
|
|
|
|
|
- អានកែសម្រួលសំរាប់វាកម្មនិងវេយ្យាករណ៍
|
|
|
|
|
- ធានាអោយឧទាហរណ៍កូដត្រឹមត្រូវនិងអប់រំ
|
|
|
|
|
- ពិនិត្យថាបកប្រែរក្សាភាសាដើម
|
|
|
|
|
|
|
|
|
|
### ទាមទារសម្រាប់ចូលរួម
|
|
|
|
|
### ជំនួយការចូលរួម
|
|
|
|
|
|
|
|
|
|
- អនុញ្ញាត Microsoft CLA (បញ្ចាក់ស្វ័យប្រវត្តិពេល PR ដំបូង)
|
|
|
|
|
- អនុវត្តអំពី [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/)
|
|
|
|
|
- មើល [CONTRIBUTING.md](./CONTRIBUTING.md) សម្រាប់លម្អិត
|
|
|
|
|
- យោងលេខបញ្ហាក្នុងការពិពណ៌នា PR ប្រសិនបើមាន
|
|
|
|
|
- អនុម័ត Microsoft CLA (ត្រួតពិនិត្យដោយស្វ័យប្រវត្តិនៅ PR ដំបូង)
|
|
|
|
|
- បន្តបទបញ្ជារបស់ Microsoft Open Source Code of Conduct
|
|
|
|
|
- មើល [CONTRIBUTING.md](./CONTRIBUTING.md) សម្រាប់គោលការណ៍ពិសេស
|
|
|
|
|
- យោងលេខបញ្ហានៅក្នុងការពិពណ៌នារបស់ PR ប្រសិនបើមាន
|
|
|
|
|
|
|
|
|
|
### ដំណើរការពិនិត្យឡើងវិញ
|
|
|
|
|
### ដំណើរការពិនិត្យ
|
|
|
|
|
|
|
|
|
|
- PR ត្រូវបានអ្នកថែទាំ និងសហគមន៍ពិនិត្យ
|
|
|
|
|
- ផ្តោតលើភាពច្បាស់លាស់អប់រំ
|
|
|
|
|
- ឧទាហរណ៍កូដត្រូវតែបន្តដំណើរការតាមស្តង់ដារ
|
|
|
|
|
- ការបកប្រែត្រូវបានពិនិត្យឲ្យត្រឹមត្រូវនិងសមស្រប
|
|
|
|
|
- PR ត្រូវបានពិនិត្យដោយអ្នកថែទាំ និងសហគមន៍
|
|
|
|
|
- ផ្តោតលើភាពច្បាស់ថ្លា និងការអប់រំ
|
|
|
|
|
- ឧទាហរណ៍កូដត្រូវតែគោរពតាមអនុវិធីល្អបំផុត
|
|
|
|
|
- បកប្រែត្រូវតែពិនិត្យភាពត្រឹមត្រូវ និងរចនាបថវប្បធម៌
|
|
|
|
|
|
|
|
|
|
## ប្រព័ន្ធបកប្រែ
|
|
|
|
|
|
|
|
|
|
### បកប្រែស្វ័យប្រវត្តិ
|
|
|
|
|
### បកប្រែដោយស្វ័យប្រវត្តិ
|
|
|
|
|
|
|
|
|
|
- ប្រើ GitHub Actions ជាមួយផ្លូវការងារ co-op-translator
|
|
|
|
|
- បកប្រែទៅភាសាជាង ៥០ ដោយស្វ័យប្រវត្តិ
|
|
|
|
|
- ឯកសារមូលដ្ឋានក្នុងថតមេ
|
|
|
|
|
- ឯកសារបកប្រែសម្រាប់ភាពច្បាស់នៅក្នុងថត `translations/{language-code}/`
|
|
|
|
|
- ប្រើ GitHub Actions និង co-op-translator workflow
|
|
|
|
|
- បកប្រែជាង ៥០ ភាសា ដោយស្វ័យប្រវត្តិ
|
|
|
|
|
- ឯកសារដើមនៅក្នុងថតមេ
|
|
|
|
|
- ឯកសារបកប្រែក្នុង `translations/{language-code}/`
|
|
|
|
|
|
|
|
|
|
### បន្ថែមជំនួយបកប្រែដោយដៃ
|
|
|
|
|
### ការកែលម្អបកប្រែ ដោយដៃ
|
|
|
|
|
|
|
|
|
|
1. ស្វែងរកឯកសារនៅក្នុងថត `translations/{language-code}/`
|
|
|
|
|
2. បម្លែងដោយរក្សារចនាសម្ព័ន្ធដើម
|
|
|
|
|
3. ធានាថាឧទាហរណ៍កូដនៅថ្មីនិងដំណើរការ
|
|
|
|
|
4. សាកល្បងមាតិកាការប្រលងបកប្រែ
|
|
|
|
|
1. រកឃើញឯកសារនៅក្នុង `translations/{language-code}/`
|
|
|
|
|
2. បញ្ចូលការកែលម្អ បើក្សនាផ្លូវរចនាសម្ព័ន្ធ
|
|
|
|
|
3. ធានាឲ្យឧទាហរណ៍កូដនៅស្ថិតក្នុងសភាពដើម
|
|
|
|
|
4. សាកល្បងមាតិកាវិញ្ញាសាដែលបានបកប្រែ
|
|
|
|
|
|
|
|
|
|
### ទិន្នន័យពីលើការបកប្រែ
|
|
|
|
|
### បញ្ជីមេតាអំពីបកប្រែ
|
|
|
|
|
|
|
|
|
|
ឯកសារបកប្រែមានក្បាល metadata:
|
|
|
|
|
ឯកសារបកប្រែរួមបញ្ចូលក្បាលទិន្នន័យមេតា៖
|
|
|
|
|
```markdown
|
|
|
|
|
<!--
|
|
|
|
|
CO_OP_TRANSLATOR_METADATA:
|
|
|
|
|
@ -289,120 +289,120 @@ CO_OP_TRANSLATOR_METADATA:
|
|
|
|
|
-->
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
## ការដោះស្រាយបញ្ហានិងព្យាបាលកំហុស
|
|
|
|
|
## ការស្វែងរកកំហុស និងដំណោះស្រាយ
|
|
|
|
|
|
|
|
|
|
### បញ្ហាទូទៅ
|
|
|
|
|
|
|
|
|
|
**Quiz app មិនចាប់ផ្តើមបាន**:
|
|
|
|
|
- ពិនិត្យកំណែ Node.js (v14+ កំណត់អនុសាសន៍)
|
|
|
|
|
- លុប `node_modules` និង `package-lock.json` រួចបញ្ចូលស្ដារឡើងវិញដោយ `npm install`
|
|
|
|
|
- ពិនិត្យទំនាក់ទំនងផត (លំនាំដើម: Vite ប្រើផត ៥១៧៣)
|
|
|
|
|
**Quiz app ចាប់ផ្តើមមិនបាន**៖
|
|
|
|
|
- ពិនិត្យកំណែ Node.js (ផ្តល់អនុសាសន៍ v14 ឡើង)
|
|
|
|
|
- លុប `node_modules` និង `package-lock.json` រួចហើយរត់ `npm install` ម្ដងទៀត
|
|
|
|
|
- ពិនិត្យការប្រឈមមុខនឹងតំណរភ្ជាប់ port (លំនាំដើម៖ Vite ប្រើ port 5173)
|
|
|
|
|
|
|
|
|
|
**ម៉ាស៊ីនមេ API មិនចាប់ផ្តើមបាន**:
|
|
|
|
|
- ពិនិត្យកំណែ Node.js ឲ្យជាតម្លៃទាបបំផុត (node >=10)
|
|
|
|
|
- ពិនិត្យថាផតមិនត្រូវបានប្រើរួច
|
|
|
|
|
- ប្រាកដថាដំឡើងផ្នែកបំរើទាំងអស់ដោយ `npm install`
|
|
|
|
|
**API សេវាកម្មមិនចាប់ផ្តើម**៖
|
|
|
|
|
- ពិនិត្យកំណែ Node.js >= 10
|
|
|
|
|
- ពិនិត្យថាតំណ port មិនត្រូវបានប្រើរួចហើយ
|
|
|
|
|
- ធានាថា dependencies ទាំងអស់បានដំឡើង `npm install`
|
|
|
|
|
|
|
|
|
|
**Browser extension មិនដំណើរការ**:
|
|
|
|
|
- ពិនិត្យមើលថា manifest.json ត្រូវបានរៀបចំត្រឹមត្រូវ
|
|
|
|
|
- មើលកុងសូលកម្មវិធីដូចកំហុស
|
|
|
|
|
- អនុវត្តតាមការណែនាំដំឡើងផ្នែកបន្ថែមកំណត់គ្រប់គ្រង
|
|
|
|
|
**Browser extension មិនត្រូវផ្ទុកទេ**៖
|
|
|
|
|
- ពិនិត្យ manifest.json មានទ្រង់ទ្រាយត្រឹមត្រូវ
|
|
|
|
|
- ពិនិត្យកុងសូលរុករកសម្រាប់កំហុស
|
|
|
|
|
- អនុវត្ដតាមការណែនាំដំឡើង extension ក្រៅបណ្ដាញ
|
|
|
|
|
|
|
|
|
|
**បញ្ហាគម្រោងជជែក Python**:
|
|
|
|
|
- ប្រាកដថាដំឡើងកញ្ចប់ OpenAI: `pip install openai`
|
|
|
|
|
- ពិនិត្យថាផ្លាក GITHUB_TOKEN បានកំណត់
|
|
|
|
|
- ពិនិត្យសិទ្ធិចូលប្រើគំរូ GitHub
|
|
|
|
|
**បញ្ហាគម្រោង Python chat**៖
|
|
|
|
|
- ធានាបញ្ចូលកញ្ចប់ OpenAI៖ `pip install openai`
|
|
|
|
|
- ពិនិត្យថា GITHUB_TOKEN បានកំណត់ជាផ្លាកបរិស្ថាន
|
|
|
|
|
- ពិនិត្យសិទ្ធិចូលប្រើម៉ូដែល GitHub
|
|
|
|
|
|
|
|
|
|
**Docsify មិនបម្រើឯកសារ**:
|
|
|
|
|
- ដំឡើង docsify-cli ទូទៅ: `npm install -g docsify-cli`
|
|
|
|
|
- រត់ពីថតគណនីនេះ
|
|
|
|
|
- ពិនិត្យឲ្យមានឯកសារ `docs/_sidebar.md`
|
|
|
|
|
**Docsify មិនបង្ហាញឯកសារទេ**៖
|
|
|
|
|
- ដំឡើង docsify-cli ទូទាំងប្រព័ន្ធ៖ `npm install -g docsify-cli`
|
|
|
|
|
- រត់ពីថតឫស repositories
|
|
|
|
|
- ពិនិត្យឯកសារ `docs/_sidebar.md` មានស្រាប់
|
|
|
|
|
|
|
|
|
|
### ជំនួយបរិស្ថានអភិវឌ្ឍ
|
|
|
|
|
### អ្នកអភិវឌ្ឍផ្នែកបរិយាកាស
|
|
|
|
|
|
|
|
|
|
- ប្រើ VS Code ជាមួយ Live Server extension សម្រាប់គម្រោង HTML
|
|
|
|
|
- ដំឡើង ESLint និង Prettier extension ដើម្បីរក្សាទំរង់ត្រឹមត្រូវ
|
|
|
|
|
- ប្រើ DevTools ក្នុងប្រ្វៅសើរក្នុងការលួងលោម JavaScript
|
|
|
|
|
- សម្រាប់គម្រោង Vue, ដំឡើង Vue DevTools browser extension
|
|
|
|
|
- ដំឡើង ESLint និង Prettier extension សម្រាប់លំអរយក
|
|
|
|
|
- ប្រើ DevTools រុករកសម្រាប់ដោះស្រាយជំហាន JavaScript
|
|
|
|
|
- សម្រាប់គម្រោង Vue, ដំឡើង Vue DevTools extension រុករក
|
|
|
|
|
|
|
|
|
|
### ការពិចារណាពហុភាព
|
|
|
|
|
### ចំណាំសមត្ថភាព
|
|
|
|
|
|
|
|
|
|
- មានឯកសារបកប្រែច្រើន (ភាសាជាង ៥០) ហើយការ clone ពេញលេញមានទំហំធំ
|
|
|
|
|
- ប្រើ shallow clone ប្រសិនបើប៉ុណ្ណោះកំពុងធ្វើការ៖ `git clone --depth 1`
|
|
|
|
|
- មិនស្វែងរកក្នុងថតបកប្រែពេលធ្វើការលើមាតិកាភាសាអង់គ្លេស
|
|
|
|
|
- ដំណើរការបង្កើតមួយចំនួនអាចយឺតនៅពេលដំបូង (npm install, ការបង្កើត Vite)
|
|
|
|
|
- ចំនួនឯកសារបកប្រែច្រើន (ជាង ៥០ ភាសា) មានទំហំធំ
|
|
|
|
|
- ប្រើ shallow clone ប្រសិនបើគ្រាន់តែធ្វើការងារជាមួយមាតិកា៖ `git clone --depth 1`
|
|
|
|
|
- មិនស្វែងរកក្នុងបកប្រែពេលធ្វើការជាមួយមាតិកាអង់គ្លេស
|
|
|
|
|
- ដំណើរការប្រមូលផលអាចប្រហែលយឺតនៅលើការដំណើរការដំបូង (npm install, របៀប build Vite)
|
|
|
|
|
|
|
|
|
|
## ការពិចារណាអំពីសុវត្ថិភាព
|
|
|
|
|
## ចំណុចសុវត្ថិភាព
|
|
|
|
|
|
|
|
|
|
### បរិយាកាស Environment Variables
|
|
|
|
|
### ផ្លាកបរិស្ថាន
|
|
|
|
|
|
|
|
|
|
- កូនសោ API មិនគួរតែបញ្ចូលក្នុងគណនី
|
|
|
|
|
- ប្រើគ្រប់ឯកសារ `.env` (ដែលបានរាយថាត្រូវអោបរួចហើយក្នុង .gitignore)
|
|
|
|
|
- បញ្ជាក់បរិយាកាសត្រូវការនៅក្នុង README គម្រោង
|
|
|
|
|
- កូនសោ API មិនគួរត្រូវបានបញ្ចូលក្នុងឃ្លាំង
|
|
|
|
|
- ប្រើឯកសារ `.env` (មានរួចក្នុង `.gitignore`)
|
|
|
|
|
- រៀបរាប់ប្រាប់ពីផ្លាកបរិស្ថានចាំបាច់ក្នុង README គម្រោង
|
|
|
|
|
|
|
|
|
|
### គម្រោង Python
|
|
|
|
|
|
|
|
|
|
- ប្រើបរិវេណវេជ្ជៈន៍: `python -m venv venv`
|
|
|
|
|
- រក្សាប្រភេទផ្នែកបំរើសម័យទាន់
|
|
|
|
|
- សញ្ញា GitHub គួរតែមានសិទ្ធិតិចបំផុត
|
|
|
|
|
- ប្រើបរិយាកាសវេរ៉ែល (virtual environments): `python -m venv venv`
|
|
|
|
|
- រក្សាអាប់ដេត dependencies ជានិច្ច
|
|
|
|
|
- ស្លាក GitHub token ត្រូវមានសិទ្ធិចូលតិចតួចបំផុត
|
|
|
|
|
|
|
|
|
|
### ការផ្តល់សិទិ្ធផ្លូវ GitHub Models
|
|
|
|
|
### សិទ្ធិចូលម៉ូដែល GitHub
|
|
|
|
|
|
|
|
|
|
- ត្រូវការសញ្ញាចូលប្រើ (PAT)
|
|
|
|
|
- សញ្ញាគួរតែរក្សាទុកជា environment variables
|
|
|
|
|
- មិនគួរបញ្ចូលសញ្ញា ឬ ព័ត៌មានសម្ងាត់ណាមួយនៅក្នុងគណនី
|
|
|
|
|
- ត្រូវការបាន Personal Access Tokens (PAT) សម្រាប់ពេលប្រើម៉ូដែល GitHub
|
|
|
|
|
- ត្រូវរក្សាគោលបំណងស្លាកជា environment variable
|
|
|
|
|
- មិនគួរបញ្ចូលលេខសម្ងាត់ឬកូនសោឡើយ
|
|
|
|
|
|
|
|
|
|
## កំណត់សម្គាល់បន្ថែម
|
|
|
|
|
|
|
|
|
|
### គោលដៅអ្នកប្រើប្រាស់
|
|
|
|
|
|
|
|
|
|
- អ្នកចេះតិចថ្មីក្នុងការអភិវឌ្ឍន៍គេហទំព័រ
|
|
|
|
|
- អ្នកចាប់ផ្តើមបំពេញក្នុងការអភិវឌ្ឍវែប
|
|
|
|
|
- សិស្ស និងអ្នករៀនដោយខ្លួនឯង
|
|
|
|
|
- គ្រូបង្រៀនប្រើវគ្គសិក្សានៅថ្នាក់រៀន
|
|
|
|
|
- មាតិកាត្រូវបានរចនាសម្រាប់ភាពងាយស្រួលនិងការកែលម្អជักษា
|
|
|
|
|
- គ្រូបង្រៀនដែលប្រើមេរៀននៅថ្នាក់សិក្សា
|
|
|
|
|
- មាតិកាផ្ដោតលើភាពងាយស្រួល និងការកែលម្អជារបៀបជាប់ជាលំដាប់
|
|
|
|
|
|
|
|
|
|
### ទស្សនវិជ្ជាអប់រំ
|
|
|
|
|
|
|
|
|
|
- វិធីសាស្ត្រសិក្សាដោយគម្រោង
|
|
|
|
|
- ការត្រួតពិនិត្យចំណេះដឹងជាប្រចាំ (ការប្រលង)
|
|
|
|
|
- ច្នៃប្រឌិតកូដដោយដៃ
|
|
|
|
|
- ឧទាហរណ៍ឧប្បទានពីពិភពជាក់ស្តែង
|
|
|
|
|
- ផ្តោតលើមូលដ្ឋានមុនគន្លងបច្ចេកវិទ្យា
|
|
|
|
|
- វិធីសាស្ត្រសិក្សាជាគម្រោង
|
|
|
|
|
- ការត្រួតពិនិត្យចំណេះដឹងជាប្រចាំ (វិញ្ញាសា)
|
|
|
|
|
- អនុវត្តន៍កូដដោយដៃ
|
|
|
|
|
- ឧទាហរណ៍នៃកម្មវិធីពិតប្រាកដ
|
|
|
|
|
- ព្រមទាំងផ្ដោតលើមូលដ្ឋាន មុនចូលទៅ framework
|
|
|
|
|
|
|
|
|
|
### ថែទាំគណនី
|
|
|
|
|
### ការថែទាំឃ្លាំង
|
|
|
|
|
|
|
|
|
|
- សហគមន៍សកម្មរបស់អ្នករៀននិងអ្នករួមចំណែក
|
|
|
|
|
- ការអាប់ដេតជាប្រចាំសម្រាប់ផ្នែករឹងនិងមាតិកា
|
|
|
|
|
- តាមដានបញ្ហានិងការពិភាក្សាដោយអ្នកថែទាំ
|
|
|
|
|
- ការអាប់ដេតបកប្រែដោយស្វ័យប្រវត្តិជាមួយ GitHub Actions
|
|
|
|
|
- សហគមន៍សកម្មនៃអ្នករៀន និងអ្នកចូលរួម
|
|
|
|
|
- បន្តពិនិត្យ និងធ្វើបច្ចុប្បន្នភាពលើ dependencies និងមាតិកា
|
|
|
|
|
- ចំណុចបញ្ហា និងការពិភាក្សាត្រូវបានគ្រប់គ្រងដោយអ្នកថែទាំ
|
|
|
|
|
- ការអាប់ដេតបកប្រែធ្វើដោយស្វ័យប្រវត្តិតាម GitHub Actions
|
|
|
|
|
|
|
|
|
|
### ធនធានដែលទាក់ទង
|
|
|
|
|
### ធនធានដែលពាក់ព័ន្ធ
|
|
|
|
|
|
|
|
|
|
- [Microsoft Learn modules](https://docs.microsoft.com/learn/)
|
|
|
|
|
- [Student Hub resources](https://docs.microsoft.com/learn/student-hub/)
|
|
|
|
|
- [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) ដែលផ្តល់អនុសាសន៍សម្រាប់អ្នករៀន
|
|
|
|
|
- វគ្គបន្ថែម៖ Generative AI, Data Science, ML, IoT ផ្ដល់ជូន
|
|
|
|
|
- [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) ផ្ដល់អនុសាសន៍សម្រាប់អ្នករៀន
|
|
|
|
|
- គរូបិសេសផ្សេងៗ: Generative AI, Data Science, ML, IoT បណ្ដុះបណ្ដាលមាន
|
|
|
|
|
|
|
|
|
|
### ការធ្វើការជាមួយគម្រោងជាក់លាក់
|
|
|
|
|
### ធ្វើការជាមួយគម្រោងពិសេស
|
|
|
|
|
|
|
|
|
|
សម្រាប់ការណែនាំលម្អិតលើគម្រោងជាក់លាក់ សូមយោងឯកសារ README នៅក្នុង:
|
|
|
|
|
- `quiz-app/README.md` - កម្មវិធីប្រលង Vue 3
|
|
|
|
|
- `7-bank-project/README.md` - កម្មវិធីធនាគារប្រើប្រាស់ការផ្ទៀងផ្ទាត់
|
|
|
|
|
- `5-browser-extension/README.md` - ការអភិវឌ្ឍបន្ថែម Browser extension
|
|
|
|
|
- `6-space-game/README.md` - ការផលិតហ្គេមផ្អែកលើ Canvas
|
|
|
|
|
- `9-chat-project/README.md` - គម្រោងជជែកជាមួយ AI
|
|
|
|
|
សម្រាប់ការណែនាំលម្អិតនៃគម្រោងជាក់លាក់សូមមើលឯកសារ README នៅក្នុង៖
|
|
|
|
|
- `quiz-app/README.md` - កម្មវិធី quiz Vue 3
|
|
|
|
|
- `7-bank-project/README.md` - កម្មវិធីធនាគារជាមួយការផ្ទៀងផ្ទាត់
|
|
|
|
|
- `5-browser-extension/README.md` - ការអភិវឌ្ឍ browser extension
|
|
|
|
|
- `6-space-game/README.md` - ការបង្កើតហ្គេមប្លុក canvas
|
|
|
|
|
- `9-chat-project/README.md` - គម្រោងជំនួយការជជែក AI
|
|
|
|
|
|
|
|
|
|
### រចនាសម្ព័ន្ធ Monorepo
|
|
|
|
|
|
|
|
|
|
ទោះបីមិនមែន Monorepo ត្បិតប៉ុន្មាននេះ គណនីនេះមានគម្រោងឯករាជ្យជាច្រើន៖
|
|
|
|
|
- មេរៀនមួយៗមានភាពឯករាជ្ជ
|
|
|
|
|
- គម្រោងមិនចែករំលែកមុខងារ
|
|
|
|
|
- អ្នកអាចធ្វើការនៅលើគម្រោងមួយដោយមិនប៉ះពាល់គម្រោងផ្សេងទៀត
|
|
|
|
|
- Clone គណនីទាំងមូលសម្រាប់បទពិសោធការសិក្សាពេញលេញ
|
|
|
|
|
ទោះបីមិនមែនជាការប្រមូលគ្នារូបមន្តចម្រុះនោះ ក៏ឃ្លាំងនេះមានគម្រោងឯករាជ្យច្រើន៖
|
|
|
|
|
- មេរៀននីមួយៗមានជាពិសេស
|
|
|
|
|
- គម្រោងមិនចែករំលែក dependencies
|
|
|
|
|
- អាចធ្វើការងារជាមួយគម្រោងឯកត្តដោយមិនប៉ះពាល់គ្នា
|
|
|
|
|
- ចម្លងឃ្លាំងទាំងមូលសម្រាប់បទពិសោធទាំងមូលនៃកម្មវិធីសិក្សា
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
<!-- 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 -->
|