跳至主要内容

TechSummary 2025-07-31

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

Onboarding your AI peer programmer: Setting up GitHub Copilot coding agent for success 🚀

Source: https://github.blog/ai-and-ml/github-copilot/onboarding-your-ai-peer-programmer-setting-up-github-copilot-coding-agent-for-success/

  • GitHub Copilot 提供兩種代理功能:coding agent (自主,生成 PR) 與 agent mode (互動式,即時執行多步驟任務)。
  • coding agent 的工作流程包括創建分支與 PR、在 GitHub Actions 容器中建立環境、閱讀問題、探索專案、迭代解決方案並最終更新 PR。
  • 可透過自訂 GitHub Actions workflow 檔案(例如 .github/workflows/copilot-setup-steps.yml)來配置 Copilot 的執行環境,確保其能存取所需的工具和服務。
    name: "Copilot Setup Steps"

    on:
    workflow_dispatch:
    push:
    paths:
    - .github/workflows/copilot-setup-steps.yml
    pull_request:
    paths:
    - .github/workflows/copilot-setup-steps.yml

    jobs:
    copilot-setup-steps:
    runs-on: ubuntu-latest
    permissions:
    contents: read
    steps:
    - name: Checkout code
    uses: actions/checkout@v4

    - name: Set up Python
    uses: actions/setup-python@v4
    with:
    python-version: "3.13"
    cache: "pip"

    - name: Install Python dependencies
    run: pip install -r requirements.txt

    - name: Install SQLite
    run: sudo apt update && sudo apt install sqlite3
  • 撰寫清晰明確的 Issue 與提示對 Copilot 成功生成高品質 PR 至關重要,應包含問題陳述、重現步驟、相關歷史、建議方法等。
  • 透過優化專案結構(README、代碼註釋、良好命名)和自訂指令文件(copilot-instructions.md<file-name>.instructions.md)來提供 Copilot 上下文資訊和組織規範。
    # Classic arcade

    This project hosts a classic arcade, themed after the 1980s 8-bit games.

    ## Standard player flow

    1. Player opens app and sees list of games.
    2. Player selects game to play.
    3. Player sees a splash screen with the message "Insert quarter".
    4. Player presses space to start game and plays game
    6. After game ends, the "Game over" message is displayed.
    7. The player score is checked against high scores. If the score is in top 10, user is prompted for their initials (3 initials).
    8. High scores are displayed, and an option to return to the main menu to start over again.

    ## Frameworks

    - Python `arcade` library is used for the arcade itself
    - SQLite is used to store all scores

    ## Coding guidelines

    - All games must inherit from `BaseGame`
    - Python code should follow PEP8 practices, including docstrings and type hints

    ## Project structure

    - `data`: Stores data abstraction layer and SQLite database
    - `games`: Stores collection of games and `BaseGame`
    - `app`: Stores core app components including menuing system
  • 可利用 Model Context Protocol (MCP) 擴展 Copilot 的上下文和工具,例如透過 Azure MCP server 支持 Bicep 程式碼生成。
    {
    "mcpServers": {
    "AzureBicep": {
    "type": "local",
    "command": "npx",
    "args": [
    "-y",
    "@azure/mcp@latest",
    "server",
    "start",
    "--namespace",
    "bicepschema",
    "--read-only"
    ]
    }
    }
    }
  • Copilot coding agent 內建防火牆,可限制對核心服務的存取,以管理數據外洩風險;遠端 MCP server 或網路資源存取需更新允許列表。

GenAI vs. Agentic AI: What Developers Need to Know 💡

