iT邦幫忙

技術文章

RSS
鐵人賽 自我挑戰組 DAY 9

Day 9 - Test Runner 基礎:describe / test / hooks 與 timeout 設定

從 Day 5 到 Day 8,我們花了不少篇幅在討論「如何準確抓到畫面上的元素」。今天我們要來看看 Playwright Test 提供了哪些好用的控制項。...

鐵人賽 Build on Google AI DAY 6

Day 6|如果AI用來整理報告,那製作出來的工具能測到漏洞嗎

前言 昨天整理 XSS 的形成過程時,我把判斷拆成幾個階段:找到輸入點、追蹤輸入、分析輸出位置,最後才是驗證瀏覽器行為。 如果工具只看到輸入出現在回應中,最多只...

鐵人賽 AI 自動化 DAY 6

D6 OpenClaw Companion:那個待在系統匣的小程式(二)

直接進入昨天沒說到的部分 進階 底下有四個分頁。 代理程式 你有幾隻 agent,這裡就有幾個分頁。我這台是 main、lab_helper、TPClaw、Ma...

鐵人賽 AI Engineering DAY 7

Day 7|Git、DB、Log、Test 怎麼變成證據

Day 7|Git、DB、Log、Test 怎麼變成證據 同一個任務,worker 說完成,我說沒完成。兩邊都講得出理由,但只有一邊留得下「照這個步驟查、會看到...

鐵人賽 自我挑戰組 DAY 28

系統說你做錯了,但它真的判斷對了嗎?

希望透過人體姿態估測,協助使用者觀察居家復健動作中的姿勢變化,並提供即時回饋。但當我們把角度計算、動作計次與代償判斷都設計出來之後,還有一個很重要的問題:我們要...

【Day 7】Vue 實作 — 學了一週演算法,今天終於開始建立環境

前幾天都在學演算法、Big O、Bubble Sort 等基礎概念,今天終於要正式開始建立我的演算法視覺化平台了! 這次預計使用 Vue 3 + Vite +...

鐵人賽 Vibe Coding DAY 6

Day 6|AI 把 Python 語法寫進 GDScript,三分鐘後爆掉了

這是用 Claude Code 開發後的第一個小時發生的 18:46 專案跑不起來 我請 AI 寫了 TimerManager.gd 剛進 repo,按下執行後...

Day 6. 不只科技新知要更新,對世界的認識也需要不斷更新

有時候我們認為的,或者課本給我們的觀念,其實都與事實大相逕庭。小時候曾讀過非洲國家有很多飢餓的小孩,甚至餓到皮包骨,已經沒有力氣進食,必須有人協助餵食液態食物。...

鐵人賽 AI Engineering DAY 20

第二十篇 - 定期 Lint 健康檢查?我不要

Lint 是什麼 Lint 是皮棉、優質喇叭、同時也是明星籃球員 懂嗎? Clint Capela ? (大力甩頭燦笑) Lint 字根是1978 年 Be...

鐵人賽 Modern Web DAY 19

Day 19 | 別被無限循環 hooks 牽著走 — 從 dependency array 到 zustand 狀態管理

三個提問 為什麼 useEffect 一直重複執行?我明明寫對依賴陣列了啊 在 React 應用裡傳資料為什麼這麼困難?Prop drilling 地獄什麼時...

鐵人賽 Software Development DAY 19

Day 19:SOAP 逾時防護——從「先能動」到「補上超時控制」的真實演進

前言:「先讓它動起來」跟「一開始就設計完善」,真實專案通常是哪一種? 「跟外部系統對接的程式碼,逾時控制不是一開始就該設計好嗎?」 理論上是這樣沒錯。但今天要老...

鐵人賽 Software Development DAY 19

Day 19:SSO 登入的單元測試很紮實——但要跟 Day 14 對照著看

前言 「這段邏輯的單元測試寫得很仔細,代表這個功能整體是安全的嗎?」 今天要看的這支測試,品質其實不差——針對單一登入(SSO)底層元件的驗證相當完整。但如果把...

鐵人賽 Software Development DAY 12

Day 12:每個片段各自重試,而不是整份清單重新下載一次

前言:下載失敗了,要重試「這一個片段」還是「整個流程」? 一份內容可能被切成幾十甚至上百個片段,如果整個下載流程用同一層 try/except 包起來,任何一個...

鐵人賽 自我挑戰組 DAY 27

Day 27|「不能直接照上次點嗎?」少了再點一次的外送介面

大家中午點外送的時候,通常會有自己特別喜歡的固定餐點。像是點一份夏威夷拌飯,習慣挑選藜麥、生菜、鮭魚跟蝦卵,淋上橘醋醬,最後還要特別備註不加芹菜跟香菜。 有時候...

鐵人賽 Claude AI DAY 12

Day 12:現象——明明是在問一個問題,AI 卻開始改起不相關的東西

