第 26 堂|備份以後,真的還原一次

程式與案件分開保存,到另一個位置重新讀寫。

3 小時 · 六個步驟 · 54 分鐘觀念+126 分鐘實作

自己已勾選 0/6 步
步驟 1/6 · 觀念 18 分鐘

程式ZIP不等於案件備份

備份有程式與案件資料、時間與雜湊。

先準備

  • 自己的service-site/frontend相關HTML、inquiry.js、admin.js、config.js與styles.css
  • 隨包API_CONTRACT.html、TEST_MODES.html與真正教學後端;不貼密碼、Cookie、內部真實資料
  • BACKUP_RESTORE.html、maintenance.mjs、去敏感版本/筆數/兩案摘要

這份後端用私有JSON持久保存。備份必須記時間點、程式版本、兩案比較及資料,秘密另行管理。

先分清自己的作品、線上畫面與可啟動參考包;線上參考不提供API,請在本機閱讀隨包OPEN_REFERENCE.html後操作。

一起拆解:程式備份與案件備份分開

本關18分鐘觀念:3分鐘看輸入、6分鐘逐步推演、5分鐘正常與錯誤對照、4分鐘先預測再說明。

這次的輸入

前端程式可重建,真正案件在私有DATA_DIR/cases.json。

備份program + private-data + manifest
先記版本/筆數/兩案 → 停止寫入 → backup → verify

這段是觀念縮圖,完整可操作檔案在本關參考成果;請依當前階段判讀,不把片段直接貼到任意位置。

一步一步推演

  1. 先以受控摘要記兩案id、狀態與備註,秘密不貼AI。
  2. 停止自己的後端,再備份到新的來源外私有目錄;用實際DATA_DIR。
  3. verify核對完整清單與雜湊,備份manifest也不放公開站。

正常應看到

備份對應明確時間點,含程式與案件,沒有靠檔案存在就宣稱可還原。

常見錯誤對照

只壓frontend或只記一張畫面,無法還原內部備註與案件。

先預測,再說明原因

為何備份前先停止寫入?能避免什麼時間點不一致?

跟著觀察

  1. 先讀「程式備份與案件備份分開」的輸入,指出本關實際檔案或資料。
  2. 為何備份前先停止寫入?能避免什麼時間點不一致?
  3. 依例子逐步說明正常結果與錯誤差別,再記下自己的預測;參考結果不是已完成的實測。

做完,自己確認

  • 備份有程式與案件資料、時間與雜湊。
  • 能指出指定檔案與作用範圍。
接著進行第 2 步
步驟 2/6 · 實作 42 分鐘

先分清程式與資料

備份有程式與案件資料、時間與雜湊。

先準備

  • 自己的service-site/frontend相關HTML、inquiry.js、admin.js、config.js與styles.css
  • 隨包API_CONTRACT.html、TEST_MODES.html與真正教學後端;不貼密碼、Cookie、內部真實資料
  • BACKUP_RESTORE.html、maintenance.mjs、去敏感版本/筆數/兩案摘要

先記案件數、兩案id/狀態/備註、版本與資料位置,停止自己的後端。

跟著做

  1. 依BACKUP_RESTORE確認DATA_DIR,先停止寫入。
  2. 請AI依真實文件整理備份操作與檢查,不猜資料庫命令。
  3. 自己執行backup到新私有位置及verify,記結果,不公開manifest。

規劃並核對實際JSON備份

主要使用 Cursor 內建 AI;先附資料,再送出指令。

1.附上這些檔案與資料
  • 自己的service-site/frontend相關HTML、inquiry.js、admin.js、config.js與styles.css
  • 隨包API_CONTRACT.html、TEST_MODES.html與真正教學後端;不貼密碼、Cookie、內部真實資料
  • BACKUP_RESTORE.html、maintenance.mjs、去敏感版本/筆數/兩案摘要
2.貼到哪裡
  1. 在 Cursor 開啟自己的本關練習副本,進入內建 AI 對話;正常版與故障副本分開。
  2. 用 @ 附上本關指定檔案,核對完整路徑;補實際觀察、輸入與結果,再貼下方 Prompt。
  3. 先讀回覆與差異,只保存指定範圍;回到瀏覽器實際檢查。版本保存由自己操作,不讓 AI 代替驗收或提交。
