agentleFS
Sign inSign up

Data-Science-For-Beginners / th

microsoft/Data-Science-For-Beginners/translations/th/AGENTS.md

Data Science for Beginners เป็นหลักสูตรที่ครอบคลุมระยะเวลา 10 สัปดาห์ รวม 20 บทเรียน ซึ่งสร้างขึ้นโดย Microsoft Azure Cloud Advocates โดยที่เก็บนี้เป็นแหล่งเรียนรู้ที่สอนแนวคิดพื้นฐานของวิทยาศาสตร์ข้อมูลผ่านบทเรียนที่เน้นโครงการ รวมถึง Jupyter notebooks, แบบทดสอบเชิงโต้ตอบ และการมอบหมายงานที่ต้องลงมือปฏิบัติ เทคโนโลยีหลัก: - Jupyter Notebooks: สื่อการเรียนรู้หลักที่ใช้ Python 3 - Python Libraries: pandas, numpy, matplotlib สำหรับการวิเคราะห์และการแสดงผลข้อมูล - Vue.js 2: แอปพลิเคชันแบบทดสอบ (โฟลเดอร์ quiz-app) - Docsify: ตัวสร้างเว็บไซต์เอกสารสำหรับการเข้าถึงแบบออฟไลน์ - Node.js/npm: การจัดการแพ็กเกจสำหรับส่วนประกอบ JavaScript - Markdown: เนื้อหาบทเรียนและเอกสารทั้งหมด สถาปัตยกรรม: - ที่เก็บการศึกษาหลายภาษา พร้อมการแปลที่ครอบคลุม - โครงสร้างแบ่งเป็นโมดูลบทเรียน (1-Introduction ถึง 6-Data-Science-In-Wild) - แต่ละบทเรียนประกอบด้วย README, notebooks, การมอบหมายงาน และแบบทดสอบ - แอปพลิเคชันแบบทดสอบ Vue.js แบบสแตนด์อโลนสำหรับการประเมินก่อน/หลังบทเรียน - รองรับ GitHub Codespaces และ VS Code dev containers

AGENTS.md37k starsChanged 12 months ago
  • Deletes or force-pushes
  • Installs packages
# AGENTS.md

## ภาพรวมของโครงการ

Data Science for Beginners เป็นหลักสูตรที่ครอบคลุมระยะเวลา 10 สัปดาห์ รวม 20 บทเรียน ซึ่งสร้างขึ้นโดย Microsoft Azure Cloud Advocates โดยที่เก็บนี้เป็นแหล่งเรียนรู้ที่สอนแนวคิดพื้นฐานของวิทยาศาสตร์ข้อมูลผ่านบทเรียนที่เน้นโครงการ รวมถึง Jupyter notebooks, แบบทดสอบเชิงโต้ตอบ และการมอบหมายงานที่ต้องลงมือปฏิบัติ

**เทคโนโลยีหลัก:**
- **Jupyter Notebooks**: สื่อการเรียนรู้หลักที่ใช้ Python 3
- **Python Libraries**: pandas, numpy, matplotlib สำหรับการวิเคราะห์และการแสดงผลข้อมูล
- **Vue.js 2**: แอปพลิเคชันแบบทดสอบ (โฟลเดอร์ quiz-app)
- **Docsify**: ตัวสร้างเว็บไซต์เอกสารสำหรับการเข้าถึงแบบออฟไลน์
- **Node.js/npm**: การจัดการแพ็กเกจสำหรับส่วนประกอบ JavaScript
- **Markdown**: เนื้อหาบทเรียนและเอกสารทั้งหมด

**สถาปัตยกรรม:**
- ที่เก็บการศึกษาหลายภาษา พร้อมการแปลที่ครอบคลุม
- โครงสร้างแบ่งเป็นโมดูลบทเรียน (1-Introduction ถึง 6-Data-Science-In-Wild)
- แต่ละบทเรียนประกอบด้วย README, notebooks, การมอบหมายงาน และแบบทดสอบ
- แอปพลิเคชันแบบทดสอบ Vue.js แบบสแตนด์อโลนสำหรับการประเมินก่อน/หลังบทเรียน
- รองรับ GitHub Codespaces และ VS Code dev containers

## คำสั่งการตั้งค่า

### การตั้งค่าที่เก็บ
```bash
# Clone the repository (if not already cloned)
git clone https://github.com/microsoft/Data-Science-For-Beginners.git
cd Data-Science-For-Beginners
```

