好吧,我们都知道测试驱动的开发.我需要编写一个基于GUI的库,但说实话,我总是忽略测试.JUnit是否适用于大学等,但我们从来没有比通常的"实施列表和测试它"更深入.
因此,由于我不想为这些功能编写一千个应用程序,我想知道,使用Scala和JUnit进行基于GUI的库测试的"专业"方法是什么?
谢谢收听.
美好的一天,
对于工作,我突然需要知道Perl,虽然我几年前曾涉足这些艺术,但我似乎完全迷失了.对于Haskell/Java程序员来说,所有这些非结构化的打字都会让人紧张.
但是,我写了这个sub,它应该采用一行单行字符串并将它们连接成一个单行的多行字符串.我有它喜欢这样:
sub unlines {
my ( @lines ) = @_;
my $str = "";
foreach $line ( @lines ) {
$str = join $str, chomp($line), "\n";
}
return $str;
}
Run Code Online (Sandbox Code Playgroud)
然后我想测试它,当然:
print unlines(("GET / http1.1", "Host: localhost", ""));
Run Code Online (Sandbox Code Playgroud)
事情的结果是
000
Run Code Online (Sandbox Code Playgroud)
还有很多换行.我完全不知道为什么会这样.任何人都可以帮助我,并解释一下,所有这些参数如何传递给Perl中的sub都有效?这似乎是很有趣的事情一样工作@_和shift,但打字......这是一场噩梦.
谢谢收听.
我有这样的类型
sealed class Foo[A](val value: A)
object Foo {
def apply[A](v: A)(implicit num: Numeric[A]): Foo[A] =
/* highly complex stuff to make a Foo[A] */
implicit def toA[A](x: Foo[A]) = x.value
}
Run Code Online (Sandbox Code Playgroud)
Foo因为一个类只应该保存该值,所以隐含的数字不会有多大意义.但我需要的类型A始终是数字.
所以我的想法是让它不可能Foo在其伴侣之外使用正常的构造函数.这可能在Scala吗?
我想解析这些简单的路线:
http://example.com/foo/bar/baz/
Run Code Online (Sandbox Code Playgroud)
对它们的数量没有理论上的限制.从中获得一个阵列会很好['foo','bar','baz'].
如何使用Express路由?
我有一个node.js应用程序,我希望允许我的用户通过一点降价来增强他们的消息.但只是一点点.我想要
这就是它,仅此而已.但是在扩展消息传递系统时,我可能需要更多.
我看了看showdown,markdown-js然后PageDown.只有后者进行消毒,但所有这些都不可配置.PageDown是最有希望的,但我不能让它不产生<p>围绕输出.
还有其他一些可以让我更多控制的选择吗?
假设我为我的类定义了一些运算符,如下所示:
class A {
def +(f: Float) = /* ... */
}
val a: A = new A
Run Code Online (Sandbox Code Playgroud)
这让我a + 1f很容易做到.如果我想让lib的用户能够写入1f + a怎么办?我该如何实现呢?
我已经拿到了文件,(可能)中的Latin-1(ISO 8859-1)编码,并有一定的转换和数据挖掘罢了.输出应该是UTF-8,我已经尝试过任何关于Perl编码转换的内容,但没有一个产生任何可用的输出.
我知道use utf8;开始没什么作用.我试过Encode这个看起来很有前途的软件包:
open FILE, '<', $ARGV[0] or die $!;
my %tmp = ();
my $last_num = 0;
while (<FILE>) {
$_ = decode('ISO-8859-1', encode('UTF-8', $_));
chomp;
next unless length;
process($_);
}
Run Code Online (Sandbox Code Playgroud)
我尝试过任何我能想到的组合,也被抛入其中binmode(STDOUT, ":utf8");,open FILE, '<:encoding(ISO-8859-1)', $ARGV[0] or die $!;等等.结果是乱序的变音符号,或者错误信息\xC3 is not a valid UTF-8 character,甚至是混合文本(有些是UTF-8,有些是拉丁文-1).
我想要的只是一种简单的方法来读取Latin-1文本文件并通过控制台生成UTF-8输出print.在Perl中有没有简单的方法呢?
我需要自动为视频生成缩略图.我无法预测视频的格式,但我总是需要缩略图为220x120像素.使用-s 220x120产生一种奇怪的伸展,就像-vf "scale=220:120".我希望拉伸是均匀的,如果视频太高或者添加黑色边框,要么切掉顶部和底部.
zend文件application.config.php提供了一些缓存配置的方法,我发现它非常适合生产系统:
return array(
'modules' => array(
'Application',
),
'module_listener_options' => array(
'module_paths' => array(
'./module',
'./vendor'
),
'config_glob_paths' => array('config/autoload/{,*.}{global,local}.php'),
'config_cache_enabled' => true,
'config_cache_key' => md5('config'),
'module_map_cache_enabled' => true,
'module_map_cache_key' => md5('module_map'),
'cache_dir' => './data/cache',
),
);
Run Code Online (Sandbox Code Playgroud)
但是,激活会立即导致错误
Fatal error: Call to undefined method Closure::__set_state()
Run Code Online (Sandbox Code Playgroud)
这与作为闭包编写的工厂有关,如下所示:
'service_manager' => array(
'factories' => array(
'auth.service' => function($sm) {
/* hic sunt ponies */
},
),
),
Run Code Online (Sandbox Code Playgroud)
不幸的是,该 问题 只告诉我,为什么这个错误发生,但不知道如何解决它.
我如何重做这个和类似的,factories以便缓存将与他们一起工作?
我正在尝试编写一个带有MediaPlayer. 我有不同的活动访问它,所以我认为最好仔细研究服务。
到目前为止它工作正常,我还添加了对 的调用startForeground,如此处所述。通知出现。
但是,当我现在按下设备上的主页或后退按钮时,该服务将停止并被onDestroy调用,并且通知图标消失。当我返回时,服务似乎重新绑定得很好。
我停止了音乐播放onDestroy,所以它当然停止了。但我希望即使用户在使用另一个应用程序时也能保持通知和服务处于活动状态。
编辑:我希望这是相关部分:
public class MediaPlayerService extends Service {
private static class PlayerMessageHandler extends Handler {
private final MediaPlayerService owner;
public PlayerMessageHandler(MediaPlayerService owner) {
this.owner = owner;
}
@Override
public void handleMessage(Message msg) {
// Handle
}
}
private static final int NOTIFICATION_ID = 13138;
private final Messenger messenger = new Messenger(new PlayerMessageHandler(
this));
private MediaPlayer player;
private Notification notification;
@Override
public IBinder onBind(Intent intent) …Run Code Online (Sandbox Code Playgroud)