问题列表 - 第13439页

如何使用不断变化的系统时间测试Perl应用程序?

我有一个Web应用程序,我想运行一些系统测试,为了做到这一点,我将需要移动系统时间.该应用程序一直使用DateTime.

有没有人对如何更改DateTime->现在报告的时间有任何建议?我想到的唯一事情是继承DateTime并搞乱所有'使用'线,但这看起来相当具有侵略性.

答案说明:

所有三个都可以正常工作,但Hook :: LexWrap是我选择的那个因为(a)我想移动时钟而不是摇晃它(这更像是时间::模拟和朋友的目的做); (b)我一直使用DateTime,如果我小心使用它,我很高兴出现错误; (c)Hook :: LexWrap比符号表中的hack更优雅,因为它做同样的事情.(另外,它原来是我已经安装的某个模块的依赖项,所以我甚至不用CPAN它......)

testing perl datetime mocking

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

在Python中显示来自控制台的图像

从Python控制台显示图像.jpg.gif图像的最简单方法是什么?

我有一个Python控制台程序正在检查一个数据集,其中包含本地存储的图像的链接.我应该如何编写脚本以便显示图像弹出图形窗口?

python image

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

编程到接口是什么意思?

我一直听到大多数与节目相关的网站上的声明:

编程到接口而不是实现

但是我不明白其含义?
例子会有所帮助.

编辑:我收到了很多好的答案,所以你可以用一些代码片段来补充它,以便更好地理解这个主题.谢谢!

java interface

19
推荐指数
5
解决办法
5911
查看次数

如何使用three20框架实现隐藏状态栏

我正在使用three20框架的TTThumbsViewController部分,并且我的应用程序中隐藏了状态栏.

当用户查看完整尺寸的图像时,点击屏幕(隐藏控件),当他们再次点击时控件重新出现但状态栏也在那里.

我搜索了整个图书馆,无法隔离发生这种情况的部分.如果有人能指出我正确的方向,我会喜欢它.

谢谢,

BB

iphone statusbar three20

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

正则表达式贪婪匹配不按预期工作

我有一个非常基本的正则表达式,我无法弄清楚为什么它不起作用所以问题是两部分.为什么我当前的版本不起作用,什么是正确的表达式.

规则很简单:

  1. 必须至少有3个字符.
  2. 如果%字符是第一个字符,则必须至少包含4个字符.

因此,以下案例应解决如下:

  • AB - 失败
  • ABC - 通过
  • ABCDEFG - 通过
  • % - 失败
  • %AB - 失败
  • %ABC - 通过
  • %ABCDEFG - 通过
  • %% AB - 通过

我正在使用的表达式是:

^%?\S{3}
Run Code Online (Sandbox Code Playgroud)

对我来说意味着:

  • ^ - 字符串开头
  • %? - 贪婪检查0或1%字符
  • \S{3} - 其他3个不是空格的字符

问题是,由于%?某种原因,没有进行贪婪的检查.如果它存在的话,它不会占用%字符,所以'%AB'的情况正在传递,我认为应该失败.为什么%?不吃%字符?

有人请告诉我光:)

编辑:我使用的答案是下面的Dav:^(%\S{3}|[^%\s]\S{2}) 尽管这是一个2部分的答案,Alan真的让我理解为什么.我没有使用他的版本,^(?>%?)\S{3}因为它有效但不是在javascript实现中.两个伟大的答案和很多帮助.

regex regex-greedy

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

模糊的模板,Code Warrior

以下代码在Visual C++和gcc中编译,但在Code Warrior中失败

抱怨是对模板的调用是模糊的 - 不能在doIt(M*)和doIt(M const*)之间做出决定,即使在每种情况下,参数都是明确的成本或非常量.令人激动的是,如果我提供第二个模板参数,它会认为它不再含糊不清.

template< typename T1, typename T2 >
T1 const* doIt( T2 const* );

template< typename T1, typename T2 >
T1* doIt( T2* );

class M {};
class N : public M {};

void f()
{
   M* m1 = NULL;
   M const* m2 = NULL;

   doIt<N>( m1 );    // Fail
   doIt<N>( m2 );    // Fail
   doIt<N,M>( m1 );  // OK
   doIt<N,M>( m2 );  // OK

}
Run Code Online (Sandbox Code Playgroud)

这只是Code Warrior编译器的错误吗?(或者使用gcc/Visual C++时出错).

c++ portability templates compilation

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

如何在PHP中组合数组的键和值

假设我在PHP中有一组键/值对:

array( 'foo' => 'bar', 'baz' => 'qux' );
Run Code Online (Sandbox Code Playgroud)

将此转换为如下所示的数组的最简单方法是什么?

array( 'foo=bar', 'baz=qux' );
Run Code Online (Sandbox Code Playgroud)

array( 0 => 'foo=bar', 1 => 'baz=qux');
Run Code Online (Sandbox Code Playgroud)

在perl中,我会做类似的事情

map { "$_=$hash{$_}" } keys %hash
Run Code Online (Sandbox Code Playgroud)

在PHP 的数组函数中有这样的东西吗?我没有看到任何东西似乎是一个方便的解决方案.

php arrays

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

通过高压缩网络发送文本文件

我有一个我想通过网络发送的文本文件,这个文件的大小可以从1KB到500KB不等.
我可以使用哪些算法/技术在发送之前紧密压缩该文件,以便通过网络发送最少量的字节并且压缩率高?

java compression networking text

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

在使用MacPorts的Snow Leopard上使用postgresql84和postgis时没有liblwgeom

升级到Snow Leopard之后,我正试图让我的开发环境重新启动并运行.特别是,我需要postgresql和postgis工作,但我遇到了以下问题.

安装后使用以下内容:

sudo port install postgresql84 postgresql84-server postgis
Run Code Online (Sandbox Code Playgroud)

当我尝试加载我的sql数据库时,我得到如下错误,该数据库引用了liblwgeom.so

ERROR:  function public.box3d_in(cstring) does not exist
ERROR:  incompatible library "/usr/local/pgsql/lib/liblwgeom.so": version mismatch
DETAIL:  Server is version 8.4, library is version 8.3.
Run Code Online (Sandbox Code Playgroud)

该文件确实存在于我的计算机上,但必须安装在postgresql 8.3的旧安装中.问题是我无法弄清楚liblwgeom.so应该来自哪里.它不包含在postgis 1.4中,谷歌搜索让我感到头疼.有任何想法吗?

postgresql postgis macports osx-snow-leopard

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

流动的网站是否值得制作?

我现在正在建立一个网站,我正在努力决定是否应该让它变得流畅.固定宽度的网站更容易制作,也更容易使它们看起来一致.

说实话,我个人更喜欢看流体网站延伸到我的显示器的整个宽度.我的问题来自这样一个事实:在大多数现代浏览器中,您可以控制并滚动鼠标滚轮以基本调整任何网站的大小.

那么创建一个值得麻烦的流畅网站呢?

html css layout static fluid

219
推荐指数
8
解决办法
8342
查看次数