在go的protobuf中进行自定义json tag标记及使用
在使用grpc-gateway的时候,测试时发现HTTP接口返回给前端的json数据的字段格式很不统一,所以需要标准化protobuf->json的映射关系
原因
- proro的字段命名很不规范,有全小写的,有大驼峰/小驼峰/下划线等等
- 使用了默认的 protoc-gen-go 插件,生成的json tag会尝试小驼峰以及omitempty,但如果是纯小写或大驼峰,则不会改变
高版本gcc编译出的程序在低版本glibc机器上运行
问题背景
比如我们用gcc 9.3.0编译程序,但需要发布的机器gcc版本是4.8.5,怎么办?
你可能想到如下方法
- 静态编译
- 容器发布
- 打包依赖的so,使用本地so运行程序
线程安全–彻底搞懂volatile关键字
对于volatile这个关键字,相信很多朋友都听说过,甚至使用过,这个关键字虽然字面上理解起来比较简单,但是要用好起来却不是一件容易的事。
这篇文章将从多个方面来讲解volatile,让你对它更加理解。
从远程仓库获取最后一个git标签而不进行克隆
如何从(非签出)远程仓库中获取最后一个标签?
在我的本地副本上,我使用describe
git describe --abbrev=0 --tags
但我不能使用describe与远程存储
最佳答案
使用git ls-remote –tags [repository]