问题列表 - 第3444页

单元测试并发Erlang代码的最佳方法是什么?

我在Erlang上花了一些时间,我想将TDD应用到我正在编写的代码中.

虽然标准库中的EUnit为测试常规样式代码提供了一个很好的传统单元测试框架,但似乎没有什么可以帮助测试并发代码,这在Erlang中使用了很多.

请注意,我们在这里讨论的是Erlang,它使用消息传递(而不是共享状态)来进行并发进程之间的通信,因此使用共享状态语言对并发代码进行单元测试的技术可能不适用.

有人找到了在Erlang中测试并发代码的好方法吗?

parallel-processing concurrency erlang unit-testing

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

OpenCv Blob/Contour标签

嗨,我一直在研究这个问题,但却没有很好的解决方案.

我正逐帧阅读视频,并使用背景减法来识别有移动的区域,并使用cvFindContours()来获取移动对象的矩形边界.

假设程序保持简单,那么只有2个人.

这些物体以它们可以重叠的方式移动,以一定的间隔转弯并移开.

我怎样才能正确标记这个人类x 2.

cvFindContour可以以随机方式返回边界.对于Frame1,Frame2,Frame3 ...... FrameN

我最初可以比较矩形边界质心来正确地标记人类.一旦人类重叠并离开,这种方法就会失败.

我试图跟踪原始obj的像素颜色(但是人类非常相似,某些区域有类似的颜色,如手,腿,头发)因此不够好.

我正在考虑使用Image Statistic:

CountNonZero(),SumPixels()Mean()Mean_StdDev()MinMaxLoc()Norm()

唯一地区分这两个对象.我相信这将是一个更好的方法.

opencv blob contour background-subtraction

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

将ReaderWriterLockSlim UpgradeableReadLock降级为简单的ReadLock

文件ReaderWriterLockSlim.EnterUpgradeableReadLock说:

处于可升级模式的线程可以降级到读取模式或升级到写入模式.

如何将锁降级为读锁?文档没有说明......

[编辑:]我不是想要写锁定.我只想将可升级锁降级为读锁,以便另一个线程可以获得可升级锁.

c# locking

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

如何在WPF中设置滑块控件的样式?

我想设置滑块控件的样式,以便可拖动拇指的高度设置为8像素.

WPF中执行此操作的最简单方法是什么?

<Slider>
    <Slider.Style>
        <!-- which xaml here? -->
    </Slider.style>
</Slider>
Run Code Online (Sandbox Code Playgroud)

wpf xaml slider styling

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

pthread_mutex_t初始化错误

我在老虎身上使用xcode 2.4.1.当我在下面做的一切都很好.当我做

pthread_mutex_t mute;
ImageMan()
{
    dibSize=0;
    mute  = PTHREAD_MUTEX_INITIALIZER;
}
Run Code Online (Sandbox Code Playgroud)

我得到了这两个错误

error: expected primary-expression before '{' token
error: expected `;' before '{' token
Run Code Online (Sandbox Code Playgroud)

我不知道为什么.但是,如果我做pthread_mutex_t静音= PTHREAD_MUTEX_INITIALIZER; 它工作正常.为什么?

-edit-我没有运行它,但这似乎编译.为什么?是吧?

    pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;
    mute = mutex;
Run Code Online (Sandbox Code Playgroud)

mutex initialization pthreads

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

如何取消UIScrollView中的滚动

我使用UIScrollView在iPhone上制作大尺寸(大于320像素)的UI.

我创建了一个UIScrollView实例,并在其上添加了一些子视图.问题是我只想在用户触摸子视图之外时启用滚动,当用户触摸其中一个子视图时停止滚动.

我阅读文件并试图找到样品,但我找不到好的提示.如果您有任何想法,请帮助我.

iphone cocoa-touch uiscrollview

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

Oracle Modify语句 - 错误

我在表格中添加了一个新列.

ALTER TABLE neue_buch modify preis not null;
Run Code Online (Sandbox Code Playgroud)

我有这个错误:

Error starting at line 40 in command:
ALTER TABLE neue_buch
modify preis not null
Error report:
SQL Error: ORA-02296: cannot enable (S1885872.) - null values found
02296. 00000 - "cannot enable (%s.%s) - null values found"
*Cause:    an alter table enable constraint failed because the table
           contains values that do not satisfy the constraint.
*Action:   Obvious
Run Code Online (Sandbox Code Playgroud)

我的修改声明有什么问题.

提前谢谢了,

magidu

oracle

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

如何确保所有数据都已物理写入磁盘?

据我所知,.NET FileStream的Flush方法只将当前缓冲区写入磁盘,但依赖于Windows的磁盘驱动程序和硬盘固件,这并不能保证数据实际上是物理写入磁盘的.

是否有.NET或Win32方法可以给我这个保证?因此,如果在调用此方法后一纳秒之后出现断电,我仍然可以确定一切正常吗?

.net c# flush filestream

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

重载构造函数和重用代码

比方说,我有一个对象Customer有几个属性(ID,FirstName,LastName).我有默认的构造函数Customer(),但后来我也有了Customer(DataRow dr),因为我从数据库加载这个对象,这是一个简单的方法.

我经常谈到我想要设置另一个构造函数的地方,Customer(int ID)有时我想要加载一个Customer但是我还没有去过数据库.对我来说最简单的方式似乎是这样的:

Customer(int ID)
{
    DataTable dt = DataAccess.GetCustomer(ID);
    if (dt.Rows.Count > 0)
    {
        // pass control to the DataRow constructor at this point?
    }
    else
    {
        // pass control to the default constructor at this point?
    }   
}
Run Code Online (Sandbox Code Playgroud)

重用已经在DataRow构造函数中的代码是有意义的,但我无法找到一种方法来调用它并返回它给我的内容.通过谷歌搜索,我发现了有关使用: this()语法重构的构造函数的信息,但所有这些示例似乎都是向后或与我正在尝试的内容不兼容.

所以我对构造函数的理解存在差距,但我似乎无法解决它.我错过了什么?

c# oop constructor

4
推荐指数
2
解决办法
2580
查看次数

如何将保存的数据重置为默认值?

我正在使用NSUserDefaults在我的应用程序上实现保存的数据,如下所示:

[[NSUserDefaults standardUserDefaults] registerDefaults:[NSDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithInt:0],@"mySetting",nil]];
// check
int firstLaunch = [[NSUserDefaults standardUserDefaults] integerForKey:@"mySetting"];
// set
[[NSUserDefaults standardUserDefaults] setInteger:1 forKey:@"mySetting"];
Run Code Online (Sandbox Code Playgroud)

现在出于开发目的,我希望能够删除保存的数据并返回默认值,而无需删除应用程序并每次重新安装它.有快速的方法吗?我认为resetStandardUserDefaults会完成这项工作,但事实并非如此.

cocoa-touch nsuserdefaults ios

6
推荐指数
2
解决办法
5663
查看次数