跳至主要内容

TechSummary 2025-09-05

· 閱讀時間約 15 分鐘
Gemini
AI Assistant

🚀 如何使用 Playwright MCP 和 GitHub Copilot 偵錯 Web 應用程式

Source: https://github.blog/ai-and-ml/github-copilot/how-to-debug-a-web-app-with-playwright-mcp-and-github-copilot/

  • Playwright Model Context Protocol (MCP) server 結合 GitHub Copilot 可自動化 Web 應用程式的錯誤重現、驗證與修復過程,解決許多專案缺乏完善測試的痛點。
  • Playwright 是一個用於 Web 應用程式的端到端測試框架,而 MCP 則是由 Anthropic 開發的開放協議,旨在將工具暴露給 AI 代理。Playwright MCP Server 允許 Copilot 建立並執行這些自動化腳本。
  • 在 VS Code 中配置 Playwright MCP server 需在 .vscode/mcp.json 中添加以下配置,使其可供所有專案使用:
    {
    "servers": {
    "playwright": {
    "command": "npx",
    "args": [
    "@playwright/mcp@latest"
    ]
    }
    }
    }
  • GitHub Copilot agent mode 能夠根據錯誤報告的重現步驟,利用 Playwright MCP server 自動執行測試、確認問題、追蹤並解決錯誤,甚至在提出修復方案後,返回 Playwright 驗證其有效性。
  • 透過 Playwright,Copilot 能「看到」其更改對網站的影響,這對於處理更複雜的錯誤尤其寶貴,顯著提升了偵錯效率。

🌍 GitHub 開放敘利亞開發者更廣泛的存取權限

Source: https://github.blog/company/github-is-enabling-broader-access-for-developers-in-syria-following-new-government-trade-rules/

  • GitHub 宣布,隨著針對敘利亞的制裁和出口管制放鬆,GitHub.com 的私人和付費功能將再次廣泛開放給敘利亞的開發者,包括阿勒坡、霍姆斯、大馬士革以及全國範圍內的開發人員。
  • GitHub 強調其核心理念:「所有開發者都應自由使用 GitHub,無論他們身在何處」,並歡迎敘利亞開發者積極參與全球開發者社群。
  • 這些變更目前正在進行中,預計將在未來一週內推送到帳戶,包括恢復正常的帳戶功能和 GitHub Copilot 的存取權限。
  • 開放源碼專案和公共儲存庫的協作服務在過去一直保持可用,新的政策將進一步擴大開發者在 GitHub 上的活動範圍。

🔒 Docker 收購 MCP Defender 以應對 AI Agent 未來的安全挑戰

Source: https://www.docker.com/blog/docker-acquires-mcp-defender-ai-agent-security/

  • Docker, Inc. 宣布收購 MCP Defender,一家專注於保護 AI 應用程式安全的公司,以應對 AI agent 快速發展所帶來的新安全挑戰。
  • 當前的 AI 安全格局類似於容器技術採用的早期階段:快速創新與廣泛熱情並存,但同時也存在巨大的風險不確定性。AI agent 已開始執行關鍵任務,並直接與敏感數據和關鍵基礎設施互動,使安全風險達到前所未有的高度。
  • 未來 AI 基礎設施的安全將需要從單純的預防措施轉向運行時監控、實時威脅檢測和持續安全評估,更強調主動監控和智能自動化。
  • 對於開發 AI agent 和 MCP 工具的公司而言,安全必須從最早的設計階段就嵌入其中,確保策略透明執行,並與開發者現有的日常工作流程無縫集成。
  • Docker 的願景是建立「默認安全」的 AI 基礎設施,確保每一次交互都自動驗證,每一個威脅都主動檢測,每一項策略都透明執行。

📊 使用 Amazon Q Developer 和 Jellyfish 衡量開發者生產力

