跳至主要内容

TechSummary 2025-10-08

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

🚀 隨時隨地透過 GitHub Copilot 程式碼代理和行動裝置完成緊急修復​

Source: https://github.blog/developer-skills/github/completing-urgent-fixes-anywhere-with-github-copilot-coding-agent-and-mobile/

  • 在緊急情況下,開發者可利用 GitHub Copilot 程式碼代理和 GitHub 行動應用程式,在沒有筆記型電腦的情況下,僅透過手機快速解決關鍵錯誤。
  • 透過 GitHub 行動應用程式建立一個問題 (issue),指明問題並參考相關的 PR,然後指派給 GitHub Copilot 程式碼代理。Copilot 會在數分鐘內生成一個修復的 PR,可直接在手機上審查、測試並批准部署。
  • 關鍵要點 1:利用指示文件 (.github/copilot-instructions.md)。這些文件提供 Copilot 關於專案目的、技術棧、架構限制、程式碼標準等背景資訊,顯著提升建議的品質和相關性。
    # Copilot Instructions

    - Use Next.js App Router with React and TypeScript across the project.
    - Use pnpm for all package management commands (not npm or yarn).
    - Use Tailwind CSS v4 with a mobile-first approach; enhance with sm:/md:/lg:/xl: as needed.
    - Prefer server components by default; add "use client" only when needed (event handlers, browser APIs).
  • 關鍵要點 2:熟悉 Copilot 程式碼代理。將 Copilot 視為團隊成員,指派問題、審查其創建的 PR,並追蹤其工作會話,了解其能力。建立問題時,請務必提供清晰、具體且定義明確的上下文指示。
  • 關鍵要點 3:建立最佳實踐和自動化流程。利用 IssueOps 將 GitHub Issues 轉化為自動化的指令介面,並結合 GitHub Actions 觸發工作流程。透過預設的 Issue 模板可以節省時間並確保提供 Copilot 所需的詳細資訊。
    name: "Bug (Copilot Coding Agent-ready)"
    description: "Report a bug with details so Copilot can propose a fix via PR."
    title: "[Bug]: <short summary>"
    labels: ["bug", "triage", "copilot-coding-agent"]
    projects:
    - "my-org/1234"
    assignees: []
    body:
    - type: markdown
    attributes:
    value: |
    Thanks for reporting a bug! This template collects the details Copilot’s coding agent needs to propose a fix.
  • 結合這些 GitHub 功能,能大幅提升開發效率,讓團隊無論身在何處都能應對挑戰。

🐳 從船長椅上:Pradumna Saraf 訪談​

Source: https://www.docker.com/blog/from-the-captains-chair-pradumna-saraf/

  • 訪談 Docker Captain Pradumna Saraf,一位熱衷於 DevOps 的開源開發者,專精 Golang,並透過社群媒體和部落格分享 Docker、GitHub Actions、Kubernetes 等 DevOps 工具知識。
  • 他最初接觸 Docker 是在學習 MongoDB 時,發現 Docker 是本地運行此類應用程式最有效的方式,從此深入研究 Docker。
  • 受 Docker 社群啟發成為 Captain,因為他熱愛 Docker 的潛力,並在成為 Captain 之前就積極分享知識。
  • 他目前最喜歡的 Docker 產品/功能是 Docker Compose,特別是其定義和啟動/停止 AI 模型的能力,以及獨立的 Docker Model Runner (DMR)。
  • 他曾將 Docker 用作 Policy Decision Point (PDP) 於授權專案中,在容器內運行以驗證使用者權限,展示了 Docker 在關鍵服務中的獨特應用。
  • 給開發者的 Docker 小技巧是使用多階段建構 (multi-stage builds),這能顯著縮小映像檔大小(例如從 1.7 GB 降至 100 MB 以下),提升推送/拉取速度並降低 CI 成本。
  • 他風趣地表示,如果能將非技術物件容器化,他會選擇容器化自己的年齡,以便自由選擇不同年齡版本來體驗。

🧠 在任何 GPU 上啟用本地 AI:Docker Model Runner 現已支援 Vulkan​

Source: https://www.docker.com/blog/docker-model-runner-vulkan-gpu-support/

  • Docker Model Runner 旨在簡化和普及在本地機器上運行大型語言模型 (LLMs) 的過程,僅需一個指令即可下載並運行 LLM。
  • 最新版本宣布支援 Vulkan API,這是一項重大進展,將 GPU 加速的 LLM 推理擴展到更廣泛的 GPU 範圍,包括 AMD、Intel 及其他支援 Vulkan 的整合式 GPU。
  • 與 NVIDIA 的 CUDA 或 Apple 的 Metal 不同,Vulkan 是一個開放的跨平台圖形和計算 API,意味著更多硬體可以從 GPU 加速中受益。
  • 使用方式非常簡單,Docker Model Runner 會自動檢測並利用兼容的 Vulkan 硬體;如果未找到,則無縫切換到 CPU。
  • 運行指令範例:
    docker model run ai/gemma3
    此指令將拉取 Gemma 3 模型,檢測 Vulkan 兼容 GPU 及驅動,並使用 GPU 加速運行模型。
  • Docker Model Runner 是一個開源專案,鼓勵社群貢獻以擴展硬體支援和新增功能。

📊 StackSets 部署策略:平衡速度、安全與規模,優化不同組織需求的部署​

