我现在已经进入strtoupper($_SERVER['REQUEST_METHOD'])了我的代码.
但这是strtoupper必要的电话吗?为$_SERVER['REQUEST_METHOD']保证被已经是大写吗?
在巴贝尔节点文档进行严厉的警告:
不适合生产使用
你不应该
babel-node在生产中使用.由于高速缓存存储在存储器中,因此存储器使用率很高,这是不必要的.您还将始终体验启动性能损失,因为整个应用程序需要动态编译.
让我们打破这个:
内存使用情况 - 嗯?无论如何,所有模块都会在内存中"缓存",以保证应用程序的生命周期.他们在这里得到了什么?
启动惩罚 - 这是一个性能问题?部署Web应用程序已经需要几秒钟(如果您在CI中进行测试,则需要几分钟).添加半秒到启动意味着什么.事实上,如果启动时间在任何地方都很重要,那么它在开发中比生产更重 如果您经常重启Web服务器以至于启动时间成为问题,那么您就会遇到更大的问题.
此外,没有关于在生产中使用Babel的require hook(require('babel-register'))的警告,尽管这可能与babel-node完全相同.例如,您可以执行node -r babel-register server.js并获得与之相同的行为babel-node server.js.(我的公司在数百个微服务中完成了这一点,没有任何问题.)
巴贝尔的警告只是FUD,还是我错过了什么?如果警告有效,为什么它也不适用于Babel require hook?
相关:在生产中使用babel-node是否可以 - 但是这个问题只是询问是否建议使用生产,答案只是引用官方建议,即"否".相反,我质疑官方建议背后的原因.
我知道你可以使用一个简单的循环来重写一个递归函数,使用一个数组作为"剩下要完成的工作"的先进先出队列.我听说这使得堆栈溢出的可能性降低.
但是如果堆栈溢出不是问题(因为你没有非常深地递归),有没有理由更喜欢迭代而不是递归?它更快吗?
我最感兴趣的是V8上的JavaScript.
我在测试文件中得到了这些Flow错误:
identifier `test`
Could not resolve name
identifier `expect`
Could not resolve name
Run Code Online (Sandbox Code Playgroud)
我已经从flow-typed安装了Jest libdef,但它没有任何区别.
更新:看起来像flow-typed创建的Jest libdef只是一个存根.我认为问题是flow-typed还没有Jest v0.21.x的libdef.
什么方面的承诺库的不规范不覆盖?实施之间有什么不同?
请举例说明实际差异(例如Bluebird和Q之间).
Async库具有eachLimit等功能,可用于在多个CPU内核上有效地分布大批作业,如下所示:
var numCPUs = require('os').cpus().length;
var exec = require('child_process').exec;
async.eachLimit(someArray, numCPUs, function (value, done) {
exec('something --input' + value, done);
}, finalCallback);
Run Code Online (Sandbox Code Playgroud)
这可以避免一次过多的命令使系统过载,但仍会利用多个CPU.
我想用Promises做同样的事情.
在Bluebird API中,我看不到任何明显的方式来使用Async这样简洁,富有表现力的方式进行这种批处理.
使用Bluebird(或通常使用Promise)有一个很好的模式吗?或者我可以使用的任何其他实用程序库?
什么是路径的"片段"?(包括文件夹名称,文件名,和类似的东西..或.)
../foo/bar/baz
? ? ? ?
or
https://example.com/foo/bar/baz
? ? ?
Run Code Online (Sandbox Code Playgroud)
术语是否因操作系统或上下文而异?
我想将描边路径转换为填充对象.(以编程方式,在JavaScript中.)
这条线只是一条简单的曲线,一系列坐标.我可以将这条线渲染成一条路径,然后给它一个特定厚度的笔划......但我试图得到一个填充的形状而不是一条描边线,这样我就可以对它进行进一步的修改,比如翘曲它,所以产生的"笔划"可能会有不同的厚度或者有自定义位被切掉(据我所知,这些东西都不可能用真正的SVG笔划).
所以我试图手动将一条线"加厚"成一个坚固的形状.我找不到任何这样做的功能 - 我查看了D3.js和Raphaël的文档,但没有运气.有谁知道这样做的库/函数?
或者,甚至更好:如果有人能够向我解释关于我将如何手动执行此任务的几何理论,通过获取我所拥有的线坐标列表并制定出有效"抚摸"它的新路径,这将是惊人的.换句话说,当你告诉它描述一条路径时,浏览器会做什么- 它如何确定描边应该是什么形状?
我有一个我正在部署到Heroku的Node应用程序.他们的文档说最好检查你的node_modules目录(即不要 gitignore),以便更快地部署和开发/生产奇偶校验.
在我package.json,我有很多devDependencies(大多是Grunt插件和他们所有的deps)和一些常规生产,dependencies如Express.Heroku只需要生产代表.我宁愿不检查所有的开发设备,因为它们大约50MB.
有没有办法为你开发一个单独的文件夹,例如node_modules_dev?如果这是可能的,那么我可以添加node_modules_dev到我的.gitignore,并node_modules根据Heroku的建议检查常规生产目录.
有没有办法做到这一点?或者你能想到另一种方法去做我想做的事吗?
javascript ×3
babeljs ×2
bluebird ×2
node.js ×2
promise ×2
asynchronous ×1
d3.js ×1
flow-typed ×1
flowtype ×1
heroku ×1
iteration ×1
jest ×1
node-modules ×1
path ×1
php ×1
q ×1
raphael ×1
recursion ×1
rsvp-promise ×1
svg ×1
terminology ×1