我有一个处理日期的类方法:
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类中的未设置日期?
我正在尝试自动化文件注释标题.我试图弄清楚如何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替换命令中?
目前我在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) 我编写的大多数程序都是相对可流程化的过程,具有明确的开始和希望结束.问题本身可能很复杂,但不容易倾向于集中使用对象和事件驱动编程.通常,我只是通过各种批量的文本数据来生成不同的文本数据.偶尔我只需要创建一个类:例如,为了跟踪警告,错误和调试消息,我创建了一个带有一个实例(myErr)的类(Problems),我相信它是Singleton设计模式的一个例子.作为另一个因素,我的同事比我更老派(程序),并且不熟悉面向对象的编程,所以我不愿意创造他们无法解开的事情.
然而,我一次又一次地听到,Singleton设计模式是否真的是一种反模式,应该避免,因为全局变量是坏的.
次要函数需要传递给它们的参数很少,并且不需要知道配置(不变)或程序状态(更改) - 我同意.但是,链中间的函数(主要控制程序流)需要大量的配置变量和一些程序状态变量.我相信将十几个参数传递给一个函数是一个"解决方案",但几乎不具吸引力.当然,我可以将变量填充到单个散列/字典/关联数组中,但这似乎是作弊.
例如,连接到Active Directory以创建一个新帐户,我需要诸如管理用户名,密码,目标OU,一些默认组,域等配置变量.我将不得不通过各种方式传递这些参数甚至不使用它们的功能,只是通过链条将它们拖垮,这最终会导致实际需要它们的功能.
我至少会声明配置变量是不变的,以保护它们,但是现在我选择的语言(Python)没有提供简单的方法来做到这一点,尽管配方确实存在作为变通方法.
无数的Stack Overflow问题已经触及了为什么?不良和必要的回避,但不要经常提到与这种准宗教限制生活的技巧.你是如何解决全球变量和项目状态的问题,或者至少与之和解?你在哪里做出妥协?你的伎俩是什么,除了围绕功能的争论?
这是我尝试解析的示例原始电子邮件:
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})是一个编码字符.但在这种情况下,它似乎代表什么都没有.
Is_numeric()is_int()如果值为0 ,则返回false.我可以做什么来验证特定值是否只是PHP中的数字?
我们是否正在前往正规表演营地,或者那里有一些不错的,便利的功能吗?
谢谢!
我正在尝试测量我无法控制的服务器的延迟.这是在共同定位的环境中,因此延迟大约为500 us(.5 ms).
据我所知,思科设备经常优先考虑ICMP流量,使ping时间不可靠.有没有办法让我知道我正在穿越的装备是否就是这种情况?
我可以使用TCP确认来确定远程服务器的最小延迟吗?为此,我会以某种方式强制远程服务器在接收我的数据时立即发送TCP确认.
我正在尝试在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没有看到这些类?
我经常使用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) 有没有人这样做或试图为预先存在的项目做这个?
看来这里有两个选项,要么使用嵌入式EJB API,要么基本上使用以下类
javax.ejb.embeddable.EJBContainer
Run Code Online (Sandbox Code Playgroud)
期望配置的glassfish v3安装可用(应用程序范围的资源将使这更容易).
另一种方法是使用嵌入式glassfish jar文件和嵌入式glassfish API
我正在寻找那些已经或正在执行此操作的人的反馈,使用简单的EJB和测试用例的博客链接等等.
如果您已经使用任何其他EJB 3.1容器完成此操作,请随意共享.
php ×2
autocmd ×1
bookmarks ×1
c# ×1
c++ ×1
datetime ×1
dependencies ×1
ejb-3.1 ×1
encoding ×1
firefox ×1
grails ×1
guard-clause ×1
integer ×1
java ×1
javascript ×1
jpa ×1
jpa-2.0 ×1
latency ×1
low-latency ×1
mime ×1
numeric ×1
numerical ×1
oop ×1
performance ×1
regex ×1
tcp ×1
unit-testing ×1
verbosity ×1
vim ×1