小编Ips*_*gle的帖子

在Java中使用Casting是否有任何运行时成本?

这两个块之间会有任何性能差异吗?

public void doSomething(Supertype input)
{
    Subtype foo = (Subtype)input;
    foo.methodA();
    foo.methodB();
}
Run Code Online (Sandbox Code Playgroud)

public void doSomething(Supertype input)
{
    ((Subtype)input).methodA();
    ((Subtype)input).methodB();
}
Run Code Online (Sandbox Code Playgroud)

这两者之间的任何其他考虑或建议?

java performance casting

34
推荐指数
2
解决办法
9945
查看次数

将PNG转换为预乘alpha的方法

寻找某种简单的Windows工具或流程,让我将一个或多个标准PNG转换为预乘alpha.

命令行工具是理想的; 我可以轻松访问PIL(Python Imaging Library)和Imagemagick,但如果它让生活更轻松,它将安装另一个工具.

谢谢!

png imagemagick python-imaging-library premultiplied-alpha

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

实现通用接口的类的子类

我正在使用Google Web Toolkit,我在实现通用接口方面遇到了问题.我不熟悉泛型,在这里对其他人的代码进行升级.

这就是我想要做的事情:我希望有一个通用回调接口的实现来执行一些日志记录,然后将该实现子类化以处理特定的回调场景.

界面是这样的:

public interface AsyncCallback<T> {
    void MethodFromAsyncCallback(T result);
}
Run Code Online (Sandbox Code Playgroud)

抽象和具体的实现看起来像这样:

class CallbackBase implements AsyncCallback<Object> {
    public abstract void doStuff(Object result);

    public void MethodFromAsyncCallback(Object result) {
        // IMPORTANT STUFF
        // here are things I would like to do for all callbacks, hence the superclass.

        // Then we do the subclass specific things.
        doStuff(result);
    }
}

class SpecificCallback extends CallbackBase
{
    public void doStuff(Object result) {
        Integer i = (Integer)result;
        // do stuff with i
    }
}
Run Code Online (Sandbox Code Playgroud)

回调需要从中触发 …

java generics gwt inheritance

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

个人私钥的最佳做法

我刚开始在日常工作中使用RSA密钥,而且我有一些关于使用它们的最佳方法的问题.

最大的问题围绕多个客户端和多个服务器的想法.这是一个场景:

我有两台客户端计算机:

  1. 桌面
  2. 笔记本电脑

我将对两台服务器进行身份验证:

  1. 我自己的本地服务器
  2. 远程服务(例如Github)

那么,一般来说,在这种情况下你会推荐多少个密钥对?

  • 一个密钥对:这个密钥是"我",我到处都用它.
  • 每个客户端一个:这个密钥是"这个客户端",我把它放在我要从该客户端连接的每个服务器上.
  • 每个服务器一个密钥对:这是"用于此服务"的密钥,我将私钥带到我想要连接到它的每个客户端.
  • 每个组合一个:每个独特的客户端 - 服务器配对都有自己的密钥对.

如果这些都不是显着优于其他任何一个,那么你能否勾勒出每个人的利弊,以便一个人可以自己选择?

rsa public-key-encryption

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

ApplicationError:7处理mapreduce worker写入Google云端存储时的处理

刚刚完成一个大型的Appengine mapreduce任务,我的许多分片都在终点线上被卡住了.这是设置:

    filenames = yield mapreduce_pipeline.MapperPipeline(
            'example mapper name',
            'main.MyMapper',
            input_reader_spec='mapreduce.input_readers.DatastoreInputReader',
            output_writer_spec='mapreduce.output_writers.FileOutputWriter',
            params={
                'input_reader':{
                    'entity_kind':'models.MyModel'
                },
                'output_writer':{
                    'filesystem':'gs',
                    'mime_type':'text/csv',
                    'gs_bucket_name':'myBucket',
                    'output_sharding':'input'
                }
            },
            shards=DUMP_SHARDS
            )
Run Code Online (Sandbox Code Playgroud)

我正在并行运行其中的3个,每个都有16个分片.一个映射器完成没有问题,另外两个映射器在其14和9个分片上取得了成功.

剩下的碎片都完全是石墙,然后返回UnknownError: ApplicationError: 7.(本文末尾的完整堆栈跟踪.)

请注意,映射器正在尝试写入Google云端存储.执行此写操作的位发生错误.

狩猎了一段时间后,我发现,在google.appengine.runtime.apiproxy(这似乎是有问题的代理),该错误7 OTHER_ERROR.

我一直在重试这些最终任务(从任务队列中)大约3个小时,自从这些错误开始以来没有一个成功; 无论发生什么,它都完全陷入困境.我也尝试停止运行的所有实例,以防它是一些奇怪的本地状态,但没有改变......

这是完整的堆栈跟踪:

I 2012-12-13 15:40:23.909
Processing done for shard 14 of job '1582444192075C233F6AA'
E 2012-12-13 15:40:23.969
ApplicationError: 7 
Traceback (most recent call last):
  File "/base/python27_runtime/python27_lib/versions/third_party/webapp2-2.3/webapp2.py", line 1511, in __call__
    rv = self.handle_exception(request, response, e)
  File "/base/python27_runtime/python27_lib/versions/third_party/webapp2-2.3/webapp2.py", line 1505, in __call__ …
Run Code Online (Sandbox Code Playgroud)

python google-app-engine mapreduce mapper google-cloud-storage

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

如何用不支持它们的语言模拟非贪婪量词?

考虑这个正则表达式: <(.*)>

应用此字符串:

<2356> <my pal ned> <!@%@>

显然,由于贪婪,它将匹配整个字符串*.最好的解决方案是使用非贪婪的量词,比如*?.但是,许多语言和编辑都不支持这些.

对于像上面这样的简单案例,我已经通过这样的正则表达式解决了这个限制: <([^>]*)>

但是像这样的正则表达式可以做些什么呢? start (.*) end

应用此字符串:

start 2356 end start my pal ned end start !@%@ end

有什么办法吗?

regex

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

多个python脚本将消息发送到单个中央脚本

我有许多用Python 2.6编写的脚本,可以任意运行.我想有一个中央脚本收集输出并将其显示在一个日志中.

理想情况下,它将满足这些要求:

  • 每个脚本都将其消息发送到同一个"接收器"进行显示.
  • 如果第一个脚本尝试发送消息时接收器未运行,则启动它.
  • 接收器也可以手动启动和结束.(虽然如果结束,如果另一个脚本尝试发送消息,它将重新启动.)
  • 脚本可以按任何顺序运行,甚至可以同时运行.
  • Windows上运行.多平台更好,但至少它需要在Windows上运行.

我遇到了一些提示:

从这些作品中,我想我可以拼凑一些东西.只是想知道是否有一种明显的"正确"方式,或者我是否可以从任何人的错误中吸取教训.

python multiprocessing interprocess

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