小编Ser*_*sev的帖子

如何将多个值添加到同一个键

如何在同一个键中添加多个值?像这样的东西:

x = {}
x["k1"] =  nil
x["k1"] << {"a" => "a"}
x["k1"] << {"b" => "b"}
Run Code Online (Sandbox Code Playgroud)

好吧,这不像数组一样工作.

ruby

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

SQL:加入vs非规范化(大量数据)

我知道,之前已经问过这个问题的变化.但我的情况可能有点不同:-)

所以,我正在建立一个跟踪事件的网站.每个事件都有id和value.它也由用户执行,具有id,年龄,性别,城市,国家和等级.(这些属性都是整数,如果重要的话)

我需要能够快速获得两个查询的答案:

  • 获取具有特定配置文件的用户的事件数量(例如,来自俄罗斯莫斯科的年龄为18-25岁的男性)
  • 获得具有特定配置文件的用户的事件值(也可能是平均值) -

此外,数据由多个客户生成,而这些客户又可以拥有多个source_id.

访问模式:数据将主要由收集器进程写入,但是当查询(很少,通过web ui)时,它必须快速响应.

我期待很多数据,当然不止一个表或单个服务器可以处理.

我正在考虑每天将事件分组到不同的表中(即'events_20111011').此外,我想为表名添加客户ID和源ID前缀,以便数据被隔离并且可以轻易地丢弃(清除旧数据)并相对容易地移动(将负载分配给其他机器).这样,每个这样的表将具有有限的行数,比如10M tops.

所以,问题是:如何处理用户的属性?

选项1,规范化:将它们存储在单独的表中并从事件表中引用.

  • (亲)不重复数据.
  • (con)加入,这是昂贵的(或者我听说过).
  • (con)这要求用户表和事件表位于同一服务器上

选项2,冗余:将用户属性存储在事件表中并对其进行索引.

  • (亲)更轻松的负载平衡(可以移动自包含的表)
  • (亲)更简单(更快?)的查询
  • (con)用于重复用户属性和相应索引的大量磁盘空间和内存

sql join bigdata

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

取代任何字母/数字

有没有办法上标任何数字?在我的应用程序中,我需要标注从0到24的数字.
我知道,\u2070例如我可以显示上标0,但在Unicode中,并不是我需要的所有数字.
我只想将NSString设置为带有指数的数字,如10 ^ 24.有没有办法做到这一点?

iphone unicode xcode objective-c superscript

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

无法在mongodb中保存PHP对象

保存对象时,不允许"零长度键"出现致命错误.

是否由于__construct()的存在?

我相信在save()方法中允许使用PHP对象.

class Address{
    private $name;
    private $company;
    private $zip;

    public function __construct($name,$company,$zip){
        $this->name = $name;
        $this->company = $company;
        $this->zip = $zip;
    }
}

$newAddress = new Address("james","google",678);

print_r($newAddress);
// Address Object ( [name:Address:private] => james [company:Address:private] =>
// google [zip:Address:private] => 678 )

$addresses->save($newAddress);    
Run Code Online (Sandbox Code Playgroud)

致命错误:不允许使用带有"零长度密钥"消息的未捕获异常"MongoException",您是否使用带双引号的$?在/var/www/html/index.php:105堆栈跟踪:#0 /var/www/html/index.php(105):MongoCollection-> save(对象(地址))#1 {main}抛出/第105行的var/www/html/index.php

mongodb mongodb-php

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

使用Ruby将SQL结果转换为带有ID键的哈希

我有以下数组(SQL结果):

[
  {:id => 1, :field1 => "one", :field2 => "two"},
  {:id => 2, :field1 => "one", :field2 => "two"},
  ...
]
Run Code Online (Sandbox Code Playgroud)

我想要的是:

{
  1 => {:field1 => "one", :field2 => "two"},
  2 => {:field1 => "one", :field2 => "two"},
  ...
}
Run Code Online (Sandbox Code Playgroud)

现在我喜欢以下内容:

data = {}
result.each do |row|
  data[row[:id]] = {:field1 => row[:field1], :field2 => row[:field2]}
end
Run Code Online (Sandbox Code Playgroud)

我绝对相信这是错误的方式.使用Ruby的最佳方法是什么?是否有任何地图或其他类型的片段?

ruby

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

我可以使用RSpec测试已部署的站点吗?

我应该首先说,我不是很精通测试我的代码,直到最近我才完全没有这样做.

所以我有这个rails应用程序.它基本上是一个API端点.它需要请求并吐出JSON.有很好的(我希望)测试覆盖率应该测试大多数功能.

现在我们正在部署一个staging env,并希望让负载测试人员(独立部门)与之"玩".我想确定我们是否正确部署了它.

我是否可以针对此暂存部署运行RSpec的请求规范?人们会做这种测试吗?什么是最佳做法?我该怎么读?

testing rspec ruby-on-rails

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

如何看待MongoDB有更多记录

我的Mongo DB中有一个名为logins的集合.我希望看到该集合中存在的所有行,但在显示20条记录后,其显示的内容更多.

请让我知道,我怎么能看到剩下的记录?

db.logins.find()
{ "_id" : ObjectId("4d779d36f282963924633b01"), "env_name" : "qa", "cust_id" : "kiran", "epoch" : "1299684662765", "created_at" : "2011-03-09 10:31:02.765" }
{ "_id" : ObjectId("4d779db7f282963925633b01"), "env_name" : "qa", "cust_id" : "pavan", "epoch" : "1299684791157", "created_at" : "2011-03-09 10:33:11.157" }
{ "_id" : ObjectId("4d779dcff282963926633b01"), "env_name" : "qa", "cust_id" : "hhhiuy", "epoch" : "1299684815595", "created_at" : "2011-03-09 10:33:35.595" }
{ "_id" : ObjectId("4d779e26f282963927633b01"), "env_name" : "qa", "cust_id" : "testaccount", "epoch" : "1299684902416", "created_at" : "2011-03-09 10:35:02.416" }

------
------
------
has …
Run Code Online (Sandbox Code Playgroud)

mongodb

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

REST - 如果只有一个结果,我可以将它作为一个对象或一个元素的数组来提供吗?

假设我有这个网址

/thingies/active/

我可以拥有0,1或超过1个活跃的东西.如果我只返回1,我会将其作为返回

{foo: "bar", baz: "quux"} 
Run Code Online (Sandbox Code Playgroud)

要么

[{foo: "bar", baz: "quux"}]
Run Code Online (Sandbox Code Playgroud)

你们是怎么处理这个的?

ruby rest json http

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

为什么我们需要java中提供方法签名的接口

关于接口,我对java很困惑:以下是我的接口:

interface shape
 {
     public   String baseclass="shape";

     public void Draw();     

 }
Run Code Online (Sandbox Code Playgroud)

同样我可以有任意数量的接口,另一个类可以实现任何数量的接口,但实现类必须实现接口提供的所有方法.

我能看到的唯一优势是拥有一些共同的属性并在课堂上分享它们.

类不是实现接口,而是可以声明方法并使用它,这也可以正常工作.

那么为什么我们需要java中的接口?即使是多重继承,接口也没有实现,只有方法签名.

我真的很困惑这些,当然还有着名的抽象类.

谢谢.

java abstract-class interface

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

如何摆脱'new'来实例化Ruby对象?

出于美观的原因,我想从我的一些类中提供对象实例化的语法,而不是关键字"new".我从来没有尝试过,但我知道这是可能的:例如Matrix gem提供了如下语法:

Matrix [ [1,2], [3,4] ] 
Run Code Online (Sandbox Code Playgroud)

我怎么能这样做?

ruby

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