我正在编写一个非常小的Python ORM boto.dynamodb.layer2.我想为它编写测试,但我不希望测试实际与AWS通信,因为这需要复杂的设置,凭据,网络访问等.
由于我计划开源模块,包括源代码中的凭据似乎是一个坏主意,因为我会收取使用费用,并且在环境中包含凭据是一件痛苦的事.
将我的测试耦合到网络似乎是个坏主意,因为它会使测试运行得更慢,或者可能导致测试因网络错误或限制而失败.我的目标不是测试boto的DynamoDB接口或AWS.我只想测试自己的代码.
我打算用来unittest2编写测试并mock模拟出击中网络的boto部分,但我以前从未这样做过,所以我的问题可以归结为:
boto.dynamodb界面中是否有任何特定的点最适合模拟?我们有一个小的javascript项目将使用一些jQuery选择器,但我们绝不需要完整的jQuery包(即效果).有没有办法获得jQuery库的自定义构建?
使用Django 1.1:
的Django管理文档描述使用在一个的ModelAdmin物体上的任意方法或属性list_display类属性.这是一种很好的机制,用于在模型的列表显示中显示任意信息.但是,对于更改表单页面本身似乎没有类似的机制.在ModelAdmin更改表单页面上显示任意,非字段派生信息的最有效的小功能是什么?
所需设置的具体示例:
class CustomUserAdmin(UserAdmin):
def registration_key(self, obj):
"""Special method for looking up and returning the user's registration key
"""
return 'the_key'
list_display = ('email', 'first_name', 'last_name', 'is_active', 'is_staff',
'registration_key') # <- this works
fields = ('email', 'first_name', 'last_name', 'is_active', 'is_staff',
'registration_key') # <- this DOESN'T work?
Run Code Online (Sandbox Code Playgroud) 我正在采用Backbone.js来渲染现有大型Web应用程序的一个小角落.如果这很顺利,我可以看到Backbone.js正在成长为包含整个应用程序,为有机增长的应用程序提供了一些急需的结构.这是序言.现在出现问题:
我有一个选择框,允许用户选择阅读计划.当选择更改时,视图会更新一些描述性文本,日历界面和一个小部件,以便将今天的读数标记为完整.小部件将在今天的条目中为每个阅读(一个或多个)提供一个复选框,并为一个按钮提供继续到第二天的阅读.(您可以在现有应用程序的右侧看到此界面的当前非骨干版本(减去完成方案).
每个View的适当粒度是多少?我已经确定了以下"繁琐的位":
每个子弹点都应该有自己的视图吗?只是主要部分(标签,选择框,小部件)?第一个会产生很多观点.第一个似乎可能导致过度复杂的View实现.什么是最好的?
注意:我意识到这可能被解释为一个非常主观的问题,但我仍然围绕Backbone.js和Javascript/DOM MVC模式,我希望有一个狭窄的"这是什么意图/最有效的"来自更有经验的Backbone.js从业者.谢谢!
这是过去24小时的统计信息显示(在Graphite Composer中):

这是"过去14天"统计数据的显示:

那里没什么区别.我无法说服Graphite显示过去24小时内任何时段的任何数据.
以下是storage-schemas.conf(我正在使用StatsD)的相关条目:
[stats]
pattern = ^stats.*
retentions = 10:2160,60:10080,600:262974
[stats_counts]
pattern = ^stats_counts.*
retentions = 10:2160,60:10080,600:262974
Run Code Online (Sandbox Code Playgroud)
和我的storage-aggregation.conf:
[min]
pattern = \.min$
xFilesFactor = 0
aggregationMethod = min
[max]
pattern = \.max$
xFilesFactor = 0
aggregationMethod = max
[sum]
pattern = \.count$
xFilesFactor = 0
aggregationMethod = sum
[default_average]
pattern = .*
xFilesFactor = 0
aggregationMethod = average
Run Code Online (Sandbox Code Playgroud)
到目前为止,我有五天左右的数据.我错过了什么?
已编辑添加:
我想我应该提一下,我开始使用默认设置,storage-schemas.conf并且只在昨天重建了我的耳语数据库文件以匹配上述配置.我不认为这应该是相关的,但它确实存在.
更新:
我正在使用2012年5月发布的来自PyPI的0.9.10石墨网和耳语.
我正在用Python开发一个程序生成的游戏世界.世界的结构将类似于MUD/MUSH范例的房间和出口被安排为有向图(房间是节点,出口是边缘).(注意,这并不一定是一个非循环图,虽然我愿意考虑非周期的解决方案.)
对于世界生成算法,不同种类的房间将通过每个房间的"标签"属性(一组字符串)来区分.一旦它们被实例化,就可以通过标签(单标签,标签交叉,标签联合,最佳候选)来查询和选择房间.
我将使用模板对象和工厂方法的美化系统创建特定类型的房间 - 我不认为细节在这里很重要,因为当前的实现可能会改变以匹配所选择的策略.(例如,可以向房间模板系统添加标签和标签查询.)
举个例子,我会有这些类型的房间:
side_street,main_street, plaza, bar, hotel, restaurant, shop, office
最后,问题是:实例化和安排这些房间以创建可能与给定规则相对应的图表的好策略是什么?
一些规则可能包括:每万人口一个广场; main_street连接plaza; side_street连接到main_street或side_street; hotel赞成main_street或plaza关联,并相应地接收更多标签; 等等
如果建议的策略能够实现数据驱动的实施,则奖励积分.
我有一个基于Django的网站,大约有300,000个User对象.具有ForeignKey字段到User的对象的管理页面需要很长时间才能加载,因为生成的表单大小约为6MB.当然,由此产生的下拉也不是特别有用.
处理这种情况是否有现成的替代品?我一直在谷歌搜索片段或博客条目,但还没有找到任何东西.我想拥有更小的下载大小和更实用的界面.
django optimization user-interface autocomplete django-admin
请考虑以下Python代码:
def f(*args):
for a in args:
pass
foo = ['foo', 'bar', 'baz']
# Python generator expressions FTW
gen = (f for f in foo)
f(*gen)
Run Code Online (Sandbox Code Playgroud)
是否*args在通话时自动扩展发电机?换句话说,我在gen内部迭代两次f(*gen),一次扩展*args,一次迭代args?或者是生成器保持原始状态,而迭代只在for循环期间发生一次?
我正在开发一个Web API,以便对可以很好地映射到Postgres表的资源执行RESTful查询.大多数过滤参数也很好地映射到SQL查询的参数.但是,一些过滤参数需要调用我的搜索索引(在本例中为Sphinx服务器).
最简单的方法是运行我的搜索,从搜索结果中收集主键,然后将它们填入IN (...)SQL查询的子句中.但是,由于搜索可能会返回很多主键,我不知道这是一个如此明智的想法.
我希望大部分时间(比方说,90%),我的搜索将返回几百个数量级的结果.也许10%的时间,会有几千个结果的顺序.
这是一种合理的方法吗?有没有更好的办法?
python ×4
django ×2
django-admin ×2
javascript ×2
postgresql ×2
autocomplete ×1
backbone.js ×1
boto ×1
function ×1
generator ×1
graph ×1
graphite ×1
install ×1
iteration ×1
jquery ×1
macports ×1
mocking ×1
module ×1
optimization ×1
search ×1
sql ×1
testing ×1