小编Adi*_*ngh的帖子

来自Mongo的随机抽样

我有一个带文件的mongo集合.每个文档中都有一个字段为0或1.我需要从数据库中随机抽取1000条记录,并将具有该字段的文档数量计为1.我需要对此进行1000次抽样.我该怎么做 ?

database sampling mongodb

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

协议缓冲区python - unicode解码错误

我需要在我的 python - Tornado 服务器上接收协议缓冲区消息,并从二进制消息中获取内容。

postContent = self.request.body
message = prototemp.ReqMessage()
message.ParseFromString(postContent)
Run Code Online (Sandbox Code Playgroud)

它使用测试工具完美运行。当我在沙盒环境中运行它并模拟来自我的客户端的 1000 个请求时,它在某些情况下可以工作,但在大多数请求中,它会引发异常 -

  File "server1.py", line 21, in post
    message.ParseFromString(postContent)
  File "/usr/lib/python2.6/site-packages/protobuf-2.4.1-py2.6.egg/google/protobuf/message.py", line 179, in ParseFromString
    self.MergeFromString(serialized)
  File "/usr/lib/python2.6/site-packages/protobuf-2.4.1-py2.6.egg/google/protobuf/internal/python_message.py", line 755, in MergeFromString
    if self._InternalParse(serialized, 0, length) != length:
  File "/usr/lib/python2.6/site-packages/protobuf-2.4.1-py2.6.egg/google/protobuf/internal/python_message.py", line 782, in InternalParse
    pos = field_decoder(buffer, new_pos, end, self, field_dict)
  File "/usr/lib/python2.6/site-packages/protobuf-2.4.1-py2.6.egg/google/protobuf/internal/decoder.py", line 544, in DecodeField
    if value._InternalParse(buffer, pos, new_pos) != new_pos:
  File "/usr/lib/python2.6/site-packages/protobuf-2.4.1-py2.6.egg/google/protobuf/internal/python_message.py", line 782, in InternalParse
    pos = field_decoder(buffer, new_pos, end, self, field_dict) …
Run Code Online (Sandbox Code Playgroud)

python unicode utf-8 protocol-buffers

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

使用带有java和scala的protobufs的问题

我有一个文件xxx.proto.我下载了protobuf编译器并安装了它.然后我发出了这个命令

protoc --java_out=./ xxx.proto
Run Code Online (Sandbox Code Playgroud)

它生成了我的xxx.java

现在我想将这个文件编译成一个可以与Scala一起使用的类文件.

javac xxx.java
Run Code Online (Sandbox Code Playgroud)

这给了我这个错误