Source: https://www.docker.com/blog/genai-vs-agentic-ai/

  • 生成式 AI (GenAI) 側重於內容生成,透過大型語言模型 (LLMs) 基於提示或輸入創建新內容,本質是預測引擎,常見應用於程式碼生成、內容創作、聊天機器人。
  • Agentic AI (AI 代理) 則能規劃、推理並採取多步驟行動以達成目標,具有主動性和決策能力,適用於開放式或定義模糊的任務,如自動化客戶服務或 IT 運營。
  • AI 代理通常由模型 (解釋目標)、工具 (外部功能,如 MCP) 和編排層 (協調邏輯,如 LangChain、CrewAI) 組成,其架構與微服務相似,因此被稱為「新的微服務」。
  • Docker 提供一系列工具支援 AI 代理開發,包括 Docker Model Runner (本地模型運行)、Docker Offload (雲端 GPU 資源利用)、Docker MCP Toolkit and Gateway (安全 MCP server 配置) 及 Docker Compose (編排代理組件)。
  • GenAI 與 Agentic AI 關鍵差異:
    屬性Generative AI (GenAI)Agentic AI
    定義基於提示生成內容的 AI 系統規劃、推理並採取多步驟行動以達成目標的 AI 系統
    核心行為根據輸入預測下一個輸出 (如文字、程式碼)主動、決策,可獨立運作
    開發流程選擇模型、提示/微調、整合應用邏輯分解用例、選擇模型/工具、使用框架協調代理流程
    挑戰模型選擇、行為一致性與可靠性複雜任務協調、擴大安全攻擊面
    類比加強版自動完成新的微服務

MCP Horror Stories: The Security Issues Threatening AI Infrastructure 🔒

Source: https://www.docker.com/blog/mcp-security-issues-threatening-ai-infrastructure/

  • Model Context Protocol (MCP) 是 Anthropic 於 2024 年 11 月推出的標準化介面,使 AI 代理能與外部工具、數據庫和服務交互,目標是實現「一次編寫,處處連接」。
  • MCP 採用客戶端-伺服器架構:AI 助手 (客戶端) 將工具描述發送給 LLM,由 LLM 決定呼叫哪些工具,然後由 MCP host 執行這些呼叫。
  • 然而,MCP 生態系統存在嚴重的安全漏洞,涵蓋六大攻擊向量:OAuth 發現漏洞、指令注入和程式碼執行、無限制網路訪問、檔案系統暴露、工具投毒攻擊、秘密暴露和憑證竊取。
  • Docker MCP Toolkit 旨在提供企業級保護,通過以下措施解決 MCP 安全問題:
    • 安全優先架構:MCP Gateway 作為安全通訊層,攔截所有工具呼叫,應用安全策略(網路過濾、秘密掃描、資源限制)。
    • 安全分發:Docker MCP Catalog 提供經加密簽名的不可變映象,消除供應鏈攻擊。
    • 容器隔離:每個 MCP server 都在隔離容器中運行,防止主機系統受損。
    • 網路控制:內建允許列表確保 MCP server 僅與經批准的目的地通訊。
    • 秘密管理:透過 Docker Desktop 的安全秘密儲存取代易受攻擊的環境變數。
  • Docker MCP Toolkit 透過架構設計系統性消除漏洞,例如透過原生 OAuth 整合解決 OAuth 漏洞,透過容器隔離解決指令注入,透過零信任網路阻擋網路攻擊等。
    # Maximum security configuration with Docker MCP Gateway
    docker mcp gateway run \
    --verify-signatures \ # 密碼學映象驗證
    --block-network \ # 零信任網路
    --block-secrets \ # 秘密掃描保護
    --cpus 1 \ # 資源限制
    --memory 1Gb \ # 記憶體限制
    --log-calls \ # 全面日誌記錄
    --verbose # 完整審計追蹤
  • 與傳統 MCP 部署相比,Docker MCP Toolkit 在執行模型、OAuth 處理、秘密管理、網路訪問、資源控制、供應鏈和監控方面提供更強大的安全保障。

Overcome development disarray with Amazon Q Developer CLI custom agents ⚙️

