新书推荐:用 Gin 框架构建分布式应用

大家好,我是 polarisxu。 有段时间没推荐新书了。最近看到一本书《Building Distributed Applications in Gin》,本书是学习如何使用 Gin 中的各种功能构建大规模分布式应用程序的有效指南。出版日期:2021 年 7 月 23 日,英文版(目前肯定没有中文版)。购买地址:https://www.packtpub.com/web-development/building-distribute

Go 官网要变天。。。

大家好,我是 polarisxu。 Golang 官网,有些人可能从来没有访问过,因为国内一般访问不了。但我经常和「它」打交道,因为 Go 语言中文网很早就对 Go 官网做了一个镜像。最近 Go1.17 发布了,利用周末,我把 Go 官网镜像升级了下,但折腾了很久。。。发现 Go 官网要「变天」了! 之前写过一篇文章:《回顾 Go 官网的演变史》 ,没看的可以看看。 01 这次又变了 如果你访问了 Go 官网(golang.org),

Gin 这是要成为 Go 官方框架?

大家好,我是 polarisxu。 常浏览 Go 官方网站的朋友可能留意到,Go 网站近一段时间增加了不少文档、教程。可能官方意识到,Go 被越来越多的用于 API 开发,于是近期又出了一个这方面的教程:《Tutorial: Developing a RESTful API with Go and Gin》 。 是的,基于 Gin 框架。在众多框架中,Go 官方选择了 Gin 框架,可见这个框架的受欢迎程度。 这份官方的教程包含以下几个方面: 设计 API 接口:以一个虚拟

扬眉吐气:刚刚,Go 已经默认支持泛型了

大家好,我是 polarisxu。 上周 Go 1.17 发布,在发布文档中,没有提到泛型的事情。但在发布之前,大家就发现,泛型的相关代码在 1.17 中埋下了,只是默认不启用。 就在最近,gotip 已经默认启用泛型。Go 泛型官方叫做:type parameters。 -G 的默认值由 0 改为了 3,那 Go 1.17 有没有这个 flag? 01 Go1.17 启用泛型支持 安装 Go1.17,推荐使用类似 goup 这样的工具,方便切换版本,

Go 1.17 新特性:Module 有哪些变化?

大家好,我是 polarisxu。 自从 Go1.11 增加 Go Module 以来,每个版本都在不断改进 Module。Go1.17 也不例外。这次最主要的变化有两点: Module graph pruning:Module 依赖图修剪 Lazy Loading:Module 延迟加载 此外还有 Deprecated 注释等。本文就一起探究下这些新变化,因为有人没看懂,不知道这些变化是什么意思。 01 Module 依赖图修剪 要搞懂这个知识点,需要对比 1.17 之前的情况。 注意,

Go 第三方库推荐:类型转换如此简单

大家好,我是 polarisxu。 强类型语言有它的优势,但也有不便利的地方,最典型的就是类型转换。Golang 作为一门强类型语言,而且不支持隐式类型转换,因此这个问题更突出。虽然 Go 提供了不少方式进行类型转换,包括相关的标准库,比如 strconv 包。 然而,strconv 包使用没那么方便,比如 "8" 转为 int 类型: s := "8" i, err := strconv.Atoi(s) 你必须对 err 进行处理,因为返回两个值,没法直接将结果传递给

担心密码提交到 GitHub?建议使用这个 Go 开源工具

大家好,我是 polarisxu。 最近跟安全扛上了!这是我分享的 Go 安全相关的第 5 篇文章,前 4 篇文章如下: 《Go 团队开始重视安全问题了》 《Go Module 有漏洞?免费的 Go 漏洞扫描 VSCode 插件》 《这个工具真好:看看你的Go项目依赖有无漏洞》 重磅!GitHub 为 Go 社区带来安全支持 今天要分享的这个开源工具,我个人认为更实用,可以当作一个 vet 工具使用,切切实实检查日常开发经常会忽略的安全

Go 的时间格式化为什么是 2006-01-02 15:04:05?

大家好,我是 polarisxu。 没有什么是完美的!而且,有些东西,有些人认为好,有些人认为很糟糕。Go 也是如此。喜欢 Go 语言的朋友,大概率对其中某些地方不喜欢。比如,你喜欢 Go 中时间格式化固定的 2006-01-02 15:04:05 -0700 吗?为什么是这么一个时间?今天来一探究竟! 01 新手的困惑 无论是各种群里还是网上搜一下,包括国外的,对 2006-01-02 15:04:05 -0700 都很困惑。 一般的困扰主要有: 不知道只能固定要这个时间,换其他

GitHub 为 Go 社区带来安全支持

大家好,我是 polarisxu。 关于 Go 安全相关的内容,我写过几篇文章:《Go 团队开始重视安全问题了》 、《Go Module 有漏洞?免费的 Go 漏洞扫描 VSCode 插件》 和《这个工具真好:看看你的Go项目依赖有无漏洞》 ,有兴趣的可以看看。 今天介绍另外一个关于安全的内容,是 GitHub 的。 大家都知晓,目前 Go 是严重依赖 GitHub 的,很多第三方库基本都托管在 GitHub 上。因为 Go 把 GitHub 既当作代码协作的平台,也当作发布包的

Go开源项目推荐:500行代码确认请求时间花在哪

大家好,我是 polarisxu。 工作中遇到请求慢,难免想要查看时间都花在哪里了。办法肯定有不少,比如浏览器带的工具等。不过今天我要推荐一个命令行工具,目的有两个: 安装、使用方便,可以清晰的看出时间花在哪里了,建议放入自己的常用工具箱; Go 语言实现的,500 行左右代码,可以作为新手项目学习、练习、实战; 项目名称:httpstat,作者是 davecheney 大神。项目地址:http