问题列表 - 第39498页

在JavaScript中动态创建新对象的更好方法?

我有两个像这样定义的对象(为了问题简化):

var firstObject = function(){ };
firstObject.prototype.doSomethingFirstObjectsDo();

var secondObject = function(){ };
secondObject.prototype.doSomethingSecondObjectsDo();
Run Code Online (Sandbox Code Playgroud)

接下来我有一个对象管理器,它作为我的主应用程序创建对象的一种接口:

var ObjectManager = function()
{
    this.create = {
        FIRST:firstObject,
        SECOND:secondObject
    };
};

ObjectManager.prototype.createObject = function(type)
{
    return new this.create[type]();
};
Run Code Online (Sandbox Code Playgroud)

最后使用对象管理器动态创建firstObjects或secondObjects的主应用程序示例:

var MainApplication = function(options)
{
    this.objectTypes = options.objectTypes;
    this.objManager = new ObjectManager();
};

MainApplication.prototype.createObjects = function()
{
    //Iterate through all the types this application needs to create
    for (var type in this.objectTypes)
    {
        var dynamicallyCreatedObject = this.objManager.createObject(type);
        //Do Something Else
    }
};
Run Code Online (Sandbox Code Playgroud)

这种方法效果很好,但我可以看到一个缺点 - 您需要正式为每个可以创建的对象"类型"定义构造函数的名称. …

javascript design-patterns object

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

升级期间在Android电子市场中重命名应用

我想在下次升级期间重命名我发布的应用程序,Android Market会将此视为另一个常规升级并保留相关的评级和评论吗?该应用程序将保持相同的包名称.

android rename upgrade google-play

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

获取MAC地址

我怎么知道访问者在linux主机(nginx)上的MAC地址?

来自以太网用户.

谢谢.

macos mac-address

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

什么是方案相当于元组解包?

在Python中,我可以这样做:

t = (1, 2)
a, b = t
Run Code Online (Sandbox Code Playgroud)

......并且a将为1,b将为2.假设我'(1 2)在Scheme中有一个列表.有没有办法做类似的事情let?如果它有所作为,我正在使用Racket.

scheme list racket iterable-unpacking

17
推荐指数
3
解决办法
5411
查看次数

使用AppleScript增加mac的音量?

我找到了命令,但是我能用AppleScript做到吗?

macos applescript

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

如何在表达式中重用另一个结果列的结果列

例:

SELECT
   (SELECT SUM(...) FROM ...) as turnover,
   (SELECT SUM(...) FROM ...) as cost,
   turnover - cost as profit
Run Code Online (Sandbox Code Playgroud)

当然这是无效的(至少在Postgres中)但如何在查询中实现相同而不重写子查询两次?

sql postgresql subquery

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

编写一个小而灵活的HTTP客户端

我正在寻找人们如何编写一个快速(小)但灵活的HTTP客户端.快速我的意思是代码不多,(我将由你来决定这意味着什么),并且最好使用内置语言函数而不是下载或自定义库,这样套接字编程的基本知识应该是足以理解代码的工作原理.灵活的我的意思是你应该能够轻松地操纵传入的数据.我自己的版本就是这样的

#!/usr/bin/perl
use Socket;
use HTML::Parse;

socket(SOCKH, PF_INET, SOCK_STREAM, getprotobyname('tcp')) || die $!;
connect(SOCKH,sockaddr_in(80,inet_aton('www.example.com'))) || die $!;

$old_fh = select(SOCKH);
$|=1;
select($old_fh);

print SOCKH "GET / HTTP/1.0\n\n";

while (<SOCKH>) {
    $response .= $_;
}

print parse_html($response)->format;

close(<SOCKH>);
Run Code Online (Sandbox Code Playgroud)

这只是一个快速的客户端,我很快就会为HTTP/1.1进行编辑,或者如果您有关于如何提高合规性的建议请分享!

编辑:我的代码更新,使用LWP作为Sinan Unur建议:

#!/usr/bin/perl
use LWP::Simple;
use HTML::Parse;

$data = parse_html( get( 'www.example.com' ) )->format;
foreach $line ( $data ) {
    print $line; // or any other line-based operation
}
Run Code Online (Sandbox Code Playgroud)

ruby python perl http

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

为什么更改一个数组会改变另一个?

考虑这一点点的JavaScript代码:

var a = [1, 2, 3],
    b = a;

b[1] = 3;

a; // a === [1, 3, 3] wtf!?
Run Code Online (Sandbox Code Playgroud)

当我更新"b [1]"时为什么"a"会改变?我在Firefox和Chrome中测试过它.例如,这不会发生在简单的数字上.这是预期的行为吗?

var a = 1,
    b = a;

b = 3;

a; // a === 1 phew!
Run Code Online (Sandbox Code Playgroud)

javascript arrays

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

使用Java JAI缩放图像

我必须使用Java JAI缩放图像.现在,我使用以下代码:

private static RenderedOp scale(RenderedOp image, float scale) {
    ParameterBlock scaleParams = new ParameterBlock();
    scaleParams.addSource(image);
    scaleParams.add(scale).add(scale).add(0.0f).add(0.0f);
    scaleParams.add(Interpolation.getInstance(Interpolation.INTERP_BICUBIC_2));

    // Quality related hints when scaling the image
    RenderingHints scalingHints = new RenderingHints(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_QUALITY);
    scalingHints.put(RenderingHints.KEY_ALPHA_INTERPOLATION, RenderingHints.VALUE_ALPHA_INTERPOLATION_QUALITY);
    scalingHints.put(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
    scalingHints.put(RenderingHints.KEY_COLOR_RENDERING, RenderingHints.VALUE_COLOR_RENDER_QUALITY);
    scalingHints.put(RenderingHints.KEY_DITHERING, RenderingHints.VALUE_DITHER_ENABLE);
    scalingHints.put(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BICUBIC);
    scalingHints.put(JAI.KEY_BORDER_EXTENDER, BorderExtender.createInstance(BorderExtender.BORDER_COPY));

    return JAI.create("scale", scaleParams, scalingHints);
}
Run Code Online (Sandbox Code Playgroud)

不幸的是,这会导致非常糟糕的结果,特别是因为我经常需要缩放比例因子小于0.5的图像...

有什么建议?

java scaling image jai

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

AsxyTask中的Android上下文泄漏

如果我正确地解释了这篇文章,那么将活动上下文传递AsyncTasks给潜在的泄漏,因为在任务仍在运行时活动可能会被销毁.

你是如何处理这一点的AsyncTasks,不是内部的,需要访问资源或更新UI?

另外,如果需要引用进度对话框来解除它们,如何避免泄露上下文?

android memory-leaks android-context android-asynctask

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