小编die*_*lar的帖子

在gnuplot中绘制x函数的阶乘因子?

我试图x!在gnuplot中绘制函数,我首先定义了阶乘函数然后调用它,但是我总是得到堆栈溢出,无论我设置为图形的界限.

这就是我尝试过的:

gnuplot>  fac(n) = (n==0) ? 1 : n * fac(n-1)  
gnuplot> plot [0:10][0:10] log(fac(x)), log(x**x)  
stack overflow
Run Code Online (Sandbox Code Playgroud)

plot graph gnuplot

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

应该如何设置针对高需求应用程序的node.js堆栈?

我目前正在研究超过25000人使用的Node.js堆栈应用程序,我们特别使用Sails.js框架,我们得到的MongoDB应用程序运行在具有30GB RAM的EC2实例上,数据库运行在Mongolab上基于AWS的集群在EC2所在的同一区域中.我们甚至有一个1.5GB的Elastic Cache Redis实例用于存储.

因此,我们面临的主要和巨大问题是延迟.当我们达到请求应用程序的并发用户的峰值时,我们得到多个超时和sails应用程序达到超过7.5GB的RAM,对API的HTTP请求花费的时间超过15秒(这是不可接受的),甚至得到502和504的响应发送nginx的.

我可以注意到Mongo写入操作是我们的主要延迟问题,但是当存在需求峰值时,即使GET请求也需要很长时间.我无法访问生产服务器,我只有pm2(实际上很棒)和New Relic警报的keymetrics监控工具.

所以,我想知道一些应对这些问题的路线图,也许应该提供更详细的信息,到目前为止,我可以说当没有太多用户时,应用程序看起来很稳定.

要考虑哪些主要因素和设置?

到目前为止,我知道我应该做的,但我不知道有关细节或怎么样了.

恕我直言:

  1. 尽可能缓存.
  2. 延迟MongoDB写操作.
  3. 具有更高写入需求的单独Mongo数据库.
  4. 虚拟化?
  5. 调整节点设置.

在优化代码时,我发布了另一个stackoverflow问题,其中包含一个我正在遵循代码模式示例.

您对生产应用有何建议和意见?

mongodb node.js sails.js mean-stack

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

如何检测节点生成的进程是否仍在运行?

我可以产生一个像这样的过程:

var spawn = require('child_process').spawn;

var topicListener = spawn('python', ['topic_listener.py','Node.js'], {env: {
    TWITTER_CONSUMER_SECRET: process.env.TWITTER_CONSUMER_SECRET,
    TWITTER_CONSUMER_KEY: process.env.TWITTER_CONSUMER_KEY,
    TWITTER_TOKEN_SECRET: process.env.TWITTER_TOKEN_SECRET,
    TWITTER_ACCESS_TOKEN: process.env.TWITTER_ACCESS_TOKEN
}});

topicListener.stdout.on('data', function (data) {
    console.log(data.toString());
});

topicListener.stderr.on('data', function (data) {
    console.log(data.toString());
});

topicListener.on('close', function (code) {
    console.log("EXITED " + code);
});
Run Code Online (Sandbox Code Playgroud)

所以当然我可以异步控制它,.on(close, ...)但是有没有其他方法可以控制一个进程是否还活着?

spawn node.js

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

我应该如何为一位/两位数字序列编写 python 正则表达式?

我正在尝试为“用可选的多个空格或可选的单个逗号分隔的一位或两位数字序列”创建一个 python 正则表达式。

例如:

"   1"  Should tests good
"    1  2     3 3  4 5 7 17" Should test good
" 1, 2,3,11,74" Should test good
"1,11,14, 15" Should test good

"111, 101" Should not test good
"1 2 3  a" Should not test good
"1, 25, 5.0 " Should not test good
"1,, 7, 80" Should not test good
"1,11,14," Should not test good
Run Code Online (Sandbox Code Playgroud)

逗号符号只能出现在数字(或空格)之间。这就是为什么最后一个例子测试不理想的原因。

我尝试过这个

^\s*\d{1,2}(\s*\,?\d{1,2}\s*\,?)*\s*$
Run Code Online (Sandbox Code Playgroud)

但得到的结果并不好,例如“11111”就测试得很好。我应该如何编写我的正则表达式?

python regex

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

如何使用historyApiFallback和代理远程api请求设置webpack dev服务器?

我有一个使用的react应用程序react-router,因此它正在使用HTML5历史记录API,我尝试historyApiFallback设置true为服务404路径服务相同index.html而不是返回HTTP响应.

该单页应用程序向远程 API服务器发出一些请求,这就是为什么我还需要将一些请求代理到我正在开发时运行的快速服务器.Web反应应用程序在端口3000上提供,API在端口3001上运行.

所以我试过了:

devServer:{
    contentBase: 'src/www',  //Relative directory for base of server
    devtool: 'eval',
    hot: true,        //Live-reload
    inline: true,
    port: 3000,        //Port Number
    host: 'localhost', //Change to '0.0.0.0' for external facing server
    historyApiFallback: true,
    proxy: {
      '^\/users|sitters|bookings': {
        target: 'http://127.0.0.1:3001',
        rewrite: function(req) {
          req.url = req.url.replace(/^\/api/, '');
        }
      }
    }
  },
  devtool: 'eval',
  output: {
    path: buildPath,    //Path of output file
    filename: 'app.js'
  },
Run Code Online (Sandbox Code Playgroud)

所以,我如果请求的路径开始我想要的击球远程API服务器无论是/users/sitters/bookings …

webpack webpack-dev-server

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

使用Open Shift PaaS部署nodejs应用程序