3.預期回覆與操作
  • 請AI依真實文件整理備份操作與檢查,不猜資料庫命令。
  • 私有位置全新,秘密未放公開包,驗證實際記錄。
4.自己檢查結果
  • 備份有程式與案件資料、時間與雜湊。
  • 私有位置全新,秘密未放公開包,驗證實際記錄。
規劃並核對實際JSON備份 Prompt(可收合)

你是協助零基礎學員的網站開發助手。我使用 Cursor 免費版編輯原生 HTML、CSS、JavaScript;必要時把你提供的內容手動貼入檔案。

情境與本次輸入:承接第25堂正常service-site。講師提供可執行maintenance.mjs與BACKUP_RESTORE.html,依真正JSON儲存結構。備份、還原與故障資料由學生在私有新目錄生成,不把資料發布到學生靜態站;工具拒絕覆寫。

本次任務:依提供maintenance.mjs與BACKUP_RESTORE.html(本案JSON,非SQLite/MySQL),整理我自己的操作清單:先記版本/時間/DATA_DIR/筆數/兩案id與狀態備註,停自己的後端,再node backend/maintenance.mjs backup --source . --out ../private-backup-L26 --stopped,verify同備份。目的必須全新、來源外,若用自訂資料加實際--data;不替我停服務或執行命令。program與private-data分開、manifest含內部欄位須私有,環境秘密不進公開包或AI。列預期與實際待填,不把檔案存在當備份成功。

請先閱讀我附上的相關檔案或資料,資訊缺漏時精確列出需要補充的項目,不猜檔名、API 或測試結果。說明以繁體中文撰寫,指出檔案與修改位置;檢查結果區分已知、待驗與未完成。只處理學生自己的練習副本,不改現有展示網站,不要求付費訂閱。
Cursor AI 無法使用?改用 ChatGPT 備援

把上方指定的檔案內容、清單與補充資料,連同同一份 Prompt 貼入 ChatGPT 對話。只貼電腦上的路徑,無法讓它讀取你的檔案。

收到程式碼時,先核對檔名與修改位置,再手動存回自己的練習副本;若收到檢查表或補檔步驟,就逐項操作。不要把 Prompt 或程式碼框的反引號貼進 HTML/CSS。

兩邊都受限時,可先看既有參考成果、檢查差異與手動修改;未做過的 AI 生成或公開發布仍記待完成。不要貼入帳密、金鑰或真實個資。

複製只取得 Prompt 文字,檔案需自行在 Cursor 附上;本頁不會呼叫 AI 或自動完成關卡。

做完,自己確認

  • 備份有程式與案件資料、時間與雜湊。
  • 私有位置全新,秘密未放公開包,驗證實際記錄。

線上只看前端畫面;完整操作請下載。本頁不提供案件API。把參考包解壓到新的資料夾,先讀 OPEN_REFERENCE.html,再啟動隨包後端;不要覆蓋自己的作品或案件。

下載本關可啟動參考包

看參考包啟動與資料保留步驟

接著進行第 3 步
步驟 3/6 · 觀念 18 分鐘

還原後要實際讀寫

還原位置與原環境分開,兩案及筆數先一致。

先準備

  • 自己的service-site/frontend相關HTML、inquiry.js、admin.js、config.js與styles.css
  • 隨包API_CONTRACT.html、TEST_MODES.html與真正教學後端;不貼密碼、Cookie、內部真實資料
  • 實際還原路徑、備份manifest去敏感摘要、兩案前後與BACKUP_RESTORE

雜湊相符只證明檔案;還原後仍需登入、讀兩案、送新案及更新,不能覆蓋唯一正常環境。

一起拆解:到另一個新位置真的啟動

本關18分鐘觀念:3分鐘看輸入、6分鐘逐步推演、5分鐘正常與錯誤對照、4分鐘先預測再說明。

這次的輸入

用完整備份restore到不存在的新目錄,再用8781與新練習密碼。

備份兩案摘要 → 還原兩案摘要 → 核對相同
再新增測試案 → 筆數合理增加 → 讀寫與401回歸

這段是觀念縮圖,完整可操作檔案在本關參考成果;請依當前階段判讀,不把片段直接貼到任意位置。

