跳至主要内容

3 篇文章 含有標籤「Vibe Coding」

檢視所有標籤

NTU 台大 Web 網頁開發 Vibe Coding 課程學習重點筆記 01-01:Introduction to Web Programming

· 閱讀時間約 5 分鐘
NTU Web Programming Vibe Coding 系列筆記

這是 NTU 台大 Web 網頁開發 Vibe Coding 課程 學習筆記系列:

📚 第一階段:基礎概念

💡 查看完整系列 | 🎓 Vibe Coding 學習資源

在軟體工程與生成式人工智慧高度整合的時代,開發者的職責已從單純的代碼編寫者轉化為系統的協作指揮官。

名言金句

「一個好的主管需要懂得與屬下溝通,而與 AI 協作的關鍵,在於精確定義需求並理解技術背後的邏輯與架構。」

核心論點

這部影片的核心在於展示如何利用現代 AI 工具(如 Cursor)快速構建功能完整的網路服務,並以此作為切入點,探討開發者在 AI 浪潮下應具備的素養。透過實作一個待辦事項(To-do App)的過程,教學重點不再是語法的堆砌,而是如何將心中的產品意象透過精確的指令(Prompt)轉化為可執行的軟體架構。

教學過程強調了「開發環境重現性」的重要性。一個專業的網路服務不應只存在於開發者的本機端,而必須確保團隊成員或助教能在不同的環境下快速安裝並運行。這涉及到環境設定檔(如 .env)的正確處理,不僅是為了安全性以隱藏敏感的金鑰,更是為了確保軟體在不同部署階段的靈活性與穩定性。

最後,影片探討了 AI 工具在教學與實務中的定位。雖然 AI 具備「One-shot」生成代碼的驚人能力,但這並不代表開發者可以忽視基礎。理解 HTML、CSS 與 JavaScript 的運作機制,以及文件物件模型(DOM)如何動態改變網頁內容,才是確保在 AI 產生錯誤或遇到複雜規格時,開發者具備調整與優化系統的核心競爭力。

重點摘要

  1. 環境設定檔與安全性:在構建涉及第三方服務(如 GPT API)的服務時,應使用環境變數管理金鑰,嚴禁將敏感資訊直接寫入代碼或上傳至版本控制系統。
  2. 開發環境重現性:確保服務能讓團隊新成員快速重現與安裝,是衡量軟體工程品質的重要指標,也是課程評核的重點之一。
  3. Cursor 開發工具應用:詳細介紹了 Cursor 的界面功能,包含檔案瀏覽器、代碼編輯區、終端機,以及與 AI 溝通的聊天室。
  4. AI 模型選型與模式:分析了不同 AI 模型(如 Claude, GPT-4)在代碼生成上的表現,並介紹了 Max Mode 如何透過自我測試與思考來解決複雜程式問題。
  5. 指令工程與溝通:強調與 AI 溝通就像主管與屬下的溝通,單純的截圖或簡短指令往往不足以應對精細規格,需學會精確描述產品行為。
  6. 前後端基礎概念:快速概括網頁開發的三大支柱(HTML, CSS, JavaScript)及 DOM 的動態變更原理,作為 AI 輔助開發的知識基礎。
  7. 實戰練習與作業:透過個人網頁的撰寫作為初步練習,引導學生從簡單的靜態頁面過度到具備互動性的網路服務。
  8. 代碼生成的不可預測性:提醒 AI 背後是統計模型,具有隨機性與樂透性質,開發者需具備檢視與修正產出內容的能力。

行動方案

  1. 你應立即在開發環境中建立規範化的目錄架構,並配置一個範例環境檔(如 .env.example),確保所有敏感資訊皆已妥善隔離。
  2. 你需熟練操作 Cursor 的各項進階功能,特別是學習如何在 Auto Mode 與 Max Mode 之間切換,以因應不同難度的開發任務。
  3. 你應針對作業一的個人網頁需求,嘗試撰寫一份詳細的結構化指令,包含視覺設計要求與功能互動邏輯,並觀察 AI 產出的代碼是否符合預期。

