关于python我最喜欢的一个功能是你可以在python中编写非常易于理解的配置文件.如果你对自己设置了一些界限,你可以非常自信非pythonistas会确切地知道你的意思,并且完全有能力重新配置你的程序.
我的问题是,这些界限究竟是什么?我个人的启发式是
我想我问这个因为我遇到了我的Django配置文件的情况,它似乎有助于打破这些规则.我碰巧喜欢它,但我感到有点内疚.基本上,我的项目通过svn checkout部署到几个不同的服务器,这些服务器不会全部配置相同(有些将共享一个数据库,有些将不会,例如).所以,我在最后抛出一个钩子:
try:
from settings_overrides import *
LOCALIZED = True
except ImportError:
LOCALIZED = False
Run Code Online (Sandbox Code Playgroud)
其中settings_overrides位于python路径上但在工作副本之外.你怎么看待这个例子,或者一般的python配置边界?
我知道如何使用CMAKE检索正常的机器范围的环境变量
$ENV{EnvironmentVariableName}
Run Code Online (Sandbox Code Playgroud)
但我无法检索用户特定的环境变量.有可能吗?怎么样?
有没有办法将表单输入字段限制在某个数字范围之间,比方说(0,100)
我在onkeydown事件中过滤输入,只接受数字,问题是我想拒绝一个数字,如果该数字会使输入超出范围
因此,我需要一种方法来查看输入的当前值加上用户按下的键是否会在该范围之间求和.
我试过用:
if((parseFloat(this.value) + parseFloat(String.fromCharCode(e.keyCode)) > 100){
return false;
}
Run Code Online (Sandbox Code Playgroud)
事情是e.keyCode可以为相同的号码返回不同的代码,现在为数字9返回57,但如果我按下小键盘上的数字则返回105.
有没有办法实现这个目标?
我有一个应用程序,我有时需要从正在写入的文件中读取并因此被锁定.正如我从其他问题中理解的那样,我应该捕获IOException并重试直到我能够阅读.
但我的问题是我如何确定该文件已被锁定,并且它不是另一个IOExcetpion发生的.
我有一个Cocoa应用程序将一些数据连同该数据的SHA1哈希发送到Rails应用程序,该应用程序验证数据和哈希匹配,但它们没有.
为了确保我已经在Rails和Cocoa端记录了散列到控制台的数据的十六进制版本,并且它们完全匹配.
这是可可部分:
#import <CommonCrypto/CommonDigest.h>
//...
- (NSData *)dataOfSHA1Hash
{
unsigned char hashBytes[CC_SHA1_DIGEST_LENGTH];
CC_SHA1([self bytes], CC_SHA1_DIGEST_LENGTH, hashBytes);
return [NSData dataWithBytes:hashBytes length:CC_SHA1_DIGEST_LENGTH];
}
//...
NSData *signatureData = [signedData dataOfSHA1Hash];
NSString *signature = [signatureData hexadecimalString];
Run Code Online (Sandbox Code Playgroud)
..和Rails:
Digest::SHA1.hexdigest(signed_data)
Run Code Online (Sandbox Code Playgroud)
请注意,-hexadecimalString是NSData的自定义扩展(似乎没有内置),我已经测试过了.这种方法似乎不是问题.
那么,为什么我的SHA1哈希值不匹配相同的数据呢?有任何想法吗?
编辑:示例
对于字符串"Hello World!"
Cocoa: f98ee9c814c2f3c66ccdca641298d12cd26741ec Rails: 2ef7bde608ce5404e97d5f042f95f89f1c232871
可可:
NSMutableData *signedData = [[NSMutableData alloc] init];
[signedData appendData:[@"Hello World!" dataUsingEncoding:NSUTF8StringEncoding]];
NSData *signatureData = [signedData dataOfSHA1Hash];
[signedData release];
NSString *signature = [signatureData hexadecimalString];
NSLog(@"Signature: %@", signature);
// output: Signature: f98ee9c814c2f3c66ccdca641298d12cd26741ec
Run Code Online (Sandbox Code Playgroud)
红宝石:
>> Digest::SHA1.hexdigest("Hello World!")
=> "2ef7bde608ce5404e97d5f042f95f89f1c232871"
Run Code Online (Sandbox Code Playgroud) 现在我进入我的程序并且它实际上没有更新...我不能在列中放置null.如何正确更新edmx?谢谢.
根据这篇文章它是在测试版,但它不是在发布?
在脚本中你没有工作控制(并试图打开它是愚蠢的)
这是我第一次听到这个,而且我仔细考虑了关于工作控制的bash.info部分(第7章),没有提到这些断言中的任何一个.[ 更新:手册页稍好一些,提到'典型'使用,默认设置和终端I/O,但没有真正的理由说明为什么作业控制对于脚本来说特别不明智.
那么为什么基于脚本的作业控制不起作用,又是什么使它成为一种不好的做法(又名"愚蠢")?
编辑:有问题的脚本启动一个后台进程,启动第二后台进程,然后试图将所述第一进程返回到前景,以便它具有普通端子I/O(如如果直接运行),然后可以被重定向从在剧本之外.不能这样做到后台进程.
正如另一个问题的已接受答案所指出的,存在其他脚本可以在不尝试作业控制的情况下解决该特定问题.精细.lambasted脚本使用硬编码的作业号 - 显然很糟糕.但我试图了解工作控制是否是一种根本注定失败的方法.它似乎仍然可以工作......
使用Rails验证助手 -
validates_xxx_of :the_column, :message => "my message"
Run Code Online (Sandbox Code Playgroud)
将生成验证消息:
the_column我的消息
有没有办法关闭列名称的包含?(用任何验证帮助方法替换xxx)
我正在计划一个协作平台,将由来自20个不同国家的学者在同一研究领域内进行合作.理想情况下,我希望将我的工作建立在现有的开源平台上,该平台可以扩展以满足所有要求.
最终平台具有以下要求:
此外,该平台将托管在Linux环境中.理想情况下,它会使用MySQL作为底层数据库.编程语言可以是Java或PHP,其中Java是首选.
我的问题:是否有任何符合上述要求的开源协作平台?你的建议是什么?
非常感谢提前!
javascript ×2
.net ×1
.net-3.5 ×1
bash ×1
c# ×1
cmake ×1
cocoa ×1
console ×1
django ×1
filelock ×1
filtering ×1
forum ×1
ioexception ×1
java ×1
job-control ×1
linq ×1
logging ×1
objective-c ×1
open-source ×1
php ×1
python ×1
ruby ×1
sha1 ×1
validation ×1
windows ×1