问题列表 - 第6378页

将代码放在python配置文件中是否礼貌?

关于python我最喜欢的一个功能是你可以在python中编写非常易于理解的配置文件.如果你对自己设置了一些界限,你可以非常自信非pythonistas会确切地知道你的意思,并且完全有能力重新配置你的程序.

我的问题是,这些界限究竟是什么?我个人的启发式是

  1. 避免流量控制.没有函数,循环或条件.那些不会在文本配置文件中,人们不希望理解它们.通常,可能与语句执行的顺序无关.
  2. 坚持文字作业.调用对象的方法和函数更难以思考.隐含的任何东西都会变得一团糟.如果您的参数必须发生一些复杂的事情,请更改它们的解释方式.
  3. 语言关键字和错误处理都是正确的.

我想我问这个因为我遇到了我的Django配置文件的情况,它似乎有助于打破这些规则.我碰巧喜欢它,但我感到有点内疚.基本上,我的项目通过svn checkout部署到几个不同的服务器,这些服务器不会全部配置相同(有些将共享一个数据库,有些将不会,例如).所以,我在最后抛出一个钩子:

try:
    from settings_overrides import *
    LOCALIZED = True
except ImportError:
    LOCALIZED = False
Run Code Online (Sandbox Code Playgroud)

其中settings_overrides位于python路径上但在工作副本之外.你怎么看待这个例子,或者一般的python配置边界?

python django

9
推荐指数
1
解决办法
742
查看次数

如何在CMake中检索用户环境变量(Windows)

我知道如何使用CMAKE检索正常的机器范围的环境变量

$ENV{EnvironmentVariableName}
Run Code Online (Sandbox Code Playgroud)

但我无法检索用户特定的环境变量.有可能吗?怎么样?

windows cmake environment-variables

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

将html表单输入限制为某个浮点范围

有没有办法将表单输入字段限制在某个数字范围之间,比方说(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.

有没有办法实现这个目标?

javascript filtering

0
推荐指数
1
解决办法
2948
查看次数

如何最好等待文件锁释放

我有一个应用程序,我有时需要从正在写入的文件中读取并因此被锁定.正如我从其他问题中理解的那样,我应该捕获IOException并重试直到我能够阅读.

但我的问题是我如何确定该文件已被锁定,并且它不是另一个IOExcetpion发生的.

.net c# ioexception filelock

9
推荐指数
1
解决办法
7212
查看次数

我的Rails和Cocoa应用程序之间的SHA1哈希值不匹配

我有一个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)

ruby cocoa sha1 ruby-on-rails objective-c

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

更新edmx以反映数据库中所做的更改(.net linq-to-entities)

  • 所以我制作了我的edmx.
  • 然后我稍微更改了我的数据库,将列更改为从NOT NULL到允许NULL.
  • 我进入我的edmx,右键单击并选择"从数据库更新模型"

现在我进入我的程序并且它实际上没有更新...我不能在列中放置null.如何正确更新edmx?谢谢.

linq linq-to-entities entity-framework .net-3.5

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

252
推荐指数
8
解决办法
19万
查看次数

为什么我不能在bash脚本中使用作业控制?

这个回答另一个问题,有人告诉我,

在脚本中你没有工作控制(并试图打开它是愚蠢的)

这是我第一次听到这个,而且我仔细考虑了关于工作控制的bash.info部分(第7章),没有提到这些断言中的任何一个.[ 更新:手册页稍好一些,提到'典型'使用,默认设置和终端I/O,但没有真正的理由说明为什么作业控制对于脚本来说特别不明智.

那么为什么基于脚本的作业控制不起作用,又是什么使它成为一种不好的做法(又名"愚蠢")?

编辑:有问题的脚本启动一个后台进程,启动第二后台进程,然后试图将所述第一进程返回到前景,以便它具有普通端子I/O(如如果直接运行),然后可以被重定向从在剧本之外.不能这样做到后台进程.

正如另一个问题的已接受答案所指出的,存在其他脚本可以在不尝试作业控制的情况下解决该特定问题.精细.lambasted脚本使用硬编码的作业号 - 显然很糟糕.但我试图了解工作控制是否是一种根本注定失败的方法.它似乎仍然可以工作......

bash job-control

49
推荐指数
4
解决办法
4万
查看次数

使用Rails验证帮助程序:消息但希望它不在消息中列出列名

使用Rails验证助手 -

validates_xxx_of :the_column, :message => "my message"
Run Code Online (Sandbox Code Playgroud)

将生成验证消息:

the_column我的消息

有没有办法关闭列名称的包含?(用任何验证帮助方法替换xxx)

validation ruby-on-rails

21
推荐指数
4
解决办法
1万
查看次数

用于学术合作的开源平台

我正在计划一个协作平台,将由来自20个不同国家的学者在同一研究领域内进行合作.理想情况下,我希望将我的工作建立在现有的开源平台上,该平台可以扩展以满足所有要求.

最终平台具有以下要求:

  • 集成留言板
  • 支持文件上传以共享新的研究论文等.
  • 即将举行的会议等的共享日历
  • 具有提醒支持的任务列表
  • 邮件列表支持

此外,该平台将托管在Linux环境中.理想情况下,它会使用MySQL作为底层数据库.编程语言可以是Java或PHP,其中Java是首选.

我的问题:是否有任何符合上述要求的开源协作平台?你的建议是什么?

非常感谢提前!

php java collaboration forum open-source

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