小编nab*_*nab的帖子

Node.js和Amazon S3:如何遍历存储桶中的所有文件?

Node.js是否有任何Amazon S3客户端库允许列出S3存储桶中的所有文件?

最知名的aws2jsknox似乎没有这个功能.

amazon-s3 node.js

44
推荐指数
5
解决办法
5万
查看次数

linux控制台中的模糊文件搜索

有没有人知道从linux控制台执行快速模糊搜索的方法?

当我需要在项目中找到文件但我不记得确切的文件名时,我常常遇到这种情况.在Sublime文本编辑器中,我将按Ctrl-P并键入名称的一部分,这将生成可供选择的文件列表.这是一个让我很满意的惊人功能.问题是在大多数情况下我必须通过ssh浏览远程机器上的控制台中的代码.所以我想知道是否有一个类似于Linux控制台的"Go Anywhere"功能的工具?

linux bash file-search

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

使用Node.js编写大文件

我正在使用可写流编写node.js的大文件:

var fs     = require('fs');
var stream = fs.createWriteStream('someFile.txt', { flags : 'w' });

var lines;
while (lines = getLines()) {
    for (var i = 0; i < lines.length; i++) {
        stream.write( lines[i] );
    }
}
Run Code Online (Sandbox Code Playgroud)

我想知道这个方案是否安全而不使用drain事件?如果不是(我认为是这种情况),将任意大数据写入文件的模式是什么?

large-files node.js

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

Node.js控制流程:回调还是承诺?

我知道node.js 有很多控制流库.其中一些让一个链异步函数与回调(如async,asyncblock等),其他使用promise概念(Q,延期,期货等).鉴于长时间运行的脚本会一个接一个地执行一系列可能随时失败的操作,您更喜欢哪种控制流程?为什么?优缺点都有什么?

control-flow node.js

18
推荐指数
2
解决办法
4882
查看次数

使用日志消息退出node.js脚本的正确方法是什么?

我有一个node.js脚本,它使用WriteStream对文件进行一些日志记录.在某些事件上,我想停止执行脚本,即警告记录并在此之后立即退出.asyncronious node.js不允许我们直接这样做:

#!/usr/local/bin/node

var fs = require('fs');
var stream = fs.createWriteStream('delme.log', { flags: 'a' });

stream.write('Something bad happened\n');
process.exit(1);
Run Code Online (Sandbox Code Playgroud)

而不是将消息附加到delme.log,此脚本不会对该文件执行任何操作.处理'退出'事件和刷新不起作用.写了这么远exitting发现之前的最后一个日志消息的唯一途径是包装process.exit(1)setTimeout():

#!/usr/local/bin/node

var fs = require('fs');
var stream = fs.createWriteStream('delme.log', { flags: 'a' });

stream.write('Something bad happened\n');
setTimeout(function(){
  process.exit(1);
}, 30);
Run Code Online (Sandbox Code Playgroud)

但是在这种形式下,它不会立即停止脚本执行,并且在关键事件发生后脚本将运行一段时间.所以我想知道是否还有其他方法可以通过日志消息退出脚本?

node.js

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

为什么要关心Node.js中的尾随逗号?

在大多数Node.js库中,人们需要特别注意在最后一个key-property对象之后删除尾随逗号:

var test = {
    key1: 123,
    key2: 456,
    key3: 789
};
Run Code Online (Sandbox Code Playgroud)

这会在编辑代码时产生一些麻烦,例如,交换最后两个键值对,也可以添加一个逗号并删除一个.有些人将逗号移到下一行,这解决了最后一个元素的问题,但也使代码更难阅读(恕我直言):

var test = {
      key1: 123
    , key2: 456
    , key3: 789
};
Run Code Online (Sandbox Code Playgroud)

另一方面,据我所知,JavaScript中的尾随逗号仅在某些IE浏览器中产生麻烦.所以我想知道是否有任何技术原因不在Node.js中用尾随逗号写哈希?(如下:)

