小编Pau*_*lan的帖子

如何将复杂的cookie传递给ab进行测试?

我正在ab测试我的应用程序,而且我无法传递正确的cookie.我的cookie数据如下所示:

messages=95925d68c34fcc68b3fcc2e5061a45278c35af41$[[\\\\"__json_message\\\\"\\\\05420\\\\054\\\\"Data\\\\"]]
Run Code Online (Sandbox Code Playgroud)

我无法弄清楚如何将字符串的第二部分ab发送到我的服务器.我正在做类似的事情

ab -C messages='95*snip*5af41$[[\\\\"__json_message\\\\"\\\\05420\\\\054\\\\"Data\\\\"]]' http://example.com:80/
Run Code Online (Sandbox Code Playgroud)

[发送的所有内容都已发送,但此处没有任何内容.我担心的[是对我的shell进行某种控制,但是我不太确定这笔交易是什么.我认为单引号应该允许我在其中添加除了另一个单引号之外的任何内容.

apachebench

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

Python pickle - 它如何打破?

每个人都知道pickle不是一种存储用户数据的安全方式.它甚至在盒子上都这么说.

我正在寻找在当前支持的版本中破坏pickle解析的字符串或数据结构的示例cPython >= 2.4.有没有东西可以腌制而不是捣蛋?特定的unicode字符有问题吗?真的很大的数据结构?显然旧的ASCII协议有一些问题,但最新的二进制形式呢?

我对泡菜loads操作失败的方式特别好奇,特别是当给出由泡菜本身产生的字符串时.是否有任何情况下pickle将继续解析.

有什么样的边缘案例?

编辑:这里有一些我正在寻找的东西的例子:

python serialization escaping pickle

12
推荐指数
2
解决办法
2937
查看次数

Python成像替代品

我有python代码,只需要做一些简单的照片:剪裁,调整大小和覆盖水印.我使用了PIL,重新采样/调整大小的结果是可怕的.我使用了imagemagick,界面和命令的设计是将一只猫打包放在一个盒子里,然后反复将它扔到键盘上的一组楼梯上.

我正在寻找一些不是PIL或Imagemagick的东西,我可以使用它来进行简单,高质量的图像转换.就此而言,如果命令行界面良好,它甚至不必具有python绑定.

哦,它需要与平台无关,我们的生产服务器是linux,但我们的一些开发人员在windows上开发.它也不需要安装一堆愚蠢的gui代码来用作库.

python command-line imaging libraries

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

数据读取器不兼容...成员在数据读取器中没有相应的列

使用VS 2008,SQL Server 2008和WPF 3.5,我对模式进行了一些更改并更新了模型.它编译并运行正常,直到客户端应用程序调用特定实体,我得到以下(实际名称替换):

The data reader is incompatible with the specified '<Model>.<ViewBasedEntity>'. A member of the type, '<Property>', does not have a corresponding column in the data reader with the same name.
Run Code Online (Sandbox Code Playgroud)

我在服务应用程序中搜索了相关的实体和属性名称,尝试在表格地图中重命名属性,似乎是其他一些报告相同的错误,但似乎无法找到及时答案... .

...有没有人知道如何追踪这一点,如果有的话,是否有一个修复或方法可以遵循以避免将来?

wpf entity model sql-server-2008 visual-studio-2008

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

停止模块内的评估

我已经习惯了编写像这样工作的函数:

def f():
  if sunny:
    return
  #do non-sunny stuff
Run Code Online (Sandbox Code Playgroud)

我试图找出在模块中使用的等效语法.我想做这样的事情:

if sunny:
  import tshirt
  #do something here to skip the rest of the file
import raincoat
import umbrella
#continue defining the module for non-sunny conditions
Run Code Online (Sandbox Code Playgroud)

我知道我可以把它写成一个,if/else但是缩进模块的其余部分似乎很愚蠢.

我可以将其余的代码移动到一个单独的模块中并有条件地导入它,但这看起来很痛苦.

python module

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

如何为未来的变化准备一个django项目

当我在我的第一个django支持的网站上工作时,我不断学习新的东西,并在我去的时候对我的应用程序进行各种更改和添加.我尝试遵循DRY和pythonic原则,并且在编码时要聪明,但最终我必须把网站带到现场,并且确定在我做完之后不久,新的和退出的东西将会出现在管道上,我将要实现它.

为未来做准备:

考虑到这一点,做乡亲有关于我如何准备我的代码的任何建议,现在要为未来做好准备,尽可能为这些不可预见的当前/未知升级/添加到我的代码库?

后见之明是20/20:

你希望你在一开始就做了什么,这会让你的网站在你的网站启动和运行时变得更轻松?

我学到的小事(例子):

  • 使用UTC作为默认时区(并使用datetime.datetime.utcnow())
  • 使用South来帮助未来的数据库更改(尚未完成,但看起来很明智)
  • 我的模板中没有硬代码链接(使用get_absolute_url()和反向查找)
  • 创建一个单独的tools应用程序,以包含我可能希望在将来的项目中使用的小型可重用模板标签和实用程序功能(以后不需要将它们分离)

这些是小技巧,有些直接来自django-docs,但我认为它们有所帮助.

你呢?对于为未来做好准备的新应用或项目,您的最佳做法是什么?

python database django

8
推荐指数
3
解决办法
393
查看次数

用于平衡峰值使用的算法?

我有一个环境,通过在夜间凌晨接收和发送数据,为3个时区的许多设备提供服务.基于标识号和使用模运算的简单计算伪随机地确定这些设备的分布.这种计算的结果造成了一个不必要的人为高峰,在夜间的某些时段消耗的资源比我想要的多.

作为我们协议的一部分,我可以指示设备何时在随后的夜晚连接到我们的系统.

我正在寻找一种算法,通常可以将峰值分配到更高级别的线(尽管通常在更多时候更高)或者至少在正确方向上推动 - 这意味着我应该花时间阅读什么类型的术语.我可以使用设备的识别号,当前时间和设备的时区作为执行计算的输入.我还可以执行一些前期分析计算来创建从中抽取插槽的池,虽然我觉得这种方法可能不如我希望的那么优雅(虽然学习算法可能不是一件坏事......).

(最终,有些不太相关,我将使用C#实现此算法.)

c# algorithm

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

数据结构用于存储排序字段以有效地允许修改

我正在使用Django和PostgreSQL,但如果有更好的方法可以使用原始SQL或数据库特定的操作,那么我并不是完全依赖于Django ORM.

我有一个需要顺序排序的模型.查找操作通常会按顺序检索整个列表.对此数据最常见的操作是将一行移动到列表的底部,其中一部分介入项目冒泡以替换上一项,如下所示:

(operation on A, with subset B, C, E)

A -> B
B -> C
C -> E
D -> D
E -> A

Notice how D does not move.

通常,项目的子集不会超过约50个项目,但基本列表可能会增长到数万个条目.

实现此目的最明显的方法是使用简单的整数顺序字段.这似乎不是最理想的.它要求妥协使位置排序列不唯一,其中仅在修改操作的持续时间内需要非唯一性.要想看到这一点,想象使用A和子集B的最小操作:

oldpos = B.pos
B.pos = A.pos
A.pos = oldpos
Run Code Online (Sandbox Code Playgroud)

即使您已存储位置,但在第二行您违反了唯一性约束.此外,此方法使原子性成为问题 - 您的读取操作必须在写入之前发生,在此期间您的记录可能会发生变化.Django的默认事务处理文档没有解决这个问题,尽管我知道在SQL中使用"REPEATABLE READ"级别的事务锁定是可能的.

我正在寻找更适合这种使用模式的备用数据结构.我已经看过这个问题了.

一个提议是Dewey十进制样式解决方案,它使插入操作在现有值之间以数字方式发生,因此在B和C之间插入A会导致:

A=1   ->   B=2
B=2   ->   A=2.5
C=3   ->   C=3

这解决了列唯一性问题,但引入了列必须是指定小数位数的浮点数的问题.要么我高估了,要存储的数据超出了我的需要,要么系统受到我施加的任意小数长度的限制.此外,我不希望使用甚至超过数据库 - 一些密钥将比其他密钥更频繁地移动,使得该解决方案更快地达到极限.我可以通过定期重新编号数据库来解决这个问题,但似乎一个好的数据结构应该避免需要这个.

我考虑过的另一个结构是链表(和变体).这样做的优点是可以直接进行修改,但我不确定它的SQL属性 - 在SQL查询中排序这样的列表似乎很痛苦,并且提取列表的非顺序子集非常糟糕检索属性.

除此之外,还有B树,各种二叉树等等.你对这个数据结构有什么建议?SQL中的此解决方案是否有标准数据结构?使用顺序整数的最初想法是否真的会出现扩展问题,或者我发现哪些问题没有?

python database sorting django data-structures

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

ApacheBench的替代方案,用于分析我的代码速度

我已经做了一些使用Apache Bench来分析我的代码响应时间的实验,但它并没有为我生成正确的数据类型.我希望这里的好人有想法.

具体来说,我需要一个工具

  • 是否通过网络请求HTTP(它不需要做任何非常花哨的事情)
  • 尽可能准确地记录响应时间(至少几毫秒)
  • 将响应时间数据写入文件而不进行进一步处理(或将其提供给我的代码,如果是库)

我知道ab -e,它将数据打印到文件.问题是这只打印了分位数据,这很有用,但不是我需要的.该ab -g选项可以工作,除了它不打印亚秒数据,这意味着我没有我需要的分辨率.

我写了几行Python来做,但是httplib非常低效,结果没用.一般来说,我需要比纯Python更精确的精度.如果有人对Python可以使用的库有建议,我会全力以赴.

我需要一些高性能,可重复且可靠的东西.

我知道,我的一半回答将是"互联网延迟使得那种详细的测量毫无意义".在我的特定用例中,这不是真的.我需要高分辨率时序细节.实际使用我的HPET硬件的东西会很棒.

由于答案和观点数量较少,因此在这里投入了赏金.

python benchmarking profiling latency apachebench

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

命令行arg通过内省解析

我正在开发一个管理脚本,通过大量的命令行选项完成相当多的工作.脚本的前几次迭代使用optparse来收集用户输入,然后向下运行页面,以适当的顺序测试每个选项的值,并在必要时执行操作.这导致了一个非常难以阅读和维护的密码丛林.

我正在寻找更好的东西.

我希望有一个系统,我可以用或多或少的正常python方式编写函数,然后在运行脚本时,从我的函数生成选项(和帮助文本),解析并以适当的顺序执行.另外,我真的很想能够构建django风格的子命令接口,它们myscript.py install完全独立于myscript.py remove(单独的选项,帮助等).

我找到了simon willison的optfunc并且它做了很多这个,但似乎只是错过了标记 - 我想把每个OPTION写成一个函数,而不是试图将整个选项集压缩成一大串选项.

我想象一个架构涉及一组主要功能的类,以及每个与命令行中特定选项对应的类的定义方法.这种结构的优点是每个选项都位于它修改的功能代码附近,从而简化了维护.我不知道如何处理的事情是命令的排序,因为类方法的排序不是确定性的.

在我重新发明轮子之前:还有其他现有的代码行为类似吗?其他容易修改的东西?问这个问题已经澄清了我自己对什么是好的想法,但是反馈为什么这是一个可怕的想法,或者它应该如何工作将是受欢迎的.

python command-line parsing

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