小编Daz*_*kin的帖子

使用 Go Modules 时生成 in-repo protos 的最佳实践

tl;dr以前配置为使用的 repoGOPATH现在配置为模块。一切都很好,而且越来越好。但是,protoc 正确(!)为github.com/path/to/repo/protos结构中的 repo 中定义的 protobuf 生成 Golang 代码,而我现在更喜欢在GOPATH. 我正在推动他们解决这个问题。有更好的解决方案吗?


我有一个 GitHub 仓库。为了讨论起见,我们称之为github.com/acme/toolbox。在一个子目录中,我有 protobuf 文件,其中包括:

package acme.toolbox.v1;
option go_package = "github.com/acme/toolbox/protos";
Run Code Online (Sandbox Code Playgroud)

当我在GOPATHing 时,一切都很好,并且protoc会在其中生成 Golang 绑定,$GOPATH/src/github.com/acme/toolbox/protos并且我的代码 importingpb "github.com/acme/toolbox/protos"可以工作。

迁移到Go Modules并非一帆风顺,但收益大于成本,我正在为自己和代码做未来证明。

我的问题是我不知道如何protoc将 Golang 绑定生成到我的任意GOPATH位置克隆之外。

我在生成文件后移动文件,但这感觉......不优雅:

package acme.toolbox.v1;
option go_package = "github.com/acme/toolbox/protos";
Run Code Online (Sandbox Code Playgroud)

有更好的解决方案吗?

go grpc go-modules

3
推荐指数
1
解决办法
1222
查看次数

如何将 STLINK-V3MINI 连接到 Blue Pill?

我有一个 Blue Pill,我想使用TinyGo对其进行编程,但 Blue Pill 没有(明显的)硬件编程方法。所以,我买了一个STLINK-V3MINI,希望能用JTAG/SWD来编程。我不确定如何将两者联系起来,并在我天真地将两者联系起来并破坏某些东西之前寻求指导。

蓝色药丸

这是 STLINK-V3MINI:

STLINK-V3MINI

这是 STDC14 连接器:

STDC14

STLINK用户指南的第 19 页有 STDC14 的引脚分配,但我无法将其与 TinyGo 的文档相关联,该文档表明需要SWIO, SWCLK,3v 和GND.

bluepill

2
推荐指数
1
解决办法
2590
查看次数

如何将文件解组到描述符pb.FileDescriptorProto

我正在与Golang Protobuf APIv2作斗争。

我正在尝试封装 protobuf 消息,以便可以调用服务器上的函数;编译时未知的函数。某种形式:

syntax = "proto3";

package p;

import "google/protobuf/any.proto";

option go_package = "...";

message FunctionRequest {
    string name = 1;
    google.protobuf.Any parameters = 3;
}
message FunctionResponse {
    google.protobuf.Any result = 1;
    string error = 2;

}
Run Code Online (Sandbox Code Playgroud)

我的目标是使用 protobuf 来定义函数,而不是直接使用 Go 结构体。

Google SDK 很复杂,我无法找到示例。

例如

syntax = "proto3";

package e;

option go_package = "...";

service Adder {
    rpc add(AdderRequest) returns (AdderResponse) {};
}
message AdderRequest {
    int32 a = 1;
    int32 b = …
Run Code Online (Sandbox Code Playgroud)

protobuf-go

2
推荐指数
1
解决办法
3031
查看次数

谷歌云平台 - 创建警报策略 - 如何在警报文档降价中指定消息变量?

因此,我在谷歌云上创建了一个日志警报策略,用于监视项目的日志,并在发现与特定查询匹配的日志时发送警报。这一切都很好,但每当它发送电子邮件警报时,它都是准系统。我无法在电子邮件警报中包含任何有用的内容,例如实际消息,用户必须单击“查看事件”并转到警报发生时的指定时间范围。

没有办法包含消息吗?据我所知,查看 gcp使用 Markdown 和文档模板中的变量doc 对此进行了说明。

我只能真正使用${resource.label.x}这并不是那么有用,因为默认情况下它已经在警报中包含了大部分内容。

我可以有类似的东西${jsonPayload.message}吗?我尝试的时候没有成功。

google-cloud-platform google-logging

2
推荐指数
1
解决办法
1530
查看次数

如何列出具有特定环境变量的部署

我很乐意列出具有mongodb环境价值的部署及其阶段状态。有办法这样做吗?

使用此命令,我获得带有特定环境值的部署名称

kubectl get deploy -o=custom-columns="NAME:.metadata.name,SEC:.spec.template.spec.containers[*].env[*].value" | grep mongodb | cut -f 1 -d ' '
Run Code Online (Sandbox Code Playgroud)

输出:

app1
app2
app3
app4
Run Code Online (Sandbox Code Playgroud)

我想要得到的输出:

NAME                                     READY   UP-TO-DATE   AVAILABLE   AGE
app1                                     1/1     1            1           125d
app2                                     1/1     1            1           248d
app3                                     1/1     1            1           248d
app4                                     1/1     1            1           248d
Run Code Online (Sandbox Code Playgroud)

或者它也可以是 pod。我很感激你的帮助。

谢谢你!

kubernetes kubectl

1
推荐指数
1
解决办法
1413
查看次数