|
|
# AGENTS.md
|
|
|
|
|
|
## プロジェクト概要
|
|
|
|
|
|
Data Science for Beginnersは、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
|
|
|
```
|
|
|
|
|
|
|
|
|
## コードスタイルガイドライン
|
|
|
|
|
|
### Python(Jupyterノートブック)
|
|
|
- Pythonコードの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 Static Web Appsのデプロイ
|
|
|
クイズアプリはAzure Static Web Appsにデプロイ可能:
|
|
|
1. Azure Static Web Appリソースを作成
|
|
|
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**: クラウドでノートブックを起動(設定されている場合)
|
|
|
|
|
|
### レッスン内容ガイドライン
|
|
|
- 各レッスンは独立しているが、前の概念を基に構築
|
|
|
- レッスン前のクイズで事前知識をテスト
|
|
|
- レッスン後のクイズで学習を強化
|
|
|
- 課題で実践的な練習を提供
|
|
|
- スケッチノートで視覚的な要約を提供
|
|
|
|
|
|
### よくある問題のトラブルシューティング
|
|
|
|
|
|
**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 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で問題を追跡
|
|
|
- カリキュラム管理者によるPRレビュー
|
|
|
- 毎月のコンテンツレビューと更新
|
|
|
|
|
|
---
|
|
|
|
|
|
**免責事項**:
|
|
|
この文書は、AI翻訳サービス [Co-op Translator](https://github.com/Azure/co-op-translator) を使用して翻訳されています。正確性を追求しておりますが、自動翻訳には誤りや不正確な部分が含まれる可能性があります。元の言語で記載された文書を正式な情報源としてお考えください。重要な情報については、専門の人間による翻訳を推奨します。この翻訳の使用に起因する誤解や誤解釈について、当方は一切の責任を負いません。 |