iT邦幫忙

技術文章

RSS

不為了敏捷而敏捷,不為了AI而AI

當時有個新創公司的CTO,我問過他,你們的敏捷到底是怎麼跑起來的? 除了他,我們找過很多敏捷教練,教我們怎麼導入Sprint開發。該有的會議一個都沒少,Spri...

鐵人賽 自我挑戰組 DAY 5

分析系統各管什麼

主機 B 上有五個會「看」流量的東西:nftables、WAF、Suricata、CrowdSec、Vector。它們看的層次不同、判斷方式不同、能做的反應也不...

鐵人賽 AI 自動化 DAY 5

Day 05|Hermes Agent Desktop 基本操作,及設定、切換 Agent 靈魂

前幾篇,我們完成了 Hermes Agent 的安裝與基本認識。 今天開始進入實際使用,首先我們先來認識 Hermes Desktop 的操作介面,接著設定 S...

鐵人賽 AI 自動化 DAY 5

Day 5 : 真正卡住工作的常常不是工具,而是資訊找不到

文章的內容脈絡 前四天一路拆下來,已經從一件看起來很普通的工作裡,看見流程、變化、判斷,也開始意識到人與 AI 各自都有看不見的地方。 到了這裡就會開始思考一...

鐵人賽 自我挑戰組 DAY 5

我是團隊新人,而且完全看不懂這張 QA 票據在講什麼

一個測試案例之所以真正有用,不是因為它存在於測試管理系統中,或是包含一串步驟。更重要的問題是:一個案例需要具備什麼,才稱得上「可執行」? 一個有力的答案是:另一...

鐵人賽 Modern Web DAY 5

【 Day 04 】兩個元件要同一份遠端資料,這份資料是誰的?|遠端世界(一)

前幾天談的是臨摹的理由,以及 React 對 Hook 的約束。今天讓我們進入六個設計問題的第一關:遠端資料的複雜度 —— 這份資料是誰的? 遠端世界 ✍️ ·...

鐵人賽 自我挑戰組 DAY 5

switch 多重判斷:替消費建立分類

前一天學習了 if / else 條件判斷,讓記帳程式可以根據消費金額顯示不同的提醒。今天要繼續增加一個新功能:消費分類選擇。之前每次記帳時,都要自己輸入「飲食...

鐵人賽 AI 自動化 DAY 5

Day 5|認識 n8n:把想法真的變成自動化 Workflow

昨天我們把 AI 自動化拆成「觸發 → 處理 → 輸出」,也設計了一個簡單的「AI 課堂筆記整理流程」。 但問題來了:流程想好了,要用什麼工具把它真的做出來?...

鐵人賽 Security DAY 9

Day 9|第一次僭位

【故事】 門開了之後,O1 才知道自己搞錯了一件事。 他一直以為門是終點。你把門叩開,你就進去了,事情就結束了。 但進到屋裡,跟擁有這間屋子,是兩件完全不同的事...

鐵人賽 AI 自動化 DAY 2

打造不崩潰的 AI 助教:Gemini API 自動備援與結構化輸出實作

一、 前言與痛點在 Day 4 我們成功讓系統自動讀取 PDF 講義並進行解析。但在實際部署時,經常會遇到兩大挑戰: 1.API 穩定度問題:模型伺服器偶爾會遇...

鐵人賽 AI Engineering DAY 5

MCP Server 裡到底有什麼?Tools、Resources、Prompts

前幾篇我們先了解了 MCP 是什麼,也知道了 MCP 裡面的三個角色:Host、Client、Server,那麼 Server 建立好之後,裡面到底可以放什麼?...

鐵人賽 Software Development DAY 5

Day 5|JSON 是什麼?認識 API 常見的資料格式

**一、前言 在前幾天的學習中,了解到Client可以透過HTTP向Server發送Request,Server處理後再透過Response回傳資料。 而在實際...

鐵人賽 Security DAY 5

Day 5|Slither 的運作流程拆解

上一篇用 Slither 掃了 FlippazOne,找到沒有加 onlyOwner 的 ownerWithdrawAllTo。這篇來看 Slither 在報出...

鐵人賽 Vibe Coding DAY 5

Day 5|先想清楚怎麼用,再決定畫面怎麼做

前四天,我從選定分錢工具、整理需求,一路做到連接 GitHub 與補上 README。專案開始有了版本紀錄,也有可以繼續開發的基礎。今天先不急著增加程式,而是回...

鐵人賽 Software Development DAY 17
用python做一個X11 WM 系列 第 17 篇

Day 17|優先用WM_DELETE_WINDOW關閉視窗;把聚焦視窗放在最上層

from Xlib import display,X,XK,xobject,Xcursorfont from Xlib.protocol import even...

