iT邦幫忙

技術文章

RSS
鐵人賽 AI Security DAY 16

讓 omp 追上 Cursor:六件事,四件 omp 本來就做得到,兩件要從外面補

Day15 的成績單有兩個結論。 第一,hook 這一層,omp 不輸 Cursor,還贏一題。 第二,hook 以外還有落差。卷子外面 omp 落後三個地方:...

鐵人賽 AI Engineering DAY 17

Day 17 打通 Localhost 與雲端的任意門:Webhook 測試神器 ngrok 實戰

前幾天我們成功在雲端將 n8n 與 Dify 串接起來。但在真實的開發場景中,後端工程師通常會先在自己的電腦 (Localhost) 上撰寫 Java 或 Py...

鐵人賽 Modern Web DAY 16

Day 16 - OrbitControls:用滑鼠自由觀看整個太陽系

Day 15 我們已經讓 Camera 可以透過鍵盤切換不同視角。但都還是固定好的位置。今天我們要加入 OrbitControls讓使用者可以直接用滑鼠自由操作...

鐵人賽 Vibe Coding DAY 17

用 AI 做出來的東西,你敢給別人用嗎

本文同步發表於我的個人網站 我朋友 R 不會寫程式,和 AI 做了兩個網站,一個只有他自己在用,一個給家長用。 這篇不聊他,來聊聊你手上和 AI 一起做的那...

鐵人賽 Software Development DAY 16

Day 16: AbstractAutoProxyCreator - 將 Bean 封裝為切面代理對象的自動化引擎

前兩天我們說明了 Spring 底層是怎麼建立代理物件、以及代理物件的擴充方法是怎麼作用在目標物件上,今天我們試著把所有的東西揉合在一起,完整兜出一個切面代理物...

鐵人賽 Software Development DAY 29

Day 29:全站審計——一個套件的能力邊界,跟怎麼延伸它涵蓋原生不支援的事件

前言:「誰改的?什麼時候改的?改之前是什麼樣子?」 「這筆資料現在的內容不對,但沒人知道是誰、什麼時候改的。」 這句話是很多系統維運過程裡,遲早會聽到的抱怨。異...

鐵人賽 Software Development DAY 29

Day 29:首頁測試——一個頁面測試要先準備多少「全站狀態」

前言 「明明只是測首頁能不能正常打開,為什麼 beforeEach 要設定這麼多東西?」 首頁通常是一個系統裡最「熱鬧」的頁面——同時組合了好幾個不同來源的內容...

鐵人賽 Software Development DAY 22

Day 22:第三部回顧——下載引擎的失敗處理,是設計出來的,不是加出來的

前言:這七天講的都是「失敗的時候怎麼辦」 第三部從併發模型選擇,講到局部重試、進度呈現、退避策略、合併前驗證、數量異常處理,表面上主題很分散,但串起來看,每一天...

鐵人賽 Claude AI DAY 22

Day 22:根因——「我覺得做完了」跟「有證據證明做完了」中間的落差

前言:兩種「完成」,用的是同一個詞 Day 20、21 的兩個現象,往下挖會發現同一個根因:「完成」這個詞,可以指「我做了我認為該做的事,主觀上覺得做完了」,也...

鐵人賽 Software Development DAY 22

Day 22:案例——把一個大任務拆成多輪 TDD 循環後,品質有什麼不同

前言:「反正最後都要交出同一份程式碼,拆不拆有差嗎?」 「一個訂單折扣計算功能,規則不算複雜——會員等級折扣、優惠券、滿額贈品,一次講清楚讓 AI 寫完,跟拆成...

鐵人賽 自我挑戰組 DAY 0

Day 16:品質守門機制的維護成本——規則越加越多之後怎麼不互相打架

前言 「規則越補越多,代表品質守門越來越嚴謹,這不是好事嗎?」 規則數量增加確實代表覆蓋的情境更完整,但也帶來一個容易被忽略的成本:規則之間可能開始互相打架,或...

鐵人賽 IT Operation DAY 26

Day 26:一段可以直接放進 CLAUDE.md 的規則文字

前言:把「應該要這樣做」寫成能照著做的規則 第二部提過一個原則性的想法:AI 補功能時,可以被要求順便檢查同一個檔案裡有沒有其他測試缺口。今天把這個想法寫成一段...

鐵人賽 Software Development DAY 17

Day 17:Outside-In TDD/ATDD——最古老的過度設計解藥

前言:「這系列講了 16 天問題,到底什麼時候要講解法?」 如果你從 Day 1 一路看到這裡,大概已經受夠「過度設計有多可怕」這件事了——745 個檔案、21...

鐵人賽 Build on Google AI DAY 16

Day 16|長輩看得到也聽得懂!高齡無障礙 UI/UX 與語音互動優化

✏️【本日實作紀錄:高齡無障礙介面與語音互動體驗優化】 進入專案開發下半場(Day 16~30),我們的重點將從「基礎核心功能串接」轉向「使用者體驗(UX)、無...