問題反思

  1. 如果 AI 已經能完成大部分的底層開發,你認為具備理解代碼邏輯與 DOM 原理的開發者,在除錯階段具備什麼樣的優勢?
  2. 在追求開發速度的同時,你該如何平衡 AI 產出的代碼質量與系統的可維護性?

心得結論

本課程示範了 AI 時代下網頁開發的新常態:效率不再是手寫速度的競爭,而是溝通、架構理解與工具駕馭能力的綜合展現。透過將實務規範(如金鑰安全)與前沿工具(如 Cursor)結合,教學內容不僅傳授了技術,更傳遞了現代軟體工程師應有的職業態度。這是一場關於如何在高效率與扎實基礎之間尋找平衡點的深刻教育,也為後續深入學習網路服務架構奠定了堅實的心理與技術準備。

NTU Web Programming (2025.09) -- 01. Introduction to Web Programming (Part 1)

NTU 台大 Web 網頁開發 Vibe Coding 課程學習重點筆記 00:Course Introduction

· 閱讀時間約 6 分鐘

NTU 台大 Web 網頁開發 Vibe Coding 課程學習重點筆記

NTU Web Programming Vibe Coding 系列筆記

這是 NTU 台大 Web 網頁開發 Vibe Coding 課程 學習筆記系列:

📚 第一階段:基礎概念

💡 查看完整系列 | 🎓 Vibe Coding 學習資源

NTU 台大 Web 網頁開發 Vibe Coding 課程學習重點筆記

當人工智慧已經能在一分鐘內寫完你原本要花一週開發的程式碼,身為軟體工程師的你,下一步該如何定義自己的價值?

名言金句

「從想法到寫程式的這段過程已被 AI 取代,但從需求轉化為演算法的核心思考能力始終是開發者的護城河。」

NTU 台大 Web 網頁開發 Vibe Coding 課程學習重點筆記

核心論點

這門課程的重啟代表了軟體教育在生成式人工智慧浪潮下的範式轉移。過往網頁程式設計強調手把手編寫每一行程式碼,但在現代開發環境中,這樣的學習路徑已無法追上技術更迭的速度。教學的核心已從單純的語法記憶,轉向如何與 AI 協作,並在工具輔助下快速構建穩定且具備規模化的網路服務。

網路服務的開發遠比一般認知的網頁設計更為深奧。它不僅涉及視覺呈現的前端技術,更包含複雜的後端邏輯、資料庫架構以及伺服器端的運作機制。隨著前端技術發展至前所未有的高度,開發者必須建立完整的系統觀,理解軟體工程的生命週期,而不僅僅是處理零散的視覺元件或簡單的互動功能。

在自動化工具普及的時代,偵錯與問題解決的能力成為衡量專業度的關鍵指標。當 AI 產出的代碼出現錯誤或不符合需求時,開發者必須具備深厚的基礎知識來進行系統性的除錯。這意味著學習者需要掌握從邏輯推演、演算法設計到最後實踐的完整流程,確保技術工具是為解決問題服務,而非僅是盲目地複製與貼上代碼。

重點摘要

  1. 教學目標轉型:課程不再強調傳統的逐行手寫程式,而是引導學生進入 AI 協作模式,重點在於掌握 AI coding 的趨勢與精神,以因應未來軟體產業的技術變革。
  2. 開發環境的一致性:強調在類 Unix 系統下進行開發的重要性。要求使用 Windows 系統的學習者必須透過 WSL 建立 Linux 環境,確保開發工具與業界標準接軌,並減少環境配置不當導致的錯誤。
  3. 版本控制與流程規範:強制使用 Git 與 GitHub 進行代碼管理。這不僅是為了繳交作業,更是為了訓練學習者適應現代團隊協作的標準流程,包含建立規範化的目錄架構以利自動化管理。
  4. 課程資源與工具應用:提供學習者專業開發資源補助,鼓勵使用 GitHub Copilot 等先進工具,讓學員將精力集中在更高階的邏輯設計與系統架構思考上。
  5. 自主學習與淘汰機制:建立嚴格的學習評核與停修規範,強調在高強度的技術學習過程中,學習者必須展現出極強的自我管理與吸收能力,並對個人的學習進度負完全責任。
  6. 期末專題的實踐價值:要求學員組成團隊,從無到有構建一個具備實際用途的網路服務,並透過社群平台分享開發歷程,藉此累積實務經驗並建立個人專業品牌。
  7. 程式能力的重新定義:將程式能力拆解為構思、演算法設計、實踐與偵錯四個階段,明確指出前兩者與最後一者是人類開發者在 AI 時代必須守住的專業核心。

