<?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>Google on Tony Bai</title><link>https://tonybai.com/tags/google/</link><description>Recent content in Google on Tony Bai</description><generator>Hugo</generator><language>zh-cn</language><copyright>2004-2026 Tony Bai. 版权所有.</copyright><lastBuildDate>Sun, 14 Jun 2026 00:00:00 +0800</lastBuildDate><atom:link href="https://tonybai.com/tags/google/index.xml" rel="self" type="application/rss+xml"/><item><title>别再省 Token 了！硅谷新共识：浪费算力才是唯一捷径</title><link>https://tonybai.com/2026/06/14/stop-saving-tokens-silicon-valley-consensus-waste-compute-shortcut/</link><pubDate>Sun, 14 Jun 2026 00:00:00 +0800</pubDate><guid>https://tonybai.com/2026/06/14/stop-saving-tokens-silicon-valley-consensus-waste-compute-shortcut/</guid><description>本文永久链接 – https://tonybai.com/2026/06/14/stop-saving-tokens-silicon-valley-consensus-waste-compute-shortcut 大家好，我是Tony Bai。 你是不是也曾在写 Prompt（提示词）时斤斤计较，为了省下那几元钱的 Token 而字斟句酌？你是不是也曾疯狂收藏各种“保姆级提示词教程”，试图摸索出调...</description></item><item><title>Google 开源 AX 与 Agent Substrate：构建以 Agent 为核心的云原生计算底座</title><link>https://tonybai.com/2026/05/23/google-open-sources-ax-and-agent-substrate-agent-centric-cloud-native-foundation/</link><pubDate>Sat, 23 May 2026 00:00:00 +0800</pubDate><guid>https://tonybai.com/2026/05/23/google-open-sources-ax-and-agent-substrate-agent-centric-cloud-native-foundation/</guid><description>本文永久链接 – https://tonybai.com/2026/05/23/google-open-sources-ax-and-agent-substrate-agent-centric-cloud-native-foundation 大家好，我是Tony Bai。 随着大语言模型（LLM）与应用场景的深度融合，AI 正在从单纯的“聊天对话框”快速演进为具备长期运行、自主工具调用和复杂任务编...</description></item><item><title>大洗牌！Google 内部确认：Go 正取代 C++，成为 AI Agent 时代的“通用语言”</title><link>https://tonybai.com/2026/05/21/go-is-the-new-lingua-franca-for-ai-agents-at-google/</link><pubDate>Thu, 21 May 2026 00:00:00 +0800</pubDate><guid>https://tonybai.com/2026/05/21/go-is-the-new-lingua-franca-for-ai-agents-at-google/</guid><description>本文永久链接 – https://tonybai.com/2026/05/21/go-is-the-new-lingua-franca-for-ai-agents-at-google 大家好，我是Tony Bai。 在过去的两年里，只要一提到 AI 开发，99% 的人脑海中弹出的第一个词绝对是：**Python**。而如果是涉及到大模型底层的高性能推理与算力压榨，大家想到的必然是 **C++** ...</description></item><item><title>谷歌一篇论文砸崩内存巨头？不懂“显存墙”，怎么做 AI 时代的工程师！</title><link>https://tonybai.com/2026/03/28/ai-engineer-gpu-introduction-course/</link><pubDate>Sat, 28 Mar 2026 00:00:00 +0800</pubDate><guid>https://tonybai.com/2026/03/28/ai-engineer-gpu-introduction-course/</guid><description>本文永久链接 – https://tonybai.com/2026/03/28/ai-engineer-gpu-introduction-course 大家好，我是Tony Bai。 就在最近，科技界发生了一件极其戏剧性的事情。本周三美股开盘，全球存储产业巨头——美光、西部数据、希捷的股价遭遇了“黑色时刻”，普遍明显下跌（3%~6%）。 引发这场资本市场大地震的，不是什么贸易战，也不是财报暴雷，而...</description></item><item><title>告别 google/uuid：Go 标准库拟新增 crypto/uuid 深度解析</title><link>https://tonybai.com/2026/03/01/goodbye-google-uuid-go-standard-library-crypto-uuid/</link><pubDate>Sun, 01 Mar 2026 00:00:00 +0800</pubDate><guid>https://tonybai.com/2026/03/01/goodbye-google-uuid-go-standard-library-crypto-uuid/</guid><description>本文永久链接 – https://tonybai.com/2026/03/01/goodbye-google-uuid-go-standard-library-crypto-uuid 大家好，我是Tony Bai。 在 Go 的世界里，有几个第三方库的地位几乎等同于标准库，github.com/google/uuid 绝对是其中之一。无论是微服务架构、数据库主键，还是分布式追踪，UUID 的身影无...</description></item><item><title>代码之外的修炼：Google 资深工程师的 21 条“生存法则”</title><link>https://tonybai.com/2026/01/11/21-lessons-from-google-engineer/</link><pubDate>Sun, 11 Jan 2026 00:00:00 +0800</pubDate><guid>https://tonybai.com/2026/01/11/21-lessons-from-google-engineer/</guid><description>本文永久链接 – https://tonybai.com/2026/01/11/21-lessons-from-google-engineer 大家好，我是Tony Bai。 “当我 14 年前加入 Google 时，我以为这份工作就是写出优秀的代码……我只说对了一部分。我待得越久，就越意识到，那些真正茁壮成长的工程师，不一定是最好的程序员——他们是那些懂得如何驾驭代码**周围**一切的人：人、政...</description></item><item><title>离了大谱！Go 一年之内从第 7 掉到第 16</title><link>https://tonybai.com/2026/01/10/go-dropped-from-7th-to-16th-in-one-year/</link><pubDate>Sat, 10 Jan 2026 00:00:00 +0800</pubDate><guid>https://tonybai.com/2026/01/10/go-dropped-from-7th-to-16th-in-one-year/</guid><description>本文永久链接 – https://tonybai.com/2026/01/10/go-dropped-from-7th-to-16th-in-one-year 大家好，我是Tony Bai。 新年伊始，TIOBE 发布了最新的编程语言排行榜。当我满怀期待地去寻找 Go 的身影时，差点以为自己眼花了： **Go 居然从去年的第 7 名，断崖式下跌到了第 16 名！** 占比跌幅高达 1.37%，在这...</description></item><item><title>谁才是 Go 生态的“幕后之王”？—— 深度挖掘 4000 万个节点后的惊人发现</title><link>https://tonybai.com/2026/01/09/the-most-popular-go-dependency-is/</link><pubDate>Fri, 09 Jan 2026 00:00:00 +0800</pubDate><guid>https://tonybai.com/2026/01/09/the-most-popular-go-dependency-is/</guid><description>谁才是 Go 生态的“幕后之王”？—— 深度挖掘 4000 万个节点后的惊人发现 - Tony Bai Tony Bai 一个程序员的心路历程 * Google Go语言编码风格规范 * Google Go语言编码风格规范：指南篇 * Google Go语言编码风格规范：决定篇 * Google Go语言编码风格规范：最佳实践篇 * Go语言第一课FAQ * Go语言进阶课FAQ * 关于我 * ...</description></item><item><title>Go 考古：图灵奖得主 Ken Thompson 亲述，Go 语言是如何在 C++ 的“废墟”上诞生的</title><link>https://tonybai.com/2026/01/05/how-ken-thompson-developed-go-language-at-google/</link><pubDate>Mon, 05 Jan 2026 00:00:00 +0800</pubDate><guid>https://tonybai.com/2026/01/05/how-ken-thompson-developed-go-language-at-google/</guid><description>本文永久链接 – https://tonybai.com/2026/01/05/how-ken-thompson-developed-go-language-at-google. 大家好，我是Tony Bai。 为什么 Go 语言极其痛恨复杂的特性？为什么 Go 如此执着于编译速度？我们常说 Go 是一门“工程实用主义”的语言，它的设计哲学是“少即是多”。但你是否想过，这种近乎偏执的简洁，究竟是为...</description></item><item><title>从工具到伙伴：Google 三巨头定义 2025 为“AI Agent 与推理元年”</title><link>https://tonybai.com/2025/12/26/google-2025-research-breakthroughs/</link><pubDate>Fri, 26 Dec 2025 00:00:00 +0800</pubDate><guid>https://tonybai.com/2025/12/26/google-2025-research-breakthroughs/</guid><description>本文永久链接 – https://tonybai.com/2025/12/26/google-2025-research-breakthroughs 大家好，我是Tony Bai。 “2025 年，我们见证了人工智能从一种‘工具’向一种‘实用效能 (Utility)’的根本性转变。如果说 2024 年是奠定多模态基础的一年，那么 2025 年则是 AI 开始真正**思考、行动并与我们一同探索世界*...</description></item><item><title>“我曾想付钱给 Google 去工作”—— Russ Cox 深度访谈：Go 的诞生、演进与未来</title><link>https://tonybai.com/2025/12/10/russ-cox-interview-go-birth-evolution-future/</link><pubDate>Wed, 10 Dec 2025 00:00:00 +0800</pubDate><guid>https://tonybai.com/2025/12/10/russ-cox-interview-go-birth-evolution-future/</guid><description>本文永久链接 – https://tonybai.com/2025/12/10/russ-cox-interview-go-birth-evolution-future 大家好，我是Tony Bai。 他是 Go 语言的第二代掌门人，在长达十余年的时间里，引领着 Go 从一个内部实验项目，成长为云原生时代的霸主。他也是 Plan 9 的资深黑客，贝尔实验室精神的传承者。如今，他已将 Go 的帅印交...</description></item><item><title>霸榜 GitHub 一周！Google 开源 ADK for Go，彻底终结 AI“炼丹”时代？</title><link>https://tonybai.com/2025/11/24/google-adk-go-in-action/</link><pubDate>Mon, 24 Nov 2025 00:00:00 +0800</pubDate><guid>https://tonybai.com/2025/11/24/google-adk-go-in-action/</guid><description>本文永久链接 – https://tonybai.com/2025/11/24/google-adk-go-in-action 大家好，我是Tony Bai。 上周，我花了一个下午，仅仅是为了让一个Python写的Agent能稳定地调用我Go服务里的一个简单函数。在那一刻，看着屏幕上纠缠的gRPC、Python虚拟环境和混乱的日志，我脑海里只有一个念头：这不对劲，这绝对不是软件工程该有的样子！ 显...</description></item><item><title>Go 的甜蜜16 岁：一份来自官方的年度成绩单与未来路线图</title><link>https://tonybai.com/2025/11/15/go-turns-16/</link><pubDate>Sat, 15 Nov 2025 00:00:00 +0800</pubDate><guid>https://tonybai.com/2025/11/15/go-turns-16/</guid><description>本文永久链接 – https://tonybai.com/2025/11/15/go-turns-16 大家好，我是Tony Bai。 今年的 Go 官方16岁“庆生”文章，来得比以往时候都要晚一些。 往年，我们总能在 11 月 10 日或 11 日，准时收到这份来自 Go 团队的年度“家庭来信”。但今年，日历翻过了好几天，官方博客却依旧静悄悄。前几天，我还在知识星球上和星友们“抱怨”：“今年 G...</description></item><item><title>Go 的 16 年：一门为持久而生的编程语言</title><link>https://tonybai.com/2025/11/12/16-years-of-go-a-programming-language-built-to-last/</link><pubDate>Wed, 12 Nov 2025 00:00:00 +0800</pubDate><guid>https://tonybai.com/2025/11/12/16-years-of-go-a-programming-language-built-to-last/</guid><description>本文永久链接 – https://tonybai.com/2025/11/12/16-years-of-go-a-programming-language-built-to-last 大家好，我是Tony Bai。 每年的十一月，对于全球的 Gopher 而言，都是一个值得纪念的特殊时刻。今年，我们迎来了 Go 语言公开发布的第 16 个年头。 在众多的庆祝文章中，来自 Go 社区的知名组织 Ar...</description></item><item><title>“6 个月，47 个微服务”：一场由“简历驱动”引发的架构灾难</title><link>https://tonybai.com/2025/11/02/6-months-47-microservices-architecture-disaster/</link><pubDate>Sun, 02 Nov 2025 00:00:00 +0800</pubDate><guid>https://tonybai.com/2025/11/02/6-months-47-microservices-architecture-disaster/</guid><description>本文永久链接 – https://tonybai.com/2025/11/02/6-months-47-microservices-architecture-disaster 大家好，我是Tony Bai。 &amp;gt; “我们有一个运行了 8 年的 Python 单体应用，20 万行代码，工作得很好，很少崩溃，8 分钟就能部署。现在，新来的首席架构师，入职仅 3 个月，就要我们在 6 个月内，把它拆分成 ...</description></item><item><title>Go 官方详解“Green Tea”垃圾回收器：从对象到页，一场应对现代硬件挑战的架构演进</title><link>https://tonybai.com/2025/10/31/deep-into-go-green-tea-gc/</link><pubDate>Fri, 31 Oct 2025 00:00:00 +0800</pubDate><guid>https://tonybai.com/2025/10/31/deep-into-go-green-tea-gc/</guid><description>本文永久链接 – https://tonybai.com/2025/10/31/deep-into-go-green-tea-gc 大家好，我是Tony Bai。 关注 Go 语言演进的 Gopher 们可能已经注意到，Go 团队更换技术负责人以来，对运行时 (runtime) 和编译器 (compiler) 核心组件的打磨正日益成为团队的工作重心。从备受期待的“绿茶”GC (Green Tea ...</description></item><item><title>Google 揭秘生产环境调试心法：SRE 与 SWE 的四大思维差异与实战路径</title><link>https://tonybai.com/2025/08/10/debugging-incidents-in-google/</link><pubDate>Sun, 10 Aug 2025 00:00:00 +0800</pubDate><guid>https://tonybai.com/2025/08/10/debugging-incidents-in-google/</guid><description>本文永久链接 – https://tonybai.com/2025/mm/dd/debugging-Incidents-in-google 大家好，我是Tony Bai。 尽管 Google 的 SRE 手册为我们描绘了理想的运维蓝图，但在“炮火连天”的生产事故现场，工程师的真实反应往往是另一番景象。 最近，一篇发表于 ACM Queue 的研究深入剖析了 Google 工程师（包括 SRE 和 ...</description></item><item><title>Go vs. Rust vs. C++：从语言规范长度看三种不同的“复杂性”</title><link>https://tonybai.com/2025/07/25/go-vs-rust-vs-cpp-in-complexity/</link><pubDate>Fri, 25 Jul 2025 00:00:00 +0800</pubDate><guid>https://tonybai.com/2025/07/25/go-vs-rust-vs-cpp-in-complexity/</guid><description>Go vs. Rust vs. C++：从语言规范长度看三种不同的“复杂性” - Tony Bai Tony Bai 一个程序员的心路历程 * Google Go语言编码风格规范 * Google Go语言编码风格规范：指南篇 * Google Go语言编码风格规范：决定篇 * Google Go语言编码风格规范：最佳实践篇 * Go语言第一课FAQ * Go语言进阶课FAQ * 关于我 * 我的...</description></item><item><title>读懂Go的设计哲学：为什么说它是“恰到好处”的80/20语言？</title><link>https://tonybai.com/2025/07/05/go-is-8020-language/</link><pubDate>Sat, 05 Jul 2025 00:00:00 +0800</pubDate><guid>https://tonybai.com/2025/07/05/go-is-8020-language/</guid><description>读懂Go的设计哲学：为什么说它是“恰到好处”的80/20语言？ - Tony Bai Tony Bai 一个程序员的心路历程 * Google Go语言编码风格规范 * Google Go语言编码风格规范：指南篇 * Google Go语言编码风格规范：决定篇 * Google Go语言编码风格规范：最佳实践篇 * Go语言第一课FAQ * Go语言进阶课FAQ * 关于我 * 我的技术专栏 * ...</description></item><item><title>Go考古：创始人亲述Go语言的“创世纪”</title><link>https://tonybai.com/2025/07/03/meet-the-go-team-2012/</link><pubDate>Thu, 03 Jul 2025 00:00:00 +0800</pubDate><guid>https://tonybai.com/2025/07/03/meet-the-go-team-2012/</guid><description>本文永久链接 – https://tonybai.com/2025/07/03/meet-the-go-team-2012 大家好，我是Tony Bai。 2012 年，Google I/O 大会的舞台上，一个刚刚发布 1.0 版本的编程语言团队，正襟危坐。他们面对着全球开发者的审视和提问，这其中，就有三位图灵奖得主级别的传奇人物：Ken Thompson、Rob Pike 和 Robert Gr...</description></item><item><title>GCP大面积故障，Go语言是“元凶”还是“背锅侠”？</title><link>https://tonybai.com/2025/06/16/go-avoid-critical-incident/</link><pubDate>Mon, 16 Jun 2025 00:00:00 +0800</pubDate><guid>https://tonybai.com/2025/06/16/go-avoid-critical-incident/</guid><description>GCP大面积故障，Go语言是“元凶”还是“背锅侠”？ - Tony Bai =============== Tony Bai 一个程序员的心路历程 * Google Go语言编码风格规范 * Google Go语言编码风格规范：指南篇 * Google Go语言编码风格规范：决定篇 * Google Go语言编码风格规范：最佳实践篇 * Go语言第一课FAQ * Go语言进阶课FAQ * 关于我 ...</description></item><item><title>千呼万唤始出来？Go 1.25解决Git仓库子目录作为模块根路径难题</title><link>https://tonybai.com/2025/06/07/allow-serving-module-under-subdir/</link><pubDate>Sat, 07 Jun 2025 00:00:00 +0800</pubDate><guid>https://tonybai.com/2025/06/07/allow-serving-module-under-subdir/</guid><description>千呼万唤始出来？Go 1.25解决Git仓库子目录作为模块根路径难题 - Tony Bai =============== Tony Bai 一个程序员的心路历程 * Google Go语言编码风格规范 * Google Go语言编码风格规范：指南篇 * Google Go语言编码风格规范：决定篇 * Google Go语言编码风格规范：最佳实践篇 * Go语言第一课FAQ * Go语言进阶课FA...</description></item><item><title>Go项目该拥抱Monorepo吗？Google经验、etcd模式及白盒交付场景下的深度剖析</title><link>https://tonybai.com/2025/06/06/go-monorepo/</link><pubDate>Fri, 06 Jun 2025 00:00:00 +0800</pubDate><guid>https://tonybai.com/2025/06/06/go-monorepo/</guid><description>Go项目该拥抱Monorepo吗？Google经验、etcd模式及白盒交付场景下的深度剖析 - Tony Bai =============== Tony Bai 一个程序员的心路历程 * Google Go语言编码风格规范 * Google Go语言编码风格规范：指南篇 * Google Go语言编码风格规范：决定篇 * Google Go语言编码风格规范：最佳实践篇 * Go语言第一课FAQ ...</description></item><item><title>AI 编码工具“真香”还是“智商税”？一位资深码农的“挑衅”与Go开发者的反思</title><link>https://tonybai.com/2025/06/03/provocation-about-ai-assisted-programming/</link><pubDate>Tue, 03 Jun 2025 00:00:00 +0800</pubDate><guid>https://tonybai.com/2025/06/03/provocation-about-ai-assisted-programming/</guid><description>AI 编码工具“真香”还是“智商税”？一位资深码农的“挑衅”与Go开发者的反思 - Tony Bai =============== Tony Bai 一个程序员的心路历程 * Google Go语言编码风格规范 * Google Go语言编码风格规范：指南篇 * Google Go语言编码风格规范：决定篇 * Google Go语言编码风格规范：最佳实践篇 * Go语言第一课FAQ * Go语言...</description></item><item><title>云原生时代，如何用RED三板斧搞定服务监控？</title><link>https://tonybai.com/2025/05/26/monitor-design-with-red/</link><pubDate>Mon, 26 May 2025 00:00:00 +0800</pubDate><guid>https://tonybai.com/2025/05/26/monitor-design-with-red/</guid><description>云原生时代，如何用RED三板斧搞定服务监控？ - Tony Bai =============== Tony Bai 一个程序员的心路历程 * Google Go语言编码风格规范 * Google Go语言编码风格规范：指南篇 * Google Go语言编码风格规范：决定篇 * Google Go语言编码风格规范：最佳实践篇 * Go语言第一课FAQ * Go语言进阶课FAQ * 关于我 * 文章...</description></item><item><title>Google I/O 2025 Go 语言进展：生产力、生产就绪与 AI 赋能</title><link>https://tonybai.com/2025/05/25/go-at-googleio-2025/</link><pubDate>Sun, 25 May 2025 00:00:00 +0800</pubDate><guid>https://tonybai.com/2025/05/25/go-at-googleio-2025/</guid><description>Google I/O 2025 Go 语言进展：生产力、生产就绪与 AI 赋能 - Tony Bai =============== Tony Bai 一个程序员的心路历程 * Google Go语言编码风格规范 * Google Go语言编码风格规范：指南篇 * Google Go语言编码风格规范：决定篇 * Google Go语言编码风格规范：最佳实践篇 * Go语言第一课FAQ * Go语言...</description></item><item><title>Go语言进入“后元老时代”？Ian Lance Taylor离职引发的思考：传承、创新与社区</title><link>https://tonybai.com/2025/05/11/ian-lance-taylor-leave-go/</link><pubDate>Sun, 11 May 2025 00:00:00 +0800</pubDate><guid>https://tonybai.com/2025/05/11/ian-lance-taylor-leave-go/</guid><description>Go语言进入“后元老时代”？Ian Lance Taylor离职引发的思考：传承、创新与社区 - Tony Bai =============== Tony Bai 一个程序员的心路历程 * Google Go语言编码风格规范 * Google Go语言编码风格规范：指南篇 * Google Go语言编码风格规范：决定篇 * Google Go语言编码风格规范：最佳实践篇 * Go语言第一课FAQ...</description></item><item><title>GitHub英语沟通太难？别让语言成为你参与顶级Go项目的拦路虎！</title><link>https://tonybai.com/2025/05/09/github-english-communication-patterns-and-practice/</link><pubDate>Fri, 09 May 2025 00:00:00 +0800</pubDate><guid>https://tonybai.com/2025/05/09/github-english-communication-patterns-and-practice/</guid><description>本文永久链接 – https://tonybai.com/2025/05/09/github-english-communication-patterns-and-practice 大家好，我是 Tony Bai。 身处全球化的软件开发浪潮中，GitHub早已成为我们协作、学习、贡献的“宇宙中心”。但对于我们许多非英语母语的开发者来说，它既是机遇之地，有时也是“望而却步”的挑战场。 你是否也曾有过...</description></item><item><title>Rob Pike的“抱怨”与Go的“解药”：直面软件膨胀的四大根源</title><link>https://tonybai.com/2025/04/27/rob-pike-on-bloat/</link><pubDate>Sun, 27 Apr 2025 00:00:00 +0800</pubDate><guid>https://tonybai.com/2025/04/27/rob-pike-on-bloat/</guid><description>Rob Pike的“抱怨”与Go的“解药”：直面软件膨胀的四大根源 - Tony Bai =============== Tony Bai 一个程序员的心路历程 * Google Go语言编码风格规范 * Google Go语言编码风格规范：指南篇 * Google Go语言编码风格规范：决定篇 * Google Go语言编码风格规范：最佳实践篇 * Go语言第一课FAQ * Go语言进阶课FAQ...</description></item><item><title>Go安全版图再添利器：OpenPubkey SSH开源，用SSO彻底改变SSH认证</title><link>https://tonybai.com/2025/03/31/openpubkey-ssh-open-source/</link><pubDate>Mon, 31 Mar 2025 00:00:00 +0800</pubDate><guid>https://tonybai.com/2025/03/31/openpubkey-ssh-open-source/</guid><description>Go安全版图再添利器：OpenPubkey SSH开源，用SSO彻底改变SSH认证 - Tony Bai =============== Tony Bai 一个程序员的心路历程 * Google Go语言编码风格规范 * Google Go语言编码风格规范：指南篇 * Google Go语言编码风格规范：决定篇 * Google Go语言编码风格规范：最佳实践篇 * Go语言第一课FAQ * Go...</description></item><item><title>体验Gemini Deep Research：以Go语言未来演进方向分析为例</title><link>https://tonybai.com/2025/03/16/gemini-deep-research-experience/</link><pubDate>Sun, 16 Mar 2025 00:00:00 +0800</pubDate><guid>https://tonybai.com/2025/03/16/gemini-deep-research-experience/</guid><description>本文永久链接 – https://tonybai.com/2025/03/16/gemini-deep-research-experience 基于大模型的AI已进入深度思考时代，以DeepSeek R1模型为代表的开源模型给主流AI厂商带来了巨大压力。其实早在2024年12月份，Google就在一篇名为“Try Deep Research and our new experimental mod...</description></item><item><title>2024年Go语言盘点：排名历史新高，团队新老传承</title><link>https://tonybai.com/2025/01/06/the-2024-review-of-go-programming-language/</link><pubDate>Mon, 06 Jan 2025 00:00:00 +0800</pubDate><guid>https://tonybai.com/2025/01/06/the-2024-review-of-go-programming-language/</guid><description>2024年Go语言盘点：排名历史新高，团队新老传承 - Tony Bai =============== Tony Bai 一个程序员的心路历程 * Google Go语言编码风格规范 * Google Go语言编码风格规范：指南篇 * Google Go语言编码风格规范：决定篇 * Google Go语言编码风格规范：最佳实践篇 * Go语言第一课FAQ * Go语言进阶课FAQ * 关于我 *...</description></item><item><title>量子计算入门与Go模拟</title><link>https://tonybai.com/2024/12/11/simulate-quantum-computing-in-go/</link><pubDate>Wed, 11 Dec 2024 00:00:00 +0800</pubDate><guid>https://tonybai.com/2024/12/11/simulate-quantum-computing-in-go/</guid><description>本文永久链接 – https://tonybai.com/2024/12/11/simulate-quantum-computing-in-go 2019年，Google宣布实现”量子霸权”，声称其53量子比特的量子计算机完成了一个经典超级计算机需要1万年才能完成的计算任务。这一宣告在当时引发了广泛关注和热议。而在这个过程中，我们也看到了太多对量子计算的误解。有人将其想象成**未来取代经典计算机的...</description></item><item><title>Go map使用Swiss Table重新实现，性能最高提升近50%</title><link>https://tonybai.com/2024/11/14/go-map-use-swiss-table/</link><pubDate>Thu, 14 Nov 2024 00:00:00 +0800</pubDate><guid>https://tonybai.com/2024/11/14/go-map-use-swiss-table/</guid><description>本文永久链接 – https://tonybai.com/2024/11/14/go-map-use-swiss-table 在2024月11月5日的Go compiler and runtime meeting notes中，我们注意到了一段重要内容，如下图红框所示： 这表明，来自字节的一位工程师在两年多前提出的“使用Swiss table重新实现Go map”的建议即将落地，目前该issue已...</description></item><item><title>构建无密码认证：passkey入门与Go实现</title><link>https://tonybai.com/2024/11/01/introduction-to-passkey/</link><pubDate>Fri, 01 Nov 2024 00:00:00 +0800</pubDate><guid>https://tonybai.com/2024/11/01/introduction-to-passkey/</guid><description>本文永久链接 – https://tonybai.com/2024/11/01/introduction-to-passkey 传统的密码认证一直以来都是数字时代的主流身份验证方式。然而，用户常常选择易记的弱密码并重复使用，导致账号易受攻击。密码泄露、钓鱼攻击等安全问题层出不穷，超过80%的数据泄露与密码相关。 截图来自FIDO联盟官网 与此同时，频繁的密码管理和忘记密码情况严重影响用户体验。服务...</description></item><item><title>代码提交者的代码评审通关指南[译]</title><link>https://tonybai.com/2024/10/11/the-cl-author-guide-to-getting-through-code-review/</link><pubDate>Fri, 11 Oct 2024 00:00:00 +0800</pubDate><guid>https://tonybai.com/2024/10/11/the-cl-author-guide-to-getting-through-code-review/</guid><description>本文永久链接 – https://tonybai.com/2024/10/11/the-cl-author-guide-to-getting-through-code-review Google在软件工程领域对IT界做出了卓越的贡献，从《Google软件工程》，到Google Style Guides，再到The Change Author’s Guide。这些实践参考不仅提升了软件工程的标准，也...</description></item><item><title>Go团队的工作方式</title><link>https://tonybai.com/2024/06/22/how-things-get-done-on-the-go-team/</link><pubDate>Sat, 22 Jun 2024 00:00:00 +0800</pubDate><guid>https://tonybai.com/2024/06/22/how-things-get-done-on-the-go-team/</guid><description>Go团队的工作方式 | Tony Bai =============== Tony Bai一个程序员的心路历程 * Google Go语言编码风格规范 * Google Go语言编码风格规范：指南篇 * Google Go语言编码风格规范：决定篇 * Google Go语言编码风格规范：最佳实践篇 * Go语言第一课FAQ * 关于我 * 文章列表 Go团队的工作方式 ========= * 六月...</description></item><item><title>Go团队：Go是什么</title><link>https://tonybai.com/2024/05/19/what-the-go-team-think-go-is/</link><pubDate>Sun, 19 May 2024 00:00:00 +0800</pubDate><guid>https://tonybai.com/2024/05/19/what-the-go-team-think-go-is/</guid><description>本文永久链接 – https://tonybai.com/2024/05/19/what-the-go-team-think-go-is 2024年的Google I/O大会如期而至。 这届大会的核心主旨毫无疑问是**坚定不移的以AI为中心**：Google先是发布了上下文长度将达到惊人的200万token的Gemini 1.5 Pro，然后面对OpenAI GPT-4o的挑衅，谷歌在大会上直接甩...</description></item><item><title>Go早期的那些布道者</title><link>https://tonybai.com/2024/05/17/the-early-evangelists-of-go/</link><pubDate>Fri, 17 May 2024 00:00:00 +0800</pubDate><guid>https://tonybai.com/2024/05/17/the-early-evangelists-of-go/</guid><description>本文永久链接 – https://tonybai.com/2024/05/17/the-early-evangelists-of-go Go自2009年开源至今已经快15年了！这期间，有很多人对Go语言的发展做出了重要贡献，起到了至关重要的作用，他们被视为**Go语言的早期布道者和鼓吹者**。他们向Go社区传达着Go的价值观、Go的最新发展、Go的使用方法以及最佳实践。 这些人有来自Go团队的，有...</description></item><item><title>那些可免费使用的在线大语言模型服务</title><link>https://tonybai.com/2024/05/06/those-free-to-use-online-llm-services/</link><pubDate>Mon, 06 May 2024 00:00:00 +0800</pubDate><guid>https://tonybai.com/2024/05/06/those-free-to-use-online-llm-services/</guid><description>本文永久链接 – https://tonybai.com/2024/05/06/those-free-to-use-online-llm-services 2022年底以ChatGPT为代表的大语言模型的出现掀起了人工智能应用的新浪潮。这些庞大的语言模型经过对海量文本数据的训练，能够理解和生成逼近人类水平的自然语言，在对话、问答、文本生成、代码编写等领域展现出了惊人的能力。 最初这种能力“垄断”在...</description></item><item><title>从零到生产：Go在Google的历程[译]</title><link>https://tonybai.com/2024/04/24/go-journey-at-google/</link><pubDate>Wed, 24 Apr 2024 00:00:00 +0800</pubDate><guid>https://tonybai.com/2024/04/24/go-journey-at-google/</guid><description>本文永久链接 – https://tonybai.com/2024/04/24/go-journey-at-google 2007年Go诞生于Google，2009年Google正式对外宣布了Go语言的开源！时至今日，距离Go开源已经过去了近15个年头了！Go在Google公司内部究竟是怎样的一个状态呢？前Google员工Yves Junqueira近期撰文从其个人所见所闻谈了Go在Google的...</description></item><item><title>使用Ollama和OpenWebUI在CPU上玩转Meta Llama3-8B</title><link>https://tonybai.com/2024/04/23/playing-with-meta-llama3-8b-on-cpu-using-ollama-and-openwebui/</link><pubDate>Tue, 23 Apr 2024 00:00:00 +0800</pubDate><guid>https://tonybai.com/2024/04/23/playing-with-meta-llama3-8b-on-cpu-using-ollama-and-openwebui/</guid><description>本文永久链接 – https://tonybai.com/2024/04/23/playing-with-meta-llama3-8b-on-cpu-using-ollama-and-openwebui 2024年4月18日，meta开源了Llama 3大模型，虽然只有8B和70B两个版本，但Llama 3表现出来的强大能力还是让AI大模型界为之震撼了一番，本人亲测Llama3-70B版本的推理能...</description></item><item><title>Gopher的Rust第一课：Rust的那些事儿</title><link>https://tonybai.com/2024/04/22/gopher-rust-first-lesson-all-about-rust/</link><pubDate>Mon, 22 Apr 2024 00:00:00 +0800</pubDate><guid>https://tonybai.com/2024/04/22/gopher-rust-first-lesson-all-about-rust/</guid><description>本文永久链接 – https://tonybai.com/2024/04/22/gopher-rust-first-lesson-all-about-rust 要说这两年后端编程语言谁最火，Rust说自己第二，没人敢说第一。Rust连续8年霸榜stackoverflow最受推崇的编程语言，甚至被推特之父Jack Dorsey称为“完美的编程语言”： &amp;gt; 注：最火：仅代表人气最旺，最受欢迎，但并不代...</description></item><item><title>Go语言之父的反思：我们做对了什么，做错了什么</title><link>https://tonybai.com/2024/01/07/what-we-got-right-what-we-got-wrong/</link><pubDate>Sun, 07 Jan 2024 00:00:00 +0800</pubDate><guid>https://tonybai.com/2024/01/07/what-we-got-right-what-we-got-wrong/</guid><description>本文永久链接 – https://tonybai.com/2024/01/07/what-we-got-right-what-we-got-wrong 在《2023年Go语言盘点：稳中求新，稳中求变》和《Go测试的20个实用建议》两篇文章中，我都提到过已经退居二线的Go语言之父Rob Pike在Go开源14周年的那天亲自在GopherCon Australia 2023上发表了“What We G...</description></item><item><title>Go 1.22新特性前瞻</title><link>https://tonybai.com/2023/12/25/go-1-22-foresight/</link><pubDate>Mon, 25 Dec 2023 00:00:00 +0800</pubDate><guid>https://tonybai.com/2023/12/25/go-1-22-foresight/</guid><description>本文永久链接 – https://tonybai.com/2023/12/25/go-1-22-foresight 美国时间2023年12月20日，Go官方宣布Go 1.22rc1发布，开启了为期2个多月的、常规的公测之旅，Go 1.22预计将于2024.2月份正式发布！ 除了在官网下载Go 1.22rc1版本进行新特性体验之外，我们还可以通过在线的Go Playground选择“Go dev b...</description></item><item><title>简单之道</title><link>https://tonybai.com/2023/12/11/simplicity/</link><pubDate>Mon, 11 Dec 2023 00:00:00 +0800</pubDate><guid>https://tonybai.com/2023/12/11/simplicity/</guid><description>本文永久链接 – https://tonybai.com/2023/12/11/simplicity 已经退居二线的Go语言之父Rob Pike近日发表了一篇名为“Simplicity”的博文，记述了2009年在Google内部一次圆桌会议上发表的演讲内容。Pike老先生在这个时间点发表这篇文章究竟有何深意呢？是对Go语言演进的路线有所不满吗？我们不得而知。不过，这篇文章的内容却是非常值得我们学习...</description></item><item><title>Go未来演进：基于共同目标和数据驱动的决策</title><link>https://tonybai.com/2023/12/10/go-changes/</link><pubDate>Sun, 10 Dec 2023 00:00:00 +0800</pubDate><guid>https://tonybai.com/2023/12/10/go-changes/</guid><description>本文永久链接 – https://tonybai.com/2023/12/10/go-changes 自从Go语言之父Rob Pike从Google退休并隐居澳洲后，Russ Cox便成为了Go语言团队的“带头大哥”，虽然其资历还无法与依旧奋战在一线的另外一位Go语言之父Robert Griesemer相比。如今，Russ Cox对Go语言未来的演化发展是很有“发言权”的，Go module的引入...</description></item><item><title>Go，14周年[译]</title><link>https://tonybai.com/2023/11/11/go-opensource-14-years/</link><pubDate>Sat, 11 Nov 2023 00:00:00 +0800</pubDate><guid>https://tonybai.com/2023/11/11/go-opensource-14-years/</guid><description>本文永久链接 – https://tonybai.com/2023/11/11/go-opensource-14-years 国内的双十一购物狂欢已没有了当年的那种热闹与喧嚣，但大洋彼岸的Go团队却始终保持稳中有增的开发和语言演进节奏。今晨Go核心团队的Russ Cox代表Go语言项目团队在Go官博上发表了《Fourteen Years of Go》的博文，纪念Go语言开源14周年，并对2023年...</description></item><item><title>Service Weaver：以单体形式编码，以微服务形式部署</title><link>https://tonybai.com/2023/10/09/service-weaver-coding-in-monolithic-deploy-in-microservices/</link><pubDate>Mon, 09 Oct 2023 00:00:00 +0800</pubDate><guid>https://tonybai.com/2023/10/09/service-weaver-coding-in-monolithic-deploy-in-microservices/</guid><description>本文永久链接 – https://tonybai.com/2023/10/09/service-weaver-coding-in-monolithic-deploy-in-microservices 分布式应用的主流架构模式演化为**微服务架构**已经有些年头了。微服务、DevOps、持续交付和容器技术(k8s)是构成最初云原生概念的核心要素。它们相生相拌，共同演进，并推动了云计算**全面进入云原...</description></item><item><title>聊聊Go与依赖注入</title><link>https://tonybai.com/2023/09/28/dependency-injection-with-go/</link><pubDate>Thu, 28 Sep 2023 00:00:00 +0800</pubDate><guid>https://tonybai.com/2023/09/28/dependency-injection-with-go/</guid><description>本文永久链接 – https://tonybai.com/2023/09/28/dependency-injection-with-go 如果你读过Robert C. Martin的《敏捷软件开发：原则、模式与实践》(书的封皮见下图)，那么你一定知道经典的SOLID设计原则中的“D”：依赖倒置原则（Dependency Inversion Principle, DIP）。 依赖倒置原则是面向对象设...</description></item><item><title>使用Go和WebRTC data channel实现端到端实时通信</title><link>https://tonybai.com/2023/09/23/p2p-rtc-implementation-with-go-and-webrtc-data-channel/</link><pubDate>Sat, 23 Sep 2023 00:00:00 +0800</pubDate><guid>https://tonybai.com/2023/09/23/p2p-rtc-implementation-with-go-and-webrtc-data-channel/</guid><description>本文永久链接 – https://tonybai.com/2023/09/23/p2p-rtc-implementation-with-go-and-webrtc-data-channel 关于实时通信(RTC，Real-Time Communication)，我和大多数人一样，是用的多(比如网络电话、音视频会议等)，但对RTC概念和其底层技术原理了解的却不多。近期，一项目恰用到了RTC技术，我就...</description></item><item><title>Go项目初始化不再困扰你：gonew全方位解析</title><link>https://tonybai.com/2023/08/11/introduction-to-the-gonew-tool/</link><pubDate>Fri, 11 Aug 2023 00:00:00 +0800</pubDate><guid>https://tonybai.com/2023/08/11/introduction-to-the-gonew-tool/</guid><description>本文永久链接 – https://tonybai.com/2023/08/11/introduction-to-the-gonew-tool 近日，Go官博介绍了一个名为gonew的新工具。该工具支持基于go project template clone并创建一个属于你的Go项目。gonew工具的引入大幅简化了Go项目的创建，同时由于对自定义项目模板的支持，也可以提高Go项目的标准化水平。gone...</description></item><item><title>Apache Arrow：驱动列式分析性能和连接性的提升[译]</title><link>https://tonybai.com/2023/07/01/arrow-columnar-analytics/</link><pubDate>Sat, 01 Jul 2023 00:00:00 +0800</pubDate><guid>https://tonybai.com/2023/07/01/arrow-columnar-analytics/</guid><description>本文永久链接 – https://tonybai.com/2023/07/01/arrow-columnar-analytics 本文翻译自Voltron Data公司CTO Wes McKinney的文章《Apache Arrow: Driving Columnar Analytics Performance and Connectivity》。这篇文章回顾了现代大数据分析遇到的问题、Arrow...</description></item><item><title>Go项目组织：在单一repo中管理多个Go module指南</title><link>https://tonybai.com/2023/05/10/a-guide-of-managing-multiple-go-modules-in-mono-repo/</link><pubDate>Wed, 10 May 2023 00:00:00 +0800</pubDate><guid>https://tonybai.com/2023/05/10/a-guide-of-managing-multiple-go-modules-in-mono-repo/</guid><description>本文永久链接 – https://tonybai.com/2023/05/10/a-guide-of-managing-multiple-go-modules-in-mono-repo 0\. 单repo单module管理回顾 -------------------- 众所周知，Go在1.11版本中引入了go module，随着近几年Go module机制的逐渐成熟，它已经被Go团队确定为**Go...</description></item><item><title>Go为什么能成功</title><link>https://tonybai.com/2022/12/07/why-go-succeed/</link><pubDate>Wed, 07 Dec 2022 00:00:00 +0800</pubDate><guid>https://tonybai.com/2022/12/07/why-go-succeed/</guid><description>本文永久链接 – https://tonybai.com/2022/12/07/why-go-succeed * * * 大家在入门Go语言时，多埋头于Go语法，忙于练手或快速完成公司的项目，无暇思考。 但当大家到了要进阶，要冲刺高级阶段的时候，我建议你不能再稀里糊涂了。既然入了Go这个坑，在进入高级阶段前，我们最好在门口的“影壁墙”前驻留一下。 仔细思考一下**我们投入这么多精力研究的Go为什么...</description></item><item><title>这可能是最权威、最全面的Go语言编码风格规范了！</title><link>https://tonybai.com/2022/11/26/intro-of-google-go-style/</link><pubDate>Sat, 26 Nov 2022 00:00:00 +0800</pubDate><guid>https://tonybai.com/2022/11/26/intro-of-google-go-style/</guid><description>本文永久链接 – https://tonybai.com/2022/11/26/intro-of-google-go-style 每种编程语言除了固定的语法之外，都会有属于自己的**地道的(idiomatic)写法**。其实，自然语言也不例外，你想，你用心想想是不是这样。 语言的设计者们希望开发人员都能编写统一风格的地道的代码，这样不仅代码可读性好，便于社区统一代码风格，而且针对惯用法的优化也可能...</description></item><item><title>通过实例理解Go标准库context包</title><link>https://tonybai.com/2022/11/08/understand-go-context-by-example/</link><pubDate>Tue, 08 Nov 2022 00:00:00 +0800</pubDate><guid>https://tonybai.com/2022/11/08/understand-go-context-by-example/</guid><description>* **原weibo账号处于jy状态，临时先用小号 https://weibo.com/u/6484441286，欢迎大家关注！** * “Gopher部落”知识星球双十一新人特惠，领劵加入即享立减88元优惠 – https://t.zsxq.com/078E1QTjM 本文永久链接 – https://tonybai.com/2022/11/08/understand-go-context-by...</description></item><item><title>Go语言数据竞争检测与数据竞争模式</title><link>https://tonybai.com/2022/06/21/data-race-detection-and-pattern-in-go/</link><pubDate>Tue, 21 Jun 2022 00:00:00 +0800</pubDate><guid>https://tonybai.com/2022/06/21/data-race-detection-and-pattern-in-go/</guid><description>本文永久链接 – https://tonybai.com/2022/06/21/data-race-detection-and-pattern-in-go uber，就是那个早早退出中国打车市场的优步，是Go语言早期接纳者，也是Go技术栈的“重度用户”。uber内部的Go代码仓库有5000w+行Go代码，有2100个Go实现的独立服务，这样的Go应用规模在世界范围内估计也是Top3了吧。 uber...</description></item><item><title>Go编程语言与环境：万字长文复盘导致Go语言成功的那些设计决策[译]</title><link>https://tonybai.com/2022/05/04/the-paper-of-go-programming-language-and-environment/</link><pubDate>Wed, 04 May 2022 00:00:00 +0800</pubDate><guid>https://tonybai.com/2022/05/04/the-paper-of-go-programming-language-and-environment/</guid><description>本文永久链接 – https://tonybai.com/2022/05/04/the-paper-of-go-programming-language-and-environment 美国计算机学会通讯(Communications of the ACM)期刊2022年5月第65卷第5期将发表一篇有关Go语言的综述类Paper：《Go编程语言与环境》，这类综述类文章只有资深的Go核心团队的人才“...</description></item><item><title>Ian Lance Taylor：Go泛型使用的一般准则</title><link>https://tonybai.com/2021/11/07/using-generics-in-go/</link><pubDate>Sun, 07 Nov 2021 00:00:00 +0800</pubDate><guid>https://tonybai.com/2021/11/07/using-generics-in-go/</guid><description>本文永久链接 – https://tonybai.com/2021/11/07/using-generics-in-go 在近期Google Open Source Live的Go Day 2021环节，Go泛型的主要设计者Ian Lance Taylor做了Using Generics in Go的简短演讲(国内地址在这里)。这篇演讲的重点**不是即将于Go 1.18版本降临的Go泛型的语法细节...</description></item><item><title>Go语言之父谈Go编程语言与环境</title><link>https://tonybai.com/2021/10/06/the-go-programming-language-and-environment/</link><pubDate>Wed, 06 Oct 2021 00:00:00 +0800</pubDate><guid>https://tonybai.com/2021/10/06/the-go-programming-language-and-environment/</guid><description>本文永久链接 – https://tonybai.com/2021/10/06/the-go-programming-language-and-environment 2021年中旬，Go语言联合创始人Rob Pike应邀在线出席由UNSW Computing(悉尼新南威尔士大学计算机)组织主办的John Lions Distinguished Lectures，会上Rob Pike以Go之父身份...</description></item><item><title>gRPC服务的响应设计</title><link>https://tonybai.com/2021/09/26/the-design-of-the-response-for-grpc-server/</link><pubDate>Sun, 26 Sep 2021 00:00:00 +0800</pubDate><guid>https://tonybai.com/2021/09/26/the-design-of-the-response-for-grpc-server/</guid><description>本文永久链接 – https://tonybai.com/2021/09/26/the-design-of-the-response-for-grpc-server 1. 服务端响应的现状 做后端服务的开发人员对错误处理总是很敏感的，因此在做服务的响应(response/reply)设计时总是会很慎重。 如果后端服务选择的是HTTP API(rest api)，比如json over http，A...</description></item><item><title>Rust vs. Go：为什么强强联合会更好</title><link>https://tonybai.com/2021/03/15/rust-vs-go-why-they-are-better-together/</link><pubDate>Mon, 15 Mar 2021 00:00:00 +0800</pubDate><guid>https://tonybai.com/2021/03/15/rust-vs-go-why-they-are-better-together/</guid><description>本文翻译自乔纳森·特纳（Jonathan Turner）和史蒂夫·弗朗西亚（Steve Francia）的文章《Rust vs. Go: Why They’re Better Together》。 &amp;gt; 史蒂夫·弗朗西亚（Steve Francia）：在过去的25年里，Steve Francia建立了一些最具创新性和成功的技术和公司，这些技术和公司已经成为云计算的基础，被全世界的企业和开发者所接受。...</description></item><item><title>究竟是什么让Go语言成为恶意软件作者的最爱</title><link>https://tonybai.com/2021/03/07/go-malware-round-up-2020/</link><pubDate>Sun, 07 Mar 2021 00:00:00 +0800</pubDate><guid>https://tonybai.com/2021/03/07/go-malware-round-up-2020/</guid><description>2020年5月份，Go语言之父Rob Pike接受了evrone.com的专访。当Rob Pike老爷子被问及多年来他看到过最奇怪、最有创意或有趣的Go用法或最让他惊讶的是什么时，老爷子是这么回答的： &amp;gt; Rob：最大的惊喜是当我们得知Go被用于编写恶意软件时。您无法控制谁将使用您的作品或他们将如何使用它。 近期安全技术公司Intezer发布了一份名为《Year of the Gopher, A ...</description></item><item><title>Hugo作者、Go核心开发团队成员谈诞生13年的Go语言：生态系统、演化与未来[译]</title><link>https://tonybai.com/2021/01/02/go-language-13-years/</link><pubDate>Sat, 02 Jan 2021 00:00:00 +0800</pubDate><guid>https://tonybai.com/2021/01/02/go-language-13-years/</guid><description>本文翻译自《Go Language at 13 Years: Ecosystem, Evolution, and Future in Conversation with Steve Francia》。 &amp;gt; 译注：Go开源于2009年，如果从那时算起，Go才11岁；但在Go核心开发团队眼中，Go的真正诞生年份是2007年，至今13个年头了。关于Go的演化简史可以参见我的专栏文章：《Go语言的前生今世...</description></item><item><title>vendor目录是否需要提交到代码库中？答案全在这一篇</title><link>https://tonybai.com/2020/12/03/should-you-commit-the-vendor-folder-in-go/</link><pubDate>Thu, 03 Dec 2020 00:00:00 +0800</pubDate><guid>https://tonybai.com/2020/12/03/should-you-commit-the-vendor-folder-in-go/</guid><description>如果您还在使用vendor机制管理依赖包，那么说明您肯定是处于下面两种情况之一！ * 还工作在传统的GOPATH模式下(使用Go 1.10及之前版本；或Go 1.11及之后版本，但GO111MODULE=off)，利用vendor管理目标包的特定依赖； * 工作在go module模式下，但仍然利用vendor管理目标module的特定依赖并使用go build -mod=vendor来构建。 那...</description></item><item><title>Go是编程语言世界的“特斯拉”</title><link>https://tonybai.com/2020/12/01/go-is-the-tesla-of-programming-world/</link><pubDate>Tue, 01 Dec 2020 00:00:00 +0800</pubDate><guid>https://tonybai.com/2020/12/01/go-is-the-tesla-of-programming-world/</guid><description>Go技术专栏“改善Go语⾔编程质量的50个有效实践”正在慕课网火热热销中！本专栏主要满足广大gopher关于Go语言进阶的需求，围绕如何写出地道且高质量Go代码给出50条有效实践建议，上线后收到一致好评！78元简直就是白菜价，简直就是白piao! 欢迎大家订阅！ 本文翻译自《GO — The TESLA Of Programming World》 – https://medium.com/glob...</description></item><item><title>系统学习Go语言，有这几本书就够了！</title><link>https://tonybai.com/2020/11/04/the-recommend-books-list-for-learning-go/</link><pubDate>Wed, 04 Nov 2020 00:00:00 +0800</pubDate><guid>https://tonybai.com/2020/11/04/the-recommend-books-list-for-learning-go/</guid><description>1\. Go语言的发展现状 如果从2007年9月20日那个下午三个“程序员大佬”在谷歌总部的一间办公室里进行的一次有关设计一门新编程语言的讨论算起，那么Go语言已经度过了自己的13个年头了。 Robert Griesemer、Rob Pike和Ken Thompson 如果从2009年11月10日Go语言正式开源发布算起，Go语言也即将迎来自己的第11个生日。 2020年，Go联合创始人Rob P...</description></item><item><title>Google内部是如何使用Go语言的</title><link>https://tonybai.com/2020/08/30/new-case-studies-about-googles-use-of-go/</link><pubDate>Sun, 30 Aug 2020 00:00:00 +0800</pubDate><guid>https://tonybai.com/2020/08/30/new-case-studies-about-googles-use-of-go/</guid><description>Go语言始于2007年9月，当时Robert Griesemer，Ken Thompson和我开始讨论设计一种新语言，以解决我们和Google同事在日常工作中面临的工程挑战。我们当时编写的软件通常是一个网络服务器-一个与数百台其他服务器交互的程序-并且在其生命周期内，成千上万的程序员可能会参与编写和维护它。但是我们当时正在使用的语言似乎没有提供正确的工具来解决我们在这种复杂环境中面临的问题。 因此...</description></item><item><title>Go语言联合作者Rob Pike专访：Go确实已成为云基础架构的语言</title><link>https://tonybai.com/2020/05/01/rob-pike-interview-go-become-the-language-of-cloud-infrastructure/</link><pubDate>Fri, 01 May 2020 00:00:00 +0800</pubDate><guid>https://tonybai.com/2020/05/01/rob-pike-interview-go-become-the-language-of-cloud-infrastructure/</guid><description>&amp;gt; 尽管看到Docker，Kubernetes和用Go编写的云计算的许多其他组件令人欣喜和重要，但也许并不奇怪。Go确实已经成为云基础架构的语言。- Rob Pike，Go编程语言的联合作者 本文翻译自《Rob Pike interview: “Go has indeed become the language of cloud infrastructure”》。 简介 -- 我们与Go编程语言之...</description></item><item><title>Go语言开源十周年</title><link>https://tonybai.com/2019/11/09/go-opensource-10-years/</link><pubDate>Sat, 09 Nov 2019 00:00:00 +0800</pubDate><guid>https://tonybai.com/2019/11/09/go-opensource-10-years/</guid><description>本文翻译自Go官方博客上Russ Cox代表Go核心团队发表的“Go Turns 10″一文。 **生日快乐，Go！** 这个周末，我们庆祝Go正式对外发布10周年，即Go作为开源编程语言和构建现代网络软件生态系统的10周年诞辰。 为了纪念这一时刻，Go gopher的创建者Renee French(用下面的新作)描绘了这个令人愉快的场景： 庆祝Go十周年让我回想起2009年11月上旬，那时我们正...</description></item><item><title>Go语言项目的安全评估技术</title><link>https://tonybai.com/2019/11/08/security-assessment-techniques-for-go-projects/</link><pubDate>Fri, 08 Nov 2019 00:00:00 +0800</pubDate><guid>https://tonybai.com/2019/11/08/security-assessment-techniques-for-go-projects/</guid><description>在今年夏天我们对Kubernetes的评估成功之后，我们收到了大量Go项目的安全评估需求。为此，我们将在其他编译语言中使用过的安全评估技术和策略调整适配到多个Go项目中。 我们从了解语言的设计开始，识别出开发人员可能无法完全理解语言语义特性的地方。多数这些被误解的语义来自我们向客户报告的调查结果以及对语言本身的独立研究。尽管不是详尽无遗，但其中一些问题领域包括作用域、协程、错误处理和依赖管理。值得...</description></item><item><title>Go语言包管理简史</title><link>https://tonybai.com/2019/09/21/brief-history-of-go-package-management/</link><pubDate>Sat, 21 Sep 2019 00:00:00 +0800</pubDate><guid>https://tonybai.com/2019/09/21/brief-history-of-go-package-management/</guid><description>包管理是Go一直被诟病做得不好的功能之一。先前版本（go 1.11之前）的主要缺点之一是go get是缺乏对依赖包版本的管理和对可复制构建(reproducible build)的支持。Go社区已经开发了一些包管理器和工具作为版本化包依赖的事实标准解决方案，如glide，dep以及一些辅助工具等。 &amp;gt; “我在生产构建中使用go get。” – 没有人这么说过。 Go语言的包管理实现可追溯到Goog...</description></item><item><title>Go语言回顾：从Go 1.0到Go 1.13</title><link>https://tonybai.com/2019/09/07/go-retrospective/</link><pubDate>Sat, 07 Sep 2019 00:00:00 +0800</pubDate><guid>https://tonybai.com/2019/09/07/go-retrospective/</guid><description>Go 1.13版本在2019.9.3正式发布！国外的Gopher Vincent Blanchon发表了一篇文章《Go: Retrospective》(科学上网阅读)，对Go从1.0版本到1.13版本做了简要的回顾，这里是那篇文章的译文。 对于每一位Go开发者来说，Go语言的演化历程是必须要知道的事情。了解这些横跨年份发布的大版本的主要变化将有助于Gopher理解Go语言的发展理念以及该语言每个版...</description></item><item><title>Go正走在成为下一个企业级编程语言的轨道上</title><link>https://tonybai.com/2019/05/03/go-is-on-a-trajectory-to-become-the-next-enterprise-programming-language/</link><pubDate>Fri, 03 May 2019 00:00:00 +0800</pubDate><guid>https://tonybai.com/2019/05/03/go-is-on-a-trajectory-to-become-the-next-enterprise-programming-language/</guid><description>发展演化了十年的Go语言已经被证明了是云计算时代的首选编程语言，但Go的用武之地显然不局限于此。Kevin Goslar近期在Hacker Noon发表了一篇名为：《Go is on a Trajectory to Become the Next Enterprise Programming Language》的文章，阐述了Go可能成为下一个企业编程语言的理由，这里是那篇文章的中文译文，分享给大家...</description></item><item><title>Go，9周年</title><link>https://tonybai.com/2018/11/12/go-opensource-9-years/</link><pubDate>Mon, 12 Nov 2018 00:00:00 +0800</pubDate><guid>https://tonybai.com/2018/11/12/go-opensource-9-years/</guid><description>本文翻译自Go官方博客：《Nine years of Go》。 介绍 今天是我们的Go语言初始版本开源的第九个周年纪念日。在每个周年纪念日上，我们都希望花些时间思考过去一年发生的事情。过去12个月对Go语言和Go社区来说是突破性的一年。 对Go的爱和接纳 感谢你们所有人，2018年对Go来说是美好的一年！在多个行业调查中，Gopher们表达了他们使用Go的快乐程度，并且许多非Go开发者也表示了他们...</description></item><item><title>初窥Go module</title><link>https://tonybai.com/2018/07/15/hello-go-module/</link><pubDate>Sun, 15 Jul 2018 00:00:00 +0800</pubDate><guid>https://tonybai.com/2018/07/15/hello-go-module/</guid><description>自2007年“三巨头（Robert Griesemer, Rob Pike, Ken Thompson）”提出设计和实现Go语言以来，Go语言已经发展和演化了十余年了。这十余年来，Go取得了巨大的成就，先后在2009年和2016年当选TIOBE年度最佳编程语言，并在全世界范围内拥有数量庞大的拥趸。不过和其他主流编程语言一样，Go语言也不是完美的，不能满足所有开发者的“口味”。这些年来Go在“包依赖...</description></item><item><title>TB一周萃选[第10期]</title><link>https://tonybai.com/2018/03/03/10th-issue-of-the-tech-weekly-carefully-chosen-by-tonybai/</link><pubDate>Sat, 03 Mar 2018 00:00:00 +0800</pubDate><guid>https://tonybai.com/2018/03/03/10th-issue-of-the-tech-weekly-carefully-chosen-by-tonybai/</guid><description>本文是首发于个人微信公众号的文章**“TB一周萃选\[第10期\]”**的归档。 &amp;gt; 这个世界上最危险的毒药，就是成就感。而解药就是每晚都想一想，明天如何做得更好。 – 英格瓦坎普拉德，宜家创始人 2018年元宵节已过，这个传统意义上的年就算真的过完了，我们的那颗有些闲散、有些懈怠的心需要收一收，是时候为2018年的“事业”做些规划，从2018的起跑线上起跑出去了。就连现在的孩子，在开学第一课时都...</description></item><item><title>Go 1.10中值得关注的几个变化</title><link>https://tonybai.com/2018/02/17/some-changes-in-go-1-10/</link><pubDate>Sat, 17 Feb 2018 00:00:00 +0800</pubDate><guid>https://tonybai.com/2018/02/17/some-changes-in-go-1-10/</guid><description>又到了Go语言新版本的发布时间窗口了！这次的主角是Go 1.10。 曾几何时， 这是很多Gopher在Go 1.8、Go 1.9时猜测是否存在的那个版本，毕竟minor version即将进化到两位数。从Go语言第一封设计mail发出到现在的十年间，尤其是Go语言经历了近几年的爆发式增长，基本奠定了云原生第一语言的位置之后，人们对Go语言有了更多新的、更为深刻的认知，同时对这门编程语言也有了更多的...</description></item><item><title>TB一周萃选[第9期]</title><link>https://tonybai.com/2018/02/11/9th-issue-of-the-tech-weekly-carefully-chosen-by-tonybai/</link><pubDate>Sun, 11 Feb 2018 00:00:00 +0800</pubDate><guid>https://tonybai.com/2018/02/11/9th-issue-of-the-tech-weekly-carefully-chosen-by-tonybai/</guid><description>本文是首发于个人微信公众号的文章**“TB一周萃选\[第9期\]”**的归档。 &amp;gt; 亲情犹如一江剪不断的春水，流动的是游子心中永远的思念；亲情犹如一丘数不尽的细沙，沉淀的是长年堆积的牵挂；亲情犹如夜空中那颗北斗，指引的是那迷路的羔羊回家的方向。忙碌了一年，该回家了，给心放个假，带上媳妇带上你的娃，回家看看那年迈的爸妈，出发！ — 改编自网络 此时此刻，很多人刚刚踏上了春节回家的旅途，有些人更是已经...</description></item><item><title>TB一周萃选[第8期]</title><link>https://tonybai.com/2018/02/03/8th-issue-of-the-tech-weekly-carefully-chosen-by-tonybai/</link><pubDate>Sat, 03 Feb 2018 00:00:00 +0800</pubDate><guid>https://tonybai.com/2018/02/03/8th-issue-of-the-tech-weekly-carefully-chosen-by-tonybai/</guid><description>本文是首发于个人微信公众号的文章**“TB一周萃选\[第8期\]”**的归档。 &amp;gt; 再看看那个光点，它就在这里。那是我们的家园，我们的一切。你所爱的每一个人，你认识的每一个人，你听说过的每一个人，曾经有过的每一个人，都在它上面度过他们的一生。我们的欢乐与痛苦聚集在一起，数以千计的自以为是的宗教、意识形态和经济学说，所有的猎人与强盗、英雄与懦夫、文明的缔造者与毁灭者、国王与农夫、年轻的情侣、母亲与父...</description></item><item><title>TB一周萃选[第5期]</title><link>https://tonybai.com/2018/01/14/5th-issue-of-the-tech-weekly-carefully-chosen-by-tonybai/</link><pubDate>Sun, 14 Jan 2018 00:00:00 +0800</pubDate><guid>https://tonybai.com/2018/01/14/5th-issue-of-the-tech-weekly-carefully-chosen-by-tonybai/</guid><description>本文是首发于个人微信公众号的文章**“TB一周萃选\[第5期\]”**的归档。 &amp;gt; 人生十鉴 &amp;gt; &amp;gt; 大喜易失言 &amp;gt; 大怒易失礼 &amp;gt; 大惊易失态 &amp;gt; 大哀易失颜 &amp;gt; 大乐易失察 &amp;gt; 大惧易失节 &amp;gt; 大思易失爱 &amp;gt; 大醉易失德 &amp;gt; 大话易失信 &amp;gt; 大欲易失命 下雪，是北方城市冬天的“常规操作”，是最不需要被单独关注的的事情。但今年冬天的“雪”却成为了这边的热门话题，原因：**自从入冬以来一直就没下一...</description></item><item><title>使用istio治理微服务入门</title><link>https://tonybai.com/2018/01/03/an-intro-of-microservices-governance-by-istio/</link><pubDate>Wed, 03 Jan 2018 00:00:00 +0800</pubDate><guid>https://tonybai.com/2018/01/03/an-intro-of-microservices-governance-by-istio/</guid><description>近两年微服务架构流行，主流互联网厂商内部都已经微服务化，初创企业虽然技术积淀不行，但也通过各种开源工具拥抱微服务。再加上容器技术赋能，Kubernetes又添了一把火，微服务架构已然成为当前软件架构设计的首选。 **但微服务化易弄，服务治理难搞！** 一、微服务的“痛点” ---------- 微服务化没有统一标准，多数是进行业务领域垂直切分，业务按一定的粒度划分职责，并形成清晰、职责单一的服务接...</description></item><item><title>TB一周萃选[第3期]</title><link>https://tonybai.com/2017/12/30/3rd-issue-of-the-tech-weekly-carefully-chosen-by-tonybai/</link><pubDate>Sat, 30 Dec 2017 00:00:00 +0800</pubDate><guid>https://tonybai.com/2017/12/30/3rd-issue-of-the-tech-weekly-carefully-chosen-by-tonybai/</guid><description>本文是首发于个人微信公众号的文章**“TB一周萃选\[第3期\]”**的归档。 &amp;gt; 《岁旦》 &amp;gt; &amp;gt; &amp;gt; 宋伯仁 宋代诗人 &amp;gt; &amp;gt; 居间无贺客，早起只如常。桃版随人换，梅花隔岁香。 &amp;gt; 　　春风回笑语，云气卜丰穰。柏酒何劳劝，心平寿自长。 本期萃选是2017年的最后一期，也是迎接2018新年“承前启后”的一期。 对于现代中国人来说，公历新年又称为“元旦”。但稍有些历史常识的朋友都会知道：此“元旦”...</description></item><item><title>TB一周萃选[第2期]</title><link>https://tonybai.com/2017/12/22/2nd-issue-of-the-tech-weekly-carefully-chosen-by-tonybai/</link><pubDate>Fri, 22 Dec 2017 00:00:00 +0800</pubDate><guid>https://tonybai.com/2017/12/22/2nd-issue-of-the-tech-weekly-carefully-chosen-by-tonybai/</guid><description>本文是首发于个人微信公众号的文章**TB一周萃选\[第2期\]**的归档。 封面 &amp;gt; “我天性不宜交际。 &amp;gt; &amp;gt; 在多数场合，我不是觉得对方乏味，就是害怕对方觉得我乏味。可是我既不愿忍受对方的乏味，也不愿费劲使自己显得有趣，那都太累了。 &amp;gt; &amp;gt; 我独处时最轻松，因为我不觉得自己乏味，即使乏味，也自己承受，不累及他人，无需感到不安。” ——周国平 本周日晚上就是平安夜了！ 圣诞节，是西方最重要的节日...</description></item><item><title>Go语言：成长的十年</title><link>https://tonybai.com/2017/09/24/go-ten-years-and-climbing/</link><pubDate>Sun, 24 Sep 2017 00:00:00 +0800</pubDate><guid>https://tonybai.com/2017/09/24/go-ten-years-and-climbing/</guid><description>Go语言之父，Google大神Rob Pike代表Go语言的另外两位缔造者Robert Griesemer和Ken Thompson在自己的博客上发表了一篇名为《Go: Ten years and climbing》的文章，用以纪念Go语言从最初的设计idea起到目前的十年发展。笔者读完后，也是深有感触，因此在这里粗略翻译一下全文，希望能有更多的程序员加入到Gopher行列中来。 译文全文如下： ...</description></item><item><title>Hello, Apollo</title><link>https://tonybai.com/2017/08/15/hello-apollo/</link><pubDate>Tue, 15 Aug 2017 00:00:00 +0800</pubDate><guid>https://tonybai.com/2017/08/15/hello-apollo/</guid><description>要说目前哪个技术领域投资最火热，莫过于人工智能。而人工智能领域中最火的(或者说之一)肯定要算上自动驾驶。自动驾驶的概念不是什么新鲜的玩意了，只是随着近两年这一波人工智能的大热，自动驾驶又被推到了风口浪尖。各大汽车厂商、互联网公司也都跃跃欲试，准备给汽车这一“历经百年的黄金平台”做一次新的“赋能”。 今年7月5日，国内搜索引擎No.1企业百度在其首届百度AI开发者大会上发布了Apollo自动驾驶开放...</description></item><item><title>定制Go Package的Go Get导入路径</title><link>https://tonybai.com/2017/06/28/set-custom-go-get-import-path-for-go-package/</link><pubDate>Wed, 28 Jun 2017 00:00:00 +0800</pubDate><guid>https://tonybai.com/2017/06/28/set-custom-go-get-import-path-for-go-package/</guid><description>近期Go team的组员Jaana B. Dogan，网名：rakyll开源了一个小工具：Go Vanity URLs。这个小工具可以帮助你快速为你的Go package定制Go get的导入路径（同样也是package被使用时的import路径）。 说到go package的go get导入路径，我们最常见和常使用的domain name就是github.com了，比如：beego包的go ge...</description></item><item><title>TensorFlow入门：零基础建立第一个神经网络</title><link>https://tonybai.com/2017/02/06/build-your-first-neural-network-with-tensorflow/</link><pubDate>Mon, 06 Feb 2017 00:00:00 +0800</pubDate><guid>https://tonybai.com/2017/02/06/build-your-first-neural-network-with-tensorflow/</guid><description>首先，我不得不承认这篇文章有些标题党的味道^0^，但文章还是要继续写下去，备忘也好，能帮助到一些人也好。 在2016小结的时候，我说过：2017年要了解一些有关机器学习和人工智能(以下简称AI)方面的技术。如果有童鞋问：Why？我会告诉你：跟风。作为技术人，关注和紧跟业界最前沿的技术总是没错的。 2016年被业界普遍认为是AI这一波高速发展的元年，当然DeepMind的AlphaGo在这方面所起到...</description></item><item><title>以Kubeadm方式安装的Kubernetes集群的探索</title><link>https://tonybai.com/2017/01/24/explore-kubernetes-cluster-installed-by-kubeadm/</link><pubDate>Tue, 24 Jan 2017 00:00:00 +0800</pubDate><guid>https://tonybai.com/2017/01/24/explore-kubernetes-cluster-installed-by-kubeadm/</guid><description>当前手上有两个Kubernetes cluster，一个是采用kube-up.sh安装的k8s 1.3.7版本，另外一个则是采用kubeadm安装的k8s 1.5.1版本。由于1.3.7版本安装在前，并且目前它也是承载了我们PaaS平台的环境，因此对于这个版本的Kubernetes安装环境、配置操作、日志查看、集群操作等相对较为熟悉。而Kubeadm安装的1.5.1版本K8s集群在组件部署、配置、...</description></item><item><title>一篇文章带你了解Kubernetes安装</title><link>https://tonybai.com/2016/10/18/learn-how-to-install-kubernetes-on-ubuntu/</link><pubDate>Tue, 18 Oct 2016 00:00:00 +0800</pubDate><guid>https://tonybai.com/2016/10/18/learn-how-to-install-kubernetes-on-ubuntu/</guid><description>由于之前在阿里云上部署的Docker 1.12.2的Swarm集群没能正常展示出其所宣称的Routing mesh和VIP等功能，为了满足项目需要，我们只能转向另外一种容器集群管理和服务编排工具Kubernetes。 &amp;gt; _注：之前Docker1.12集群的Routing mesh和VIP功能失效的问题，经过在github上与Docker开发人员的沟通，目前已经将问题原因缩小在阿里云的网络上面，目...</description></item><item><title>Docker 1.12 swarm模式下遇到的各种问题</title><link>https://tonybai.com/2016/10/11/some-problems-under-swarm-mode-in-docker-1-12/</link><pubDate>Tue, 11 Oct 2016 00:00:00 +0800</pubDate><guid>https://tonybai.com/2016/10/11/some-problems-under-swarm-mode-in-docker-1-12/</guid><description>前段时间，由于工作上的原因，与Docker的联系发生了几个月的中断^\_^，从10月份开始，工作中又与Docker建立了广泛密切的联系。不过这次，Docker却给我泼了一盆冷水:(。事情的经过请允许多慢慢道来。 经过几年的开发，Docker已经成为轻量级容器领域不二的事实标准，应用范围以及社区都在快速发展和壮大。今年的年中，Docker发布了其里程碑的版本Docker 1.12，该版本最大的变动就...</description></item><item><title>GopherChina2016后记</title><link>https://tonybai.com/2016/04/18/my-experience-of-gopherchina2016/</link><pubDate>Mon, 18 Apr 2016 00:00:00 +0800</pubDate><guid>https://tonybai.com/2016/04/18/my-experience-of-gopherchina2016/</guid><description>4月17日晚22:51，伴随着D7次动车缓缓驶入沈阳北站，拖着疲惫的身体和些许兴奋的我，结束了两天的GopherChina 2016之旅。 一、GopherChina大会 GopherChina大会是中国大陆地区Golang语言推广第一品牌。2015年在上海成功了举办了第一届大会；2016年，大会发起人astaxie为充分照顾帝都（及周边）Gophers们的情绪^\_^，将GopherChina ...</description></item><item><title>Rancher使用入门</title><link>https://tonybai.com/2016/04/14/an-introduction-about-rancher/</link><pubDate>Thu, 14 Apr 2016 00:00:00 +0800</pubDate><guid>https://tonybai.com/2016/04/14/an-introduction-about-rancher/</guid><description>上个月末，Rancher Labs在其官方博客上宣布了 Rancher 1.0正式版本发布。 这是继Apache Mesos、 Google Kubernetes以及Docker 原生 Swarm 之后，又一个可用于Production环境中的容器管理和服务编排工具，而Rancher恰似这个领域的最后一张拼图（请原谅我的孤陋寡闻，如 果有其他 厂商在做这方面产品，请在评论中留言告诉我）。从Ranc...</description></item><item><title>Go语言错误处理</title><link>https://tonybai.com/2015/10/30/error-handling-in-go/</link><pubDate>Fri, 30 Oct 2015 00:00:00 +0800</pubDate><guid>https://tonybai.com/2015/10/30/error-handling-in-go/</guid><description>近期闲暇用Go写一个lib，其中涉及到error处理的地方让我琢磨了许久。关于Go错误处理的资料和视频已有许多，Go authors们也在官方Articles和Blog上多次提到过一些Go error handling方面的一些tips和best practice，这里仅仅算是做个收集和小结，尽视野所及，如有不足，欢迎评论中补充。（10月因各种原因，没有耕博，月末来一发，希望未为晚矣 ^\_^） ...</description></item><item><title>Golang技术幻灯片的查看方法</title><link>https://tonybai.com/2015/08/22/how-to-view-golang-tech-slide/</link><pubDate>Sat, 22 Aug 2015 00:00:00 +0800</pubDate><guid>https://tonybai.com/2015/08/22/how-to-view-golang-tech-slide/</guid><description>随着go 1.5的发布，golang在世界各地日益受到欢迎，golang技术鼓吹者在世界各地举办各种级别的技术会议(从GopherCon大会到小小的meetup)，并在会议上分享自己的技术心得和技术想法。 Golang相关的技术幻灯片有多种格式，以.ppt, .pdf和.slide为主。ppt、pdf自然不必多说，需要直接下载查看。 .slide是随着golang诞生而出现的一种present格式...</description></item><item><title>weed-fs使用简介</title><link>https://tonybai.com/2015/08/22/intro-of-using-weedfs/</link><pubDate>Sat, 22 Aug 2015 00:00:00 +0800</pubDate><guid>https://tonybai.com/2015/08/22/intro-of-using-weedfs/</guid><description>weed-fs，全名Seaweed-fs，是一种用golang实现的简单且高可用的分布式文件系统。该系统的目标有二： \- 存储billions of files \- serve the files fast weed-fs起初是为了搞一个基于Fackbook的Haystack论文的实现，Haystack旨在优化Fackbook内部图片存储和获取。后在这个基 础上，weed-fs作者又增加了若干...</description></item><item><title>理解Go 1.5 vendor</title><link>https://tonybai.com/2015/07/31/understand-go15-vendor/</link><pubDate>Fri, 31 Jul 2015 00:00:00 +0800</pubDate><guid>https://tonybai.com/2015/07/31/understand-go15-vendor/</guid><description>Go 1.5中(目前最新版本go1.5beta3)加入了一个experimental feature: **vendor/**。这个feature不是Go 1.5的正式功能，但却是Go Authors们在解决Go被外界诟病的包依赖管理的道路上的一次重要尝试。目前关于Go vendor机制的资料有限，主要的包括如下几个： 1、Russ Cox在Golang-dev group上的一个名 为&amp;#34;prop...</description></item><item><title>使用core-vagrant方式安装CoreOS</title><link>https://tonybai.com/2015/07/20/install-coreos-by-coreos-vagrant/</link><pubDate>Mon, 20 Jul 2015 00:00:00 +0800</pubDate><guid>https://tonybai.com/2015/07/20/install-coreos-by-coreos-vagrant/</guid><description>CoreOS是一种专门为运行类docker容器而生的linux发行版。与其他通用linux发行版（ubuntu、debian、redhat)相 比，它具有体型最小，消耗最小，支持滚动更新等特点。除此之外CoreOS内置的分布式系统服务组件也给开发者和运维者组建分布式集群、部署分布式服务应 用带来了极大便利。 CoreOS与知名容器Docker脚前脚后诞生，到目前为止已经较为成熟，国外主流云平台提供...</description></item><item><title>也谈并发与并行</title><link>https://tonybai.com/2015/06/23/concurrency-and-parallelism/</link><pubDate>Tue, 23 Jun 2015 00:00:00 +0800</pubDate><guid>https://tonybai.com/2015/06/23/concurrency-and-parallelism/</guid><description>在一般人的眼中，“并行”就是并行，即你干你的，我干我的，两个“并行”的执行过程可能是两条毫无瓜葛的平行线，也可能是有交叉，但瞬即分开的两条线。不 过在程序员的世界里，有关“并行”的概念却有两个单词：Concurrency和Parallelism，对应的比较主流的中文翻译为并发 (Concurrency)和并行(Parallelism)。 之前一直使用C、Python进行Coding，对Concrr...</description></item><item><title>Appdash，用Go实现的分布式系统跟踪神器</title><link>https://tonybai.com/2015/06/17/appdash-distributed-systems-tracing-in-go/</link><pubDate>Wed, 17 Jun 2015 00:00:00 +0800</pubDate><guid>https://tonybai.com/2015/06/17/appdash-distributed-systems-tracing-in-go/</guid><description>在“云”盛行的今天，分布式系统已不是什么新鲜的玩意儿。用脚也能想得出来：Google、baidu、淘宝、亚马逊、twitter等IT巨头 背后的巨型计算平台都是分布式系统了，甚至就连一个简单的微信公众号应用的后端也都分布式了，即便仅有几台机器而已。分布式让系统富有弹性，面 对纷繁变化的需求，可以伸缩自如。但分布式系统也给开发以及运维人员带来了难题：如何监控和优化分布式系统的行为。 以google为...</description></item><item><title>Blog站点被黑以及问题解决过程</title><link>https://tonybai.com/2015/04/12/fix-hacked-blog-site/</link><pubDate>Sun, 12 Apr 2015 00:00:00 +0800</pubDate><guid>https://tonybai.com/2015/04/12/fix-hacked-blog-site/</guid><description>记得前些日子，我在Blog评论里发现有人说我的Blog站点被黑： &amp;#34;YOUR SITE HAS BEEN HACKED – THERE ARE PARASITE PAGES IN http://tonybai.com/dl SECURE YOUR SITE!!!&amp;#34; 粗浅检查了一番，没有发现什么异常，也就没把这事当回事儿。 昨天上Gmail(由于需要搭梯子，不经常登录)，发现一位网友发来mail说我...</description></item><item><title>Go语言的有效错误处理</title><link>https://tonybai.com/2014/11/14/effective-error-handling-in-go/</link><pubDate>Fri, 14 Nov 2014 00:00:00 +0800</pubDate><guid>https://tonybai.com/2014/11/14/effective-error-handling-in-go/</guid><description>中午闲暇翻看Daniel Morsing的“The Go scheduler”时，发现其另外一篇短文“Effective error handling in Go”，文章不长，但感觉对Go中错误处理方法总结的还是比较到位的，这里译之供大家参考。 **一、简介** Go语言受到诟病最多的一项就是其错误处理机制。如果显式地检查和处理每个error，这恐怕的确会让人望而却步。你可以试试这里列出的几个方法...</description></item><item><title>Go，5周年</title><link>https://tonybai.com/2014/11/12/go-5-years/</link><pubDate>Wed, 12 Nov 2014 00:00:00 +0800</pubDate><guid>https://tonybai.com/2014/11/12/go-5-years/</guid><description>2014年11月10日（美国当地时间），Golang的官方博客 放出了Andrew Gerrand的一篇博文《Half a decade with Go》来纪念Go语言发布五周年。文章按时间顺序简要描述了Golang这五年来发展的 点点滴滴，并让全世界Gopher看到了Go可期的光明未来。考虑到这篇文章在墙外，不便于国内Gopher阅读，这里给出中文翻译版，希望能给中国大陆 的Gophers带来些...</description></item><item><title>Go语言是如何处理栈的</title><link>https://tonybai.com/2014/11/05/how-stacks-are-handled-in-go/</link><pubDate>Wed, 05 Nov 2014 00:00:00 +0800</pubDate><guid>https://tonybai.com/2014/11/05/how-stacks-are-handled-in-go/</guid><description>Go 1.4Beta1刚刚发布，在Go 1.4Beta1中，Go语言的stack处理方式由之前的&amp;#34;segmented stacks&amp;#34;改为了&amp;#34;continuous stacks&amp;#34;。关于Go语言对stack的处理机制、发展历史、存在问题等，CloudFlare的一篇官方blog进行了系统的阐述，这里的内容就是 翻译自CloudFlare的那篇blog：《How Stacks are Handled i...</description></item><item><title>godep的一个“坑”</title><link>https://tonybai.com/2014/10/30/a-hole-of-godep/</link><pubDate>Thu, 30 Oct 2014 00:00:00 +0800</pubDate><guid>https://tonybai.com/2014/10/30/a-hole-of-godep/</guid><description>很多人学习和使用Golang一段时间后，都会被golang的第三方包依赖版本搞得有些烦躁，golang设计者最初过于乐观的设计使得今天大 家不得不各自想办法解决这个问题。godep就是综合了多年第三方包依赖问题的解决方案后的一个趋向统一的方案，至少是在go get的设计没有进化前的一个比较不错的方案。 今天试用了一把godep，不过“体验”并不理想，这缘于我遇到了godep的一个“坑”，不过是那种...</description></item><item><title>Golang的演化历程</title><link>https://tonybai.com/2014/10/25/golang-history/</link><pubDate>Sat, 25 Oct 2014 00:00:00 +0800</pubDate><guid>https://tonybai.com/2014/10/25/golang-history/</guid><description>本文来自Google的Golang语言设计者之一Rob Pike大神在GopherCon2014大会上的开幕主题演讲资料“Hello, Gophers!”。Rob大神在这次分 享中用了两个生动的例子讲述了Golang的演化历程，总结了Golang到目前为止的成功因素，值得广大Golang Programmer &amp;amp; Beginner学习和了解。这里也用了&amp;#34;Golang的演化历程&amp;#34;作为标题。 **1、...</description></item><item><title>Golang Channel用法简编</title><link>https://tonybai.com/2014/09/29/a-channel-compendium-for-golang/</link><pubDate>Mon, 29 Sep 2014 00:00:00 +0800</pubDate><guid>https://tonybai.com/2014/09/29/a-channel-compendium-for-golang/</guid><description>在进入正式内容前，我这里先顺便转发一则消息，那就是Golang 1.3.2已经正式发布了。国内的golangtc已经镜像了golang.org的安装包下载页面，国内go程序员与爱好者们可以到&amp;#34;Golang中 国&amp;#34;，即golangtc.com去下载go 1.3.2版本。 Go这门语言也许你还不甚了解，甚至是完全不知道，这也有情可原，毕竟Go在TIOBE编程语言排行榜上位列30开外。但近期使用Gola...</description></item><item><title>Cocos2d-x屏幕适配之Sprite绘制原理</title><link>https://tonybai.com/2014/05/13/sprite-draw-principles-of-cocos2dx-screen-adaptation/</link><pubDate>Tue, 13 May 2014 00:00:00 +0800</pubDate><guid>https://tonybai.com/2014/05/13/sprite-draw-principles-of-cocos2dx-screen-adaptation/</guid><description>手机(智能终端)游戏绝大多数为全屏(Full Screen)显示，这样开发人员在制作游戏时势必要考虑不同手机(智能终端）屏幕大小、宽高比的不同给游戏画面带来的影响，并且要将这种影响降低到最 小，努力使用不同终端的游戏玩家拥有几乎相同的游戏画面体验。为此各种游戏引擎在屏幕适配方面都给出了自己的方案，Cocos2d-x也不例外。 在Cocos2d-x官网Wiki上特地撰写了一篇讲解Cocos2d-x多...</description></item><item><title>Cocos2d-x 3.0rc0集成Google AdMob SDK</title><link>https://tonybai.com/2014/05/01/integrate-cocos2dx3rc0-with-admob/</link><pubDate>Thu, 01 May 2014 00:00:00 +0800</pubDate><guid>https://tonybai.com/2014/05/01/integrate-cocos2dx3rc0-with-admob/</guid><description>话说Cocos2d-x 3.0上一周迫不及待地发布了正式版，本是一件值得庆幸的事情。但由于不可解决的技术问题，引擎无奈将Android平台的NativeActivity 实现重新回退到了Cocos2d-x 2.2.x版本的实现方案。由于之前已经将 GameDemo移植到了Cocos2d-x 3.0rc0版，直观感受到了NativeActivity方案带来的游戏操作体验上的提升（触屏事件的响应），因...</description></item><item><title>Cocos2d-x 3.0多线程异步资源加载</title><link>https://tonybai.com/2014/04/28/multithreaded-resource-loading-in-cocos2dx-3/</link><pubDate>Mon, 28 Apr 2014 00:00:00 +0800</pubDate><guid>https://tonybai.com/2014/04/28/multithreaded-resource-loading-in-cocos2dx-3/</guid><description>Cocos2d-x从2.x版本到上周刚刚才发布的Cocos2d-x 3.0 Final版，其引擎驱动核心依旧是一个单线程的“死循环”，一旦某一帧遇到了“大活儿”，比如Size很大的纹理资源加载或网络IO或大量计算，画面将 不可避免出现卡顿以及响应迟缓的现象。从古老的Win32 GUI编程那时起，Guru们就告诉我们：别阻塞主线程(UI线程)，让Worker线程去做那些“大活儿”吧。 手机游戏，即便...</description></item><item><title>Cocos2d-x 3.0rc2集成ShareSDK</title><link>https://tonybai.com/2014/04/25/integrate-cocos2dx3rc2-with-sharesdk/</link><pubDate>Fri, 25 Apr 2014 00:00:00 +0800</pubDate><guid>https://tonybai.com/2014/04/25/integrate-cocos2dx3rc2-with-sharesdk/</guid><description>给自己的手机游戏增加些社交分享功能，有助于游戏宣传和提升知名度，是一种不错的社交营销手段。国内这方面的第三方插件有不少，比如ShareSDK、友 盟分享组件、Baidu分享组件等，之前在研究2.2.2版本时，集成了ShareSDK这个组件，这次迁移到Cocos2d-x 3.0rc2依旧选择集成ShareSDK，这里就来说说集成的过程，遇到的一些问题以及解决方法。这里仅以Android平台游戏集成为...</description></item><item><title>Cocos2d-x 3.0rc2针对Android平台的变动</title><link>https://tonybai.com/2014/04/23/changes-in-cocos2dx-3-rc2-for-android/</link><pubDate>Wed, 23 Apr 2014 00:00:00 +0800</pubDate><guid>https://tonybai.com/2014/04/23/changes-in-cocos2dx-3-rc2-for-android/</guid><description>《Hello, Cocos2d-x 3.0》一文发出后没多久，我就迫不及待地将手头的一个习作尝试从2.2.2版本迁移到3.0rc0引擎上。 核心代码迁移相对顺利，大致流程如下： **\* 创建项目** 1) cd cocos2d-x-3.0rc0；     2) 执行setup.py，设置引擎依赖的环境变量，脚本会将COCOS\_CONSOLE\_ROOT和ANT\_ROOT写入到~/.bash\...</description></item><item><title>Hello, Cocos2d-x 3.0rc0</title><link>https://tonybai.com/2014/04/22/hello-cocos2dx-3-rc0/</link><pubDate>Tue, 22 Apr 2014 00:00:00 +0800</pubDate><guid>https://tonybai.com/2014/04/22/hello-cocos2dx-3-rc0/</guid><description>Cocos2d-x 3.0版本已经发布了rc2，这让这段时间用熟了Cocos2d-x 2.2.2的我也有些蠢蠢欲动。按照触控科技主创人员在CocoaChina2014大会上的讲解，Cocos2d-x 3.0版本相比2.x版本在各方面都有不错的提升，于是乎就想把手头上的一款习作移植到3.0版本引擎下，看看运行效果如何。不过在移植之前，我先来看看 3.0与2.0相比在整体代码结构以及引擎驱动核心方面到...</description></item><item><title>Cocos2d-x内存管理-绕不过去的坎</title><link>https://tonybai.com/2014/03/18/cocos2dx-memory-management/</link><pubDate>Tue, 18 Mar 2014 00:00:00 +0800</pubDate><guid>https://tonybai.com/2014/03/18/cocos2dx-memory-management/</guid><description>Cocos2d-x引擎的核心是用C++编写的，那对于所有使用该引擎的游戏开发人员来说，内存管理是一道绕不过去的坎。 关于Cocos2d-x内存管理，网上已经有了许多参考资料，有些资料写的颇为详实，因为在内存管理这块我不想多费笔墨，只是更多的将思路描述清 楚。 **一、对象内存引用计数** Cocos2d-x内存管理的基本原理就是对象内存引用计数，Cocos2d-x将内存引用计数的实现放在了顶层父类...</description></item><item><title>Hello, Cocos2d-x</title><link>https://tonybai.com/2014/03/11/hello-cocos2dx/</link><pubDate>Tue, 11 Mar 2014 00:00:00 +0800</pubDate><guid>https://tonybai.com/2014/03/11/hello-cocos2dx/</guid><description>女儿从两岁半开始接触iPad，在这个年龄段也只有一些幼教类游戏适合她玩。虽然知道iPad玩久了对视力有伤害，但有时候还真拗不过果果，索性 也就让她玩一会儿。之前对智能终端上的东西不是很在意，也没啥兴趣，这大概与当年在大学时做Win32 GUI开发的糟糕经历多多少少有点关系。不过智能终端是大势所趋，历史的潮流不能违抗。虽然自己并非以Android/iOS编程为主业，但适当学习学习 总归没有坏处，万一...</description></item><item><title>说说执行力</title><link>https://tonybai.com/2014/03/05/thought-on-executive-power/</link><pubDate>Wed, 05 Mar 2014 00:00:00 +0800</pubDate><guid>https://tonybai.com/2014/03/05/thought-on-executive-power/</guid><description>_You are never to dictate what I can and can not do. The only two words I want to hear from you when I ask you to do something are &amp;#34;Yes&amp;#34; and &amp;#34;Sir&amp;#34;。（我能做什么不能做什么，你管不着。我吩咐你做事的时候，只想听到两个词，&amp;#34;是的&amp;#34;和&amp;#34;先生&amp;#34;。）       ...</description></item><item><title>Recommended C Style and Coding Standards中文版全文</title><link>https://tonybai.com/2013/11/26/the-full-text-of-recommended-c-style-and-coding-standards/</link><pubDate>Tue, 26 Nov 2013 00:00:00 +0800</pubDate><guid>https://tonybai.com/2013/11/26/the-full-text-of-recommended-c-style-and-coding-standards/</guid><description>今天无意中打开了托管在Google Code上的“Recommended C Style and Coding Standards”翻译项目，忽感觉通过目录链接的方式查看译文缺少整体感，于是花了点时间将译文全文以single page的形式贴在博客里面，方便大家查看，也算是对该翻译内容的一个备份吧。 **C语言编码风格和标准** **0\. 摘要** 本文翻译自《Recommended C Sty...</description></item><item><title>再谈那些代码中的“中国式”命名</title><link>https://tonybai.com/2013/11/22/those-chinese-style-naming-in-code-again/</link><pubDate>Fri, 22 Nov 2013 00:00:00 +0800</pubDate><guid>https://tonybai.com/2013/11/22/those-chinese-style-naming-in-code-again/</guid><description>近期博客访问量提高了不少，分析了下原因，发现是有几篇近期写的文章被某个好心网友提交到dbanotes的Startup News上了。与此同时，一些反馈也随之而来。从反馈来看，《那些代码中的“中国式”命名》一文似乎受到了更多的关注，或许是文章标题比较容易引起好奇的 缘故吧。但文章的本意仅是想阐述一些事实罢了，并没有“哗众取宠”的意思。网友的观点也促使我重新对“中国式”命名做了反思。 **\* “中国...</description></item><item><title>关于程序员的构思能力的一些体会</title><link>https://tonybai.com/2013/10/27/some-experience-about-ideation-of-programmer/</link><pubDate>Sun, 27 Oct 2013 00:00:00 +0800</pubDate><guid>https://tonybai.com/2013/10/27/some-experience-about-ideation-of-programmer/</guid><description>_有一段时间，我完全沉迷于在脑海中**想象**机械绘图和设计新机型所带来的极致享受，这是我一生中有过的最完美的精神愉悦。创造的灵感像泉水般源 源不断 地涌出，我遇到的唯一困难就是必须设法牢牢抓住它们。对我来说，**构思**中的设备零件都绝对是真实的，所有细节都触手可及，甚至最细微的标识和磨损状态也是如 此。想象发动机在持续不断地运转，仿佛一道迷人的风景呈现在面前，令我欣喜若狂。_         ...</description></item><item><title>关于编程语言学习的一些体会</title><link>https://tonybai.com/2013/10/22/some-experience-about-learning-programming-language/</link><pubDate>Tue, 22 Oct 2013 00:00:00 +0800</pubDate><guid>https://tonybai.com/2013/10/22/some-experience-about-learning-programming-language/</guid><description>_Learn at least one _new language every year_.                                               — Andy Hunt and Dave Thomas_ 自己一直是“每年学习一门新语言”的忠实拥趸，曾先后认真地学习了Haskell、Common Lisp、Python、Go等语言，对Prolog、Scala、...</description></item><item><title>我的工作原则2</title><link>https://tonybai.com/2013/09/03/my-personal-work-principles-2/</link><pubDate>Tue, 03 Sep 2013 00:00:00 +0800</pubDate><guid>https://tonybai.com/2013/09/03/my-personal-work-principles-2/</guid><description>_自我认知是循序渐进的，体会到了，就想将其整理出来，给自己一个交代。_                                                                             _\- Tony Bai_ 关于我的工作原则，感觉之前的那篇总结的还不够，这两天通过观察自己的所言所行，又有了些思绪，这里记录下来。 **\* 重塑标准** 简单来说就是根据组...</description></item><item><title>使用squid搭建http代理</title><link>https://tonybai.com/2012/11/21/setup-http-proxy-with-squid/</link><pubDate>Wed, 21 Nov 2012 00:00:00 +0800</pubDate><guid>https://tonybai.com/2012/11/21/setup-http-proxy-with-squid/</guid><description>近期在做一些基础设施搭建的过程中，又遭遇到了公司http代理的问题。主要是很多主机上的工具只支持不带身份鉴权信息的http\_proxy设置，如只 支持诸如：export http\_proxy=&amp;#39;http://10.10.1.1:8090&amp;#39;，而不支持export http\_proxy=&amp;#39;http://tonybai:passwd@10.10.1.1:8090&amp;#39;这种形式的配置。 或是其命令行选项...</description></item><item><title>buildc 0.2.0版本发布</title><link>https://tonybai.com/2012/11/06/buildc-0-2-0-release/</link><pubDate>Tue, 06 Nov 2012 00:00:00 +0800</pubDate><guid>https://tonybai.com/2012/11/06/buildc-0-2-0-release/</guid><description>buildc的演进先后经历了构建管理和安装包工程管理两个阶段。其中buildc的构建管理功能在项目中应用较早，目前相对稳定可靠。但其支持的安装包工程是直到最近才被大家所正式使用的。不出意料，大家在使用过程发现了一些问题，于是我们也是边用边改。 目前一个setup工程一般具有类似如下源码组织结构： distributions/ setup.cfg src/     – README     – ap...</description></item><item><title>也谈Go语言代码包分发</title><link>https://tonybai.com/2012/10/25/go-package-distributing/</link><pubDate>Thu, 25 Oct 2012 00:00:00 +0800</pubDate><guid>https://tonybai.com/2012/10/25/go-package-distributing/</guid><description>Go语言目前(截至1.0.2版本)尚不支持直接链接.a文件(这里的.a文件指的不是传统静态共享库，而是对golang的非main包build后的产物)。这样一来Go的第三方库包或组织内部的公共代码库包只能以源码的形式分发了。 Go提供了get命令用于获取他人分发的代码包。我们通过get命令既可以获取一些知名代码托管站点上的代码，也可以获取组织内部版本控制服务器上的公共代码。 Go get支持的托管...</description></item><item><title>也谈Go语言声明语法</title><link>https://tonybai.com/2012/10/11/understanding-go-declaration-syntax/</link><pubDate>Thu, 11 Oct 2012 00:00:00 +0800</pubDate><guid>https://tonybai.com/2012/10/11/understanding-go-declaration-syntax/</guid><description>一直在从事C语言服务端应用开发，对C的变量声明语法早已烂熟于胸，同时也深知复杂的C变量声明十分晦涩难解。记得若干年前还特意花了一些时间研究理解复 杂C变量声明的方法，记忆中这些方法包括：《C专家编程》中提到的“优先级”规则、right-left规则以及顺时针/螺旋形规则等，幸运地是我们日常 开发中少有使用极为复杂的变量声明(如void (\*signal (int signo, void (\*f...</description></item><item><title>编程语言进入“拼爹”时代</title><link>https://tonybai.com/2012/10/08/the-new-age-of-programming-language/</link><pubDate>Mon, 08 Oct 2012 00:00:00 +0800</pubDate><guid>https://tonybai.com/2012/10/08/the-new-age-of-programming-language/</guid><description>近期看到一则新闻，说是Microsoft推出了一门开源的编程语言叫TypeScript，该Project的主要负责人是大名鼎鼎的Anders Hejlsberg，就是那个Turbo Pascal 、Delphi以及C#)之父。结合近几年来出现的颇受关注的其他几门编程语言，如Go、Rust、Dart)等，让我感觉到编程语言似乎进入了&amp;#34;拼爹&amp;#34;时代。 我们来列举一下这几门新兴语言的“老爹”(设计者)： ...</description></item><item><title>Go与C语言的互操作</title><link>https://tonybai.com/2012/09/26/interoperability-between-go-and-c/</link><pubDate>Wed, 26 Sep 2012 00:00:00 +0800</pubDate><guid>https://tonybai.com/2012/09/26/interoperability-between-go-and-c/</guid><description>Go有强烈的C背景，除了语法具有继承性外，其设计者以及其设计目标都与C语言有着千丝万缕的联系。在Go与C语言互操作(Interoperability)方面，Go更是提供了强大的支持。尤其是在Go中使用C，你甚至可以直接在Go源文件中编写C代码，这是其他语言所无法望其项背的。 在如下一些场景中，可能会涉及到Go与C的互操作： 1、提升局部代码性能时，用C替换一些Go代码。C之于Go，好比汇编之于C。...</description></item><item><title>Go中的系统Signal处理</title><link>https://tonybai.com/2012/09/21/signal-handling-in-go/</link><pubDate>Fri, 21 Sep 2012 00:00:00 +0800</pubDate><guid>https://tonybai.com/2012/09/21/signal-handling-in-go/</guid><description>我们在生产环境下运行的系统要求优雅退出，即程序接收退出通知后，会有机会先执行一段清理代码，将收尾工作做完后再真正退出。我们采用系统Signal来 通知系统退出，即kill pragram-pid。我们在程序中针对一些系统信号设置了处理函数，当收到信号后，会执行相关清理程序或通知各个子进程做自清理。kill -9强制杀掉程序是不能被接受的，那样会导致某些处理过程被强制中断，留下无法恢复的现场，导致消...</description></item><item><title>Go语言标准库概览</title><link>https://tonybai.com/2012/09/08/a-brief-tour-of-go-standard-library/</link><pubDate>Sat, 08 Sep 2012 00:00:00 +0800</pubDate><guid>https://tonybai.com/2012/09/08/a-brief-tour-of-go-standard-library/</guid><description>本文翻译自Dr.Dobb&amp;#39;s的&amp;#34;A Brief Tour of the Go Standard Library&amp;#34;一文。 **在Go语言五周系列教程的最后一部分中，我们将带领大家一起来浏览一下Go语言丰富的标准库。** Go标准库包含了大量包，提供了丰富广泛的功能特性。这里提供了概览仅仅是有选择性的且非常简单。本文发表后，标准库的内容还可能继续增加，因此 建议大家最好是通过在线查阅库API或使用go...</description></item><item><title>Go程序设计语言(三)</title><link>https://tonybai.com/2012/08/28/the-go-programming-language-tutorial-part3/</link><pubDate>Tue, 28 Aug 2012 00:00:00 +0800</pubDate><guid>https://tonybai.com/2012/08/28/the-go-programming-language-tutorial-part3/</guid><description>本文译自Rob Pike的Go语言PPT教程 – &amp;#34;The Go Programming Language Part3(updated June 2011)&amp;#34;。由于该教程的最新更新时间早于Go 1版本发布，因此该PPT中的一些内容与Go 1语言规范略有差异，到时我会在相应的地方做上注解。 第三部分大纲 ------ * 并发与通信 * Goroutines * 通道(Channel) * 并发相关...</description></item><item><title>Go程序设计语言(二)</title><link>https://tonybai.com/2012/08/27/the-go-programming-language-tutorial-part2/</link><pubDate>Mon, 27 Aug 2012 00:00:00 +0800</pubDate><guid>https://tonybai.com/2012/08/27/the-go-programming-language-tutorial-part2/</guid><description>重写工作方式正如字段一样。 type NamedPoint struct {     Point     name string } func (n \*NamedPoint) Abs() float64 {    return n.Point.Abs() \* 100. } n := &amp;amp;NamedPoint{Point{3, 4}, &amp;#34;Pythagoras&amp;#34;} fmt.Println(n.Abs...</description></item><item><title>Go程序设计语言(一)</title><link>https://tonybai.com/2012/08/23/the-go-programming-language-tutorial-part1/</link><pubDate>Thu, 23 Aug 2012 00:00:00 +0800</pubDate><guid>https://tonybai.com/2012/08/23/the-go-programming-language-tutorial-part1/</guid><description>int          uint int8      uint8 = byte int16       uint16 int32       uint32         float32      complex64 int64       uint64         float64      complex128 还有uintptr，一个大小足够存储一个指针的数值。 这些都是互不相同的类型；...</description></item><item><title>也谈Go语言编程 – Hello，Go!</title><link>https://tonybai.com/2012/08/17/hello-go/</link><pubDate>Fri, 17 Aug 2012 00:00:00 +0800</pubDate><guid>https://tonybai.com/2012/08/17/hello-go/</guid><description>_**Go is expressive, concise, clean, and efficient. Its concurrency mechanisms make it easy to write programs that get the most out of multicore and networked machines, while its novel type system ena...</description></item><item><title>开始学Go</title><link>https://tonybai.com/2012/08/14/getting-going-with-go/</link><pubDate>Tue, 14 Aug 2012 00:00:00 +0800</pubDate><guid>https://tonybai.com/2012/08/14/getting-going-with-go/</guid><description>本文翻译自Dr.Dobb&amp;#39;s的&amp;#34;Getting Going with Go&amp;#34;。 **本文是有关Google新的系统原生语言的五周教程的第一部分，这里将先向大家展示如何建立Go语言开发环境以及构建程序，然后带领大家浏览 一些代码范例来着重了解一下这门语言的一些有趣的特性。** _这个教程系列将连续刊登五周。在今天这一部分中，Go语言专家Mark Summerfield将讲解如何建立Go语言开发环境，...</description></item><item><title>为什么不用用Go？</title><link>https://tonybai.com/2012/08/08/why-not-go/</link><pubDate>Wed, 08 Aug 2012 00:00:00 +0800</pubDate><guid>https://tonybai.com/2012/08/08/why-not-go/</guid><description>本文翻译自 Dr. Dobb&amp;#39;s主编Andrew Binstock的文章&amp;#34;Why Not Go?&amp;#34;。 Go是一种对系统原生语言的重要反思，它对C语言做了重大的改善，同时还保持了语言的极简性。 今年早些时候，我们写了一篇有关新兴系统原生(native)语言的文章。这些语言包括D、Go、Rust以及Vala。当时我们承诺将会对这些语言进行 细致的探索。从本周开始，我们将开启一系列对来自Google的新...</description></item><item><title>buildc 0.1.9版本发布</title><link>https://tonybai.com/2012/07/19/buildc-0-1-9-release/</link><pubDate>Thu, 19 Jul 2012 00:00:00 +0800</pubDate><guid>https://tonybai.com/2012/07/19/buildc-0-1-9-release/</guid><description>随着buildc使用的深入，越来越多的新需求暴露了出来。为了满足这些需求，我们组的小兄弟又对buildc进行了一些改造，这些变化如下： 1、支持将多个子工程打包到一个安装包中 最初buildc的设计思想是为每个子工程单独制作安装包，这样具有很强的灵活性。但在对现有N个工程进行构建脚本改造的过程中发现，有些工程间存在严重 依赖，比如工程A是一个业务级公共库工程，工程B和工程C都依赖工程A构建后生成的...</description></item><item><title>读《How Google Tests Software》</title><link>https://tonybai.com/2012/07/10/read-how-google-tests-software/</link><pubDate>Tue, 10 Jul 2012 00:00:00 +0800</pubDate><guid>https://tonybai.com/2012/07/10/read-how-google-tests-software/</guid><description>一直对Google这个牛X公司的内部开发过程很是感兴趣，毕竟像Google Search Engine、Google云计算平台这些伟大产品都是在这个开发过程下缔造出来的。但也许是Google保密工作做的很好，或许人家不是刻意保密，只是 因为工作太忙或人员太低调，没空派人出来宣讲罢了。外界对Google内部的开发流程知之甚少；知道一些，诸如20%项目，也只是皮毛。 终于有一天，Google的三位工程...</description></item><item><title>buildc 0.1.8版本发布</title><link>https://tonybai.com/2012/07/02/buildc-0-1-8-release/</link><pubDate>Mon, 02 Jul 2012 00:00:00 +0800</pubDate><guid>https://tonybai.com/2012/07/02/buildc-0-1-8-release/</guid><description>buildc这个小工具逐渐在项目组内部扩大了使用范围，还有一名专门的同事负责为每个项目制作安装包工程，这样也可以在使用中发现buildc的问题。 本次buildc 0.1.8的相关修正以及新增的feature就是我的这位年轻同事一手操刀完成的，他也是一个python新手，同样也是边翻手册边进行编码的。这次改动主要集中在templates目录下的几个文件，这里的文件多为因工程的不同而异的。 这次bu...</description></item><item><title>buildc 0.1.7版本发布</title><link>https://tonybai.com/2012/04/19/buildc-0-1-7-release/</link><pubDate>Thu, 19 Apr 2012 00:00:00 +0800</pubDate><guid>https://tonybai.com/2012/04/19/buildc-0-1-7-release/</guid><description>最近针对buildc又有了一些新想法，于是今天上午又对buildc进行了多处修改，并相继发布了0.1.6版本和0.1.7版本。 \* 对buildc cache upgrade的实现进行了修改。 在执行全量更新本地cache前，先对本地cache的情况进行一些检查，并判断是否与当前.buildc.rc中的配置相符。如果两者是一致的，那么只进行update操作；否则则执行真正的upgrade(rem...</description></item><item><title>buildc 0.1.5版本发布</title><link>https://tonybai.com/2012/04/13/buildc-0-1-5-release/</link><pubDate>Fri, 13 Apr 2012 00:00:00 +0800</pubDate><guid>https://tonybai.com/2012/04/13/buildc-0-1-5-release/</guid><description>这两天对buildc的改动比较频繁，今天又修正了一些问题，也增加了一些小功能。主要包括这么几点： 1、在Make.rules.in中增加了STATIC\_LIBS和DYNAMIC\_LIBS 项目源代码和项目中单元测试代码使用同一个Make.rules，也此编译时也就共享同一个LIBS变量。对于静态共享库还好说，但对于动态共享库，诸如Oracle的instantclient库，单元测试代码中即使没...</description></item><item><title>buildc 0.1.4版本发布</title><link>https://tonybai.com/2012/04/12/buildc-0-1-4-release/</link><pubDate>Thu, 12 Apr 2012 00:00:00 +0800</pubDate><guid>https://tonybai.com/2012/04/12/buildc-0-1-4-release/</guid><description>年后buildc开始逐渐在产品线的项目里应用了，随之而来的是大家反馈的各种意见和bug。尤其是bug，我都会很认真地应对，也会及时发布相应的版本修复这些bug。buildc 0.1.4版本就是一个bugfix版本，其修复的bug源于今天上午的一次持续集成的失败。 上午收到Jenkins发送的一个&amp;#34;build failed&amp;#34;的mail，一个安装包项目的CI job执行失败了，于是到Jenkins w...</description></item><item><title>C语言编码风格和标准</title><link>https://tonybai.com/2012/03/07/the-chinese-translation-of-recommended-c-style-and-coding-standards/</link><pubDate>Wed, 07 Mar 2012 00:00:00 +0800</pubDate><guid>https://tonybai.com/2012/03/07/the-chinese-translation-of-recommended-c-style-and-coding-standards/</guid><description>近期在为产品线的知识库编写一些指南类的文档，其中有一项就是对现有的C语言编码规范进行一些修订。为了&amp;#34;有米下锅&amp;#34;，我还特意在网上找了一些相关资料。关于C语言编码风格和标准的资料大多都成稿于上个世纪90年代，也就是在C90发布之后的若干年里；在C99发布后，部分资料根据最新的规范做了修订，但也有些资料认为C99对整体风格影响不大，也就保持了原样。 在这些资料中，我重点关注了一下这份文档《Recomme...</description></item><item><title>Blog新起点 – 从BlogBus搬家到WordPress</title><link>https://tonybai.com/2012/02/29/a-new-departure-of-my-blog-move-from-blogbus-to-wordpress/</link><pubDate>Wed, 29 Feb 2012 00:00:00 +0800</pubDate><guid>https://tonybai.com/2012/02/29/a-new-departure-of-my-blog-move-from-blogbus-to-wordpress/</guid><description>今天着实是一个值得纪念的日子，因为我终于完成了从BlogBus到WordPress的搬家工作，从此我的Blog将站在一个新的起点上。 自从2004年开博以来，我坚持了七年多，至今仍孜孜不倦，写博客已经成为我的生活中不可或缺的一部分，即使在微博等大行其道的今天，我亦然如此。作出搬家的决定显然是十分痛苦的，因为要抛弃已经建立起来的使用习惯以及Blog人气(包括搜索引擎索引、外部引用的等)是十分艰难的。...</description></item><item><title>为buildc添加安装包制作相关功能</title><link>https://tonybai.com/2012/02/10/add-packing-feature-to-buildc/</link><pubDate>Fri, 10 Feb 2012 00:00:00 +0800</pubDate><guid>https://tonybai.com/2012/02/10/add-packing-feature-to-buildc/</guid><description>在&amp;#34;也谈C应用安装包制作与部署&amp;#34;一文中，我提到了为每一个源码工程建立单独的安装包制作工程(setup project)的想法，这两天我就一直在折腾这件事儿^\_^。 最初我并没有想去搞一个通用的安装包制作工具，只是为一个现有的源码工程建立了一个试验性质的安装包工程，并实现了其构建脚本(build.py)。但之后考虑到各个项目都要建立一个对应的安装包工程，安装包工程的构建脚本build.py势必会沦...</description></item><item><title>为buildc添加setup脚本</title><link>https://tonybai.com/2012/02/07/add-setup-script-for-buildc/</link><pubDate>Tue, 07 Feb 2012 00:00:00 +0800</pubDate><guid>https://tonybai.com/2012/02/07/add-setup-script-for-buildc/</guid><description>buildc在发布0.1.0版时并没有做好安装脚本，当时的建议是直接下载0.1.0的源码包或svn export/checkout源码包，并手工将buildc目录位置加入到用户的PATH环境变量中。近期buildc计划正式投入到项目中使用，为了方便大家安装以及以后的统一升级维护，我花了些时间给buildc加上了setup脚本。 Python有标准的程序分发方案，不过我对这些了解不多。buildc本...</description></item><item><title>C语言项目构建管理辅助工具 – buildc</title><link>https://tonybai.com/2011/12/08/buildc-a-building-assistant-tool-for-c-app/</link><pubDate>Thu, 08 Dec 2011 00:00:00 +0800</pubDate><guid>https://tonybai.com/2011/12/08/buildc-a-building-assistant-tool-for-c-app/</guid><description>这几年我一直从事C语言项目的开发。这些项目的规模都不算小，少则十几万代码，多则几十万行代码，至少也都算得上是中型项目吧。项目构建工具使用的是传统的Make工具，构建脚本都是自行编写的，构建时直接在顶层目录下敲入make即可。 这种传统的构建方式其实是很耗时费力的。比如执行make之前你需要根据项目代码的实际路径重新设定一些环境变量或修改Makefile中的某些标识路径的变量；你还要将项目依赖的各种...</description></item><item><title>《Programming in Haskell》中文版翻译项目</title><link>https://tonybai.com/2010/11/14/the-chinese-translation-project-for-programming-in-haskell/</link><pubDate>Sun, 14 Nov 2010 00:00:00 +0800</pubDate><guid>https://tonybai.com/2010/11/14/the-chinese-translation-project-for-programming-in-haskell/</guid><description>_&amp;#34;A language that doesn&amp;#39;t affect the way you think about programming， is not worth knowing&amp;#34;._ — Alan Perlis(ACM 第一任主席，图灵奖得主，1922-1990) 《程序员修炼之道》这本书建议程序员每年应至少学习一门新的语言，以拓宽思维，避免墨守成规。今年我选择了函数式编程语言Haskell。...</description></item><item><title>“MT710”请回了家</title><link>https://tonybai.com/2010/03/16/buy-moto-mt710/</link><pubDate>Tue, 16 Mar 2010 00:00:00 +0800</pubDate><guid>https://tonybai.com/2010/03/16/buy-moto-mt710/</guid><description>近期中国移动推广3G业务普惠大众，推出多款3G定制机参加存话费增手机活动。先是一位同事存了一款多普达的强机，这让我心痒不已^\_^。但是Windows Mobile的系统我是不喜欢的。到辽宁移动网站上查看了一下参加活动的机型，发现了一款心仪的型号：摩托罗拉MT710，就是近期电视广告里频频曝光的那款黑红机，上周六我就迫不及待的到营业厅将这款强机请回了家。 MOTO的机子说实话不咋样，机子谈不上精致...</description></item><item><title>cmockery支持mock输出参数</title><link>https://tonybai.com/2009/08/26/cmockery-support-mocking-out-parameter/</link><pubDate>Wed, 26 Aug 2009 00:00:00 +0800</pubDate><guid>https://tonybai.com/2009/08/26/cmockery-support-mocking-out-parameter/</guid><description>近两天一有空就会去看看项目代码，思考一下如何利用cmockery对项目里已有的代码进行测试。项目代码中很多被调用的接口都带有输出参数，而且在这些接口中多利用返回值指示执行成败也否，而利用输出参数返回一些关键结果，这些结果值甚至影响着后续的函数执行流程。前期研究cmockery时没有注意到cmockery是否可以设置被mock接口的输出参数的值，不过回顾了一下cmockery实现的原理，觉得cmoc...</description></item><item><title>C单元测试之使用cmockery</title><link>https://tonybai.com/2009/08/22/introduce-cmockery-for-c-unit-test/</link><pubDate>Sat, 22 Aug 2009 00:00:00 +0800</pubDate><guid>https://tonybai.com/2009/08/22/introduce-cmockery-for-c-unit-test/</guid><description>这么久以来一直没有找到一款很好的支持mock测试的C语言单元测试工具包，但前不久在一网友的评论中得知：去年Google曾发布了一款c语言的轻量级单元测试framework — “cmockery”，cmcokery很小巧，对其他开源包没有依赖，对被测试代码侵入性小；它支持mock test，同样也可以支持常规的单元测试。 之前在博客中曾描述过C语言实现mock的一个思路，不过和cmockery对比...</description></item><item><title>Picasa Web Albums疑似被和谐了</title><link>https://tonybai.com/2009/07/27/picasa-web-albums-may-be-forbidden/</link><pubDate>Mon, 27 Jul 2009 00:00:00 +0800</pubDate><guid>https://tonybai.com/2009/07/27/picasa-web-albums-may-be-forbidden/</guid><description>网络相册，我一直用Google的Picasa Web Albums。若干年前的我最初使用的是Flickr，可好景不长，Flickr的图片地址在国内无法访问到了。无奈换到Picasa Web Albums，当初还花了好大力气将各个blog文章中的图片重新上传到Picasa，并更换文章中的链接。近期我最喜欢的巴萨开始正式赛季前的热身了，本打算写几篇文章发表下看法，但是却发现Picasa Web Alb...</description></item><item><title>近期的几则“烦心事”</title><link>https://tonybai.com/2008/09/25/some-trouble-recently/</link><pubDate>Thu, 25 Sep 2008 00:00:00 +0800</pubDate><guid>https://tonybai.com/2008/09/25/some-trouble-recently/</guid><description>近日和一位刚刚离职不久的同事在Fetion上聊天，他目前在北京的一家做SIP协议栈产品的外资公司供职，做PHP相关开发和维护。记得他刚到那家公司的时候和他聊过一阵，他当时由于刚刚去到那家公司，感觉很是新鲜，也很兴奋。不过这次聊天，他开始抱怨那个公司开发也很混乱，诸如Feature乱加、遗留代码不易修改等，最后他补充了一句：UNHAPPY。 这周是十一黄金周之前的最后一个工作周，需要连上七天班。这不...</description></item><item><title>从座位调换看文化差异</title><link>https://tonybai.com/2008/08/07/learn-culture-differences-from-seat-exchanges/</link><pubDate>Thu, 07 Aug 2008 00:00:00 +0800</pubDate><guid>https://tonybai.com/2008/08/07/learn-culture-differences-from-seat-exchanges/</guid><description>最近我们开发部正在讨论搬家事宜，搬家后的一个重点就是要调换和安排座位，恰好上周在Google黑板报上也看到了一篇题目为“Google如何调换座位”的文章，本来很平常的一件事，但在不同的公司里却恰恰能体现出来不同的公司文化。 换座位想必大家都经历过，从小学到高中，座位一般都是老师安排好的，或是按照大小个排队，走进教室，轮到哪个座位，哪个座位就是你的，我想大多数中国的中小学调座位的方法都大同小异。工作...</description></item><item><title>Google上看鸟巢和水立方</title><link>https://tonybai.com/2008/08/06/watch-bird-nest-and-water-cube-through-google-earth/</link><pubDate>Wed, 06 Aug 2008 00:00:00 +0800</pubDate><guid>https://tonybai.com/2008/08/06/watch-bird-nest-and-water-cube-through-google-earth/</guid><description>如发现本站页面被黑，比如：挂载广告、挖矿等恶意代码，请朋友们及时联系我。十分感谢！ 商务合作请联系bigwhite.cn AT aliyun.com 欢迎使用邮件订阅我的博客 输入邮箱订阅本站，只要有新文章发布，就会第一时间发送邮件通知你哦！ 名字： 邮箱: 这里是 Tony Bai的个人Blog，欢迎访问、订阅和留言！ 订阅Feed请点击上面图片。 如果您觉得这里的文章对您有帮助，请扫描上方二维...</description></item><item><title>由一把座椅想到的</title><link>https://tonybai.com/2008/04/30/thought-on-a-chair/</link><pubDate>Wed, 30 Apr 2008 00:00:00 +0800</pubDate><guid>https://tonybai.com/2008/04/30/thought-on-a-chair/</guid><description>今天上午参加了一个公司内部的项目管理工具推广和使用的培训，培训地点在公司新落成不到一载的办公楼的一间视频会议室里，由于是新办公楼，所以这里的设施也都是很新的。特别是会议室里的座椅让人坐起来很是舒服，会议室的椭圆桌摸起来也很有质感，当时就和同事们讨论如果我们的办公环境要是能有这样的座椅和桌子那该多好啊，工作效率肯定能提高不少。目前我们的座椅估计就属于写字楼中最常见的那种，坐起来普遍反映不舒服。 会议...</description></item><item><title>推荐雅虎收藏</title><link>https://tonybai.com/2007/10/24/recommend-yahoo-shoucang/</link><pubDate>Wed, 24 Oct 2007 00:00:00 +0800</pubDate><guid>https://tonybai.com/2007/10/24/recommend-yahoo-shoucang/</guid><description>如发现本站页面被黑，比如：挂载广告、挖矿等恶意代码，请朋友们及时联系我。十分感谢！ 商务合作请联系bigwhite.cn AT aliyun.com 欢迎使用邮件订阅我的博客 输入邮箱订阅本站，只要有新文章发布，就会第一时间发送邮件通知你哦！ 名字： 邮箱: 这里是 Tony Bai的个人Blog，欢迎访问、订阅和留言！ 订阅Feed请点击上面图片。 如果您觉得这里的文章对您有帮助，请扫描上方二维...</description></item><item><title>Google输入法试用心得</title><link>https://tonybai.com/2007/04/04/experience-of-trying-google-input-method/</link><pubDate>Wed, 04 Apr 2007 00:00:00 +0800</pubDate><guid>https://tonybai.com/2007/04/04/experience-of-trying-google-input-method/</guid><description>我是Google Fans，现在几乎每天都离不开Google的工具了，Gmail、Google Talk、Google Doc、Google Reader、Google Calendar、Google Bookmarks以及Google相册等等，今天Google拼音输入法正式发布，我又怎能不尝这个鲜呢^\_^ 首先，完成这篇blog用的就是Google输入法。 安装过程不必详说，中间步骤中有一步让...</description></item><item><title>我的家的'SU'版本</title><link>https://tonybai.com/2006/12/14/sketchup-design-for-my-house/</link><pubDate>Thu, 14 Dec 2006 00:00:00 +0800</pubDate><guid>https://tonybai.com/2006/12/14/sketchup-design-for-my-house/</guid><description>如发现本站页面被黑，比如：挂载广告、挖矿等恶意代码，请朋友们及时联系我。十分感谢！ 商务合作请联系bigwhite.cn AT aliyun.com 欢迎使用邮件订阅我的博客 输入邮箱订阅本站，只要有新文章发布，就会第一时间发送邮件通知你哦！ 名字： 邮箱: 这里是 Tony Bai的个人Blog，欢迎访问、订阅和留言！ 订阅Feed请点击上面图片。 如果您觉得这里的文章对您有帮助，请扫描上方二维...</description></item><item><title>大学毕业两年了</title><link>https://tonybai.com/2006/06/21/two-years-since-graduate-from-university/</link><pubDate>Wed, 21 Jun 2006 00:00:00 +0800</pubDate><guid>https://tonybai.com/2006/06/21/two-years-since-graduate-from-university/</guid><description>不知不觉间已经快大学毕业两年了，最近热度很高的世界杯让我想起了2002年韩日世界杯期间和寝室哥们儿们一起为中国队加油、一起为阿根廷落魄而伤感的日子了，只因兄弟们都已经各奔东西、不在身边，想起这些未免有些感伤。恰巧，Google Earth最近更新了其中国区的卫星照片，使我有机会到我们学校的&amp;#39;上空&amp;#39;俯瞰我生活学习了4年的令人难忘的大学。 Google Earth真是个耗资源的软件，我的本本勉勉强强能...</description></item><item><title>Google Earth更新中国地区卫星照片啦！</title><link>https://tonybai.com/2006/06/13/google-earth-update-maps-of-mainland/</link><pubDate>Tue, 13 Jun 2006 00:00:00 +0800</pubDate><guid>https://tonybai.com/2006/06/13/google-earth-update-maps-of-mainland/</guid><description>如发现本站页面被黑，比如：挂载广告、挖矿等恶意代码，请朋友们及时联系我。十分感谢！ 商务合作请联系bigwhite.cn AT aliyun.com 欢迎使用邮件订阅我的博客 输入邮箱订阅本站，只要有新文章发布，就会第一时间发送邮件通知你哦！ 名字： 邮箱: 这里是 Tony Bai的个人Blog，欢迎访问、订阅和留言！ 订阅Feed请点击上面图片。 如果您觉得这里的文章对您有帮助，请扫描上方二维...</description></item><item><title>'离开'Google的日子</title><link>https://tonybai.com/2006/06/07/the-time-without-google/</link><pubDate>Wed, 07 Jun 2006 00:00:00 +0800</pubDate><guid>https://tonybai.com/2006/06/07/the-time-without-google/</guid><description>自从工作之后就一直使用Google作为主要的搜索工具，相比于Baidu，Google的外文站点搜索是我较为青睐的，毕竟是做技术的，在外国站点上找资料已经是家常便饭。不过最近一段时间Google一直无法访问，最开始以为是公司封掉了Google主站点，直到回到自己的小窝尝试访问Google，仍然得到的是’无法显示网页’的页面。虽然还不能确定是否Google的域名被封了，但是Google暂时或者可能是长...</description></item><item><title>算法的回归</title><link>https://tonybai.com/2006/04/07/the-return-of-algorithm/</link><pubDate>Fri, 07 Apr 2006 00:00:00 +0800</pubDate><guid>https://tonybai.com/2006/04/07/the-return-of-algorithm/</guid><description>关于算法的文章我一直想写，但算法是我的软肋，自己难于下笔。首先自己非科班出身，没有进行过系统的算法设计课程训练；再者自己到目前为止还从未独立设计过一个完整的、实用的算法，在平时工作中较少的涉及到算法设计，这不能说不是一个遗憾。也许有人会问：&amp;#34;算法难道还没有过时吗，算法不是属于&amp;#39;Donald E. Knuth&amp;#39;那一代人的事情吗?&amp;#39;。我很难回答这个问题，不过当我今天看到CSDN上的一篇题为&amp;#39;算法是百度...</description></item></channel></rss>