
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
我虽然算不上Go标准库的“清教徒”,但在测试方面还多是基于标准库testing包以及go test框架的,除了需要mock的时候,基本上没有用过第三方的Go测试框架。我在《Go语言精进之路》[2]一书中对Go测试组织的讲解也是基于Go testing包和go test框架的。最近看Apache arrow代码,发现arrow的Go实现使用了testify项目[3]组织和辅助测试://comput.
像 Kotlin、Scala和Clojure 这样的现代化语言,既享受了 JVM 的全部生态红利,又提供了强大的类型系统和函数式编程能力,它们同样是“三驾马车”的有力竞争者。Rust、Python、TypeScript 组成的“专家团队”或许是一条路,但 Go 这样的“全能瑞士军刀”和 Java 这样的“企业级航母”,也同样拥有无法被忽视的优势。然而,当我们把目光从理想的“基础”,转向现实世界的复
请点击上方蓝字TonyBai订阅公众号!Go语言自诞生以来,就一直将向后兼容性作为其核心理念之一。Go1兼容性承诺[1]确保了为Go1.0编写的代码能够在后续的Go1.x版本中持续正确地编译和运行。这一承诺为Go的成功奠定了坚实的基础,它不仅保障了稳定性,也大大减轻了随着语言演进带来的代码维护负担。然而,兼容性的内涵并不仅限于向后兼容。向前兼容性,即旧版本的工具链能够优雅地处理针对新版本编写的代码
然而,在 C 语言和 Unix/Linux系统编程 的世界里,Socket 编程是出了名的复杂和繁琐,充满了各种底层细节和陷阱。但今天,你将看到,Go 语言是如何凭借其天才般的设计,将这头“猛兽”驯化成一只温顺的“家猫”的。我们需要一种机制,能让位于北京服务器上的进程,与远在纽约服务器上的另一个进程,像邻居一样轻松地“对话”。:我们将重访 UNIX 域套接字(UDS),并展示 Go 是如何用几乎相
并且,和之前的版本一样,Go 1.25 带来的许多改进,都如同“无形之手”,你可能无需修改一行代码,甚至无需刻意感知,只需简单升级,便能享受到性能的飞跃、诊断能力的提升以及潜藏错误的暴露。我鼓励所有 Go 开发者,积极尝试 Go 1.25 RC1 版本,将其应用到你的开发、测试环境中,并向 Go 团队提供宝贵的反馈。这门进阶课程,是我多年 Go 实战经验和深度思考的结晶,旨在帮助你突破瓶颈,从“会
国内做2B(to Biz)或2G(to Gov)产品和解决方案的企业都绕不过国密算法,越来越多的国内甲方在采购需求中包含了基于国密算法的认证、签名、加密等需求。对于国内的车联网平台来说,支持基于国密的双向认证也是大势所趋。在这篇文章中,我就来说说如何基于国密算法实现双向认证,即使用国密算法的安全传输层双向认证。一. 简要回顾基于TLS的双向认证在《Go语言精进之路》[1]...
基于Markdown格式文件写博客已经很多年了,一直使用的是Wordpress的markdown插件,由于各种遗留原因,一直没有转换到直接使用静态站点的方式。博客文章之间一般来说多是独立...
2022年底以ChatGPT[1]为代表的大语言模型的出现掀起了人工智能应用的新浪潮。这些庞大的语言模型经过对海量文本数据的训练,能够理解和生成逼近人类水平的自然语言,在对话、问答、文本生成、代码编写等领域展现出了惊人的能力。最初这种能力“垄断”在OpenAI公司的手里,世界各地的AI爱好者们为了能尽快拿到ChatGPT的使用账号,使出了浑身解数,国内朋友更是如此。不过随着Google、Meta[
每日一谚:Don't create aliases just for readability.Go技术生态Go全栈开发框架bud - https://mp.weixin.qq.com/s/6Nrx2XcZrxPbZf2OSvty9Qgoland针对go泛型使用的tips - https://blog.jetbrains.com/go/2022/05/27/goland-2...
每日一谚:"Choosing the right limitations for a certain problem domain is often much more powerful than allowing anything."Go技术生态使用具名返回值巧妙解决泛型函数返回零值的问题 - https://tonybai.com/2022/05/20/solving...