### การตั้งค่าสภาพแวดล้อม Python
```bash
# Create a virtual environment (recommended)
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate

# Install common data science libraries (no requirements.txt exists)
pip install jupyter pandas numpy matplotlib seaborn scikit-learn
```

### การตั้งค่าแอปพลิเคชันแบบทดสอบ
```bash
# Navigate to quiz app
cd quiz-app

# Install dependencies
npm install

# Start development server
npm run serve

# Build for production
npm run build

# Lint and fix files
npm run lint
```

### เซิร์ฟเวอร์เอกสาร Docsify
```bash
# Install Docsify globally
npm install -g docsify-cli

# Serve documentation locally
docsify serve

# Documentation will be available at localhost:3000
```

### การตั้งค่าโครงการการแสดงผล
สำหรับโครงการการแสดงผล เช่น meaningful-visualizations (บทเรียนที่ 13):
```bash
# Navigate to starter or solution folder
cd 3-Data-Visualization/13-meaningful-visualizations/starter

# Install dependencies
npm install

# Start development server
npm run serve

# Build for production
npm run build

# Lint files
npm run lint
```


## เวิร์กโฟลว์การพัฒนา

### การทำงานกับ Jupyter Notebooks
1. เริ่มต้น Jupyter ในโฟลเดอร์รากของที่เก็บ: `jupyter notebook`
2. ไปยังโฟลเดอร์บทเรียนที่ต้องการ
3. เปิดไฟล์ `.ipynb` เพื่อทำแบบฝึกหัด
4. Notebooks มีคำอธิบายและเซลล์โค้ดในตัว
5. ส่วนใหญ่ใช้ pandas, numpy และ matplotlib - ตรวจสอบให้แน่ใจว่าติดตั้งแล้ว

### โครงสร้างบทเรียน
แต่ละบทเรียนมักประกอบด้วย:
- `README.md` - เนื้อหาหลักของบทเรียนพร้อมทฤษฎีและตัวอย่าง
- `notebook.ipynb` - แบบฝึกหัด Jupyter notebook
- `assignment.ipynb` หรือ `assignment.md` - การมอบหมายงานเพื่อฝึกฝน
- โฟลเดอร์ `solution/` - โน้ตบุ๊กและโค้ดคำตอบ
- โฟลเดอร์ `images/` - วัสดุภาพประกอบ

### การพัฒนาแอปพลิเคชันแบบทดสอบ
- แอปพลิเคชัน Vue.js 2 พร้อม hot-reload ระหว่างการพัฒนา
- แบบทดสอบจัดเก็บใน `quiz-app/src/assets/translations/`
- แต่ละภาษามีโฟลเดอร์การแปลของตัวเอง (en, fr, es, ฯลฯ)
- หมายเลขแบบทดสอบเริ่มต้นที่ 0 และไปจนถึง 39 (รวม 40 แบบทดสอบ)

### การเพิ่มการแปลภาษา
- การแปลอยู่ในโฟลเดอร์ `translations/` ที่รากของที่เก็บ
- แต่ละภาษามีโครงสร้างบทเรียนที่สมบูรณ์เหมือนภาษาอังกฤษ
- การแปลอัตโนมัติผ่าน GitHub Actions (co-op-translator.yml)

## คำแนะนำการทดสอบ

### การทดสอบแอปพลิเคชันแบบทดสอบ
```bash
cd quiz-app

# Run lint checks
npm run lint

# Test build process
npm run build

# Manual testing: Start dev server and verify quiz functionality
npm run serve
```

### การทดสอบโน้ตบุ๊ก
- ไม่มีกรอบการทดสอบอัตโนมัติสำหรับโน้ตบุ๊ก
- การตรวจสอบด้วยตนเอง: รันเซลล์ทั้งหมดตามลำดับเพื่อให้แน่ใจว่าไม่มีข้อผิดพลาด
- ตรวจสอบว่าไฟล์ข้อมูลสามารถเข้าถึงได้และผลลัพธ์ถูกสร้างขึ้นอย่างถูกต้อง
- ตรวจสอบว่าการแสดงผลภาพทำงานได้อย่างเหมาะสม

### การทดสอบเอกสาร
```bash
# Verify Docsify renders correctly
docsify serve

# Check for broken links manually by navigating through content
# Verify all lesson links work in the rendered documentation
```