Source: https://aws.amazon.com/blogs/devops/overcome-development-disarray-with-amazon-q-developer-cli-custom-agents/

  • Amazon Q Developer CLI 新增了自訂代理功能,允許開發者透過結合特定工具、提示、上下文和工具權限,無縫管理不同開發上下文。
  • 這解決了在多個專案中,AI 可能對同一術語產生歧義(例如 "table" 對於前端可能是 HTML 表格,對於後端是 SQL 表格)的問題。
  • 前端代理設定範例 (~/.aws/amazonq/agents/front-end.json):專為 React 和 Figma 優化,配置了 Figma Dev Mode MCP Server,並允許 fs_read, fs_write, @Figma 等工具。
    {
    "description": "Optimized for front-end web development using React and Figma",
    "mcpServers": {
    "Figma": {
    "command": "npx",
    "args": [
    "mcp-remote",
    "http://127.0.0.1:3845/sse"
    ]
    }
    },
    "tools": ["*"],
    "allowedTools": [
    "fs_read",
    "fs_write",
    "report_issues",
    "@Figma"
    ],
    "resources": [
    "file://README.md",
    "file://~/.aws/amazonq/react-preferences.md"
    ],
    "hooks": {
    "agentSpawn": [
    {
    "command": "git status"
    }
    ]
    }
    }
  • 後端代理設定範例 (~/.aws/amazonq/agents/back-end.json):專為 Python 和 PostgreSQL 優化,配置了 Amazon Aurora PostgreSQL MCP Server (唯讀連接),對工具權限更為嚴格,僅允許 fs_read, report_issues, @PostgreSQL/get_table_schema
    {
    "description": "Optimized for back-end development with Python and PostgreSQL",
    "mcpServers": {
    "PostgreSQL": {
    "command": "uvx",
    "args": [
    "awslabs.postgres-mcp-server@latest",
    "--resource_arn", "arn:aws:rds:us-east-1:xxxxxxxxxxxx:cluster:xxxxxx",
    "--secret_arn", "arn:aws:secretsmanager:us-east-1:xxxxxxxxxxxx:secret:rds!cluster-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx-xxxxxx",
    "--database", "dev",
    "--region", "us-east-1",
    "--readonly", "True"
    ]
    }
    }
    }
  • 使用 q chat --agent [agent-name] 命令即可輕鬆切換不同的開發上下文,Amazon Q Developer 會自動配置相應的代理。
  • 自訂代理允許開發者為不同任務(如開發、測試、資料科學)量身定制 Amazon Q Developer 的配置,提升開發效率並減少認知負擔。

AI-Driven Development Life Cycle: Reimagining Software Engineering 🔄

Source: https://aws.amazon.com/blogs/devops/ai-driven-development-life-cycle/

  • AI-Driven Development Lifecycle (AI-DLC) 是一種 AI 為中心的變革性軟體開發方法論,旨在將 AI 深度融入軟體開發生命週期 (SDLC) 的每個環節,以解決傳統方法中 AI 作為輔助工具的效率瓶頸。
  • AI-DLC 強調兩個核心維度:AI 驅動執行與人工監督(AI 制定計畫、尋求澄清,但關鍵決策由人類作出)和 動態團隊協作(AI 處理常規任務,團隊專注於即時問題解決和創新)。
  • AI-DLC 的核心運作模式是 AI 創建計畫、提出澄清問題、獲得人類驗證後才實施解決方案,這種模式在每個 SDLC 活動中快速重複。
  • 軟體開發在 AI-DLC 中分為三個階段:
    • Inception (構想):AI 將業務意圖轉化為詳細需求和故事,透過「Mob Elaboration」(團隊驗證 AI 的問題和建議)。
    • Construction (構建):AI 基於構想階段的上下文提出邏輯架構、領域模型、程式碼解決方案和測試,透過「Mob Construction」(團隊即時澄清技術和架構選擇)。
    • Operations (營運):AI 應用累積的上下文管理基礎設施即程式碼和部署,並由團隊監督。
  • AI-DLC 引入了新的術語和慣例,例如「sprints」被「bolts」(更短、更密集的週期)取代,強調速度和持續交付。
  • 該方法論的益處包括:顯著提升開發速度、釋放時間促進創新、透過持續澄清確保品質、實現更快的市場回應能力,並優化開發者體驗(減少認知負擔,提升價值感)。

Join us at Azure Dev Summit 2025 🗓️

Source: https://devblogs.microsoft.com/blog/join-us-at-azure-dev-summit-2025

  • 首屆 Azure Dev Summit 將於 2025 年 10 月 13 日至 16 日在葡萄牙里斯本舉行,旨在匯集開發者、架構師和技術領袖,深入探討基於 Azure、.NET 和 Microsoft AI 的技術創新。
  • 會議聚焦於 AI 驅動的應用程式和代理的成功,以及開發者如何設計安全、可擴展且知識淵博的創新服務。
  • 提供早鳥票優惠,使用代碼 MSADSCT200 可享 200 美元折扣,優惠截止日期為 7 月 31 日。
  • 大會將提供超過 60 場技術議程,涵蓋 .NET、Azure AI 深度解析、實作坊及社群主導的主題演講。
  • 參會者將有機會與 Microsoft 工程師和產品領導者交流,探索 AI 代理、DevOps 和雲原生開發的最新進展,並與來自歐洲及其他地區的 2000 多名同行建立聯繫。
  • 陣容堅強的演講嘉賓包括 Scott Hanselman、Scott Hunter、Amanda Silver、Jennifer Marsman、Seth Juarez、Marlene Mhangami、Harald Kirschner、John Papa、Steve Sanderson、David Fowler 和 Mads Torgersen 等業界專家。
  • 期待與會者在 Azure Dev Summit 2025 共同提升技術,探索未來。