Source: https://aws.amazon.com/blogs/devops/measuring-developer-productivity-with-amazon-q-developer-and-jellyfish/

  • 現代軟體開發團隊面臨巨大壓力,需在不斷增長的系統複雜性中更快地交付高品質程式碼,而 Amazon Q Developer 旨在減少開發者的「瑣事」(undifferentiated work),讓他們專注於更有價值的任務。
  • 透過將 Amazon Q Developer 與 Jellyfish 整合,組織可以測量 AI 對開發者生產力的實際影響,並基於數據做出明智的 AI 投資決策。
  • Amazon Q Developer 會自動捕獲詳細的使用數據和提示日誌,並將其傳送到指定的 Amazon S3 儲存桶。Jellyfish 則透過預定義的 IAM 角色安全地存取這些數據,並將其與其他開發工具的數據結合進行分析。
  • Jellyfish 的 AI 影響儀表板提供了多項關鍵指標:
    • 工程師採用率:按「強力使用者 (Power Users)」、「偶爾使用者 (Casual Users)」、「閒置使用者 (Idle Users)」和「新使用者 (New Users)」等群組視覺化採用情況。
    • 使用模式和趨勢:展示每日活躍使用數據、採用趨勢以及不同程式語言(例如 React 或 SQL)的 AI 建議接受率。
    • 影響測量:具體指標包括從首次提交到拉取請求開放的時間縮短了 24%(從 2 天 23 小時降至 2 天 6 小時),以及平均每月每個用戶的拉取請求增加了 142%(從 2.6 個增至 6.3 個)。
    • 投資分析:評估工具利用率對「增長 (Growth)」、「維持營運 (KTLO)」和「支援 (Support)」等領域的影響。
  • 實施此整合需要 Amazon Q Developer Pro 訂閱、Jellyfish 資源存取權限以及在 AWS S3 和 IAM 中的相應權限,包括更新 S3 儲存桶策略以允許 Jellyfish 存取日誌,範例如下:
    {
    "Version": "2012-10-17",
    "Statement": [
    {
    "Effect": "Allow",
    "Principal": {
    "AWS": "arn:aws:iam::0XXXXXXXX5:role/<AccessRoleName>"
    },
    "Action": ["s3:GetObject", "s3:ListBucket"],
    "Resource": [
    "arn:aws:s3:::<your-amazon-q-log-bucket>",
    "arn:aws:s3:::<your-amazon-q-log-bucket>/*"
    ]
    }
    ]
    }

🔌 在 PhpStorm 中連接 MCP 伺服器至 Junie

Source: https://blog.jetbrains.com/phpstorm/2025/09/connect-mcp-servers-to-junie-in-phpstorm/

  • Model Context Protocol (MCP) 是 Anthropic 推出的一項開放標準,旨在為 AI 代理提供一個一致的方式,將 AI 模型與特定工具和數據源連接,可視為 AI 的「USB-C 端口」。
  • JetBrains 的 AI 編程代理 Junie 支援連接多種官方或社群構建的 MCP 伺服器,開發者也可以使用 MCP SDK(包括最新的 MCP PHP SDK)自行構建。
  • MCP PHP SDK 是由 PHP Foundation、Anthropic 的 MCP 團隊和 Symfony 共同開發的官方 SDK,提供了一個框架無關且生產就緒的參考實現,可供 PHP 生態系統依賴。
  • 在 PhpStorm 中配置 Junie 連接 MCP 伺服器:
    • 首先確保 MCP 伺服器可訪問並已啟動,具體啟動方式請參考其文件。
    • 在 PhpStorm 中,透過「⇧Shift 兩次」打開搜索窗口,搜尋「MCP Settings」,然後在該頁面添加或編輯 ~/.junie/mcp.json 文件中的 JSON 配置。
    • 若要進行專案級別配置,可在專案根目錄的 .junie/mcp 文件夾中手動添加 mcp.json 文件。
  • 連接後,Junie 可以透過配置好的 MCP 伺服器執行多種操作,例如 Laravel Boost MCP 伺服器能讓 Junie 獲取 Artisan 命令、路由、配置檔案、讀取日誌、查詢資料庫或搜尋版本控制文件等實用工具。

☕ Java Annotated Monthly – 2025 年 9 月

Source: https://blog.jetbrains.com/idea/2025/09/java-annotated-monthly-september-2025/

  • 本月 Java Annotated Monthly 匯集了 Java、Kotlin、AI 和技術新聞,並特別介紹了 Java 25 的發布、IntelliJ IDEA 的最新更新,以及以有趣方式學習現代 Java 的方法。
  • Java 25 新功能: 預計於 2025 年 9 月 16 日發布,將帶來 Compact Source Files、Instance Main Methods 和 Module Import Declarations 等語言改進,以簡化 Java 入門;Flexible Constructor Bodies 允許在調用 super() 之前執行語句;Scoped Values 提升了線程本地數據管理的便捷性、安全性和可擴展性;此外還有性能和性能洞察方面的改進。
  • IntelliJ IDEA 更新: IntelliJ IDEA 2025.2 已引入 Java 25 的支持,2025.2.1 進一步增加了額外支持,並展示了 Virtual Threads Debugger、Spring Debugger 和 Spring Modulith 支持、Maven 4 支持等多項新功能。
  • 學習與升級: Java 25 將是一個 LTS (長期支持) 版本。文章提供了從 Java 21 升級到 Java 25 的指南,以及由 José Paumard 介紹 Java 21 以來所有新語言功能的概述影片。
  • 精選內容: 包括多篇 Java 新聞、教程文章(如 How to Build an MCP Server With Java SDK)、Kotlin 專區(涵蓋 Koog 和 GPT-5 等主題)、AI 相關更新(如 JetBrains AI Assistant 中的 Next Edit Suggestions)以及其他語言、框架和庫的洞察。
  • 活動與社群: 文章還列舉了 2025 年 9 月至 10 月期間的各大技術會議和活動,鼓勵開發者參與交流。

