小编Mar*_*erg的帖子

如何并行运行Perl测试套件中的一些但不是所有测试?

我有一个基于Perl的测试套件,有10,000多个测试,我想让它运行得更快.我已经使用了-j标志进行了测试prove,我发现大多数但并非所有的测试都准备好并行运行.

虽然我可以努力使其余的测试"并行友好",但我希望总有一些测试不是.管理这个的好方法是什么?我希望能够有效地运行整套测试,并且如果需要的话,可以很容易地将测试标记为"非并行就绪".

以下是我看到的一些选项:

  1. 证明可以修补以支持一些非并行准备的测试
  2. Jenkins被用来管理测试套件运行.我可以将非并行测试分解为自己的运行.换句话说,放弃并使用两次测试运行.
  3. 也许有一种方法可以将两个TAP我尚未恢复的结果流合并在一起.

我不太关心如何管理例外列表.要么我可以将列表作为测试工具基础结构的一部分保存在文件中,要么我可以在每个测试标题中放置一些标记它的内容,并且我们的测试工具可以动态地确定异常列表.

(测试套件部分基于Test :: Class,我也会看看Test :: Class :: Load来加速它.)

testing parallel-processing perl automated-tests

15
推荐指数
2
解决办法
1620
查看次数

如何使用PostgreSQL加密密码?

我对编码密码有一些问题,我该怎么办呢.编码类型md5

digest(data text, type text) returns bytea;
CREATE OR REPLACE FUNCTION md(bytea) returns text AS $$
    SELECT encode(digest($1, 'sha1'), 'md5')
$$ LANGUAGE SQL STRICT IMMUTABLE;

INSERT INTO "login"(login, password, employee_id)
VALUES ( 'email',crypt('password', md('md5')), 1);
Run Code Online (Sandbox Code Playgroud)

*** 错误 ***

ERROR: syntax error at or near "digest"
SQL state: 42601
Character: 1
Run Code Online (Sandbox Code Playgroud)

encryption postgresql password-encryption

10
推荐指数
2
解决办法
2万
查看次数

如何将自定义SVG形状导入Dia?

我无法将SVG形状导入Dia.它期待一种.shape格式(参见http://dia-installer.de/howto/create_shape/index.html)

一种解决方案是将Dia图导出为SVG并在Inkscape中编辑它,但我真的想知道如何将一些SVG剪贴画直接导入Dia.

svg dia

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

HTML表单:可以仅使用HTML或CSS抑制提交的GET/POST参数吗?

我正在做一个基于网站的项目的志愿者,该项目试图在添加任何JavaScript以进行增强之前使所有页面完全可用的JavaScript免费,并且我被要求调查是否可以纯粹通过HTML/CSS处理特定场景.

我们有一个填充的表单,以帮助我们过滤通过GET操作页面更新后显示在屏幕上的票证列表,这本身工作正常,但是对当前实现的关注是URL不能是成为一个永久的链接.但是,要保持永久链接尽可能最小的请求是仅为填充了某些内容的字段发送GET参数(因此,为空白字段抑制GET参数),而不是为每个表单设置不同的GET参数页面上的字段.

我已经想到了几种可以实现的方法,大多数包括JavaScript(例如:创建带有ids但没有名称的字段和带有使用JS从字段中获取数据的名称的隐藏字段),还有一个可能是使用可以永久使用的可读字符串重定向到GET的POST操作.然而,如果可能的话,主角开发者不希望通过POST /重定向方法.

话虽这么说,我正在努力确保我在我强烈推动POST /重定向解决方案之前覆盖我的所有基础并询问专家对此的想法:是否有一种方法仅使用HTML和CSS直接抑制GET参数不使用POST /重定向的空白字段的表单?

html css

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

为什么字符é在UTF-8中编码为0xC3 0xA9?

如果我将字符写入é文件并用十六进制编辑器打开它,我可以看到字节0xC3,0xA9.

从维基百科,第一个字节称为前导字节,第二个字节称为尾随字节.0xC3它是一个元数据字节,这意味着,它的1个字节,0xA9,但对于Unicode值编码的字符é0xE9.

我基本上想知道é它为什么用0xA9而不是0xE9编码.文本编辑器如何从0xC3A9转换为0xE9?任何轮班操作?

unicode encoding utf-8

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

MongoDB GeoJSON"无法从对象,格式错误的几何体中提取地理键?" 插入多边形时

我收到错误"无法从对象中提取地理键,格式错误的几何体?".多边形是关闭的,格式看起来很好,因为它正确插入Mongo.我正在使用Mongo版本2.6.3,在Centos 6.5 x64上运行.

下面的多边形有什么问题?我非常密切地关注了Mongo的例子.

db.test.remove({});
db.test.insert({testPoly: {type: "Polygon", coordinates: [[0,0],[0,20],[10,30],[20,20],[20,0],[0,0]]}});
db.test.ensureIndex({testPoly: "2dsphere" });
db.test.find();

/* 0 */
{
    "connectionId" : 2385,
    "err" : "Can't extract geo keys from object, malformed geometry?: { _id: ObjectId('54008301eb55d4628c080370'), testPoly: { type: \"Polygon\", coordinates: [ [ 0.0, 0.0 ], [ 0.0, 20.0 ], [ 10.0, 30.0 ], [ 20.0, 20.0 ], [ 20.0, 0.0 ], [ 0.0, 0.0 ] ] } }",
    "code" : 16755,
    "n" : 0,
    "ok" : 1
}

/* 0 */ …
Run Code Online (Sandbox Code Playgroud)

mongodb geojson

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

在PostgreSQL中,对同一表中不同行的多个UPDATE是否存在锁定冲突?

我有点想知道我正在做一张大桌子的更新,我是否需要担心锁。

我有一张桌子,看起来像这样:

CREATE TABLE "ItemsToProcess"( 
"id" text, 
"WorkerInstanceId" text, 
"ProcessingStartTime" timestamp with time zone, 
"UpdatedTime" timestamp with time zone, 
CONSTRAINT "ITP_PK" PRIMARY KEY ("id")
)WITH (
  OIDS=FALSE
);
Run Code Online (Sandbox Code Playgroud)

最初,此表中有〜200万行,并且默认情况下以及运行开始时,仅填充的ID,WorkerInstanceId和两个时间戳为null。

发生的情况是,某些工作人员应用程序(至少两个,但在生产中大约为10-13)会从该表中标记一批ID-s(我计划将batchSize设置为200)进行处理。处理过程中发生的事情现在并不重要。批处理的标记如下所示:

UPDATE "ItemsToProcess" 
   SET "WorkerInstanceId" = ?, "ProcessingStartTime" = current_timestamp()
 WHERE "WorkerInstanceId" is NULL
 LIMIT 200;
Run Code Online (Sandbox Code Playgroud)

我的问题是,在进行更新之前,我是否需要担心锁定要更新的行?

Postgres文档说:

排他性

与SHARE,SHARE ROW EXCLUSIVE,EXCLUSIVE和ACCESS EXCLUSIVE锁定模式冲突。

命令UPDATE,DELETE和INSERT在目标表上获得此锁定模式(除了对任何其他引用表的ACCESS SHARE锁定之外)。通常,任何修改表中数据的命令都将获取此锁定模式。

因此,我认为每当一个工作人员进行此更新时,整个表将被锁定,将更新200行,最后释放该锁。在锁到位之前,其他工人正在等待锁释放。我是对的还是我想念什么

谢谢您的帮助!

postgresql locking

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