行動方案

  1. 你應立即在個人的電腦上建構完整的 Linux 開發環境。若你使用 Windows 作業系統,請務必安裝並熟練操作 WSL,這是確保開發流程符合業界標準的第一步。
  2. 你需建立一套結合 AI 輔助工具的工作流。在面對開發任務時,先嘗試由你定義問題架構與演算法邏輯,再引導 AI 產生基礎代碼,最後由你進行嚴格的測試與除錯。
  3. 你應該積極參與開發者社群與版本控制實踐。透過在 GitHub 上維護專案,並在社群中發表技術心得,將學習過程轉化為可被驗證的數位資產與專業實力。

問題反思

  1. 當 AI 能夠生成大部分的底層代碼時,你該如何調整你的學習權重,以確保自己具備引領 AI 解決複雜問題的系統設計能力?
  2. 在工具門檻大幅降低的背景下,一個優秀的網路服務與一個平庸的作品之間,本質上的差異將會體現在哪些維度?

心得結論

這部影片精準捕捉了當前軟體開發教育的轉折點。在技術紅利逐漸被工具抹平的年代,工程師的價值不再體現於對特定語法的熟稔度,而是體現於對問題本質的洞察與系統性思考的深度。課程透過嚴格的環境規範、工具引進與實戰專題,旨在將學習者從寫碼的勞動力轉化為具備創造力的系統架構者。這不僅是一門網頁設計課的開端,更是一次關於數位時代人才競爭力的深刻反思。

參考文件

NTU Web Programming (2025.09) -- 00. Course Introduction

NTU Web Programming 2025

使用 Cursor AI Editor 自學程式設計教學指南

· 閱讀時間約 5 分鐘

前言

在過去,自學程式設計往往需要依靠書籍、線上課程與不斷查詢文件。但隨著 AI 工具的發展,學習編程的方式有了根本性的改變。其中,Cursor AI Editor 作為一款內建 AI 協作的程式開發工具,正在迅速改變開發與學習的流程。

Cursor 是一款基於 Visual Studio Code(VSCode)打造的 AI 編輯器,結合了大型語言模型(如 GPT-4)的強大能力,提供自然語言詢問、程式碼補全、錯誤解釋、重構建議、即時除錯等功能。它不只是編輯器,更是學習者的私人助教。

本篇教學筆記將介紹 Cursor 的特色、安裝方式、學習策略與實際操作案例,幫助讀者高效且系統性地使用 Cursor 進行自學。


重點摘要

  • 什麼是 Cursor?

    • 基於 VSCode 打造的 AI 編輯器,內建 OpenAI 的 GPT 模型。
    • 主打「AI 內嵌互動」,能即時解釋、補全、建議與生成程式碼。
  • 為什麼用 Cursor 來自學程式?

    • 可以「邊寫邊問」:例如不懂 for 迴圈可以直接用自然語言提問。
    • 不需要來回切換 ChatGPT 網頁與 IDE。
    • 適合快速原型設計、除錯與重構練習。
    • 學習者可專注在理解邏輯與實作,不被語法阻礙。
  • 適合學習的語言

    • Python(入門首選)
    • JavaScript、TypeScript(網頁開發)
    • Go、Rust(系統程式)
    • HTML、CSS、React(前端設計)
  • 常見使用場景

    • 問語法與錯誤訊息
    • 撰寫函式與模組
    • 重構既有程式碼
    • 撰寫註解與單元測試
    • 撰寫教學與技術說明文件