Should You Use AI to Learn to Code? 🧑‍🎓

Source: https://blog.jetbrains.com/education/2025/07/31/should-you-use-ai-to-learn/

  • 關於學習程式碼是否應使用 AI,JetBrains 建議初學者應盡量少使用 AI 生成程式碼,因為過度依賴會阻礙對基本概念的理解。
  • 初學者過度依賴 AI 的負面影響:難以理解更難的概念、接受更多不良建議、加速學習但不利於知識保留、對作品缺乏歸屬感、編程體驗變得「扁平」,並可能導致自信心不足或過度自信。
  • AI 可以作為學習輔助工具,例如生成抽象概念的比喻、回答問題、澄清術語或為個人專案提供建議,但需警惕 AI 取代獨立思考的情況。
  • 非 AI 材料和導師:雖然不便,但更有利於知識保留和準確性,能讓學習者完全投入學習過程,並提供 AI 無法比擬的個人視角與激勵。
  • AI 導師:方便但實踐中難以恰當使用,易於讓學習者跳過思考環節;若能自律慢下腳步,仍能有效利用。
  • AI 助手:非常適合完成任務,但對於學習效果不佳;使用時需要有扎實的基礎,並建議花時間學習最佳實踐,例如何時使用程式碼補全。
  • 總結而言,雖然 AI 工具極其便利,但初學者必須謹慎使用。最佳方法是在 AI 輔助與傳統學習方法之間取得平衡,培養計算思維,並明智地選擇 AI 工具的使用時機。

What’s New with Mellum: Expanded Language Support and New Ways to Use it Locally 🌐

Source: https://blog.jetbrains.com/ai/2025/07/whats-new-with-mellum-expanded-language-support-and-new-ways-to-use-it-locally/

  • JetBrains 的程式碼補全模型 Mellum 推出更新,擴大了語言支援並提供多種本地使用方式。
  • Mellum-all 現已在 Hugging Face 上發布:這是一個單一的開源模型,經過訓練支持所有主要程式語言,包括 JavaScript、Go、Rust 和 Java 等。
  • 免費的 VS Code 擴展:JetBrains Marketplace 上提供新的 VS Code 擴展,透過 Mellum-all 和 Ollama 在本地機器上運行,提供所有主要語言的程式碼補全,無需額外設置或帳戶。
  • 用於將 Mellum 支援添加到工具中的 SDK:Mellum 已被打包成輕量級 SDK,包含程式碼補全的核心邏輯,可嵌入到自訂編輯器、CLI 或實驗性工具中。
  • JetBrains AI Assistant:一鍵支援本地 Mellum:對於 IntelliJ-based IDE (如 PyCharm、GoLand、WebStorm) 用戶,JetBrains AI Assistant 新增設置,可透過勾選一個選項,輕鬆連接本地 Mellum 實例 (通過 Ollama 或 LM Studio),實現完全在本地機器上運行的程式碼補全。
  • 此版本旨在提供開發者更多本地、私有和更廣泛的程式碼補全選項,特別是針對 VS Code 等編輯器,以應對許多程式碼補全工具僅限雲端或封閉平台的問題。

Why AI Agents as Your Team Should Be Your Next Learning Move 🤖