Source: https://aws.amazon.com/blogs/devops/stacksets-deployment-strategies-balancing-speed-safety-and-scale-to-optimize-deployments-for-different-organizational-needs/

  • AWS CloudFormation StackSets 允許組織在多個 AWS 帳戶和區域中一致地部署基礎設施,關鍵在於平衡部署速度、操作安全性和組織規模。
  • StackSets 主要用於多帳戶基礎設施治理,常見用途包括安全基準、合規性控制、組織標準、共享服務和成本管理。
  • 核心部署策略:
    1. 循序部署 (Sequential Deployment) - 最大安全性: MaxConcurrentAccounts 設為 1,FailureTolerance 設為 0。適用於關鍵安全更新、合規性要求及首次組織級部署。
      aws cloudformation create-stack-instances \
      --stack-set-name security-baseline \
      --deployment-targets OrganizationalUnitIds=ou-test \
      --regions us-east-1 eu-west-1 \
      --region us-east-1 \
      --operation-preferences RegionConcurrencyType=SEQUENTIAL,MaxConcurrentPercentage=5,FailureTolerancePercentage=0
    2. 平行部署 (Parallel Deployment) - 最大速度: 提高 MaxConcurrentPercentage 和 FailureTolerancePercentage。適用於非關鍵更新、開發環境及例行維護。
    3. 漸進部署 (Progressive Deployment) - 平衡方法 (推薦): 適用於大多數生產場景,具有適度的風險承受能力,可分為多階段(如 pilot accounts → early adopters → full deployment),並在每個階段進行驗證。
  • 使用 AWS Step Functions 進行協調: 透過無伺服器工作流程服務,實現高級部署協調、人工審批流程、增強錯誤處理和可視化監控。
  • 監控與優化: AWS CloudFormation StackSets 原生不提供詳細的 CloudWatch 指標,因此需要自定義實施來監控 StackSet 操作健康狀況和成功率。文章提供了一個 StackSetMonitor.yml CloudFormation 模板,用於部署 Lambda 函數、EventBridge 規則、SNS 通知和 CloudWatch 儀表板來監控 StackSet 成功率。
    AWSTemplateFormatVersion: '2010-09-09'
    Description: 'CloudFormation template for StackSet operation monitoring using CloudWatch and SNS'
    # ... (template content omitted for brevity) ...
    Resources:
    StackSetMonitorLambda:
    Type: AWS::Lambda::Function
    Properties:
    FunctionName: StackSetMonitor
    Handler: index.lambda_handler
    # ... (function properties) ...
    Code:
    ZipFile: |
    import boto3
    import json
    import os
    import logging
    import time
    import datetime
    # ... (python code) ...
    def lambda_handler(event: Dict[str, Any], context: Any) -> Dict[str, Any]:
    # ... (logic to list stack sets, operations, calculate success rate, and put metrics to CloudWatch) ...
  • 這些策略旨在幫助組織根據其特定需求,平衡速度、安全與規模,優化 AWS CloudFormation StackSets 部署。

🎤 撰寫您的 KotlinConf 提案:讓您脫穎而出的專家秘訣​

Source: https://blog.jetbrains.com/kotlin/2025/10/crafting-your-kotlinconf-proposal-expert-tips/

  • 分享撰寫吸引人的 KotlinConf 演講提案的專家秘訣,助您在眾多優秀提案中脫穎而出。
  • 1. 標題清晰且引人注目: 標題應傳達主題、提示難度,並明確對聽眾的好處。清晰度優先於花俏。
  • 2. 摘要以故事形式呈現: 提案不僅是資訊呈現,更是故事講述。摘要應解釋內容、聽眾收穫及演講重要性,提供足夠細節(通常兩到三段),而非單一句子。
  • 3. 從問題開始,建立期待: 先提出演講要解決的挑戰或痛點,建立懸念,再提供解決方案,引發聽眾好奇心。
  • 4. 站在聽眾角度思考: 考量聽眾能從中學到什麼,以及這對他們有何價值。關鍵收穫 (key takeaways) 應具體明確,避免模糊陳述。
    • 例如:「您將學習原生依賴項如何互動,它們如何加載,以及原生世界中意想不到的複雜性。」
  • 5. 以 Kotlin 為中心: 提案應突出 Kotlin 的特性、多平台能力、語言設計或相關生態系統工具。若主題熱門,加入獨特觀點或案例研究。
  • 6. 展示您的演講技巧: 提供過往演講錄影(即使是自我錄製的短片),展示您的演示風格和活力。
  • 7. 提案需精心打磨: 檢查拼寫、格式一致性,避免使用 LLM 生成的摘要。精緻的提案反映您對演講的用心。
  • 8. 考慮不同格式並提交多個提案: 若內容不適合長篇演講,可考慮閃電演講 (lightning talk)。提交多個提案可增加被選中的機會。
  • 9. 勇於創新: 不要害怕提交純粹有趣或探索 Kotlin 意想不到方面的提案,例如有趣的專案或語言的驚人洞察。
  • KotlinConf'26 正在徵集演講者,鼓勵所有 Kotlin 開發者分享經驗。

🗣️ 召集所有非商業 JetBrains Rider 用戶:分享您的故事!​

Source: https://blog.jetbrains.com/dotnet/2025/10/08/calling-all-non-commercial-rider-users/

  • JetBrains Rider 推出非商業免費使用近一年,為慶祝此里程碑,正尋找用戶分享使用經驗。
  • 誠邀利用免費非商業授權進行副專案、開源貢獻或參與 .NET 和遊戲開發教育的用戶參與訪談。
  • 訪談形式:20-30 分鐘視訊通話或書面證詞。
  • 參與者將獲得:
    • 在 JetBrains 網站、部落格和社群媒體上展示您的專案。
    • 專案獲得社群媒體的認可。
    • 一份 Amazon 禮品卡作為感謝。
  • 尋求各種類型的專案,包括遊戲、網路應用程式、工具、實驗和教育領域。
  • 鼓勵感興趣的開發者聯繫 [email protected]。