我从Open Shift PaaS开始,我选择了一个node.js应用程序作为我的第一次尝试.

到目前为止,当我尝试访问我的应用网站时,我得到了503.

我试过了:

  • 设置我的github仓库,
  • 在github上设置ssh键并使Open Shift拥有它,
  • 用express创建了一个非常简单的应用程序(我用npm安装快递)
  • 确实提交并推动了所有更改,
  • 我确实安装了rhc并运行 rhc app restart -a nodejs

但我无法让它发挥作用.

rhc tail -a nodejs输出:

DEBUG: Error: Cannot find module '/var/lib/openshift/531be41fe0b8cd3d12000003/app-root/runtime/repo/server.js'
    at Function._resolveFilename (module.js:337:11)
    at Function._load (module.js:279:25)
    at Array.0 (module.js:484:10)
    at EventEmitter._tickCallback (node.js:190:38)

DEBUG: Program node server.js exited with code 1

DEBUG: Starting child process with 'node server.js'
Run Code Online (Sandbox Code Playgroud)

这是我的app.js档案:

var express = require('express')
var server = new express()
server.use(express.static(__dirname+"/public"))


server.get('/', function (request, response) {
    response.send(200)
})

server.listen(process.env.OPENSHIFT_NODEJS_PORT || …
Run Code Online (Sandbox Code Playgroud)

paas node.js express openshift

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

添加 Java 脚本库作为 npm 依赖项或简单地将它们包含在 HTML 中之间有什么区别?

查看npm 加星标的软件包,我发现一些项目(例如Gruntlodashunderscore )是可用的。

我一直以经典的方式使用它们:

<script src="js/lib/lodash.min.js"></script>
Run Code Online (Sandbox Code Playgroud)

它有何不同?我将如何使用node_modules包中获得的它们?

javascript node.js npm

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

在Java中获取元音出现的正则表达式?

为了编写 ID 生成器,我必须获得第一个元音外观,而忽略姓氏中的第一个字母。

我编码:

public static Character primeraVocal(String apellido) {

    for (Character c : apellido.toUpperCase().substring(1).toCharArray()) {
        if (c.equals('A') || c.equals('E') || c.equals('I') || c.equals('O') || c.equals('U'))
            return c;
    }

    return '!';
}
Run Code Online (Sandbox Code Playgroud)

但是我知道这将是使用正则表达式的一行代码。它会是什么样子?

java regex text

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

除了 Haar 级联之外,还有哪些算法或方法可用于自定义对象检测?

我需要执行计算机视觉任务才能检测水瓶或汽水罐。我将获得瓶子、汽水罐或任何其他随机物体的“正面”图像(一个接一个),我的算法应该确定它是瓶子、罐头还是其中任何一个

关于物体检测场景的一些细节:

  • 如前所述,我将在每个图像/视频帧中测试一个对象。
  • 并非所有的水瓶都是一样的。塑料、盖子或标签可能有颜色变化。也许有些人拿不到标签或盖子。
  • 汽水罐的变化也是如此。不过,不会测试皱巴巴的汽水罐。
  • 对象之间可能存在小的尺寸差异。
  • 我可以有绿色(或任何自定义颜色)背景。
  • 我会在图像上做任何需要的过滤器。
  • 这将在 Raspberry Pi 上运行。

以防万一,举一个例子:

在此处输入图片说明 在此处输入图片说明

我已经测试了几次 OpenCV 人脸检测算法,我知道它工作得很好,但我需要获得一个特殊的 Haar Cascades 功能 XML 文件来检测这种方法上的每个自定义对象。

因此,我想到的不同选择是:

我想获得一个简单的算法,我认为甚至不需要创建自定义 Haar 分类器。你有什么建议?

更新

我强烈考虑了形状/长宽比方法。

但是,我想我正面临一些问题,因为瓶子的大小甚至形状各不相同。但这让我思考或设定了以下考虑:

  • 我正在使用 THRESH_BINARY 方法应用阈值。(感谢答案)。
  • 我将使用白色背景进行检测。
  • 汽水罐都是一样大的。
  • 因此,具有高精度的汽水罐边界框可能会区分罐头。

我所取得的成就:

阈值真的对我有帮助,我可以注意到在白色背景测试中我会获得罐头:

在此处输入图片说明 在此处输入图片说明 在此处输入图片说明 在此处输入图片说明 在此处输入图片说明

这是从瓶子中获得的:

在此处输入图片说明 在此处输入图片说明 在此处输入图片说明 在此处输入图片说明

因此,较暗的区域留下优势是显而易见的。在某些情况下,这可能会变成假阴性。对于瓶子,光线和角度可能会导致不一致的结果,但我真的认为这可能是一种更短的方法。

所以,我现在很困惑我应该如何评估黑暗支配地位,我读过findContours导致它但我对如何抓住这种功能感到非常迷茫。例如,在汽水罐的情况下,它可能会找到几个轮廓,所以我不知道要评估什么。

注意:我愿意测试与 Open CV 不同的任何其他算法或库。

algorithm opencv object-detection computer-vision

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

使用Semaphores解决这种情况的最佳解决方案是什么?

我想尝试Java Semaphores,所以我想到了这个问题:

有一个火车站和两条铁路正在穿越,一个在东边,另一个在南边.因此,当然我们应该在每个铁路的十字架末端获得传感器,这些传感器告诉我们火车何时越过,南部或东部铁路可以允许火车开始.

到目前为止,我认为传感器将是Semaphores,火车课程将是Threads,我可以有任何类型的铁路课程,我扔火车运行.

问题的模型

我是Java Semaphores的新手,任何建议都将不胜感激

java concurrency semaphore

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