我们正在为一个程序编写测试.我们想编写一个函数测试来验证程序的输出是否符合某些期望.返回的对象是一个复杂的JS对象(具有嵌套对象,许多属性......等).
我们想测试这显然符合我们的需要.到目前为止,我们正在"浏览"对象和预期结果,检查每个属性以及每个嵌套对象.这非常麻烦,我们想知道是否有任何库可以根据对象"构建"所有测试.比如这样的东西.
var res = {
a: {
alpha: [1,2,3],
beta: "Hello",
gamma: "World"
},
},
b: 123,
c: "It depends"
}
};
var expectation = {
a: {
alpha: [1,2,4],
beta: "Hello",
gamma: "World"
},
},
b: 123,
c: "It depends"
}
};
assert(res, expectation) // -> Raises an error because res[a][b][2] is different from expectation[a][b][2].
Run Code Online (Sandbox Code Playgroud)
[在这个例子中,我简化了对象的复杂性......]
我应该坚持这样一个事实,即我们需要一段足够智能的代码来告诉我们什么是不同的,而不是仅仅告诉我们这2个对象是不同的.我们现在谈到了深刻的平等,但我们没有找到任何实际告诉我们差异的东西.
我们正在部署Node.js应用程序.这个应用程序似乎消耗了比它应该更多的RSS内存.所以我们开始深入研究,我们发现了以下内容,多亏了 process.memoryUsage();
RSS内存快速增长到大约400MB,并且在400MB-500MB内保持稳定性,小而小的下降(垃圾收集器运行?)
heapUsed快速增长到50MB,然后保持在该级别(20MB到100MB之间).
heaptotal总是比heapUsed多30 MB.
如你所见,堆和RSS之间存在巨大差异,这是我认为我们应该关注的地方.我们的堆中似乎没有任何非常严重的泄漏.
现在,RSS中的内容不在堆中?我相信C扩展,和Buffers,对吗?如果是这样,我们如何调试它.我们还应该寻找什么?
我们使用jQuery来解析一些HTML.然后我需要遍历该文档并找到一些元素.在我需要找到的<link>
元素中,有元素.
这非常适合提取所有<a>
元素:
$(string).find("a")
Run Code Online (Sandbox Code Playgroud)
但这不能提取<link>
元素:
$(string).find("link")
Run Code Online (Sandbox Code Playgroud)
该string
参数是HTML内容(例如,在请求中接收).
知道为什么吗?(我想find
这只适用于<body>
元素).另外,关于如何实际提取这些<link>
元素的任何想法?
我们有以下数据结构:
{:a => ["val1", "val2"], :b => ["valb1", "valb2"], ...}
Run Code Online (Sandbox Code Playgroud)
我想把它变成
[{:a => "val1", :b => "valb1"}, {:a => "val2", :b => "valb2"}, ...]
Run Code Online (Sandbox Code Playgroud)
然后回到第一个表格.任何看起来很漂亮的人?
我正在寻找一种技术,我们可以通过编程方式选择最佳的颜色对比,以应用于不同(不可预测的)背景颜色的HTML元素上的文本.
由于HTML元素将具有不同的颜色,我们正在寻找一种能够确定文本背后内容的颜色的技术,然后调整文本的颜色以使用具有最佳对比度的颜色.
我很确定这不能只是CSS,我已经找了Jquery解决方案,但找不到任何...有人有线索吗?
[更新]: 根据第一个回复,我想我需要改写.想象一下,我建立一个图像共享服务,我希望让人们标签上的图片自己.图片可以是任何颜色.如何为每张不同的图片选择正确的标签颜色?
这是我以前的课程
class Something
# Defines the validates class methods, which is called upon instantiation
include Module
validates :name
validates :date
end
Run Code Online (Sandbox Code Playgroud)
我现在有几个使用相同功能的对象,更糟糕的是,有几个对象定义了类似的东西,如下所示:
class Anotherthing
# Defines the validates class methods, which is called upon instantiation
include Module
validates :age
end
Run Code Online (Sandbox Code Playgroud)
我想'重复使用'这些类的内容,所以我把它们变成了模块:
module Something
# Defines the validates class methods which is called upon instantiation
include Module
validates :name
validates :date
end
module Anotherthing
# Defines the validates class methods which is called upon instantiation
include Module
validates :age
end
Run Code Online (Sandbox Code Playgroud)
我现在可以创建一个类 …
我在使用sax解析器时遇到了(我认为是)一种奇怪的行为,我想知道它是否正常.
我通过SAX解析器发送这个XML:
<site url="http://example.com/?a=b&b=c"; />
Run Code Online (Sandbox Code Playgroud)
startElement
调用回调时,"&"将转换为"&" .它应该这样做吗?如果是这样,我想了解原因.
我贴了一个例子来证明这个问题:
#include <stdlib.h>
#include <libxml/parser.h>
static void start_element(void * ctx, const xmlChar *name, const xmlChar **atts)
{
int i = 0;
while(atts[i] != NULL) {
printf("%s\n", atts[i]);
i++;
}
}
int main(int argc, char *argv[]) {
xmlSAXHandlerPtr handler = calloc(1, sizeof(xmlSAXHandler));
handler->startElement = start_element;
char * xml = "<site url=\"http://example.com/?a=b&b=c\" />";
xmlSAXUserParseMemory( handler,
NULL,
xml,
strlen(xml)
);
}
Run Code Online (Sandbox Code Playgroud)
PS:这条消息实际上是从LibXML2列表中提取的......我不是这封邮件的最初作者,但我注意到使用Nokogiri和Aaron(Nokogiri的维护者)的问题实际上是自己发布了这条消息.
我们有一个 XMPP 应用程序,它使用 MySQL 来存储信息。到目前为止,我们还没有遇到任何特定的负载问题,但我正在努力为最坏的情况(或最好的,就用户而言;))做好准备。
安装此 MySQL 服务器的主机是具有 2GB RAM 的 Slicehost 片。
昨天,我激活了慢查询日志以确保我们实际上没有慢。不幸的是,似乎实际上发现了很多慢查询:
从 /var/log/mysql/mysql-slow.log 读取 mysql 慢查询日志 Count: 109 Time=25.57s (2787s) Lock=0.00s (0s) Rows=1.0 (109), xxxxx[xxxxx]@[172.21.xxx.xxx] SELECT * FROM `feeds` WHERE (`id` = 'S') LIMIT N
这对我来说真的很奇怪,因为 id 实际上是一个主键......表是 InnoDB
我做了一个解释:
mysql> EXPLAIN SELECT * FROM `feeds` WHERE (`id` = '2650') LIMIT 1; +----+-------------+-------+-------+-------------- -+---------+---------+-------+------+-------+ | 身份证 | 选择类型 | 表| 类型 | 可能的密钥| 关键| 密钥长度 | 参考 | 行 | 额外 | +----+-------------+-------+-------+-------------- -+---------+---------+-------+------+-------+ | 1 | …
我们正在创建一个Chrome应用程序,希望在未来几周内发布.我们已经分发给了大量的alpha测试人员,即使反馈通常很好,我们也有很多用户抱怨说我们的扩展在RAM方面很昂贵.我们还有过高CPU消耗的报告.
现在,我们已经改进了看似显而易见的东西,但我们在执行方面几乎是"盲目的".
为我们的Chrome应用程序分析内存和JS调用的好策略是什么?
请注意,此应用程序是一个完整的本机应用程序,所以也许我们可以应用一些通用的JavaScript分析提示?
我正在编写一个将在CLI中运行的小型Ruby脚本.
为了改善界面,我需要为我输出的一些元素添加颜色/粗体.
那可行吗?如果是这样,我几乎可以肯定这是,怎么样?
javascript ×3
ruby ×3
node.js ×2
arrays ×1
colors ×1
contrast ×1
css ×1
dom ×1
escaping ×1
formatting ×1
hash ×1
heap ×1
inheritance ×1
innodb ×1
jquery ×1
libxml2 ×1
memory ×1
module ×1
mysql ×1
optimization ×1
performance ×1
profiling ×1
stdout ×1
testing ×1