基于 Go1.16 实现静态文件的 HTTP Cache

大家好,我是站长 polarisxu。 之前写过一篇文章:《提前试用将在 Go1.16 中发布的内嵌静态资源功能》 ,如果之前没阅读,建议继续看本文前先阅读下该文。 现在 Go 1.16 Beta 已经发布,离正式版发布不远了,在 GitHub 发现了一个库,它实现了 io/fs.FS 接口,它能够计算文件的 SHA256 哈希值并附加到文件名中以允许进行 HTTP Cache:即控制静态文件的版本。本文对其进行介绍并顺带讲解一些涉及到的其他内容。 温馨提示

从一份 2020 年大厂加班榜说起

大家好,我是站长 polarisxu。 这几天圈内讨论最多的事非 pdd 事件莫属,于是再一次引出 996 问题的讨论,这似乎是国内码农永远的痛?! 新华网都发声了:(https://finance.sina.cn/tech/2021-01-05/detail-iiznezxt0681211.d.html) 互联网内卷真是不要太严重。 今天不再讨论 pdd 的事情。谈一下互联网加班的问题,因

2021 年了,你可能没注意到的微信公众号的一些变化

大家好,我是站长 polarisxu。 2021 年计划聊一些微信公众号的事情。今天先聊聊微信公众号(订阅号)的一些变化,作为这个系列的开篇。 01 基础知识 先简单普及一些基础知识:订阅号和服务号,主要介绍下它们关键的一些不同点,着重介绍下订阅号的一些知识。 订阅号 如果你开通自己的公众号,一定是选择订阅号。个人主体只能注册订阅号,目前一个身份证只能注册一个订阅号(以前是 5 个)。

2020 年终总结:希望对你有所帮助

大家好,我是站长 polarisxu。 第一次正式写年终总结,也许是一个好的开始,希望以后年年写。 可能每个年终总结都会感慨,2020 年是不平凡的一年,疫情持续了一年,原以为好些了,最近似乎有变严重了。大家多保重。口罩戴了一年,不知道什么时候才能去掉,希望这天早点到来。 年终总结,是对我自己的一个回顾,但发出来,我希望能够对大家有点帮助或启发。 这份总结主要会聊五个方

Go 1.16 的这个新变化需要适应下:go get 和 go install 的变化

大家好,我是站长 polarisxu。 一直以来,我们通常都是通过 go get 来下载并安装包的。但从 Go 1.16 起,不推荐通过 go get 来安装包(主要是说安装可执行文件),也就是说,go get 应该只是用来下载包,而且将来版本可能会给该命令始终加上 -d 标志。 你可能会问,这对我使用有什么影响呢? 让我们看一个实际的例子。 01 安装 Delve 的例子 我们在本地通过源码安装 Go 的调试器 Delve,可以这么做: $ go get

详解 Go 中的环境变量

了解环境变量以及在 Golang 应用程序中使用它们的不同方法。 开始之前 本教程假定你具有: 对 Go 语言的基本了解 系统上安装了最新 Golang 版本 几分钟的时间 在本文中,我们将了解环境变量以及为什么要使用它们。并且将使用内置和第三方包在 Go 应用程序中访问它们。 什么是环境变量? 环境变量是系统级的键-值对,正在运行的进程可以访问它。这些通常用于使同一程序在不同的部署环境(例如 PROD, DEV 或 TES

这道题竟然只有 12% 的人答对。。。

这题是有点坑,但很多人对结果还是不知所以。

感慨 Apple 的 强大

大家好,我是站长 polarisxu。 这段时间关注 Apple M1 芯片挺多的,对 Apple 的强大由衷的感慨。市值 2.1 万亿美金,做的动作都成为行业引领者。 当年扁平化设计出来,被各种吐槽;结果大家都扁平化了; 出暗黑模式(很程序员?),有些人不喜欢,但现在各种都支持暗黑模式; iPhone 12 不带耳机和充电器,骂声一片,目测各个手机厂商都跟进,比如三星就宣布不带了; Mac 换成自己的 M1 芯片,很多软件厂商及时

听说你还不知道如何查看 Go 历史文档?

大家好,我是站长 polarisxu。 这是一篇短文,写这篇文章主要是看到了两个信息: tonybai 写的《如何查看历史版本的 Go 文档?》 Go 官方发博文,2021 年初开始,godoc.org 默认将重定向到 pkg.go.dev ; tonybai 在文章中说了两种方法: 利用 go doc,可行,但非最优。比如 go doc http.Request。通过切换本地的 Go 版本实现查看不同版本的 Go 标准库文档; 使用 godoc 建立历史版本的 Web 化文档中心。

新买了 Apple M1 Mac,却不知道如何安装 Go?

大家好,我是站长 polarisxu。 前些天有一位朋友问我: 有些朋友可能会有点奇怪,M1 有什么特别的吗?为了照顾部分童鞋,这里简单介绍下。 01 为什么会出现这个问题 大家知道不同的操作系统是很不一样的,同时不同的 CPU 架构也是很不一样的。Go 号称是跨平台的,自然要支持这些操作系统和 CPU 架构。 在 Go 中,GOOS 表示操作系统,GOARCH 表示 CPU 架构。比如你的 Linux 服务器,一般是 GO