小编Tar*_*lah的帖子

将NodeJ与Firebase一起使用 - 安全性

由于需要做一些服务器端代码 - 主要是发送电子邮件,我决定使用Nodejs&Express作为服务器端元素以及Firebase来保存数据 - 部分来自学习经验.

我的问题是在使用Simple Email&Password API进行身份验证时使用客户端Firebase库和Nodejs库的最佳方法.如果我执行身份验证客户端,然后在NodeJS端调用不同的路由,则会在请求中执行该用户的身份验证.在Node中验证测试用户的方法是什么.

我假设的一种方法是从firebase获取当前用户的用户名和密码,然后将这些用户名和密码发布到NodeJS,然后使用服务器上的firebase安全API进行测试.

node.js firebase

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

在向Node-http-proxy Node.js发送请求时挂起套接字

我在Node.js项目中工作,我希望节点充当solr的代理

对于代理:我使用了Node-http-proxy.问题是,在获取请求的情况下代理工作非常好,但是在发出请求的情况下,它会导致套接字挂起异常

这是我的节点代码示例

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

var http = require('http');
var httpProxy = require('http-proxy')

var proxyOptions = {
  host: "127.0.0.1",
  port: 8983
};
var proxy = httpProxy.createProxyServer(proxyOptions);

// It works excellent in GET request
router.get('/solr/*', function(req, res) {
  proxy.web(req, res, {
    target: 'http://' + proxyOptions.host + ':' + proxyOptions.port
  });
})

