问题列表 - 第46840页

在App-Engine中存储元组列表的最佳性能是什么?

存储和检索包含元组列表的数据存储区实体时,存储此列表的最有效方法是什么?

当我遇到这个问题时,元组可以是从键值对到日期时间和样本结果到(x,y)坐标的任何东西.
元组的数量是可变的,范围从1到几百.

包含这些元组的实体需要快速/廉价地引用,并且不需要对元组值进行索引.

我曾经有过几次这个问题,并且已经通过多种方式解决了这个问题.

方法1:

将元组值转换为字符串,并将它们与一些分隔符连接在一起.

def PutEntity(entity, tuples):
  entity.tuples = ['_'.join(tuple) for tuple in tuples]
  entity.put()
Run Code Online (Sandbox Code Playgroud)

优点:在数据存储区查看器中可以轻松读取结果,一次性获取所有内容. 缺点:潜在的精度损失,反序列化/序列化所需的程序员,以字符串格式存储数据所需的更多字节.

方法2:

将每个元组值存储在列表中并压缩/解压缩元组.

def PutEntity(entity, tuples):
  entity.keys = [tuple[0] for tuple in tuples]
  entity.values = [tuple[1] for tuple in tuples]
  entity.put()
Run Code Online (Sandbox Code Playgroud)

优点:不会损失精度,令人困惑但仍然可以在数据存储区查看器中查看数据,能够强制执行类型,一切都可以获取.
缺点:程序员需要压缩/解压缩元组或仔细维护列表中的顺序.

方法3:

在一些庄园json,pickle,协议缓冲区中序列化元组列表,并将其存储在blob或text属性中.

优点:可用于对象和更复杂的对象,错误匹配元组值的风险更小.
缺点: Blob存储访问需要和额外获取?,无法在数据存储查看器中查看数据.

方法4:

将元组存储在另一个实体中并保留密钥列表.

优点:更明显的架构.如果实体是视图,我们不再需要保留元组数据的两个副本.
缺点:两个提取需要一个用于实体和键列表,一个用于元组.

我想知道是否有人知道哪一个表现最好,是否有一种我没有想过的方法?

谢谢,吉姆

python google-app-engine google-cloud-datastore

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

ElasticSearch n-gram tokenfilter没有找到部分单词

我一直在玩ElasticSearch以获得我的新项目.我已将默认分析器设置为使用ngram tokenfilter.这是我的elasticsearch.yml文件:

index:
analysis:
    analyzer:
        default_index:
            tokenizer: standard
            filter: [standard, stop, mynGram]
        default_search:
            tokenizer: standard
            filter: [standard, stop]

    filter:
        mynGram:
            type: nGram
            min_gram: 1
            max_gram: 10
Run Code Online (Sandbox Code Playgroud)

我创建了一个新索引并添加了以下文档:

$ curl -XPUT http://localhost:9200/test/newtype/3 -d '{"text": "one two three four five six"}'
{"ok":true,"_index":"test","_type":"newtype","_id":"3"}
Run Code Online (Sandbox Code Playgroud)

但是,当我使用查询text:hreetext:ive任何其他部分术语进行搜索时,ElasticSearch不会返回此文档.它仅在我搜索确切的术语(如text:two)时返回文档.

我也尝试更改配置文件,以便default_search也使用ngram令牌过滤器,但结果是相同的.我在这里做错了什么,如何纠正?

n-gram elasticsearch

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

如何在c#中安全地从双精度转换为小数

我们使用十进制数据类型将财务数据存储在SQL Server数据库中,我们需要6-8位精度的十进制数.当我们通过数据访问层将这个值返回到我们的C#服务器时,它将作为十进制数据类型返回.

由于一些我无法控制的设计约束,需要对其进行转换.转换为字符串不是问题.转换为double是因为MS文档说"[从十进制转换为双倍]会产生舍入错误,因为双精度浮点数的有效位数小于小数位数."

作为双重(或字符串),我们可以在完成任何计算后舍入到2位小数,那么进行十进制转换的"正确"方法是什么,以确保在舍入之前我们不会丢失任何精度?

c#

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

ASP.NET MVC应用程序设计

