小编Hak*_*aba的帖子

如何在 jsonnet 中 printf ?

有没有办法打印 jsonnet 中的对象?这主要用于调试目的。

我正在用来error打印对象,但这会终止程序执行。

local obj = [
{
  myKey: 2,
}];
error 'Printing' + std.toString(obj)
Run Code Online (Sandbox Code Playgroud)

输出:

RUNTIME ERROR: Printing[{"myKey": 2}]
    snippet:6:1-37  
Run Code Online (Sandbox Code Playgroud)

有更好的方法吗?

jsonnet

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

在bash终端中如何实现CTRL-R(反向搜索)?

反向搜索的示例:

(reverse-i-search)`grep': git log | grep master
Run Code Online (Sandbox Code Playgroud)

查找建议的算法是什么?它的搜索空间从何而来?

对其源代码的指针将不胜感激。

bash terminal

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

如何修改在golang中作为结构的切片元素?

你有一个golang切片结构,你想在那里改变一个条目.

type Type struct {
    value int
}

func main() {

    s := []Type{{0}, {0}}

    // Prints  [{0} {0}]
    fmt.Println(s)

    firstEntry := s[0]
    firstEntry.value = 5

    // Also prints [{0} {0}]
    fmt.Println(s)
}
Run Code Online (Sandbox Code Playgroud)

https://play.golang.org/p/32tpcc3-OD

使用括号运算符并修改其返回值不会更改切片本身.

执行此切片条目修改的推荐方法是什么?

go

5
推荐指数
2
解决办法
8434
查看次数

是否可以从Kubernetes的容器内部获取容器名称?

说我有以下Pod规格。

apiVersion: apps/v1beta1
kind: Deployment
metadata:
  # Unique key of the Deployment instance
  name: deployment-example
spec:
  # 3 Pods should exist at all times.
  replicas: 3
  template:
    metadata:
      labels:
        # Apply this label to pods and default
        # the Deployment label selector to this value
        app: nginx
    spec:
      containers:
      - name: nginx
        # Run this image
        image: nginx:1.10
Run Code Online (Sandbox Code Playgroud)

在这里,容器的名称是nginx。有没有办法从正在运行的容器中获取“ nginx”字符串?

我的意思是,一旦我用类似的东西执行到容器中

kubectl exec -it <pod-name> -c nginx bash
Run Code Online (Sandbox Code Playgroud)

有没有一种编程的方法来获取pod规范中的给定容器名称?


请注意,这不一定是在中打印的docker容器名称docker ps。Kubernetes为生成的Docker容器编写了一个更长的名称。


向下API看起来在这方面的承诺。但是container name …

kubernetes

5
推荐指数
2
解决办法
2105
查看次数

如何实现 RESTful API 以更改大型集合条目的顺序?

我有一个可能包含大量资源的端点。它们以分页列表的形式返回。每个资源都有一个唯一的id、一个rank字段和一些其他数据。从语义上讲,资源是根据其 进行排序的rank。用户应该能够更改该顺序。我正在寻找一个 RESTful 接口来更改rank大型集合中许多资源中的字段。

对一项资源重新排序可能会导致许多资源的字段发生更改rank。例如,考虑将最不重要的资源移动到最重要的位置。许多资源可能需要“降低其级别”。

分页的集合使问题变得更加困难。之前也有过类似的问题,关于一个小集合

rank字段是整数类型。如果它能产生合理的接口,我可以更改它的类型。


例如:

GET /my-resources?limit=3&marker=234返回:

{
  "pagination": {
    "prevMarker": 123,
    "nextMarker": 345
  },
  "data": [
    {
      "id": 12,
      "rank": 2,
      "otherData": {}
    },
    {
      "id": 35,
      "rank": 0,
      "otherData": {}
    },
    {
      "id": 67,
      "rank": 1,
      "otherData": {}
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

经过深思熟虑的方法。

1) 对列表的 PATCH 请求。

我们可以使用标准 json-patch 请求修改排名字段。例如以下内容:

[
  {
    "op": "replace",
    "path": "/data/0/rank",
    "value": 0
  }, …
Run Code Online (Sandbox Code Playgroud)

api rest http json-patch

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

如果之后使用管道,为什么等待生成"<pid>不是此shell的子代"错误?

在下面我创建一个后台进程并等待它完成.

$ bash -c "sleep 5 | false"  &  wait $!
[1] 46950
[1]+  Exit 1                  bash -c "sleep 5 | false"
$ echo $?
1
Run Code Online (Sandbox Code Playgroud)

这有效,并在5秒后返回提示.

但是,wait如果我在其后再使用一个管道,则返回错误.

$ bash -c "sleep 5 | false"  &  wait $!  | true
[1] 49493
-bash: wait: pid 49493 is not a child of this shell
hbaba@mbp-005063:~/misc$ echo $?
0
hbaba@mbp-005063:~/misc$ ps -T -f
  UID   PID  PPID   C STIME   TTY           TIME CMD
980771313 49493 69771   0 12:56AM ttys056    0:00.00 bash -c …
Run Code Online (Sandbox Code Playgroud)

linux bash shell subprocess pipe

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

如何使用gitpython获取user.email配置?

我有一个回购初始化为

r = git.Repo.init(dirPath)
Run Code Online (Sandbox Code Playgroud)

如何使用gitpython获取该仓库的git config的user.email字段?

gitpython

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

标签 统计

bash ×2

api ×1

gitpython ×1

go ×1

http ×1

json-patch ×1

jsonnet ×1

kubernetes ×1

linux ×1

pipe ×1

rest ×1

shell ×1

subprocess ×1

terminal ×1