问题列表 - 第29795页

如何在Python中解码Google App Engine实体密钥路径str?

在Google App Engine中,实体具有密钥.可以从路径创建密钥,在这种情况下,str(密钥)是不透明的十六进制字符串.例:

from google.appengine.ext import db
foo = db.Key.from_path(u'foo', u'bar', _app=u'baz')
print foo
Run Code Online (Sandbox Code Playgroud)

agNiYXpyDAsSA2ZvbyIDYmFyDA
Run Code Online (Sandbox Code Playgroud)

如果您设置正确的路径来运行代码.

那么,如何才能获取十六进制字符串并获取路径?我认为答案将在Key实体组文档中,但我看不到它.

python google-app-engine

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

不清楚`删除'和指针

假设我们有一段代码:

//...
class A
//...
A* myA = new A();
A* myPointerToMyA = myA;
delete myA;
delete myPointerToMyA; // this is wrong, no?
//...
Run Code Online (Sandbox Code Playgroud)

最后一行与上面一行完全相同,对吗?所以我现在将是delete一个无效的/ NULL指针?

我知道这可能是一个愚蠢的问题,但我仍需要一些保证.

c++ pointers delete-operator

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

是否可以使用CTE将列值连接成字符串?

说我有下表:

id|myId|Name
-------------
1 | 3  |Bob 
2 | 3  |Chet
3 | 3  |Dave
4 | 4  |Jim
5 | 4  |Jose
-------------
Run Code Online (Sandbox Code Playgroud)

是否可以使用递归CTE生成以下输出:

3 | Bob, Chet, Date
4 | Jim, Jose
Run Code Online (Sandbox Code Playgroud)

我已经玩过一些但却无法让它发挥作用.我会用更好的技术做得更好吗?

sql sql-server common-table-expression sql-server-2008

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

signature.verify()始终返回False

 public static void main(String[] args) {
    try{
        String mod = "q0AwozeUj0VVkoksDQSCTj3QEgODomq4sAr02xMyIrWldZrNHhWfZAIcWt2MuAY3X6S3ZVUfOFXOrVbltRrO3F9Z6R8/jJIMv7wjkeVBFC5gncwGR0C3aV9gmF6II19jTKfF1sxb26iMEMAlMEOSnAAceNaJH91zBoaW7ZIh+qk=";
        String exp = "AQAB";
        byte[] modulusBytes = Base64.decodeBase64(mod.getBytes("UTF-8"));
        byte[] exponentBytes = Base64.decodeBase64(exp.getBytes("UTF-8"));
        String signedMessage = "3753e672cfb21e3c182ef2df51f19edeffb63432ed338a47251326ccc14aa63883e910a140cf313754ebc6425aad434e309307cc882da6cd4a4f9f40bd14a9823aca145e5ffc97cd63dbb5925c049282416bdfd7d74ddeef7055065210a841793fe315dff5a44af19c1522daafdc2f7e61ce5a2b42ebf79dfb086e6d210168dd";
        BigInteger modulus = new BigInteger(1, modulusBytes );               
        BigInteger exponent = new BigInteger(1, exponentBytes);
        RSAPublicKeySpec rsaPubKey = new RSAPublicKeySpec(modulus, exponent);
        KeyFactory fact = KeyFactory.getInstance("RSA");
        PublicKey pubKey = fact.generatePublic(rsaPubKey);
        Signature signature = Signature.getInstance("SHA1withRSA");
        byte[] sigBytes = hexStringToByteArray(signedMessage);
        signature.initVerify(pubKey);
        System.out.println(signature.verify(sigBytes));
    }catch(Exception e){
        System.out.println("Error: " + e.toString());
    }
}
private static byte[] hexStringToByteArray(final String encoded) {
    if …
Run Code Online (Sandbox Code Playgroud)

java encryption private public verify

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

如何调整7表连接MySQL计数查询,其中表包含30,000多行?

我有一个SQL查询,它计算复杂查询的结果数.限制为20个结果时,实际的选择查询速度非常快,但经过大量优化后,计数版本在当前表上大约需要4.5秒.

如果我删除网站标记和图库标记上的两个连接和where子句,则查询将在1.5秒后执行.如果我创建3个单独的查询 - 一个用于选择付费网站,一个用于选择名称,一个用于将所有内容拉到一起 - 我可以将查询缩小到.6秒,这仍然不够好.这也会迫使我使用存储过程,因为我必须在Hibernate中总共进行4次查询.

对于查询"原样",这里有一些信息:

Handler_read_key是1746669.Handler_read_next
是1546324

gallery表有40,000行
.站点表有900行
名称表有800行
.标记表有3560行

我是MySQL和调优的新手,我有以下索引:

  • 标签表中的"term"列
  • 画廊表中的"已发布"列
  • 名称表的'value'

我希望这个查询到0.1毫秒.

SELECT count(distinct gallery.id)
from gallery gallery 
    inner join
        site site 
            on gallery.site_id = site.id 
    inner join
        site_to_tag p2t 
            on site.id = p2t.site_id 
    inner join
        tag site_tag 
            on p2t.tag_id = site_tag.id 
    inner join
        gallery_to_name g2mn 
            on gallery.id = g2mn.gallery_id 
    inner join
        name name 
            on g2mn.name_id = name.id 
    inner join
        gallery_to_tag g2t 
            on gallery.id = g2t.gallery_id 
    inner join
        tag tag 
            on g2t.tag_id = tag.id …
Run Code Online (Sandbox Code Playgroud)

mysql sql performance count

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

将子网掩码“ /”表示法转换为Cisco 0.0.0.0标准

我已经搜索了SO以寻求帮助,但找不到我的问题的答案。

情况:我需要将“ / NN”子网掩码表示法(认为IPTABLES)转换为0.0.0.0的cisco表示法。

NN是子掩码中从最低八位字节到较高八位字节的数字“ 1”。每个八位位组是8位整数。

可能的解决方案:

制作一个由32个“ 0”组成的数组,并用“ 1”填充最后一个NN数字,然后分组4个八位字节并转换为int ... / 23掩码应类似于0.0.1.255。

我的问题是如何在.NET中执行此操作...我从未使用过二进制操作和转换。

你们能帮我解决这个问题吗?

更新-斯蒂芬回答正确!

这是移植到.NET的代码

        if (p.LastIndexOf("/") < 0 ) return p;
        int mask= Convert.ToInt32("0"+p.Substring(p.LastIndexOf("/")+1,2));

        int zeroBits = 32 - mask; // the number of zero bits
        uint result = uint.MaxValue; // all ones

        // Shift "cidr" and subtract one to create "cidr" one bits;
        //  then move them left the number of zero bits.
        result &= (uint)((((ulong)0x1 << mascara) - 1) << zeroBits);
        result = ~result;
        // …
Run Code Online (Sandbox Code Playgroud)

.net cisco iptables mask subnet

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

UnicodeEncodeError Google App Engine

我变得非常熟悉了:

UnicodeEncodeError:'ascii'编解码器无法对位置24中的字符u'\ xe8'进行编码:序数不在范围内(128)

我已经检查了SO上的多个帖子,他们建议 - variable.encode('ascii','ignore')

但是,这不起作用.即使在此之后我也得到同样的错误......

堆栈跟踪:

'ascii' codec can't encode character u'\x92' in position 18: ordinal not in range(128)
Traceback (most recent call last):
  File "/base/python_runtime/python_lib/versions/1/google/appengine/ext/webapp/__init__.py", line 513, in __call__
    handler.post(*groups)
  File "/base/data/home/apps/autominer1/1.343038273644030157/siteinfo.py", line 2160, in post
    imageAltTags.append(str(image["alt"]))
UnicodeEncodeError: 'ascii' codec can't encode character u'\x92' in position 18: ordinal not in range(128)
Run Code Online (Sandbox Code Playgroud)

负责相同的代码:

siteUrl = urlfetch.fetch("http://www."+domainName, headers = { 'User-Agent' : 'Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9b5) Gecko/2008032620 Firefox/3.0b5' } )


 webPage = siteUrl.content.decode('utf-8', 'replace').encode('ascii', 'replace') …
Run Code Online (Sandbox Code Playgroud)

unicode google-app-engine

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

Windows服务安装程序项目从VS.NET 2008转换为2010的问题

我正在尝试将解决方案从VS.NET 2008转换为2010。该解决方案包括Windows Service项目和安装Windows Service的安装项目。我在编译安装项目时遇到问题。我试着从头几次启动该结束了,下面的教程在这里下节标题为要创建为您服务的安装项目

当我简单地按照以下步骤构建项目时,会出现以下错误:

Unable to build custom action named 'Primary output from <name> (Release x86)', InstallerClass property is only valid for assemblies.
Run Code Online (Sandbox Code Playgroud)

(我的Windows服务项目的名称在哪里)。搜索此错误会在MSDN 上显示页面,告诉我将InstallerClass设置为False。对于4种自定义操作,我都会这样做。进行更改并构建后,出现以下错误:

Unable to build custom action named 'Primary output from <name> (Release x86)' from project output group 'Primary output' because the project output group does not have a key file.
Run Code Online (Sandbox Code Playgroud)

为此,我一击未中。甚至不用担心单击链接,全文为:“删除自定义操作,并用指向具有密钥文件的项目输出组的自定义操作替换它。”

h是什么意思?有人可以帮我弄清楚我在做什么错吗?

.net installation windows-services visual-studio-2010 visual-studio-2008

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

如何在Javascript中获取当前目录名称?

我正在尝试使用Javascript获取文件的当前目录,因此我可以使用它来为我的站点的每个部分触发不同的jquery函数.

if (current_directory) = "example" {
var activeicon = ".icon_one span";
};
elseif (current_directory) = "example2" {
var activeicon = ".icon_two span";
};
else {
var activeicon = ".icon_default span";
};

$(activeicon).show();
...
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

javascript jquery

64
推荐指数
8
解决办法
18万
查看次数

OpenMP,C++和迭代器

要遍历容器的元素,我通常会使用迭代器,如下所示:

container<type> myContainer;
// fill up the container
container<type>::iterator it;
for(it=myContainer.begin(); it!=myContainer.end(); ++it) {
   //do stuff to the elements of the container
}
Run Code Online (Sandbox Code Playgroud)

现在,如果我想使用OpenMP并行化循环,我可能会尝试类似:

container<type> myContainer;
// fill up the container
container<type>::iterator it, it_begin=myContainer.begin(), it_end=myContainer.end();
#pragma omp parallel for default(none) private(it) shared(it_begin, it_end)
for(it=it_begin; it!=it_end; ++it) {
   //do stuff to the elements of the container
}
Run Code Online (Sandbox Code Playgroud)

但是,当我运行所述代码时,不会对容器进行更改.但是,如果我在容器上使用典型的索引,则并行代码可以正常工作.我想知道的是,是否可以在OpenMP的上下文中使用迭代器,或者我是否需要将迭代循环转换为索引循环?

c++ iterator openmp

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