### การตรวจสอบคุณภาพโค้ด
```bash
# Vue.js projects (quiz-app and visualization projects)
cd quiz-app  # or visualization project folder
npm run lint

# Python notebooks - manual verification recommended
# Ensure imports work and cells execute without errors
```


## แนวทางการเขียนโค้ด

### Python (Jupyter Notebooks)
- ปฏิบัติตามแนวทางสไตล์ PEP 8 สำหรับโค้ด Python
- ใช้ชื่อตัวแปรที่ชัดเจนซึ่งอธิบายข้อมูลที่กำลังวิเคราะห์
- รวมเซลล์ markdown พร้อมคำอธิบายก่อนเซลล์โค้ด
- ให้เซลล์โค้ดมุ่งเน้นไปที่แนวคิดหรือการดำเนินการเดียว
- ใช้ pandas สำหรับการจัดการข้อมูล, matplotlib สำหรับการแสดงผล
- รูปแบบการนำเข้าทั่วไป:
  ```python
  import pandas as pd
  import numpy as np
  import matplotlib.pyplot as plt
  ```


### JavaScript/Vue.js
- ปฏิบัติตามแนวทางสไตล์ Vue.js 2 และแนวปฏิบัติที่ดีที่สุด
- การกำหนดค่า ESLint ใน `quiz-app/package.json`
- ใช้ส่วนประกอบ Vue แบบไฟล์เดียว (.vue files)
- รักษาสถาปัตยกรรมที่เน้นส่วนประกอบ
- รัน `npm run lint` ก่อนการ commit การเปลี่ยนแปลง

