将输出从java.io.OutputStream传递到Java中的String的最佳方法是什么?
说我有方法:
writeToStream(Object o, OutputStream out)
Run Code Online (Sandbox Code Playgroud)
它将对象中的某些数据写入给定流.但是,我希望尽可能轻松地将此输出转换为String.
我正在考虑写一个这样的课程(未经测试):
class StringOutputStream extends OutputStream {
StringBuilder mBuf;
public void write(int byte) throws IOException {
mBuf.append((char) byte);
}
public String getString() {
return mBuf.toString();
}
}
Run Code Online (Sandbox Code Playgroud)
但有更好的方法吗?我只想进行测试!
我无法通过ClojureScript将不间断的空间转换为HTML.
如果我使用" " 字符串只是字面打印.
我正在使用Crate库.
DOM方法getChildNodes()返回NodeList当前子节点的一个Node.虽然NodeList订购了a ,但是列表是否保证按文档顺序排列?
例如,假设<a><b/><c/><d/></a>是a.getChildNodes()保证返回一个NodeList与b,c并d 按此顺序?
该javadoc的不明确这一点.
我正在创建一个非常简单,非常大的Postgresql数据库.该数据库将有大约100亿行,这意味着我正在考虑将其分成几个表.但是,我找不到任何关于我们应该分解多少分区的信息.
我还不知道到底有什么类型的查询,所以不可能提出一个完美的分区方案,但分区大小是否有任何经验法则?
干杯,
阿德里安.
我正在尝试将以下宏从lisp的土地转换为clojure:
(defmacro tag (name atts &body body)
`(progn (print-tag ',name
(list ,@(mapcar (lambda (x)
`(cons ',(car x) ,(cdr x)))
(pairs atts)))
nil)
,@body
(print-tag ',name nil t)))
Run Code Online (Sandbox Code Playgroud)
但我一直陷入需要更多评估水平的投注.例如,以下需要评估t#:
(defmacro tag [tname atts & body]
`(do (print-tag '~tname '[~@(map (fn [[h# t#]] [h# t#]) (pair atts))] nil)
~@body
(print-tag '~tname nil true)))
Run Code Online (Sandbox Code Playgroud)
因为它产生如下东西:
(tag mytag [color 'blue size 'big])
<mytag color="(quote blue)" size="(quote big)"><\mytag>
Run Code Online (Sandbox Code Playgroud)
我希望评估属性的位置.如果我在上面使用"(eval t#)",我就会犯这样的问题:
(defn mytag [col] (tag mytag [colour col]))
java.lang.UnsupportedOperationException: Can't eval locals (NO_SOURCE_FILE:1)
Run Code Online (Sandbox Code Playgroud)
有什么建议?
为什么在Clojure中似乎发生了一个较低级别的评估?
支持功能的定义: …
我正在尝试使用https://github.com/mesos/kafka/tree/master/src/docker#running-image-in-marathon中规定的docker容器启动kafka-mesos框架调度程序,使用Marathon实现在minimesos中运行(我想添加minimesos标签,但没有积分).该应用程序已注册,可以在Marathon控制台中查看,但它仍处于等待状态,而部署GUI则说它正在尝试使用ScaleApplication.
我已经尝试在marathon和mesos-master容器中查找/ var/log文件,这些文件可能会显示为什么会发生这种情况.最初我认为它可能是因为图像没有被拉,所以我添加"forcePullImage": true到JSON应用程序配置但它仍然等待.我还假设这与http://minimesos.readthedocs.org/en/latest/上的minimesos警告一致,我也将网络从HOST更改为BRIDGE .
在mesos日志中,我确实看到:
I0106 20:07:15.259790 15 master.cpp:4967] Sending 1 offers to framework 5e1508a8-0024-4626-9e0e-5c063f3c78a9-0000 (marathon) at scheduler-575c233a-8bc3-413f-b070-505fcf138ece@172.17.0.6:39111
I0106 20:07:15.266100 9 master.cpp:3300] Processing DECLINE call for offers: [ 5e1508a8-0024-4626-9e0e-5c063f3c78a9-O77 ] for framework 5e1508a8-0024-4626-9e0e-5c063f3c78a9-0000 (marathon) at scheduler-575c233a-8bc3-413f-b070-505fcf138ece@172.17.0.6:39111
I0106 20:07:15.266633 9 hierarchical.hpp:1103] Recovered ports(*):[33000-34000]; cpus(*):1; mem(*):1001; disk(*):13483 (total: ports(*):[33000-34000]; cpus(*):1; mem(*):1001; disk(*):13483, allocated: ) on slave 5e1508a8-0024-4626-9e0e-5c063f3c78a9-S0 from framework 5e1508a8-0024-4626-9e0e-5c063f3c78a9-0000
I0106 20:07:15.266770 9 hierarchical.hpp:1140] Framework 5e1508a8-0024-4626-9e0e-5c063f3c78a9-0000 filtered slave 5e1508a8-0024-4626-9e0e-5c063f3c78a9-S0 for 2mins
I0106 20:07:16.261010 11 hierarchical.hpp:1521] …
我想(以编程方式)获取我的kubernetes集群中所有可调度节点的列表。
我相当确定这曾经可以通过查看.spec.unschedulable完整的输出kubectl get nodes(使用JSON或模板输出)来实现,但是现在看来此信息在 scheduler.alpha.kubernetes.io/taints键中,这很难解析,而且感觉不像正确的地方。
还有其他方法可以找到此信息吗?我是否缺少明显的东西?我目前正在使用1.5.1版。
更新:我几乎可以使用一些Go模板到达那里:
$ kubectl get nodes -o go-template='{{range .items}}{{with $x := index .metadata.annotations "scheduler.alpha.kubernetes.io/taints"}}{{.}}{{end}}{{end}}'
[{"key":"dedicated","value":"master","effect":"NoSchedule"}]
Run Code Online (Sandbox Code Playgroud)
但这给我留下了无法在模板中解析的JSON斑点,而且我仍然必须反转结果并取出节点名称。
更新2:显然,不可计划的节点应已.spec.unschedulable设置。似乎并非总是如此。不知道这是由于我的错误还是误解。
我刚刚阅读的问题回答了单元测试的理想特征,但应该避免什么?是什么让单元测试"糟糕"?
你见过的最糟糕的单元测试是什么?(例如.我记得一位开发人员告诉我他曾经发现一个测试套件有很多方法,但完全没有任何断言).
我对单元测试稍微有些细微和特定的问题特别感兴趣,例如假设你有一个测试套件,它可以快速运行并具有良好的覆盖范围,它还有什么问题?
java ×2
apache-kafka ×1
clojure ×1
database ×1
docker ×1
dom ×1
html ×1
io ×1
kubernetes ×1
land-of-lisp ×1
macros ×1
marathon ×1
minimesos ×1
postgresql ×1
stream ×1
string ×1
unit-testing ×1
xml ×1