You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Web-Dev-For-Beginners/translations/km/AGENTS.md

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

ដំណើរការអភិវឌ្ឍ

សម្រាប់អ្នកចូលរួមបញ្ចូលមាតិកា

  1. fork គណនេយ្យបណ្ណាល័យ ទៅគណនី GitHub របស់អ្នក
  2. clone fork របស់អ្នក ទៅកុំព្យូទ័រមូលដ្ឋាន
  3. បង្កើតសាខាថ្មី សម្រាប់កែប្រែរបស់អ្នក
  4. កែប្រែមាតិកាមេរៀន ឬ ឧទាហរណ៍កូដ
  5. សាកល្បងកូដក្នុងថតគម្រោងដែលពាក់ព័ន្ធ
  6. ដាក់ pull requests តាមការណែនាំការចូលរួម

សម្រាប់អ្នករៀន

  1. fork ឬ clone គណនេយ្យបណ្ណាល័យ
  2. ទៅកាន់ថតមេរៀន​តាមលំដាប់
  3. អានឯកសារ README រៀងរាល់មេរៀន
  4. បញ្ចប់សំណួរប្រកួតមុនមេរៀន https://ff-quizzes.netlify.app/web/
  5. ធ្វើការបំពេញឧទាហរណ៍កូដក្នុងថតមេរៀន
  6. បញ្ចប់ភារកិច្ចនិងបញ្ហា
  7. ធ្វើសំណួរប្រកួតបន្ទាប់មេរៀន

អភិវឌ្ឍបណ្ដោះអាសន្ន

  • ឯកសារ: រត់ 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:

  1. គុណភាពកូដ:

    • រត់ npm run lint នៅថតគម្រោង
    • ជួសជុលកំហុស និងការព្រមានទាំងអស់
  2. ផ្ទៀងផ្ទាត់ការបង្កើត:

    • រត់ npm run build ប្រសិនបើមាន
    • ធានាថា គ្មានកំហុសបង្កើត
  3. ផ្ទៀងផ្ទាត់តំណ:

    • សាកល្បងតំណ Markdown ទាំងអស់
    • បញ្ជាក់រូបភាពអាចអានបាន
  4. ពិនិត្យមាតិកា:

    • អានកំណត់អក្សរនិងឧបករណ៍វេយ្យាករណ៍
    • ធានាថាឧទាហរណ៍កូដត្រឹមត្រូវនិងអប់រំ
    • រក្សាបកប្រែមានអត្ថន័យដើម

តម្រូវការចូលរួម

  • ព្រមព្រៀងមុខមាត់ Microsoft CLA (ពិនិត្យស្វ័យប្រវត្តិលើ PR ដំបូង)
  • តាមបណ្តាញ Microsoft Open Source Code of Conduct
  • មើល CONTRIBUTING.md សម្រាប់ការណែនាំលំអិត
  • រាយការណ៍លេខបញ្ហាសម្រាប់ PR ប្រសិនបើមាន

ដំណើរការសម្ភាសន៍

  • PR ត្រូវបានពិនិត្យដោយអ្នកថែទាំ និងសហគមន៍
  • ផ្តោតលើភាពច្បាស់លាស់អប់រំ
  • ឧទាហរណ៍កូដត្រូវតាមស្តង់ដាទំនើប
  • វិភាគបកប្រែត្រឹមត្រូវ និងសមរម្យវប្បធម៌

ប្រព័ន្ធបកប្រែ

បកប្រែស្វ័យប្រវត្តិ

  • ប្រើ GitHub Actions ជាមួយ workflow co-op-translator
  • បកប្រែទៅ ៥០+ ភាសា​ដោយ​ស្វ័យ​ប្រវត្តិ
  • ឯកសារដើមនៅថតរឹម
  • ឯកសារបកប្រែរៀបចំក្នុង translations/{language-code}/

ការបន្ថែមកែលម្អបកប្រែដោយដៃ

  1. ស្វែងរកឯកសារនៅ translations/{language-code}/
  2. ធ្វើកែលម្អ រក្សារចនាសម្ព័ន្ធ
  3. បញ្ចាក់ឧទាហរណ៍កូដនៅស្ថានភាពដើម
  4. សាកល្បងសំណួរប្រកួតបញ្ញា​ដែលបានបកប្រែ

មេតាដាតាបកប្រែ

ឯកសារបកប្រែមានមេតាដាតាដំបូង៖

<!--
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

ធនធានទាក់ទង

ការងារជាមួយគម្រោងជាក់លាក់

សម្រាប់ណែនាំលម្អិតសម្រាប់គម្រោងនីមួយៗ ចុចមើល 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 - គម្រោងជំនួយសន្ទនាអ៊ីត

រចនាសម្ព័ន្ធ Monorepo

បើទោះបីមិនមែនជា monorepo បែបបំណែកដំបូង ក៏គណនេយ្យបណ្ណាល័យនេះមានគម្រោងឯកតាច្រើន៖

  • មេរៀននីមួយៗមានឯកត្តា
  • គម្រោងមិនចែករំលែក dependencies
  • អ្នកអាចធ្វើការងារលើគម្រោងឯកតាដោយមិនប៉ះពាល់គ្នា
  • Clone គណនេយ្យបណ្ណាល័យពេញលេញសម្រាប់ធ្វើបទពិសោធន៍សិក្សាពេញលេញ

ការព្រមាន
ឯកសារនេះត្រូវបានបកប្រែដោយប្រើសេវាបកប្រែ AI Co-op Translator។ ខណៈពេលយើងខិតខំរកភាពត្រឹមត្រូវ សូមយល់ព្រមថាការបកប្រែដោយស្វ័យប្រវត្តិអាចមានកំហុស ឬការខកចិត្តខុសត្រូវខ្លះ។ ឯកសារដើមជាភាសាដើមគួរត្រូវបានគេសម្ងាត់ជាឆ្នើម។ សម្រាប់ព័ត៌មានសំខាន់ៗ សូមផ្ដល់អាទិភាពថែទាំដោយអ្នកបកប្រែមនុស្សជំនាញ។ យើងមិនទទួលខុសត្រូវចំពោះការយល់ច្រឡំ ឬការបកប្រែខុសពីការប្រើប្រាស់បកប្រែនេះឡើយ។