问题列表 - 第10307页

为什么我不能通过Perl通过JSON :: XS从PostgreSQL正确编码布尔值?

我在PostgreSQL系统上返回布尔值的查询:

my $sth = $dbh->prepare("select 'f'::boolean");
$sth->execute;
my @vals = $sth->fetchrow_array;
Run Code Online (Sandbox Code Playgroud)

根据DBD :: Pg文档

PostgreSQL的当前实现返回“ t”为真,“ f”为假。从Perl的角度来看,这是一个非常不幸的选择。因此,DBD :: Pg以Perlish方式转换BOOL数据类型的结果:'f'变为数字0,'t'变为数字1。这样,应用程序不必检查特定于数据库的返回值数据类型为BOOL,因为Perl将0视为false,将1视为true。您可以根据需要将pg_bool_tf属性设置为true值,以将值更改回't'和'f'。

因此,只要pg_bool_tf返回0,它就应该返回0。但是,在JSON :: XS(和纯JSON)的过程中,会将返回的0解释为字符串:

use JSON::XS qw(encode_json);
my $options =
{
    layout => 0,
    show_widget_help => $vals[0] // 1,
};
die encode_json($options);
Run Code Online (Sandbox Code Playgroud)

...死于:

{“ layout”:0,“ show_widget_help”:“ 0”}

...那很好,除了我的JavaScript在那里期望布尔值,并且非空字符串“ 0”被评估为true。为什么后一个引用0,而前一个引用不呢?

根据JSON :: XS docs,这是一个主要功能:

往返完整性

当仅使用JSON支持的数据类型序列化perl数据结构时,反序列化的数据结构在Perl级别上是相同的。(例如,字符串“ 2.0”不会因为看起来像数字而突然变成“ 2”)。对此有一些例外,请阅读下面的“映射”部分以了解这些内容。

...表示:

简单的Perl标量(不是引用的任何标量)是最难编码的对象:JSON :: XS将未定义的标量编码为JSON空值,在编码为JSON字符串之前在字符串上下文中最后使用过的标量,以及其他任何数值。

但是我从不在字符串上下文中使用@vals [0]。也许DBD :: Pg在返回它之前将其布尔值0用作字符串?

perl json dbi

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

设置/拆卸会损害测试可维护性吗?

这似乎引发了另一个问题的一些对话,我认为值得转入自己的问题.

DRY原则似乎是我们解决维护问题的首选武器,但是测试代码的维护又如何呢?是否适用相同的经验法则?

开发人员测试社区中的一些强烈声音认为设置和拆卸是有害的,应该避免......仅举几例:

实际上,由于这个原因,xUnit.net已经完全从框架中删除了它们(虽然有办法解决这种自我限制).

你有什么经验吗?设置/拆卸是否会受损或有助于测试可维护性?

更新:像JUnit4或TestNG(@ BeforeClass,@ BeforeGroups等)中提供的更细粒度的构造会有所作为吗?

maintainability unit-testing dry fixtures factory-pattern

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

没有框架的JavaScript树功能

我想用JavaScript在Facebook页面上显示一棵树.因此,对于不能在Facebook上运行的jQuery或Ext这样的框架没有依赖性,至少据我上次在该平台上工作时所知(2009年4月).任何人都可以推荐一个"无框架"的JavaScript /树库吗?我已经将一些相当复杂的JavaScript移植到Facebook,所以我确信我能够移植任何现有的纯JavaScript库.

澄清要点:

  • 我的目标是FBJS
  • 我也可以(并且确实)谷歌搜索JavaScript /树引擎,但我正在寻求关于哪个(s)的建议

javascript tree facebook no-framework fbjs

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

使用Mockito测试抽象类

我想测试一个抽象类.当然,我可以手动编写一个继承自该类的模拟.

我可以使用模拟框架(我使用的是Mockito)而不是手工制作我的模拟吗?怎么样?

java abstract-class unit-testing mocking mockito

202
推荐指数
8
解决办法
15万
查看次数

你如何模拟C#中的文件系统进行单元测试?

是否有任何库或方法来模拟C#中的文件系统来编写单元测试?在我目前的情况下,我有方法检查某个文件是否存在并读取创建日期.我将来可能需要更多.

c# unit-testing mocking

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

PHP try-catch块:它们能够捕获无效的arg类型吗?

背景:假设我有以下显然不正确的PHP:

    try{
        $vtest = '';
        print(array_pop($vtest));
    }catch(Exception $exx){}
Run Code Online (Sandbox Code Playgroud)

为了使用array_pop,$ vtest显然应该是一个数组,而不是一个字符串.然而,当我运行此代码时,会显示警告.我不希望这样,我只是希望代码无声地失败.

问题:与其他语言相比,PHP try-catch是否有一些特殊之处导致这种情况无效?

免责声明: 仅供参考,确实有其他方法可以在PHP中处理这种情况,但这些都是不可取的.这里的目标是避免:

"签名"技巧:

        $vtest = '';
        print(@array_pop($vtest)); // <-- would like to avoid this
Run Code Online (Sandbox Code Playgroud)

类型铸造:

        $vtest = '';
        $vtest = (array)$vtest;  
        print(array_pop($vtest));
Run Code Online (Sandbox Code Playgroud)

php arrays exception try-catch

14
推荐指数
2
解决办法
7412
查看次数

您可以直接从Windows命令提示符读取注册表值,并在标准Windows命令中使用它们吗?

我想使用Windows FTP命令提示符在网络上FTP一些文件,我想从我已经为另一个相关应用程序设置的注册表项中检索FTP参数.

有没有办法直接从注册表中直接读取这些参数作为传递值到FTP命令?

ftp registry command-line

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

是否有可能获得类的所有子类?

可能重复:
如何在Java中找到给定类的所有子类?

嗨,

我想获得一个在运行时用Java实现接口的类列表,这样我就可以进行查找服务而无需对其进行硬编码.有一个简单的方法吗?我不担心.

java reflection runtime

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

在ASP.Net网站上使用WCF服务的教程?

我正在尝试创建我的第一个WCF服务.

我已经创建了该服务,现在我正试图从asp.net(vb)网站上调用它,我尝试添加一个Web引用并使用scvutil.exe来使用该服务.

到目前为止都没有奏效.它不是让我在我的代码中声明服务.如果有人能指出我如何在ASP.Net网站上使用WCF服务的一个很好的教程.

我发现了很多关于如何在AJAX或Silverlight或windows应用程序中使用它们,但在一个普通的旧网站上没有使用它.

wcf

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

如何根据查询字符串在apache mod_rewrite中禁止使用url?

如何在apache中禁止以下url;

main/index.php?site=ing

我试过以下几点;

RewriteRule ^main/index.php?site=ing - [F]

但没有运气......

apache mod-rewrite query-string

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