iT邦幫忙

技術文章

RSS
鐵人賽 Claude AI DAY 8

Day 8:我想改進它,結果搞砸了

Day 7 得到基線:簡單規則 F1=0.789。想加規則提升 Recall。結果 F1 跌到 0.468(-40.7%)。 今天分析失敗原因,學什麼時候該擴展...

鐵人賽 Software Development DAY 13

Day 13 | 為什麼 ViewModel 不該直接碰資料庫?Repository 的角色是什麼?

前言:Repository 在資料層扮演什麼角色,為什麼 ViewModel 不直接碰 DAO? 前一篇介紹了 ClassroomScheduleDao.kt...

Day 8. 石頭裂開以前的每次敲擊,都是為這一刻提供力量

昨天發了關於陳鏞基引退的心情,今天還想再分享我一直很欣賞的統一獅球員:邱智呈。 「2022 當年的統一獅,有三人站穩外野:林安可、陳傑憲、蘇智傑,強人環伺之下,...

鐵人賽 JavaScript DAY 8

Day 8 JSX 不是 HTML!揭開 Babel 將 JSX 轉譯為 React.createElement 的面紗

在前面幾天,我們探討了記憶體、閉包、高階函數、非同步與 Event Loop。今天我們要來拆解 React 開發者每天都在寫、卻最容易被誤解的語法——JSX。...

鐵人賽 AI Engineering DAY 8

File System MCP:讓 MCP Server 讀取我的檔案

上一篇我們做了 Calculator MCP,讓 MCP Server 可以幫我們進行簡單的數學運算,這次來做一個更實際的例子,讓 MCP Server 讀取我...

鐵人賽 AI 自動化 DAY 8

Day 8|n8n 的資料到底怎麼傳?認識 JSON 與 Node 之間的資料流

昨天使用了 Schedule Trigger,讓 Workflow 可以按照設定的時間自動執行。 不過在前幾天操作 n8n 的時候,我一直看到畫面中出現很多像這...

鐵人賽 自我挑戰組 DAY 4
Medical Data Cleaner 系列 第 8 篇

使用PHP檢查資料格式與類型

有些資料雖然不是空白,但內容本身可能不符合欄位應有的格式。例如年齡應該是數字,卻出現abc;性別應該統一使用固定格式,卻出現不同的寫法。因此今天讓PHP根據不同...

鐵人賽 自我挑戰組 DAY 8

Day 08:拒絕胡言亂語:使用 Structured Output 讓 AI 乖乖輸出標準 JSON

進入第二週,我們要從單純的「人類對話」跨入「系統工程對接」。在開發後端系統或自動化流程時,工程師最怕的不是 AI 回答錯誤,而是 AI 輸出格式不穩定——一下多...

鐵人賽 Claude AI DAY 8

Day 8 Deployment

先講為什麼需要它。Pod 是會死的,Node 重開、記憶體不夠被砍、程式自己 crash,Pod 就沒了 沒人管的話服務就一直掛著。Deployment 的工...

鐵人賽 AI 自動化 DAY 8

Day 08 |打通 Wazuh 與 FastAPI:從 Docker 網路除錯到實現即時資安告警推播

大家好!歡迎來到鐵人賽第八天。 昨天,我們探討了 Windows 環境下的 Python 虛擬環境(Virtual Environment)設定,成功解決套件依...

鐵人賽 Software Development DAY 8

Day 8|庫存(下):那次真的超賣,兇手是一次 migration

昨天說這個系統真的超賣過一次。所有人的直覺都會猜是鎖沒上好——不是。公式從頭到尾沒破,破的是公式裡一個詞的定義。 那次真的超賣:兇手不是併發,是一次 migra...

鐵人賽 Modern Web DAY 8

Day 8:程式化生成無邊際的地宮!50x50 網格與隨機地貌演算法

在昨天的開發中,如果我們依賴手動輸入一個個數字來定義地圖,一旦地圖範圍稍微擴大,輸入數千個數據就會耗費大量時間與人力。更重要的是,在 3D 空間中,過小的手刻地...

鐵人賽 AI Security DAY 8

Day 8|重試不是保險:Agent 如何把一個錯誤變成事故

Day 4 做完 timeout、退避重試和降級後,我本來以為這件事差不多收工了:SOP 查不到,最多重試幾次,然後不要開工單。 但那只限制了「同一個請求」。如...

鐵人賽 Vibe Coding DAY 8

Day 8 — 後端三層式架構實戰:Controller、Service 與 Repository 的 AI 協作

接續昨天的架構規劃,今天我們直接透過實戰程式碼,來看 Spring Boot 的三層式架構(Controller, Service, Repository)如何...

