小编Cri*_*lho的帖子

TCP和UDP相同的端口,不同的进程

我知道你不能使用相同的端口有两个不同的进程,但是如果一个使用tcp而另一个使用udp会发生什么?你有两个不同的进程,每个进程绑定一个套接字到同一个端口但不同的协议?

sockets port udp tcp

18
推荐指数
2
解决办法
8466
查看次数

Python list()vs list comprehension构建速度

这是有趣的; list()强制迭代器获取实际列表比[x for x in someList](理解)快得多.

这是真的还是我的测试太简单了?以下是代码:

import time    

timer = time.clock()
for i in xrange(90):

    #localList = [x for x in xrange(1000000)]   #Very slow, took me 6.8s
    localList = list(xrange(1000000))           #Very fast, took me 0.9s

    print localList[999999] #make sure list is really evaluated.

print "Total time: ", time.clock() - timer
Run Code Online (Sandbox Code Playgroud)

python performance list-comprehension list python-2.x

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

django管理员错误地将订单添加到查询中

I have noticed thanks to django debug toolbar, that every django admin list page, always add an "ORDER BY id DESC" to all my queries, EVEN if I manually override the get_queryset method of the admin.ModelAdmin (which I usually do because I want custom sorting on some of my admin pages)

I guess this is not really something to worry about, but it is an additional sorting operation the database will need to do, even if it doesn't make sense …

python mysql django django-admin

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

Postgres word_similarity 不比较单词

"返回一个数字,表示第一个字符串与第二个字符串中最相似的单词的相似程度。该函数在第二个字符串中搜索最相似的单词而不是最相似的子字符串。结果的范围为零(表示两个字符串完全不同)到一个(表示第一个字符串与第二个字符串的一个单词相同)。”

这就是 word_similarity(a,b) 的定义,据我了解,它会在文本 b 中查找 WORD a,将 b 按单词拆分并获得最高匹配单词的分数。

但是,我看到了一些不一致的地方,单词匹配不是真的按单词匹配,看起来所有的三元组都被打乱并进行了比较?

例子:

select word_similarity('sage', 'message sag')
Run Code Online (Sandbox Code Playgroud)

返回 1,显然 'message' 或 'sag' 都不应该与 'sage' 匹配,但是如果我们组合来自 'message sag' 的可能的三元组,我们会发现来自 'sage' 的所有三元组都匹配,但事实并非如此真的应该发生什么,因为函数描述一个字一个字地谈论......是因为两个词彼此相邻吗?

以下将返回 0.6 分:

select word_similarity('sage', 'message test sag') 
Run Code Online (Sandbox Code Playgroud)

编辑:小提琴玩http://sqlfiddle.com/#!17/b4bab/1

postgresql words similarity trigram

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

处理实体框架中的异常4

我需要一种方法来区分使用实体框架LINQ的SQL异常,例如,当我从DbUpdateException获得的是大量嵌套的内部异常和无用的长错误消息时,如何区分出现外键约束违规或唯一约束违规?是否存在任何较低级别的异常,我可以执行类似"Catch FKException"的操作; 捕获"uniqueException"或类似的东西.

c# sql entity-framework

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

Postgresql索引seq扫描1亿行

我遇到的问题是,索引的查询拒绝使用索引,因为它没有足够的选择性(假设有1.3亿行中的60个符合条件),因此决定使用seqscan.

我面临的问题是seqscan在这种情况下真的不是最好的选择,由于某些原因它获得了非常好的分数,但事实是seqscan只有在之前被查询并且它可以加载所有内容时才能快速运行来自缓冲区/缓存.

与seqscan相比,索引扫描可能稍微慢一点,如果它们的两个都在缓冲区上,但这很少发生,当两个查询都很冷时,索引扫描仍然更快(ms vs秒).

请注意,索引扫描是优越的,因为我正在使用限制子句,因此它应该能够非常快速地获取这几行.

我已将统计值设置为1000(默认值为100)并且为了以防真空吸尘,但是相同的故事.

TLDR:Seq扫描与低选择性索引上的索引扫描,seqscan是首选,但规划者是错误的,seqscan只有在缓存时才会更好,否则会更糟.

查询和计划,请注意索引一是从缓冲区加载而seqscan不完全.

explain (analyze, buffers)
select *
from identities_identity
where email_domain = 'live.com'
limit 100


'Limit  (cost=0.00..63.50 rows=100 width=573) (actual time=75215.573..75215.640 rows=100 loops=1)'
'  Buffers: shared hit=75113 read=588870'
'  ->  Seq Scan on identities_identity  (cost=0.00..2980008.00 rows=4692733 width=573) (actual time=75215.571..75215.604 rows=100 loops=1)'
'        Filter: ((email_domain)::text = 'live.com'::text)'
'        Rows Removed by Filter: 54464136'
'        Buffers: shared hit=75113 read=588870'
'Planning time: 0.097 ms'
'Execution time: 75215.675 ms'


