iT邦幫忙

技術文章

RSS
鐵人賽 Vibe Coding DAY 23

Day 23:外部貢獻者的 PR 品質參差不齊——AI 怎麼幫忙但不越界評判

前言:AI 一眼就能看出這個人「程度好不好」,但這句話該不該說出口? 「這個 PR 一看就是新手寫的,AI 幫忙先篩一輪,程度太差的直接退回去,維護者只看篩過的...

鐵人賽 自我挑戰組 DAY 0

Day 08:去識別化不是「發文前掃一次」,是動筆當下就要做的決定

前言 「反正寫完會跑掃描工具檢查,動筆的時候先寫,寫完再一起改不就好了?」 這個順序聽起來省事,但實際上把風險留到了最不該留的地方。草稿一旦寫進磁碟,就已經是一...

鐵人賽 IT Operation DAY 18

Day 18:沒有 PHPStan,型別錯誤靠什麼擋?答案:目前沒有

前言:這個套件有在用靜態分析工具嗎? 「這個套件寫得算工整,應該有在用靜態分析工具吧?」 沒有。翻遍整個專案,找不到 phpstan.neon、psalm.xm...

鐵人賽 Software Development DAY 9

Day 9:版本 A——用 Outside-In TDD/ATDD 寫出來的乾淨版本長怎樣

前言:「業務邏輯這麼簡單,隨便寫都差不多吧?」 看到「新聞發佈系統」這幾個字,你腦中浮現的畫面可能是:一個 Article 資料表、幾個 CRUD API,隨便...

鐵人賽 AI Engineering DAY 23

Day 23:架構決策的授權邊界——哪些決定不該讓 AI 自己拍板

前言:AI 判斷得出「這樣改比較好」,不代表它有資格決定要不要改 「AI 說這裡應該拆成兩個模組會比較好維護,那就照做啊,反正它講的技術理由也沒錯。」 這句話乍...

鐵人賽 AI 自動化 DAY 26

【Day 26】Python 自動化串接:寫一個簡單腳本讀取 CSV 並打 API

前言昨天我們理解了 API 的概念。今天要動手做一件實際的事:寫一段簡單的 Python 腳本,示範讀取一份 CSV 資料、組裝成 prompt、呼叫 API、...

鐵人賽 AI 自動化 DAY 9

Day 9:傳輸協定 stdio vs Streamable HTTP,有狀態與無狀態

昨天把 MCP 的 JSON-RPC 訊息拆開來看,知道 initialize、tools/call 這些訊息實際長什麼樣。 但還有一個問題: 這些 JSON...

鐵人賽 Claude AI DAY 8

[Day 8] 幫 Web App 做一個真正能看的首頁

前一天把 app.py 拆開來看之後,現在至少知道 Flask 首頁是怎麼跑起來的。但如果這真的是一個任務管理工具,現在看起來還太空了。所以今天先不碰資料庫,也...

鐵人賽 Software Development DAY 12

Day 12|用屬性面板調整座標與文字樣式

系列:一張投影片背後的工程:從零打造網頁簡報編輯器 對應程式版本:Git tag v0.1.0 版本說明:本文記錄第一版的單選屬性面板;後續多選功能會把相同的...

鐵人賽 AI Engineering DAY 8

Day8. Retriever 檢索機制

