小编Jon*_*ny5的帖子

JSON值是否有效JSON?

JSON值是字符串,数字,真,假,空有效JSON吗?就是,是

true
Run Code Online (Sandbox Code Playgroud)

一个有效的JSON文档?或者必须是一个数组/对象?

一些验证者接受这个(例如http://jsonlint.com/),而其他人则不接受(例如http://jsonschemalint.com/).RFC和json.org在这个问题上并不清楚.

json

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

仅当程序成功时如何重定向程序的输出?

当我的程序之一返回非零退出代码时,我想避免重定向其输出。这是可能的,如果是,我该怎么做?

我失败的尝试:

echo foo > file
false | cat > file
Run Code Online (Sandbox Code Playgroud)

这导致file为空。我想要的行为是仅file在程序成功时进行调整。

我还想知道是否可以只在输出非空的情况下更新文件而不使用多个文件。

unix bash shell

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

如何为服务帐号设置 Google Cloud 应用程序凭据

以下命令允许您设置默认凭据:

 gcloud auth application-default login
Run Code Online (Sandbox Code Playgroud)

它会打开一个窗口(除非您使用--no-launch-browser)并允许您连接您的帐户。它会创建一个包含您的凭据的本地 json 文件,当应用程序使用 Google Cloud SDK 时将获取该凭据。

但是,如果我想将应用程序凭据设置为服务帐户,如下所示:

 gcloud auth application-default login \
--impersonate-service-account=saname@project.iam.gserviceaccount.com
Run Code Online (Sandbox Code Playgroud)

这仍然允许我在浏览器中进行身份验证,但它似乎加载我的用户帐户的凭据,而不是服务帐户的凭据。

有办法实现这个目标吗?即,服务帐户设置为应用程序默认值,无需服务帐户文件。

注意:我确实有权冒充服务帐户

service-accounts google-cloud-platform gcloud google-cloud-iam

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

在新bash中更改bash提示符

当我创建一个新的bash进程时,提示默认为一个非常简单的进程.我知道我可以编辑.bashrc等来改变它,但是有没有办法用bash命令传递提示符?

谢谢!

bash shell prompt

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

使用Java中的getter方法返回私有集合

我有许多Java类在内部使用私有集或列表。我希望能够使用get ... List()方法返回这些集合/列表。

我正在考虑的替代方案:

  1. 返回对内部对象的引用
  2. 构造一个新的集合/列表并填充它(这似乎是不好的做法?)
  3. 使用 Collections.unmodifiableList(partitions);

以下哪项是解决此问题的最常见/最佳方法?

java

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

Hadoop中的map,shuffle,merge和减少时间的精确定义

在Hadoop中,作业执行后会提供以下指标:

  • 地图时间
  • 减少时间
  • 洗牌时间
  • 合并时间

我找不到这些时间的确切定义,因为所有来源仍不清楚如何精确计算这些时间。这是我的看法:

  • 地图时间是读取输入,应用地图功能和对数据进行排序的时间
  • 减少时间是应用减少功能并写入输出的时间
  • 随机播放时间是指地图分类的数据合并到转移到还原器的时间
  • 合并时间是仅在缩减端合并映射输出的时间

我不确定黑体字的内容。我的分析正确吗?

hadoop

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

Cloud Dataflow 新鲜度和延迟的确切定义是什么?

问题:

使用 Cloud Dataflow 时,我们会看到 2 个指标(请参阅此页面):

  1. 系统延迟
  2. 数据新鲜度

这些在 Stackdriver 中也可用以下名称(摘自此处):

system_lag:数据项等待处理的当前最大持续时间,以秒为单位。

data_watermark_age:管道已完全处理的最新数据项的年龄(自事件时间戳起的时间)。

但是,这些描述仍然非常模糊:

  1. “等待处理”是什么意思?消息在 pubsub 中等待多长时间?或者它必须在管道等待的总时间?
  2. “最大持续时间”:在处理了最大项目后,是否会调整指标?
  3. “自事件时间戳起的时间”是否意味着如果我的事件在时间戳 t1 被放入 pubsub 并且它在时间戳 t2 从管道的一端流出,管道在 t1?我想我可以假设,如果指标在 t1,则可以假设处理 t1 之前的所有内容。

题:

由于这些指标与 Apache Beam 的语义一致,我希望看到一些示例,或者至少对这些指标进行更清晰的定义以使其可用。

google-cloud-dataflow apache-beam

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

Java中特定于子类的重写

我的问题如下:

我们有一个内部工作的算法

  • 具有"String getContent()"方法的表达式对象
  • 使用"表达式操作(表达式e)"方法操作表达式的操纵器对象

这将成为Java中的框架.要解决一个真正的问题,需要给出一个Expression和一个Manipulator的特定实现,而Algorithm类将完成剩下的工作.

假设我们需要针对特定​​问题的ProblemExpression和ProblemManipulator.

ProblemExpression可能包含许多新字段,可由ProblemManipulator使用.

现在,我只能想到两种编写干净代码的方法:

  • 让ProblemManipulator.manipulate假设它的参数是ProblemExpressions
  • 使用instanceOf

但我觉得这不是我应该怎么做的.还有其他建议吗?

关心并提前感谢您,

Xaero.

java polymorphism inheritance frameworks overloading

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

在while循环中使用grep

是否有可能通过使用这样的 shell 脚本来处理 grep 的结果:

while read line ; do
    ...
done < grep ...
Run Code Online (Sandbox Code Playgroud)

谁能解释为什么这不起作用?有哪些替代方案?

谢谢!

shell grep

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