xxx.java:7: package com.google.protobuf does not exist
      com.google.protobuf.ExtensionRegistry registry) {
                         ^
xxx.java:12450: package com.google.protobuf.Descriptors does not exist
  private static com.google.protobuf.Descriptors.Descriptor
                                                ^
xxx.java:12453: package com.google.protobuf.GeneratedMessage does not exist
    com.google.protobuf.GeneratedMessage.FieldAccessorTable

...
...
...

100 errors
Run Code Online (Sandbox Code Playgroud)

现在我猜,它没有包.

因此,我将com.google.protobuf包的类文件复制到xxx.java所在的同一文件夹中.注意 - 我没有编译这个包.我从另一个包含jar文件的扩展中下载了jar.所以我提取了它们.现在我在xxx.java所在的当前路径有protobuf库的com/google/protobuf/*.class.

我再次发出了javac命令.

这次我得到了一组不同的错误 -

    xxx.java:10: cannot find symbol
    symbol  : class MessageOrBuilder
    location: package com.google.protobuf
          extends com.google.protobuf.MessageOrBuilder {
                                     ^
    xxx.java:215: cannot find symbol
    symbol  : class MessageOrBuilder
    location: package com.google.protobuf
            extends com.google.protobuf.MessageOrBuilder {
                                       ^ …
Run Code Online (Sandbox Code Playgroud)

java scala protocol-buffers

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

Python ThreadingMixin 和 BaseHTTPServer

我正在尝试评估各种语言来构建小型高吞吐量应用程序服务器。它需要做一些小事情,比如获取请求、从运行缓存应用程序(memcached、redis)的单独服务器读取数据,以及发回 5 - 10 行 XML 或 JSON。生产吞吐量非常高,至少每秒 1000 个。我在 Nginx 上有这个 - PHP 和 memcached 需要 5+ 毫秒才能发回所有所需的数据,因此存在一些网络 IO 阻塞。

我正在查看 Python 的 BaseHTTPServer 类。我不是Python专家,但我需要知道它在幕后是如何工作的。如果您阅读此页 -

http://docs.python.org/library/socketserver.html

它说“要构建异步处理程序,请使用 ThreadingMixIn 和 ForkingMixIn 类。”

它真的是异步的还是每个客户端启动一个线程。如果每个客户端模型在一个线程上 - 这些是操作系统级别的线程吗?如果我坚持每个客户端模型一个线程,如果我给它高 RAM、8 核亚马逊实例,Python 的 GC 清除东西的速度是否足够快。

python webserver multithreading web-services threadpool

3
推荐指数
1
解决办法
8359
查看次数

固定比例选择

我有一组元素,我需要从中选择任何一个元素.每个元素都与百分比机会相关联.百分比增加到100.

我需要从这些元素中选择一个,以便选择元素的机会等于百分比值.因此,如果一个元素有25%的几率,它应该有25%的机会被选中.换句话说,如果我们选择1 mil的元素,那么该元素应该选择接近250k次.

php algorithm math probability

3
推荐指数
1
解决办法
127
查看次数

使用Curl和PHP将多部分PUT上载到REST端点

我需要HTTP使用PHP和Curl的多部分POST将一个csv文件和一些POST字段发送到REST API端点.

文件上载的内容存储在变量$ list中.另一个终点是$ url.

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_PUT, true);
$post = array(
    //Other Post fields array
);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);

$fh = fopen('php://memory', 'rw');
fwrite($fh, $list);
rewind($fh);
curl_setopt($ch, CURLOPT_INFILE, $fh);  
curl_setopt($ch, CURLOPT_INFILESIZE, strlen($list));  
$response = curl_exec($ch);
Run Code Online (Sandbox Code Playgroud)

上面的代码似乎工作唯一的问题是另一个端点需要一个特定的字段名来进行文件上传.我如何设置文件名?

难道我做错了什么 ?

这是他们在API上提到的PUT格式

Content-Disposition: form-data; name="list[csv]"; filename="RackMultipart20110923-63966-hfpyg"
Content-Length: 33
Content-Type: text/csv
Content-Transfer-Encoding: binary

xxxx
yyyy
zzzz
-------------MultipartPost
Content-Disposition: form-data; name="list[list_type]"

Blacklist
-------------MultipartPost--
Run Code Online (Sandbox Code Playgroud)

php rest curl http

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

在python中组合

我有四个值

age = 23
gender = "M"
city ="Delhi"
religion = "Muslim"
Run Code Online (Sandbox Code Playgroud)

我需要通过每个组合排列这些空值,如 -

23 * * *
23 M * *
23 M Delhi *
23 M Delhi Muslim
* M * *
* M Delhi *
* M Delhi Muslim
* * Delhi *
* * Delhi Muslim
* * * Muslim
* * * *
Run Code Online (Sandbox Code Playgroud)

我需要在列表中按升序排列维数.因此,具有一个值的组合应该位于顶部.我有30多个属性,所以我需要一种自动化的方法在Python中执行此操作

有任何想法吗 ?

python sorting algorithm combinations combinatorics

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

Python相当于php包

我在下面的php中将此语句转换hexbinary.

$m=pack("H*" , "A88BE9L98990........");
Run Code Online (Sandbox Code Playgroud)

我需要在另一个python程序中做同样的事情吗?

有任何想法吗 ?

干杯,

php python binary hex

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

使用SHA1加密

我正在开发一个大型应用程序,当数据在不同大洲的两台机器之间传输时,我需要加密.我从未从事过加密工作.我想要一个简单的加密,可以在PHP/Ruby/Python中处理,没有任何依赖.

所以我决定使用HMAC SHA1.

$pad=hash_hmac("sha1","The quick brown....","mykey");
Run Code Online (Sandbox Code Playgroud)

这是我在互联网上进行一些研究后发现的.

如果有人不知道密钥,解密它有多难?还有,替代方案吗?

更新 - 感谢所有回复.问题解决了.

encryption sha1 hmacsha1

0
推荐指数
1
解决办法
2989
查看次数