使用者提出問題後,這段文字同樣需要先經過向量化,透過與索引階段相同的 Embedding 模型轉換為向量,才能與向量資料庫中的內容進行比較。檢索(Retriev...

鐵人賽 Claude AI DAY 20

Day 20|文獻回顧段落草稿:它寫的每一句都對,合起來卻什麼都沒說

系列:研究生自救指南:30 天用 Claude Code 打造我的論文工具箱|進度:第四週「寫作與整合」第 1 篇 新人第一次交班,S 和 B 講得很完整:幾歲...

鐵人賽 Build on Google AI DAY 22

Day 23|案例二:一句話安排會議

今天要完成什麼 Meeting Coordinator 將自然語言、Calendar 查詢、多輪選擇與核准串起來。目標不是讓 AI 擅自塞一場會議,而是縮短來...

鐵人賽 Security DAY 8
從桃子園灘頭到CySA+ 系列 第 8 篇

Day08|不要拿到什麼就想著丟沙箱

有一題問,手上有一個來路不明的執行檔,第一步應該做什麼。 我想說丟沙箱跑起來才知道這個執行檔會做什麼,反正沙箱有隔離。 那題正解是先做靜態分析。 靜態分析就是不...

鐵人賽 Build on Google AI DAY 8

Day 8:第一個 agent(下)tool 的 docstring 就是對外描述

ADK 的 tool 就是普通 Python 函式,丟進 tools=[...] 就好。沒有裝飾器,沒有 JSON schema 檔,沒有註冊步驟。 def g...

鐵人賽 Software Development DAY 8

Day 08|Garbage in, Garbage out:AI 為什麼總在幻覺沒有的事情?

先記住:AI 需要事實、限制與未知,不是更多形容詞。需要深入時:再整理來源優先順序。 它寫得很完整,卻沒有一條 API 是真的 你輸入「幫我做會員優惠券功能...

鐵人賽 Security DAY 8

08|資料從 Bit 到 File

1. Bit:最基本的資料單位 電腦最基本的資料單位是 Bit(位元)。 一個 Bit 只有兩種狀態: 0 或 1 2. Byte:8 個 Bits 8 個...

鐵人賽 Software Development DAY 8
Android 工具箱開發 系列 第 8 篇

Day 8 把 Shizuku 接進專案

昨天 App 終於跑起來了 今天先完成一個很樸實的功能:確認 Shizuku 到底有沒有活著 不用急著刪 App,先確認工具人有來上班 加入 Manifest...

鐵人賽 AI Security DAY 21
把 AI 接進 SOC 系列 第 21 篇

【Day 21】六階段事件回應

昨天做完第二次小結,交代了接下來要轉進 AI 主線。今天想先把「呈現與回應」這條線收個尾:事件回應的六個階段大致長怎樣,以及同一筆事件,寫給不同的人看,會長成完...

鐵人賽 自我挑戰組 DAY 9

【Day 09】【Tool 1 實作】BMI 與 BMR 數學計算邏輯:JS 算術運算子與 toFixed() 數值格式化

本篇文章目錄 前言:從數據驗證到核心演算 核心公式與 JS 算術運算子 實戰程式碼:Mifflin-St Jeor 公式與 TDEE 邏輯撰寫 數值格式化:為...

鐵人賽 Software Development DAY 22

第 22 章:跨裝置 UI 與控制

前面幾章已經讓遊戲能玩、能存檔、比較安全,也知道怎麼觀察效能。現在要處理一個很實際的問題:玩家不一定用你的螢幕、你的鍵盤、你的滑鼠玩。 Roblox 的玩家可能...

鐵人賽 Build on Google AI DAY 9

Day 09 | 少年 Token 的奇幻漂流(下):深入 Self-Attention

1. Q & K & V! 在 Self-Attention 的運算裡,Q、K、V 並不是什麼神秘的特殊物件,它們純粹就是同一個輸入向量,分別乘上三張不同的權重...

資料模型:一張 documents 表背後的取捨

documents 表只有 13 個欄位,但其中幾個是踩過雷才長出來的,還有一個是為了補洞而存在。 第一條原則:正文不進資料庫 CREATE TABLE IF...

鐵人賽 Claude AI DAY 8

Day 8 讓它來拷問我的規格:/grill-me 四輪、24 題,問到 frontier 清空

昨天讓 Plan Mode 對著一句需求提了七條假設、問了一題,然後說「沒有了」。今天換一個專門做這件事的工具,這次把規格直接交給它拷問 —— 看它是問得更狠,...

鐵人賽 ChatGPT & Codex DAY 8

Day 8|流水號從三碼改四碼,為什麼不能只改欄位?

前言/情境導入 每個接到「把編號從三碼改成四碼」需求的人,大概都曾經以為:這個半小時可以做完。 這次收到的需求也只有一句: 「把流水號從三碼改成四碼。」...

鐵人賽 Modern Web DAY 22

第 22 章:營隊招生系統——梯次、名額、候補與家長報名

本章目標 這一章要做的不是一張「看起來可以報名」的表單,而是一個真的能協助台灣小型營隊處理招生的 MVP。完成後,你會有: 手機優先的課程與梯次頁面。 家長與...

鐵人賽 AI Engineering DAY 3

第一個健康功能!

Day 7|第一個健康功能!用 Java 做 BMI 計算器 昨天的 Day 6,我們學會了使用 @RequestParam 接收使用者從網址傳進來的資料。 例...

鐵人賽 AI Engineering DAY 8

Day 08 |「Python 作業」四個字,AI 真的看得懂嗎?

前言 現在的tasks資料表其實已經有很多資料欄位了,所以今天要做的事讓這些欄位有 「明確規則」。例如: 欄位 規則 title 任務名稱 d...

鐵人賽 AI Engineering DAY 3

讓 Spring Boot 接收使用者輸入

Day 6|讓 Spring Boot 接收使用者輸入 昨天的 Day 5,我們成功建立了第一個 REST API。 只要在瀏覽器輸入: http://loca...

鐵人賽 AI Engineering DAY 8

Day 8:直播即時翻譯架構設計

一、前言 經過 Week 1 的工具箱基礎建設,本週進入核心功能直播即時翻譯。 想要達成的目標: 低延遲需求:直播翻譯必須邊聽邊出字,不能等 1 小時直...

鐵人賽 Software Development DAY 8

Day 08: ApplicationContext —— 容器啟動的核心樞紐與流程解析

ApplicationContext(後面簡稱 context)是 Spring 裡面的 IoC 容器。有時候在網路上看到「上下文、Spring 上下文、应用上...