iT邦幫忙

技術文章

RSS
鐵人賽 Build on Google AI DAY 25

Day 25|評論裡的工作資訊,Gemini 能整理清楚嗎?

昨天測了三種情境的店家排序,發現推薦理由可能省略限制,連 Agent 做的核對表也可能讀錯。排名有了,理由卻還要逐項回頭查。今天把焦點放到評論:工作資訊散在不同...

鐵人賽 AI 自動化 DAY 28

# Day 28|Execution Budget:AI 開始研究以前,能不能先知道自己做不做得完?

前一篇我還在追問:找到合法的 Open Access 路徑,為什麼仍可能只拿到 landing page?接著我發現一個更麻煩的問題。若取得全文失敗,系統可能要...

鐵人賽 AI Security DAY 13

Day 13|Prompt Injection Defense:強化對 Prompt Injection 的專門防禦

前言 Day 12 我已經做出第一版 Input Filtering。 當時整個流程是: User Prompt ↓ Threat Detection ↓ In...

鐵人賽 Kubernetes DAY 12

Day 12|StatefulSet

今天學 StatefulSet,說明為什麼資料庫不能用 Deployment 跑,以及 K8s 怎麼處理有狀態的服務 ! Deployment 的問題:無狀態...

鐵人賽 Software Development DAY 12

Day 12:籌碼動能大解密 — 導入成交量能與法人籌碼監控!

今天是第十二天!昨天我們成功賦予了機器人「技術面雙指標(RSI + MACD)」的戰術大腦。有了 K 線與技術指標,我們已經能看出「價格」的趨勢。但在台股市場裡...

鐵人賽 Software Development DAY 16

[Day 16] 認識GLib

GLib是用C實作的高階程式庫,目標是易用及容易開發應用程式,而GStreamer是基於GLib實作的多媒體串流框架,所以在我們深入GStreamer之前,我認...

鐵人賽 Modern Web DAY 13

DAY 13 | 功能實作(一):時間格式化與 DOM 狀態初始化

完成切版之後,接下來要進入 JavaScript 實作。 在讓計時器動起來之前,先做一些準備: 建立與載入 all.js DOM 元素選取與狀態變數初始...

鐵人賽 AI Engineering DAY 12

Day 12:把結構化 Chunk 變成向量:本機 Embedding 與 SQLite 向量儲存