// the socket hang up in post request
router.post('/solr/*', function(req, res) {
  console.log('Post Request');
  proxy.web(req, res, {
    target: 'http://' + proxyOptions.host + …
Run Code Online (Sandbox Code Playgroud)

javascript proxy solr node.js express

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

在javascript中使用rest参数和spread运算符

在ECMAScript 6中添加的rest参数的用途是什么?

例如,在ECMAScript 5中,您可以执行以下操作以从第二个元素开始获取参数数组:

// ES 5
store('Joe', 'money');
store('Jane', 'letters', 'certificates');
function store(name) {
  var items = [].slice.call(arguments, 1); //['money'] in first case
  items.forEach(function (item) {
    vault.customer[name].push(item);
  });
}
Run Code Online (Sandbox Code Playgroud)

这将等同于ECMAScript 6中的以下代码:

// ES 6
store('Joe', 'money');
store('Jane', 'letters', 'certificates');
function store(name, ...items) {
  items.forEach(function (item) {
    vault.customer[name].push(items)
  });
}
Run Code Online (Sandbox Code Playgroud)

它们之间的区别仅仅是语法还是存在性能问题?

也适用于传播运营商(...)

//in ecmascript5
var max = Math.max.apply(null, [14, 3, 77]);
//but in ecmascript6
var max = Math.max(...[14, 3, 77]);
Run Code Online (Sandbox Code Playgroud)

这只是语法更改还是性能问题?

javascript ecmascript-5 ecmascript-6 spread-syntax

15
推荐指数
3
解决办法
8119
查看次数

拆分非阿拉伯字符

我有这样的字符串

????::????::???::??? (???)::????
Run Code Online (Sandbox Code Playgroud)

我想用java将它拆分为非阿拉伯字符

这是我的代码

String s = "????::????::???::??? (???)::????";
String[] arr = s.split("^\\p{InArabic}+");
System.out.println(Arrays.toString(arr));
Run Code Online (Sandbox Code Playgroud)

输出是

[, ::????::???::??? (???)::????]
Run Code Online (Sandbox Code Playgroud)

但我希望输出是

[????,???,???,???,????]
Run Code Online (Sandbox Code Playgroud)

所以我不知道这有什么问题?

java regex

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

在二叉搜索树中查找maxdepth

这是二叉搜索树的代码

#include<stdio.h>
#include<conio.h>
#include"malloc.h"

struct node
{
    int data;
    struct node* left;
    struct node* right;
};
int size(struct node* n)
{
    if(n==NULL)
       return 0;
    else
       return (size(n->left)+1+size(n->right));
}

int maxdepth(struct node* n)
{
    int ldepth,rdepth;
    if(n==NULL)
    {
       return 0;
    }
    else
    {
       ldepth=maxdepth(n->left);
       rdepth=maxdepth(n->right);
       if(ldepth>rdepth)
          return (ldepth+1);
       else
          return (rdepth+1);
    }
}

int lookup(struct node* node,int target)
{
    if(node==NULL)
       return 0;
    else if(target==node->data)
       return 1;
    else if(target<node->data)
       return(lookup(node->left,target));
    else
       return(lookup(node->right,target));
}

struct node* newnode(int data)
{
     struct node* newnod=(struct node*)malloc(sizeof(struct …
Run Code Online (Sandbox Code Playgroud)

c binary-tree

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

点击标签 - 饼图jQuery Flot

我正在使用jQuery flot饼图,我在交互式饼图中使用了嵌入式标签.当我单击饼图中的某个扇区时,它会显示警告,但是当我点击嵌入在扇区中的标签时,它不会响应点击操作.这有什么解决方案吗?

我的源代码

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script src="http://static.pureexample.com/js/flot/excanvas.min.js"></script>
<script src="http://static.pureexample.com/js/flot/jquery.flot.min.js"></script>
<script src="http://static.pureexample.com/js/flot/jquery.flot.pie.min.js"></script>

<!-- CSS -->
<style type="text/css">
#flotcontainer {
    width: 600px;
    height: 400px;
    text-align: left;
}
</style>

<!-- Javascript -->
<script type="text/javascript">
$(function () { 
    var data = [
        {label: "data1", data:10},
        {label: "data2", data: 20},
        {label: "data3", data: 30},
        {label: "data4", data: 40},
        {label: "data5", data: 50},
        {label: "data6", data: 60},
        {label: "data7", data: 70}
    ];

    var options = {
            series: {
                pie: {
                    show: true,
                    radius: 1,
                    tilt: 0.5, …
Run Code Online (Sandbox Code Playgroud)

javascript jquery charts flot

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

使用node.xs使用application/x-www-form-urlencoded在post请求中发送数组

我试图向API发送post请求,post参数应该是数组,这是如何在cURL中发送它

curl http://localhost:3000/check_amounts
  -d amounts[]=15 \
  -d amounts[]=30
Run Code Online (Sandbox Code Playgroud)

我尝试使用请求模块在Node.js中执行此操作

request.post('http://localhost:3000/check_amounts', {
        form: { 
                'amounts[]': 15 ,
                'amounts[]': 30
              }
    }, function(error, response, body) {
        console.log(body)
        res.json(body);
    });
Run Code Online (Sandbox Code Playgroud)

但第二个金额覆盖第一个金额,API获得如下结果: amounts = [30]

然后我尝试以不同的方式发送它

 request.post('http://localhost:3000/check_amounts', {
            form: { 
                    'amounts[]': [ 15 , 30]
                  }
        }, function(error, response, body) {
            console.log(body)
            res.json(body);
        });
Run Code Online (Sandbox Code Playgroud)

但结果并不像预期的那样 amounts = [{"0":15},{"1":30}]

注意:标题应包含'Content-Type':'application/x-www-form-urlencoded'not'application/json'

有没有人能解决这个问题?

javascript post node.js express

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

Servlet HTTP 500 - NullPointerException

我刚刚开始使用J2E.

NullPointerException排队了:

if (!userName.equals("") && userName != null)
Run Code Online (Sandbox Code Playgroud)

当我像这样运行服务器:

http://localhost:8080/SimpleServletProject/SimpleServletPath?name=test
Run Code Online (Sandbox Code Playgroud)

它完美地运作.但不接受null.

整码:

package org.mojservlet;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;


@WebServlet("/SimpleServletPath")
public class SimpleServlet extends HttpServlet {
private static final long serialVersionUID = 1L;


protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    System.out.println("get method");
    response.setContentType("text/html");
    PrintWriter writer = response.getWriter();
    String userName = request.getParameter("name");
    HttpSession session = request.getSession();
    ServletContext context = request.getServletContext();
    if (!userName.equals("") && …
Run Code Online (Sandbox Code Playgroud)

java

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