Step-by-Step Guide to Building MCP Server and Client with Golang (Model Context Protocol)

blog logo

In 2025, I delivered a workshop at the iThome Taiwan Cloud Summit in Taipei, titled “Step-by-Step Guide to Building MCP Server and Client with Golang (Model Context Protocol)”. The goal of this workshop was to help developers understand how to implement the MCP protocol using Golang, providing practical code examples and hands-on guidance. I have organized all workshop materials into a GitHub repository, which you can find at go-training/mcp-workshop. For detailed workshop content, please refer to this link.

[Read More]

一步步學會用 Golang 開發 MCP 伺服器與客戶端 (Model Context Protocol)

blog logo

2025 年在台北 iThome 臺灣雲端大會 (CloudSummit) 給一場 Workshop,主題是「一步步學會用 Golang 開發 MCP 伺服器與客戶端 (Model Context Protocol)」。這次的工作坊旨在幫助開發者了解如何使用 Golang 實現 MCP 協議,並提供實際的程式碼範例和操作指南。我已經先將 Workshop 的內容整理成一個 GitHub Repo,您可以在 go-training/mcp-workshop 找到相關資源。詳細 Workshop 內容,請參考此連結

[Read More]

Integrating Gitea with Jira Software Development Workflow

blog logo

Before diving in, let’s familiarize ourselves with Gitea and Jira. For better context, I recommend reading “Git Software Development Guide: Key to Improving Team Collaboration” first.

Gitea is a lightweight self-hosted Git server written in Go, providing teams with an easily deployable code management solution. It supports multiple operating systems including Linux, Windows, and macOS, while offering comprehensive features for code review, issue tracking, and Wiki management—all essential tools for enhancing team collaboration.

Jira is Atlassian’s professional project management and issue tracking system. Widely adopted by software development teams worldwide, Jira excels in issue tracking, supports agile methodologies (including Scrum and Kanban), and provides robust data analytics capabilities to optimize project management and team collaboration.

[Read More]

Gitea 與 Jira 軟體開發流程整合

blog logo

在開始本文前,讓我們先來了解 GiteaJira 這兩個工具。建議您可以先閱讀『Git 軟體開發指南:提高團隊協作的關鍵』,以更好地理解後續內容。

Gitea 是一套以 Go 語言開發的輕量級自架式 Git 伺服器,為團隊提供了便於部署的程式碼管理方案。系統除了支援 Linux、Windows 和 macOS 等多種作業系統外,還具備完善的程式碼審查、問題追蹤和 Wiki 等功能,能大幅提升團隊的協作開發效率。

Jira 是 Atlassian 公司開發的專業級專案管理與問題追蹤系統。作為軟體開發團隊廣泛採用的工具,Jira 不僅提供完整的問題追蹤功能,還支援敏捷開發流程(如 Scrum 和 Kanban)以及豐富的數據分析功能,有效協助團隊管理專案進度並提升協作品質。

[Read More]

Git Software Development Guidelines: Improving Team Collaboration

Introduction

Git is a powerful distributed version control system created by Linus Torvalds, initially designed for managing the Linux kernel source code. Its exceptional features include lightning-fast processing, robust data integrity, seamless support for non-linear development through branching, and sophisticated branch management capabilities. These characteristics make Git an essential tool in modern software development. While mastering basic Git operations is important, understanding its workflow is crucial for achieving optimal team collaboration. This article presents comprehensive Git software development guidelines to enhance team productivity.

As development teams expand, Git workflows naturally become more intricate. To maintain smooth collaboration, implementing well-structured Git development guidelines becomes essential. These guidelines help regulate team members’ actions, ensuring code repository stability and maintainability. When properly followed, they not only expedite development cycles but also minimize errors and enhance overall code quality.

Git Software Development Workflow

The following diagram illustrates a streamlined Git development workflow that demonstrates effective team collaboration:

logo

While this workflow may not suit all teams, it serves as a reference that can be adjusted according to specific circumstances. Let’s explore some Git software development guidelines that help improve team collaboration efficiency.