一步一步推演

  1. 不要覆蓋唯一原環境;apiBase、PORT與PUBLIC_ORIGIN一致。
  2. 先比備份時間點筆數與兩案,再測新詢問、進度、備註與重新登入。
  3. 新增後筆數增加要記原因,不再拿新筆數硬比舊備份總數。

正常應看到

資料可讀、可寫、重載保留;匿名管理仍401。

常見錯誤對照

只看到restore資料夾存在,不能證明程式能用或資料完整。

先預測,再說明原因

為何新增測試案後,筆數與原備份不同可能是正常結果?

跟著觀察

  1. 先讀「到另一個新位置真的啟動」的輸入,指出本關實際檔案或資料。
  2. 為何新增測試案後,筆數與原備份不同可能是正常結果?
  3. 依例子逐步說明正常結果與錯誤差別,再記下自己的預測;參考結果不是已完成的實測。

做完,自己確認

  • 還原位置與原環境分開,兩案及筆數先一致。
  • 能指出指定檔案與作用範圍。
接著進行第 4 步
步驟 4/6 · 實作 42 分鐘

在另一個位置還原

還原位置與原環境分開,兩案及筆數先一致。

先準備

  • 自己的service-site/frontend相關HTML、inquiry.js、admin.js、config.js與styles.css
  • 隨包API_CONTRACT.html、TEST_MODES.html與真正教學後端;不貼密碼、Cookie、內部真實資料
  • 實際還原路徑、備份manifest去敏感摘要、兩案前後與BACKUP_RESTORE

親手選新restore-L26、另一埠8781與新的練習密碼。

跟著做

  1. 自己執行restore,改副本apiBase8781並啟動。
  2. 請AI產兩案與讀寫/授權的還原驗收表,不改原環境。
  3. 先比原筆數與兩案,再寫新案、進度、備註與匿名拒絕。

建立獨立還原驗收清單

主要使用 Cursor 內建 AI;先附資料,再送出指令。

1.附上這些檔案與資料
  • 自己的service-site/frontend相關HTML、inquiry.js、admin.js、config.js與styles.css
  • 隨包API_CONTRACT.html、TEST_MODES.html與真正教學後端;不貼密碼、Cookie、內部真實資料
  • 實際還原路徑、備份manifest去敏感摘要、兩案前後與BACKUP_RESTORE
2.貼到哪裡
  1. 在 Cursor 開啟自己的本關練習副本,進入內建 AI 對話;正常版與故障副本分開。
  2. 用 @ 附上本關指定檔案,核對完整路徑;補實際觀察、輸入與結果,再貼下方 Prompt。
  3. 先讀回覆與差異,只保存指定範圍;回到瀏覽器實際檢查。版本保存由自己操作,不讓 AI 代替驗收或提交。
3.預期回覆與操作
  • 請AI產兩案與讀寫/授權的還原驗收表,不改原環境。
  • 實際讀寫、重載、匿名拒絕有證據。
4.自己檢查結果
  • 還原位置與原環境分開,兩案及筆數先一致。
  • 實際讀寫、重載、匿名拒絕有證據。
建立獨立還原驗收清單 Prompt(可收合)

你是協助零基礎學員的網站開發助手。我使用 Cursor 免費版編輯原生 HTML、CSS、JavaScript;必要時把你提供的內容手動貼入檔案。

情境與本次輸入:承接第25堂正常service-site。講師提供可執行maintenance.mjs與BACKUP_RESTORE.html,依真正JSON儲存結構。備份、還原與故障資料由學生在私有新目錄生成,不把資料發布到學生靜態站;工具拒絕覆寫。

本次任務:依實際提供工具列node backend/maintenance.mjs restore --backup ../private-backup-L26 --out ../restore-L26;目的不可已存在,不替我覆寫或刪資料。切到還原副本、設定新練習密碼、PORT8781/PUBLIC_ORIGIN與config.apiBase一致,資料用還原backend/.data。先比備份時間點筆數及兩案id/subject/serviceId/status/internalNote,再實際登入、新詢問、同id讀寫、重載與匿名管理401;新增測試案後筆數增加需解釋。只產表與待填證據,不把本機當公開部署或直接宣稱還原成功。