安裝與啟用教學

Step 1:下載 Cursor

  • 前往官網:https://www.cursor.sh
  • 支援 macOS、Windows、Linux
  • 安裝後即為一個 VSCode-like 的獨立應用程式

Step 2:登入與模型設定

  • 使用 Google 或 GitHub 帳號登入
  • 免費帳號可使用 GPT-3.5
  • 若訂閱 Plus,可使用 GPT-4 Turbo,提升準確率與理解能力

Step 3:開啟專案或建立新檔案

  • 可直接開啟資料夾或單一檔案進行練習
  • 支援多種語言高亮與執行(視安裝套件而定)

實際學習範例

範例一:學習 Python 的 for 迴圈

操作步驟:

  1. 建立一個檔案 loop_example.py
  2. 輸入註解:
# 用 for 迴圈列出 1 到 10 的平方
  1. Cursor AI 自動補齊:
for i in range(1, 11):
print(i ** 2)
  1. 若不懂 range(1, 11),可選取並右鍵點選「Ask AI」,輸入:「這段 range 是什麼意思?」

  2. AI 回覆:

range(1, 11) 代表從 1 到 10(不含 11)的整數序列。


範例二:重構程式碼並學習函式封裝

原始碼:

print("Hello, Alice")
print("Hello, Bob")
print("Hello, Charlie")

操作:

  • 選取三行程式,點擊「Ask AI」→ Prompt:「將這段重構成一個函式並使用參數」

AI 回覆:

def greet(name):
print(f"Hello, {name}")

greet("Alice")
greet("Bob")
greet("Charlie")

你可以反向問 AI:「為什麼這樣寫比較好?」來進行設計思維學習。


範例三:查錯與除錯練習

錯誤程式碼:

for i in range(5)
print(i)

操作:

  • AI 會即時標出語法錯誤
  • 你可以點選錯誤紅線,詢問 AI「為什麼錯?」

AI 解釋:

缺少冒號,應改為 for i in range(5):

這能幫助初學者從錯誤中快速學習語法規則。


範例四:使用自然語言寫出完整函式

Prompt:

寫一個函式,輸入生日字串 "1990-05-20",回傳目前年齡(以今天為準)

AI 產生:

from datetime import datetime

def calculate_age(birthday_str):
birthday = datetime.strptime(birthday_str, "%Y-%m-%d")
today = datetime.today()
age = today.year - birthday.year - ((today.month, today.day) < (birthday.month, birthday.day))
return age

print(calculate_age("1990-05-20"))

你可以繼續問 AI:「請幫我加上類型註解與 docstring」。


自學策略建議

  • 從小功能練習開始:例如撰寫簡單計算器、字串反轉等
  • 每日一題 / 一功能:寫完後請 AI 幫忙檢查、重構
  • 主動問問題:任何看不懂的語法、邏輯、錯誤訊息都可以問 AI
  • 反覆重構與測試:藉由練習重構與單元測試培養良好工程習慣
  • 閱讀 AI 解釋:不要只複製貼上,理解 AI 為何這樣寫

總結

Cursor AI Editor 提供了一個嶄新的學習編程體驗,不需要離開編輯器、查 Stack Overflow 或切到 ChatGPT 頁面,就能獲得即時的回饋與教學。它讓程式碼本身成為教材,讓錯誤成為學習的入口,也讓初學者擁有如同一對一家教般的指導資源。

無論你是程式設計初學者、職涯轉職者,或是希望精進特定語言技巧的開發者,使用 Cursor 都能有效提升學習效率與成效。建議搭配一個實際專案(如 Todo App、API Server)作為學習主軸,在實作中成長,在 AI 引導下理解設計背後的邏輯。

參考文件

  1. 直覺式程式開發是什麼?