iT邦幫忙

技術文章

RSS
鐵人賽 自我挑戰組 DAY 19
學習C#續 系列 第 19 篇

Day 19: 擴充方法(Extension Methods)與現代模式比對(Pattern Matching)

擴充方法(Extension Methods): 允許在不修改原始類別原始碼、不使用繼承的前提下,向既有型別(包含 .NET 內建型別或第三方類別庫)動態「外...

鐵人賽 自我挑戰組 DAY 10

搜尋消費紀錄:用關鍵字快速找到花費

昨天 Day 25 完成了「依日期查詢」,現在可以輸入日期,找出當天的消費紀錄。 不過隨著記帳資料越來越多,我又想到另一個問題。 假設現在已經有很多紀錄: 20...

鐵人賽 IT Operation DAY 18

Day 18 - 設計 `Microservice` CRD:把 Kubernetes 設定收進平台合約

前一篇用 Backstage 整理了 todo-api 更新 Dev 版本的路徑:開發者填入 CI 產出的 digest,模板提出 Git 設定變更,經 rev...

鐵人賽 Claude AI DAY 18

Day 18|把大任務拆成小任務,讓 Claude Code 一步一步完成

昨天讓 Claude Code 先分析文章搜尋功能,並提出完整的實作計畫。 這時候我又想到一個問題: 如果一個功能需要修改很多檔案,AI 能不能自己把大任務拆成...

Day 18|點擊不是答案:把使用行為接回搜尋與探索的改進

今天要聊什麼? 上一篇談了搜尋、情境文章、商品照片牆與推薦,這些入口讓使用者開始搜尋與探索,接下來我們還得知道,他們能不能順利找到商品、查看資訊,再往購買走。這...

鐵人賽 Software Development DAY 29

Day 29|產品能不能自己改善?PostHog Self-driving

前面幾篇其實一直在處理同一個循環:產品先留下資料,再由工程師找出值得處理的問題、做修改,最後確認結果有沒有改善。Error Tracking 用來找到程式錯誤,...

鐵人賽 Software Development DAY 18

Day 18 森林轉二元樹

從 Day 14 開始,我們一路都在處理二元樹:怎麼建立、怎麼走訪、怎麼把空指標拿來當引線。二元樹好處理,是因為每個節點最多只有左、右兩個子節點,用兩個指標就能...

鐵人賽 AI 自動化 DAY 18

Day 18:功能二:打造「考前名詞解釋卡(Flashcard)」

一、前言 在過去兩天中,我們成功打造了考前衝刺的第一個利器——「章節核心精華摘要」工作流,並在昨天(Day 17)優化了排版,讓 AI 能自動產出工整的 Mar...

鐵人賽 AI Security DAY 18

Day 18|Structured Output:讓 AI 回答變成程式看得懂的 JSON

Day 17 透過 Prompt Engineering,已經可以讓 Gemini 以 SOC Analyst Assistant 的角色分析 Security...

鐵人賽 自我挑戰組 DAY 18

在信任 LLM 評審之前,先測試這位評審:它有多「像人」?

人工審閱是評估 AI 回覆時有用的參考基準,但它的成本很快就會失控。幾位審閱者可以仔細檢查幾十、上百段對話;要他們評一萬段,就完全是另一回事了。用另一個 LLM...

鐵人賽 AI Engineering DAY 19

這時候我在心裡想->Model Registry 跟 Harbor 到底差在哪?

第 18 天開始整理 Model Registry 之後,我又遇到一個問題。 我們不是已經有 Harbor 了嗎? Harbor 本來就可以管理 Image、版...

鐵人賽 Software Development DAY 24

Day 24:測試檔案系統操作——用假的檔案系統,不用真的寫磁碟

前言:測試下載/合併邏輯,要真的建立檔案嗎? 這個系列的下載邏輯大量操作檔案系統:建立目錄、寫入片段、檢查檔案大小、合併檔案、刪除多餘檔案。如果測試都真的去操作...

鐵人賽 Claude AI DAY 24

Day 24:案例——一次要求「證明」而不是「宣稱」,抓到了原本會漏掉的殘留

前言:一次追問「證據在哪」,翻出了原本被忽略的殘留 回到 Day 20 那個真實案例,今天完整走一次「宣告完成 → 被要求提出證據 → 證據揭露出殘留」這個過程...

鐵人賽 Software Development DAY 24

Day 24:案例——一次 AI 寫測試掩蓋掉真正 bug 的真實除錯過程

前言:進入第四部,用真實案例把前面 23 天的原則串起來 從今天開始是這個系列的第四部:實戰案例與總結。前面 23 天講了不少原則——假陽性測試、過度 mock...

鐵人賽 自我挑戰組 DAY 0

Day 18:案例——發文自動化流程裡,一個系列的設定漏掉會發生什麼事