Source: https://blog.jetbrains.com/education/2025/07/31/ai-agents-free-course/

  • 理解 AI 代理 (AI agents) 的運作方式對於當代軟體開發團隊至關重要,而不僅僅是使用 AI 工具。
  • JetBrains 與 Nebius 共同創建了免費課程「AI Agents as Your Team」,提供實踐性的學習路徑,幫助開發者深入了解 AI 代理的內部機制。
  • 課程內容涵蓋:代理如何構建(LLM 驅動代理的架構)、最大化生產力(利用 AI 代理技術實現潛在 10 倍增長策略)、導航風險(識別並減輕使用 AI 代理帶來的挑戰)、保持領先(應對快速發展的 AI 格局)。
  • 課程由 JetBrains(IntelliJ IDEA、PyCharm 及 Junie 開發者)和 Nebius(AI 優先雲基礎設施專家)的工程師共同開發,強調效能、信任、透明度和生產力等實際考量。
  • 課程適用於希望掌握 AI 技術趨勢的開發者、需為團隊提供 AI 指導的導師、探索代理編排/提示工程/代理 UI 的專業人士,以及計劃將 Junie 等工具整合到生產工作流程中的團隊。
  • 學習 AI 代理如何規劃、循環反饋並呈現關鍵決策,將為開發團隊帶來顯著效益,如同為團隊增添額外開發者。

Introducing TeamCity Recipes: Reusable CI/CD Building Blocks 📦

Source: https://blog.jetbrains.com/teamcity/2025/07/introducing-teamcity-recipes/

  • TeamCity 推出「Recipes」功能,允許開發者建立可重複使用、版本化和發布的自訂構建步驟,以減少 CI/CD 工作流程中的重複勞動和維護工作。
  • Recipes 可以是公共的(發布到 JetBrains Marketplace)或私人的(在特定 TeamCity 專案或組織內部共享),每個 Recipe 包含可配置參數、文檔和版本控制。
  • 新版本特性:
    • 支援公共貢獻:外部用戶現在可以向 JetBrains Marketplace 發布自己的 Recipe,促進社群驅動的可重複使用構建邏輯生態系統。
    • 重新設計的 Recipe 安裝 UI:提供更友好的安裝體驗,可查看作者詳細資訊、版本、並在安裝前預覽原始碼,確保透明度和信任。
    • 私人 Recipe 支援 YAML 格式:原先的 Meta Runners 現在可以以 YAML 格式編寫,提高了可讀性和可維護性。
    • 統一的 Recipe 管理 UI:在單一介面管理公共和私人 Recipe,可上傳、組織、查看使用情況並檢測過時或不可用的 Recipe。
  • TeamCity Recipes 強調安全性,不預設使用浮動版本(如 latest),而是要求選擇特定版本,並在有新版本可用時通知,但不會自動升級。所有公共 Recipe 的原始碼都可直接在 TeamCity UI 中查看。
  • 發布 Recipe 流程簡化:登入 JetBrains Marketplace,選擇「TeamCity Recipes」類型,上傳 Recipe 及其元資料和命名空間。

Qodana Quick-Fix Options: Smarter Automation and Cleaner Code 🧹

Source: https://blog.jetbrains.com/qodana/2025/07/quick-fix/

  • Qodana 的「Quick-Fix」功能提供自動化的程式碼改進,基於預定義的策略,旨在幫助團隊更快地修復錯誤、風格違規和程式碼異味。該功能適用於 Qodana Ultimate 和 Ultimate Plus 許可證用戶,並支持 JVM、Python、PHP、JavaScript、Go 和 .NET 分析器。
  • 提供三種修復策略:
    • None:僅報告問題,不進行任何修復。
    • Cleanup:應用安全、非侵入性的清理檢查,如移除未使用的導入或重新格式化,不改變邏輯或行為。
    • Apply:嘗試修復所有檢測到的問題,包括可能影響邏輯或行為的問題,適合徹底重構,但建議在合併前進行審查。
  • Quick-Fix 可在多種環境中運行,包括本地透過 Docker 或 Qodana CLI,或在 CI/CD 流程中透過 GitHub Actions,也可透過 qodana.yaml 配置。
    $ docker run \
    -v <source-directory>/:/data/project/ \
    -e QODANA_TOKEN="<cloud-project-token>" \
    jetbrains/qodana-<linter> \
    --apply-fixes
  • Qodana Quick-Fix 提供 CI/CD 集成的修復能力,能夠大規模運行程式碼檢查,自動應用修復,並在程式碼進入主分支前防止回歸,與 Qodana Cloud 或 TeamCity Pipelines 結合使用時,提供從檢查到修復的完整追溯性。

