白杨 http://baiy.cn 在我几年前开始写<C++编码规范与指导>一文时,就已经规划着要加入这样一篇讨论 C++ 异常机制的文章了.没想到时隔几年以后才有机会把这个尾巴补完 :-). 还是那句开场白:“在恰当的场合使用恰当的特性” 对每个称职的 C++ 程序员来说都是一个基本标准.想要做到这点,就必须要了解语言中每个特性的实现方式及其时空开销.异常处理由于涉及大量底层内容,向来是 C++ 各种高级机制中较难理解和透彻掌握的部分.本文将在尽量少引入底层细节的前提下,讨论 C++ 中这一…
我的项目依赖某个旧的公共库: require ( git.xxx.com/myprj/mylib v0.0.43 ) 可以编译的时候,系统总会自动加上这样的路径: require ( git.xxx.com/myprj/mylib v0.0.43 git.xxx.com/myprj/mylib/src v0.0.0-20200717121459-edb92ac57b65 ) 可是我并不想要这个最新的版本.怎么办? 这篇帖子提到了一个解决办法:<再探go modules:使用与细节>https:…
参考了这篇帖子:golang protobuf从生成的json标记中删除omitempty标记 由于是在windows上开发,因此写了一个python脚本来解决: remove_tag.py import sys def main(): argc = len(sys.argv) if argc<2: print('usage:%s <xxx.go>'%sys.argv[0]) return f = open(sys.argv[1], 'rb') if not f: print("…
代码中使用了类似的方式来向模板填充参数: c.HTML(200, "list.html", gin.H{"data":builder.String()}) 模板中的语法大致如下: <html> <h1>{{ .data }}</h1> </html> 发现我输入的内容都做了HTML转义. 如何不转义呢?解决方法很简单: import ("html/template") c.HTML(200, &qu…
VM体系还真的是不一(he)样(qun), 它上报的监控数据长这样: vmagent_remotewrite_block_size_rows_bucket{vmrange="2.448e+03...2.783e+03"} 3 vmagent_remotewrite_block_size_rows_bucket{vmrange="3.594e+03...4.084e+03"} 8 vmagent_remotewrite_block_size_rows_bucket{v…
编译的过程中出现了一个吓人的错误: GOROOT=C:\Go #gosetup GOPATH=C:\Users\ahfuzhang\go #gosetup C:\Go\bin\go.exe mod tidy #gosetup go: downloading github.com/xxx/my_prj/public v0.0.14 github.com/xxx/my_prj/proxy_alloc_svr/cmd imports github.com/xxx/my_prj/public/pkg/b…
在项目中的go.mod文件中有这样一句: require ( github.com/xxx-devops/xx1/sdk/go v2.2.3 ) 项目的编译没有问题,但是goland中出现如下提示: go: errors parsing go.mod: D:/source/github/ahfuzhang/go.lib/go.mod:8: require github.com/xxx-devops/xx1/sdk/go: version "v2.2.3" invalid: module…
直接上答案: date -d@"$(( `date +%s`-86400))" +"%Y-%m-%d"…
如果在启动 alert manager的时候,不填写参数: /usr/bin/alertmanager --config.file=/etc/alert_manager/alertmanager.yaml --storage.path=/var/alert_manager/data --data.retention=24h --web.listen-address=0.0.0.0:9093 --cluster.listen-address=0.0.0.0:9094 那么alert manager…
从vmselect查询的时候,出现如下错误: error when executing query="up" on the time range (start=1639388706000, end=1639392306000, step=1441): cannot execute query: cannot evaluate "up": error occured during search: cannot fetch query results from vmst…