小编Ale*_*lli的帖子

如何在Python中初始化二维数组?

我正在开始python,我正在尝试使用二维列表,我最初在每个地方填充相同的变量.我想出了这个:

def initialize_twodlist(foo):
    twod_list = []
    new = []
    for i in range (0, 10):
        for j in range (0, 10):
            new.append(foo)
        twod_list.append(new)
        new = []
Run Code Online (Sandbox Code Playgroud)

它给出了期望的结果,但感觉就像一个解决方法.有没有更简单/更短/更优雅的方式来做到这一点?

python multidimensional-array

243
推荐指数
13
解决办法
57万
查看次数

如何使用EXPLAIN*预测MySQL查询的性能?

我正在帮助维护一个程序,该程序本质上是一个大而复杂的MySQL数据库的友好只读前端 - 该程序从用户输入构建临时SELECT查询,将查询发送到DB,获取结果,对它们进行后处理,并将它们很好地显示给用户.

我想为构造的查询的预期性能添加某种形式的合理/启发式预测 - 有时用户无意中进行的查询不可避免地需要花费很长时间(因为它们将返回大量结果集,或者因为它们'重新"反对数据库索引的方式",我希望能够向用户显示一些"有些可靠"的信息/猜测查询将花多长时间.它不一定是完美的,只要它不会如此糟糕,经常与现实打成一团,导致"哭狼"效应,用户学会忽视它;-)基于这个信息,用户可能决定去喝咖啡(如果估计是5-10分钟),去吃午餐(如果是30-60分钟),杀死查询并尝试其他方式(可能对他们要求的信息有更严格的限制) )等等

我对MySQL的EXPLAIN语句不是很熟悉 - 我看到很多关于如何使用它来优化查询或数据库模式,索引等的信息,但对于如何将它用于我更有限的目的却没有太多信息 - 简单地进行预测,将DB作为给定(当然,如果预测足够可靠,我最终可能会转而使用它们来在查询可以采用的替代形式之间进行选择,但是,这是为了将来:现在,为了上述目的,我只是为了向用户展示性能猜测而感到高兴.

任何指针......?

mysql sql-execution-plan

53
推荐指数
2
解决办法
7652
查看次数

您在App Engine上使用了哪些方法进行轻量级Python单元测试?

我即将开始一些基于Python的大型App Engine项目,我认为在进行单元测试策略之前,我应该检查Stack Overflow的"人群智慧".我有一个现有的单元测试框架(基于单元测试定制亚军和扩展),我想使用,所以任何"重量级" /"侵入",如鼻子,WebTest的,或 gaeunit似乎并不合适.在我的世界观中,关键的单元测试是非常轻巧和快速的,在非常短的时间内运行,所以我可以一直运行它们而不会破坏我的开发节奏(例如,对于不同的项目,我得到对于一个20K线项目有97%左右的覆盖率,需要几十次超快速测试,需要5-7秒,经过一段时间,对于一次典型的运行,总体来说 - 这就是我认为是一套体面的小型,快速单元 - 测试).我当然会有更丰富/更重的测试,一直到硒或风车的集成测试,这不是我要问的问题;-) - 我对这个问题的关注(以及我的大部分开发工作) ;-)是小型,轻量级的单元测试,轻松超级快速地覆盖我的代码,而不是更深层次的代码.

