如无特殊说明,本系列中「协程」默认特指 Kotlin 协程的 JVM 实现。什么是协程好吧...这真是一个极度刁钻困难的问题。哪怕限定于 Kotlin@JVM 中,也难以回答。困难到两位 GDE bennyhuo 霍丙乾与扔物线朱凯竟给出了矛盾的答案。当然,只是字面描述上的矛盾,思想上还是一致的。我目前的答案是:协程就是程序自己调度的线程:它有一个函数体作为协程体,由应用程序自己决定何时执行...
awkawk 基本格式为:awk [options] '[pattern]{action}' file/dataawk 处理数据的单元是行,它会遍历每一行,使用我们指定的条件来过滤,再执行 action 的操作。awk 使用数据库中的名词,一行叫做一个记录 (Record),一行中的一列叫做一个字段 (Field).默认 awk 使用空格(以及连续的空格)作为字段分隔符。...
AND / ORNginx 不支持常见的逻辑运算符 &&, || 等,这种需求只能通过添加一个变量来实现。ANDset $flag ""; if (<condition1>) { set $fl...
acme.sh 是一个开源的纯 shell 脚本编写的 acme 客户端,可自动申请更新 https 证书。相比其他工具,acme.sh 更轻量,主要表现在:只是一个脚本,无需编译安装。无侵入性,不会更改任何 web server 的配置。修改 CAacme.sh 默认 CA 是 ZeroSSL,可是在申请证书时添加 --server 参数临时修改。修改默认 CA 执行(修改为 let's ...
这是只是一篇比较水的记录快速开始Docker 官方提供了 Registry 镜像,可以快速部署服务。这里使用 Docker Compose 来运行:version: "3" services: registry: image: registry:2 container_name: registry restart: always po...
总比天天在微信/朋友圈/微博发垃圾消息乞讨的人要好多了。安装青龙面板青龙面板有点类似油猴,它是一个脚本管理系统,本身不具有撸羊毛的功能。安装青龙面板非常的简单(如果你用 docker 的话),这里使用 Docker Compose 来部署。Compose 配置文件模板可直接从官方仓库获取:https://raw.githubusercontent.com/whyour/qinglong/ma...
Manjaro 默认带有了 open-vm-tools,可以启用 VMWare 的剪贴板同步等操作。唯独自适应分辨率不可用。无论怎么调整 VMW 的窗口大小,Manjaro 的分辨率都不会改变,只会等比缩放。重启一下守护服务可以暂时解决:sudo systemctl restart vmtoolsd但总不能每次启动都执行一遍吧,还是挺烦人的。Manjaro 论坛上有人给出了一个神奇的办法:修...
这里将记录其中之一—— zap。 zap 是 uber 开源的高性能日志框架,不仅一般场景,zap 也完全可以胜任后端与微服务系统。本文基于 zap 版本:v1.21.0快速开始安装go get -u go.uber.org/zap使用func main() { baseLogger, _ := zap.NewDevelopment() defer baseLogger.Sy...