小编koo*_*koo的帖子

Django模型:两个类之间的相互引用和在python中使用前向声明的不可能性

我定义了两个模型,每个模型引用另一个模型,如下所示:

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异常,抱怨任何一个类都没有定义.

python django model foreign-keys forward-declaration

17
推荐指数
1
解决办法
4242
查看次数

监控不包括本地流量的网络使

我正在开发一个监控网络使用情况的应用.但是我注意到许多方法都不允许排除本地流量(例如,Time Machine).

我正在寻找一种排除本地流量的方法,并且只监控直接进出互联网的使用情况.

更新:感谢您的回复,现在我知道如何查找流量是否为本地流量,但我仍然不知道如何计算总输入/输出字节(对不起,如果我之前没有详细说明).我无法知道在特定时间段内或自OS启动以来在本地(或互联网)发送/接收的字节数.当OS运行时启动或终止事实过程会使这个问题进一步复杂化.

如何在linux/Mac OSX中获取网络适配器统计信息的答案提供了一种总结总使用量的有趣方法,但它没有用,因为它总结的用法是接口统计.

更新2:我已经发布了我的最终解决方案.请向下滚动一下以查看.

networking cocoa monitoring objective-c sysctl

10
推荐指数
1
解决办法
4576
查看次数

在Lion上使用Growl所需的代码签名权利密钥是什么?

由于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

8
推荐指数
1
解决办法
2083
查看次数

具有提升权限的Mac App Store应用

我对Mac App Store有疑问.我打算发布一个具有管理员权限的软件来实现其核心功能,但根据Apple的说法 -

2.27 - 请求升级为root权限或使用setuid属性的应用程序将被拒绝.

我必须寻求其他方法来实现这一目标.我正在考虑分发应用程序而无需使用root权限,并为用户提供下载我的帮助应用程序的选项,该应用程序将在我的网站上免费分发.我的应用程序和帮助程序之间的一些进程间通信魔法似乎符合要求.但为了让事情变得更好 -

2.16:下载或安装其他代码或资源以添加功能或更改其主要用途的应用程序将被拒绝

你看,我只需要提供一个链接到我的网站,这反过来建议用户下载帮助.所以我的问题是,我的方法是否能避开Apple的可怕拒绝?

macos cocoa setuid root mac-app-store

6
推荐指数
1
解决办法
1337
查看次数

SCons自定义构建器 - 使用多个文件构建并输出一个文件

如果我有一个可执行文件,一次生成多个文件的输出 -

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)

builder scons

6
推荐指数
1
解决办法
4100
查看次数

Bezier路径抚摸性能问题

我的代码如下 -

[[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];肯定有帮助,但路径看起来真的太'瘦'.

macos performance cocoa bezier objective-c

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