我想将a的值NSString
与字符串"Wrong"进行比较.这是我的代码:
NSString *wrongTxt = [[NSString alloc] initWithFormat:@"Wrong"];
if( [statusString isEqualToString:wrongTxt] ){
doSomething;
}
Run Code Online (Sandbox Code Playgroud)
我是否真的必须为"错误"创建一个NSString?
另外,可我一个的值进行比较UILabel
的text
一个字符串没有标签值分配给字符串?
python中可用的最短哈希(文件名可用形式,如hexdigest)是什么?我的应用程序想要保存某些对象的缓存文件.对象必须具有唯一的repr(),因此它们用于"种子"文件名.我想为每个对象生成一个可能唯一的文件名(不是那么多).它们不应该发生冲突,但是如果它们发生了我的应用程序将只是缺少该对象的缓存(并且必须重新索引该对象的数据,这是应用程序的一个小成本).
因此,如果存在一个冲突,我们会丢失一个缓存文件,但是收集的缓存所有对象的节省使得应用程序启动速度更快,因此无关紧要.
现在我实际上正在使用abs(hash(repr(obj))); 那是对的,字符串哈希!还没有找到任何碰撞,但我希望有更好的哈希函数.hashlib.md5在python库中可用,但如果放入文件名,则hexdigest非常长.替代方案,具有合理的抗冲击性?
编辑:用例是这样的:数据加载器获取数据携带对象的新实例.独特的类型有独特的repr.因此,如果存在缓存文件hash(repr(obj))
,我将取消该缓存文件并将obj替换为unpickled对象.如果发生碰撞并且缓存是假匹配,我注意到.因此,如果我们没有缓存或具有错误匹配,我改为初始化obj(重新加载其数据).
结论(?)
str
python中的哈希可能已经足够好了,我只担心它的碰撞阻力.但是如果我可以2**16
用它来散列对象,那就足够了.
我发现如何采用十六进制哈希(来自任何哈希源)并使用base64紧凑地存储它:
# 'h' is a string of hex digits
bytes = "".join(chr(int(h[i:i+2], 16)) for i in xrange(0, len(h), 2))
hashstr = base64.urlsafe_b64encode(bytes).rstrip("=")
Run Code Online (Sandbox Code Playgroud) 我正在玩C#集合,我决定编写一个快速测试来衡量不同集合的性能.
我的性能测试是这样的:
int numOps= (put number here);
long start, end, numTicks1, numTicks2;
float ratio;
start = DateTime.Now.Ticks;
for(int i = 0; i < numOps; i++)
{
//add two elements to collection #1
//remove one element from collection #1
}
end = DateTime.Now.Ticks;
numTicks1 = end - start;
start = DateTime.Now.Ticks;
for(int i = 0; i < numOps; i++)
{
//add two elements to collection #2
//remove one element from collection #2
}
end = DateTime.Now.Ticks;
numTicks2 = end - start; …
Run Code Online (Sandbox Code Playgroud) 我有一个类,我想要覆盖该get_or_create
方法.基本上如果我的班级没有存储我想要的答案,那么就会做一些过程来得到答案而且没有提供.该方法实际上是一种get_or_retrieve
方法.所以这是课程:
class P4User(models.Model):
user = models.CharField(max_length=100, primary_key=True)
fullname = models.CharField(max_length=256)
email = models.EmailField()
access = models.DateField(auto_now_add=True)
update = models.DateField(auto_now_add=True)
@classmethod
def get_or_retrieve(self, username, auto_now_add=False):
try:
return self.get(user=username), False
except self.model.DoesNotExist:
import P4
import datetime
from django.db import connection, transaction, IntegrityError
p4 = P4.P4().connect()
kwargs = p4.run(("user", "-o", username))[0]
p4.disconnect()
params = dict( [(k.lower(),v) for k, v in kwargs.items()])
obj = self.model(**params)
sid = transaction.savepoint()
obj.save(force_insert=True)
transaction.savepoint_commit(sid)
return obj, True
except IntegrityError, e:
transaction.savepoint_rollback(sid)
try:
return self.get(**kwargs), …
Run Code Online (Sandbox Code Playgroud) 我刚刚成为我的研究小组的系统管理员,在这方面,我是一个新手.我正在尝试制作一些工具来监控网络,并需要帮助开始使用python(我的母语)实现它们.
例如,我想查看谁登录到远程计算机.手工,我是ssh who
,但是如何将这些信息输入脚本进行操作?就像是,
import remote_info as ri
ri.open("foo05.bar.edu")
ri.who()
Out[1]:
hutchinson tty7 2009-08-19 13:32 (:0)
hutchinson pts/1 2009-08-19 13:33 (:0.0)
Run Code Online (Sandbox Code Playgroud)
类似地,例如cat /proc/cpuinfo
获取节点的处理器信息.一个起点真的很棒.谢谢.
我正在寻找一种在MySQL中对数据库进行别名的方法.原因是能够重命名实时的生产数据库而不会导致系统崩溃.我想我可以将数据库别名为新名称,在我闲暇时更改和部署连接到它的代码,并最终删除旧别名.
如果有更好的方法来实现这一点,请告诉我.
我想要熟悉标准模板库的使用.如果我遇到1995-97左右发表的一般参考文献或初学者指南,我可以依赖其中的信息吗?STL在过去的十几年中有多少变化?
我正在研究PHP中的网站的高性能编码,这个想法突然出现在我脑海中:
我们知道访问数据库会占用大量的CPU,因此我们会缓存这些数据,并将其保存到HDD中.但我想知道,不能把它休息的服务器的RAM,这样我就可以访问它,甚至更多更快?
我有一个老板,他确信学习Rails的学习曲线太陡了,从劳动的角度看,当直接在Apache上运行作为CGI应用程序的Ruby时,它就没有成本效益.他提议,为了我们的改写,我们使用直接的Ruby没有框架而不是Rails(或Merb,Sinatra等).我内心相信这是一个坏主意,但我无法将我的案例纳入话.到目前为止我提出的一些想法:
我有什么理由想念或错过吗?有没有我不知道的有效权衡?
python ×3
performance ×2
alias ×1
c# ×1
c++ ×1
caching ×1
cgi ×1
cocoa-touch ×1
comparison ×1
cpu-usage ×1
database ×1
django ×1
hash ×1
hashtable ×1
list ×1
monitoring ×1
mysql ×1
networking ×1
objective-c ×1
php ×1
ruby ×1
schema ×1
stl ×1
variables ×1