← Financial Cloud Cloud Cloud Club · 建構文章

極點宏觀|Financial Cloud Cloud · 建構文章

打造靜態 AWS 模擬考場背後的練習引擎

系列: 模擬考場

文章: E3

文章
Kiro 工作坊
01 使用 Kiro 建置:他加祿語學習 App 的提示優先產品設計工作坊
Kiro 工作坊
02 使用 Kiro 建置:他加祿語 學習 App 的教育優先開發技巧工作坊
Kiro 工作坊
03 使用 Kiro 建置:他加祿語 學習 App 的深入開發流程工作坊
Kiro 工作坊
04 使用 Kiro 建置:將 他加祿語 學習 App 在地化為中文變體工作坊
Kiro 工作坊
05 使用 Kiro 建置:他加祿語 卡片的文法與發音補強管線工作坊
Kiro 工作坊
06 使用 Kiro 建置:他加祿語 學習 App 中可審查的獨特額外例句工作坊
Kiro 工作坊
07 與 Kiro 同行:晶圓廠工程健康度 Hook 工作坊
Kiro 工作坊
08 與 Kiro 同行:蝕刻製程視窗風險測試自動化工作坊
Kiro 工作坊
09 與 Kiro 同行:黃光微影漂移風險開發工作坊
Kiro 工作坊
10 工程團隊入門 — 日常工廠值班使用 fab spc drift sync portal
Kiro 工作坊
11 工程團隊附錄 — fab spc drift sync portal 的日常工廠值班使用
Kiro 工作坊
12 Kiro:規格驅動工廠軟體的現場工程工作坊
Kiro 工作坊
13 Kiro:實作 Lab — 從零建置具型別的 Factory Risk Portal
Kiro 工作坊
14 Kiro:工程開發人員的提示、程式碼和型別標準手冊
Kiro 工作坊
15 Kiro:為什麼強 React 提示可以防止型別宣告錯誤啟動
Kiro 工作坊
17 與 Kiro 一起建構:建立工廠自動化入口網站 React UI
Kiro 工作坊
18 與 Kiro 一同建構:打造工廠自動化入口網站背後的自動化分析引擎
Kiro 工作坊
19 與 Kiro 一起實作:將 AI 工廠自動化輔助程式新增至工廠自動化入口網站
Kiro 工作坊
21 Kiro:2 小時專業開發人員工作坊指南
Kiro 工作坊
22 Kiro:從零建置 Fab SPC Drift Synchronization Portal
Kiro 工作坊
23 Kiro:提示詞庫與深度程式碼說明附錄
Kiro 工作坊
30 與 Kiro 一同建構:建立工廠自動化入口網站 UI
Kiro 工作坊
31 與 Kiro 一同建構:打造工廠自動化入口網站背後的自動化分析引擎
Kiro 工作坊
32 與 Kiro 一起實作:為工廠自動化入口網站增添 AI 工廠自動化助理
Kiro 工作坊
33 與 Kiro 一起開發:重建 CME Direct 風格的量化損益排行榜 UI
Kiro 工作坊
34 與 Kiro 一起開發:重建損益排行榜背後的量化分析引擎
Kiro 工作坊
35 與 Kiro 一起建構:適用於量化排行榜的 AWS AI 驅動交易台助理
Kiro 工作坊
36 單頁交易平台 SOP
Kiro 工作坊
AgentCore
A1 使用 AgentCore 與 Strands 建構:Gateway MCP 工具織網開發者工作坊
AgentCore
A2 使用 AgentCore 與 Strands 建構:受治理的多 Agent 風險系統開發者工作坊
AgentCore
A3 使用 AgentCore 與 Strands 建構:執行期主權風險代理人開發者工作坊
AgentCore
模擬考場
E1 用 Vibe Coding 打造多語言 AWS 證照模擬試題上線系統
模擬考場
E2 利用 Vibe Coding 開發技巧打造 AWS 證照模擬練習室
模擬考場
E3 打造靜態 AWS 模擬考場背後的練習引擎
模擬考場
Amazon Q
Q1 Amazon Q:ACM 憑證自動更新的CloudShell優先開發人員工作坊
Amazon Q
Tagalog 練習室
T1 為 AWS Manila Community Day 打造 Tagalog 學習 App:提示詞優先的產品設計
Tagalog 練習室
T2 為 AWS Manila Community Day 打造 Tagalog 學習 App,採用教育優先的開發提示
Tagalog 練習室
T3 為 AWS Manila Community Day 打造 Tagalog 學習 App 的開發流程深度解析
Tagalog 練習室
T4 將 Tagalog 學習 App 在 AWS Manila Community Day 情境中在地化為中文版本
Tagalog 練習室
T5 為 AWS Manila Community Day 打造 Tagalog 卡片打造文法與發音補強流程
Tagalog 練習室
T6 為 AWS Manila Community Day 打造 Tagalog 學習 App 的 Extra Examples 更獨特且可審閱
Tagalog 練習室
路線圖
R1 企業級 Data Analytics Roadmap 一百個深度情境題
路線圖
R2 前端開發路線圖:真實企業場景
路線圖
香港 Community Day
C1 伴隨 AWS Community Day 的香港週末:從雲端技術論壇到維港璀璨夜景
香港 Community Day
C2 講者的奢華週末:分享您的 AWS 故事,讓香港成為您的專屬舞台
香港 Community Day
C3 香港七十二小時:AWS Community Day 講者的極致之旅
香港 Community Day
馬尼拉 Community Day
C4 AWS Community Day Manila:一場連結雲端技術、城市文化與真摯友誼的快樂週末
馬尼拉 Community Day
C5 AWS Community Day Manila:雲端建立者在菲律賓感受最幸福的精神
馬尼拉 Community Day
C6 AWS Community Day Manila:在快樂之城建構、打破、重來,並找到歸屬
馬尼拉 Community Day
C7 菲律賓馬尼拉初次造訪建議
馬尼拉 Community Day
菲律賓 × 香港
C8 菲律賓香港資本市場升級
菲律賓 × 香港
回測
B1 使用 Bedrock AgentCore 與 Strands Agents 建立機構級 Amazon 純做多 (Long-Only) 回測代理
純做多 AMZN 代理:AgentCore、Strands 與可稽核的 Backtrader 帳本。
B2 使用 Backtrader、AgentCore 與 Strands Agents 建立具市況感知能力的 Amazon 部位管理
把市況當成部位控制,而不是圖表註解。
B3 使用 Nasdaq、S&P 500、Dow、AgentCore 與 Strands 建立相對於基準的 Amazon 進出場時機系統
相對 Nasdaq、S&P 500 與道瓊來判斷 AMZN 時機。
B4 使用 Bedrock AgentCore、Strands Agents 與 Backtrader 建立受治理的 Amazon 交易歷史工廠(Trade-History Factory)
把回測做成可稽核的交易歷史工廠。
B5 使用 Bedrock AgentCore 與 Strands Agents 建立智慧代理型 (Agentic) Amazon 回測營運模型 [Part 1]
先建立營運模型,再爭論結果。
B6 為 Amazon 擇時與部位管理建立客製化 Cerebro 程式碼說明 [第 2 部分]
先講 Cerebro 引擎,再講圖表。
B7 為 Amazon 策略結果與經驗教訓建立交易員審閱紀錄 [Part 3]
把策略排名寫成交易員審閱紀錄。
B8 使用 AgentCore 與 Strands 建立受治理的 FSI Amazon 部位管理 Playbook [Part 4]
受治理的 FSI Amazon 部位管理手冊。
B9 使用 Amazon Bedrock AgentCore 建立主權風險交易代理,分析殖利率差、FX 避險與債務重新定價
主權風險代理:殖利率差、外匯避險與債務重定價。
B11 建置現代波動率交易與合法泰國復原規劃代理程式:記憶體驅動的 Strands 多代理程式風險防護系統
記憶驅動的 Strands 代理:波動率與泰國復原規劃。
B12 使用 Amazon Bedrock AgentCore Memory 建構空頭跨式部位交易風險治理
空頭跨式部位的交易風險治理。
B13 在 Amazon EKS 上建構生產環境就緒的信用與收益質押 AI 智能體
在 EKS 上跑生產級信用與收益質押代理。
挑戰
01 週末生產力挑戰:Fab SPC 漂移同步入口網站
Fab SPC 漂移審查與建議入口網站。
02 週末生產力挑戰:Quant P&L Commander — AWS 上由 AI 驅動的交易生產力入口網站
AWS 上由 AI 驅動的交易生產力入口網站。
03 週末煩人的任務挑戰:交易台在雲端、鏈上、空中執行摘要
DeskPulse 日常交易執行摘要。
04 週末 Agent 挑戰:上午 6 點交易風險審查
無人值守、以證據為基礎的晨間交易風險簡報。
05 Weekend Creative Challenge: Leadership Card Game
瀏覽器版創意引導卡牌。
06 Full Stack Challenge: Community Day Board App
瀏覽器版活動溝通空間。
領導力卡牌
01 Leadership Card Game: 雲端還沒自動化的最後一項本事:像領導者一樣說話
寫給 建構者的現場隨筆——談語言、勇氣,以及 Leadership Card Game
02 領導力回合的解剖:Leadership Card Game 實際怎麼玩
給 建構者的引導員實地指南——讓演練嵌進真實會議
03 Leadership Card Game: 當機會不再屬於主辦者
寫給 建構者的現場隨筆:權力轉移、多語領導力練習夜,以及走完入口、資源、敘事的職涯弧線
04 週末創意挑戰:Leadership Card Game
一篇建構者手記:願景、架構,以及週末創意挑戰教會我的事
05 從週末挑戰專案到 $1,386 群眾募資:改變你在職場現身方式的領導力練習
一個週末做出的作品,變成 600 張卡的線上領導力練習室,並募到 $1,386。
06 從週末挑戰專案到 $1,386 群眾募資:進入科技產業的第一天路徑
一個週末挑戰如何變成具備 600 張卡、由 AWS 驅動的多語產品,並募到 $1,386?
07 從週末挑戰專案到 $1,386 群眾募資:用轉移機會建立專業品牌
一個週末挑戰把領導想法做成能跑的多語產品,並募到 $1,386。
08 Leadership Card Game — 群眾募資活動
募資目標: HKD 5,000 已募金額: HKD 1,386 距目標還差: HKD 3,614 進度: 28% 創作者: D.C. Dan · L.L. Diana · L.K. Lva 所在地: 日本、香港、新加坡 投資人權益: 即期價值、私密會員卡牌編輯器雲(Private Membership Card…
09 PR/FAQ 01 — Leadership Card Game 面向社群建構者正式推出
「逆向工作法」文件 · 對外新聞稿 + FAQ 產品: Leadership Card Game 受眾: 社群經理、志願組織者、職涯早期建構者
10 PR/FAQ 02 — 企業引導員採用 Leadership Card Game 進行現場領導力演練
「逆向工作法」文件 · 對外新聞稿 + FAQ 產品: Leadership Card Game 受眾: 學習與發展負責人、人員管理者、敏捷教練、企業引導員
10 PR/FAQ 03 — 多語 Leadership Card Game 為建構者擁有權開放全球練習室
「逆向工作法」文件 · 對外新聞稿 + FAQ 產品: Leadership Card Game 受眾: 全球 建構者、雙語社群、跨境產品團隊、開源導師
AWS Builder Center
01 AWS Builder Center、社群精神與 AWS Builder Jacket
霓虹訊號、共享創意,以及為建構者打造的外套。
02 走進 AWS Builder Center:一座能學習、貢獻,也讓人有歸屬感的全球技術平台
一段精彩旅程,不一定從機場開始。
03 AWS Community Builder 的巨大成功
當建構者公開分享,整個社群就會一起前進。
04 AWS Builder Center 的巨大成功
一座為好奇心打造、充滿活力的全球街區。
05 週末走進 AWS Builder Center:從社群靈感到令人難忘的 AWS Builder Jacket
星期五晚上,開始於建構者熟悉的感覺:有一個點子,正卡在問題與可能性之間。

這篇文章將深入探討 Demo 背後的練習引擎,詳細說明如何透過單一 HTML 檔案,利用查詢字串(Query Strings)載入多個題庫;剖析為什麼 JSON 協定(Contract)如此重要;解析送出(Submit)與下一題(Next)的行為如何串起學習迴圈;以及行動裝置的版面設計抉擇如何建立使用者信任。我們的核心焦點在於實用的工程紀律:簡單的狀態(State)、直覺的反饋(Feedback)、可重複使用的資料(Data),以及引導出可維護行為的 Prompt(提示詞)。


免責聲明

● 專案宗旨:本平台為獨立開發專案,僅專注於推動教育探索與人工智慧(AI)研究。旨在不受任何外部力量影響的情況下,促進對現代技術的深入理解。使用者可在這個安全環境中研究複雜系統、測試創新想法並進行安全學習。

● 非商業用途:本獨立專案絕無任何潛在的商業模式,亦完全不以獲取財務營收、金錢利潤或任何具體商業價值為目的。我們的核心重點純粹在於學術發展,確保所有存取完全免費,不包含任何隱性成本、企業贊助或廣告企劃。

● 不保證正確性:由於本平台為採用實驗性人工智慧的教育工具,產出的內容偶爾可能不準確、具誤導性或不完整。所有提供的內容均以「現狀(As-is)」提供,不附帶任何明示或暗示之保證、事實正確性擔保,或對整體可靠性的任何承諾。


目錄

● 第一部分:圍繞 URL 狀態設計練習引擎

說明如何透過測驗、章節與題目的查詢參數,在沒有後端或帳號系統的情況下,讓每一次的練習狀態都能被分享、測試,並極易進行除錯。

● 第二部分:多個測驗共用單一 JSON 結構

探討可重複使用的題庫 Schema(綱要),以及為什麼一致的欄位能讓同一個渲染器支援資料、機器學習、網路、雲端營運、金融服務業(FSI)與 AI 開發等練習題庫。

● 第三部分:將送出反饋打造為學習迴圈

剖析答案判定模式:選取的答案、排序後的標準答案、結果文字、逐項選項解析,以及不使用多餘紅綠色特效的極簡 UI。

● 第四部分:將行動裝置按鈕視為產品品質的體現

展示行動版介面中加大題目、送出與下一題按鈕的重要性,以及微小的響應式調整如何讓 Demo 從「堪用」躍升為「好用」。

● 第五部分:以協定進行除錯,而非憑空猜測

將常見的氛圍式程式設計(Vibe Coding)錯誤轉化為具體檢核點:擷取失敗、遺失 JSON 檔案、答案不一致、無效的查詢字串,以及需要可預期退路(Fallback)的頁面狀態。


第一部分:圍繞 URL 狀態設計練習引擎

目標

打造一個可以分享、重新整理、加入書籤、除錯,且能直接從行銷網頁開啟的題目畫面。

Prompt

URL 查詢字串應包含測驗名稱、章節與題目,且網頁應直接跳轉至對應的題目。

結果

practice-room.html 會從 URLSearchParams 中讀取 exam、chapter 與 question。它會據此推導出 JSON 檔案名稱並進行擷取(fetch)、找出指定的章節與題目、渲染畫面,並在切換題目時動態更新 URL。

提示

● URL 是一種產品介面,而不僅僅是瀏覽器上的一段裝飾。

● 預設值應讓本機測試(Local Testing)更為輕鬆。

● 當導覽需在不離開網頁的情況下更新上下文時,請使用 replaceState。

● 保持查詢參數名稱易於人類閱讀。

● 確保每個卡片連結都能開啟一個有意義的第一題。

小結:URL 協定是最小型的路由系統。它能在沒有路由、伺服器、資料庫或驗證層的情況下,建立深層連結(Deep Links)。


第二部分:多個測驗共用單一 JSON 結構

目標

透過強制執行單一且穩定的內容結構(Shape),讓多種測驗主題共用同一個渲染器(Renderer)。

Prompt

在新增練習題庫時,應反覆強調以 aws_certified_data_exam_questions.json 為模板。

結果

所有題庫均以一致的架構呈現章節、題目、選項、答案與解析。這讓同一個 UI 能夠支援資料分析(Data)、機器學習(ML)、網路(Networking)、雲端營運(Cloud Operations)、金融服務(FSI)交易、生成式 AI 以及 AI 開發等題庫。

提示

● 不要讓每次匯入的內容都自創一套 Schema。

● 將 answer(答案)欄位保持為陣列(Array),如此單選題與複選題就能共用同一套資料模型。

● 解釋(Explanations)應以選項字母作為鍵值(Key)。

● 將顯示標題(Display Titles)儲存在 JSON 中,讓 UI 能自動載入對應的標籤。

● 在宣稱系統規模之前,先用自動化工具統計題目總數。

資料夾中的題庫清單

● aws_ai_development_exam_questions.json: 共 1 章,含 20 題。

● aws_generative_ai_dev_organization_exam_questions.json: 共 4 章,含 80 題。

● aws_netowrking_core_exam_questions.json: 共 2 章,含 98 題。

● aws_fsi_trading_desk_design_exam_questions.json: 共 34 章,含 680 題。

● aws_certified_cloud_operations_exam_questions.json: 共 5 章,含 520 題。

● aws_fsi_macro_trading_exam_questions.json: 共 23 章,含 380 題。

● aws_certified_machine_learning_exam_questions.json: 共 4 章,含 460 題。

● aws_certified_data_exam_questions.json: 共 5 章,含 82 題。

● aws_certified_data_exam_questions_v1.json: 共 5 章,含 82 題。


第三部分:將送出反饋打造為學習迴圈

目標

藉由在送出答案後顯示每個選項對或錯的理由,將簡單的測驗轉化為深度學習體驗。

Prompt

送出時顯示正確與錯誤答案的解析,並明確指出不需要使用紅綠色的 UI 視覺效果。

結果

實作會先將使用者選取的答案與正確答案進行排序與比對,印出比對結果與標準答案,最後為每個選項渲染獨立的解析區塊。

提示

● 在最初的學習迴圈中,純文字反饋便已足夠。

● 在解析品質足夠扎實之前,避免使用花俏的對錯 UI 特效。

● 確保「已選取」與「正確答案」的狀態在結果中清晰可見。

● 單選題(Radio Input)與複選題(Checkbox)共用相同的送出判斷路徑。

● 為「無解析」的情況設計明顯的預設提示(Fallback),以便快速修正內容缺漏。

小結:這在「氛圍式程式設計(Vibe Coding)」中非常關鍵,因為它能防止 AI 進行過度設計。使用者所要求的並非遊戲化的計分板,而是一個安靜的自修室(Study Room)。UI 應全心服務於使用者的記憶檢索與複習。


第四部分:將行動裝置按鈕視為產品品質的體現

目標

讓模擬考場在手機上也能好用,因為許多開發者(Builders)會利用會議空檔、通勤途中或短暫的複習時間在手機上自學。

Prompt

行動版版面應將題目與答案選擇區置於上方,題目清單置於下方,並加大題目按鈕,以及送出和下一題按鈕。

結果

CSS 透過媒體查詢(Media Queries)來調整版面順序、加大按鈕點擊區域,並在螢幕變窄時,確保題目清單依舊好讀好按。

提示

● 行動版易用性不是最後的修飾(Polish Pass),而是核心行為。

● 當人們用手機學習時,按鈕大小本身就是一項重要的「學習功能」。

● 內容的編排順序遠比美化裝飾更重要。

● 保持當前題目處於高亮(Highlighted)狀態。

● 在動用複雜的元件之前,先嘗試使用簡單的 Grid 與 Flex 佈局。

小結:如果使用者常常在手機上點錯答案,這款練習產品就失敗了。按鈕變大並不只是為了解決美觀,更是為了守護使用者的專注力。


第五部分:以協定進行除錯,而非憑空猜測

目標

藉由驗證 HTML、URL 與 JSON 邊界之間的假設,讓程式在發生異常時能自己說明白原因。

Prompt

專案建置要求直接透過查詢字串(Query String)載入 JSON,後續又追加了許多測驗檔名。這代表拼字錯誤與檔案遺失是最常見的錯誤模式。

結果

播放器會擷取(catch)載入失敗的錯誤,並顯示清晰的訊息,提示使用者確認測驗查詢參數與 JSON 檔案是否存在。

提示

● 當 Fetch 失敗時,直接在 UI 顯示載入失敗的檔名,而不僅僅是印在主控台(Console)。

● 當缺少某個章節時,應有可預期的退路(Fallback)。

● 當缺少某個題目時,自動跳回第一題。

● 在新增卡片(Card)時,務必確認對應的 JSON 檔案存在。

● 新增題庫時,記得檢查答案陣列與解析鍵值。

小結:除錯的道理很簡單:如果 AI 建立了一個連結,下一道 Prompt 就應該去驗證該連結背後的檔案。在氛圍式程式設計(Vibe Coding)中,你需要養成這種「驗證反射」習慣。


1:URL 狀態

● 背景:此練習播放器需要可供分享的連結,以便在不需要伺服器端路由的情況下,直接開啟特定的測驗、章節與題目。

● 目標:讓每一個學習狀態都能透過 URL 定位。

● Prompt:使用 exam、chapter 與 question 等查詢參數導向至關聯題目。

● 結果:網頁讀取 URLSearchParams,解析出 JSON 檔案路徑,找出對應章節,並高亮顯示目前題目。

● 提示:使用穩定的參數名稱。預設導向已知的練習題庫。在切換題目時同步更新 URL。讓卡片連結到真實存在的狀態。測試複製貼上的 URL 連結。

● Demo 實證:網頁成功讀取 URLSearchParams、解析 JSON 檔案、定位章節,並突顯目前題目。這是審查人員可以直接驗證的部分。實戰筆記應緊扣這項實證,而非流於泛泛的氛圍式程式設計空談。

● 審查檢查點:針對 URL 狀態,確認三件事:背景是否描述了真實的專案壓力、目標是否點出預期行為,以及結果是否指向檔案中或瀏覽器上清晰可見的具體實作。若三者缺一,發佈前請重新撰寫此筆記。


2:JSON 載入

● 背景:應用程式直接從同一個資料夾載入靜態 JSON 檔案。這能大幅簡化部署作業,但檔名就變得極為關鍵。

● 目標:不需經過打包(Bundling)或撰寫後端程式碼,即可透過單一播放器載入多個題庫。

● Prompt:讓 HTML 網頁載入 URL 查詢字串對應的 JSON。

● 結果:播放器會從 exam 參數中推算出檔案名稱,並在進行渲染前擷取(fetch)該檔案。

● 提示:卡片上的測驗名稱需與實體檔名一致。顯示友善的擷取錯誤訊息。保持 JSON 架構(Schema)一致。避免隱藏的資料轉換。驗證第一題是否能正常渲染。

● Demo 實證:播放器從 exam 參數解析出檔名,並在渲染前擷取該檔案。這是審查人員可以直接驗證的部分。實戰筆記應緊扣這項實證,而非流於泛泛的氛圍式程式設計空談。

● 審查檢查點:針對 JSON 載入,確認三件事:背景是否描述了真實的專案壓力、目標是否點出預期行為,以及結果是否指向檔案中或瀏覽器上清晰可見的具體實作。若三者缺一,發佈前請重新撰寫此筆記。


3:答案判定

● 背景:AWS 風格的練習教材中,同時存在單選題與複選題。

● 目標:不論是單選按鈕(Radio Button)或核取方塊(Checkbox),都共用同一條答案判定路徑。

● Prompt:送出答案時應顯示正確與錯誤答案的解析。

● 結果:程式收集使用者選取的輸入、對其進行排序,接著與排序後的標準答案陣列比對,最後印出結果。

● 提示:將答案以陣列形式儲存。比對前先進行排序。不要預設只有單一答案。保持已選取狀態清晰易讀。測試包含「選兩個答案(Select Two)」的複選題。

● Demo 實證:程式收集已選取輸入、進行排序、比對排序後的標準答案陣列並印出結果。這是審查人員可以直接驗證的部分。實戰筆記應緊扣這項實證,而非流於泛泛的氛圍式程式設計空談。

● 審查檢查點:針對答案判定,確認三件事:背景是否描述了真實的專案壓力、目標是否點出預期行為,以及結果是否指向檔案中或瀏覽器上清晰可見的具體實作。若三者缺一,發佈前請重新撰寫此筆記。


4:多選邏輯

● 背景:多重答案(複選)題目的資料模型應與單一答案(單選)題目相同,無需拆分。

● 目標:由答案數量決定輸入控制項的類型(單選或複選),同時保留完全一致的渲染流程。

● Prompt:多選(單一答案)項目只有一個 Key;「選兩個答案(Select-Two)」的項目則有多個 Key。

● 結果:當答案陣列只有一個值時,渲染器會使用單選按鈕(Radio Inputs);當有多個值時,則改用核取方塊(Checkboxes)。

● 提示:從資料中派生 UI 呈現。避免重複撰寫渲染器。保持輸入欄位名稱(Name)一致。進行完整答案集的比對。在題目文字中特別註明「選取兩項(Select-Two)」等提示。

● Demo 實證:當答案陣列僅有一個值時使用單選按鈕,大於一個值時則使用核取方塊。這是審查人員可以直接驗證的部分。實戰筆記應緊扣這項實證,而非流於泛泛的氛圍式程式設計空談。

● 審查檢查點:針對多選邏輯,確認三件事:背景是否描述了真實的專案壓力、目標是否點出預期行為,以及結果是否指向檔案中或瀏覽器上清晰可見的具體實作。若三者缺一,發佈前請重新撰寫此筆記。


5:解析渲染

● 背景:學習的價值在於解題脈絡(Rationale)與邏輯,而不只是最後得分。

● 目標:送出答案後,展示所有選項的對錯說明與解析。

● Prompt:當使用者點擊送出時,顯示正確與錯誤答案的解析,且不使用紅綠色 UI 視覺效果。

● 結果:結果區塊中會條列每個選項的已選狀態、答案狀態以及對應的解析文字。

● 提示:解釋干擾項為何錯誤。保持標準答案清晰可見。在考慮色彩特效前先使用文字說明。為沒有解析的內容提供預設回報機制。審查解析文字的品質。

● Demo 實證:結果框列出了各選項的已選狀態、答案狀態以及解析文字。這是審查人員可以直接驗證的部分。實戰筆記應緊扣這項實證,而非流於泛泛的氛圍式程式設計空談。

● 審查檢查點:針對解析渲染,確認三件事:背景是否描述了真實的專案壓力、目標是否點出預期行為,以及結果是否指向檔案中或瀏覽器上清晰可見的具體實作。若三者缺一,發佈前請重新撰寫此筆記。


6:章節導覽

● 背景:大型題庫包含多個章節與數百道題目,因此導覽介面必須保持簡潔易用。

● 目標:直接從 JSON 結構動態渲染出章節群組與題目按鈕。

● Prompt:左側區域橫向呈現所有章節與題目。

● 結果:題目清單會依章節將按鈕分組,並高亮標記當前題目。

● 提示:從資料動態生成導覽。保持章節標籤精簡。突顯當前狀態。在切換題目時重設(Reset)比對結果。避免手動寫死(hardcode)按鈕的 HTML 標記。

● Demo 實證:題目清單會按章節分組,並突顯當前題目。這是審查人員可以直接驗證的部分。實戰筆記應緊扣這項實證,而非流於泛泛的氛圍式程式設計空談。

● 審查檢查點:針對章節導覽,確認三件事:背景是否描述了真實的專案壓力、目標是否點出預期行為,以及結果是否指向檔案中或瀏覽器上清晰可見的具體實作。若三者缺一,發佈前請重新撰寫此筆記。


7:錯誤狀態處理

● 背景:靜態網頁播放器最常因為查詢字串指向不存在的 JSON 檔案,或是載入到格式錯誤的內容而故障。

● 目標:讓錯誤訊息對正在測試連結的人而言一目了然。

● Prompt:請確認 exam 查詢參數與 JSON 檔案。

● 結果:catch 區塊會變更網頁標題、顯示錯誤訊息,並呈現清晰的「空白狀態(Empty State)」操作指引。

● 提示:在 UI 上呈現失敗資訊,而非僅印在主控台(Console)。指明可能的修正方案。在出錯後仍能保持頁面可用。測試無效的 exam 參數值。不要隱藏 Fetch 錯誤。

● Demo 實證:catch 區塊修改標題、顯示錯誤訊息並呈現清晰的空白狀態指引。這是審查人員可以直接驗證的部分。實戰筆記應緊扣這項實證,而非流於泛泛的氛圍式程式設計空談。

● 審查檢查點:針對錯誤狀態處理,確認三件事:背景是否描述了真實的專案壓力、目標是否點出預期行為,以及結果是否指向檔案中或瀏覽器上清晰可見的具體實作。若三者缺一,發佈前請重新撰寫此筆記。


8:資料協定重複使用

● 背景:同一個渲染器能直接支援資料分析(Data)、機器學習(ML)、網路(Networking)、雲端營運(Cloud Operations)、金融服務(FSI)、生成式 AI 以及 AI 開發等練習題庫。

● 目標:藉由確保所有題庫都對齊相同的欄位結構,來維護重複使用性。

● Prompt:以 aws_certified_data_exam_questions.json 為模板。

● 結果:新增題庫變成了單純的「內容新增」,而不需要修改任何程式碼。

● 提示:使用黃金範本(Golden Sample)。檢查 answer 與 explanations 欄位。保持章節陣列結構一致。避免針對特定測驗裝飾分支 UI 邏輯。匯入完成後,統計題目數量。

● Demo 實證:新增題庫成了純粹的內容擴充,而非程式碼層面的修改。這是審查人員可以直接驗證的部分。實戰筆記應緊扣這項實證,而非流於泛泛的氛圍式程式設計空談。

● 審查檢查點:針對資料協定重複使用,確認三件事:背景是否描述了真實的專案壓力、目標是否點出預期行為,以及結果是否指向檔案中或瀏覽器上清晰可見的具體實作。若三者缺一,發佈前請重新撰寫此筆記。


9:結果重設

● 背景:若學習者在送出答案後切換至新題目,殘留的舊反饋可能會干擾新題目的作答。

● 目標:在導覽狀態(切換題目)改變時,即時清除作答結果狀態。

● Prompt:下一題應切換至下一道題目,並乾淨地呈現新題目。

● 結果:播放器會在切換題目時,隱藏並清空結果框(Result Box)。

● 提示:點擊下一題時重設。點擊題目按鈕時重設。渲染後保持答案未選取狀態。避免殘留舊的對錯文字。讓狀態轉換過程清晰直覺。

● Demo 實證:播放器在題目切換期間會隱藏並清空結果框。這是審查人員可以直接驗證的部分。實戰筆記應緊扣這項實證,而非流於泛泛的氛圍式程式設計空談。

● 審查檢查點:針對結果重設,確認三件事:背景是否描述了真實的專案壓力、目標是否點出預期行為,以及結果是否指向檔案中或瀏覽器上清晰可見的具體實作。若三者缺一,發佈前請重新撰寫此筆記。


10:下一題行為模式

● 背景:模擬考場需要一個流暢、快速切換題目的機制,而不需要強迫使用者退回清單重新點選。

● 目標:在當前章節中循序前進,並在章節結束時自動跳轉至下一章的第一題。

● Prompt:下一題:導向至下一題。

● 結果:goNext 函式會遞增題目索引值(Index);當前章節結束時,則會推進章節索引值。

● 提示:在最後一題時停用「下一題」按鈕。同步更新查詢字串(Query String)。重設反饋狀態。在狀態改變後重新渲染。測試章節與章節之間的切換邊界。

● Demo 實證:當前章節結束時,goNext 函式會增加題目索引值或推進章節索引值。這是審查人員可以直接驗證的部分。實戰筆記應緊扣這項實證,而非流於泛泛的氛圍式程式設計空談。

● 審查檢查點:針對下一題行為模式,確認三件事:背景是否描述了真實的專案壓力、目標是否點出預期行為,以及結果是否指向檔案中或瀏覽器上清晰可見的具體實作。若三者缺一,發佈前請重新撰寫此筆記。


11:電腦版版面配置

● 背景:電腦版的 Prompt 將「導覽」與「作答」明確拆分:左側為題目列表,右側為當前作答區。

● 目標:善用寬螢幕寬度,降低電腦版學習者的認知切換成本。

● Prompt:電腦版網頁配置:左側為題目按鈕列表區;右側為題目與答案選擇區。

● 結果:網頁網格(Grid)配置提供了一個穩固的側邊欄(Sidebar)與較寬廣的主內容面板。

● 提示:使側邊欄支援滾動。確保主內容面板維持專注度。避免使用彈出式視窗(Modal)進行導覽。使用可預期的欄位排版。適度放大電腦版文字大小。

● Demo 實證:網頁網格提供一個穩定的側邊欄與較大的主內容區塊。這是審查人員可以直接驗證的部分。實戰筆記應緊扣這項實證,而非流於泛泛的氛圍式程式設計空談。

● 審查檢查點:針對電腦版版面配置,確認三件事:背景是否描述了真實的專案壓力、目標是否點出預期行為,以及結果是否指向檔案中或瀏覽器上清晰可見的具體實作。若三者缺一,發佈前請重新撰寫此筆記。


12:行動版版面配置

● 背景:在行動裝置上,若採用「側邊欄優先」的排版,會逼學習者必須先滑過整串導覽連結才能看到題目。

● 目標:重新調整頁面順序,讓當前題目置頂最先呈現。

● Prompt:行動版網頁配置:上方為題目與答案選擇區,下方為題目按鈕列表區。

● 結果:CSS 的 order 屬性規則在小螢幕上會將右側面板排在左側面板上方。

● 提示:將核心任務放在最前面。將導覽功能往下移。增加元件間距。保持按鈕大尺寸。使用長題目進行測試。

● Demo 實證:CSS 的 order 規則在小螢幕下會將右側面板移至左側面板上方。這是審查人員可以直接驗證的部分。實戰筆記應緊扣這項實證,而非流於泛泛的氛圍式程式設計空談。

● 審查檢查點:針對行動版版面配置,確認三件事:背景是否描述了真實的專案壓力、目標是否點出預期行為,以及結果是否指向檔案中或瀏覽器上清晰可見的具體實作。若三者缺一,發佈前請重新撰寫此筆記。


13:題目按鈕大小

● 背景:在手機螢幕上,微小的數字按鈕會令人非常沮喪,特別是題庫裡有大量題目時。

● 目標:提升行動版複習時的點擊準確度。

● Prompt:行動版:題目按鈕列表加大按鈕尺寸。

● 結果:行動版 media query 會調大題目按鈕的寬度、高度、內距(Padding)與字型大小。

● 提示:專為大拇指設計觸控區。避免過於擁擠的點擊目標。保持數字清晰易讀。使用自動折行的橫列排版。維持當前題目的高亮顯示。

● Demo 實證:行動版媒體查詢調大了題目按鈕的寬高、內距與字型大小。這是審查人員可以直接驗證的部分。實戰筆記應緊扣這項實證,而非流於泛泛的氛圍式程式設計空談。

● 審查檢查點:針對題目按鈕大小,確認三件事:背景是否描述了真實的專案壓力、目標是否點出預期行為,以及結果是否指向檔案中或瀏覽器上清晰可見的具體實作。若三者缺一,發佈前請重新撰寫此筆記。


14:送出與下一題按鈕加大

● 背景:「送出」與「下一題」是整個應用程式的核心互動按鈕。如果它們看起來或點起來太小,整個程式就會給人一種粗糙未完成的感覺。

● 目標:讓行動裝置上的主要操作(Primary Actions)更為舒適流暢。

● Prompt:行動版:加大「送出」與「下一題」按鈕的尺寸。

● 結果:行動版中,這些操作按鈕獲得了更大的最小高度(min-height)、內距與字型大小。

● 提示:優先處理核心操作按鈕。採用一致的高度。避免擁擠的橫向排版。確保「停用(Disabled)」狀態清晰可見。測試單手操作的便利性。

● Demo 實證:行動版中的核心操作按鈕擁有更大的最小高度、內距與字型。這是審查人員可以直接驗證的部分。實戰筆記應緊扣這項實證,而非流於泛泛的氛圍式程式設計空談。

● 審查檢查點:針對送出與下一題按鈕加大,確認三件事:背景是否描述了真實的專案壓力、目標是否點出預期行為,以及結果是否指向檔案中或瀏覽器上清晰可見的具體實作。若三者缺一,發佈前請重新撰寫此筆記。


15:選項渲染處理

● 背景:為了容納 AWS 風格多行且複雜的情境式答案,選項之間需要足夠的間距。

● 目標:將每個選項渲染為 <label> 元素,以便學習者點擊文字時即可直接選取該項目。

● Prompt:回應(Responses)是可能的解答;各選項的長度與複雜度應維持相仿。

● 結果:每個選項均使用 <label> 包裹 input 元素與文字內容,藉此提升無障礙性(Accessibility)與點擊體驗。

● 提示:將 input 與文字包裹在一起。使用選項字母。允許長文字自動換行。保持間距一致。避免微小、難以點選的單選框目標。

● Demo 實證:每個選項都採用包覆著 input 與文字的 label 外殼,改善了無障礙度與點選反應。這是審查人員可以直接驗證的部分。實戰筆記應緊扣這項實證,而非流於泛泛的氛圍式程式設計空談。

● 審查檢查點:針對選項渲染處理,確認三件事:背景是否描述了真實的專案壓力、目標是否點出預期行為,以及結果是否指向檔案中或瀏覽器上清晰可見的具體實作。若三者缺一,發佈前請重新撰寫此筆記。


16:網址狀態即時同步

● 背景:學習者在應用程式中反覆切換點選後,應能直接分享當下看到的特定題目連結。

● 目標:讓瀏覽器網址列(URL)隨時與應用程式當前狀態保持同步。

● Prompt:當使用者點擊某個題目時,跳轉至對應題目。

● 結果:updateQueryString 函式會將當前的 exam(測驗)、chapter(章節)與 question(題目)參數寫入 URL 中。

● 提示:在每次切換導覽後更新 URL。使用 replaceState 進行靜默更新(無感重新整理)。保持 exam 參數中不包含副檔名。避免觸發頁面完整重新載入。驗證分享連結的有效性。

● Demo 實證:updateQueryString 函式會將 exam、chapter 與 question 寫入網址列。這是審查人員可以直接驗證的部分。實戰筆記應緊扣這項實證,而非流於泛泛的氛圍式程式設計空談。

● 審查檢查點:針對網址狀態即時同步,確認三件事:背景是否描述了真實的專案壓力、目標是否點出預期行為,以及結果是否指向檔案中或瀏覽器上清晰可見的具體實作。若三者缺一,發佈前請重新撰寫此筆記。


17:捨棄框架的純粹決策

● 背景:此應用程式僅需要 Fetch API、DOM 動態產生、極簡狀態管理以及少數的事件接聽器(Event Listeners)。

● 目標:在互動模型真正需要之前,極力避免引入繁重的 JavaScript 框架。

● Prompt:建立一個不帶多餘裝飾的簡單深色模式網頁。

● 結果:模擬考場程式碼完美封裝在單一極具可讀性的 HTML 檔案中。

● 提示:小型 Demo 請直接採用原生 JavaScript(Vanilla JS)。保持狀態物件極小化。直接依資料動態建立 DOM。避開不必要的專案建置步驟(Build Steps)。只在程式碼真的變得難以維護(Pain Point)時才進行重構。

● Demo 實證:模擬考場在單一 HTML 檔案中保持良好可讀性。這是審查人員可以直接驗證的部分。實戰筆記應緊扣這項實證,而非流於泛泛的氛圍式程式設計空談。

● 審查檢查點:針對捨棄框架的純粹決策,確認三件事:背景是否描述了真實的專案壓力、目標是否點出預期行為,以及結果是否指向檔案中或瀏覽器上清晰可見的具體實作。若三者缺一,發佈前請重新撰寫此筆記。


18:內容品質閘門控制

● 背景:出題指南指出,干擾項(Distractors)必須具備高度誘答性,且解析必須能確實推論出標準答案。

● 目標:將內容審查無縫整合至工程開發的工作流程中。

● Prompt:遵循出題指南,並將練習題庫提升至專業水準。

● 結果:JSON 結構保留了選項層級的解析,方便日後進行獨立稽核與檢視。

● 提示:審查干擾項。確認標準答案 Key 的唯一性。避免過時的陳述。使用主動語態。保持解題邏輯符合最新版考試大綱。

● Demo 實證:JSON 結構保留了選項層級的詳細解析以利後續稽核。這是審查人員可以直接驗證的部分。實戰筆記應緊扣這項實證,而非流於泛泛的氛圍式程式設計空談。

● 審查檢查點:針對內容品質閘門控制,確認三件事:背景是否描述了真實的專案壓力、目標是否點出預期行為,以及結果是否指向檔案中或瀏覽器上清晰可見的具體實作。若三者缺一,發佈前請重新撰寫此筆記。


19:公開連結完整測試

● 背景:首頁(Landing Page)卡片上的每個入口,都與模擬考場對應的 URL 有著緊密的相依性。

● 目標:將每一張測驗卡片都視為播放器功能測試的獨立 Test Case。

● Prompt:新增測驗卡片,並附帶 exam_name&chapter=1&question=1 的連結。

● 結果:題庫資源庫(Library)成功轉化為一整套能直接深層連結(Deep Links)至應用程式內部的捷徑。

● 提示:實際點擊每一張新加入的卡片。仔細核對 JSON 檔名拼字。確認初始章節編號。確認第一題編號。確認標題是否能順利載入。

● Demo 實證:資源庫轉化為一系列可直接深層連結至應用程式內的完整入口。這是審查人員可以直接驗證的部分。實戰筆記應緊扣這項實證,而非流於泛泛的氛圍式程式設計空談。

● 審查檢查點:針對公開連結完整測試,確認三件事:背景是否描述了真實的專案壓力、目標是否點出預期行為,以及結果是否指向檔案中或瀏覽器上清晰可見的具體實作。若三者缺一,發佈前請重新撰寫此筆記。


20:學習迴圈權責拆分

● 背景:模擬考場播放器負責實踐學習行為,而首頁(Landing Page)則負責內容的探索與分流。

● 目標:實施嚴格的權責拆分(Separation of Concerns),讓未來的修改保持單純與高維護性。

● Prompt:使用 index.html 呈現題庫目錄,並用 practice-room.html 進行題目練習。

● 結果:整個系統可以在完全不改動「答案判定邏輯」的情況下擴展目錄清單,亦能在完全不重寫「行銷文案」的前提下精進播放器的功能。

● 提示:將探索流程與實著作答分開。將所有內容完好存放在 JSON 中。以超連結作為系統邊界。避免跨檔案之間的過度耦合。明確記錄每項行為的權責歸屬。

● Demo 實證:本系統能完全獨立擴充目錄,而不必改動答案判定;同時也能精進播放器,而不用調整首頁文案。這是審查人員可以直接驗證的部分。實戰筆記應緊扣這項實證,而非流於泛泛的氛圍式程式設計空談。

● 審查檢查點:針對學習迴圈權責拆分,確認三件事:背景是否描述了真實的專案壓力、目標是否點出預期行為,以及結果是否指向檔案中或瀏覽器上清晰可見的具體實作。若三者缺一,發佈前請重新撰寫此筆記。