小编ibz*_*ibz的帖子

协议缓冲区中的字典

有没有办法使用协议缓冲区序列化字典,或者如果我需要,我将不得不使用Thrift?

serialization thrift protocol-buffers

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

用Emacs调试Django

我发现了很多关于如何使用Emacs调试简单Python程序的信息.但是,如果我想调试Django应用程序怎么办?我运行开发服务器,我想以某种方式从Emacs附加到进程,然后设置断点等.类似于Visual Studio的"附加到进程".怎么做?

python django debugging emacs

21
推荐指数
2
解决办法
5250
查看次数

Django用户模拟管理员

我有一个Django应用程序.以管理员用户身份登录时,我希望能够在URL中传递一个秘密参数,并使整个站点的行为就像我是另一个用户一样.

假设我有一个/my-profile/显示当前登录用户个人资料的URL .我希望能够做类似的事情/my-profile/?__user_id=123并让底层视图相信我实际上是ID为123的用户(从而呈现用户的个人资料).

我为什么要这样?

仅仅因为重现某些只出现在单个用户帐户中的错误要容易得多.

我的问题:

  1. 实现这样的最简单的方法是什么?

  2. 这样做时我是否应该考虑安全问题?请注意,我(显然)只想为管理员用户提供此功能,而且我们的管理员用户无论如何都可以完全访问源代码,数据库等,所以它不是真正的"后门"; 它只是让访问用户的帐户更容易.

python django impersonation

20
推荐指数
3
解决办法
6993
查看次数

使用MongoDB的map/reduce来"分组"两个字段

我需要比MongoDB文档中的示例稍微复杂的东西,我似乎无法绕过它.

假设我有一个表单对象的集合 {date: "2010-10-10", type: "EVENT_TYPE_1", user_id: 123, ...}

现在我希望获得类似于SQL GROUP BY查询的内容,对日期和类型进行分组.也就是说,我想要每天每种类型的事件数量.另外,我想通过user_id使它成为唯一的,即.如果用户在同一天有更多事件,则只计算一次.

我正在尝试使用map/reduce.

我做

db.logs.mapReduce( 
    function() { 
        emit(this.type, 1); 
    }, 
    function(k, vals) { 
        var total = 0; 
        for (var i = 0; i < vals.length; i++) 
            total += vals[i]; 
        return total; 
    }
)
Run Code Online (Sandbox Code Playgroud)

哪个很好地按类型分组,但现在,我如何同时按日期分组?似乎emit()中的键不能是一个数组(我想过这样做emit([this.date, this.type], 1)).另外,如何确保每用户的唯一性?

我刚刚开始使用MongoDB,我仍然无法掌握基本概念.此外,没有太多可用的文档.感谢更有经验的用户提供的任何帮助.谢谢!

mapreduce mongodb

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

GPS坐标的国家名称

是否有一种简单的方法可以获得特定点所在国家/地区的名称?

我不太关心准确性,也不关心政治争议带来的模棱两可.只需要一个足够好的近似值.

gis geolocation reverse-geocoding

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

MongoDB映射/减少多个集合?

一,背景.我曾经有一个集合,logs并使用map/reduce来生成各种报告.这些报告中的大多数是基于一天内的数据,所以我总是有一个条件d: SOME_DATE.当logs集合变得非常大时,插入变得极其缓慢(比我们监视的应用程序生成日志的速度慢),即使在丢弃大量索引之后也是如此.所以我们决定将每一天的数据放在一个单独的集合中 - logs_YYYY-mm-dd这样索引就更小了,我们甚至不需要索引日期.这很酷,因为大多数报告(因此map/reduce)都是每日数据.但是,我们有一份报告,我们需要覆盖多天.

而现在的问题.有没有办法在多个集合上运行map/reduce(或更确切地说,地图),就好像它只是一个?

mapreduce mongodb

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

什么是"压缩JSON"?

当涉及到不同的序列化格式时,我看到很多对"压缩JSON"的引用.究竟是什么?它只是gzip压缩JSON还是其他什么?

serialization json

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

PostgreSQL在一个包含数组和大量更新的大型表上变慢

我有一个非常大的表(20M记录),它有一个3列索引和一个数组列.数组列每天更新(通过附加新值)所有行.还有插入,但没有更新.

数组中的数据表示对应于三个键的每日测量值,如下所示:[[date_id_1, my_value_for_date_1], [date_id_2, my_value_for_date_2]].它用于绘制这些每日值的图表.假设我希望随着时间的推移可视化键(a,b,c)的值,我这样做SELECT values FROM t WHERE a = my_a AND b = my_b AND c = my_c.然后我使用values数组绘制图形.

更新的性能(每天大量发生一次)随着时间的推移而显着恶化.

使用PostgreSQL 8.3.8.

你能给我一些关于在哪里寻找解决方案的提示吗?它可能是从postgres调整一些参数到甚至移动到另一个数据库(我猜一个非关系数据库更适合这个特定的表,但我没有太多的经验).

postgresql optimization performance

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

索引扫描向后与索引扫描

在对具有非常高的I/O等待的服务器进行故障排除时,我注意到有很多I/O来自查询SELECT max(x) FROM t WHERE y = ?.

我的索引是btree (x, y).

我注意到查询计划执行Index Scan Backward以获得最大值.那不好吗?我应该担心这个并且可能添加另一个索引(反向)吗?或者有更好的方法来创建适合此类查询的索引吗?

postgresql query-optimization

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

奇怪的.astimezone行为

我正在做一些时区转换,我得到了非常奇怪的结果.基本上只在整个小时不同的时区之间进行转换,我仍然得到非完整的结果.例如:

from datetime import datetime
from pytz import timezone

datetime(2013, 12, 27, 20, 0, 0, tzinfo=timezone('Europe/Bucharest'))\
    .astimezone(timezone('Europe/Berlin')).replace(tzinfo=None)
Run Code Online (Sandbox Code Playgroud)

给我

datetime.datetime(2013, 12, 27, 19, 16)
Run Code Online (Sandbox Code Playgroud)

(布加勒斯特和柏林之间的时差是1小时,所以我应该得到19:00 - 而不是19:16)

我可能错过了一些非常明显的东西,但我无法弄清楚.我究竟做错了什么?

python pytz

9
推荐指数
2
解决办法
1029
查看次数