CodeCanvas 2025.2: Now With Cursor and Jupyter Notebook Support 🎨

Source: https://blog.jetbrains.com/codecanvas/2025/07/codecanvas-2025-2-now-with-cursor-and-jupyter-notebook-support/

  • CodeCanvas 2025.2 版本新增了對 Cursor IDE 和 Jupyter Notebook 的支援,以增強遠端開發環境的功能。
  • Cursor 支援:開發者現在可以在遠端開發環境中使用 Cursor,它基於 VS Code 並深度整合 AI 工具。CodeCanvas 始終使用最新版 Cursor,管理員只需在創建開發環境模板時從支援的 IDE 列表中選擇 Cursor 即可。
  • Jupyter Notebook 支援:Jupyter 是數據科學和機器學習領域的流行工具,CodeCanvas 2025.2 官方支援在開發環境中運行 Jupyter Notebooks,尤其適合資源密集型工作負載(目前僅支援 VS Code,需安裝擴展並使用生命週期腳本啟動伺服器)。
  • 其他改進
    • 成本控制工具:新增併發使用限制(按實例類型追蹤)、自動停用暖機和備用池(在重複失敗或長時間不活動後),以防止不必要的雲成本消耗。
    • 更好的安全性:Operator Helm chart 現在支持可配置的網路策略,預設啟用拒絕所有入站流量和允許所有出站流量的策略,且可自訂。
    • 其他功能:包括非 root 開發容器、每個命名空間和每個模板的使用指標等。

JetBrains Steps Up: Enhancing Bazel Support in CLion 🛠️

Source: https://blog.jetbrains.com/clion/2025/07/bazel-for-clion/

  • JetBrains 已正式接管 Bazel for CLion 和 Bazel for IntelliJ 插件的開發與維護工作,不再與 Google 有關,旨在解決長期問題並提升在 JetBrains IDE 中使用 Bazel 專案的體驗。
  • Bazel for CLion:將持續積極開發,重點改進穩定性、解決性能瓶頸(特別是虛擬檔案系統 VFS)和常見用戶報告問題。
  • Bazel for IntelliJ:該插件已被棄用,JetBrains 目前僅為確保與新版 IntelliJ IDEA 的相容性而進行維護,不再添加新功能;JetBrains 已為 IntelliJ IDEA、GoLand 和 PyCharm 發布了新的 Bazel 插件並積極開發。
  • Bazel for CLion 最新改進 (v2025.06.24.0.1):首批改進集中於 VFS,開始解決常見的「Refreshing files」對話框頻繁出現和遠端開發中連接中斷的問題,需要更新插件並清理緩存才能生效。
  • 未來開發重點:增強自訂工具鏈支援(sysroots, Windows 上的 Clang-CL)、持續優化 VFS 和性能問題,以及改進對虛擬包含和生成源的支援。
  • 長期願景:最終目標是在新的 JetBrains Bazel 插件中直接提供 C 和 C++ 支援,但前提是新插件的 Kotlin 和 Java 支援成熟,且能提供 CLion 用戶所期望的全面 C 和 C++ 體驗。

Bazel Plugin Release: General Availability ✨

Source: https://blog.jetbrains.com/idea/2025/07/bazel-ga-release/

  • JetBrains 開發的新 Bazel 插件已正式發布 (GA),支援 IntelliJ IDEA、PyCharm 和 GoLand,主要關注 Java、Kotlin 和 Scala,並支持 Python 和 Go 生態系統。
  • 2025.2 版本關鍵特性
    • Go 支援:在 IntelliJ IDEA (搭配 Go 插件) 和 GoLand 中引入完整的 Go 語言 IDE 體驗,包括程式碼高亮、補全、導航、運行、調試和測試覆蓋。
    • 內建 Bazel Query 工具視窗:將 Bazel 查詢直接整合到 IDE 中,支援語法補全和 UI 指導,方便探索專案依賴關係圖。
    • 顯著提升索引速度:透過 import_depthimport_ijars 設定,以及僅完全索引 .bazelproject 文件中直接引用的文件,顯著縮減索引時間和記憶體使用量。
  • 新的用戶體驗:簡化專案導入(直接打開包含 MODULE.bazelWORKSPACE 的目錄),重新設計 UI 元素(如 Bazel 工具視窗、目標 widget),以及改進 JVM 專案的目標映射,以提供更準確的高亮、補全和重構。
  • 自 2025.1 以來的改進:包括 Windows 相容性、增強的 Bazel 配置檔案支援(Starlark、MODULE.bazel、.bazelproject、.bazelversion),以及各語言生態系統的優化(JVM、Scala、Python)。
  • Google 原有的 Bazel for IntelliJ (IJwB) 插件已被棄用,JetBrains 將在 2025 年提供兼容性更新,並於 2026 年完全棄用,所有開發重心已轉移到新的插件。