☁️ 使用 Crossplane 為 AWS 網路構建平台抽象層

Source: https://dzone.com/articles/build-platform-abstraction-for-aws-networks-using-crossplane/

  • Crossplane 是一個開源的多雲控制平面,它幫助平台工程師為開發者構建抽象層,負責處理與雲服務供應商 API 的互動,從而簡化雲基礎設施管理。
  • 文章展示了開發者如何僅需透過一個單一的 YAML 請求到 Kubernetes API,即可創建 AWS 網路資源,例如 VPC (Virtual Private Cloud) 和 Subnet (子網)。
  • 這種平台抽象方式極大地降低了開發者直接操作複雜雲服務 API 的門檻,使得基礎設施的部署和管理更加高效和一致。
  • 透過將雲資源抽象為 Kubernetes 資源,開發者能夠利用熟悉的 Kubernetes 工作流來管理雲基礎設施,實現基礎設施即程式碼 (IaC) 的優勢。

⚙️ 如何使用 Jenkins 和 Docker Compose 在 Selenium Grid 4 上執行 Selenium 測試

Source: https://dzone.com/articles/selenium-grid-testing-jenkins-docker-compose/

  • 將 Selenium WebDriver、Selenium Grid 4、Jenkins 和 Docker Compose 結合,可為 Web 自動化測試提供一個強大且高效的解決方案。
  • 這種組合能夠建立一個按需的本地測試基礎設施,使得團隊可以根據需要啟動測試環境,並大規模執行 Web 自動化測試。
  • 在需要對不同瀏覽器進行多個 Web 自動化測試以驗證 Web 應用程式功能和穩定性的場景中,結合 Selenium Grid 4 和 Docker Compose 可以透過單一命令快速設置多個瀏覽器環境。
  • 透過 Jenkins Jobs 整合,可以順利執行所需的測試,實現自動化測試流程,提高測試效率和覆蓋率。

🧠 敏捷實踐者的 Meta Prompting

Source: https://dzone.com/articles/meta-prompting-for-agile-practitioners/

  • 當我們向 ChatGPT 請求敏捷回顧會議 (Retrospective) 的想法時,往往會得到通用且重複的模板,這並非 AI 的問題,而是提示詞設計的不足。
  • 文章介紹了「Meta Prompting」的概念,其核心是透過更深層次和更具上下文意識的提示詞設計,來引導 AI 產生更具體、創新且符合實際需求的敏捷實踐建議。
  • Meta Prompting 意味著不僅僅是請求答案,還要提供 AI 關於背景、特定角色、期望成果和潛在約束的元信息,從而讓 AI 能夠更精準地理解需求並生成更有效的解決方案。
  • 透過優化提示詞,敏捷團隊可以充分利用 AI 工具,獲得真正有價值的洞察,避免重複乏味的通用建議。

🔍 簡化跨資料庫的字符串搜索

Source: https://dzone.com/articles/making-string-search-easier-across-databases/

  • 應用程式中的信息搜索很少是簡單的精確字符串匹配,用戶通常只記得文本片段,例如只輸入品牌或型號的一部分來搜尋產品。
  • 這種部分搜索功能在現代系統中至關重要,它驅動著電商中的產品發現、金融系統中的快速記錄查找,並塑造了用戶與數據互動的方式。
  • 為滿足這一需求,資料庫功能已超越嚴格的相等性判斷,提供了判斷文本是否包含、開始於或結束於給定片段的查詢能力。
  • 文章旨在探討如何在不同的資料庫環境中簡化這種字符串搜索,提升用戶體驗和數據檢索的效率,使其能夠處理更模糊和非精確的查詢。

🎯 衡量重要事項:轉型指標的戰略視角

Source: https://dzone.com/articles/measuring-agile-ai-transformations-metrics/

  • 數位轉型常因缺乏清晰度而失敗,有效的指標如同導航工具,能協調團隊、驗證進度並揭示真實影響。
  • 當指標被誤用時,它們會變成無意義的噪音,導致虛榮心作祟和混亂。
  • 麥肯錫在 2021 年指出,只有 16% 的數位轉型能長期改善績效並維持收益,這強調了正確衡量轉型成果的重要性。
  • 文章提出,在敏捷和 AI 轉型中,必須從戰略角度審視和選擇指標,確保這些指標能真正反映業務成果和轉型目標,而非僅僅是表面化的數據,從而推動實質性改進和長期價值。

