问题列表 - 第27305页

Objective-C保留计数澄清

我有点理解保留的重要性.但并非如此.我看了很多谷歌试图理解,但我仍然没有.

现在我在一些代码(我正在进行iPhone开发),我认为我应该使用它们但不完全知道如何.

有人能给我一个快速而好的例子,说明如何以及为何使用它们?

谢谢!

cocoa objective-c retain

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

使用SQLAlchemy将记录更快地插入表中

我正在解析日志并使用SQLAlchemy和Python将其插入MySQL或SQLite.现在我打开了与DB的连接,当我遍历每一行时,我在解析后插入它(这只是一个大表,现在对SQL不是很有经验).然后我在循环完成时关闭连接.汇总代码是:

log_table = schema.Table('log_table', metadata,
                         schema.Column('id', types.Integer, primary_key=True),
                         schema.Column('time', types.DateTime),
                         schema.Column('ip', types.String(length=15))
....
engine = create_engine(...)
metadata.bind = engine
connection = engine.connect()
....
for line in file_to_parse:
    m = line_regex.match(line)
    if m:
        fields = m.groupdict()
        pythonified = pythoninfy_log(fields) #Turn them into ints, datatimes, etc
        if use_sql:
            ins = log_table.insert(values=pythonified)
            connection.execute(ins)
            parsed += 1
Run Code Online (Sandbox Code Playgroud)

我的两个问题是:

  • 有没有办法加快这个基本框架内的插入?也许有一个插入队列和一些插入线程,某种批量插入等?
  • 当我使用MySQL时,大约120万条记录的插入时间为15分钟.使用SQLite,插入时间是一个多小时.db引擎之间的时间差异是否正确,或者它是否意味着我做了一些非常错误的事情?

python mysql sql sqlite sqlalchemy

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

如何使用多个证书签署APK?

如何使用多个证书对APK进行签名,以便在发布到Android电子市场时可以执行此操作:

版本1.0 =>使用证书A
版本2.0签名=>使用证书A和B
版本3.0签名=>使用证书B签名

Android Market确实给了我一些希望,但我不知道该怎么做,当我上传一个不同的签名证书时,它给了我这个消息:

"必须使用至少一个与之前版本相同的证书对apk进行签名."

动机:
我已经使用Android签名工具在市场上发布了一个应用程序,作为MotoDev Studio for Android的一部分.问题是它本身处理密钥,并且没有办法(记录)来获取密钥.我想更改它以使用我更有控制权的密钥库和证书,即使我不再使用MotoDev Studio也可以使用.此外,似乎MotoDev Studio将锁定您的新功能,如共享库.

更新2011年5月3日:
他们实际上非常快速和迅速地更新MotoDev Studio,但似乎我相信Google仍应为那些想要更改其应用程序证书的人提供解决方案.将应用程序更新为使用相同的证书,随着时间的推移创建新的证书,并可能创建一个新证书,以便您可以将应用程序的支持和分发交给其他人.

android google-play

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

IL简短说明不短?

我正在使用Reflector查看有效方法的IL代码,我遇到了这个问题:

L_00a5: leave.s L_0103
Run Code Online (Sandbox Code Playgroud)

带后缀的指令.s应该采用int8操作数,当然这也应该是Leave_S的情况.但是,0x0103是259,超过了int8的容量.该方法以某种方式工作,但当我用方法读取指令时,Mono.Reflection.Disassembler.GetInstructions它检索

L_00a5: leave.s L_0003
Run Code Online (Sandbox Code Playgroud)

也就是说,3而不是259,因为它应该是一个int8.所以,我的问题是:原始指令(leave.s L_0103)可能如何?我查看了ECMA文档(Partition III:CIL指令集),我找不到任何解释它的东西.

有任何想法吗?谢谢.


编辑#1:好的,我是个白痴.在分支指令的情况下,必须从当前指令之后的指令开始计算偏移量.我发誓我阅读了文档,但不知怎的,我设法跳过了.在我的辩护中,我今天病得很重.叹.

谢谢.(并且感谢你没有称我为白痴,尽管这非常愚蠢:P)


编辑#2:顺便说一句,如果有人感兴趣,当Mono.Reflection.Disassembler.GetInstructions反汇编指令时,它会改变分支指令中操作数的含义.特别是,正如已经指出的那样,分支指令的操作数表示从下一条指令开始的偏移量,而不是从0 Mono.Reflection开始的偏移量.但是,从0 开始返回偏移量(这可能是我感到困惑的原因;虽然它没有解释我是如何设法跳过部分文档的.

提取物MethodBodyReader.ReadOperand(Instruction instruction):

switch (instruction.OpCode.OperandType) {
...
case OperandType.ShortInlineBrTarget:
    instruction.Operand = (sbyte) (il.ReadByte () + il.position);
    break;
...
}
Run Code Online (Sandbox Code Playgroud)

正如您所看到的那样il.position,它是下一条指令的偏移量(从0开始).此外,它投射到sbyte,这是我得到3而不是259的原因.这似乎是一个错误(从0开始的偏移可能大于a sbyte).我会问Jb Evain(作者)并报告.


编辑#3:他还没有回答,但我把它改为:

switch (instruction.OpCode.OperandType) {
...
case OperandType.ShortInlineBrTarget:
    instruction.Operand = ((sbyte) il.ReadByte ()) + il.position;
    break; …
Run Code Online (Sandbox Code Playgroud)

.net c# reflection il reflection.emit

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

嵌套模板类的C++非成员函数

我一直在编写几个包含嵌套迭代器类的类模板,需要进行相等比较.我认为这是相当典型的,比较是使用非成员(和非朋友)operator==功能进行的.这样做,我的编译器(我使用带有标志的Mingw32 GCC 4.4 -O3 -g -Wall)无法找到该功能,并且我已经用尽了可能的原因.

在下面相当大的代码块中有三个类:一个Base类,一个包含Base对象的Composed类,以及一个与Composed类相同的嵌套类,除了它嵌套在一个Outer类中.operator==每个都提供非成员函数.这些类是模板化和未模板化的形式(在各自的命名空间中),后者等同于前者专用于无符号整数.

main,比较每个类的两个相同对象.对于未模板化的情况,没有问题,但对于模板化的情况,编译器无法找到operator==.这是怎么回事?

#include <iostream>

namespace templated {

template<typename T>
class Base {
  T t_;
public:
  explicit Base(const T& t) : t_(t) {}

  bool
  equal(const Base& x) const {
    return x.t_==t_;
  }
};

template<typename T>
bool
operator==(const Base<T> &x, const Base<T> &y) {
  return x.equal(y);
}

template<typename T>
class Composed {
  typedef Base<T> Base_;
  Base_ base_;
public:
  explicit Composed(const T& t) : base_(t) {}
  bool equal(const …
Run Code Online (Sandbox Code Playgroud)

c++ templates nested-class

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

WCF-"底层连接已关闭:连接意外关闭"

当我在我的WCF Web服务上使用我的一个webmethods时,我收到了奇怪的模糊错误消息.因为该错误消息没有提供任何解释允许我发表我的理论.

我相信它可能与我正在使用的返回类型有关

我有一个类型DLL,它在Web服务和客户端都被引用.在这个DLL中是基类ExceptionMessages.这个类的一个孩子叫做Draw​​ingExcepions.

这是一些代码:

public class ExceptionMessages
{
    public object[] ReturnValue { get; set; }
}

public class DrawingExceptions : ExceptionMessages
{
    private List<DrawingException> des = new List<DrawingException>();
}

public class DrawingException
{
    public Exception ExceptionMsg { get; set; }
    public List<object> Errors { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

使用代码:

    [OperationContract]
    ExceptionMessages createNewBom(Bom bom, DrawingFiles dfs);

    public ExceptionMessages createNewBOM(Bom bom, DrawingFiles dfs)
    {
            return insertAssembly(bom, dfs);
    }

    public DrawingExceptions insertAssembly(Bom bom, DrawingFiles dfs)
    {
        DrawingExceptions des = new DrawingExceptions();

        foreach …
Run Code Online (Sandbox Code Playgroud)

c# wcf return-value derived-class

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

比较两个关联数组并使用匹配的数组PHP创建一个新数组

我有这两个数组:

$arr1=array(  array("id" => 8, "name" => "test1"),  
              array("id" => 4, "name" => "test2"),  
              array("id" => 3, "name" => "test3")  
           );

$arr2=array(  array("id" => 3),
              array("id" => 4) 
           );
Run Code Online (Sandbox Code Playgroud)

我如何从$ arr1"提取"数组,其中id在$ arr2中具有相同的值,进入一个新数组,并将提取的数组也保留在一个新数组中,而不考虑关键顺序?

我正在寻找的输出应该是:

$arr3=array(
              array("id" => 8, "name" => "test1")
           );

$arr4=array(  array("id" => 4, "name" => "test2"),  
              array("id" => 3, "name" => "test3")  
           );
Run Code Online (Sandbox Code Playgroud)

谢谢

php arrays associative-array compare extract

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

每隔X分钟/秒重新加载AJAX数据,jQuery

我编写了一个CMS,其中包含最近登录系统的人员日志.目前,这些数据通过Ajax提供给jQuery UI选项卡.我想将这些信息放在主页的侧栏上,并每隔30秒(或某段时间)通过AJAX加载.

我该怎么做呢?PHP响应是否需要进行JSON编码?我对AJAX和JSON数据还不熟悉.

这是我目前用来从用户表中提取详细信息的PHP-

<?php
$loginLog = $db->query("SELECT name_f, name_l, DATE_FORMAT(lastLogin, '%a, %b %D, %Y %h:%i %p') AS lastLogin FROM user_control ORDER BY lastLogin ASC LIMIT 10");
while ($recentLogin = $loginLog->fetch()) {
echo $recentLogin['name_f'] . " " . $recentLogin['name_l'] . " - " . $recentLogin['lastLogin'];
}
?>
Run Code Online (Sandbox Code Playgroud)

谢谢! UPDATE

好吧,这就是我到目前为止......我坚持的部分是如何循环JSON并将其输入框中.只要我只使用一个结果并确保它不在[]中,它就可以正常工作.我只是学习Ajax和JSON,由于某种原因它不太容易找到我.

Javascript -

$(document).ready(function(){

                function refreshUsers(){

                    $.getJSON('json.php', function(data) {

                            for (var i = 0; i < data.length; i++) {

                                $("#loadHere").html('<p>' + data.name + ' ' + data.lastLogin + '</p>');

                            }

                }); …
Run Code Online (Sandbox Code Playgroud)

php ajax jquery

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

.NET有链接器吗?

来自Jon Skeet的博客:

以下评论意味着什么?

    // The line below only works when linked rather than
    // referenced, as otherwise you need a cast.
    // The compiler treats it as if it both takes and
    // returns a dynamic value.
    string value = com.MakeMeDynamic(10); 
Run Code Online (Sandbox Code Playgroud)

我理解引用程序集的内容.您可以在命令行使用/ ref:开关编译程序文件时引用它,也可以在Visual Studio中向程序集添加静态引用.

但是如何链接到.NET中的程序集?他的意思是,使用Reflection(Assembly.LoadFile())加载程序集?或者,Win32 API LoadLibrary()?或者,.NET是否有我从未听说过的链接器?

c# clr com-interop c#-4.0

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

Android - 读取没有alpha的PNG图像并解码为ARGB_8888

我尝试从sdcard(在模拟器中)读取图像,然后用.创建一个Bitmap图像

BitmapFactory.decodeByteArray

方法.我设置了选项:

options.inPrefferedConfig = Bitmap.Config.ARGB_8888
options.inDither = false

然后我将像素提取到ByteBuffer中.

ByteBuffer buffer = ByteBuffer.allocateDirect(width*height*4)
bitmap.copyPixelsToBuffer(buffer)

我在JNI中使用此ByteBuffer将其转换为RGB格式并想要计算它.

但总是我得到错误的数据 - 我在不修改ByteBuffer的情况下进行测试.我唯一要做的就是将它放入JNI的本机方法中.然后将其转换为a unsigned char*并将其转换回a,ByteBuffer然后将其返回到Java.

unsigned char* buffer = (unsinged char*)(env->GetDirectBufferAddress(byteBuffer))
jobject returnByteBuffer = env->NewDirectByteBuffer(buffer, length)

在显示图像之前,我得到了数据

bitmap.copyPixelsFromBuffer( buffer )

但其中有错误的数据.

我的问题是,如果这是因为图像内部转换为RGB 565或这里有什么问题?

.....

得到答案:

- >>>是的,它在内部转换为RGB565.

有人知道如何使用ARGB8888像素格式从PNG创建这样的位图图像吗?

如果有人有想法,那就太好了!

png android image bitmap argb

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