小编Bol*_*boa的帖子

如何通过 prop 服务器端做出反应

我正在使用 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({exists: false}));
    res.render('../../tutorHub/views/index.jade', {reactOutput: reactHtml});
});
module.exports = router;
Run Code Online (Sandbox Code Playgroud)

我正在尝试将 prop 传递exists: false给组件。

但在我的实际组件中,当我尝试console.log...

render(){

    console.log(this.props.exists);
        return (
            <Register />
        );
}
Run Code Online (Sandbox Code Playgroud)

我得到undefined而不是true

我怎样才能解决这个问题?这是因为浏览器正在重新渲染页面吗?

javascript node.js reactjs

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

在 POST 请求中解析 req.body

我正在使用fetchAPI 向我的POST请求处理程序发送两个值...

fetch('http://localhost:8080/validation', {
        method:'POST',
        headers: {
            'Accept': 'application/json',
            'Content-Type': 'application/json'
        },
        body: JSON.stringify({
            email:this.state.email,
            password:this.state.password
        })
Run Code Online (Sandbox Code Playgroud)

我想节省email,并password为在服务器端的字符串。这是我的尝试...

type credentials struct {
    Test string
}

func Validate(rw http.ResponseWriter, req *http.Request, _ httprouter.Params) {

    decoder := json.NewDecoder(req.Body)

    var creds credentials

    err := decoder.Decode(&creds)

    if err != nil {
        panic(err)
    }

    fmt.Println(creds.Test)
}
Run Code Online (Sandbox Code Playgroud)

问题是我不知道发送到POST. 我试图保存req.Body为字符串,但这没有任何结果。

当我打印时,fmt.Println我得到一个空格。解析它的正确方法是什么?

post go

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

Tensorflow-如何显示线性回归模型的准确率

我有一个似乎有效的线性回归模型。我首先将和目标列加载到data,之后我实现以下...XY

X_train, X_test, Y_train, Y_test = train_test_split(
    X_data, 
    Y_data, 
    test_size=0.2
)

rng = np.random

n_rows = X_train.shape[0]

X = tf.placeholder("float")
Y = tf.placeholder("float")


W = tf.Variable(rng.randn(), name="weight")
b = tf.Variable(rng.randn(), name="bias")

pred = tf.add(tf.multiply(X, W), b)

cost = tf.reduce_sum(tf.pow(pred-Y, 2)/(2*n_rows))

optimizer = tf.train.GradientDescentOptimizer(FLAGS.learning_rate).minimize(cost)



init = tf.global_variables_initializer()
init_local = tf.local_variables_initializer()

with tf.Session() as sess:

    sess.run([init, init_local])

    for epoch in range(FLAGS.training_epochs):

        avg_cost = 0

        for (x, y) in zip(X_train, Y_train):

            sess.run(optimizer, feed_dict={X:x, Y:y})

        # display logs per epoch …
Run Code Online (Sandbox Code Playgroud)

machine-learning linear-regression python-3.x tensorflow

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

如何为CountVectorizer增加单词的重量

我有一个文档,我被标记,然后我采取另一个文件,我通过计算它们的余弦相似性来比较两者.

但是,在我计算它们的相似度之前,我想提前增加其中一个词的权重.我想通过加倍那个词的数量来做到这一点,但我不知道该怎么做.

假设我有以下......

text = [
    "This is a test",
    "This is something else",
    "This is also a test"
]

test = ["This is something"]
Run Code Online (Sandbox Code Playgroud)

接下来,我定义停用词并调用CountVectorizer两组文档.

stopWords = set(stopwords.words('english'))

vectorizer = CountVectorizer(stop_words=stopWords)

trainVectorizerArray = vectorizer.fit_transform(text).toarray()
testVectorizerArray = vectorizer.transform(test).toarray()
Run Code Online (Sandbox Code Playgroud)

在下一部分中,我计算余弦相似度 ......

cosine_function = lambda a, b : round(np.inner(a, b)/(LA.norm(a)*LA.norm(b)), 3)

for vector in trainVectorizerArray:
    print(vector)
    for testV in testVectorizerArray:
        print(testV)
        cosine = cosine_function(vector, testV)
        print(cosine)
Run Code Online (Sandbox Code Playgroud)

但是,在我计算相似度之前,我怎样才能增加其中一个词的权重.假设在这个例子中我想增加重量something,我该怎么做?我认为你通过增加字数来做到这一点,但我不知道如何增加它.

python machine-learning tf-idf scikit-learn

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

如何使用pytesseract获得每一行的信心

我已经成功设置Tesseract并且可以将图像转换为文本...

text = pytesseract.image_to_string(Image.open(image))
Run Code Online (Sandbox Code Playgroud)

但是,我需要获得每一行的置信度值。我找不到使用pytesseract做到这一点的方法。有人知道怎么做吗?

我知道这可以使用PyTessBaseAPI,但我不能使用它,我花了几个小时试图设置它但没有运气,所以我需要一种使用pytesseract来做到这一点的方法。

ocr tesseract image-processing python-3.x python-tesseract

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

是否有内置函数来创建大小为'n'的随机数列表?

创建随机数列表的标准方法是:

def generateList(n):
    randlist = []
    for i in range(n):
        randlist.append(random.randint(1,9))
    return randlist
Run Code Online (Sandbox Code Playgroud)

但是,我最近偶然发现random.sample,这更加紧凑:

def generateList(n):
    return random.sample(range(1, 10), n)
Run Code Online (Sandbox Code Playgroud)

但如果n大于10,这会导致错误.所以,我的问题是,是否存在一个内置函数,它完全按照我的意图执行而不会遇到错误?如果没有,是否至少有一个更有效的替代第一个摘录(考虑到n可能非常大)?

python random list

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

Haskell-如何在递归函数中跟踪计数器

我在尝试跟踪函数中的计数器变量时遇到了一些困难.

我创建了一个函数,它将一个数字作为单个参数,并递归地将该数字乘以2,将所有数字相乘的两个相加,下面的代码使我更清楚我打算做什么:

sum :: Float -> Float
sum x = x + sum (2*x)
Run Code Online (Sandbox Code Playgroud)

但是,我面临的困难是,我希望这个函数只递归十次.所以我希望一旦添加十个数字就停止它.我尝试使用计数器来跟踪函数递归的次数,但无济于事.

这是我试过的:

sumTen :: Float -> Float
sumTen x n
    where
      n=10
       |n == 0 = x
       |otherwise = x + sumTen (2*x) (n-1)
Run Code Online (Sandbox Code Playgroud)

我意识到上面的代码不起作用,计数器n将通过每次递归调用给出值十,这意味着它永远不会达到基本情况n == 0.

使这如此困难的原因是sumTen必须使用一个参数调用.在上面的代码中,我试图给函数一个n带有预定值的默认参数,但它显然不起作用.

有人可以帮助我在'n'递归调用后使递归函数停止吗?

recursion haskell

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

正则表达式检查密码是否至少包含一个大写字母

我的正则表达式不是很好,我一直试图通过在线搜索来解决这个问题。如何检查输入值(例如密码)是否至少包含一个大写字母?

因此,如果我的密码存储在一个变量中:

var pass = $("#inputPassword").val();
Run Code Online (Sandbox Code Playgroud)

如果我要使用,我的正则表达式会是什么:

regex.test(pass);
Run Code Online (Sandbox Code Playgroud)

请注意,这是我要检查的唯一条件,即密码是否至少包含一个大写字母,仅此而已。

regex jquery

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

使用Node将post数据插入mongoDB

我是节点JS和mongo的新手.

我正在一个将用户信息存储在我的数据库中的个人网站上工作.

为简单起见,假设我在玉器中有以下形式......

form(class="inputs", action="/login", method="post")
    input(type="text", name="email",class="form-control", id="emailLogin", placeholder="Queen's Email")
Run Code Online (Sandbox Code Playgroud)

我已经建立了一个数据库,我可以使用以下javascript连接到它...

var mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/user');
var db = mongoose.connection;

db.on('error', console.error);
db.once('open', function() {
    // Create your schemas and models here.
});
Run Code Online (Sandbox Code Playgroud)

我想email为每个使用上面的表单注册的用户存储输入.

我猜我首先要创建一个可能看起来像这样的架构,但我不确定......

var Schema = mongoose.Schema;

var userSchema = new Schema({
    email: String
});
//I think I have to create a model too?
Run Code Online (Sandbox Code Playgroud)

为了获得POST数据,我想我需要一些看起来像这样的代码......

app.post('/login', function(request, response){
//I am not sure what to put inside
});
Run Code Online (Sandbox Code Playgroud)

我的问题是,有人可以告诉我如何一起实现所有这些,以便每次用户注册他们的电子邮件,它都保存在数据库中.很难对此进行研究,并多次尝试和失败.

编辑

这是我的index.js档案......

var express = …
Run Code Online (Sandbox Code Playgroud)

javascript mongodb node.js

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

二叉树获取每个级别的所有节点

我正在尝试解决以下问题,假设我有这个二叉树......

       3
      / \
     9  20
       /  \
      15   7
Run Code Online (Sandbox Code Playgroud)

然后我需要获取每个级别的所有节点,所以我的结果将是......

[[3],[9,20],[15,7]]
Run Code Online (Sandbox Code Playgroud)

我相信我正在接近解决方案,但我不确定我哪里出错了,如果有人可以帮助我解决我的解决方案,那就太好了,如果我走错了路,请告诉我。

我的第一步是使用以下函数获取树的深度......

def get_depth(self, root):
    if root.left == None and root.right == None:
        return 1
    return max(self.get_depth(root.left), self.get_depth(root.right)) + 1
Run Code Online (Sandbox Code Playgroud)

深度是3

接下来我调用了一个函数,该函数旨在给我预期的结果......

def levelOrder(self, root):
    depth = self.get_depth(root)
    return self.find_comb(root, [[]]*depth, 0)

def find_comb(self, root, result, level):
    if root is None:
        return None
    self.find_comb(root.left, result, level+1)
    self.find_comb(root.right, result, level+1)
    result[level].append(root.val)
    return result
Run Code Online (Sandbox Code Playgroud)

我的思考过程是,我将递归遍历树,并且level参数将跟踪我当前所在的级别。然后我会将该root.val级别上的所有内容附加到该索引的结果中。

假设我在 level 上1(我们从 0 开始),那么 level 上的节点 …

python algorithm tree recursion binary-tree

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