鐵人賽 Build on Google AI DAY 16

【Day 16】Google OAuth / SSO 身分驗證、Google Cloud 設定與全功能角色權限控制(RBAC)

在前 15 天裡,我們完成了核心預約系統、Telegram/Email 雙管道通知與第一階段的正式部署。然而,目前系統主要依賴使用者自行填寫 Email,缺乏嚴...

Day17 - Prompt Engineering

跟 AI 溝通,其實也是一種需要反覆調整的介面設計 上一篇 Day16 把 Bedrock 這個平台介紹完了,這篇要處理的是實際「跟模型講話」這件事——怎麼問,...

鐵人賽 AI 自動化 DAY 16

Day 16|什麼時候才需要 Dataflow?

1. BigQuery 已能收資料,為什麼還要增加一條管道? Day 15 我讓 Pub/Sub 訊息寫入 BigQuery,再對已落地資料依事件時間查詢。那條...

鐵人賽 Build on Google AI DAY 29

Day 29 - 使用 Stitch MCP Server 與 AI Agent 技能設計新主畫面

為了減少初始打包大小(main.js),我們引進了一個輕量且即時載入(Eagerly loaded)的主畫面(Home Screen)登陸頁面,同時將繁重的多模...

鐵人賽 AI Engineering DAY 16

Day 16:Agent 改版

現階段就是因為要把所有的 Agent 都改一個遍,但是如果一次把所有的 Agent 都修正的話換陷入測試時不知道是誰在搞的窘境。所以說我這個階段的目標就是一個個...

鐵人賽 Security DAY 16
30天探索CRA奇妙之旅! 系列 第 16 篇

Day 16|CRA 第八章 CONFIDENTIALITY AND PENALTIES

66、67、68是在說新增甚麼,這邊就略過,有興趣的夥伴可以看看~ Article 69 — Transitional provisions 1. 舊有 E...

鐵人賽 AI 自動化 DAY 16

Day 16|SecOps 的最後一道防線:實作 Human-in-the-Loop 審批

大家好!歡迎來到鐵人賽第十六天。 前幾天我們已經完成: Wazuh → FastAPI → n8n → CVE API → AI → LINE 現在系統可以自...

鐵人賽 Build on Google AI DAY 11

Day 21:TCP Data Transfer (Part 2) — 主動送出 Payload

在 Day 20 中,我們的 TCP Stack 已經能夠接收客戶端發送的應用層資料(Payload),並成功計算出對應的累積確認號(ACK Number)回傳...

鐵人賽 Build on Google AI DAY 11

Day 20:TCP Data Transfer (Part 1) — 接收 Payload 並回 ACK

Day 20:TCP Data Transfer (Part 1) — 接收 Payload 並回 ACK 在 Day 19 中,我們成功完成了 TCP 三向交...

【Day 17】Vue 實作 — Quick Sort 的快照,比我想像中還要複雜

昨天把 Quick Sort 改成 Lomuto Partition 後,今天終於可以回頭實作 Day 14、15 規劃的快照。 原本以為前面已經想好「快照要記...

鐵人賽 IT Operation DAY 17

Day 17:錯誤計數器的判讀與重現測試

Day 16 把 Et2 的兩個 runt 歸到對端主機開機。今天先把交換器的錯誤欄位逐一對上它代表的故障,再用四種 link 事件去重現那兩個 runt。先講...

鐵人賽 自我挑戰組 DAY 16

告別看圖說故事!統計假設檢定:抗藍光濾鏡真有顯著差異嗎?

邁入鐵人賽後半程(推論統計階段),利用 SciPy 進行嚴謹的雙樣本統計假設檢定,針對 Day 10 觀察到的「抗藍光濾鏡使用組 vs. 未使用組」在自覺症狀(...

鐵人賽 自我挑戰組 DAY 18

JavaScript:同一段要寫幾次?Function 快來救我!!!

昨天還在幫哈納找朋友, 今天寫著寫著突然發現另一個問題。 假設我想讓哈納打招呼: console.log("哈納:你好!"); 小橘也要:...

鐵人賽 Software Development DAY 27

Day 27|把 Production Failure 變成下一次的 Test:Dataset 與 Eval

Production 裡找到問題後,通常下一步就是修掉它。 以查訂單的客服 Agent 為例,假設我們在 Trace 裡看到物流 Tool 明明回傳「運送中」,...

鐵人賽 Vibe Coding DAY 16

Day 16 — 開發工具大對決:Antigravity vs. Codex 深度比較與定位解析

經過前幾天的介紹,我們已經認識了 Codex 的大模型威力與 Antigravity 的自動化整合能力。許多人在初次接觸這兩款工具時,常會疑問:「它們不都是 A...

鐵人賽 Software Development DAY 30

第 30 章:3D 建模與外部 AI 模型匯入

第 28 章,我們把 AI 生成的聲音帶進 Roblox。 第 29 章,我們把 AI 生成的 2D 圖像變成 icon、thumbnail、UI 圖示、Tex...