'Limit  (cost=0.57..187.26 rows=100 width=573) (actual time=0.027..0.090 rows=100 loops=1)'
' …
Run Code Online (Sandbox Code Playgroud)

postgresql indexing performance seq sql-execution-plan

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

Asp mvc 4会员和WebSecurity

我需要一个关于该怎么做的建议.我目前正在使用WebSecurity方法来完成所有与帐户相关的工作.但它不支持电子邮件唯一性验证,所以我有几个选择:

  1. 编写(子类)新的SimpleMembershipProvider,覆盖现有的createuserAndAccount方法以验证电子邮件地址.但我还必须实现登录注销功能(就像websecurity一样)和其他一些功能.

  2. 在数据库上添加唯一性约束并在我的代码上捕获它们.但是这会导致我依赖于数据库.

  3. 这可能有点便宜,但我可以将WebSecurity源代码(自打开以来)复制/粘贴到新类上,并修改createUserAndAccount方法.

还有其他选择吗?我目前的目标是选择3,这将是最快的方式.另外,关于未来我也将要求角色,我不确定WebSecurity是否为它们提供支持.

asp.net-mvc asp.net-membership asp.net-mvc-4 simplemembership

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

django 发出批量删除/更新信号

我找不到任何关于为什么会发生这种情况的文档,但根据文档,批量操作不应触发模型信号。

现在的问题是,如果我执行 somequeryset.delete(),每个删除的对象都会触发一个信号,即使它是批量操作!另一方面, somequeryset.update(someField=5) 不会触发任何信号!

所以这几乎是一个意想不到的结果,我希望两者表现相同。

姜戈 1.7.7

有任何想法吗?我希望删除时有信号,但在批量删除时触发它是不可接受的

django signals

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

React Native 360​​/全景查看器

我相信有很多与此相关的问题,但它们都已经过时了。

我正在寻找一种在 React Native 中渲染全景/360 图片查看器的方法。到目前为止,所有尝试使用 Google VR SDK 的库都已经过时或损坏,根本无法使用。

我也尝试过使用 WebView(使用 React-360),但 Web 视图太慢了,RAM 使用量加倍,最糟糕的是,不能用于渲染设备上存储的 360 图片。

我想另一个选择是获取一个 OpenGL 库并尝试自己实现它,但如果已经有一些东西的话,这可能需要大量工作。

opengl panoramas react-native google-vr

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

Django/apache 处理不完整/取消的 http 请求

当 django 使用 mod_wsgi 部署在 apache 上时。它似乎以一种非常奇怪的方式处理不完整或取消的请求。

如果客户端取消了请求,被取消的请求在django上并没有被取消,比如你上传一个大文件,显然请求的body会被实际流式传输,所以django在读取body的时候,客户端取消请求,它仍然被处理(只是不完整)并且从不注意到实际的请求取消操作。

这是来自 apache 的一个日志示例,当请求被取消时。[Fri May 01 22:05:51.055968 2015] [:error] [pid 31609] (70008) 部分结果有效但处理不完整:[client 172.31.43.91:3645] mod_wsgi (pid=31609):无法获取存储桶旅请求。

然后在 django 代码上,实际的 POST 字典永远不会构建(因为请求不完整,但它到达 django 并被处理,好像它有数据一样),因此 django 在尝试获取数据时将失败(并返回丢失的 XX字段错误,或者逻辑如何处理它们)

最后,当 django 尝试写回响应时,它显然会失败,并且客户端已经关闭了连接。

这种情况经常发生在用作移动应用程序的 REST 服务端点的请求上。移动应用程序上传大文件,因此在应用程序挂起/关闭时取消请求,但服务器似乎总是收到部分请求。

发生这种情况时的完整日志如下所示:

[Fri May 01 22:05:51.055968 2015] [:error] [pid 31609] (70008) 部分结果有效但处理不完整:[client 172.31.43.91:3645] mod_wsgi (pid=31609):无法获取存储桶旅请求。

[Fri May 01 22:05:51.062690 2015] [:error] [pid 10580] 一些与此处丢失数据相关的错误消息

[Fri May 01 22:05:51.068790 2015] [:error] [pid 10580] [remote 172.31.43.91:0] mod_wsgi (pid=10580):处理 WSGI 脚本“some-path/wsgi.py”时发生异常

[Fri May 01 22:05:51.068827 …

python apache django http

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