請先閱讀我附上的相關檔案或資料,資訊缺漏時精確列出需要補充的項目,不猜檔名、API 或測試結果。說明以繁體中文撰寫,指出檔案與修改位置;檢查結果區分已知、待驗與未完成。只處理學生自己的練習副本,不改現有展示網站,不要求付費訂閱。
Cursor AI 無法使用?改用 ChatGPT 備援

把上方指定的檔案內容、清單與補充資料,連同同一份 Prompt 貼入 ChatGPT 對話。只貼電腦上的路徑,無法讓它讀取你的檔案。

收到程式碼時,先核對檔名與修改位置,再手動存回自己的練習副本;若收到檢查表或補檔步驟,就逐項操作。不要把 Prompt 或程式碼框的反引號貼進 HTML/CSS。

兩邊都受限時,可先看既有參考成果、檢查差異與手動修改;未做過的 AI 生成或公開發布仍記待完成。不要貼入帳密、金鑰或真實個資。

複製只取得 Prompt 文字,檔案需自行在 Cursor 附上;本頁不會呼叫 AI 或自動完成關卡。

做完,自己確認

  • 還原位置與原環境分開,兩案及筆數先一致。
  • 實際讀寫、重載、匿名拒絕有證據。

線上只看前端畫面;完整操作請下載。本頁不提供案件API。把參考包解壓到新的資料夾,先讀 OPEN_REFERENCE.html,再啟動隨包後端;不要覆蓋自己的作品或案件。

下載本關可啟動參考包

看參考包啟動與資料保留步驟

接著進行第 5 步
步驟 5/6 · 觀念 18 分鐘

缺資料不能改清單假通過

故障verify確實拒絕缺資料,沒有偽造通過。

先準備

  • 自己的service-site/frontend相關HTML、inquiry.js、admin.js、config.js與styles.css
  • 隨包API_CONTRACT.html、TEST_MODES.html與真正教學後端;不貼密碼、Cookie、內部真實資料
  • maintenance verify缺檔訊息、正常與故障備份清單(去內部資料)

提供工具從正常備份產生獨立缺資料故障,verify應指出缺檔。以正常備份另行還原,不修改manifest掩蓋。

一起拆解:缺案件資料就拒絕還原

本關18分鐘觀念:3分鐘看輸入、6分鐘逐步推演、5分鐘正常與錯誤對照、4分鐘先預測再說明。

這次的輸入

simulate-program-only產生的獨立故障有program與manifest,卻缺private-data。

verify → 拒絕缺檔
保留故障證據 → 找完整正常備份 → 另選新目錄restore

這段是觀念縮圖,完整可操作檔案在本關參考成果;請依當前階段判讀,不把片段直接貼到任意位置。

一步一步推演

  1. 先保留完整備份,另產缺資料故障副本,不刪唯一資料。
  2. 記verify實際缺檔訊息;不刪manifest條目或造空cases假通過。
  3. 用完整正常備份恢復新位置,再核對兩案與讀寫。

正常應看到

故障保持可追查,完整資料只能由真正的正常來源恢復。

常見錯誤對照

修改雜湊清單讓verify通過,不會把遺失的案件變回來。

先預測,再說明原因

若完全沒有正常資料備份,AI能否從HTML推回原內部備註?

跟著觀察

  1. 先讀「缺案件資料就拒絕還原」的輸入,指出本關實際檔案或資料。
  2. 若完全沒有正常資料備份,AI能否從HTML推回原內部備註?
  3. 依例子逐步說明正常結果與錯誤差別,再記下自己的預測;參考結果不是已完成的實測。

做完,自己確認

  • 故障verify確實拒絕缺資料,沒有偽造通過。
  • 能指出指定檔案與作用範圍。
接著進行第 6 步
步驟 6/6 · 實作 42 分鐘

只有程式的備份,必須被拒絕

故障verify確實拒絕缺資料,沒有偽造通過。

先準備

  • 自己的service-site/frontend相關HTML、inquiry.js、admin.js、config.js與styles.css
  • 隨包API_CONTRACT.html、TEST_MODES.html與真正教學後端;不貼密碼、Cookie、內部真實資料
  • maintenance verify缺檔訊息、正常與故障備份清單(去內部資料)

自己執行simulate-program-only到新故障目錄,再記verify失敗。

跟著做

  1. 保留正常備份,依指南產生缺private-data副本。
  2. 請AI讀缺檔證據,指出補救與最小安全步驟。
  3. 正常備份還原另一個新位置,比兩案並重測,故障證據保留。

