<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Protocol on Tony Bai</title><link>https://tonybai.com/tags/protocol/</link><description>Recent content in Protocol on Tony Bai</description><generator>Hugo</generator><language>zh-cn</language><copyright>2004-2026 Tony Bai. 版权所有.</copyright><lastBuildDate>Sat, 09 May 2026 00:00:00 +0800</lastBuildDate><atom:link href="https://tonybai.com/tags/protocol/index.xml" rel="self" type="application/rss+xml"/><item><title>火爆外网的 Go 开源神器 CLI Printing Press：一键生成 Agent 专属 CLI 工具</title><link>https://tonybai.com/2026/05/09/cli-printing-press-intro/</link><pubDate>Sat, 09 May 2026 00:00:00 +0800</pubDate><guid>https://tonybai.com/2026/05/09/cli-printing-press-intro/</guid><description>本文永久链接 – https://tonybai.com/2026/05/09/cli-printing-press-intro 大家好，我是Tony Bai。 &amp;gt; 近日，一个名叫 cli-printing-press 的开源项目冲上了 X.com 热搜。它用 Go 写成，解决的是 AI Agent 时代最隐秘、也最致命的痛点——工具不够用，更不好用。 先说一个反常识的故事 Discord 有 3...</description></item><item><title>Go包维护者必读：如何让你的Go包更易被发现、文档更专业？</title><link>https://tonybai.com/2025/05/11/deep-into-pkg-go-dev/</link><pubDate>Sun, 11 May 2025 00:00:00 +0800</pubDate><guid>https://tonybai.com/2025/05/11/deep-into-pkg-go-dev/</guid><description>Go包维护者必读：如何让你的Go包更易被发现、文档更专业？ - Tony Bai =============== Tony Bai 一个程序员的心路历程 * Google Go语言编码风格规范 * Google Go语言编码风格规范：指南篇 * Google Go语言编码风格规范：决定篇 * Google Go语言编码风格规范：最佳实践篇 * Go语言第一课FAQ * Go语言进阶课FAQ * 关...</description></item><item><title>深入GOCACHEPROG：Go构建缓存的自定义扩展</title><link>https://tonybai.com/2025/03/04/deep-dive-into-gocacheprog-custom-extensions-for-go-build-cache/</link><pubDate>Tue, 04 Mar 2025 00:00:00 +0800</pubDate><guid>https://tonybai.com/2025/03/04/deep-dive-into-gocacheprog-custom-extensions-for-go-build-cache/</guid><description>本文永久链接 – https://tonybai.com/2025/03/04/deep-dive-into-gocacheprog-custom-extensions-for-go-build-cache 1. 背景 ----- 众所周知，Go build cache是在Go 1.10版本加入到Go工具链中的，缓存的主要目标是避免重复编译相同的代码，从而加快构建速度。 默认情况下，Go构建缓存位...</description></item><item><title>通过实例理解Web应用跨域问题</title><link>https://tonybai.com/2023/11/19/understand-go-web-cross-origin-problem-by-example/</link><pubDate>Sun, 19 Nov 2023 00:00:00 +0800</pubDate><guid>https://tonybai.com/2023/11/19/understand-go-web-cross-origin-problem-by-example/</guid><description>本文永久链接 – https://tonybai.com/2023/11/19/understand-go-web-cross-origin-problem-by-example 在开发Web应用的过程中，我们经常会遇到所谓“跨域问题(Cross Origin Problem)”。跨域问题是由于浏览器的同源策略(Same-origin policy)导致的，它限制了不同源(Origin：域名、协议...</description></item><item><title>如何在Go语言中使用Websockets：最佳工具与行动指南</title><link>https://tonybai.com/2019/09/28/how-to-build-websockets-in-go/</link><pubDate>Sat, 28 Sep 2019 00:00:00 +0800</pubDate><guid>https://tonybai.com/2019/09/28/how-to-build-websockets-in-go/</guid><description>如今，在不刷新页面的情况下发送消息并获得即时响应在我们看来是理所当然的事情。但是曾几何时，启用实时功能对开发人员来说是一个真正的挑战。开发社区在HTTP长轮询(http long polling)和AJAX上走了很长一段路，但终于还是找到了一种构建真正的实时应用程序的解决方案。 该解决方案以WebSockets的形式出现，这使得在用户浏览器和服务器之间开启一个交互式会话成为可能。WebSocket...</description></item></channel></rss>