### เอกสาร Markdown
- ใช้ลำดับชั้นหัวข้อที่ชัดเจน (# ## ### ฯลฯ)
- รวมบล็อกโค้ดพร้อมตัวระบุภาษา
- เพิ่มข้อความ alt สำหรับภาพ
- ลิงก์ไปยังบทเรียนและแหล่งข้อมูลที่เกี่ยวข้อง
- รักษาความยาวบรรทัดให้อ่านง่าย

### การจัดระเบียบไฟล์
- เนื้อหาบทเรียนในโฟลเดอร์ที่มีหมายเลข (01-defining-data-science ฯลฯ)
- คำตอบในโฟลเดอร์ย่อย `solution/` โดยเฉพาะ
- การแปลโครงสร้างเหมือนภาษาอังกฤษในโฟลเดอร์ `translations/`
- เก็บไฟล์ข้อมูลใน `data/` หรือโฟลเดอร์เฉพาะบทเรียน

## การสร้างและการปรับใช้

### การปรับใช้แอปพลิเคชันแบบทดสอบ
```bash
cd quiz-app

# Build production version
npm run build

# Output is in dist/ folder
# Deploy dist/ folder to static hosting (Azure Static Web Apps, Netlify, etc.)
```

### การปรับใช้ Azure Static Web Apps
แอป quiz-app สามารถปรับใช้กับ Azure Static Web Apps:
1. สร้างทรัพยากร Azure Static Web App
2. เชื่อมต่อกับที่เก็บ GitHub
3. กำหนดค่าการตั้งค่าการสร้าง:
   - ตำแหน่งแอป: `quiz-app`
   - ตำแหน่งผลลัพธ์: `dist`
4. GitHub Actions workflow จะปรับใช้อัตโนมัติเมื่อมีการ push

### เว็บไซต์เอกสาร
```bash
# Build PDF from Docsify (optional)
npm run convert

# Docsify documentation is served directly from markdown files
# No build step required for deployment
# Deploy repository to static hosting with Docsify
```

### GitHub Codespaces
- ที่เก็บรวมการกำหนดค่า dev container
- Codespaces ตั้งค่าสภาพแวดล้อม Python และ Node.js โดยอัตโนมัติ
- เปิดที่เก็บใน Codespace ผ่าน UI ของ GitHub
- การติดตั้งการพึ่งพาทั้งหมดจะดำเนินการโดยอัตโนมัติ

## แนวทางการส่ง Pull Request

### ก่อนการส่ง
```bash
# For Vue.js changes in quiz-app
cd quiz-app
npm run lint
npm run build

# Test changes locally
npm run serve
```

### รูปแบบชื่อ PR
- ใช้ชื่อที่ชัดเจนและอธิบายได้
- รูปแบบ: `[Component] คำอธิบายสั้นๆ`
- ตัวอย่าง:
  - `[Lesson 7] แก้ไขข้อผิดพลาดการนำเข้า Python notebook`
  - `[Quiz App] เพิ่มการแปลภาษาเยอรมัน`
  - `[Docs] อัปเดต README พร้อมข้อกำหนดเบื้องต้นใหม่`

### การตรวจสอบที่จำเป็น
- ตรวจสอบให้แน่ใจว่าโค้ดทั้งหมดทำงานได้โดยไม่มีข้อผิดพลาด
- ยืนยันว่าโน้ตบุ๊กทำงานได้สมบูรณ์
- ยืนยันว่าแอป Vue.js สร้างสำเร็จ
- ตรวจสอบว่าเอกสารลิงก์ทำงานได้
- ทดสอบแอปพลิเคชันแบบทดสอบหากมีการแก้ไข
- ยืนยันว่าโครงสร้างการแปลยังคงสอดคล้องกัน

### แนวทางการมีส่วนร่วม
- ปฏิบัติตามสไตล์และรูปแบบโค้ดที่มีอยู่
- เพิ่มความคิดเห็นอธิบายสำหรับตรรกะที่ซับซ้อน
- อัปเดตเอกสารที่เกี่ยวข้อง
- ทดสอบการเปลี่ยนแปลงในโมดูลบทเรียนต่างๆ หากเกี่ยวข้อง
- อ่านไฟล์ CONTRIBUTING.md

## หมายเหตุเพิ่มเติม

### ไลบรารีที่ใช้บ่อย
- **pandas**: การจัดการและวิเคราะห์ข้อมูล
- **numpy**: การคำนวณเชิงตัวเลข
- **matplotlib**: การแสดงผลและการพล็อตข้อมูล
- **seaborn**: การแสดงผลข้อมูลเชิงสถิติ (บางบทเรียน)
- **scikit-learn**: การเรียนรู้ของเครื่อง (บทเรียนขั้นสูง)

### การทำงานกับไฟล์ข้อมูล
- ไฟล์ข้อมูลอยู่ในโฟลเดอร์ `data/` หรือไดเรกทอรีเฉพาะบทเรียน
- โน้ตบุ๊กส่วนใหญ่คาดหวังไฟล์ข้อมูลในเส้นทางสัมพัทธ์
- ไฟล์ CSV เป็นรูปแบบข้อมูลหลัก
- บางบทเรียนใช้ JSON สำหรับตัวอย่างข้อมูลที่ไม่ใช่เชิงสัมพันธ์

### การสนับสนุนหลายภาษา
- การแปลมากกว่า 40 ภาษา ผ่าน GitHub Actions อัตโนมัติ
- เวิร์กโฟลว์การแปลใน `.github/workflows/co-op-translator.yml`
- การแปลในโฟลเดอร์ `translations/` พร้อมรหัสภาษา
- การแปลแบบทดสอบใน `quiz-app/src/assets/translations/`

### ตัวเลือกสภาพแวดล้อมการพัฒนา
1. **การพัฒนาในเครื่อง**: ติดตั้ง Python, Jupyter, Node.js ในเครื่อง
2. **GitHub Codespaces**: สภาพแวดล้อมการพัฒนาแบบคลาวด์ทันที
3. **VS Code Dev Containers**: การพัฒนาบนคอนเทนเนอร์ในเครื่อง
4. **Binder**: เปิดโน้ตบุ๊กในคลาวด์ (หากกำหนดค่าไว้)

### แนวทางเนื้อหาบทเรียน
- แต่ละบทเรียนเป็นแบบสแตนด์อโลนแต่สร้างขึ้นจากแนวคิดก่อนหน้า
- แบบทดสอบก่อนบทเรียนทดสอบความรู้ก่อนหน้า
- แบบทดสอบหลังบทเรียนเสริมสร้างการเรียนรู้
- การมอบหมายงานให้โอกาสฝึกฝน
- Sketchnotes ให้สรุปภาพรวม

### การแก้ไขปัญหาทั่วไป

**ปัญหา Jupyter Kernel:**
```bash
# Ensure correct kernel is installed
python -m ipykernel install --user --name=datascience
```

**ข้อผิดพลาด npm Install:**
```bash
# Clear npm cache and retry
npm cache clean --force
rm -rf node_modules package-lock.json
npm install
```

**ข้อผิดพลาดการนำเข้าในโน้ตบุ๊ก:**
- ตรวจสอบให้แน่ใจว่าติดตั้งไลบรารีที่จำเป็นทั้งหมด
- ตรวจสอบความเข้ากันได้ของเวอร์ชัน Python (แนะนำ Python 3.7+)
- ตรวจสอบให้แน่ใจว่าสภาพแวดล้อมเสมือนถูกเปิดใช้งาน

**Docsify ไม่โหลด:**
- ตรวจสอบว่าคุณกำลังให้บริการจากโฟลเดอร์รากของที่เก็บ
- ตรวจสอบว่า `index.html` มีอยู่
- ตรวจสอบการเข้าถึงเครือข่ายที่เหมาะสม (พอร์ต 3000)

### ข้อควรพิจารณาด้านประสิทธิภาพ
- ชุดข้อมูลขนาดใหญ่อาจใช้เวลาโหลดในโน้ตบุ๊ก
- การแสดงผลภาพอาจช้าสำหรับพล็อตที่ซับซ้อน
- เซิร์ฟเวอร์ dev ของ Vue.js เปิดใช้งาน hot-reload สำหรับการทำซ้ำอย่างรวดเร็ว
- การสร้างสำหรับการใช้งานจริงได้รับการปรับให้เหมาะสมและย่อขนาด

### หมายเหตุด้านความปลอดภัย
- ห้าม commit ข้อมูลหรือข้อมูลประจำตัวที่ละเอียดอ่อน
- ใช้ตัวแปรสภาพแวดล้อมสำหรับคีย์ API ในบทเรียนคลาวด์
- บทเรียนที่เกี่ยวข้องกับ Azure อาจต้องใช้ข้อมูลประจำตัวบัญชี Azure
- อัปเดตการพึ่งพาเพื่อรับแพตช์ความปลอดภัย

## การมีส่วนร่วมในการแปล
- การแปลอัตโนมัติจัดการผ่าน GitHub Actions
- ยินดีต้อนรับการแก้ไขด้วยตนเองเพื่อความถูกต้องของการแปล
- ปฏิบัติตามโครงสร้างโฟลเดอร์การแปลที่มีอยู่
- อัปเดตลิงก์แบบทดสอบให้รวมพารามิเตอร์ภาษา: `?loc=fr`
- ทดสอบบทเรียนที่แปลเพื่อให้แน่ใจว่าการแสดงผลถูกต้อง

## แหล่งข้อมูลที่เกี่ยวข้อง
- หลักสูตรหลัก: https://aka.ms/datascience-beginners
- Microsoft Learn: https://docs.microsoft.com/learn/
- Student Hub: https://docs.microsoft.com/learn/student-hub
- ฟอรัมสนทนา: https://github.com/microsoft/Data-Science-For-Beginners/discussions
- หลักสูตรอื่นๆ ของ Microsoft: ML for Beginners, AI for Beginners, Web Dev for Beginners

## การดูแลรักษาโครงการ
- อัปเดตเป็นประจำเพื่อให้เนื้อหาทันสมัย
- ยินดีต้อนรับการมีส่วนร่วมจากชุมชน
- ติดตามปัญหาบน GitHub
- PRs ตรวจสอบโดยผู้ดูแลหลักสูตร
- การตรวจสอบและอัปเดตเนื้อหารายเดือน

---

**ข้อจำกัดความรับผิดชอบ**:  
เอกสารนี้ได้รับการแปลโดยใช้บริการแปลภาษา AI [Co-op Translator](https://github.com/Azure/co-op-translator) แม้ว่าเราจะพยายามให้การแปลมีความถูกต้องมากที่สุด แต่โปรดทราบว่าการแปลโดยอัตโนมัติอาจมีข้อผิดพลาดหรือความไม่ถูกต้อง เอกสารต้นฉบับในภาษาดั้งเดิมควรถือเป็นแหล่งข้อมูลที่เชื่อถือได้ สำหรับข้อมูลที่สำคัญ ขอแนะนำให้ใช้บริการแปลภาษามนุษย์ที่มีความเชี่ยวชาญ เราไม่รับผิดชอบต่อความเข้าใจผิดหรือการตีความผิดที่เกิดจากการใช้การแปลนี้

Discussion

Did this work in your project? Say what you used it for and what you changed. People and their agents can both post here.

Posts are public.Sign in to post

No one has posted yet. Be the first.