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.
Data-Science-For-Beginners/translations/zh-TW/AGENTS.md

366 lines
10 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# AGENTS.md
## 專案概述
《初學者的數據科學》是一個由 Microsoft Azure Cloud Advocates 創建的全面性 10 週、20 課課程。此存儲庫是一個學習資源,通過基於項目的課程教授基礎數據科學概念,包括 Jupyter 筆記本、互動測驗和實作練習。
**主要技術:**
- **Jupyter 筆記本**:使用 Python 3 作為主要學習媒介
- **Python 庫**pandas、numpy、matplotlib 用於數據分析和可視化
- **Vue.js 2**測驗應用程式quiz-app 資料夾)
- **Docsify**:離線存取的文件站點生成器
- **Node.js/npm**JavaScript 元件的套件管理
- **Markdown**:所有課程內容和文件
**架構:**
- 多語言教育存儲庫,提供廣泛的翻譯
- 結構化為課程模組1-Introduction 至 6-Data-Science-In-Wild
- 每課包含 README、筆記本、作業和測驗
- 獨立的 Vue.js 測驗應用程式,用於課前/課後評估
- 支援 GitHub Codespaces 和 VS Code 開發容器
## 設置指令
### 存儲庫設置
```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 筆記本
1. 在存儲庫根目錄啟動 Jupyter`jupyter notebook`
2. 導航到所需的課程資料夾
3. 打開 `.ipynb` 文件進行練習
4. 筆記本是自包含的,包含解釋和代碼單元
5. 大多數筆記本使用 pandas、numpy 和 matplotlib請確保已安裝這些庫
### 課程結構
每課通常包含:
- `README.md` - 主要課程內容,包含理論和範例
- `notebook.ipynb` - 實作 Jupyter 筆記本練習
- `assignment.ipynb``assignment.md` - 練習作業
- `solution/` 資料夾 - 解答筆記本和代碼
- `images/` 資料夾 - 支援的視覺材料
### 測驗應用程式開發
- Vue.js 2 應用程式,開發期間支援熱重載
- 測驗存儲於 `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
```
## 代碼風格指南
### PythonJupyter 筆記本)
- 遵循 PEP 8 代碼風格指南
- 使用清晰的變數名稱,說明正在分析的數據
- 在代碼單元之前包含解釋的 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 文件)
- 維持基於元件的架構
- 提交更改前運行 `npm run lint`
### Markdown 文件
- 使用清晰的標題層次結構(# ## ### 等)
- 包含帶語言指定的代碼塊
- 為圖片添加替代文字
- 鏈接相關課程和資源
- 保持合理的行長以提高可讀性
### 文件組織
- 課程內容存放於編號資料夾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 靜態 Web 應用部署
測驗應用程式可部署到 Azure 靜態 Web 應用:
1. 創建 Azure 靜態 Web 應用資源
2. 連接到 GitHub 存儲庫
3. 配置構建設置:
- 應用位置:`quiz-app`
- 輸出位置:`dist`
4. GitHub Actions 工作流程會在推送時自動部署
### 文件站點
```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
- 存儲庫包含開發容器配置
- Codespaces 自動設置 Python 和 Node.js 環境
- 通過 GitHub UI 打開存儲庫中的 Codespace
- 所有依賴項自動安裝
## 拉取請求指南
### 提交前
```bash
# For Vue.js changes in quiz-app
cd quiz-app
npm run lint
npm run build
# Test changes locally
npm run serve
```
### PR 標題格式
- 使用清晰、描述性的標題
- 格式:`[元件] 簡短描述`
- 範例:
- `[Lesson 7] 修復 Python 筆記本導入錯誤`
- `[Quiz App] 添加德語翻譯`
- `[Docs] 更新 README新增前置條件`
### 必要檢查
- 確保所有代碼無錯誤運行
- 驗證筆記本完整執行
- 確認 Vue.js 應用程式成功構建
- 檢查文件鏈接是否正常
- 測試修改的測驗應用程式
- 確認翻譯保持一致結構
### 貢獻指南
- 遵循現有代碼風格和模式
- 為複雜邏輯添加解釋性註解
- 更新相關文件
- 在不同課程模組中測試更改(如適用)
- 查看 CONTRIBUTING.md 文件
## 附加說明
### 常用庫
- **pandas**:數據操作和分析
- **numpy**:數值計算
- **matplotlib**:數據可視化和繪圖
- **seaborn**:統計數據可視化(部分課程)
- **scikit-learn**:機器學習(進階課程)
### 使用數據文件
- 數據文件存放於 `data/` 資料夾或課程專用目錄
- 大多數筆記本期望數據文件位於相對路徑
- CSV 文件是主要數據格式
- 部分課程使用 JSON 作為非關聯數據範例
### 多語言支援
- 通過 GitHub Actions 提供 40+ 語言翻譯
- 翻譯工作流程位於 `.github/workflows/co-op-translator.yml`
- 翻譯存放於 `translations/` 資料夾,使用語言代碼命名
- 測驗翻譯存放於 `quiz-app/src/assets/translations/`
### 開發環境選項
1. **本地開發**:本地安裝 Python、Jupyter、Node.js
2. **GitHub Codespaces**:基於雲端的即時開發環境
3. **VS Code 開發容器**:基於容器的本地開發
4. **Binder**:在雲端啟動筆記本(如已配置)
### 課程內容指南
- 每課是獨立的,但建立在之前概念之上
- 課前測驗測試先前知識
- 課後測驗加強學習
- 作業提供實作練習
- Sketchnotes 提供視覺摘要
### 常見問題排查
**Jupyter 核心問題:**
```bash
# Ensure correct kernel is installed
python -m ipykernel install --user --name=datascience
```
**npm 安裝失敗:**
```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
### 性能考量
- 大型數據集可能需要較長時間加載到筆記本中
- 複雜圖表的可視化渲染可能較慢
- Vue.js 開發伺服器啟用熱重載以快速迭代
- 生產構建已優化並縮小
### 安全注意事項
- 不應提交敏感數據或憑證
- 在雲端課程中使用環境變數存儲 API 密鑰
- 與 Azure 相關的課程可能需要 Azure 帳戶憑證
- 保持依賴項更新以獲得安全修補
## 翻譯貢獻
- 通過 GitHub Actions 管理自動翻譯
- 歡迎手動修正以提高翻譯準確性
- 遵循現有翻譯資料夾結構
- 更新測驗鏈接以包含語言參數:`?loc=fr`
- 測試翻譯課程以確保正確渲染
## 相關資源
- 主課程https://aka.ms/datascience-beginners
- Microsoft Learnhttps://docs.microsoft.com/learn/
- 學生中心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 上追蹤
- PR 由課程維護者審核
- 每月進行內容審查和更新
---
**免責聲明**
本文件已使用 AI 翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。儘管我們致力於提供準確的翻譯,請注意自動翻譯可能包含錯誤或不準確之處。原始文件的母語版本應被視為權威來源。對於關鍵資訊,建議使用專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解釋不承擔責任。