我试图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) 我目前正在研究超过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监控工具.
所以,我想知道一些应对这些问题的路线图,也许应该提供更详细的信息,到目前为止,我可以说当没有太多用户时,应用程序看起来很稳定.
要考虑哪些主要因素和设置?
到目前为止,我知道我应该做的,但我不知道有关细节或怎么样了.
恕我直言:
在优化代码时,我发布了另一个stackoverflow问题,其中包含一个我正在遵循的代码模式示例.
您对生产应用有何建议和意见?
我可以产生一个像这样的过程:
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, ...)但是有没有其他方法可以控制一个进程是否还活着?
我正在尝试为“用可选的多个空格或可选的单个逗号分隔的一位或两位数字序列”创建一个 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”就测试得很好。我应该如何编写我的正则表达式?
我有一个使用的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 …
我从Open Shift PaaS开始,我选择了一个node.js应用程序作为我的第一次尝试.
到目前为止,当我尝试访问我的应用网站时,我得到了503.
我试过了:
rhc app restart -a nodejs但我无法让它发挥作用.
的rhc tail -a nodejs输出:
Run Code Online (Sandbox Code Playgroud)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'
这是我的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) 查看npm 加星标的软件包,我发现一些项目(例如Grunt、lodash或underscore )是可用的。
我一直以经典的方式使用它们:
<script src="js/lib/lodash.min.js"></script>
Run Code Online (Sandbox Code Playgroud)
它有何不同?我将如何使用node_modules包中获得的它们?
为了编写 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)
但是我知道这将是使用正则表达式的一行代码。它会是什么样子?
我需要执行计算机视觉任务才能检测水瓶或汽水罐。我将获得瓶子、汽水罐或任何其他随机物体的“正面”图像(一个接一个),我的算法应该确定它是瓶子、罐头还是其中任何一个。
关于物体检测场景的一些细节:
以防万一,举一个例子:

我已经测试了几次 OpenCV 人脸检测算法,我知道它工作得很好,但我需要获得一个特殊的 Haar Cascades 功能 XML 文件来检测这种方法上的每个自定义对象。
因此,我想到的不同选择是:
我想获得一个简单的算法,我认为甚至不需要创建自定义 Haar 分类器。你有什么建议?
我强烈考虑了形状/长宽比方法。
但是,我想我正面临一些问题,因为瓶子的大小甚至形状各不相同。但这让我思考或设定了以下考虑:
我所取得的成就:
阈值真的对我有帮助,我可以注意到在白色背景测试中我会获得罐头:

这是从瓶子中获得的:

因此,较暗的区域留下优势是显而易见的。在某些情况下,这可能会变成假阴性。对于瓶子,光线和角度可能会导致不一致的结果,但我真的认为这可能是一种更短的方法。
所以,我现在很困惑我应该如何评估黑暗支配地位,我读过findContours导致它但我对如何抓住这种功能感到非常迷茫。例如,在汽水罐的情况下,它可能会找到几个轮廓,所以我不知道要评估什么。
注意:我愿意测试与 Open CV 不同的任何其他算法或库。
我想尝试Java Semaphores,所以我想到了这个问题:
有一个火车站和两条铁路正在穿越,一个在东边,另一个在南边.因此,当然我们应该在每个铁路的十字架末端获得传感器,这些传感器告诉我们火车何时越过,南部或东部铁路可以允许火车开始.
到目前为止,我认为传感器将是Semaphores,火车课程将是Threads,我可以有任何类型的铁路课程,我扔火车运行.

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