好吧,所以我一直在接受各种关于MVC,EF4,存储库模式,UoW,服务层等的重要信息,现在我将尝试将它们整合在一起.

我的问题是,这些如何分开?

我在想这样的项目:

1)应用程序 - MVC应用程序
2)存储库层3)实体 - EF4 /部分实体类

任何建议都会很棒!!

谢谢,山姆

asp.net asp.net-mvc repository-pattern

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

在PHP中排序多个数组

有没有人知道如何在PHP中按键(日期)对此数组进行排序?

Array
(   
    [2011-02-16] => Array
        (
            [date] => 2011-02-16
            [num] => 2
        )

    [2011-02-11] => Array
        (
            [date] => 2011-02-11
            [num] => 0
        )

    [2011-02-17] => Array
        (
            [date] => 2011-02-17
            [num] => 0
        )

    [2011-02-18] => Array
        (
            [date] => 2011-02-18
            [num] => 0
        )

)
Run Code Online (Sandbox Code Playgroud)

php arrays multidimensional-array

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

如何为此编写CUDA全局函数?

我想将以下函数转换为CUDA。

void fun()
{
    for(i = 0; i < terrainGridLength; i++)
    {
       for(j = 0; j < terrainGridWidth; j++) 
       {
             //CODE of function
       }
    }
}
Run Code Online (Sandbox Code Playgroud)

我写了这样的功能:

__global__ void fun()
{
    int i = blockIdx.x * blockDim.x + threadIdx.x;
    int j = blockIdx.y * blockDim.y + threadIdx.y;

    if((i < terrainGridLength)&&(j<terrainGridWidth))
    {
           //CODE of function
    }
}
Run Code Online (Sandbox Code Playgroud)

我将terrainGridLength和terrainGridGridWidth都声明为常量,并为它们都分配了值120。我正在调用像

有趣的<<< 30,500 >>>()

但是我没有得到正确的输出。

我写的代码是正确的吗。我对代码的并行执行了解得不多。请向我解释代码将如何工作,如果我犯了任何错误,请更正我。

cuda

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

需要正则表达式匹配1个或更多正好n位数字

我需要一个正则表达式来匹配一系列由逗号分隔的一个或多个n位数字,即:

abc12345def返回12345
abc12345,23456def返回12345,23456

到目前为止我得到了这个: \d{5}(,\d{5})*

问题是它在以下情况下也匹配:

123456返回12345,但如果数字长于5,我需要它不匹配.所以我需要5个数字的数字,如果数字更短或更长,那就是不匹配

谢谢

regex

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

如果返回0行,MySQL返回结果

我有这个PHP代码:

$query = "SELECT name, COUNT(message) FROM guestbook_message WHERE name='".$req_user_info['username']."' GROUP BY name"; 

$result = mysql_query($query) or die(mysql_error());

while($row = mysql_fetch_array($result))
{
    echo "Messages posted: ". $row['COUNT(message)'] ."";
    echo "<br />";
}
Run Code Online (Sandbox Code Playgroud)

这将显示用户发布的评论数量.

如果该用户没有发布消息,如何使其返回值?目前显示什么都没有.但我希望它显示"消息发布:0"

有任何想法吗?

php mysql

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

将范围传递给回调函数/绑定

