我定义了两个模型,每个模型引用另一个模型,如下所示:
class User(models.Model):
# ...
loves = models.ManyToManyField(Article, related_name='loved_by')
class Article(models.Model):
# ...
author = models.ForeignKey(User)
Run Code Online (Sandbox Code Playgroud)
你看,问题是两个类都互相引用.无论这两个类的实现顺序如何,python总是引发NameError异常,抱怨任何一个类都没有定义.
我正在开发一个监控网络使用情况的应用.但是我注意到许多方法都不允许排除本地流量(例如,Time Machine).
我正在寻找一种排除本地流量的方法,并且只监控直接进出互联网的使用情况.
更新:感谢您的回复,现在我知道如何查找流量是否为本地流量,但我仍然不知道如何计算总输入/输出字节(对不起,如果我之前没有详细说明).我无法知道在特定时间段内或自OS启动以来在本地(或互联网)发送/接收的字节数.当OS运行时启动或终止事实过程会使这个问题进一步复杂化.
如何在linux/Mac OSX中获取网络适配器统计信息的答案?提供了一种总结总使用量的有趣方法,但它没有用,因为它总结的用法是接口统计.
更新2:我已经发布了我的最终解决方案.请向下滚动一下以查看.
由于Lion要求所有应用程序指定代码签名权利,因此提交到Mac App Store.与Growl一样,我从未明确应该指定哪些权利,而某些google-fu对我的问题没有回答.
我一直在控制台看到这个:
GrowlApplicationBridge: Could not send open-document event to register this application with Growl because AESend returned -600/no eligible process with specified descriptor
Run Code Online (Sandbox Code Playgroud)
编辑:更新权利后:
<key>com.apple.security.temporary-exception.apple-events</key>
<array>
<string>com.Growl.GrowlHelperApp</string>
</array>
Run Code Online (Sandbox Code Playgroud)
现在我在控制台中看到了这个:
*** attempt to post distributed notification 'GrowlNotification' thwarted by sandboxing.
Run Code Online (Sandbox Code Playgroud)
编辑x2:更具体地说,问题在于NSDistributedNotificationCenter允许应用程序向其他进程发布通知.
macos objective-c growl mac-app-store code-signing-entitlements
我对Mac App Store有疑问.我打算发布一个具有管理员权限的软件来实现其核心功能,但根据Apple的说法 -
2.27 - 请求升级为root权限或使用setuid属性的应用程序将被拒绝.
我必须寻求其他方法来实现这一目标.我正在考虑分发应用程序而无需使用root权限,并为用户提供下载我的帮助应用程序的选项,该应用程序将在我的网站上免费分发.我的应用程序和帮助程序之间的一些进程间通信魔法似乎符合要求.但为了让事情变得更好 -
2.16:下载或安装其他代码或资源以添加功能或更改其主要用途的应用程序将被拒绝
你看,我只需要提供一个链接到我的网站,这反过来建议用户下载帮助.所以我的问题是,我的方法是否能避开Apple的可怕拒绝?
如果我有一个可执行文件,一次生成多个文件的输出 -
generate_output -o a.out -f input1.txt input2.txt input3.txt
Run Code Online (Sandbox Code Playgroud)
有没有办法为此编写这样的自定义构建器?我目前所拥有的是 -
builder = Builder(
action='generate_output -o $TARGET -f $SOURCE',
suffix='.out', src_suffix='.txt')
Run Code Online (Sandbox Code Playgroud)
然后它只生成一个序列中的文件,这不是我真正想要的 -
generate_output -o input1.out -f input1.txt
generate_output -o input2.out -f input2.txt
# etc...
Run Code Online (Sandbox Code Playgroud) 我的代码如下 -
[[NSColor whiteColor] set];
// `path' is a bezier path with more than 1000 points in it
[path setLineWidth:2];
[path setLineJoinStyle:NSRoundLineJoinStyle];
[path stroke];
// some other stuff...
Run Code Online (Sandbox Code Playgroud)
在Instruments中运行时间分析工具,它告诉我我的应用程序花费93.5%的时间在最后一行[path stroke],而Quartz Debugger告诉我我的应用程序仅以低于10 fps的速度运行(另一个视图更改位置始终在它上面导致更新).
我正在寻找提高抚摸bezier路径性能的方法,有时超过1000点的路径以> 60fps非常快速地绘制,但是在某些极端情况下即使具有相同的点数,也许如果这些点太远彼此(或太密集?)的表现变得非常迟钝.
我不知道我能做些什么.我认为将视图缓存为位图代表是有帮助的,但它对实时调整大小无能为力.
编辑:注释掉线[path setLineWidth:2];肯定有帮助,但路径看起来真的太'瘦'.
cocoa ×3
macos ×3
objective-c ×3
bezier ×1
builder ×1
django ×1
foreign-keys ×1
growl ×1
model ×1
monitoring ×1
networking ×1
performance ×1
python ×1
root ×1
scons ×1
setuid ×1
sysctl ×1