Increased Subscription Pricing for IDEs, .NET Tools, dotUltimate, and the All Products Pack 💲

Source: https://blog.jetbrains.com/blog/2025/07/31/increased-subscription-pricing-for-ides-net-tools-dotultimate-and-the-all-products-pack/

  • JetBrains 宣布將於 2025 年 10 月 1 日起,提高其 IDEs、.NET Tools、dotUltimate 和 All Products Pack 的訂閱價格,以應對通脹帶來的營運成本上漲。
  • 為回饋用戶,JetBrains 提供提前預付的機會,讓新舊客戶在漲價前以現有價格鎖定多年訂閱:個人訂閱最長可續訂 3 年,商業訂閱最長可續訂 2 年。
  • 預付的訂閱到期日將從續訂日開始計算,並會依據當前訂閱的剩餘時間調整價格。

Source: https://dzone.com/articles/ai-product-recommendations-oracle-cdc-flink-mongodb

  • 文章提供了一個關於如何構建實時 AI 驅動產品推薦系統的藍圖,旨在為客戶提供智能且個性化的購物體驗。
  • 該方案利用了 Oracle CDC (Change Data Capture) 來捕獲數據庫的實時變更。
  • Apache Flink 用於進行實時數據處理和分析,以生成推薦。
  • MongoDB 用於存儲和提供產品推薦數據。

Revolutionizing the Command Line: An Introduction to Gemini CLI 🗣️

Source: https://dzone.com/articles/google-gemini-cli-ai-tool

  • Gemini CLI 是 Google 開發的一款工具,旨在將人工智慧引入命令列介面 (CLI),使開發者能夠在熟悉的終端環境中更快地構建、更智能地調試和實現更多自動化。
  • Gemini 是 Google 最新的多模態 AI 模型系列,能夠處理和生成包括文本、程式碼、圖像和文檔在內的各種輸入。
  • 旗艦模型 Gemini 1.5 Pro 支持高達 100 萬個上下文令牌,使其在深度程式碼理解、文檔摘要和涉及多種數據類型的豐富交互方面表現出色。

Choosing Between GCP Workflows, AWS Step Functions, and Temporal for Stateful Workflow Orchestration ↔️

Source: https://dzone.com/articles/choosing-between-gcp-workflows-aws-step-functions

  • 文章比較了三種有狀態工作流編排工具:GCP Workflows、AWS Step Functions (均為完全託管雲服務) 和 Temporal (開源編排引擎,可自行託管或使用託管服務)。
  • 這三者都旨在可靠地協調跨服務的多步驟、長時間運行且有狀態的任務序列。
  • 比較重點包括:開發者可用性與體驗、工作流建模方法、錯誤處理能力、可觀測性、成本與可擴展性,以及部署模型。
  • 工作流建模方法
    • GCP Workflows 使用 YAML/JSON-based DSL 定義步驟序列,步驟隱式流向下一層,類似於程式碼風格。
    • AWS Step Functions 使用 Amazon States Language (JSON-based,支持 YAML) 定義狀態機,可透過 AWS Workflow Studio 進行視覺化設計。
    • 兩者都支持條件分支和循環,但需以配置而非通用程式碼來編寫。

Building a VS Code-Like Online IDE With Next.js 15, TypeScript, Tailwind CSS, and Goose AI 💻

Source: https://dzone.com/articles/online-ide-vscode-nextjs-typescript-tailwind-goose-ai

  • 本教程旨在指導開發者使用現代 Web 技術構建一個類似 Visual Studio Code 的線上 IDE。
  • 所使用的主要技術棧包括:Next.js 15 (用於前端框架)、TypeScript (提供強類型支持)、Tailwind CSS (用於快速樣式開發) 和 Goose AI 的 API
  • 該線上 IDE 的一個關鍵特性是能夠提供實時程式碼建議,這些建議將基於用戶的輸入內容或任何內聯註釋提示自動生成。