我试图将函数范围传递给回调方法.我遇到的问题是我得到了对象范围,它不能让我访问原始函数中的参数和局部变量.除了本地声明的变量和参数之外,我对"this"的理解意味着当前上下文(无论是窗口还是某个对象).[引用Richard Cornford在http://jibbering.com/faq/notes/closures/关于"执行上下文"部分的出色工作].我也理解JavaScript中的变量具有函数作用域(如果它们在函数内声明,则只能从该函数中访问它们).

有了这样的理解,在一个新的环境中,我试图编写一个模式,我为我以前的雇主做了很多,调用异步方法,指定一个回调处理程序并传递我的当前范围,期望它在回调方法中可用.我不认为在我目前的环境中就是这种情况.(披露:我在以前的环境中使用ExtJS ......让我觉得现在我觉得我对框架有点过于惬意,对正在发生的事情作出假设).

我的简单测试代码演示了我正在尝试做什么和什么不起作用.

function myHandler(data, ctx) {
    console.log('myHandler():  bar: ' + bar);  // <- prob: bar undefined 
    console.log(JSON.stringify(data));
}
MySvcWrap = {
    doWork: function(p1, callback, scope) {
        var result = {colors: ['red', 'green'], name:'Jones', what: p1};
        if (callback) {
            callback.call(scope||this,result, scope);
        } 
    }
}
function lookup() {
    var bar = 'food'; // local var
    MySvcWrap.doWork('thang', myHandler, this); // scope object is this
}

lookup();
Run Code Online (Sandbox Code Playgroud)

这里的问题是传递给MySvcWrap.doWork的'this'在这种情况下是Window全局对象.我的目的是将函数的执行上下文传递给myHandler.

我试过了什么 如果,而不是'this',我传递一个对象,这是有效的,例如:

function myHandler(data, ctx) {
    console.log('myHandler(): …
Run Code Online (Sandbox Code Playgroud)

javascript closures scope

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

如何将ASP.NET MVC应用程序发布到免费主机

我正在构建一个ASP.NET MVC应用程序,我正在尝试将它部署在一个支持ASP.NET的免费主机(0000free)上.我尝试了一些东西,但没有一个工作(即我浏览到我的网站时只看到目录结构):

  1. 发布到本地文件夹,然后通过ftp将发布的文件复制到我的主机(在public_html目录中).
  2. 通过ftp发布到根文件夹:ftp.mywebsite.com
  3. 通过ftp发布到public_html文件夹:ftp.mywebsite.com/public_html

通常我只是将html文件放在public_html文件夹中,但我感觉MVC应用程序的部署过程略有不同.我是否必须修改Web.config或其他文件管理器?如何通常部署MVC应用程序(在免费主机上)?

更新:
我了解到主机使用Mono并支持.NET 4.0,但我仍然无法部署.

我有Visual Studio 2010,我使用它的发布功能(即右键单击项目名称并单击发布),我尝试了几件事:

  1. 发布方法:FTP到根文件夹.
  2. 发布方法:FTP到publich_html文件夹.
  3. 发布方法:文件系统到根文件夹.
  4. 发布方法:文件系统到publich_html文件夹.
  5. 发布方法:文件系统到我的计算机上的本地目录,然后FTP到root,并尝试了public_html文件夹.
  6. 我进入cPanel(控制面板)试图看看是否必须为我的网站添加/启用ASP.NET,但我没有看到任何内容.
  7. 我无法浏览到的Index.aspx我也不能重定向到它的index.html(如从其他职位建议主论坛),现在我有一个链接从index.html的到的Index.aspx,但它不工作要么(见http://www.mydevarmy.com)
  8. 我也尝试将Index.aspx重命名为Default.aspx,但这也不起作用.

主机论坛的搜索实用程序有点弱,所以我使用谷歌搜索他们的论坛:http://www.google.com/search? q =publish + asp.net + site%3A0000free.com%2Fforum% 2F&即= UTF-8&OE = UTF-8&A Q = T&RLS = org.mozilla:EN-US:官方与客户端= firefox的-A

我一直在阅读Pro ASP.NET MVC框架,他们有一章关于发布,但它没有提供有关发布位置的任何具体信息,这就是他们所说的(这在我的案例中并不是很有帮助) ):

我应该把我的申请放在哪里?
您可以将应用程序部署到服务器上的任何文件夹.当IIS首次安装时,它会自动为c:\ Inetpub\wwwroot \创建一个名为Default Web Site的网站的文件夹,但您不应该有任何义务将应用程序文件放在那里.将应用程序托管在与操作系统不同的物理驱动器上是很常见的(例如,在e:\ websites\example.com中).这完全取决于您,并且可能会受到诸如您计划如何备份服务器等问题的影响.

这是我在尝试查看Index.aspx页面时遇到的错误:

Unrecognized attribute 'targetFramework'. (/home/devarmy/public_html/Web.config line 1)

Description: HTTP 500. Error processing request.

Stack Trace:

System.Configuration.ConfigurationErrorsException: Unrecognized attribute 'targetFramework'. (/home/devarmy/public_html/Web.config …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc publish publishing

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