鐵人賽 Vibe Coding DAY 13

Plan-first 不是拖時間:先看它準備改什麼

「幫我把登入功能修好。」如果直接讓 AI 動手,它可能一次改五個檔案、重構整個驗證流程,甚至順便換掉你沒打算碰的套件。 Day 10 說動手前先讓 AI 把不清...

鐵人賽 Claude AI DAY 13

Agent 的記憶該記什麼?短期、長期與不該留下的內容

Day 09 說過,context 是有限的資源。記憶要決定的,就是哪些東西有資格一直佔著位置——而 Agent 的預設答案往往是「全部」。 可以把記憶想成一張...

鐵人賽 AI Security DAY 13

AI 回傳什麼,程式就執行什麼?Improper Output Handling

AI 說了一句話,為什麼最後可能變成一次攻擊? 問題往往不在模型,而在誰接手了模型的輸出。 把 AI 想成一名翻譯員。他交出來的是文字,沒問題。有問題的是後面那...

鐵人賽 Security DAY 5

Day 05:sudo 不是漏洞:真正危險的是「你被允許執行什麼」

Lab:FEI-L01-SUDO 背景知識 sudo 的設計目的 sudo(superuser do)誕生於 1980 年,目的是讓系統管理員委派特定...

鐵人賽 AI Security DAY 5

我把被改回去的那五版全找回來了:從寫檔紀錄重建版本鏈

昨天結尾我留了一題:檔案被改壞、又被改回去,現在看起來完全正常,中間那一版還查不查得到?話不多說,老樣子,先上圖 : 今天我去查了。答案跟我原本想的相反。 查得...

鐵人賽 Kubernetes DAY 5

Day 5|防禦執行:Admission Control + RBAC 最小權限

ATT&CK TA0002 的防禦面——用 Kyverno 和 RBAC 從源頭擋住惡意執行。 防禦總覽 攻擊 防禦措施 層級 S0...

鐵人賽 JavaScript DAY 6

day6|ES Module:現代 JavaScript 專案的邊界

當單一檔案開始變長,通常會把題目與判分邏輯拆成不同檔案。先看看以下的範例: // question.js const question = { prompt:...

鐵人賽 AI Security DAY 6

LLM的多層的防禦體系(Defense-in-Depth)

LLM的安全訓練主要是透過多層的防禦體系(Defense-in-Depth) 大型語言模型的安全防護,採用的是多層防禦體系(Defense-in-Depth),...

鐵人賽 Security DAY 21

Day 20 | 主動引爆未知缺陷:以濫用案例反向設計

Introduction 在傳統的功能性軟體品保測試(Functional QA Testing)中,團隊絕大部分的心力都花在「正向測試(Positive Te...

鐵人賽 ChatGPT & Codex DAY 5

Day 5|設計 UI:我的保健小幫手長什麼樣?

我的保健小幫手看起來是什麼樣子?因為之前都只有文字和架構圖,所以今天我想先把畫面做出來。 一、首頁 首頁是使用者打開保健小幫手後第一個看到的地方,所以我希望不...

鐵人賽 IT Operation DAY 5

Day 5:網段不能亂填,因為地端只有一張路由表

建 Azure 的網路資源時,會有好幾個欄位要你填 IP 網段。虛擬網路一個、MySQL 的子網一個、閘道的子網一個。 這些欄位看起來就是填數字,隨便給一個沒被...

鐵人賽 Claude AI DAY 8

Day 8:當所有工具都說「沒問題」,AI 卻抓不到真兇

Day 8:當所有工具都說「沒問題」,AI 卻抓不到真兇 從今天起進入生產環境實戰。前七天談的是心法,接下來這幾篇,是我跟 AI 協作時一手記錄下來的事故現場—...

鐵人賽 JavaScript DAY 5

第五課:【元件設計】手風琴式 FAQ 折疊選單

前言 網站的「常見問題(FAQ)」頁面,若把所有答案一次攤開會讓頁面顯得很混亂。「手風琴折疊元件」讓使用者點擊標題時才展開對應答案,是維持介面整潔的好幫手。 核...

鐵人賽 Software Development DAY 5

Day 05|網路邊界:後端信封與 `d: Any?` 的約束,`AppResult` 的誕生 | core:network |

先從"信封"兩字講起, ┌───────────────────────────┐│ Backend Envelope │...

鐵人賽 自我挑戰組 DAY 5

【Day5】學習取得用戶

取得用戶是什麼意思? 取得用戶輸入,是指在該行程式碼中執行,不會顯示任何東西,但你可以在上面打字輸入,如果有變數限制,還可以限制使用者打的內容 基本用法: S...