目的
受講生の属性と制約をフォーム入力するだけで、日別の学習スケジュール(開始/終了時刻・トピック・時間数・学習メモ)を自動生成し、Excel/CSVとして出力できる単一HTMLアプリです。サーバ不要・オフライン動作。
- ゼロセットアップ:配布された
study-plan.htmlをブラウザで開くだけ - 完全ローカル:データは外部送信されません(CDNはExcel出力用のSheetJSのみ)
- 最適化生成:
- 目標(例:12月までにポートフォリオ)/経験レベル/学習スタイル/学習媒体 を反映
- 週あたり学習可能日数・休息曜日・不可日・週上限時間を考慮
- 出力:Excel(.xlsx)/CSV、入力設定のJSON保存・読込
- UI:ダーク基調、レスポンシブ、列幅は「メモ/リソース」重視に自動配分
- 拡張性:技術スタック(サーバ/フロント/DB/インフラ/その他)を簡単追加
- ブラウザ:Chrome / Edge / Safari(最新推奨)
- インターネット:不要(Excel出力のためのCDN利用がある場合のみオンラインでも可)
- OS:Windows / macOS / Linux いずれも可
study-plan.htmlをダブルクリックしてブラウザで開く。- 画面左から順に ①基本設定 → ②技術スタック → ③追加制約 を入力。
- ④「最適化してプラン生成」 をクリック。
- 下部に表示された日別プランを確認し、必要に応じて
- Excel(.xlsx)出力
- CSV出力
- 設定をJSON保存/JSON読込 を実行。
- 開始日(必須)
- 学習日数(合計) … 学習を実行する日の数(休息日・不可日は自動スキップ)
- 1日の学習時間(1〜6h)
- 週あたりの学習可能日数(1〜7)
- 起床時刻 / 就寝時刻 / 学習開始時刻(目安)
- 休息日(曜日) … 複数選択可
- OS / PCスペック(目安)
- 学習媒体 … 市販本 / 公式ドキュメント / Web教材 / 動画講座 / 演習サイト(複数可)
- 学習スタイル … インプット先行 / 作りながら覚える / テスト駆動 / 復習重視
- 本人の状況メモ … 任意
- Python(Django, Flask, FastAPI)
- Java(Spring Boot)
- Node.js(Express)
- PHP(Laravel)
- Go(Gin)
- Ruby(Rails)
- HTML / CSS
- JavaScript / TypeScript
- Vue.js / React / Angular / Svelte
- PostgreSQL / MySQL / SQLite / Oracle DB
- AWS / Docker / Vercel / Cloud9
- 要件定義(ユースケース・ER図・クラス設計)
- Git / GitHub(init, add, commit, branch, merge, push)
- テスト設計(pytest, JUnit)
※ C / C# / C++ や Pythonの各フレームワークも拡張可能
- 不可日(学習できない日:
YYYY-MM-DDをカンマ区切り) - 週の上限学習時間(任意)
- 復習比率(%) / 演習比率(%) … 合計100%以内
- メンタル・体調配慮(例:連続2日まで/低刺激の時間帯)
- 列構成:日付 / 開始時間 / 終了時間 / トピック / 学習時間(h) / メモ/リソース(学習細目)
- 配分ロジック概要
1. 技術スタックに基づき基本カリキュラムを採用
2. フロントFW/DB選択で関連ブロックを追加
3. 目標タイプで最終プロジェクト枠を増減
4. 合計時間を超える場合、最大25%短縮
5. 週上限時間・休息日・不可日で学習日をスキップ
6. 媒体・スタイル・経験レベルごとにリソースを最適化
study-plan.html
├── <style> (UI設定)
└── <script> (生成ロジック・Excel出力)
{
"startDate": "2025-11-04",
"totalDays": 30,
"dailyHours": 2,
"daysPerWeek": 5,
"wakeTime": "07:00",
"sleepTime": "23:30",
"studyStart": "20:00",
"restDays": [0,6],
"os": "Mac",
"spec": "16GB RAM / Mid CPU",
"media": ["市販本","公式ドキュメント"],
"style": "作りながら覚える",
"notes": "",
"server": "python-django",
"front": ["htmlcss","js","vue"],
"db": "postgres",
"level": "基礎済",
"goal": "12月までにポートフォリオ1本",
"blackoutDates": "2025-11-10,2025-11-23",
"weeklyCap": 12,
"reviewPct": 20,
"practicePct": 60,
"care": "連続2日まで"
}
Q. 生成されない A. 開始日が未入力、または復習%+演習%が100%以上の可能性。
Q. 学習時間が不自然 A. 日付・時間のカラムがずれる場合、ブラウザ幅を広げると再計算されます。
Q. 学習日数が反映されない A. 「休息日」「週上限時間」「不可日」で実施できない日がスキップされるためです。
Q. 外部通信はありますか? A. Excel出力用のライブラリ読み込みのみで、個人情報は送信されません。
- 学内・社内配布自由。外部配布時は許可を得てください。
- 外部ライブラリ(SheetJS)は各ライセンスに従うこと。
| バージョン | 日付 | 内容 |
|---|---|---|
| v1.3 | 2025-11 | 媒体・スタイル・経験レベル反映強化、列幅調整 |
| v1.2 | 2025-10 | 技術スタック分類再編(サーバ/フロント/DB/インフラ/その他) |
| v1.1 | 2025-09 | Excel/CSV出力対応、UI修正 |
| v1.0 | 2025-08 | 初版リリース |
1. HTMLを開く
2. ①基本設定 → ②技術スタック → ③制約を入力
3. 「最適化してプラン生成」
4. Excel/CSV出力またはJSON保存
5. 生成されない場合:
- 開始日を入力
- 復習%+演習% ≤ 100%
- 学習日数・休息日・週上限を確認