Go 泛型不是银弹,但该用不用也是蠢
Go 1.18 引入泛型那天,社区分了两派。
一派高潮:终于不用写 interface{} + 类型断言的狗屎样板了。另一派恐慌:这玩意肯定把 Go 的简洁性毁了,等着看代码变得跟 C++ 模板一样没法读吧。
四年过去,两派都错了。
泛型既没有拯救 Go,也没有毁灭 Go。它只是在某些场景下恰好是正确工具,在另一些场景下纯粹是画蛇添足。这篇文章不讲泛型的语法——今天能用 Go 4.0 的人不需要再看教程。我直接给结论:哪些地方该用,哪些地方碰都别碰。
Go 1.18 引入泛型那天,社区分了两派。
一派高潮:终于不用写 interface{} + 类型断言的狗屎样板了。另一派恐慌:这玩意肯定把 Go 的简洁性毁了,等着看代码变得跟 C++ 模板一样没法读吧。
四年过去,两派都错了。
泛型既没有拯救 Go,也没有毁灭 Go。它只是在某些场景下恰好是正确工具,在另一些场景下纯粹是画蛇添足。这篇文章不讲泛型的语法——今天能用 Go 4.0 的人不需要再看教程。我直接给结论:哪些地方该用,哪些地方碰都别碰。
未经他人苦,莫劝他人善;你若经我苦,未必有我善。
这句话你肯定听过。但今天我不打算跟你讨论这句话的哲学内涵——我要说的是另一面。
比劝你大度更恶心的,是那种把自己的烂摊子往你身上甩的人。
你走过多难的路,经受过多少不公,外人无法体会,也没资格指手画脚——这点基本共识我相信还有点。但有一类人,他们从不体谅别人,却擅长把自己的苦难包装成你的责任,理直气壮地要求你买单。
今天我就要把这种人彻底扒干净。
去星巴克点咖啡,中杯、大杯、超大杯。你大概率选中杯。
不是因为你胃小。是有人希望你选它。
systemctl restart nginx。敲完。搞定。关掉终端。
这是 99% Linux 用户和 systemd 的日常关系。systemd 是个巨复杂的工具,但你只用了它的三个子命令。
不是你的问题——入门教程就只教这三个。
但这玩意儿真正实用的功能藏在后面。这篇文章翻几个出来,都是你明天上班就能用的。
一条命令,让所有服务器信任一个新员工——不需要配置 authorized_keys,不需要逐个 ssh-copy-id,不需要担心哪个机器漏了。
这就是 SSH CA 签名认证做的事。