迁移到Windows后,我使用msysgit及其包含的bash shell,这对我来说很有用.但我有问题:我们的ant构建过程不会在那个shell中运行,我想使用Cygwin的xterms而不是Windows命令窗口,因为终端兼容性不足以运行我想要的其他所有内容那个窗口,等等.
我实际上已经在Windows命令shell中坚持使用msysgit,这样我就不必使用单独的窗口来构建,但是这会遇到更多问题:缺少cd- 并且文件完成会让我失望,大多数我想要管道的命令不存在,等等.
所以如果我转而使用Cygwin的git,或者更糟糕的是,在不同的时间使用它们,那么行结尾会咬我吗?Cygwin的git会期待一切,\n并认为它看到了变化,因为mSysGit \r\n在结账时转换成了吗?将Cygwin的git检查出来\n并混淆我的Windows Eclipse,我确信它应该是一切\r\n吗?
我正在修改我没写过的使用JavaMail的代码,并且在理解为什么JavaMail API的设计方式有点麻烦.我觉得,如果我理解,我可以做得更好.
我们称之为:
transport = session.getTransport("smtp");
transport.connect(hostName, port, user, password);
Run Code Online (Sandbox Code Playgroud)
那么为什么Eclipse会警告我:
transport.send(message, message.getAllRecipients());
Run Code Online (Sandbox Code Playgroud)
是对静态方法的调用?
如果我无法使用该对象发送消息,为什么我会获取Transport对象并提供特定于它的设置?Transport类如何知道用于发送消息的服务器和其他设置?它工作正常,很难相信.如果我为两个不同的服务器实例化了Transport对象,该怎么办?怎么知道使用哪一个?
在写这个问题的过程中,我发现我应该真的在呼唤:
transport.sendMessage(message, message.getAllRecipients());
Run Code Online (Sandbox Code Playgroud)
那么静态Transport.send()方法的目的是什么?这只是糟糕的设计,还是有这样的原因?
Moose :: Manual :: Attributes说明:
作为使用子程序引用[默认]的替代方法,您可以为属性提供构建器方法:...这有几个优点.首先,它将一大块代码移动到自己的命名方法,从而提高了可读性和代码组织.
因此,您的属性可以因此定义默认值:
has attr => (
is => 'ro',
builder => 'subroutine'
);
sub subroutine {
# figure out and return default value
}
Run Code Online (Sandbox Code Playgroud)
我不明白为什么这必须与默认分开.难道你不能只是传递对命名子程序的引用吗?
has attr => (
is => 'ro',
default => \&subroutine
);
Run Code Online (Sandbox Code Playgroud)
那不是更好的编程实践,因为你保证不会意外地引用一个不存在的子程序吗?您将使用逻辑引用而不是符号引用来引用该方法.
有哪些算法或公式可用于计算昼夜平分点和至终点?几年前我找到了其中一个并实现了它,但精度并不高:一天中的时间似乎假设在00:00,06:00,12:00和18:00 UTC,具体取决于哪个昼夜平分点或至日计算.维基百科给出了这些计算出的分钟,因此必须有更精确的东西.我最喜欢的编程语言的库也出现在那些硬编码时代,因此我假设他们使用的算法与我实现的相同或类似.
我曾经尝试过使用一个图书馆,它给了我太阳经度,并实现了一个搜索程序,在0度,90度,180度和270度的确切时刻归零; 这可以归结为第二个,但不同意维基百科的时代,所以我认为这种方法有问题.然而,我惊喜地发现迈蒙尼德(中世纪犹太学者)在千禧年之前使用完全相同的想法提出了一种算法.
我不明白为什么Java的[String.substring()方法](http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html#substring (int,%20int%)29)按照它的方式指定.我不能告诉它从编号位置开始并返回指定数量的字符;我必须自己计算结束位置.如果我指定结束位置超出结束位置String,而不是仅为我返回String的其余部分,Java抛出异常.
我习惯于substring()(或substr())接受两个参数的语言:起始位置和长度.这是客观上比Java更好的方式,如果是这样,你能证明吗?您看过的substring()的最佳语言规范是什么,以及何时语言以不同方式做事的好主意?是抛出一个好的设计理念的IndexOutOfBoundsException吗?这一切只是归结为个人偏好吗?
我正在做一些工作来跟踪git支持工具中的感知错误,我想复制一个存储库(可能多次)用于实验目的.我希望将硬链接创建到原始存储库对象数据库,以免浪费磁盘空间存储具有相同SHA值的相同对象的多个副本.git clone很好地完成了这个,但不幸的是我似乎无法找到一种方法让git clone给我一个像原始存储库一样的存储库的新副本:
我可以通过使用git clone --mirror来改善其中一些,但这只会创建一个裸存储库,我正在尝试的存储库不是裸的,我试图调试的支持工具不能在裸机上运行库.
我想写一个快速shell循环来使一个新的对象数据库充满原始对象数据库的硬链接,然后从原始.git目录复制其他所有内容,然后进行git checkout,但我担心这是复杂到足以容易出错,而且我不太了解正确执行这种低级手术,并且会构建一个存在细微错误的存储库.理论上,这种方法应该有效吗?
更好的是,有没有办法将选项传递给git clone以使其能够满足我的需求?
有没有办法可以创建一个新的存储库,但告诉它它的对象数据库在另一个目录中,基本上告诉它从原始存储库共享对象数据库?
如果上述方法都不起作用,那么我只剩下一个cp -pr,它将消耗大量空间并且耗时.
当我尝试用它来配置我们的应用程序时,VisualVM崩溃,但是如果我可以加载jmap内存转储,我已经完成了从我们的应用程序到VisualVM,我可能得到我需要的答案,而不必将VisualVM连接到我们的应用程序,而它是运行.
那么,有没有办法做到这一点?
如何解析JavaScript中的URL参数?(这些都是我通常会调用get参数或CGI参数的参数,但是在这种情况下,页面基本上是提交到自身,而不是服务器,所以没有GET请求并没有绝对的CGI程序.)
我已经在网上看到了一些我可以复制的例程,但我不知道它们有多强大.我已经习惯了其他语言,比如Perl和Java,我可以依赖一个经过严格测试和强大的库,我知道它将处理标准中数以百万计的小边缘情况.我想在这里一样,而不仅仅是剪切和粘贴一个例子.
我试图用现有代码中的PBEWithMD5AndTripleDES替换PBEWithMD5AndDES.到目前为止,我使用的是之前使用的相同密码,并收到此异常:
java.security.InvalidKeyException:非法的密钥大小
我在网上查看,看到DES使用64位密钥,而TripleDES使用128位密钥.我不清楚我的密码短语如何用于生成密钥的细节,并且不确定在哪里完全理解这一点.我的密码长度为260个字符.我尝试加倍长度,但我得到了同样的例外.
我从我的密码生成一个PBEKeySpec,有一个8字节的盐和12的迭代计数.我看到有另一个构造函数接受一个keyLength参数,但文档将其描述为"要派生",而我不是明白.我有一个想法,我需要修改迭代计数和/或提供一个keyLength参数,但我不想盲目地这样做而不完全理解我在做什么.
以下是我目前使用的代码的基本概要:
String passphrase = ...
byte[] salt = ...
int iterationCount = 12;
String algorithm = "PBEWithMD5AndTripleDES";
KeySpec keySpec = new PBEKeySpec(passPhrase.toCharArray(), salt, iterationCount);
SecretKey key = SecretKeyFactory.getInstance(algorithm).generateSecret(keySpec);
Cipher cipher = Cipher.getInstance(key.getAlgorithm());
AlgorithmParameterSpec paramSpec = new PBEParameterSpec(salt, iterationCount);
cipher.init(Cipher.ENCRYPT_MODE, key, paramSpec);
byte[] encoded = cipher.doFinal(data);
Run Code Online (Sandbox Code Playgroud) 我正在为Delphi寻找一个(最好是免费的)组件,用户可以轻松选择大约100种不同的颜色.
我现在有一个作为DevExpress编辑器的一部分,但它只有大约20种适当的颜色可供选择,还有一堆其他"Windows"颜色,如clHighlight,clBtnFace等.
它适用于普通用户,因此希望避免要求他们手动选择RGB值.
与MS Paint中的颜色选择器类似的东西可能有用,或列出X11/web颜色的东西:
http://en.wikipedia.org/wiki/Web_Colors
所以,如果您有任何建议,请告诉我.
感谢大家的建议
所有的建议都很好,我没有意识到可以调用MS Paint颜色对话框,这就是我所需要的并且是最简单的解决方案.谢谢
java ×3
git ×2
api-design ×1
astronomy ×1
colors ×1
components ×1
cryptography ×1
cygwin ×1
delphi ×1
encryption ×1
equinox ×1
hprof ×1
jakarta-mail ×1
javascript ×1
moose ×1
msysgit ×1
perl ×1
picker ×1
profiling ×1
substr ×1
substring ×1
visualvm ×1
windows ×1