EP10 專題時間 05

今天進度:已勾 08

開場(10 分鐘,不要開電腦)

老師會示範用 Google AI Studio 直接生一個會動的小 app。看就好,今天不是要做這個

看的時候想一件事:三分鐘就生出來的東西,你怎麼知道它是對的?難的其實不是生出來,是驗收:它給你的東西你看不看得懂。

你們的專題也一樣:看不懂的東西,你修不了,也解釋不了。

開工(15 分鐘)

上一堂下課前你把這台電腦的身分清掉了,所以每一堂的第一件事都是重新登入。(跟前面每一堂一模一樣,你已經做過好幾次了,目標 8 分鐘內做完。)

1. 登入這台電腦

gh auth login

(GitHub.com → HTTPS → Yes → Login with a web browser → 先看 Edge 右上角頭像是不是你 → 打八碼 → Authorize)

接著四行,一行都不能少:

gh auth setup-git
git config --global user.name "你的帳號"
git config --global user.email "你的專用信箱"
git config --global pull.rebase false

沒設 user.email 的話,你的 commit 會掛上機器亂猜的信箱,燈會抓到、而且算不到你頭上。

2. 把兩個人的東西合起來(不做會撞在一起):

cd proj-你們的隊名
git pull

第一次在這台電腦?先抓下來:

gh repo clone shsh-tw/proj-你們的隊名
cd proj-你們的隊名
code .

3. 兩個人講好這一堂各自要做完的一件事(30 秒,講出來就好)。

標準只有一個:這一堂做得完。做不完就是切太大,切一半。

看到這個就對了
兩個人都說得出「我這堂要做完__」。
卡住了
① 登入卡住、repository not foundGH007?→ 前面幾堂的解法全部適用:教材站首頁 → EP03 → 關 0 的「卡住了」。
卡住了
git pull 說有衝突?→ 舉手。這是兩個人改到同一行,老師會幫你解(下週你們就會自己解了)。
卡住了
③ 想不出這堂要做什麼?→ 打開 專題日誌.md,看上一堂那一段## EP09)的「下一堂各自要做什麼」,那是上一堂的你們寫給現在的你們的。那兩行如果還是括號提示(上一堂沒填完)→ 今天的第一件事就是把它補完,Issue 上 EP09 的紅燈也會一起亮。
卡住了
④ 「下一步」那件事太大?→ 切一半,只做前半。做得完比做得多重要。

專題時間(44 分鐘)

就做你們自己的東西。卡住的時候用這個循環,一次只做一小塊

這一段中間老師會找時機跟你們做一次正式口試(會計分,算在學期的口試分數裡)。

一次 2–3 分鐘,老師走到你們桌邊,兩個人都要開口,指著你螢幕上今天寫的東西問。四題就是這四題,事先給你們看:

每一組整個專題期間只會被正式問一次(EP10 到 EP12 這三堂裡的某一堂,看老師巡堂走到你們、你們手上剛好有東西可以指的時候)。

今天沒被問到=還沒輪到,不是你有問題。 三堂都沒輪到的組,EP15 繳交那堂還有一次。

  1. 拆任務:把要做的事講成一句話(「讓按鈕按下去顯示一行字」)。
  2. 下指令給 AI:講清楚你要什麼、不要什麼。(它是設定成助教不是槍手,可能會先反問你卡在哪——回它「我還沒動手,直接做,做完解釋每一段」。)
  3. 自己驗收:跑跑看。跑得動 ≠ 做對

做網頁的人注意:直接點兩下 index.html 打開,如果你的頁面要讀別的檔案(圖片、.json、資料檔),會一片空白而且完全不報錯。要用 VS Code 的 Live Server(右下角「Go Live」)開,或問老師。白畫面第一件事:按 F12 看 Console 有沒有紅字。

  1. 要能解釋:這段在做什麼?拿掉會怎樣?答不出來就問 AI「這一段在做什麼」,直到你講得出來。

省 credits:想事情、問觀念用免費聊天;真的要改檔案才用 agent。

卡住了
① 一個小時什麼都做不出來?→ 正常。把「原本想做的」切成三塊,只做第一塊。
卡住了
② AI 給的東西跑不動?→ 把錯誤訊息整段貼給它,加一句「這是什麼意思、怎麼修」。畫面全白又沒有錯誤訊息=八成是直接點兩下開的,改用 Live Server;或按 F12 看 Console。
卡住了
③ 跑得動但你看不懂?→ 那不算做完。問它「用高中生聽得懂的話說這一段」。
卡住了
④ 兩個人做到同一個檔案?→ 先講好誰先 push,另一個人 git pull 之後再改。

