iT邦幫忙

技術文章

RSS

Claude Duet 的四道憑證防線,能搬回自家專案

Claude Duet 的四道憑證防線,能搬回自家專案 Claude Duet 是一個會替你登入網站、寄信、付款的 AI 代理,安全邊界要畫在哪裡?官方把它拆...

Day 12 - CRUD 實戰 (三):更新與刪除資料 (Update & Delete)

CRUD 的最後一塊拼圖就是更新 (Update) 與刪除 (Delete) 了。這兩個動作有一個共同的前提:你必須先確認「資料是否存在」,因此我們會結合昨天學...

Day 11 - CRUD 實戰 (二):從資料庫讀取資料 (Read)

成功寫入資料後,接下來我們要實作如何把資料撈出來。讀取資料通常分為兩種情境:取得「所有資料清單」以及取得「單筆指定資料」。 我們一樣透過 Depends(get...

Day 10 - CRUD 實戰 (一):將資料真實寫入資料庫 (Create)

前面幾天我們把 Pydantic 資料驗證、SQLAlchemy 資料表模型,以及最重要的資料庫依賴注入都準備好了。今天終於要進入重頭戲:CRUD 操作。首先第...

Day 17:【AI 輔助開發入門】GitHub Copilot / Gemini 整合:AI 幫你自動補全與生成程式碼

💡 前言 進入第四週 Week 4:AI 輔助開發與進階除錯,我們要來探索近年來徹底顛覆軟體工程界的神兵利器——AI 程式碼輔助工具。 過去寫程式遇到卡關時,我...

Day 16:【GitHub 協作流程】Pull Request 機制的開立與 Code Review 流程

💡 前言 昨天我們學會在本地端透過 Git Branch 建立獨立沙盒環境,並順利化解了合併衝突。然而,在真實的團隊開發中,程式碼不能隨便就直接合併回主幹(ma...

Day 15:【分支與合併】Git Branch 分支管理與解決 Merge Conflict 衝突

💡 前言 在團隊協同開發或進行大型功能重構時,如果所有人都在同一個主幹(main 或 master)上直接修改程式碼,一旦程式寫到一半崩潰或還沒完成,就會導致整...

Day 30:Wazuh 30 天實戰總整理——從環境建置到資安監控

一、30 天學習歷程回顧 經過 30 天的學習,我們從認識 Wazuh 的基本架構開始,逐步了解 Agent 部署、日誌監控、規則與解碼器、檔案完整性監控、漏洞...

Ep30|小檔案很多,怎麼讓 Spark 少跑幾趟?聊聊 Spark 的讀檔分工

Ep25 看過小檔案帶來的麻煩:資料總量不大,Spark 卻忙著啟動一堆短 task。如果這些檔案暫時不能重寫,有沒有辦法讓一個 task 多讀幾個,少付一點啟...

Day 12:資料驗證——處理空白欄位與不合理的輸入

一、前言 在前幾天的學習中,我已經完成健康紀錄的資料結構設計,並學習使用 Python、List、Dictionary、Pandas、CSV 與 SQLite...

Day 11:CSV 與 SQLite——學習儲存與讀取健康資料

一、前言 在前幾天的自主學習中,我學習了 Python 的基本資料型態、List 與 Dictionary,並進一步使用 Pandas 將多筆健康紀錄整理成 D...

Day 10:Pandas 入門——將健康紀錄整理成資料表

一、前言 在前幾天的自主學習中,我逐步學習了 Python 的基本資料型態、變數,以及 List 與 Dictionary 的使用方式,並成功建立可以儲存多筆健...

Day 12|把表單資料寫進 SQLite

今天把 Day 11 的暫時版本改成真正新增資料。步驟 1:替換 add_media() 函式在 app.py 找到原本的 add_media(),將整個函式替...

Day 11|建立新增收藏表單

今天先做一個可以輸入作品資訊的表單。表單會包含作品名稱、類型、年份、分類、狀態、評分、心得。步驟 1:在 app.py 加入 request 和 redirec...

Day 10|讓網站直接讀取 SQLite

Day 6 的網站還是從 sample_media 讀取資料。今天要正式把它改成從資料庫查詢,這樣後續新增作品才會自動出現在頁面。步驟 1:修改 app.py將...

Pingora 學習筆記:效能評估

1. 前言 使用新的工具時,總會想拿來跟舊的東西比較一下,尤其是效能。雖然新的工具不見得主打效能,但心裡還是會希望它的表現不要太差。 最近想使用 Pingora...

Agent Skill 不是提示詞收藏:先定義路由、證據與失敗出口

「幫我看 Python session 的錯誤,順便提出怎麼改。」這句話交給 IDE 裡的 agent,如果它把「看」理解成「執行修復」,回覆寫得再像資深工程師...

Day 09 - 橋起溝通的橋樑:資料庫依賴注入 (Dependency)

資料庫連線設定好了,資料表也定義好了。那麼,當前端發出一條 API 請求時,我們該怎麼把資料庫交給 API 使用呢? FastAPI 提供了一個非常強大的核心功...

Day 08 - 將物件轉為資料表:SQLAlchemy 模型設計

設定好資料庫的連線引擎後,今天我們要來定義資料庫裡面的「資料表」長什麼樣子。 在專案目錄下,我們新增一個 models.py 的檔案。我們要建立一個商品(Ite...

Day 07 - 讓資料永久保存:認識 SQLAlchemy 與資料庫建置

前幾天的 API 我們用的都是寫死在程式碼裡的清單來模擬資料庫,只要伺服器一重開,新增的資料就會人間蒸發。為了解決這個問題,從今天開始我們要正式導入資料庫。 在...

Day 14:【Git 忽略設定】`.gitignore` 檔案設定:排除 node_modules、環境變數與敏感檔案

💡 前言 昨天我們學會了如何在 VS Code 內進行基本的 Git 提交與推送。然而,在將專案推送到 GitHub 之前,你有沒有想過:像動輒幾百 MB 的...

Day 13:【Git 版本控制入門】內建 Git 圖形介面操作與基本版控流程

💡 前言 進入第三週 Week 3:Git 版本控制與團隊協同,我們要來談談所有工程師都必須掌握的核心技能——Git 版本控制。 過去在沒有版控工具的年代,我們...

Day 12:【重構與多重編輯】Rename Symbol、F2 批次重構與光標進階技巧

💡 前言 在軟體開發過程中,隨著需求變更與程式碼擴充,我們經常需要為變數、函式、類別甚至檔案重新命名。 過去如果手動用「尋找與取代」,常常會誤傷其他無關的同名變...

Day 9|新增第一筆電影與遊戲資料

今天要讓資料庫真的存放作品,而不是只有空表格。步驟 1:建立 seed.py這個檔案負責放入一開始的示範資料,方便後續開發與測試。from database i...

Day 8|建立 SQLite 資料庫

前面幾天的收藏資料都寫在 sample_media 裡。這有一個問題:每次新增作品都得修改 Python 程式碼,而且重新啟動後,程式中手動修改的內容也不方便管...

Day 7|測試手機版並改善空白畫面

Day 6 已加入響應式網格,今天要實際驗證並改善使用體驗。步驟 1:使用瀏覽器開發者工具 開啟網站。 按 F12。 點選裝置工具列,或按 Ctrl + Sh...

Day30:繪製專案的PQC遷移路徑圖

一、PQC專案遷移4大關鍵階段: 1.階段一:盤點與識別(Discovery & CBOM) 核心目標:建立專案中的密碼資產清單(CBOM)重點動作:1...

Day 29:Wazuh 安全監控報告:整理警報與提出改善建議

一、什麼是安全監控報告? 在前一天的文章中,我們介紹了如何使用 Wazuh 進行安全事件調查。當管理者完成事件分析後,還需要將監控結果整理成報告,才能了解系統的...

Day 28:Wazuh 安全事件調查實作:從警報發現到事件分析

一、什麼是安全事件調查? 在前一天的文章中,我們介紹了 Wazuh Dashboard 的視覺化功能。當管理者發現異常警報時,下一步就是進行安全事件調查(Sec...

Day 27:Wazuh 安全監控儀表板(Dashboard)分析與視覺化

一、Wazuh Dashboard 的功能 在前幾天的文章中,我們已經介紹 Wazuh 的檔案完整性監控(FIM)、漏洞偵測及主動回應功能。當系統產生大量安全事...