前言:一個問句,不一定是在請求動手 「這裡為什麼沒有唯一索引?」——這句話的語法是疑問句,目的是想知道原因。但如果 AI 把它當成一個隱含的行動請求,開始著手加...

鐵人賽 AI Engineering DAY 21

Day 21:案例——一個 agent 違反只讀不寫指示,但改的內容剛好是對的

前言:結果是對的,這件事就該算了嗎? 昨天講完「只讀不寫」這條規則該怎麼寫進委派指令,今天要面對一個更棘手的情況:規則寫得再明確,還是有 agent 會違反它—...

鐵人賽 Software Development DAY 12

Day 12:測試命名——AI 寫的測試名稱看起來詳細,實際傳達了什麼?

前言:名稱長不等於資訊多 「這個測試名稱都寫了 test_calculate_discount_with_member_level_and_coupon_ret...

鐵人賽 Claude AI DAY 21

Day 21:多 Agent 協作——什麼情況該讓子任務跑在獨立 agent

前言:改動不大,是不是就不用委派? 「這個任務範圍很小,直接自己做不是比開一個獨立 agent 還快嗎?」 這是個很常見的直覺,而且這個直覺的判斷依據其實錯了。...

鐵人賽 Vibe Coding DAY 21

Day 21:多平台/多環境測試——Docker、SSH、Sail 這幾種組合,測試矩陣該怎麼設計

前言:「在我的環境上測試都過了」,這句話到底測了幾種環境? 「這次改動我跑過測試了,全部綠燈,應該沒問題。」 這句話聽起來很安心,但如果你維護的是一個需要適配多...

鐵人賽 自我挑戰組 DAY 0

Day 06:跟 AI 一起規劃 30 天大綱時,人要保留哪些判斷

前言 「大綱都讓 AI 生成了,那還有什麼是需要人保留的?」 Day 02 講過大綱規劃的粗略分工:人定主題句跟邊界、AI 拆解結構。這篇要把「人保留的判斷」講...

鐵人賽 IT Operation DAY 16

Day 16:跨版本相容,不是刻意做出來的,是「沒用到新語法」換來的

前言:跨版本相容,是刻意做出來的嗎? 「支援 PHP 7.1 到 8.3,程式碼裡是不是寫了一堆 if (version_compare(...)) 這種版本分...

鐵人賽 Software Development DAY 7

Day 7:Code Review 的舊模型為什麼追不上 AI 的產出速度

前言:「多找幾個人 review 不就好了?」 這是很多團隊面對「AI 產出太快、review 跟不上」這個問題時的第一個直覺解法:加派人手、要求更仔細的 re...

鐵人賽 AI Engineering DAY 21

Day 21:案例——AI code review 抓到一個違反分層規則的隱藏耦合

前言:能動、測試也過,問題到底藏在哪 昨天講完為什麼架構審查需要獨立設計,今天用一個具體案例,把「一般 code review 看不出問題、架構審查一查就抓到」...

鐵人賽 Build on Google AI DAY 17

Day 17:【高階商務計算機】出國換匯率不再斷網就癱瘓——跨國雙幣對衝連動、自訂匯率覆寫與斷網降級快照

昨天我們完成了 Local Mode 本地模式智慧偵測與頂部動態膠囊收合機制,讓使用者在境內純本幣計算時,享受最純淨不被外幣干擾的螢幕視野。然而,當商務人士或背...

鐵人賽 Claude AI DAY 6

Day6 [coffee-review] 把「杯測」這個名字還給杯測:一場多杯的記錄類型

今天要解的問題 coffee-review 繼續進行修改,原本只有『在家杯測一支豆子』與『在咖啡廳喝一杯』兩種情境,我把前面那個叫「杯測」的類型,嚴格說不是杯測...

鐵人賽 AI Engineering DAY 7

Day 07 AI 其實是金魚腦?打破記憶限制與 Token 成本管理的工程權衡

昨天我們透過 Java 成功發起了 API 請求,並將 AI 回傳的 JSON 完美反序列化為系統物件。然而,昨天的實作是一個「無狀態 (Stateless)」...

鐵人賽 Claude AI DAY 6

【Day 06】需求分析收尾:跟 Claude 一起實測三個假設

今天要做的事實測以下幾個部分: 資料存不存得住:手機和電腦會不會同步 講義摘要:公式會不會失真除了記錄結果之外,也會寫清楚我問了什麼、Claude 做了什麼判...

鐵人賽 Software Development DAY 10

Day 10|讓拖曳在不同縮放比例下都正確

系列:一張投影片背後的工程:從零打造網頁簡報編輯器 對應程式版本:Git tag v0.1.0 版本說明:本文延續 Day 08 的座標換算,改從一次完整拖曳...

鐵人賽 AI Engineering DAY 6

【Day 6】MCP 2026-07-28 改版:協定變成無狀態

MCP 在 2026 年 7 月 28 日發布新版規範,這一版把協定本身從有狀態連線改成無狀態請求,把 Roots、Sampling、Logging 三項功能標...