# 全棧開發導論：Vibe Coding 時代的計算機知識地圖

::: tip 前言
**什麼是 Vibe Coding？** 簡單說，就是「用自然語言寫程式碼」——你用中文或英文描述想要什麼，AI 幫你產生程式碼。這徹底改變了軟體開發的遊戲規則。

但這裡有個關鍵問題：**AI 能幫你寫程式碼，但 AI 不能替你思考。** 你仍然需要知道「要寫什麼」、「為什麼這麼寫」、「怎麼判斷對錯」。
:::

**這篇文章會帶你學什麼？**

學完這章後，你將獲得：

- **領域全景認知**：知道前端、後端、AI 演算法等方向分別做什麼
- **技術選型能力**：面對「學什麼語言/框架」時，能做出理性判斷
- **成長路徑清晰**：了解從零基礎到 3-5 年經驗工程師的技能演進
- **Vibe Coding 思維**：理解在 AI 輔助時代，哪些能力變得更重要

| 章节 | 內容 | 核心概念 |
|-----|------|---------|
| **第 1 章** | 電腦領域全景 | 前端、後端、行動端、AI、維運 |
| **第 2 章** | 前端概述 | 使用者能感知的介面層 |
| **第 3 章** | 後端概述 | 幕後的伺服器邏輯 |
| **第 4 章** | 程式語言概念 | 與電腦溝通的工具 |
| **第 5 章** | 全端工程師 | 前後端通吃的多面手 |
| **第 6 章** | AI 演算法工程師 | 讓機器學會思考 |
| **第 7 章** | 成長路徑 | 從入門到精通的路線圖 |

---

## 0. Vibe Coding：軟體開發的新範式

<VibeCodingFlowDemo />

**核心變化**：從「怎麼寫程式碼」變成「怎麼描述需求」。

### 0.2 Vibe Coding 時代的核心能力

<DeveloperSkillShiftDemo />

::: tip 關鍵洞察
AI 能幫你寫程式碼，但以下能力 AI 替代不了：
- **判斷力**：知道 AI 產生的程式碼對不對、好不好
- **架構思維**：知道系統該怎麼設計、模組該怎麼劃分
- **領域知識**：理解業務邏輯，知道「要做什麼」
- **除錯能力**：出問題時知道從哪裡排查
:::

---

## 1. 電腦領域全景圖

<ComputerFieldMapDemo />

### 1.1 各領域職責與產出

| 領域 | 餐廳角色 | 做什麼 | 產出物 |
|-----|---------|--------|--------|
| **前端** | 裝修 + 菜單 + 服務生 | 使用者能看到、能互動的一切 | 網頁、小程式、App 介面 |
| **後端** | 廚房 + 倉庫 | 處理業務邏輯、儲存資料 | API、資料庫、伺服器程式 |
| **行動端** | 外送窗口 | 手機上的應用體驗 | iOS/Android App |
| **AI/演算法** | 研發部 | 讓系統變「聰明」 | 推薦模型、影像辨識、智慧對話 |
| **維運/DevOps** | 物業 + 安保 | 保證系統穩定運行 | 部署腳本、監控系統、安全防護 |

---

## 2. 前端概述

### 2.1 一句話定義

**前端 = 使用者能直接看到、點擊、互動的部分。**

### 2.2 前端三件套

<FrontendTriadDemo />

| 技術 | 裝修角色 | 職責 |
|-----|---------|------|
| **HTML** | 房屋結構 | 牆在哪、門在哪、房間怎麼劃分 |
| **CSS** | 裝飾風格 | 牆什麼顏色、傢俱怎麼擺、燈光效果 |
| **JavaScript** | 智慧家居 | 開關燈、窗簾自動開合、安防系統 |

### 2.3 前端框架的作用

<FrontendFrameworkDemo />

---

## 3. 後端概述

### 3.1 一句話定義

**後端 = 使用者看不到，但支撐整個系統運轉的邏輯。**

### 3.2 後端的核心職責

<BackendCoreDemo />

### 3.3 後端語言選擇

| 語言 | 特點 | 適合場景 |
|-----|------|---------|
| **Node.js** | 前端友善，JavaScript 全端 | 中小型專案、快速原型 |
| **Go** | 高效能、並行強 | 高並行服務、微服務架構 |
| **Java** | 生態成熟、企業級 | 大型企業系統、銀行 |
| **Python** | 簡潔、AI 生態好 | 資料處理、AI 服務 |

---

