小编hfs*_*hfs的帖子

XML格式约定:为什么在/>之前留一个空格?

我已经在几个地方看到了它,例如Eclipse XML自动格式化它也是这样做的:在关闭/>空元素之前放一个空格.

<element attribute="value"/>
Run Code Online (Sandbox Code Playgroud)

将被重新格式化为

<element attribute="value" />
Run Code Online (Sandbox Code Playgroud)

为什么要这么做?从XML的角度来看,它是等价的.这是一个惯例吗?是为了可读性吗?

xml formatting whitespace coding-style

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

Perforce:如何整合多个分支机构?

我在Perforce存储库中有以下分支情况:主线"主干"和两个发布分支"1.0"和"1.1".具有客户特定变化的分支"客户"已经从1.0分支分支出来.现在,客户希望转向1.1版.如何将1.1分支合并到客户分支?客户特定的更改应保持在1.1的"顶部".

这是一个受影响文件的图表:

1.1                      -(1)---(2)---(3)
                        /           \     \
                       /             \     \
trunk   100--(101)-(102)--103---104---105---106---107
           \
            \
1.0          ---1-----2--...
                 \
                  \
customer           ---1-----2----*3*
Run Code Online (Sandbox Code Playgroud)

我正在查看的文件的当前版本是客户分支上的修订版3.

如果我选择将分支"1.1"与目标"客户"集成,我会期望找到两者的共同祖先(主线上的修订版100),并且从那里导致1.1分支的尖端的所有修订被合并(那些在括号内).

相反,Perforce仅提供合并1.1分支的修订版1到3,但由于它错过了之前在主线上发生的必要更改而失败.

如何在不必手动查看每个文件并选择要合并的修订版的情况下说服Perforce执行此操作?也许分支策略不合适?我还该怎么办?

perforce branch branching-and-merging

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

为什么Bash的$ RANDOM在某些机器上没有播种(?)?

我注意到在某些机器上(所有openSUSE 11.2在相同的硬件上),每个Bash shell都会输出相同的值序列$RANDOM:

$ bash -c 'for i in `seq 10`; do echo -n "$RANDOM "; done; echo'
17767 9158 6249 18547 23633 23807 5194 22764 7977 31949 
$ bash -c 'for i in `seq 10`; do echo -n "$RANDOM "; done; echo'
17767 9158 6249 18547 23633 23807 5194 22764 7977 31949
Run Code Online (Sandbox Code Playgroud)

所有这些机器的顺序都是相同的.似乎随机数发生器没有播种?为什么会发生以及如何解决?

在我的个人机器上,每次调用上述命令时,数字都不同.

random bash seed

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

jsonb_agg:避免使用“jsonb_build_object”包装的对象

jsonb_build_object我可以按照我想要的方式创建 JSON 对象。例如

SELECT jsonb_build_object('id', id) FROM (SELECT generate_series(1,3) id) objects;
Run Code Online (Sandbox Code Playgroud)

结果是

jsonb_build_object
------------------
{"id": 1}
{"id": 2}
{"id": 3}
Run Code Online (Sandbox Code Playgroud)

但是当我想将它们添加到数组中时,它们被包装在一个附加对象中,并使用列名作为键:

SELECT jsonb_build_object(
  'foo', 'bar',
  'collection', jsonb_agg(collection)
)
FROM (
  SELECT jsonb_build_object('id', id)
  FROM (
    SELECT generate_series(1,3) id
  ) objects
) collection;
Run Code Online (Sandbox Code Playgroud)

结果是

{"foo": "bar", "collection": [{"jsonb_build_object": {"id": 1}}, {"jsonb_build_object": {"id": 2}}, {"jsonb_build_object": {"id": 3}}]}
Run Code Online (Sandbox Code Playgroud)

我怎样才能得到

{"foo": "bar", "collection": [{"id": 1}, {"id": 2}, {"id": 3}]}
Run Code Online (Sandbox Code Playgroud)

反而?

postgresql json list jsonb postgresql-9.5

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