📚 數據治理在數據策略中的作用:第四部分

Source: https://dzone.com/articles/role-of-data-governance-in-data-strategy-part-4/

  • 本系列文章的第四部分將焦點轉向數據治理的一個關鍵支柱:數據保留 (Data Retention),這遠非簡單地存儲數據以備後用。
  • 正確的數據保留策略能夠確保合規性、提高成本效益並增強數據安全性。
  • 反之,若數據保留處理不當,可能導致一系列不必要的風險,包括法律風險、隱私洩露、存儲成本飆升以及擴大的網絡安全攻擊面。
  • 文章強調,有效的數據保留需要企業在數據的可視性、控制和問責制之間取得平衡,以符合法規要求並優化資源利用。

🔄 Apache Phoenix Stream 的變更數據捕獲 (Change Data Capture)

Source: https://dzone.com/articles/change-data-capture-for-apache-phoenix-stream/

  • Apache Phoenix 是 Apache HBase 上的一個開源 SQL 層,它允許使用標準 SQL 查詢在 PB 級數據上執行閃電般的 OLTP (線上事務處理) 操作,結合了 NoSQL 的可擴展性與 SQL 的熟悉度與強大功能。
  • 透過 PHOENIX-7001,Apache Phoenix 提供了變更數據捕獲 (Change Data Capture, CDC) 功能。
  • Phoenix 中的 CDC 設計巧妙地利用了寫優化的 Uncovered Index 以及 Max Lookback 功能。
  • 這些變更以時間排序的行級修改事件形式被捕獲,使得追蹤和處理數據變更的過程更加高效和精確。

🤖 使用 LangChain 和由 Ollama 驅動的本地 LLM 構建 RAG 應用程式

Source: https://dzone.com/articles/rag-app-langchain-local-llms-ollama/

  • 本地大型語言模型 (LLMs) 為開發者和組織提供了顯著優勢,包括增強的數據隱私、離線功能、對模型行為的完全控制和潛在的成本節約,使其成為實驗和生產工作負載的理想選擇。
  • Ollama 是本地 LLM 生態系統中一個成熟且優秀的選項,且大多數主流 AI/Agent 框架,如 LangChain 和 LangGraph,都已提供與這些本地模型運行器的集成。
  • 文章將指導讀者如何利用 LangChain 和由 Ollama 驅動的本地 LLM 構建一個 RAG (Retrieval-Augmented Generation,檢索增強生成) 應用程式。
  • RAG 應用程式通過從外部知識庫中檢索相關信息來增強 LLM 的生成能力,從而提高回答的準確性、相關性及減少幻覺現象。

🚀 DevOps 即平台:如何在不混亂的情況下幫助開發者更快交付

Source: https://dzone.com/articles/devops-as-a-platform-how-to-help-developers-ship-f

  • 當公司缺乏標準化的 DevOps 設置時,開發者在交付新功能時需要自行配置管道(pipeline)來建構、部署和測試程式碼,還要準備基礎設施、檢查權限、管理秘密和確保合規性,這往往會導致「DevOps 混亂」。
  • 「DevOps 即平台」的方法旨在透過提供標準化、自助服務的開發者平台,來幫助開發者更快地交付,同時避免上述混亂,讓開發者專注於核心業務邏輯的開發。
  • 平台團隊負責構建和維護這些底層工具和流程,為開發者提供一致且自動化的環境,從而提高開發效率、促進一致性,並降低操作複雜性。
  • 這種模式使開發者可以擺脫繁瑣的基礎設施管理,專注於創新,同時確保軟體交付過程的安全和高效。

📈 邁向可解釋 AI (第七部分):理論與實踐的橋樑 — SHAP:為金融決策帶來清晰度

Source: https://dzone.com/articles/explainable-ai-shap-financial-decision-making

  • 這是解釋性 AI (Explainable AI, XAI) 系列的第七部分,主要探討 SHAP (SHapley Additive exPlanations) 如何為金融領域的決策帶來清晰度和透明度。
  • 解釋性 AI 的目標是建立信任、確保 AI 系統的問責制,並使 AI 的行為與真實世界的需求保持一致。
  • SHAP 是一種廣泛使用的模型解釋技術,它基於博弈論中的 Shapley 值,能夠解釋任何機器學習模型的單一預測,量化每個特徵對模型輸出結果的貢獻。
  • 在金融決策中,例如貸款審批、風險評估或交易預測,SHAP 可以幫助專業人士和監管機構理解模型做出特定決策的原因,從而提升模型的透明度、促進監管合規性,並增強用戶對 AI 系統的信任。