问题列表 - 第26313页

在PHP中键入提示和可选属性

我有一个处理日期的类方法:

public function setAvailability(DateTime $start, DateTime $end){
}
Run Code Online (Sandbox Code Playgroud)

由于项目可用性可以有下限,上限,两者或没有,我想使setAvailability()接受NULL值.但是,NULL常量违反了类型提示:

$foo->setAvailability(NULL, $end);
Run Code Online (Sandbox Code Playgroud)

触发:

可捕获的致命错误:传递给Foo :: setAvailability()的参数1必须是DateTime的一个实例,给出null

而且,据我所知,我没有没有值的DateTime实例.(我可以吗?)

由于我无法掌握的原因,这似乎有效:

public function setAvailability(DateTime $start=NULL, DateTime $end=NULL){
}
...
$foo->setAvailability(NULL, $end);
Run Code Online (Sandbox Code Playgroud)

但它看起来像一个纯粹的机会工作的黑客.

你会如何处理PHP类中的未设置日期?

php oop datetime

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

vim + c ++:在一个保护子句中插入一个uuid

我正在尝试自动化文件注释标题.我试图弄清楚如何uuidgen使用vim的autocmd 将命令的结果插入到我的标题中.

在标题内,存在占位符文本,如下所示:

#ifndef _UUID_
#define _UUID_

// Code goes here!

#endif // _UUID_
Run Code Online (Sandbox Code Playgroud)

填充_UUID_.vimrc 的autocmd行是:

autocmd bufnewfile *.h exe "1,$s/_UUID_/" . r!uuidgen ."/g"
Run Code Online (Sandbox Code Playgroud)

问题出现在r!uuidgen下. 如何在autocmd行中插入shell命令执行的结果作为文本?或者在vi替换命令中?

c++ vim guard-clause autocmd

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

对象窗口在javascript书签中遗留下来

目前我在Firefox 3.6.3中使用以下内容作为书签.它将我重定向到RFC就好了,但是活动选项卡显示[对象窗口].我需要做些什么才能摆脱那件神器?

javascript:var rfc=prompt("RFC Number");window.open("http://ietf.org/rfc/rfc" + rfc + ".txt")
Run Code Online (Sandbox Code Playgroud)

javascript firefox bookmarks

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

请尽量减少使用全局变量来描述您的斗争

我编写的大多数程序都是相对可流程化的过程,具有明确的开始和希望结束.问题本身可能很复杂,但不容易倾向于集中使用对象和事件驱动编程.通常,我只是通过各种批量的文本数据来生成不同的文本数据.偶尔我只需要创建一个类:例如,为了跟踪警告,错误和调试消息,我创建了一个带有一个实例(myErr)的类(Problems),我相信它是Singleton设计模式的一个例子.作为另一个因素,我的同事比我更老派(程序),并且不熟悉面向对象的编程,所以我不愿意创造他们无法解开的事情.

然而,我一次又一次地听到,Singleton设计模式是否真的是一种反模式,应该避免,因为全局变量是坏的.

次要函数需要传递给它们的参数很少,并且不需要知道配置(不变)或程序状态(更改) - 我同意.但是,链中间的函数(主要控制程序流)需要大量的配置变量和一些程序状态变量.我相信将十几个参数传递给一个函数是一个"解决方案",但几乎不具吸引力.当然,我可以将变量填充到单个散列/字典/关联数组中,但这似乎是作弊.

例如,连接到Active Directory以创建一个新帐户,我需要诸如管理用户名,密码,目标OU,一些默认组,域等配置变量.我将不得不通过各种方式传递这些参数甚至不使用它们的功能,只是通过链条将它们拖垮,这最终会导致实际需要它们的功能.

我至少会声明配置变量是不变的,以保护它们,但是现在我选择的语言(Python)没有提供简单的方法来做到这一点,尽管配方确实存在作为变通方法.

无数的Stack Overflow问题已经触及了为什么?不良和必要的回避,但不要经常提到与这种准宗教限制生活的技巧.你是如何解决全球变量和项目状态的问题,或者至少与之和解?你在哪里做出妥协?你的伎俩是什么,除了围绕功能的争论?

global-variables

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

MIME编码,引用可打印文本中的"= C2 = A0"是什么?

这是我尝试解析的示例原始电子邮件:

MIME-version: 1.0
Content-type: text/html; charset=UTF-8
Content-transfer-encoding: quoted-printable
X-Mailer: Verizon Webmail
X-Originating-IP: [x.x.x.x]