收尾:填日誌(18 分鐘)

打開 專題日誌.md,找到 ## EP10 專題時間 05 那一段(只填這一段,前面幾週的不要動),把三個括號提示換成你們的話:

  1. 這堂做出什麼(看得到的):至少 15 個字。寫看得到的東西,不要寫「研究了一下」。做不完就寫做到哪、下一步是什麼,一樣算數。
  2. 卡在哪:至少 10 個字。「還好」不是答案。卡點通常是三種:不知道怎麼做/做了不會動/不確定對不對。真的很順也要寫為什麼順。
  3. 下一堂各自要做什麼:兩行,各至少 8 個字,各寫各的。標準是下一堂一看就知道有沒有做

兩個人各自 push——分成兩步(誰先誰後都可以,但兩個人都要在日誌填下去之後各自 commit 一次)(燈 3 看的是:日誌填下去之後,你們兩個各自都還要再 commit 一次):

第一步 A 做(把三段填好,第三段先寫自己那一行):

git add -A
git commit -m "EP10:__"
git push

__ 換成你這堂做的事,例如「接好器材清單的假資料」。不要照抄底線,全班一樣的訊息等於沒寫。)

第二步 B 做(A push 完才輪到你)。先把你自己這堂改的東西存進 git,再拉 A 的——順序反了會被擋下來:

git add -A
git commit -m "EP10:__"
git pull

## EP10 那一段的「下一堂各自要做什麼」寫上你自己那一行(A 只寫了他那行),存檔,然後:

git add -A
git commit -m "EP10:__"
git push

同一台電腦換人?先 gh auth logout,再讓 B 跑一次上面「開工」的登入四行。

→ Issues → 🏁 闖關進度 → EP10 三盞燈。

卡住了
① 燈 3 說「只有 1 個人 commit」?→ 這一關算的是日誌填下去之後的提交,這一堂前半段的 push 也不算。所以 B 一定要在 A push 完之後再 commit 一次(照上面第二步)。A 填日誌那一筆就算 A 的,A 不用再多打一次。
卡住了
② 燈 1 說字數不夠?→ 把「做到哪、下一步是什麼」寫進去就夠了。(帳號標籤那種 `__:` 不算字。)
卡住了
③ 找不到 ## EP10 那一段?→ 日誌裡有七段(EP06 到 EP12),往下捲找到今天這一段。在 VS Code 按 Ctrl+F 搜 EP10 最快。不要改別段。
卡住了
④ B 打 git commitnothing to commit?→ 你還沒寫自己那一行。先在日誌寫上去再存檔。
卡住了
⑤ B 的 git pulllocal changes would be overwritten?→ 你自己改的東西還沒存進 git。先 git add -Agit commit,再 git pull(照上面第二步的順序)。
卡住了
⑥ B 的 push 被拒絕(rejected)?→ 先 git pull 再 push。
卡住了
git pull 說有衝突,日誌裡冒出 <<<<<<< 那幾行?→ 舉手,不要自己刪。 那幾行留著 commit 上去,Issue 會跳警告、字也不算數。
卡住了
⑧ Issue 上整張 EP10 的表都不見了?→ 你填到別的週次那一段了。回日誌搜 ## EP10,把內容搬回來。

老師投影(3 分鐘)

老師會把儀表板投到白板上:這堂誰做出東西、誰卡住、哪幾組只有一個人動。

你剛才寫的「這堂做出什麼」那一句會出現在上面,所以那一句寫清楚一點。

這五分鐘不用動電腦,看就好。

登出儀式(最後 10 分鐘)

跟前面每一週一樣:

gh auth logout
git config --global --unset-all user.name
git config --global --unset-all user.email

VS Code 左下角人像 → Sign out。隔壁互查一次。最後按這一頁最下面的「清掉這台瀏覽器的紀錄」。

做完了?進階挑戰(不計分)

只加這兩行,不要叫 AI 重寫整份 README——README 上面那幾個標題是 EP05 的燈在看的,被改掉燈會滅。

備援路線

狀況怎麼辦
git pull 衝突舉手,老師處理。不要自己 --force
只有一台電腦輪流用,換人前 gh auth logout,換人後 gh auth logingh auth setup-git + 重設 user.name/user.email。燈 3 看的是提交上的人。
同組另一人請假 (燈 3 會是紅的,這是對的,跟老師登記就好)登記,下週補他的提交;今天一個人把日誌填完。
AI 不能用這堂本來就是做自己的東西,沒有 AI 也能做;卡住問隔壁或老師。
什麼都做不出來把「卡在哪」寫清楚,那就是這堂的產出。下一堂老師會先處理你們這組。

自檢清單