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.
359 lines
21 KiB
359 lines
21 KiB
# ការរួមចំណែកក្នុង Data Science សម្រាប់អ្នកចាប់ផ្ដើម
|
|
|
|
សូមអរគុណសម្រាប់ការចាប់អារម្មណ៍របស់អ្នកក្នុងការរួមចំណែកទៅកាន់វគ្គសិក្សា Data Science សម្រាប់អ្នកចាប់ផ្ដើម! យើងសូមស្វាគមន៍ការរួមចំណែកពីសហគមន៍។
|
|
|
|
## តារាងមាតិកា
|
|
|
|
- [វិន័យអំពើ](#វិន័យអំពើ)
|
|
- [តើខ្ញុំអាចរួមចំណែកបានយ៉ាងដូចម្តេច?](#តើខ្ញុំអាចរួមចំណែកបានយ៉ាងដូចម្តេច)
|
|
- [ការចាប់ផ្ដើម](#ការចាប់ផ្ដើម)
|
|
- [មគ្គុទេសក៍ការរួមចំណែក](#មគ្គុទេសក៍ការរួមចំណែក)
|
|
- [ដំណើរការការស្នើសុំ Pull Request](#ដំណើរការជូនពរ-pull-request)
|
|
- [មគ្គុទេសក៍រចនាបថ](#មគ្គុទេសក៍រចនាបថ)
|
|
- [សន្ធិសញ្ញាប័ណ្ណអ្នករួមចំណែក](#សន្ធិសញ្ញាប័ណ្ណអ្នករួមចំណែក)
|
|
|
|
## វិន័យអំពើ
|
|
|
|
គម្រោងនេះបានអនុម័ត [កូដវិន័យប្រើប្រាស់មូលដ្ឋានមើលដោយ Microsoft](https://opensource.microsoft.com/codeofconduct/)។
|
|
សម្រាប់ព័ត៌មានបន្ថែម សូមមើល [សំណួរដែលសួរញឹកញាប់អំពីកូដវិន័យ](https://opensource.microsoft.com/codeofconduct/faq/)
|
|
ឬទាក់ទង [opencode@microsoft.com](mailto:opencode@microsoft.com) សម្រាប់សំណួរឬមតិយោបល់បន្ថែម។
|
|
|
|
## តើខ្ញុំអាចរួមចំណែកបានយ៉ាងដូចម្តេច?
|
|
|
|
### ការរាយការណ៍បញ្ហា
|
|
|
|
មុនបង្កើតរបាយការណ៍កំហុស សូមពិនិត្យមើលបញ្ហាជាប់ទាក់ទងដែលមានស្រាប់ដើម្បីជៀសវាងការបំលែងដង។ ពេលអ្នកបង្កើតរបាយការណ៍កំហុស សូមបញ្ចូលព័ត៌មានលម្អិតច្រើនបំផុតដែលអាចធ្វើទៅបាន៖
|
|
|
|
- **ប្រើចំណងជើងច្បាស់លាស់ និងពិពណ៌នាបញ្ជាក់**
|
|
- **ពិពណ៌នាជំហានច្បាស់លាស់ដើម្បីធ្វើឲ្យបញ្ហាឡើងវិញ**
|
|
- **ផ្តល់ឧទាហរណ៍ច្បាស់លាស់** (កូដនិងរូបភាពបង្ហាញ)
|
|
- **ពិពណ៌នាពីអាកប្បកិរិយាដែលអ្នកបានសង្កេត និងអ្វីដែលអ្នករំពឹងទុក**
|
|
- **បញ្ចូលព័ត៌មានបរិបទរបស់អ្នក** (ប្រព័ន្ធប្រតិបត្តិការ, កំណែ Python, កម្មវិធីរុករក)
|
|
|
|
### ផ្តល់យោបល់បន្ថែម
|
|
|
|
យោបល់បន្ថែមសូមស្វាគមន៍! ពេលផ្តល់យោបល់:
|
|
|
|
- **ប្រើចំណងជើងច្បាស់លាស់ និងពិពណ៌នាបញ្ជាក់**
|
|
- **ផ្តល់ពិពណ៌នាពីការកែលម្អដែលអ្នកស្នើសុំ**
|
|
- **ពន្យល់មូលហេតុដែលការកែប្រែនេះមានប្រយោជន៍**
|
|
- **រាយបញ្ជីលក្ខណៈសម្បត្តិដូចគ្នានៅក្នុងគម្រោងផ្សេងទៀត ប្រសិនបើមាន**
|
|
|
|
### រួមចំណែកក្នុងឯកសារយោង
|
|
|
|
ការកែលម្អឯកសារយោងគឺតែងតែទទួលស្គាល់:
|
|
|
|
- **ជួសជុលកំហុសអក្ខរកម្ម និងវេយ្យាករណ៍**
|
|
- **ធ្វើឲ្យការពន្យល់មានភាពច្បាស់ផងដែរ**
|
|
- **បន្ថែមឯកសារយោងដែលខ្វះ**
|
|
- **ធ្វើឲ្យព័ត៌មានអាប់ដេតឲ្យទាន់សម័យ**
|
|
- **បន្ថែមឧទាហរណ៍ ឬករណីប្រើប្រាស់**
|
|
|
|
### រួមចំណែកក្នុងកូដ
|
|
|
|
យើងសូមស្វាគមន៍ការរួមចំណែកកូដរួមមាន៖
|
|
|
|
- **មេរៀន ឬលំហាត់ថ្មីៗ**
|
|
- **ជួសជុលកំហុស**
|
|
- **កែលម្អសៀវភៅតំណភ្ជាប់ដែលមានស្រាប់**
|
|
- **ដាតាដុំ ឬឧទាហរណ៍ថ្មីៗ**
|
|
- **កែលម្អកម្មវិធីសំណួរ**
|
|
|
|
## ការចាប់ផ្ដើម
|
|
|
|
### ការត្រូវមានមុន
|
|
|
|
មុនរួមចំណែក សូមធ្វើការ:
|
|
|
|
1. មានគណនី GitHub
|
|
2. តំឡើង Git នៅលើប្រព័ន្ធរបស់អ្នក
|
|
3. តំឡើង Python 3.7+ និង Jupyter
|
|
4. តំឡើង Node.js និង npm (សម្រាប់ការរួមចំណែកកម្មវិធីសំណួរ)
|
|
5. របស់ភ្ជាប់ជាមួយរចនាសម្ព័ន្ធវគ្គសិក្សា
|
|
|
|
មើល [INSTALLATION.md](INSTALLATION.md) សម្រាប់ការណែនាំបំផុត។
|
|
|
|
### Fork និង Clone
|
|
|
|
1. **Fork ឃ្លាំងទិន្នន័យ** នៅលើ GitHub
|
|
2. **Clone Fork របស់អ្នក មកលើកុំព្យូទ័រ**៖
|
|
```bash
|
|
git clone https://github.com/YOUR-USERNAME/Data-Science-For-Beginners.git
|
|
cd Data-Science-For-Beginners
|
|
```
|
|
3. **បន្ថែម upstream remote**៖
|
|
```bash
|
|
git remote add upstream https://github.com/microsoft/Data-Science-For-Beginners.git
|
|
```
|
|
|
|
|
|
### បង្កើតសាខាថ្មី
|
|
|
|
បង្កើតសាខាថ្មីសម្រាប់ការងាររបស់អ្នក៖
|
|
|
|
```bash
|
|
git checkout -b feature/your-feature-name
|
|
# ឬ
|
|
git checkout -b fix/your-bug-fix
|
|
```
|
|
|
|
បទបញ្ជាសម្រាប់ឈ្មោះសាខា៖
|
|
- `feature/` - លក្ខណៈសម្បត្តិ ឬមេរៀនថ្មី
|
|
- `fix/` - ជួសជុលកំហុស
|
|
- `docs/` - ការផ្លាស់ប្តូរឯកសារ
|
|
- `refactor/` - ការផ្លាស់ប្តូរកូដ
|
|
|
|
## មគ្គុទេសក៍ការរួមចំណែក
|
|
|
|
### សម្រាប់មាតិកាមេរៀន
|
|
|
|
ពេលរួមចំណែកឬកែលម្អមេរៀនដែលមានស្រាប់៖
|
|
|
|
1. **អនុវត្តរចនាសម្ព័ន្ធដែលមានស្រាប់**៖
|
|
- README.md ជាមួយមាតិកាមេរៀន
|
|
- សៀវភៅ Jupyter ជាមួយលំហាត់
|
|
- ការបែងចែក (បើមាន)
|
|
- តំណភ្ជាប់ទៅការសាកល្បងមុន និងក្រោយ
|
|
|
|
2. **រួមបញ្ចូលធាតុទាំងនេះ**៖
|
|
- គោលបំណងរៀនដែលច្បាស់
|
|
- ពិពណ៌នាដំណាក់កាលជាដំណាក់កាល
|
|
- ឧទាហរណ៍កូដជាសេចក្ដីយល់ឃើញ
|
|
- លំហាត់សម្រាប់អនុវត្ត
|
|
- តំណភ្ជាប់ទៅធនធានបន្ថែម
|
|
|
|
3. **ធានាការចូលដំណើរការ**៖
|
|
- ប្រើភាសាដែលធម្មតា និងច្បាស់
|
|
- បញ្ចូលអត្ថបទ alt សម្រាប់រូបភាព
|
|
- រួមបញ្ចូលចំណាំកូដ
|
|
- អនុវត្តចំពោះលក្ខណៈរៀនដ៏ខុសគ្នា
|
|
|
|
### សម្រាប់សៀវភៅ Jupyter
|
|
|
|
1. **សម្អាតចេញពីលទ្ធផលទាំងអស់ មុនពេលប្តូរ**៖
|
|
```bash
|
|
jupyter nbconvert --clear-output --inplace notebook.ipynb
|
|
```
|
|
|
|
2. **រួមបញ្ចូលផ្នែក markdown ជាមួយពិពណ៌នា**
|
|
|
|
3. **ប្រើរចនាបថស៊ីជម្រៅកំណត់**៖
|
|
```python
|
|
# នាំចូលបណ្ណាល័យនៅខាងលើ
|
|
import pandas as pd
|
|
import numpy as np
|
|
import matplotlib.pyplot as plt
|
|
|
|
# ប្រើឈ្មោះអថេរដែលមានន័យ
|
|
# បន្ថែមកំណត់ចំណាំសម្រាប់ប្រតិបត្តិការដ៏ពិបាក
|
|
# តាមដានមីស្តង់រចនាបថ PEP 8
|
|
```
|
|
|
|
4. **សាកល្បងសៀវភៅរបស់អ្នកយ៉ាងពេញលេញ មុនពេលដាក់ស្នើ**
|
|
|
|
### សម្រាប់កូដ Python
|
|
|
|
អនុវត្តតាមមគ្គុទេសក៍រចនាបថ [PEP 8](https://www.python.org/dev/peps/pep-0008/)៖
|
|
|
|
```python
|
|
# ប៉ាត់ប៉ូលល្អ
|
|
import pandas as pd
|
|
|
|
def calculate_mean(data):
|
|
"""Calculate the mean of a dataset.
|
|
|
|
Args:
|
|
data (list): List of numerical values
|
|
|
|
Returns:
|
|
float: Mean of the dataset
|
|
"""
|
|
return sum(data) / len(data)
|
|
```
|
|
|
|
### សម្រាប់ការរួមចំណែកកម្មវិធីសំណួរ
|
|
|
|
ពេលកែលម្អកម្មវិធីសំណួរ៖
|
|
|
|
1. **សាកល្បងបណ្ដាច់មូលដ្ឋាន**៖
|
|
```bash
|
|
cd quiz-app
|
|
npm install
|
|
npm run serve
|
|
```
|
|
|
|
2. **បើកដំណើរការ linter**៖
|
|
```bash
|
|
npm run lint
|
|
```
|
|
|
|
3. **សាងសង់ដោយជោគជ័យ**៖
|
|
```bash
|
|
npm run build
|
|
```
|
|
|
|
4. **អនុវត្តមាគ៌ារចនាបថ Vue.js និងគំរូដែលមានស្រាប់**
|
|
|
|
### សម្រាប់ការបកប្រែ
|
|
|
|
ពេលបន្ថែម ឬកែលម្អការបកប្រែ៖
|
|
|
|
1. អនុវត្តរចនាសម្ព័ន្ធក្នុងថត `translations/`
|
|
2. ប្រើកូដភាសាជាឈ្មោះថត (ឧ. `fr` សម្រាប់ភាសាបារាំង)
|
|
3. រក្សារចនាសម្ព័ន្ធឯកសារដូចជាភាសាអង់គ្លេស
|
|
4. បច្ចុប្បន្នភាពតំណភ្ជាប់ជាមួយប៉ារ៉ាម៉ែត្រភាសា៖ `?loc=fr`
|
|
5. សាកល្បងតំណទាំងអស់ និងរចនាបថ
|
|
|
|
## ដំណើរការជូនពរ Pull Request
|
|
|
|
### មុនបញ្ជូន
|
|
|
|
1. **ធ្វើឲ្យសាខារបស់អ្នកទាន់សម័យជាមួយការផ្លាស់ប្តូរទំនើបបំផុត**៖
|
|
```bash
|
|
git fetch upstream
|
|
git rebase upstream/main
|
|
```
|
|
|
|
2. **សាកល្បងការផ្លាស់ប្តូររបស់អ្នក**៖
|
|
- បើកទស្សនាវិជ្ជាបានបង្កើតបានទាំងឡាយ
|
|
- សាកល្បងកម្មវិធីសំណួរចំពោះការកែប្រែ
|
|
- ផ្ទៀងផ្ទាត់តំណទាំងអស់
|
|
- ពិនិត្យកំហុសសរសេរពាក្យ និងវេយ្យាករណ៍
|
|
|
|
3. **Commit ការផ្លាស់ប្តូររបស់អ្នក**៖
|
|
```bash
|
|
git add .
|
|
git commit -m "Brief description of changes"
|
|
```
|
|
|
|
សរសេរពាក្យ commit ឲ្យច្បាស់៖
|
|
- ប្រើសព្ទវេលាបច្ចុប្បន្ន ("Add feature" មិនមែន "Added feature")
|
|
- ប្រើបំពានបរិបទ ("Move cursor to..." មិនមែន "Moves cursor to...")
|
|
- កំណត់បន្ទាត់ទីមួយមិនឲ្យលើស 72 តួអក្សរ
|
|
- ឧបករណ៍បញ្ហា និង pull requests ដែលពាក់ព័ន្ធ
|
|
|
|
4. **បញ្ចូនទៅ fork របស់អ្នក**៖
|
|
```bash
|
|
git push origin feature/your-feature-name
|
|
```
|
|
|
|
|
|
### ការបង្កើត Pull Request
|
|
|
|
1. ទៅកាន់ [repository](https://github.com/microsoft/Data-Science-For-Beginners)
|
|
2. ចុច "Pull requests" → "New pull request"
|
|
3. ចុច "compare across forks"
|
|
4. ជ្រើស fork និងសាខារបស់អ្នក
|
|
5. ចុច "Create pull request"
|
|
|
|
### ទ្រង់ទ្រាយចំណងជើង PR
|
|
|
|
ប្រើចំណងជើងច្បាស់លាស់ តាមទ្រង់ទ្រាយដូចខាងក្រោម៖
|
|
|
|
```
|
|
[Component] Brief description
|
|
```
|
|
|
|
ឧទាហរណ៍៖
|
|
- `[Lesson 7] ជួសជុលកំហុសនាំចូលសៀវភៅ Python`
|
|
- `[Quiz App] បន្ថែមការបកប្រែ ភាសាអាល្លឺម៉ង់`
|
|
- `[Docs] ថ្មីសម័យ README ជាមួយការទាមទារថ្មីៗ`
|
|
- `[Fix] កែប្រែផ្លូវទិន្នន័យនៅ មេរៀនបង្ហាញទិន្នន័យ`
|
|
|
|
### ការពិពណ៌នាប្រកាស PR
|
|
|
|
រួមបញ្ចូលក្នុងការពិពណ៌នាប្រកាស PR របស់អ្នក៖
|
|
|
|
- **អ្វី**៖ តើអ្នកបានផ្លាស់ប្តូរអ្វី?
|
|
- **ហេតុអ្វី**៖ ហេតុអ្វីការផ្លាស់ប្តូរនេះចាំបាច់?
|
|
- **របៀប**៖ តើធ្វើការផ្លាស់ប្តូរយ៉ាងដូចម្តេច?
|
|
- **ការសាកល្បង**៖ តើអ្នកបានសាកល្បងការផ្លាស់ប្តូរដូចម្តេច?
|
|
- **រូបថតអេក្រង់**៖ បញ្ចូលរូបថតអេក្រង់សម្រាប់ការផ្លាស់ប្តូរក្នុងចក្ខុវិស័យ
|
|
- **បញ្ហាដែលពាក់ព័ន្ធ**៖ តំណបញ្ហាដែលពាក់ព័ន្ធ (ឧ. "Fixes #123")
|
|
|
|
### ដំណើរការត្រួតពិនិត្យ
|
|
|
|
1. **ការត្រួតពិនិត្យស្វ័យប្រវត្តិ** នឹងដំណើរការលេី PR របស់អ្នក
|
|
2. **អ្នកថែទាំនឹងពិនិត្យការរួមចំណែករបស់អ្នក**
|
|
3. **ដោះស្រាយមតិយោបល់** ដោយបង្កើត commit បន្ថែម
|
|
4. ពេលទទួលស្គាល់ ហើយអ្នកថែទាំនឹងបញ្ចូល PR របស់អ្នក
|
|
|
|
### បន្ទាប់ពី PR របស់អ្នកត្រូវបានបញ្ចូល
|
|
|
|
1. លុបសាខាររបស់អ្នក៖
|
|
```bash
|
|
git branch -d feature/your-feature-name
|
|
git push origin --delete feature/your-feature-name
|
|
```
|
|
|
|
2. ផ្ទុះសាខា fork របស់អ្នក៖
|
|
```bash
|
|
git checkout main
|
|
git pull upstream main
|
|
git push origin main
|
|
```
|
|
|
|
|
|
## មគ្គុទេសក៍រចនាបថ
|
|
|
|
### Markdown
|
|
|
|
- ប្រើកម្រិតជំពូកយ៉ាងរឹងមាំ
|
|
- រក្សាបន្ទាត់ទទេ រវាងផ្នែក
|
|
- ប្រើទ្រង់ទ្រាយកូដជាមួយនៃភាសាបញ្ជាក់៖
|
|
````markdown
|
|
```python
|
|
import pandas as pd
|
|
```
|
|
````
|
|
- បន្ថែមអត្ថបទ alt ទៅរូបភាព៖ ``
|
|
- រក្សាប្រវែងបន្ទាត់សមរម្យ (ប្រហែល ៨០-១០០ តួអក្សរ)
|
|
|
|
### Python
|
|
|
|
- អនុវត្តមគ្គុទេសក៍រចនាបថ PEP 8
|
|
- ប្រើឈ្មោះផ្ទុកមានន័យ
|
|
- បន្ថែម docstrings ទៅមុខងារ
|
|
- រួមបញ្ចូលសញ្ញាប្រភេទពេលដែលសមស្រប៖
|
|
```python
|
|
def process_data(df: pd.DataFrame) -> pd.DataFrame:
|
|
"""Process the input dataframe."""
|
|
return df
|
|
```
|
|
|
|
### JavaScript/Vue.js
|
|
|
|
- អនុវត្តមគ្គុទេសក៍រចនាបថ Vue.js 2
|
|
- ប្រើការកំណត់ ESLint ដែលបានផ្តល់
|
|
- សរសេរតំបន់មេធ្វើបានច្រើន និងអាចប្រើឡើងវិញ
|
|
- បន្ថែមចំណាំសម្រាប់តុល្យភាពស្មុគស្មាញ
|
|
|
|
### ការរៀបចំឯកសារ
|
|
|
|
- រក្សាឯកសារដែលពាក់ព័ន្ធជាក្រុម
|
|
- ប្រើឈ្មោះឯកសារដែលពិពណ៌នា
|
|
- អនុវត្តរចនាសម្ព័ន្ធថតដែលមានស្រាប់
|
|
- អត់ commit ឯកសារដែលមិនចាំបាច់ (.DS_Store, .pyc, node_modules, ល។)
|
|
|
|
## សន្ធិសញ្ញាប័ណ្ណអ្នករួមចំណែក
|
|
|
|
គម្រោងនេះស្វាគមន៍ការរួមចំណែក និងយោបល់។ ការរួមចំណែកច្រើនត្រូវការអ្នកព្រមព្រៀងទៅលើ សន្ធិសញ្ញាប័ណ្ណអ្នករួមចំណែក (CLA) ដែលថ្លែងថាអ្នកមានសិទ្ធ និងពិតជាផ្តាច់សិទ្ធិឲ្យយើងប្រើប្រាស់ការរួមចំណែករបស់អ្នក។ សម្រាប់ព័ត៌មានលម្អិត ចូលទៅ https://cla.microsoft.com។
|
|
|
|
ពេលអ្នកបញ្ជូន pull request មួយ CLA-bot នឹងកំណត់ដោយស្វ័យប្រវត្តិថាតើអ្នកត្រូវការផ្តល់ CLA ឬអត់ និងតភ្ជាប់ស្លាកត្រឹមត្រូវ (ឧ. ស្លាក, មតិ)។ សូមអនុវត្តតាមការណែនាំដែលបានផ្ដល់ដោយ bot។ អ្នកត្រូវតែធ្វើម្ដងតែតែមួយគត់ សម្រាប់គ្រប់ឃ្លាំងដែលប្រើ CLA របស់យើង។
|
|
|
|
## មានសំណួរទៀត?
|
|
|
|
- ពិនិត្យមើល [ឆានែល Discord #data-science-for-beginners](https://aka.ms/ds4beginners/discord)
|
|
- ចូលរួមសហគមន៍ Discord របស់យើង៖ https://aka.ms/ds4beginners/discord
|
|
- ពិនិត្យមើលបញ្ហាដែលមានស្រាប់ និង pull requests ៖ https://github.com/microsoft/Data-Science-For-Beginners/issues និង https://github.com/microsoft/Data-Science-For-Beginners/pulls
|
|
|
|
## អរគុណ!
|
|
|
|
ការរួមចំណែករបស់អ្នកធ្វើឲ្យវគ្គសិក្សានេះកាន់តែល្អសម្រាប់មនុស្សគ្រប់រូប។ សូមអរគុណដែលបានចំណាយពេលក្នុងការរួមចំណែក!
|
|
|
|
---
|
|
|
|
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
|
|
**ការបដិសេធ**:
|
|
ឯកសារនេះត្រូវបានបម្រើប្រាស់ដោយសេវាកម្មបកប្រែ AI ដែលមានឈ្មោះ [Co-op Translator](https://github.com/Azure/co-op-translator)។ ខណៈពេលដែលយើងខិតខំប្រឹងប្រែងដើម្បីភាពត្រឹមត្រូវ សូមយល់ដឹងថាការបកប្រែដោយស្វ័យប្រវត្តិអាចមានកំហុស ឬភាពមិនត្រឹមត្រូវមួយចំនួន។ ឯកសារដើមក្នុងភាសាមាតុភូមិគួរត្រូវបានយកទៅជាប្រភពចម្បង។ សម្រាប់ព័ត៌មានសំខាន់ៗ, គ្រាន់តែបកប្រែដោយអ្នកជំនាញមនុស្សត្រូវបានផ្តល់អនុសាសន៍។ យើងមិនទទួលខុសត្រូវចំពោះការយល់ច្រឡំណាស់ ឬការបកប្រែខុសពីការប្រើប្រាស់ការបកប្រែនេះឡើយ។
|
|
<!-- CO-OP TRANSLATOR DISCLAIMER END --> |