小编Tam*_*dus的帖子

位向量与布尔值性能列表

我试图在Python中重现我在一本书中找到的两个例子(最初是用Java编写的).

这两个函数检查字符串是否包含重复的字符.第一个函数使用integer(checker)作为位向量,而第二个函数只使用一个布尔列表.我期望使用带有位的功能有更好的性能,但实际上它表现更差.

这是为什么?从Java翻译到Python时,我写错了吗?

注意:为简单起见,我们只使用小写字母(az),尤其是位向量函数.

import sys
import timeit

def is_unique_chars_bit(my_str):
    checker = 0
    for char in my_str:
        val = ord(char) - ord('a')
        if ((checker & (1 << val)) > 0):
            return False
        checker |= (1 << val)
    return True

def is_unique_chars_list(my_str):
    if len(my_str) > 128:
        # Supposing we use ASCII, which only has 128 chars
        return False
    char_list = [False] * 128
    for char in my_str:
        val = ord(char)
        if char_list[val]:
            return False …
Run Code Online (Sandbox Code Playgroud)

python performance bit-manipulation arraylist

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

阻止cookie发送到服务器

我正在编写一个应用程序,其中大部分状态存储在客户端。状态在某种程度上是私人信息,因此我想将其保留在客户端。有一些严格的政策禁止此信息到达我的服务器。到目前为止我一直在使用它localStorage,这是一个完美的解决方案。

不幸的是,Safari 在 localStorages 和 iframe 方面存在一些问题(1、2、3 。如果我使用cookie,浏览器会将它们发送到服务器,这是不可接受的。所有存储的数据均使用 javascript 进行管理,不使用 http Set-Cookie 标头。

基本用例如下:应用程序在域 A 中有一个“主”页面,用户可以在其中更改其设置,并且在其他域 (B) 中有一个页面,该页面有一个指向某个特殊页面的 iframe在域A中,使用postMessage和onmessage来交换一些信息。域A的母版页和域B中嵌入的iframe必须共享一些存储才能运行。

有这方面的想法吗?

编辑1

一种想法如下:在 iframe 和“主”页面上向用户询问密码,并使用该密码来加密私人信息。加密的私人信息可以存储在cookie中,因为我的服务器没有用户密码。这是迄今为止最好的解决方案,但对于用户来说并不舒服。

javascript cookies iframe web

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

WTForms 中的可选但非空字段

可选验证器允许空值和该值不存在的情况(来自文档

类 wtforms.validators.Optional(strip_whitespace=True)

允许空输入并停止验证链继续。

如果输入为空,还会从字段中删除先前的错误(例如处理错误)。

我在一个字段上有一些额外的验证器,我希望即使输入是空字符串,这些验证器也能运行。如果输入是空字符串,内置Optional验证器将跳过其余验证器。是否有内置或任何其他方式来实现这一目标?

编辑:有关我的用例的更多细节

我正在使用此表单来验证PUT请求。假设我有一个用户实体,其中usernames 作为 ID,middlenames 作为可选字段。那么字段的验证器将类似于:

class UserUpdateForm(Form):
    username = fields.StringField('username', [
        validators.Optional(),
        validators.Length(min=5, max=500)
    ])
    middlename = fields.StringField('middlename', [
        validators.Optional()
    ])
Run Code Online (Sandbox Code Playgroud)

因此,我将允许PUT没有usernamemiddlename参数的请求,并且这些请求将使字段保持不变。但是,当参数存在并且是空字符串时,我希望username字段验证由于Length验证器而失败,但我允许将该middlename字段设置为空字符串。

从另一个角度来看:我想区分不存在的参数和空字符串参数。

python validation wtforms

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

为什么我的javascript字符串大写不起作用

function titleCase(str) {
  var one = str.split('');

  for(var i = 0;i>one.length;i++) {
    one[i] = one[i].charAt(0).toUpperCase() + one[i].slice(1);
  }

  var final = one.join("");
  return final;
}

titleCase("I'm a little tea pot"); // yields "I'm a little tea pot", unchanged
Run Code Online (Sandbox Code Playgroud)

你能解释一下为什么它不起作用吗?我应该把这个字符串中每个单词的首字母大写.

javascript

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

增加值直到限制然后减少循环

我尝试将变量的值valuem从0增加到10,如果值为valuem10,则应该减小,直到值为0,然后再次增加到10,依此类推.

例如:0 1 2 3 4 5 6 7 8 9 10 9 8 7 6 5 4 3 2 1 0 1 2 ...

什么是最简单,最有效的方法呢?

var valuem = 0;
$('#number').text(valuem);

function count() {
    valuem++;
    $('#number').text(valuem);

    if (valuem == 10) {
        valuem--;
        $('#number').text(valuem);
    }

}

setInterval(count, 1000);
Run Code Online (Sandbox Code Playgroud)

javascript loops for-loop while-loop

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

反应函数没有被调用

我正在使用 Node js 渲染一个 React 类......

var express = require('express');
var router = express.Router();

var React = require('react');
var reactDom = require('react-dom/server');
var App = React.createFactory(require('../components/index'));

router.get('/', function(req,res) {
    var reactHtml = reactDom.renderToString(App({}));
    res.render('../../tutorHub/views/index.jade', {reactOutput: reactHtml});
});
module.exports = router;
Run Code Online (Sandbox Code Playgroud)

页面渲染得很好,但我添加的函数没有被调用。例如,在我的App班级...

class App extends React.Component {
    constructor(props) {
        super(props);    
    }
    getClass() {
        return "a_class";
    }

    render() {
        return (
            <div className={this.getClass}></div>
        );
    }
}

module.exports = App;
Run Code Online (Sandbox Code Playgroud)

getClass函数未被调用。相反,类名变成了代码

class = getClass() {
    return "a_class";
}
Run Code Online (Sandbox Code Playgroud)

而不是简单地 …

javascript node.js reactjs

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