薄驾驭,厚技能:YC 掌门人揭秘拉开 1000 倍效率差距的 AI 工程化心法

本文永久链接 – https://tonybai.com/2026/04/19/thin-harness-fat-skills 大家好,我是Tony Bai。 在过去一年,你有没有想过,为什么同样用着 GPT 或 Claude 等大模型以及Claude Code这样的Coding Agent,有的人生产力只提升了 2 倍,而有的人却能爆发出 100倍、甚至 1000倍 的惊人能量? ...

April 19, 2026 · 7 min · Tony Bai

Go 解析器的“隐秘角落”:encoding/json 的安全陷阱与 JSONv2 的救赎

本文永久链接 – https://tonybai.com/2025/06/22/unexpected-security-footguns-in-go-parsers 大家好,我是Tony Bai。 在 Go 语言中,标准库的 encoding/json 包无疑是我们日常打交道最多的伙伴之一。它简洁易用,性能尚可,支撑了无数 Go 应用的数据交换需求。然而,正如俗话所说,“最熟悉的地方可能藏着最深的坑”,最近拜读了知名安全公司 Trail of Bits 的一篇深度剖析文章——“Unexpected security footguns in Go’s parsers”(Go 解析器中意想不到的安全“绊脚石”)——让我对这个朝夕相处的伙伴有了全新的、甚至可以说是“惊出一身冷汗”的认识。 ...

June 22, 2025 · 11 min · Tony Bai

评点2021-2022年上市的那些Go语言新书

本文永久链接 – https://tonybai.com/2022/06/01/reviewing-those-new-go-language-books-coming-out-in-2021-2022 计算机科学与技术这个工业大类与传统工业类别相比还很“年轻”,并且由于历史原因,整个计算机科学与技术学科的奠基都是由欧美人完成的,因此但凡诞生一门新IT技术或新编程语言,我们首先参考的都是来自欧美的外文技术书籍(影印或翻译)。 ...

June 1, 2022 · 9 min · Tony Bai

手把手教你使用ANTLR和Go实现一门DSL语言(第五部分):错误处理

本文永久链接 – https://tonybai.com/2022/05/30/an-example-of-implement-dsl-using-antlr-and-go-part5 无论是端应用还是云应用,要上生产环境,有一件事必须要做好,那就是错误处理。在本系列前面的文章中,我们设计了文法与语法、建立并验证了语义模型,但我们没有特别关注错误处理。在这一篇中,我们就来补上这个环节。 DSL设计与实现过程有以下几个主要环节,在不同环节,我们关注的错误处理的主要对象是不同的。如下图所示: ...

May 30, 2022 · 8 min · Tony Bai

手把手教你使用ANTLR和Go实现一门DSL语言(第四部分):组装语义模型并测试DSL

本文永久链接 – https://tonybai.com/2022/05/28/an-example-of-implement-dsl-using-antlr-and-go-part4 在上一篇文章中,我们为DSL建立了完整的语义模型,我们距离DSL的语法示例真正run起来还差最后一步,那就是基于语法树提取信息(逆波兰式)、组装语义模型,在加载语义模型并实例化各个规则处理器(processor)后,我们就可以处理数据了!下面是我们部署在海洋浮标上的指标采集程序的全景图: 在这一篇中,我们就来按照上图,通过语法树提取逆波兰式并组装语义模型,让我们的语法示例能真正按预期run起来! 一. 从语法树提取逆波兰式并组装语义模型 通过上面语义模型的讲解,我们知道了语法树与语义模型之间的联系包括逆波兰式、windowsRange、result和enumableFunc。其主要联系是那个逆波兰式,而像windowsRange、result和enumableFunc这些信息都相对容易提取。 ...

May 28, 2022 · 7 min · Tony Bai

手把手教你使用ANTLR和Go实现一门DSL语言(第三部分):建立和验证语义模型

本文永久链接 – https://tonybai.com/2022/05/27/an-example-of-implement-dsl-using-antlr-and-go-part3 在前面的系列文章中,我们为气象学家们设计了一门名为Tdat的DSL,使用ANTLR的文法规则编写了Tdat的文法,基于该文法生成了Tdat的语法解析器代码并初步验证了文法的正确性,Tdat可以成功将我们编写的Tdat语法代码样例解析为一颗内存中的树结构。 此时此刻,我们编写的DSL语法代码还无法按预期工作,因为缺少执行语义。在这篇文章中,我们就来为这门DSL建立语义模型,并单独对这个语义模型进行验证。 ...

May 27, 2022 · 13 min · Tony Bai

手把手教你使用ANTLR和Go实现一门DSL语言(第一部分):设计DSL语法与文法

本文永久链接 – https://tonybai.com/2022/05/24/an-example-of-implement-dsl-using-antlr-and-go-part1 在《使用ANTLR和Go实现DSL入门》一文中,我们了解了DSL与通用编程语言(GPL)的差异、DSL解析器生成工具选择以及ANTLR文法的简要书写规则,并和大家一起完成了一个CSV解析器的例子。看完上述文章后,你是不是有了打造属于自己的DSL的冲动了呢! 那么究竟该如何设计和实现一门自己的DSL呢?在这个系列文章中,我将“手把手”地和大家一起看看设计和实现一门DSL(这里主要指外部DSL)的全流程。 ...

May 24, 2022 · 14 min · Tony Bai

使用ANTLR和Go实现DSL入门

本文永久链接 – https://tonybai.com/2022/05/10/introduction-of-implement-dsl-using-antlr-and-go 一. 引子 设计与实现一门像Go这样的通用编程语言的确很难!那是世界上少数程序员从事的事业,但是实现一门领域特定语言(Domain Specific Language, DSL)似乎是可行的。 就像著名的语言解析器生成工具ANTLR作者Terence Parr在《编程语言实现模式》一书中说的那样: ...

May 10, 2022 · 24 min · Tony Bai