[Read More]

Git 軟體開發指南:提高團隊協作的關鍵

前言

Git 是一套分散式版本控制系統,由 Linus Torvalds 所開發,主要用於管理 Linux 核心的原始碼。Git 的主要特色包含了快速的處理速度、完整的資料保護、支援多分支的非線性開發,以及強大的分支管理功能,這些特色使其成為軟體開發領域中不可或缺的工具。要有效地運用 Git,除了要熟悉基本操作外,更重要的是要掌握其工作流程,才能達到最佳的團隊協作效果。本文將為您介紹一套實用的 Git 軟體開發指南,協助團隊提升協作效率。

隨著團隊規模的擴大,Git 的使用也變得更加複雜。為了確保團隊協作的順暢,我們必須建立一套完整的 Git 軟體開發指南,規範團隊成員的操作行為,以維持程式碼庫的穩定性與可維護性。遵循這些規範不僅能加快開發進度,更能減少錯誤發生的機會,進而提升程式碼品質。

Git 軟體開發流程圖

以下是一個簡單的 Git 軟體開發流程圖,用於說明團隊成員之間如何協作開發:

logo

上述流程不一定適用於所有團隊,但可作為參考,並根據實際情況進行調整。接下來,我們將介紹一些 Git 軟體開發指南,幫助團隊提高協作效率。

[Read More]

Learning Go Language with GitLab API

logo

Introduction

People often ask me how to learn Go language, and I usually suggest they start with a real project to quickly learn the language’s features. Personally, I started with small projects and gradually expanded their scope, from contributing to documentation to open-source projects, then learning how to modify the source code, and finally writing my own project. This learning method allows you to become familiar with the features of the Go language more quickly.

[Read More]

使用 GitLab API 學習 Go 語言

logo

前言

常有人問我如何學習 Go 語言,我通常建議他們從實際專案開始,這樣可以更快掌握語言特性。我個人也是先寫小專案,再逐步擴大範圍,從貢獻文件到開源專案,進而學習如何修改原始碼,最後再自己寫一個專案。這樣的學習方式能讓你更快熟悉 Go 語言的特性。

[Read More]

如何解決 MacOS 或 Linux 開發環境下的 SSL 驗證失敗問題

logo

在開發環境中,有時候會遇到 SSL 驗證失敗的問題,這個問題通常是因為系統沒有正確的 SSL 憑證,導致無法驗證 SSL 憑證的問題。這篇文章將會介紹如何解決 MacOS 或 Linux 開發環境下的 SSL 驗證失敗問題。會寫這篇主要是我們預計在中國地區使用 Azure 服務,但是在中國地區使用 Azure 服務時,會遇到 SSL 驗證失敗的問題,其理由就是在 Application Gateway 上的 SSL 憑證是由 Azure 提供自簽憑證。之後再寫一篇這個架構的目的跟辛酸史。也很感謝微軟團隊在這邊給予的協助及幫忙。

[Read More]

如何設計一套具備 Container 容器化技術的 CI/CD 平台 - Drone 開源專案

logo

今年一樣報名了 2024 年台北 Cloud Summit 活動,講的主題是『如何設計一套具備 Container 容器化技術的 CI/CD 平台?』,我相信大家在團隊內一定都有使用 CI/CD 工具,像是 Jenkins、GitLab CI、Travis CI、Circle CI 等等,這些工具都是非常好用的,但是想要在自己的環境中建置一套 CI/CD 平台,你會怎麼做呢?這次會帶您深入了解 Drone CI/CD 開源工具,並且透過實際的 Demo 來說明如何設計一套具備 Container 容器化技術的 CI/CD 平台。藉由 Drone 原始碼的解析,讓您了解 Drone 的運作原理,並且透過 Drone 的 Plugin 機制,讓您可以自行開發 Drone 的 Plugin,讓 Drone 可以更加符合您的需求。

[Read More]