鐵人賽 Modern Web DAY 14

Day 14|Polymorphism 與 Abstract:相同 Type,不同行為

Day 13 我們學到 Inheritance。 現在知道: Animal animal = new Dog(); 是成立的。 因為: Dog is an A...

鐵人賽 AI Engineering DAY 9

NPU 很快,為什麼整條 Pipeline 還是會慢?

前面兩天我們處理了 Model、QNN、HTP。 到這裡看起來好像事情差不多完成了。 但實際跑起來,我們很快發現: NPU 快,不代表整個 AI Applica...

鐵人賽 JavaScript DAY 9

【Day 9】心裡沒我就別想叫我!從互為配偶看懂 Java NullPointerException

今天我們要直面NullPointerException(簡稱 NPE,空指標例外)用白話文來說:NPE 就是你手裡拿著一張根本沒寫地址的空白紙條,卻硬要外送員順...

鐵人賽 AI 自動化 DAY 8

DAY 8|建立第一個 Slash Command

第一週先使用 !hello 和 !ask 了解 Discord Bot 如何接收文字指令。 文字指令的優點是程式簡單,但使用者必須記得指令名稱與輸入格式。如果少...

鐵人賽 AI 自動化 DAY 8

Day 08|架構思維升級:什麼是 Hierarchical Multi-Agent 與 Supervisor 架構

第二週開始。在動手做專員之前,先把架構想清楚:多個 Agent 要用什麼方式組織起來? 以下有四種常見的拓樸。它們最大的差別,在於「由誰決定下一步」。 流水線...

鐵人賽 AI 自動化 DAY 8

D8 WebUI 建立技能

今天先講最麻煩的。之所以先講,是因為它把整個流程攤開給你看,並且可以看到Openclaw為了多人協作,做了甚麼樣的,後面兩種為什麼快,你才會有感覺。 打開 We...

鐵人賽 Claude AI DAY 11

Day 11:一個空字串,怎麼讓資料庫全表鎖死

Day 11:一個空字串,怎麼讓資料庫全表鎖死 今天這個事故的主角,是一個橫跨資料庫兩端、殊途同歸的 bug:兩種完全不同的成因,撞出同一種災難。 而其中一條路...

鐵人賽 Kubernetes DAY 8

DAY 8

Pod 的位址可能隨著重建而改變,如果每個呼叫端都直接記住這些位址,維護工作會十分混亂。Service 為一組後端提供較穩定的存取方式,讓使用者或其他程式不必追...

鐵人賽 Build on Google AI DAY 8

Day 08|家屬不再瞎擔心!整合 LINE Messaging API 實現遠端用藥關懷推播

✏️【本日實作紀錄:LINE Messaging API 串接與家屬關懷推播】 今天進入遠端關懷與推播通知模組,完成項目包含: 申請與設定 LINE Dev...

鐵人賽 自我挑戰組 DAY 1

【Day 03】部署與綁定 Wazuh Agent 端節點

今日學習與實作重點: Agent 作用理解:了解 Wazuh Agent 在系統安全架構中的角色,包含安全日誌收集、系統漏洞掃描與檔案完整性監控(FIM)。 一...

鐵人賽 Software Development DAY 19

Day 19|改完真的比較好嗎?Experiment

在開發功能時,即便是再資深的設計師,也會遇到無法斷言不同設計中哪個表現最好的問題。當我們認為某項改動能改善使用者的結果時,除了靠猜以外,讓真實使用者與統計說話是...

鐵人賽 Kubernetes DAY 9
不囉唆圖解 Kubernetes 系列 第 9 篇

Day 9:K8s Pod 破了誰來補? 會數泡泡 Pod 的貓頭鷹 ReplicaSet

Day 9:K8s Pod 破了誰來補? 會數泡泡 Pod 的貓頭鷹 ReplicaSet 痛點 泡泡(Pod)刪掉就是沒了,沒有人幫你補。 正式環境不能這樣,...

鐵人賽 JavaScript DAY 8

【第八課】視窗控制:頁面滾動進度條(window.scrollY 與百分比計算)

前言 在 Medium、新聞部落格或長篇文件網站中,我們常看到頁面最頂端有一條「隨著滾動顯示閱讀進度」的進度條。這個設計能讓讀者清晰掌握剩餘文章長度,提升閱讀體...

鐵人賽 自我挑戰組 DAY 29

Day 29|只寫著「上傳失敗」,忘了告訴我們下一步該怎麼做的錯誤訊息

填寫完資料準備上傳身分驗證的照片,畫面跳出一行字:「檔案上傳失敗,請稍後再試」。我們通常不確定是檔案太大、格式不對,還是單純網路訊號不好。順手重新整理頁面再試一...