Web Analytics

探索Go gcflags的使用模式与完整参数选项列表

探索Go gcflags的使用模式与完整参数选项列表 - Tony Bai =============== Tony Bai 一个程序员的心路历程 Google Go语言编码风格规范 ...

January 22, 2025 · 7 min · Tony Bai

Go工具链版本已不由你定:go和toolchain指令详解

本文永久链接 – https://tonybai.com/2025/01/14/understand-go-and-toolchain-in-go-dot-mod Go语言自诞生以来,就一直将向后兼容性作为其核心理念之一。Go1兼容性承诺确保了为Go1.0编写的代码能够在后续的Go1.x版本中持续正确地编译和运行。这一承诺为Go的成功奠定了坚实的基础,它不仅保障了稳定性,也大大减轻了随着语言演进带来的代码维护负担。然而,兼容性的内涵并不仅限于向后兼容。向前兼容性,即旧版本的工具链能够优雅地处理针对新版本编写的代码,对于打造流畅的开发体验同样至关重要。 在Go 1.21版本之前,向前兼容性在某种程度上是一个被忽视的领域。尽管go.mod文件中的go指令可以标明模块预期的Go版本,但在实际中,它更像是一个指导性建议,而非强制性规则。旧版本的Go工具链会尝试编译那些需要较新版本的代码,这经常导致令人困惑的错误,更有甚者会出现“静默成功”的情况——代码虽然可以编译,但由于较新版本中的细微改动,其运行时行为可能并不正确。 ...

January 14, 2025 · 18 min · Tony Bai

2024年Go语言盘点:排名历史新高,团队新老传承

2024年Go语言盘点:排名历史新高,团队新老传承 - Tony Bai =============== Tony Bai 一个程序员的心路历程 Google Go语言编码风格规范 ...

January 6, 2025 · 12 min · Tony Bai

探索基于pion开发的WebRTC应用的建连过程

本文永久链接 – https://tonybai.com/2024/12/26/exploring-the-connection-establish-process-of-webrtc-app-built-with-pion 在《WebRTC第一课:从信令、ICE到NAT穿透的连接建立全流程》一文中,我们从理论层面全面细致地了解了WebRTC连接建立的完整流程。这个流程大致可以分为以下几个阶段: 与信令服务器的交互 ICE候选项的采集、交换与排序 形成ICE候选检查表、进行连通性检查,并最终确定最优候选路径 这个过程的复杂性不言而喻。即便多次阅读全文,读者可能仍难以形成深入的理解。因此,如果能够配上一个真实的示例,相信会更有助于读者全面把握这一过程的细节和原理。 ...

December 26, 2024 · 13 min · Tony Bai

使用issue2md将Github issue转换为Markdown

使用issue2md将Github issue转换为Markdown | Tony Bai Tony Bai一个程序员的心路历程 Google Go语言编码风格规范 Google Go语言编码风格规范:指南篇 Google Go语言编码风格规范:决定篇 Google Go语言编码风格规范:最佳实践篇 Go语言第一课FAQ 关于我 文章列表 使用issue2md将Github issue转换为Markdown 十二月 23, 2024 0 条评论 ...

December 23, 2024 · 6 min · Tony Bai

Go 1.24新特性前瞻:工具链和标准库

本文永久链接 – https://tonybai.com/2024/12/17/go-1-24-foresight-part2 在上一篇文章中,我们介绍了即将于2025年2月发布的Go 1.24版本在语法、编译器和运行时方面的主要变化。本文将继续承接上文,重点介绍Go 1.24在工具链和标准库方面的重要更新,供大家参考。 ...

December 17, 2024 · 33 min · Tony Bai

Go 1.24新特性前瞻:语法、编译器与运行时

Go 1.24新特性前瞻:语法、编译器与运行时 | Tony Bai Tony Bai一个程序员的心路历程 Google Go语言编码风格规范 Google Go语言编码风格规范:指南篇 Google Go语言编码风格规范:决定篇 Google Go语言编码风格规范:最佳实践篇 Go语言第一课FAQ 关于我 文章列表 Go 1.24新特性前瞻:语法、编译器与运行时 十二月 16, 2024 0 条评论 ...

December 16, 2024 · 11 min · Tony Bai

WebRTC第一课:从信令、ICE到NAT穿透的连接建立全流程

本文永久链接 – https://tonybai.com/2024/12/14/webrtc-first-lesson-how-connection-estabish 在上一篇文章《WebRTC第一课:网络架构与NAT工作原理》中,我们介绍了WebRTC的网络架构和NAT的基本概念,学习了WebRTC采用端对端(P2P)的通信模型,知道了NAT(网络地址转换)的概念以及给像WebRTC这样的直接P2P通信带来的挑战。 在实际的网络环境中,建立WebRTC这样的端到端连接的确并非易事。因此,在这篇文章中,我将继续上一篇文章的内容,全面探讨一下WebRTC连接建立的全流程,涵盖信令交换、ICE候选信息采集和选择、NAT穿透的各个关键步骤,希望能给大家理解WebRTC技术栈带去帮助。 ...

December 14, 2024 · 21 min · Tony Bai

量子计算入门与Go模拟

本文永久链接 – https://tonybai.com/2024/12/11/simulate-quantum-computing-in-go 2019年,Google宣布实现”量子霸权”,声称其53量子比特的量子计算机完成了一个经典超级计算机需要1万年才能完成的计算任务。这一宣告在当时引发了广泛关注和热议。而在这个过程中,我们也看到了太多对量子计算的误解。有人将其想象成未来取代经典计算机的全能机器,认为它能以指数级速度解决所有计算问题;也有人认为量子计算只是一个遥不可及的科研概念,与实际应用毫无关联。 ...

December 11, 2024 · 33 min · Tony Bai

探索Docker默认网络NAT映射的分配与过滤行为

本文永久链接 – https://tonybai.com/2024/12/05/exploring-nat-mapping-assignment-and-filtering-behavior-of-docker-default-network 在《WebRTC第一课:网络架构与NAT工作原理》一文中,我们对WebRTC的网路架构进行说明,了解到了NAT的工作原理、RFC 3489对NAT的四种传统分类以及较新的RFC 4787中按分配行为和过滤行为对NAT行为的分类。 不过,“纸上得来终觉浅,绝知此事要躬行”,在这篇文章中,我打算选取一个具体的NAT实现进行案例研究(Case Study)。在市面上的NAT实现中,Docker容器的网络NAT绝对是最容易获得的一种实现。因此,我们将把Docker默认网络的NAT实现机制作为本篇的研究对象,探索该NAT的分配行为和过滤行为,以确定Docker默认网络的NAT类型。 ...

December 5, 2024 · 9 min · Tony Bai