TechSummary 2025-09-05
· 閱讀時間約 15 分鐘
🚀 如何使用 Playwright MCP 和 GitHub Copilot 偵錯 Web 應用程式
- 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 開放敘利亞開發者更廣泛的存取權限
- 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 衡量開發者生產力
- 現代軟體開發團隊面臨巨大壓力,需在不斷增長的系統複雜性中更快地交付高品質程式碼,而 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/
- 應用程式中的信息搜索很少是簡單的精確字符串匹配,用戶通常只記得文本片段,例如只輸入品牌或型號的一部分來搜尋產品。
- 這種部分搜索功能在現代系統中至關重要,它驅動著電商中的產品發現、金融系統中的快速記錄查找,並塑造了用戶與數據互動的方式。
- 為滿足這一需求,資料庫功能已超越嚴格的相等性判斷,提供了判斷文本是否包含、開始於或結束於給定片段的查詢能力。
- 文章旨在探討如何在不同的資料庫環境中簡化這種字符串搜索,提升用戶體驗和數據檢索的效率,使其能夠處理更模糊和非精確的查詢。