我以前工作的一个人突然给我发电子邮件,说他们希望我更新我为他们编写的 VB3(!!!) 程序,因为客户报告在 Windows 7 下运行该程序时遇到问题。他们丢失了源代码(自然)。有VB3的反编译器吗?
这段代码工作正常:
if (chk.checked)
div.show(delay);
else
div.hide(delay);
Run Code Online (Sandbox Code Playgroud)
我试图通过像这样重构它来变得聪明:
var showHide = chk.checked ? div.show : div.hide;
showHide(delay);
Run Code Online (Sandbox Code Playgroud)
但这导致jQuery内部出现异常.2段代码不应该相同吗?
我还有iPad 1.我使用最新版本的XCode进行应用程序开发,只会在运行iOS 6的设备上调试应用程序.
不幸的是,iTunes不允许你通过iOS 5升级iPad 1.可以将XCode配置为在早于版本6的iOS版本上调试应用吗?
另一种方法是通过越狱将设备升级到iOS 6.我已经读过,越狱iPad 1将为你提供升级到iOS 6的途径,但我还没有找到任何特定于开发的东西.
编辑 事实证明,只有在使用XCode创建新应用程序时才会出现此问题.但是,如果我从一些现有的应用程序(例如SpeakHere)打开示例代码,我的iPad 1突然出现在XCode"运行列表"上,我可以在iPad 1上进行测试!我怀疑这些应用程序的某些东西是"旧的",导致它们工作.我能否以某种方式模拟我使用XCode构建的新应用程序?
今天下午,在注意到构建破坏以及某些文件看起来像旧版本(大约2周大)这一事实后,我检查了svn日志.显然,就在今天下午,其中一位开发人员对旧目录中的目录进行了"svn副本".因此看起来该目录中所有文件的最新版本"ie head"真的很旧,并且所有历史记录"ie log"甚至更旧.
但是,我想我可以通过使用另一个"svn副本"恢复(即疾病是治愈).我正在考虑做的是找到坏的"svn副本"完成的修订(比如转1234),减去1(1233)并做:
svn copy -r 1233 file://path/to/messed/up/dir file://path/to/messed/up/dir
Run Code Online (Sandbox Code Playgroud)
这应该恢复最新版本,并恢复我的所有历史.我这是对的吗?
在以下代码中,Test1成功但Test2失败:
protected Mock<IMyInterface> MyMock { get; set; }
[SetUp]
public virtual void Initialize()
{
MyMock = new Mock<IMyInterface>();
}
[Test]
void Test1()
{
// ... code that causes IMyIntervace.myMethod to be called once
MyMock.Verify(x=> x.myMethod(), Times.Once());
}
[Test]
void Test2()
{
MyMock.Verify(x=> x.myMethod(), Times.Once());
}
Run Code Online (Sandbox Code Playgroud)
这种行为实际上非常有用,但我无法弄清楚为什么它会像这样工作.似乎Test2也应该成功!
我唯一的想法是,以某种方式验证是否足够聪明,知道"myMethod"是从一个不同的测试用例调用的,因此它"不计算"?
顺便说一句,即使我在Test1中删除了对Verify的调用,也会发生同样的事情(Test2失败).
对于一个向容器添加内容的方法来说,如果它尚未存在,那么它的名称是什么,即
void AddCustomerToList(CustomerList list, Customer customer)
Run Code Online (Sandbox Code Playgroud)
但是这个名称没有正确表达,如果它已经存在,它就不会被添加.什么是更好的名字?AddCustomerToListIfNotThereAlready?EnsureCustomerInList?
我在Perl脚本中有一些正确但速度慢的正则表达式.我正在考虑通过添加额外的+运算符(即*+而不是*和++而不是+)来尝试提高性能,以禁用回溯.我尝试更换所有这些并且正则表达式停止工作......这么简单的解决方案.我怎么知道在哪里可以添加它们不会破坏正则表达式?
我正在尝试使用Jquery的Validate插件来验证一个字段.我可以使用简单的测试表单,但是当我尝试将其插入我网站上的大型现有表单时,调用validate返回undefined.它应该返回一个Validator对象.我怎么去搞清楚什么是错的?
以下是正在运行的示例代码:
<script type="text/javascript">
function tst(ctrl) {
var frm = $(ctrl).parents('form');
alert('Is email valid? ' + frm.validate({ showErrors: function () { } }).element(ctrl));
}
</script>
Run Code Online (Sandbox Code Playgroud)
<form id="form1" action="" method="post">
<input type="text" name="email" onblur="tst(this)" class="email"/>
</form>
Run Code Online (Sandbox Code Playgroud)
但是,如果我在更大的现有表单上尝试此操作,则validate调用将返回undefined,从而导致调用JavaScript错误element.我认为必须有一些更大的形式使validate"崩溃",但它可能是什么?
我有一些base-64编码的加密数据,并注意到相当多的重复.在(大约)200个字符长的字符串中,某个base-64字符在几次单独的重复运行中重复多达7次.
这是加密问题的红旗吗?根据我的理解,加密数据永远不会显示重复,即使明文是完全统一的(即使我加密2 GB除了字母A之外,加密版本中不应该有重大的重复).
我有一个Perl Web应用程序,并希望记录所有未捕获的异常(uneval'ed die's).我的第一个想法是做这样的事情:
use Carp 'cluck';
sub main {
my $logfile ="/some/path/logfile.txt";
open STDERR, ">>$logfile";
# main logic
...
}
sub eval_main {
eval {
main;
};
if ($@) {
cluck $@;
close STDERR;
# redirect to "friendly error page"
....
}
}
eval_main;
Run Code Online (Sandbox Code Playgroud)
有比这更好的方法吗?
编辑:添加重定向
perl ×2
c# ×1
cryptography ×1
decompiling ×1
encryption ×1
ios ×1
ipad ×1
javascript ×1
jquery ×1
methods ×1
mocking ×1
moq ×1
nunit ×1
performance ×1
recovery ×1
regex ×1
svn ×1
unit-testing ×1
windows-7 ×1
xcode ×1