=C2=A0test testing testing 123
Run Code Online (Sandbox Code Playgroud)

什么是= C2 = A0?我尝试过半打引号可解析的解析器,但没有一个正确处理. 如何在C#中正确解析它?

老实说,现在,我正在编码:

//TODO WTF
encoded = encoded.Replace("=C2=A0", "");
Run Code Online (Sandbox Code Playgroud)

因为我无法弄清楚为什么该文本在MIME内容中随机存在,并且不应该被渲染成任何东西.通过删除它,我得到了预期的效果 - 但为什么?!

要清楚,我知道(= [0-9A-F] {2})是一个编码字符.但在这种情况下,它似乎代表什么都没有.

encoding mime quoted-printable

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

PHP:Is_numeric在0上返回false

Is_numeric()is_int()如果值为0 ,则返回false.我可以做什么来验证特定值是否只是PHP中的数字?

我们是否正在前往正规表演营地,或者那里有一些不错的,便利的功能吗?

谢谢!

php regex numerical integer numeric

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

使用TCP Ack来测量服务器的延迟?

我正在尝试测量我无法控制的服务器的延迟.这是在共同定位的环境中,因此延迟大约为500 us(.5 ms).

据我所知,思科设备经常优先考虑ICMP流量,使ping时间不可靠.有没有办法让我知道我正在穿越的装备是否就是这种情况?

我可以使用TCP确认来确定远程服务器的最小延迟吗?为此,我会以某种方式强制远程服务器在接收我的数据时立即发送TCP确认.

performance tcp latency low-latency

5
推荐指数
2
解决办法
4058
查看次数

IntelliJ IDEA Grails看不到Jar

我正在尝试在Linux系统上的Grails项目中引用IntelliJ IDEA 9.0.2中的类.我将依赖项添加到BuildConfig.groovy:

dependencies {
    // specify dependencies here under either 'build', 'compile', 'runtime', 'test' or 'provided' scopes eg.

    runtime 'mysql:mysql-connector-java:5.1.5'
    compile 'org.apache.poi:poi-ooxml:3.6'
  }
Run Code Online (Sandbox Code Playgroud)

org.apache.poi在我的~/.ivy2/cache目录中看到了,但在引用jar中的类时遇到编译错误.实际上,代码完成不会显示任何org.apache.poi类.所以看来IntelliJ不知道这些类.

我有什么想法我做错了吗?为什么IntelliJ没有看到这些类?

grails dependencies intellij-idea

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

有没有办法减少使用String.Format(....,p1,p2,p3)的详细程度?

我经常使用String.Format()它,因为它使字符串的构建更具可读性和可管理性.

有没有减少其语法冗长,例如使用扩展方法等?

Logger.LogEntry(String.Format("text '{0}' registered", pair.IdCode));

public static void LogEntry(string message)
{
    ...
}
Run Code Online (Sandbox Code Playgroud)

例如,我想使用我使用的所有方法和其他接收字符串的方法Console.Write(),例如:

Logger.LogEntry("text '{0}' registered", pair.IdCode);
Run Code Online (Sandbox Code Playgroud)

c# string.format verbosity

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

EJB 3.1 Embedded API - 单元测试EJB + JPA实体

有没有人这样做或试图为预先存在的项目做这个?
看来这里有两个选项,要么使用嵌入式EJB API,要么基本上使用以下类

javax.ejb.embeddable.EJBContainer
Run Code Online (Sandbox Code Playgroud)

期望配置的glassfish v3安装可用(应用程序范围的资源将使这更容易).

另一种方法是使用嵌入式glassfish jar文件和嵌入式glassfish API

我正在寻找那些已经或正在执行此操作的人的反馈,使用简单的EJB和测试用例的博客链接等等.

如果您已经使用任何其他EJB 3.1容器完成此操作,请随意共享.

  1. 您是否使用任何特定测试框架的原因除了它是您首选的工具之外?
  2. 您使用了哪种JPA 2.0实现,并且有特殊原因吗?
  3. 如果你使用了玻璃鱼,你使用了上述哪种策略?如果没有,那么你使用的是哪个EJB 3.1容器?
  4. 如果你成功地做到了这一点,是否值得努力,你会再次为另一个现有项目做这件事吗?

java unit-testing jpa jpa-2.0 ejb-3.1

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