## 4. 程式語言概念

<ProgrammingLanguageMapDemo />

**按執行方式分類**：

| 類型 | 原理 | 代表語言 | 特點 |
|-----|------|---------|------|
| **編譯型** | 先翻譯成機器碼，再執行 | C, C++, Go, Rust | 執行快，編譯慢 |
| **直譯型** | 邊翻譯邊執行 | Python, JavaScript, Ruby | 開發快，執行慢 |
| **位元組碼型** | 折中方案 | Java, Kotlin, C# | 平衡效能和開發效率 |

### 4.3 語言選擇原則

<LanguageSelectionDemo />

::: tip 選擇原則
沒有「最好的語言」，只有「最適合場景的語言」。
:::

---

## 5. 全端工程師：前後端通吃

<FullstackSkillDemo />

### 5.2 全端的優勢

| 優勢 | 說明 |
|-----|------|
| **獨立完成專案** | 從需求到上線，一個人搞定 |
| **溝通成本低** | 不需要前後端來回溝通 |
| **技術視野廣** | 理解整個系統如何運作 |
| **創業友善** | 快速驗證想法 |

### 5.3 全端的挑戰

| 挑戰 | 說明 |
|-----|------|
| **深度 vs 廣度** | 容易「什麼都懂一點，什麼都不精」 |
| **技術更新快** | 前後端技術都在快速演進 |
| **精力分散** | 需要同時關注多個領域 |

---

## 6. AI 演算法工程師：讓機器學會思考

<AIvsTraditionalDemo />

### 6.2 AI 工程師的技能樹

```
AI 工程師（2025）
    │
    ├── 基礎能力
    │   ├── Python（主力語言）
    │   ├── 資料處理（Pandas, NumPy）
    │   └── 基本數學直覺
    │
    ├── 大模型應用
    │   ├── Prompt Engineering
    │   ├── RAG
    │   ├── AI Agent
    │   └── 微調與部署
    │
    ├── 生成式 AI（GenAI）
    │   ├── 文字生成（GPT, Claude, Gemini）
    │   ├── 影像生成（Stable Diffusion, Midjourney）
    │   └── 多模態
    │
    └── 傳統機器學習
        ├── 監督學習
        ├── 深度學習框架（PyTorch）
        └── 模型評估與最佳化
```

---

## 7. 成長路徑：從入門到精通

<CareerPathDemo />

### 7.2 各階段能力要求

| 階段 | 時間 | 核心能力 | 典型產出 |
|-----|------|---------|---------|
| **入門** | 0-1 年 | 掌握一門語言 + 基礎工具 | 能完成簡單功能模組 |
| **進階** | 1-2 年 | 熟悉一個技術棧 + 工程化 | 能獨立完成中型專案 |
| **資深** | 2-3 年 | 深入一個領域 + 架構能力 | 能設計系統方案 |
| **專家** | 3-5 年 | 技術深度 + 業務理解 + 團隊協作 | 能主導大型專案 |

<LearningStrategyDemo />

::: tip 核心建議
1. **基礎比工具重要**：語言特性、資料結構導論、演算法思維是根基
2. **實踐比理論重要**：做專案是最好的學習方式
3. **思考比記憶重要**：理解「為什麼」比記住「怎麼做」更有價值
4. **AI 是工具不是拐杖**：用 AI 加速學習，不要用 AI 替代思考
:::

---

## 8. 總結：Vibe Coding 時代的核心競爭力

1. **領域劃分**：前端、後端、行動端、AI、維運、資料——各有側重
2. **技術選型**：沒有最好的技術，只有最適合場景的技術
3. **成長路徑**：先深後廣，建立根據地再橫向擴展
4. **AI 時代**：AI 能幫你寫程式碼，但不能替你思考

### Vibe Coding 時代的三層能力

```
┌─────────────────────────────────────────┐
│  第 3 層：判斷力（AI 替代不了）           │
│  - 知道什麼是對的                        │
│  - 知道什麼是好的                        │
│  - 知道該往哪個方向走                    │
├─────────────────────────────────────────┤
│  第 2 層：架構思維（AI 輔助）             │
│  - 系統設計能力                          │
│  - 模組劃分能力                          │
│  - 技術選型能力                          │
├─────────────────────────────────────────┤
│  第 1 層：程式碼實作（AI 擅長）           │
│  - 語法編寫                              │
│  - API 呼叫                              │
│  - 常見模式實作                          │
└─────────────────────────────────────────┘
```
