是否有任何理由特别建议在Linux服务器上运行memcached?在Windows Server机器上运行它真是太糟糕了吗?OS X Server盒子怎么样?
我读到的最大原因是关于TCO.换句话说,对于我们运行memcached的每个窗口框,我们必须购买Windows Server的副本并将这些成本加起来.问题是我们有几台服务器具有较旧的处理器但是RAM很多 - 非常适合memcached使用.所有这些盒子上都安装了Windows Server 2003,因此安装Linux并没有太多节省.有没有其他令人信服的理由使用Linux?
对不起,如果这是一个愚蠢的问题,但有时我会看到复活节彩蛋和像Aptitude这样的程序.(Debian的包管理器)
可能吗 是否有更多险恶的功能进入开源软件?
对于我正在处理的 Django 应用程序,我希望允许由 Active Directory 组确定组成员身份。经过一段时间的 pywin32 文档挖掘,我想出了这个:
>>> import win32net
>>> win32net.NetUserGetGroups('domain_name.com', 'username')
[(u'Domain Users', 7), ...]
Run Code Online (Sandbox Code Playgroud)
不过,在我弄清楚这一点之前,我花了一段时间的谷歌搜索,我发现的示例几乎完全使用 LDAP 来处理这种事情。有什么理由比这种方法更受欢迎吗?请记住以下几点:
到目前为止,我的经验告诉我,即使使用多核处理器,并行化算法并不总能显着加快速度.事实上,有时它会减慢速度.有哪些好的提示可以通过并行化来大大加快算法的速度?
(当然,考虑到过早优化的警告及其与邪恶的相关性)
language-agnostic algorithm parallel-processing concurrency optimization
我们现在使用的应用程序的身份验证系统使用的是双向哈希,它基本上只不过是一个美化的凯撒密码.如果不详细了解它的用途,我想用更安全的加密算法替换它(它需要在服务器端完成).不幸的是,它需要是双向的,而hashlib中的算法都是单向的.
有哪些好的加密库会包含这类算法的算法?
我有一段看起来像这样的代码(ClearImportTable和InsertPage是存储过程):
datacontext.ClearImportTable() //Essentially a DELETE FROM table
for (int i = 1; i < MAX_PAGES; ++i){
datacontext.InsertPage(i); //Inserts data into the table
}
Run Code Online (Sandbox Code Playgroud)
这是我的代码的一个简化版本,但想法是它在插入记录之前清除表.唯一的问题是,如果在ClearImportTable之后发生错误,则擦除表中的所有数据.有没有办法将它包装在一个事务中,这样如果有任何错误,一切都将按照它的方式放回去?
我有点好奇为什么要在base64上使用十六进制编码.在我看来,base 64更有效率.特别是,为什么数据库似乎总是使用十六进制编码?这是一个历史问题,还是我错过了关于十六进制编码的内容?
我正在开发一个开源Python ORM的后端.该库包含一组450个测试用例,每个后端都被集成到一个巨大的测试类中.
对我来说,这对于一个类来说听起来很多,但我从未参与过有 450个测试用例的项目(我相信这个库有大约2000个测试用例,不包括每个后端的测试用例).我是否正确认为这有点高端(假设没有任何神奇的数字,你应该打破一些东西),或者对于测试类来说,进行如此多的测试并不是一件大事?
即使这不是太多的测试用例,如何重构一个过大的测试类呢?我对重构的大部分知识都是为了确保对要重构的代码进行测试.我从来没有必要处理需要重构的测试本身的情况.
编辑:以前,我曾说过这些是单元测试,但这并不完全正确.这些更恰当地称为集成测试.
它经常发生,我将完成一个大项目或在我回家之前大约30-45分钟完成会议.通常需要做的事情,但通常不值得开始这些项目只需要30-45分钟.
那段时间花在做什么好事?
例如,假设我这样做:
>>> class foo(object):
... pass
...
>>> class bar(foo):
... pass
...
>>> some_dict = { foo : 'foo',
... bar : 'bar'}
>>>
>>> some_dict[bar]
'bar'
>>> some_dict[foo]
'foo'
>>> hash(bar)
165007700
>>> id(bar)
165007700
Run Code Online (Sandbox Code Playgroud)
基于此,看起来该类正在作为其id号进行哈希处理.因此,如果我改变了类,那么不应该担心bar散列是否为a foo或a bar或散列值.
这种行为是否可靠,或者这里有任何问题吗?
python ×3
.net-3.5 ×1
algorithm ×1
base64 ×1
binary ×1
c# ×1
caching ×1
class ×1
concurrency ×1
database ×1
dictionary ×1
encryption ×1
hash ×1
hex ×1
inheritance ×1
ldap ×1
linq-to-sql ×1
linux ×1
macos ×1
memcached ×1
open-source ×1
optimization ×1
orm ×1
pywin32 ×1
refactoring ×1
sql-server ×1
tdd ×1
testing ×1
winapi ×1
windows ×1