小编Ces*_*ssa的帖子

使用Underscore.js以块的形式拆分JavaScript数组

我需要将JavaScript数组拆分为n大小的块.

例如:给定这个数组

["a1", "a2", "a3", "a4", "a5", "a6", "a7", "a8", "a9", "a10", "a11", "a12", "a13"]
Run Code Online (Sandbox Code Playgroud)

和a n等于4,输出应为:

[ ["a1", "a2", "a3", "a4"],
  ["a5", "a6", "a7", "a8"],
  ["a9", "a10", "a11", "a12"],
  ["a13"]
]
Run Code Online (Sandbox Code Playgroud)

我知道这个问题的纯JavaScript 解决方案,但由于我已经在使用Underscore.js,我想知道下划线是否为此提供了更好的解决方案.

编辑:

我创建了一个jsPerf测试来检查下划线解决方案的速度有多慢.

javascript split functional-programming underscore.js lodash

78
推荐指数
4
解决办法
5万
查看次数

当通过Chrome网上应用店安装页面时,Facebook登录会在"XD代理"处挂起

创建了以下Web应用程序:

http://www.web-allbum.com/

我还将其添加到Chrome网上应用店:

https://chrome.google.com/webstore/detail/idalgghcnjhmnbgbeebpdolhgdpbcplf

问题是当进入Chrome网上应用店并安装此应用程序时,Facebook登录窗口会挂起"XD代理"窗口.虽然连接本身有效,但这个空白窗口可能会使用户感到困惑.

我做了我的研究,这似乎是一个Chrome问题:https: //code.google.com/p/chromium/issues/detail?id = 59285#c26

如果您从Chrome卸载该应用,问题就会消失.

这个问题有解决方法吗?

类似的stackoverflow问题:

这是我的Facebook连接,以防它有帮助:

    FB.init({
        appId  : window.__FACEBOOK_APP_ID__,
        status : true, // check login status
        cookie : true, // enable cookies to allow the server to access the session
        xfbml  : true, // parse XFBML
        channelUrl : window.__MEDIA_URL__ + 'channel.html', // channel.html file
        oauth  : true // enable OAuth 2.0
    });


    FB.XD.Flash.init();
    FB.XD._transport = "flash";

    if (A.networks.facebook.connected) {
        FB.getLoginStatus(function (response) {
            // Stores the …
Run Code Online (Sandbox Code Playgroud)

facebook google-chrome chrome-web-store

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

Django和动态生成的图像

我在我的Django应用程序中有一个视图,它使用PIL自动创建一个图像,将其存储在Nginx媒体服务器中,并返回一个html模板,其中img标记指向它的url.

这很好,但我注意到一个问题.我每5次访问此视图,其中1个图像无法渲染.

我做了一些调查,我发现了一些有趣的东西,这是图像呈现正确时的HTTP响应头:

Accept-Ranges:bytes
Connection:keep-alive
Content-Length:14966
Content-Type:image/jpeg
Date:Wed, 18 Aug 2010 15:36:16 GMT
Last-Modified:Wed, 18 Aug 2010 15:36:16 GMT
Server:nginx/0.5.33
Run Code Online (Sandbox Code Playgroud)

这是图像未加载时的标题:

Accept-Ranges:bytes
Connection:keep-alive
Content-Length:0
Content-Type:image/jpeg
Date:Wed, 18 Aug 2010 15:37:47 GMT
Last-Modified:Wed, 18 Aug 2010 15:37:46 GMT
Server:nginx/0.5.33
Run Code Online (Sandbox Code Playgroud)

注意Content-Lenth等于零.可能是什么导致了这个?关于如何进一步调试此问题的任何想法?

编辑: 调用视图时,它会调用模型的"绘制"方法.这基本上就是它的作用(为清楚起见,我删除了大部分代码):

def draw(self):
    # Open/Creates a file
    if not self.image:
        (fd, self.image) = tempfile.mkstemp(dir=settings.IMAGE_PATH, suffix=".jpeg")
        fd2 = os.fdopen(fd, "wb")
    else:
        fd2 = open(os.path.join(settings.SITE_ROOT, self.image), "wb")

    # Creates a PIL Image
    im = Image.new(mode, (width, height))

    # Do some drawing
    ..... …
Run Code Online (Sandbox Code Playgroud)

python django nginx http-headers python-imaging-library

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

默认情况下启用Django格式本地化

这是关于Django 1.2中实现的格式本地化功能.

要使用此功能,您必须localize=True向所有表单字段添加参数.我试图在我的应用程序中实现这种本地化,但问题是我通过使用inlineformset_factoryDjango提供的方法动态创建我的表单,所以我不能简单地向表单字段添加新参数.

因此,我尝试在所有模型中默认启用此功能,而无需为所有字段添加新参数.我创建了一个BaseInlineFormSet子类并对其中的参数进行了硬编码.

class MyBaseInlineFormSet(BaseInlineFormSet):
    def __init__(self, *args, **kwargs):
        super(MyBaseInlineFormSet, self).__init__(*args, **kwargs)
        for form in self.forms:
            for key, field in form.fields.iteritems():
                if field.__class__ == forms.DecimalField:
                    form.fields[key].localize = True
Run Code Online (Sandbox Code Playgroud)

那个只有50%.提交时,Django正在正确验证表单(它接受逗号而不是点)但字段仍然显示不正确.

我想我可以通过javascript来解决这个问题,但我更愿意避免这样做.

关于如何解决这个问题的任何想法?

python django formatting localization

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

Chrome打包应用程序和Facebook重定向网址

我有一个Chrome打包应用程序,我目前正在与Facebook API集成.Facebook Javascript SDK要求我提供托管我的应用程序的位置的URL,出于安全原因,他们只会重定向到此URL.

问题是Chrome打包应用程序没有网址.我知道chrome.extension.getURL,但是这个url不是静态的,它会根据安装进行更改.有没有办法为适用于所有安装的Chrome应用程序设置URL?

google-chrome-extension facebook-graph-api google-chrome-app

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

使用 Python 生成 Java 兼容的 Diffie-Hellman

我正在尝试用 Python 重写以下代码。原始代码是使用sjcl库用 Javascript 编写的。

// Inputs
var serverPubX = "WIUBDotrk02Rk/apL11jQPbmX0quyaYz2EIkGUlVf7s=";
var serverPubY = "diZ2CbfSUy5Kr82OIfd4Ajusq2K+/kjGZ7ymcqVwn2k=";

// The code
var serverPubXBits = sjcl.codec.base64.toBits(serverPubX);
var serverPubYBits = sjcl.codec.base64.toBits(serverPubY);
var serverPubKeyPointBits = serverPubXBits.concat(serverPubYBits);

var serverPubKey = new sjcl.ecc.elGamal.publicKey(
    sjcl.ecc.curves.c256, serverPubKeyPointBits);

var clientKeys = sjcl.ecc.elGamal.generateKeys(256, 1);

// What I need:
var sharedKey = clientKeys.sec.dhJavaEc(serverPubKey);
Run Code Online (Sandbox Code Playgroud)

我的主要问题是dhJavaEc功能。根据 sjcl 文档,它是Java 兼容的 Diffie-Hellmann 函数。但是我在 pycryptodome 库中找不到任何等效的东西。

我检查了dhJavaEc代码这是它的作用:

// Looks like it converts the server key to Jacobian and then multiply …
Run Code Online (Sandbox Code Playgroud)

python cryptography elliptic-curve diffie-hellman

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