Web Analytics

Rust 的“跨越鸿沟”时刻:Ubuntu 全面拥抱 Rust 意味着什么?

本文永久链接 – https://tonybai.com/2026/02/25/rust-crossing-the-chasm-ubuntu-embrace 大家好,我是Tony Bai。 在技术世界里,一门编程语言的成功往往分为两个阶段:第一阶段是赢得“极客”和“先驱者”的狂热追捧;第二阶段则是说服那些保守、务实的“早期大众”将其投入到枯燥却庞大的企业级生产中。这两个阶段之间,横亘着一条深不见底的“鸿沟”。 ...

February 25, 2026 · 11 min · Tony Bai

2025年最佳机器人Linux操作系统——顶级发行版与最新进展!

本文永久链接 – https://tonybai.com/2025/08/17/best-linux-os-for-robotics-in-2025 大家好,我是Tony Bai。 如果你正投身于机器人技术领域,选择正确的操作系统至关重要。随着人工智能、自动化和机器学习的进步,机器人正变得前所未有的复杂。在为这些智能机器提供动力方面,Linux凭借其开源的灵活性、稳定性以及对机器人框架的广泛支持,仍然是首选。 ...

August 17, 2025 · 22 min · Tony Bai

Go安全版图再添利器:OpenPubkey SSH开源,用SSO彻底改变SSH认证

Go安全版图再添利器:OpenPubkey SSH开源,用SSO彻底改变SSH认证 - Tony Bai =============== Tony Bai 一个程序员的心路历程 Google Go语言编码风格规范 ...

March 31, 2025 · 10 min · Tony Bai

Go,14周年[译]

本文永久链接 – https://tonybai.com/2023/11/11/go-opensource-14-years 国内的双十一购物狂欢已没有了当年的那种热闹与喧嚣,但大洋彼岸的Go团队却始终保持稳中有增的开发和语言演进节奏。今晨Go核心团队的Russ Cox代表Go语言项目团队在Go官博上发表了《Fourteen Years of Go》的博文,纪念Go语言开源14周年,并对2023年以来Go语言的演进进行了归纳总结,并对Go在其第15个年头将要做的改进给予了很高的期望。这里对博文做简单翻译,供大家参考。 ...

November 11, 2023 · 6 min · Tony Bai

让reviewdog支持gitlab-push-commit,守住代码质量下限

本文永久链接 – https://tonybai.com/2022/09/08/make-reviewdog-support-gitlab-push-commit-to-preserve-the-code-quality-floor 一. 代码质量保证的手段 从世界上首款计算机高级程序设计语言Fortran自上世纪50年代诞生以来,编程这个行当已经走过了近70年。虽然年头已不少,但不可否认的一点是:软件生产依然无法像硬件那样标准化,同一个小功能,N个程序员的有N种实现方法。 那么如何保证生产出的软件的质量符合我们的要求呢?不同领域的程序员都在进行着努力,比如:做编译器的让编译器更加严格,努力将内存安全问题彻底消除(如Rust);做工具链的为程序员提供了内置于语言的各种单测、集成测试、接口测试、fuzzing test等工具(如Go工具链),让程序员可以更容易地对自己所写的代码进行全方位的测试,以期找出更多的代码中的潜在问题… ...

September 8, 2022 · 14 min · Tony Bai

使用Go语言实现eBPF程序内核态与用户态的双向数据交换

本文永久链接 – https://tonybai.com/2022/07/25/bidirectional-data-exchange-between-kernel-and-user-states-of-ebpf-programs-using-go 在之前的两篇文章中,无论是使用C语言开发eBPF程序,还是使用Go开发的eBPF程序,都是hello world级别的,可能有用,但谈不上十分实用。 通常来说,一个实用的eBPF程序,它的内核态部分与用户态部分是有数据交换的,有了这种数据交换,eBPF才能发挥更大的威力。而要想让eBPF程序具备较强的实用性,eBPF MAP是绕不过去的机制。 ...

July 25, 2022 · 11 min · Tony Bai

使用Go语言开发eBPF程序

本文永久链接 – https://tonybai.com/2022/07/19/develop-ebpf-program-in-go 在前面的《使用C语言从头开发一个Hello World级别的eBPF程序》一文中,我们详细说明了如何基于C语言和libbpf库从头开发一个eBPF程序(包括其用户态部分)。那篇文章是后续有关eBPF程序开发文章的基础,因为到目前为止,无论eBPF程序的用户态部分用什么语言开发,运行于内核态的eBPF程序内核态部分还是必须由C语言开发的。这样一来,其他编程语言只能拼一下如何让eBPF程序的用户态部分的开发更为简单了,Go语言也不例外。 ...

July 19, 2022 · 11 min · Tony Bai

使用Go基于国密算法实现双向认证

本文永久链接 – https://tonybai.com/2022/07/17/two-way-authentication-using-go-and-sm-algorithm 国内做2B(to Biz)或2G(to Gov)产品和解决方案的企业都绕不过国密算法,越来越多的国内甲方在采购需求中包含了基于国密算法的认证、签名、加密等需求。对于国内的车联网平台来说,支持基于国密的双向认证也是大势所趋。在这篇文章中,我就来说说如何基于国密算法实现双向认证,即使用国密算法的安全传输层双向认证。 ...

July 17, 2022 · 27 min · Tony Bai

使用C语言从头开发一个Hello World级别的eBPF程序

本文永久链接 – https://tonybai.com/2022/07/05/develop-hello-world-ebpf-program-in-c-from-scratch 近两年最火的Linux内核技术非eBPF莫属! 2019年以来,除了eBPF技术自身快速演进之外,基于eBPF技术的观测(Observability)、安全(Security)和网络(Networking)类项目如雨后春笋般出现。耳熟能详的的包括:cilium(把eBPF技术带到Kubernetes世界)、Falco(云原生安全运行时,Kubernetes威胁检测引擎的事实标准)、Katran(高性能四层负载均衡器)、pixie(用于Kubernetes应用程序的可观察性工具)等。 今年3月份发布的thoughtworks技术雷达第26期也将eBPF技术放入试验的象限阶段。 eBPF技术火热,但很多童鞋还不知道eBPF技术究竟是什么,能做什么?在这篇文章中,我将带大家简单了解一下什么eBPF内核技术以及如何从头开始用C语言开发一个Hello World级eBPF程序。 ...

July 5, 2022 · 20 min · Tony Bai

Go GC如何检测内存对象中是否包含指针

本文永久链接 – https://tonybai.com/2022/02/21/how-gc-detect-pointer-in-mem-obj 众所周知,Go是带垃圾回收(GC)的编程语言,开发者通常不需要考虑对内存的管理,降低了心智负担。Go程序运行的时候,GC在背后默默辛劳地为开发者**“擦屁股”**:把无法reach到的内存对象定期地释放掉以备后续重用。 ...

February 21, 2022 · 8 min · Tony Bai