所以我认为我需要的是一组小型的,非常轻量级的各种关键App Engine子系统模拟 - 数据存储,内存缓存,请求/响应对象以及对webapp处理程序的调用,用户处理,邮件和c,大致在此优先顺序.我还没有找到我正在寻找的东西,所以在我看来我应该依赖mox,就像我过去经常做的那样,这基本上意味着模拟给定测试中使用的每个子系统并设置所有期望和c(强大,但每次都很多工作,对测试代码的内部非常敏感,即非常"白盒"y),或者滚动我自己的每个子系统的模拟(并在模拟的子系统上做断言'作为单元测试的一部分.后者似乎是可行的,考虑到GAE的Python端强大的"存根"架构...但我不敢相信我需要自己动手,即没有人已经编写过这样简单的模拟器! - )例如,对于数据存储区,看起来我需要的或多或少是"文件数据存储"存根,它已经是SDK的一部分,另外还有一种方法可以标记它只读和易于使用的访问器,用于断言数据存储的状态; 依此类推,子系统逐个子系统 - 每个似乎都需要比现有的"存根"架构中"已经存在"的"仅仅更多".

所以,在潜入并花费一两天宝贵的开发时间"滚动我自己"模拟GAE子系统进行单元测试之前,我想我会对SO人群进行双重检查,看看你们都会想到这一点. ..或者,如果已经有一些现有的开源软件组,我可以简单地重复使用(或者最小化调整! - ),而我在搜索中却没有发现! - )

编辑:澄清一下,如果我自己动手,我打算在可行的情况下利用SDK提供的存根; 但是例如,对于最初从文件读入但最后没有保存的数据存储区没有存根,所以我需要子类化并调整现有的数据存储区(这也没有提供特别方便的方法来对其进行断言) state - 与邮件服务存根相同,等等.这就是我所说的"滚动我自己" - 而不是"从头开始重写"! - )

编辑:"为什么不GAEUnit" - GAEUnit很适合自己的用例,但运行dev_appserver并在我的浏览器中看到结果(甚至通过urllib.urlopen)绝对不是我想要的 - 我想用一个完全自动化的设置,适合在现有的测试运行框架内运行,该框架基于扩展unittest,并且没有HTTP(所述框架定义了一个"快速"测试,其中包括没有套接字和最小磁盘I/O - 我们模拟或模拟这些 - 所以通过gaeunit我可以做的不比"中等"测试更好+ +没有方便的方法为每个测试预填充数据存储(没有OO结构来帮助定制事物).

python google-app-engine unit-testing

39
推荐指数
2
解决办法
3102
查看次数

在App Engine中使用实体组的良好开源示例?

我知道有关实体组如何在GAE存储中工作的所有细节,但昨天(在Palo Alto的App Engine聚会上),作为主持人解释他对实体组的使用,让我感到震惊的是我从未真正使用它们在我自己的GAE应用程序中,我不记得在我使用的开源GAE应用程序中看到它们.

因此,我怀疑我只是忽略了(没有注意到或记住)这样的例子,因为我根本不习惯他们足以立即将"使用实体组"连接到"正在解决的那种应用程序问题" - 而我我认为我应该通过研究这个目标来解决这个问题,重点关注EG使用的问题(即,为什么应用程序与它一起工作,但如果没有它就无法工作或不能正常工作).

任何人都可以建议这些代码的良好URL吗?(随笔也将受到欢迎,如果他们专注于应用级解决问题,但没有如果,最喜欢我所看到的,他们只是专注于EG的是如何工作的细节- !).

google-app-engine entity-groups

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

是否存在Boo编程语言的非CLI实现(尤其是JVM)?

Boo看起来像一种有趣的语言,但似乎只针对公共语言基础结构(CLI),AKA .NET实现 - 至少,我还没有找到任何其他实现,我特别喜欢JVM ,如果它存在.所以,我想我会仔细检查Stack Overflow - 是否有任何非CLI的Boo实现?

boo jvm

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

如何"减慢"MIDI文件(理想情况下是Python)?

我有.MID和.KAR格式的一些歌曲的背景音乐,但在每种情况下它的播放速度都比我想要的快一些.什么是创建具有相同内容但速度较慢的.MID或.KAR文件的最简单方法 - 比如,一个减慢20%左右,另一个减慢15%,三分之一减少25%,依此类推?

理想情况下,我更喜欢跨平台的Python脚本(因为这样我可以轻松地通过实验调整源代码以收敛到我想要的确切效果;-),但我将采用任何在Linux中运行的免费解决方案(Ubuntu) 8.04如果重要)和Mac(Mac OS X 10.5,但首选10.6兼容性).