到昨天為止,系統已經能精確查詢符號定義與模組引用關係。但這些查詢都有一個共同前提:使用者必須事先知道精準的名稱(例如 rag_common 或 COLLECTI...

鐵人賽 Security DAY 0

Day 11|使用絕對路徑尋找隱藏的 Flag

前言前一天學習了如何透過 cat /flag直接讀取位於根目錄的 Flag。不過在真實環境中,目標檔案通常不會剛好放在容易找到的位置。今天的 Challenge...

鐵人賽 Vibe Coding DAY 12
不會 Code,也要 Vibe :((( 系列 第 12 篇

昨天只說成功,沒說中間差點全沒了

昨天最後成功把主畫面和番茄鐘接起來了,不過昨天的文章裡,有一段我沒有講。 它其實沒有改得那麼順利。 沒有一次就改成功 功能最後雖然有成功,但中間還是遇到了問題。...

鐵人賽 AI Engineering DAY 13

Day 13|把一隻 bot 從 compose 搬到 k3s:Deployment + Secret + ConfigMap 最小集

昨天叢集起來了,今天把一隻真的 bot 搬進去。 我拿 OpenAB 艦隊裡最單純的一隻當例子:它是一個長駐的 bot 容器,需要幾個 token(機密)、幾...

鐵人賽 AI 自動化 DAY 12

Day 12|讓 Workflow 學會判斷:認識 IF Node 與條件分流

昨天成功把 AI 處理完成的結果自動寫進 Google Sheets。 目前的流程已經可以做到: 外部資料 → Webhook → AI 處理 → Googl...

鐵人賽 Claude AI DAY 12

Day 12:性能優化與批量處理

Day 11 我們接上本地的 Ollama + Mistral 7B,在 Day 7-10 共用的資料集上把 F1 從 Day 10 的 0.388 拉到 0....

鐵人賽 AI Engineering DAY 16
地端 AI 建築學 系列 第 16 篇

16 案例三:RAG(2)意圖分析設計

為什麼要有意圖分析? 在地端 AI / RAG 系統裡,使用者丟進來的第一句話,往往決定了後面整條處理鏈要走哪條路。如果每一句話都直接丟給大型 LLM 去判斷...

鐵人賽 自我挑戰組 DAY 14

JavaScript:叫你動一下,你是聽不懂人話是不是

昨天終於成功讓按鈕會變色、放大,甚至還會往上跳一下。 看起來好像很厲害。 結果今天想說,那不然來讓按鈕真的做點事情好了! 例如: 按一下按鈕,畫面上的文字就跟著...

鐵人賽 自我挑戰組 DAY 12

# Day 12 - 資產清冊寫了 200 台系統,攻擊者第一個打穿的,是清冊上沒有的第 201 台

一句話摘要:企業的攻擊面從來不等於資產清冊,EASM(External Attack Surface Management)的價值,是站在攻擊者視角,去發現那些...

鐵人賽 ChatGPT & Codex DAY 12
使用ChatGPT&Codex做出APP 系列 第 12 篇

Day 12|從 0 想法到使用 ChatGPT&Codex 開發App 30 天挑戰 : 音樂收藏頁面連結 Spotify

終於修改到算是功能的最後一步了,通常也是我發文前的最後一步,在挑選音樂這個過程也會花費很多很多時間。會思考貼文的氛圍跟音樂適不適合,看歌詞有沒有什麼含意,因為不...

鐵人賽 Security DAY 26

Day 26|技術文件要留十年,而掃描報告卻存在某個人的筆電裡

先講兩條會決定你怎麼收尾的規定。 第 13(13) 條:技術文件與 EU 符合性聲明要供市場監督機關取用至少十年,或整個支援期間,孰長。 第 31 條:技術文件...

鐵人賽 Software Development DAY 12

Day 12|Swagger API 文件

上一篇我們用 Flask-RESTX 建立了第一個簡單的 API。app.py from flask import Flask from flask_restx...

鐵人賽 Security DAY 12

Day 13. Static Secrets vs Dynamic Secrets

前幾天中我們提到了Secrect的基本概念及如何用Vault管理Credential,而今天我們要談談Static Secrets vs Dynamic Sec...

鐵人賽 Build on Google AI DAY 12

Day 12 -【快取省成本】實戰 Context Caching 上下文快取:長文本與影音重複分析現省 75%,打造可持續獲利的 AI SaaS!

在前面的章節中,我們陸續解鎖了 Gemini 1.5 令人驚嘆的殺手級功能:吞下數十頁 PDF(Day 08)、直接辨識長篇影音與時間軸(Day 09)、嚴格約...

鐵人賽 Software Development DAY 18

Day 18|ROPC 為何被禁止:從 OAuth 2.0 安全最佳實務看 OAuth 2.1

前言 上一篇介紹的 Implicit Grant,會讓 Access Token 直接經過瀏覽器前端;今天要看的 **Resource Owner Passwo...

鐵人賽 Vibe Coding DAY 19

【DAY19】Unity 2D 敘事遊戲開發:架構大躍進——跨場景常駐與 PersistentCanvas 的建立

一、前言:在前幾天,我們依序完成了底層的 SavePointManager、動態存檔清單生成,以及流暢的 Toggle 開關與生命週期防呆。但一些遊戲開發的基礎...

鐵人賽 Security DAY 0

Day 10|使用絕對路徑讀取檔案:cat /flag

前言前一天學習了 Linux 中常用的檔案讀取指令 cat並透過 cat flag成功讀取 Home Directory 中的 Flag。今天的 Challen...

鐵人賽 AI Engineering DAY 26

Day 26 - Session 用量與預算管理:AI Credits 與 Session Limits

Session 能夠恢復之後,一段 Agent 工作就可以跨越應用程式與 Runtime 的生命週期持續進行。隨著同一個 Session 累積更多互動,一則使用...

鐵人賽 Modern Web DAY 17

Day 17|查資料、加購物車、刪帳號不能同權限:WebMCP Tools 風險分級

本篇重點 如果所有 Tool 都只有「可以呼叫/不可以呼叫」兩種狀態,安全設計很快會失控。search_posts、add_to_cart、delete_acc...

鐵人賽 AI 自動化 DAY 12

DAY 12|建立 PM 與 Research Agent

昨天完成 BaseAgent 後,專案已經有一套共用的模型呼叫流程。今天加入 PM Agent 與 Research Agent,並要求兩個角色回傳固定 JSO...

鐵人賽 自我挑戰組 DAY 12

別把手伸進別人的口袋 - 迪米特法則與 Tell, Don't Ask (Law of Demeter & Tell, Don't Ask)

簡單介紹 想像一個場景:你去便利商店買咖啡,結帳時店員卻直接伸手進你的皮包拿錢找零。這顯然非常失禮—正確的方式是你遞出錢,讓店員處理,而不是讓他直接翻你的口袋。...

鐵人賽 JavaScript DAY 12

Day12 別人寫好的工具,要怎麼放進我的專案?

一、如何放Library進來? 上一篇認識了 Library,也知道接下來會用到 GSAP 和 Three.js。但新的問題來了: 我要怎麼把它們放進自己的專案...

鐵人賽 Security DAY 12

# [Day 12] Wireshark 顯示過濾器(Display Filter)實戰:在茫茫封包海中精準撈針

筆者目前正在日本大阪旅行,但身為資訊鐵人,就算人在國外也絕對不能斷更!帶著筆電跨國連線實作反而有一個意外的彩蛋:因為跨海網路路由的關係,從日本發送封包到其他國家...