24 KiB
AGENTS.md
ទិដ្ឋភាពគម្រោង
នេះជាគណនេយ្យបណ្ណាល័យអប់រំបែបសិក្សាដើម្បីបង្រៀនមូលដ្ឋានការអភិវឌ្ឍវេបសាយដល់អ្នកចាប់ផ្តើម។ គណនេយ្យបណ្ណាល័យនេះជាមូឌុលសិក្សាពេញ១២សប្តាហ៍ដែលបង្កើតឡើងដោយ Microsoft Cloud Advocates, មានមេរៀនអនុវត្តចំនួន ២៤ ដែលគ្របដណ្តប់ JavaScript, CSS, និង HTML។
###ផ្នែកសំខាន់ៗ
- មាតិកាអប់រំ: មេរៀនមានរចនាសម្ព័ន្ធជា២៤មេរៀនត្រូវបានរៀបចំជាមូឌុលគម្រោង
- គម្រោងអនុវត្ត: 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
ពាក្យបញ្ជាដំឡើង
គណនេយ្យបណ្ណាល័យនេះសម្រាប់កម្រងមាតិកាអប់រំជាមូលដ្ឋាន។ សម្រាប់ការបំពេញការងារជាមួយគម្រោងជាក់លាក់៖
ការដំឡើងគណនេយ្យបណ្ណាល័យមូលដ្ឋាន
git clone https://github.com/microsoft/Web-Dev-For-Beginners.git
cd Web-Dev-For-Beginners
ការដំឡើង Quiz App (Vue 3 + Vite)
cd quiz-app
npm install
npm run dev # ចាប់ផ្តើមម៉ាស៊ីនបម្រើអភិវឌ្ឍន៍
npm run build # បង្កើតសម្រាប់ផលិតកម្ម
npm run lint # ធ្វើដំណើរការ ESLint
API គម្រោងធនាគារ (Node.js + Express)
cd 7-bank-project/api
npm install
npm start # ចាប់ផ្តើមម៉ាស៊ីនមេ API
npm run lint # ប្រតិបត្តិការនៅ ESLint
npm run format # ធ្វើរចនាប័ទ្មជាមួយ Prettier
គម្រោង Browser Extension
cd 5-browser-extension/solution
npm install
# អនុវត្តការណែនាំសម្រាប់បង្កើតផ្នែកបន្ថែមដែលផ្អែកលើកម្មវិធីរុករកជាក់លាក់
គម្រោង Space Game
cd 6-space-game/solution
npm install
# បើក index.html ក្នុងកម្មវិធីរកមើលឬប្រើ Live Server
គម្រោង Chat (Python Backend)
cd 9-chat-project/solution/backend/python
pip install openai
# កំណត់អថេរបរិស្ថាន GITHUB_TOKEN
python api.py
ដំណើរការអភិវឌ្ឍ
សម្រាប់អ្នកចូលរួមបញ្ចូលមាតិកា
- fork គណនេយ្យបណ្ណាល័យ ទៅគណនី GitHub របស់អ្នក
- clone fork របស់អ្នក ទៅកុំព្យូទ័រមូលដ្ឋាន
- បង្កើតសាខាថ្មី សម្រាប់កែប្រែរបស់អ្នក
- កែប្រែមាតិកាមេរៀន ឬ ឧទាហរណ៍កូដ
- សាកល្បងកូដក្នុងថតគម្រោងដែលពាក់ព័ន្ធ
- ដាក់ pull requests តាមការណែនាំការចូលរួម
សម្រាប់អ្នករៀន
- fork ឬ clone គណនេយ្យបណ្ណាល័យ
- ទៅកាន់ថតមេរៀនតាមលំដាប់
- អានឯកសារ README រៀងរាល់មេរៀន
- បញ្ចប់សំណួរប្រកួតមុនមេរៀន https://ff-quizzes.netlify.app/web/
- ធ្វើការបំពេញឧទាហរណ៍កូដក្នុងថតមេរៀន
- បញ្ចប់ភារកិច្ចនិងបញ្ហា
- ធ្វើសំណួរប្រកួតបន្ទាប់មេរៀន
អភិវឌ្ឍបណ្ដោះអាសន្ន
- ឯកសារ: រត់
docsify serveនៅ root (port 3000) - Quiz App: រត់
npm run devនៅថត quiz-app - គម្រោង: ប្រើ VS Code Live Server សម្រាប់គម្រោង HTML
- គម្រោង API: រត់
npm startក្នុងថត API តាមពាក់ព័ន្ធ
សេចក្តីណែនាំសាកល្បង
សាកល្បង Quiz App
cd quiz-app
npm run lint # ពិនិត្យមើលបញ្ហារចនាប័ទ្មកូដ
npm run build # ផ្ទៀងផ្ទាត់ការសាងសង់ជោគជ័យ
សាកល្បង Bank API
cd 7-bank-project/api
npm run lint # ពិនិត្យមើលបញ្ហារចនាប័ទ្មកូដ
node server.js # ផ្ទៀងផ្ទាត់ម៉ាស៊ីនបម្រើចាប់ផ្ដើមដោយគ្មានកំហុស
វិធីសាស្រ្តសាកល្បងទូទៅ
- គណនេយ្យបណ្ណាល័យនេះគ្មានការសាកល្បងស្វ័យប្រវត្តិពេញលេញ
- សាកល្បងដោយដៃផ្តោតលើ៖
- ឧទាហរណ៍កូដរត់ដោយមិនមានកំហុស
- តំណភ្ជាប់ក្នុងឯកសារបម្រើបានត្រឹមត្រូវ
- ការបង្កើតគម្រោងបញ្ចប់ដោយជោគជ័យ
- ឧទាហរណ៍តាមស្តង់ដារល្អៗ
ការត្រួតពិនិត្យមុនដាក់ស្នើ
- រត់
npm run lintនៅក្នុងថតដែលមាន package.json - ផ្ទៀងផ្ទាត់តំណMarkdown ទាន់សម័យ
- សាកល្បងឧទាហរណ៍ក្នុង browser ឬ Node.js
- ពិនិត្យថាបកប្រែរក្សារចនាសម្ព័ន្ធត្រឹមត្រូវ
ស្តង់ដារស្ទាយកូដ
JavaScript
- ប្រើវេចខ្ចប់ ES6+ ទាន់សម័យ
- តាមរយៈកំណត់ ESLint នៅក្នុងគម្រោង
- ប្រើឈ្មោះអថេរ និងមុខងារមានន័យសំរាប់ការអប់រំ
- បញ្ចូលកំណត់ត្រាលំអិតពន្យល់គន្លឹះសម្រាប់អ្នករៀន
- ទ្រង់ទ្រាយដោយ Prettier នៅពេលបានកំណត់
HTML/CSS
- ធាតុ HTML5 មានន័យវចនាធិ៍
- គោលការណ៍រចនាតបត់បែន
- ឈ្មោះclassច្បាស់លាស់
- កំណត់ត្រាពន្យល់បច្ចេកទេស CSS សម្រាប់អ្នករៀន
Python
- ស្តង់ដារ PEP 8
- ឧទាហរណ៍កូដច្បាស់ និងអប់រំ
- ប្រើផលប៉ះពាល់ type ដើម្បីជួយរៀន
ឯកសារ Markdown
- ចំណងជើងច្បាស់លាស់
- ប្លុកកូដមានកំណត់ភាសា
- តំណទៅធនធានបន្ថែម
- រូបថត និងរូបភាពនៅក្នុងថត
images/ - ពាក្យ alt សម្រាប់រូបភាពសាមញ្ញភាព
រៀបចំឯកសារ
- មេរៀនមានលេខលំដាប់ (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៖
cd quiz-app
npm run build # បង្កើតថត dist/
# បង្ហោះតាមរយៈកម្មវិធី GitHub Actions នៅពេលចុចបញ្ជូនទៅ main
Azure Static Web Apps កំណត់សម្គាល់៖
- ទីតាំង App:
/quiz-app - ទីតាំង Output:
dist - Workflow:
.github/workflows/azure-static-web-apps-ashy-river-0debb7803.yml
បង្កើតឯកសារ PDF ឯកសារអប់រំ
npm install # តម្លើង docsify-to-pdf
npm run convert # បង្កើត PDF ពី docs
ឯកសារ Docsify
npm install -g docsify-cli # ដំឡើង Docsify ជាសកល
docsify serve # បម្រើលើ localhost:3000
ការបង្កើតគម្រោងជាក់លាក់
គ្រប់ថតគម្រោងអាចមានដំណើរការបង្កើតខ្លួនឯង៖
- គម្រោង Vue:
npm run buildបង្កើតឯកសារផលិត - គម្រោង Static: គ្មានជំហានបង្កើត, បម្រើឯកសារដោយផ្ទាល់
គោលការណ៍ទទួល Pull Request
រចនាសម្ព័ន្ធចំណងជើង
ប្រើចំណងជើងច្បាស់លាស់ បង្ហាញតំបន់ដែលបានកែប្រែ៖
[Quiz-app] បន្ថែមសំណួរប្រកួតថ្មីសម្រាប់មេរៀន X[Lesson-3] កែសម្រួលអក្សរបញ្ហាក្នុងគម្រោង terrarium[Translation] បន្ថែមបកប្រែភាសាស្ប៉ាញសម្រាប់មេរៀន 5[Docs] បង្កើនការណែនាំសម្រាប់ដំឡើង
ការត្រួតពិនិត្យចាំបាច់
មុនដាក់ស្នើ PR:
-
គុណភាពកូដ:
- រត់
npm run lintនៅថតគម្រោង - ជួសជុលកំហុស និងការព្រមានទាំងអស់
- រត់
-
ផ្ទៀងផ្ទាត់ការបង្កើត:
- រត់
npm run buildប្រសិនបើមាន - ធានាថា គ្មានកំហុសបង្កើត
- រត់
-
ផ្ទៀងផ្ទាត់តំណ:
- សាកល្បងតំណ Markdown ទាំងអស់
- បញ្ជាក់រូបភាពអាចអានបាន
-
ពិនិត្យមាតិកា:
- អានកំណត់អក្សរនិងឧបករណ៍វេយ្យាករណ៍
- ធានាថាឧទាហរណ៍កូដត្រឹមត្រូវនិងអប់រំ
- រក្សាបកប្រែមានអត្ថន័យដើម
តម្រូវការចូលរួម
- ព្រមព្រៀងមុខមាត់ Microsoft CLA (ពិនិត្យស្វ័យប្រវត្តិលើ PR ដំបូង)
- តាមបណ្តាញ Microsoft Open Source Code of Conduct
- មើល CONTRIBUTING.md សម្រាប់ការណែនាំលំអិត
- រាយការណ៍លេខបញ្ហាសម្រាប់ PR ប្រសិនបើមាន
ដំណើរការសម្ភាសន៍
- PR ត្រូវបានពិនិត្យដោយអ្នកថែទាំ និងសហគមន៍
- ផ្តោតលើភាពច្បាស់លាស់អប់រំ
- ឧទាហរណ៍កូដត្រូវតាមស្តង់ដាទំនើប
- វិភាគបកប្រែត្រឹមត្រូវ និងសមរម្យវប្បធម៌
ប្រព័ន្ធបកប្រែ
បកប្រែស្វ័យប្រវត្តិ
- ប្រើ GitHub Actions ជាមួយ workflow co-op-translator
- បកប្រែទៅ ៥០+ ភាសាដោយស្វ័យប្រវត្តិ
- ឯកសារដើមនៅថតរឹម
- ឯកសារបកប្រែរៀបចំក្នុង
translations/{language-code}/
ការបន្ថែមកែលម្អបកប្រែដោយដៃ
- ស្វែងរកឯកសារនៅ
translations/{language-code}/ - ធ្វើកែលម្អ រក្សារចនាសម្ព័ន្ធ
- បញ្ចាក់ឧទាហរណ៍កូដនៅស្ថានភាពដើម
- សាកល្បងសំណួរប្រកួតបញ្ញាដែលបានបកប្រែ
មេតាដាតាបកប្រែ
ឯកសារបកប្រែមានមេតាដាតាដំបូង៖
<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "...",
"translation_date": "...",
"source_file": "...",
"language_code": "..."
}
-->
ការធ្វើដំណើរការរុករកកំហុស និងដោះស្រាយបញ្ហា
បញ្ហាទូទៅ
កម្មវិធី Quiz app មិនចាប់ផ្ដើម៖
- ពិនិត្យកំណែ Node.js (v14+ អនុញ្ញាត)
- លុប
node_modulesនិងpackage-lock.json, បន្ទាប់មករត់npm install - ពិនិត្យប្រហែលព្រមទ្រនៅ port (Vite គឺ port 5173)
API server មិនចាប់ផ្ដើម៖
- ធានាកំណែ Node.js >=10
- ពិនិត្យថាប្រទេស port មិនបានប្រើ
- ជ្រាបថាបានដំឡើង dependencies ដោយ
npm install
Browser extension មិនផ្ទុក៖
- ពិនិត្យ manifest.json មានរបៀបត្រឹមត្រូវ
- ពិនិត្យ browser console សម្រាប់កំហុស
- តាមដានការដំឡើង extension ជាក់លាក់ទូរស័ព្ទ
បញ្ហាគម្រោង Chat Python៖
- ធានាបានថា OpenAI package ត្រូវបានដំឡើង៖
pip install openai - ពិនិត្យថាបានកំណត់អថេរGITHUB_TOKEN
- ពិនិត្យសិទ្ធិចូលកំណត់ GitHub Models
Docsify មិនបម្រើឯកសារបាន៖
- ដំឡើង docsify-cli ទូទាំងប្រព័ន្ធ៖
npm install -g docsify-cli - រត់ពីថត root នៃគណនេយ្យបណ្ណាល័យ
- ពិនិត្យឯកសារ
docs/_sidebar.mdមានឬនៅ
ជំនួយបរិស្ថានអភិវឌ្ឍ
- ប្រើ VS Code រួមជាមួយ Live Server សម្រាប់គម្រោង HTML
- ដំឡើង ESLint និង Prettier សម្រាប់ទ្រង់ទ្រាយធម្មតា
- ប្រើ DevTools ក្នុង browser សម្រាប់រុករកកំហុស JavaScript
- សម្រាប់ Vue projects, ដំឡើង Vue DevTools ក្នុង browser
តម្រូវការសមត្ថភាព
- មានឯកសារត្រូវបានបកប្រែច្រើន (50+ ភាសា) ហើយការចម្លងពេញលេញមានទំហំធំ
- ប្រើ clone ជាប់ជាន់
git clone --depth 1ប្រសិនបើធ្វើការជាមួយមាតិកាតែប៉ុណ្ណោះ - មិនស្វែងរកក្នុងថតបកប្រែពេលធ្វើការបំពេញប្រើប្រាស់ភាសាអង់គ្លេស
- ដំណើរការបង្កើតអាចយឺតនៅដំណើរការដំបូង (npm install, វាយកូដ Vite)
សន្ដិសុខ
អថេរស្ថានភាពបរិស្ថាន
- ចូលដោយ API keys មិនគួរត្រូវបានបញ្ចូលក្នុង repository
- ប្រើឯកសារ
.env(បានបញ្ចូលក្នុង.gitignore) - ឯកសារពន្យល់អថេរដែលត្រូវការក្នុង README គម្រោង
គម្រោង Python
- ប្រើ Virtual Environment:
python -m venv venv - រក្សាការធ្វើបច្ចុប្បន្នភាព dependencies
- GitHub tokens ត្រូវមានសិទ្ធិតិចតួចតែប៉ុណ្ណោះ
ការចូលប្រើ GitHub Models
- ត្រូវការតូកនិច Personal Access Tokens (PAT)
- តូកនិចគួរត្រូវបានរក្សាទុកក្នុងអថេរ env
- មិនត្រូវរក្សាទុកតូកនិច ឬ គណនីណាមួយនៅក្នុង repo
កំណត់ចំណាំបន្ថែម
គោលដៅអ្នកប្រើប្រាស់
- អ្នកចាប់ផ្តើមសិក្សាក្នុងការអភិវឌ្ឍវេបសាយ
- សិស្ស និងអ្នករៀនដោយខ្លួនឯង
- គ្រូបង្រៀនប្រើមេរៀននៅថ្នាក់
- មាតិការច្បាស់សម្រាប់សមត្ថភាពចូលដំណើរការបន្ដិចៗ
ទស្សនៈវប្បធម៌អប់រំ
- វិធីសាស្រ្តរៀនតាមគម្រោង
- ពិនិត្យចំណេះដឹងជាប្រចាំ (quiz)
- ការហាត់កូដដុំដៃ
- ឧទាហរណ៍ជាក់ស្តែងក្នុងជម្រៈពិភពលោក
- ផ្តោតលើមូលដ្ឋានមុនប្រើ framework
ថែរក្សាគណនេយ្យបណ្ណាល័យ
- សហគមន៍អ្នករៀន និងអ្នកចូលរួមយ៉ាងសកម្ម
- ប្រព័ន្ធធ្វើបច្ចុប្បន្នភាព dependencies និងមាតិកា
- ត្រួតពិនិត្យបញ្ហា និងការពិភាក្សាដោយអ្នកថែទាំ
- ការបកប្រែបង្កើតដោយស្វ័យប្រវត្តិតាម GitHub Actions
ធនធានទាក់ទង
- Microsoft Learn modules
- Student Hub resources
- GitHub Copilot ផ្តល់អនុសាសន៍សម្រាប់អ្នករៀន
- មេរៀនបន្ថែម៖ AI រៀបចំចេញ, Data Science, ML, IoT
ការងារជាមួយគម្រោងជាក់លាក់
សម្រាប់ណែនាំលម្អិតសម្រាប់គម្រោងនីមួយៗ ចុចមើល README នៅក្នុង:
quiz-app/README.md- កម្មវិធីប្រកួត Vue 37-bank-project/README.md- កម្មវិធីធនាគារដែលមានការផ្ទៀងផ្ទាត់5-browser-extension/README.md- ការអភិវឌ្ឍ browser extension6-space-game/README.md- ការអភិវឌ្ឍហ្គេម canvas9-chat-project/README.md- គម្រោងជំនួយសន្ទនាអ៊ីត
រចនាសម្ព័ន្ធ Monorepo
បើទោះបីមិនមែនជា monorepo បែបបំណែកដំបូង ក៏គណនេយ្យបណ្ណាល័យនេះមានគម្រោងឯកតាច្រើន៖
- មេរៀននីមួយៗមានឯកត្តា
- គម្រោងមិនចែករំលែក dependencies
- អ្នកអាចធ្វើការងារលើគម្រោងឯកតាដោយមិនប៉ះពាល់គ្នា
- Clone គណនេយ្យបណ្ណាល័យពេញលេញសម្រាប់ធ្វើបទពិសោធន៍សិក្សាពេញលេញ
ការព្រមាន៖
ឯកសារនេះត្រូវបានបកប្រែដោយប្រើសេវាបកប្រែ AI Co-op Translator។ ខណៈពេលយើងខិតខំរកភាពត្រឹមត្រូវ សូមយល់ព្រមថាការបកប្រែដោយស្វ័យប្រវត្តិអាចមានកំហុស ឬការខកចិត្តខុសត្រូវខ្លះ។ ឯកសារដើមជាភាសាដើមគួរត្រូវបានគេសម្ងាត់ជាឆ្នើម។ សម្រាប់ព័ត៌មានសំខាន់ៗ សូមផ្ដល់អាទិភាពថែទាំដោយអ្នកបកប្រែមនុស្សជំនាញ។ យើងមិនទទួលខុសត្រូវចំពោះការយល់ច្រឡំ ឬការបកប្រែខុសពីការប្រើប្រាស់បកប្រែនេះឡើយ។