python midi

17
推荐指数
3
解决办法
5766
查看次数

使用appcfg.py时出现意外的关键字参数"context"

我尝试通过appcfg.py在Google App Engine上更新项目:

C:\> "C:\Program Files (x86)\Google\google_appengine\appcfg.py" update c:\secondApp
Run Code Online (Sandbox Code Playgroud)

但我立即得到以下错误(顶行被忽略):

File "C:\Python27\lib\urllib2.py", line 1240, in https_open
    context=self._context)
TypeError: do_open() got an unexpected keyword argument 'context'
Run Code Online (Sandbox Code Playgroud)

我决定深入研究文件urllib2.py并找到问题所在.在几分钟的代码审查之后,我得出这样的结论:接受名为参数的重载context不存在.所以,我更改了原始代码段:

def https_open(self, req):
    return self.do_open(httplib.HTTPSConnection, req,
        context=self._context) 
Run Code Online (Sandbox Code Playgroud)

def https_open(self, req):
    return self.do_open(httplib.HTTPSConnection, req)
Run Code Online (Sandbox Code Playgroud)

和瞧!它有效(虽然出现了关于身份验证的另一个问题,但第一个问题得到了解决).但是很奇怪,在正式版本中存在这样的错误,而很可能其他人遇到了同样的问题.令人惊讶的是,我找不到其他人报告的这个问题!

模块有什么问题吗?我是否混合了错误版本的已安装软件包?有帮助吗?

我的Google App Engine SDK版本:1.9.17 x64

我安装的Python版本:2.7.9 x64

我的平台:Windows 8.1 x64

我不熟悉Python:D

解:

正如Migel Tissera所说,问题在于身份验证.但我尝试了他提出的命令并得到了同样的错误.幸运的是,我执行了以下命令并取得了成功!(我添加了--noauth_local_webserver和--no_cookies开关):

appcfg.py --noauth_local_webserver --oauth2 --skip_sdk_update_check --no_cookies update c:\secondApp
Run Code Online (Sandbox Code Playgroud)

python google-app-engine

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

Oracle等效的MySQL的TEXT类型

Oracle是否具有与MySQL TEXT类型相同的列类型?

如果没有,通常如何存储较大的文本blob?BLOB,varchar(32767)?如果重要的话,可以通过PHP访问Oracle 10.历史背景非常受欢迎.

php oracle text types

16
推荐指数
2
解决办法
3万
查看次数

GCP中的网络和HTTP(s)负载均衡器之间有什么区别

GCP提供两个负载平衡器,即网络HTTP,其中前者在第4 工作,后者在第7层工作.

还有一个文档说明即使HTTP流量也可以由网络负载平衡器进行负载平衡.这略微混淆了为GCP中的Web应用程序选择哪个负载均衡器.在为项目选择一个之前,最好先了解这些差异.

基于工作流程,设置,基于区域/区域,会话亲和性选项以及其他设置,它们之间有何区别?

load-balancing google-compute-engine google-cloud-platform google-cloud-network-load-balancer google-cloud-http-load-balancer

14
推荐指数
2
解决办法
3230
查看次数

人气算法

我正在创建一个类似digg的网站,它将有一个不同类别的主页.我想显示最受欢迎的提交.

我们的评级系统只是"喜欢",比如"我喜欢这个"等等.我们基本上希望每次显示"喜欢"次数最多的提交.我们希望有三个类别:历史人气,上周和最后一天.

有人知道帮助的方法吗?我不知道如何做到这一点并使其高效.我认为我们可以使用某种类型的cron-job每10分钟运行一次并且在过去的10分钟内吸收喜欢的数量......但是我被告知这样效率很低?

救命?

谢谢!

php sql algorithm popularity

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