診斷缺少案件資料的備份

主要使用 Cursor 內建 AI;先附資料,再送出指令。

1.附上這些檔案與資料
  • 自己的service-site/frontend相關HTML、inquiry.js、admin.js、config.js與styles.css
  • 隨包API_CONTRACT.html、TEST_MODES.html與真正教學後端;不貼密碼、Cookie、內部真實資料
  • maintenance verify缺檔訊息、正常與故障備份清單(去內部資料)
2.貼到哪裡
  1. 在 Cursor 開啟自己的本關練習副本,進入內建 AI 對話;正常版與故障副本分開。
  2. 用 @ 附上本關指定檔案,核對完整路徑;補實際觀察、輸入與結果,再貼下方 Prompt。
  3. 先讀回覆與差異,只保存指定範圍;回到瀏覽器實際檢查。版本保存由自己操作,不讓 AI 代替驗收或提交。
3.預期回覆與操作
  • 請AI讀缺檔證據,指出補救與最小安全步驟。
  • 用完整備份獨立還原,兩案與讀寫重新確認。
4.自己檢查結果
  • 故障verify確實拒絕缺資料,沒有偽造通過。
  • 用完整備份獨立還原,兩案與讀寫重新確認。
診斷缺少案件資料的備份 Prompt(可收合)

你是協助零基礎學員的網站開發助手。我使用 Cursor 免費版編輯原生 HTML、CSS、JavaScript;必要時把你提供的內容手動貼入檔案。

情境與本次輸入:承接第25堂正常service-site。講師提供可執行maintenance.mjs與BACKUP_RESTORE.html,依真正JSON儲存結構。備份、還原與故障資料由學生在私有新目錄生成,不把資料發布到學生靜態站;工具拒絕覆寫。

本次任務:我依指南用simulate-program-only建立獨立故障,program與manifest在、private-data缺少,verify應拒絕。請依實際錯誤指出只有程式不能還原案件,不能刪manifest條目、改雜湊或建空cases假通過。列保留故障證據、使用完整正常備份還原全新位置、核對時間/筆數/兩案與實際讀寫的補救步驟;不覆蓋唯一環境、不替我執行或宣稱成功,缺正常資料時明示無法憑空恢復。

請先閱讀我附上的相關檔案或資料,資訊缺漏時精確列出需要補充的項目,不猜檔名、API 或測試結果。說明以繁體中文撰寫,指出檔案與修改位置;檢查結果區分已知、待驗與未完成。只處理學生自己的練習副本,不改現有展示網站,不要求付費訂閱。
Cursor AI 無法使用?改用 ChatGPT 備援

把上方指定的檔案內容、清單與補充資料,連同同一份 Prompt 貼入 ChatGPT 對話。只貼電腦上的路徑,無法讓它讀取你的檔案。

收到程式碼時,先核對檔名與修改位置,再手動存回自己的練習副本;若收到檢查表或補檔步驟,就逐項操作。不要把 Prompt 或程式碼框的反引號貼進 HTML/CSS。

兩邊都受限時,可先看既有參考成果、檢查差異與手動修改;未做過的 AI 生成或公開發布仍記待完成。不要貼入帳密、金鑰或真實個資。

複製只取得 Prompt 文字,檔案需自行在 Cursor 附上;本頁不會呼叫 AI 或自動完成關卡。

做完,自己確認

  • 故障verify確實拒絕缺資料,沒有偽造通過。
  • 用完整備份獨立還原,兩案與讀寫重新確認。

線上只看前端畫面;完整操作請下載。本頁不提供案件API。把參考包解壓到新的資料夾,先讀 OPEN_REFERENCE.html,再啟動隨包後端;不要覆蓋自己的作品或案件。

下載本關可啟動參考包

看參考包啟動與資料保留步驟

留下本堂檢查紀錄

留下自己的檢查紀錄

記下實際做過的操作、差異與結果。還沒做的項目寫「待完成」。

勾選與筆記只保存在這個瀏覽器。

重設只清除勾選,網站檔案與檢查筆記都保留。

帶著這一步,繼續往前。

保留正常作品與實際檢查紀錄;未完成的操作可以回來補做。

帶著作品,進入第 27 堂