前言 「新加一個系列,只要把文章寫好放進資料夾,自動化流程不就會自己抓到嗎?」 如果自動化流程是靠掃描資料夾清單來決定要處理哪些系列,這個假設是對的。但如果自動...

鐵人賽 IT Operation DAY 28

Day 28:如果 PHPStan 常態化跑下去,還會持續冒出什麼?

前言:常態化跑下去,還會冒出新警告嗎? Day 19 在暫存複本上第一次跑 PHPStan,抓到 7 個錯誤。今天討論一個延伸問題:如果把 PHPStan 真的...

鐵人賽 Software Development DAY 19

Day 19:把「不要過度設計」寫成可執行的架構測試

前言:「這些規則我早就跟團隊講過了,為什麼還是沒用?」 「依賴要往內指,不能反向依賴」「不要為了假設性的需求先建抽象層」——這些話,只要當過幾年 tech le...

鐵人賽 Security DAY 18

Dynamic Incident Response: A Framework for Security Teams part2

《Dynamic Incident Response: A Framework for Security Teams》是由 SANS 學院資深講師(SANS F...

鐵人賽 Security DAY 18

Dynamic Incident Response: A Framework for Security Teams

這份《Dynamic Incident Response: A Framework for Security Teams》是 SANS 的 Joshua Wri...

鐵人賽 Security DAY 18
CTF 菜鳥修練日誌 系列 第 18 篇

Day 18:【Crypto】一體兩面的異或運算:XOR 加密特性與解題

前言 在密碼學(Cryptography)與資安鑑識中,XOR(Exclusive OR,異或運算) 是最核心且無所不在的運算。從基礎的串流加密(Stream...

鐵人賽 自我挑戰組 DAY 26

【Day 26】日本行為守則:非禮勿視,非禮勿聽,非禮勿言

台灣人和日本在地緣和文化上應該是數一數二的親近,在我成長的90年代,整個大眾文化日系文化對台灣的影響可能甚至略勝於以美國為主流的西方文化。在加上被殖民過的歷史,...

鐵人賽 Vibe Coding DAY 18

Day 18 — Antigravity 實戰 (上):運用 Gemini 進行全專案程式碼分析與架構自動化

接續昨天對底層 Gemini 模型的介紹,今天我們來看看在實際的開發場景中,如何運用 Antigravity 的超長上下文能力,來完成過去極度耗時的全專案代碼分...

鐵人賽 自我挑戰組 DAY 10

依日期查詢:找出指定日期的所有消費

昨天 Day 24 幫每一筆消費加入了日期,現在記帳紀錄已經可以顯示: 2026-10-01|早餐|60 元|飲食 2026-10-01|捷運|30 元|交通...

鐵人賽 自我挑戰組 DAY 10

加入日期:讓每一筆消費知道「哪一天花的」

昨天 Day 23 完成了自動儲存功能,現在新增、修改或刪除消費後,系統都會自動更新 expenses.txt。 目前的消費紀錄看起來像: 早餐|60 元|飲...

鐵人賽 Security DAY 18

全系列 DVWA 實作通關總盤點:從漏洞原理到縱深防禦架構

經過了十多天的實作,從最基礎的暴力破解,一路挑戰了SQL注入、命令注入、跨站腳本(XSS 家族)、檔案上傳與前端JavaScript邏輯漏洞。今天作為DVWA實...

鐵人賽 自我挑戰組 DAY 10

自動儲存:新增、修改、刪除後直接保存資料

昨天 Day 22 完成了檔案讀取,現在重新開啟程式時,可以從 expenses.txt 把以前的消費紀錄讀回來。 目前已經做到: 啟動程式↓讀取 expens...

鐵人賽 自我挑戰組 DAY 22

22 裝好的技能三週沒生效,沒人發現

Day 03 寫「規則裡的空條件」時提過一個 skill 安裝的舊案,今天把完整版講清楚。這件事的可怕之處不在壞,在壞得完全沒有訊息。 裝了,而且一切正常 七月...

鐵人賽 自我挑戰組 DAY 10

File 檔案讀取:重新開啟程式也能看到以前的記帳紀錄

昨天 Day 21 第一次使用 FileWriter,成功把記帳資料保存到: expenses.txt 例如: 早餐,60,飲食午餐,150,飲食捷運,30,交...

鐵人賽 Software Development DAY 21

CLI 實作 WebSocket 即時雙向通訊

上一篇介紹了如何處理單次請求與回應的 HTTP REST API。在查詢匯率或列出資源時,CLI 發送一次 HTTP 請求、取得結果後輸出並結束執行。 但是當需...

鐵人賽 Security DAY 0

Day 17|使用 mv 移動與重新命名檔案

前言前一天學習了使用 rm 刪除檔案,今天則要學習另一個常見的 Linux 檔案操作指令 mv。mv 是 move 的縮寫,可以用來移動檔案或目錄,也可以用來重...