var test = {
    key1: 123,
    key2: 456,
    key3: 789,        
};
Run Code Online (Sandbox Code Playgroud)

javascript node.js

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

Akka和Scala演员演员:本地使用有什么区别?

我知道Akka是一个功能强大的(actor模型)框架,能够在分布式系统上同时运行任务.我知道Scala中的actor模型实现有很好的比较.但我仍然想知道在内置的Scala演员中使用Akka进行多核机器本地计算是否有任何好处?哪一个在内存/ CPU使用方面更有效?

scala actor akka

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

如何从Scala执行shell builtin

我需要检查一些系统设置,例如ulimit -nLinux中的Scala脚本.如果我处理普通的命令,我会使用scala.sys.process像:

import scala.sys.process._
println("ls -lha".!!)
Run Code Online (Sandbox Code Playgroud)

不幸的是,这对shell内置函数不起作用.有没有办法从Scala中内置的shell中捕获输出?

更新:

我尝试了sh -c "ulimit -n"几种形式的通常技巧而没有运气; 以下所有命令均失败:

"sh -c 'ulimit -n'".!!
"sh -c \"ulimit -n\"".!!
"""sh -c "ulimit -n"""".!!
"""sh -c "ulimit -n """ + "\"".!!
Run Code Online (Sandbox Code Playgroud)

我在REPL中遇到运行时错误:

-n": 1: Syntax error: Unterminated quoted string
java.lang.RuntimeException: Nonzero exit value: 2
    at scala.sys.package$.error(package.scala:27)
    at scala.sys.process.ProcessBuilderImpl$AbstractBuilder.slurp(ProcessBuilderImpl.scala:131)
    at scala.sys.process.ProcessBuilderImpl$AbstractBuilder.$bang$bang(ProcessBuilderImpl.scala:101)
    at .<init>(<console>:11)
    at .<clinit>(<console>)
    at .<init>(<console>:11)
    at .<clinit>(<console>)
    at $print(<console>)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:601)
    at scala.tools.nsc.interpreter.IMain$ReadEvalPrint.call(IMain.scala:704)
    at scala.tools.nsc.interpreter.IMain$Request$$anonfun$14.apply(IMain.scala:920) …
Run Code Online (Sandbox Code Playgroud)

linux shell scala

8
推荐指数
2
解决办法
5099
查看次数

Scala Cake Pattern:将大型组件拆分为单独的文件

我想使用Cake Pattern将某些软件系统的各个部分拆分成组件,使其完全模块化,如本文所述.在最简单的情况下,我想要一些可模拟的组件,比如说Logging,Config,Database,Scripts等可能会互相使用.代码可能看起来像

trait AbstractConfig {
  def config: AbstractConfigInterface
  trait AbstractConfigInterface {
    def test: Unit
  }
}

trait SomeConfig extends AbstractConfig {
  this: Core =>  
  def config = SomeConfigImplementation
  object SomeConfigImplementation extends AbstractConfigInterface {
    def test = println("conf.test method called")
  }
}

trait AbstractDatabase {
  def database: AbstractDatabaseInterface
  trait AbstractDatabaseInterface {
    def connect: Unit
  }
}

trait SomeDatabase extends AbstractDatabase {
  this: Core =>
  def database = SomeDatabaseImplementation
  object SomeDatabaseImplementation extends AbstractDatabaseInterface {
    def connect = {
      println("connect method …
Run Code Online (Sandbox Code Playgroud)

scala cake-pattern

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

MongoDB总存储大小

我有一个分片和复制的MongoDB,有数十亿条记录.我知道Mongo用一些填充因子写数据,以允许快速更新,我也知道要复制数据库Mongo应该存储操作日志,这需要一些(实际上,很多)空间.即使有这些知识,我也不知道如何根据典型数据库记录的大小来估计Mongo所需的实际大小.到目前为止,每周维修之间的差异为2 - 3.

所以问题是:如何根据平均记录大小(以字节为单位)估算MongoDB所需的总存储大小?

mongodb

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