What Developers Need to Know About IP API Privacy in Mobile Apps (2025 Update) 🛡️

Source: https://dzone.com/articles/ip-api-privacy-mobile-apps

  • 隨著 2025 年移動應用程式越來越智能化和位置感知,IP API 被廣泛用於在不依賴 GPS 的情況下確定用戶位置,從而實現電商個性化和區域合規性等功能。
  • 然隨著全球隱私法規(如 GDPR、CCPA/CPRA、印度 DPDP 法案等)不斷演變,IP 地址一旦與位置或行為數據關聯,已被廣泛認定為個人數據
  • 開發者必須警惕並謹慎處理基於 IP 的數據,因為隱私法律的發展使得處理此類數據的風險日益增加。

Amazon Q Developer: The Future of AI-Enhanced Coding Productivity 🧠

Source: https://dzone.com/articles/amazon-q-developer-ai-coding-productivity

  • Amazon Q Developer 是 Amazon 推出的一款新的 AI 驅動程式碼輔助工具,可嵌入到流行的 IDEs 中,例如 Visual Studio Code。
  • 該工具旨在作為開發者的「個人程式碼夥伴」,在需要時提供實用的編碼建議和提示。
  • Amazon Q Developer 的目標是顯著提升開發者的生產力,同時激發他們在工作中的好奇心和探索精神。

From Raw Data to Model Serving: A Blueprint for the AI/ML Lifecycle With Kubeflow 📊

Source: https://dzone.com/articles/ai-ml-lifecycle-kubeflow-model-serving-blueprint

  • 本文提供了一個從原始數據到部署生產級模型的 AI/ML 生命週期藍圖,旨在實現機器學習專案的可重現性。
  • 該藍圖利用 Kubeflow 平台,並結合 Feast 等開源工具,構建一個連貫、生產級的 MLOps 工作流。
  • 該工作流涵蓋了 ML 生命週期的所有階段,從數據準備到實時推斷,並可在本地機器上運行,也能適用於不同的專案。

Set Up OpenID Connect With Keycloak: A Step-by-Step Guide 🔑

Source: https://dzone.com/articles/setup-openid-connect-with-keycloak

  • 本文提供了一步一步的指南,教導如何使用 Keycloak 設置 OpenID Connect (OIDC) 授權碼流 (Authorization Code Flow)。
  • 目的在於幫助讀者透過實際執行流程,更好地理解 OIDC 的核心概念。
  • OpenID Connect (OIDC) 是基於 OAuth 2.0 之上的認證層,負責識別登錄應用程式的人員或系統。
  • 認證 (Authentication) 關乎身份識別,而 授權 (Authorization) 則關乎在應用程式中被授予的權限。

Vibe Coding: Conversational Software Development — Part 3: Prompt Discipline 💬

Source: https://dzone.com/articles/vibe-coding-prompt-discipline

  • 「Vibe Coding」預計將從根本上改變軟體開發方式,即開發者不再直接編寫程式碼,而是透過自然語言描述目標,由 AI 生成可運行的軟體。
  • 文章深入探討了「提示紀律 (Prompt Discipline)」的重要性,強調開發者所選擇的詞語將直接影響 AI 對需求語義的理解和軟體的構建方式。
  • 這篇文章揭示了系統提示層面對於 AI 程式碼生成過程的關鍵作用,強調其往往被忽略,但卻是 AI 準確執行意圖的基石。

Accessibility Basics for Building Telehealth Platforms With React Code Examples ♿

Source: https://dzone.com/articles/accessibility-basics-telehealth-platforms-with-react

  • 文章強調遠端醫療平台對於殘疾人士、慢性病患者及行動不便者而言,不僅是普通視訊通話應用,更是生命線,因此平台的可訪問性至關重要。
  • 本指南旨在利用 React 程式碼示例,解析遠端醫療平台的可訪問性基本原則。
  • 目標是幫助開發者構建符合標準且富有同理心的 UI 介面,避免創建對需要幫助的用戶造成障礙的數字產品。(文中雖提及程式碼範例,但未直接提供可嵌入的程式碼片段。)