小编Iva*_*gin的帖子

在Scala中打印数组

我对最基本的Scala操作有问题,这让我发疯.

val a = Array(1,2,3)

println(a)   and result is [I@1e76345

println(a.toString()) and result is [I@1e76345

println(a.toString) and result is [I@1e76345
Run Code Online (Sandbox Code Playgroud)

任何人都可以告诉我如何打印数组而不编写我自己的功能,因为那是愚蠢的.谢谢!

arrays scala

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

node.js中的Snake_case或camelCase

所以我有node.js应用程序向客户端公开一些API并连接到某个SQL数据库.首先介绍一些前提:

  1. 客户端必须使用带有snake_case的 API (请求主体中发送的JSON对象中的键是snake_case).
  2. 数据库列名也是snake_case.

问题是因为javascript标准/实践正在使用我想保留的camelCase.

所以我看到有3种解决方案:

  1. 根据需要,将数据从snake(API)转换为camel(应用程序)到snake(数据库).这将为系统引入一些新的层,并且所有这些层都比其他解决方案复杂得多.
  2. 在node.js app中使用snake_case.但无论我是否使用了蛇,我使用的所有其他依赖关系仍然会在骆驼中解决整个问题.
  3. 在node.js app中混合使用snake_case和camelCase.这是我想避免的:)

所以你有什么建议?我最喜欢的是第一个解决方案,但如果你有其他一些未提及的聪明的想法,请随时告诉:)

谢谢,伊万

javascript node.js

30
推荐指数
3
解决办法
2万
查看次数

在javascript中关闭和回调内存泄漏

function(foo, cb) {
  var bigObject = new BigObject();
  doFoo(foo, function(e) {
     if (e.type === bigObject.type) {
          cb();
          // bigObject = null;
     }
  });
}
Run Code Online (Sandbox Code Playgroud)

上面的例子显示了一个经典的,偶然的(或可能没有)内存泄漏的闭包.V8垃圾收集器无法确定是否可以安全删除bigObject它,因为它在回调函数中被使用,可以多次调用.

一种解决方案是设置bigObjectnull回调函数中的作业何时结束.但是如果你使用了很多变量(想象有n变量之类的bigObject,并且它们都在回调中使用)那么清理它就成了一个难看的问题.

我的问题是:有没有其他方法可以清理那些使用过的变量?

编辑这是另一个(现实世界)的例子:所以我从mongodb获得应用程序并将其与其他应用程序进行比较.来自mongodb的回调使用从该回调中定义的变量应用程序.从mongodb得到结果后,我还将它作为回调返回(因为它都是异步的,我不能写回程).所以实际上我可以将回调一直传播到源...

function compareApplications(application, condition, callback) {

    var model = database.getModel('Application');
    model.find(condition, function (err, applicationFromMongo) {
        var result = (applicationFromMongo.applicationID == application.applicationID)
        callback(result)        
    }
}
Run Code Online (Sandbox Code Playgroud)

javascript closures memory-leaks node.js

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

从express中的静态文件中排除子目录

有没有办法从快速 4.8.5中的快速静态中间件中排除子目录.

例如,如果我有:

app.use(express.static(__dirname + 'public'));
Run Code Online (Sandbox Code Playgroud)

我的公共目录是这样的:

- public  
   - css
   - images
   - scripts
   - index.html
   - exclude_me
        - scripts
        - views
        - index.html
Run Code Online (Sandbox Code Playgroud)

所以我需要排除最后一个子目录,当用户执行时:

GET /exclude_me
Run Code Online (Sandbox Code Playgroud)

它应该调用我的路由而不是自动返回目录.

我不能因为它依赖于它里面的东西,因为从公开目录只是将其删除公共目录角的应用和exclude_me是另一个角度的应用程序,从获取脚本/ exclude_me /脚本 /公/脚本.

我知道这有点令人困惑,但事实并非如此,我不能将其从公共目录中删除,因为它不会再看到公共/脚本需要的东西而且我不能离开它因为我当时无法授权它(所有授权都是在公共/剧本中)

如果有更聪明的方法可以做到这一点,请随时告诉我:)

node.js express

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

内置node.js中的访问日志(快速框架)

我在想,如果Node.js的(或快递框架)的任何类型的内置访问日志一样的Grails有例子吗?

我有grags应用程序在tomcat上运行,它会自动生成一个/apache-tomcat-7.0.42/logs/localhost_access_log.2013.10.30.txt文件,其中有关于请求响应的日志,如下所示:

[30/Oct/2013:00:00:01 +0000] [my-ip-address] [http-bio-8080-exec-18] "GET /my-service/check HTTP/1.0" [200] [took: 1 milis]  
Run Code Online (Sandbox Code Playgroud)

这些日志由系统自动写入,我不必担心.

那么node.js怎么样?

谢谢你的帮助!

伊万

logging access-log node.js express

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

撤消git快进合并

我有这种情况:在一些testBranch上工作一段时间,我想与master同步,所以我做了git checkout testBranch和git merge master/testBranch

所以现在我的分支与master同步,但后来我发现我想撤消合并,问题是合并是用快进完成的,现在我的提交历史与主提交和testBranch提交混合,我不知道如何在我的testBranch上合并之前恢复到状态.

谢谢你的帮助

git git-merge fast-forward

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

未授权从Mongoose驱动程序查询Mongodb分片

我正在为node.js使用mongoDB 2.6.7mongoose 3.8.23驱动程序.数据库分为2个分片(每个分片是独立的副本),当我在任何实例,副本,mongos,配置服务器等上输入mongo shell时,一切看起来都不错.

之后,我为我正在连接的特定数据库添加了admin用户和用户(名为normaluser).我在mongos实例上添加了它们.用户是:

[
{
    "_id" : "admin.adminuser",
    "user" : "adminuser",
    "db" : "admin",
    "roles" : [
        {
            "role" : "dbAdminAnyDatabase",
            "db" : "admin"
        },
        {
            "role" : "readWriteAnyDatabase",
            "db" : "admin"
        },
        {
            "role" : "userAdminAnyDatabase",
            "db" : "admin"
        },
        {
            "role" : "clusterAdmin",
            "db" : "admin"
        }
    ]
}
]
Run Code Online (Sandbox Code Playgroud)

[
{
    "_id" : "mydb.normaluser",
    "user" : "normaluser",
    "db" : "mydb", …
Run Code Online (Sandbox Code Playgroud)

mongoose mongodb node.js

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

从Scala中的文件中读取行

Scala的基本操作再一次让我的生活变得痛苦:D.所以我必须从文件中读取行...只是一个简单的I/O操作.

在互联网上的每个例子中他们都在做:

import scala.io.Source

for(line <- Source.fromPath("integerArray.txt").getLines())
      println(line)
Run Code Online (Sandbox Code Playgroud)

但我的IntelliJ抛出错误:value fromPath不是对象scala.io.Source的成员.

有谁知道这里有什么问题?...几个月前我安装了Scala的最新版本,IntelliJ Scala插件也是最新的,所以我怀疑这可能是一个原因......

io scala

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

防止sequelize在node.js app中删除数据库

首先,我使用的是带有sequelize ORM和postgre SQL的node.js.

我有两个简单的问题:

  1. 每次重新运行我的节点应用程序时,sequelize都会丢弃并在数据库中创建所有表.如何防止这样做(我不希望删除数据库中的记录)?我试图将我的NODE_ENV设置为测试,但它没有帮助.

  2. 续集迁移如何知道它停止的位置(哪些迁移已执行,哪些不执行).例如,当我在Grails框架中使用数据库迁移时,它会自动在数据库中创建表,其中保留了在重新运行应用程序之前和之后执行的所有迁移时间戳,它查看该表并知道哪些迁移已经完成,哪些迁移已经完成.使用node/sequelize时我没有看到任何表格,那么它是如何工作的?:)

谢谢,伊万

postgresql node.js sequelize.js

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

在cassandra中调整写入性能

我们有这个典型的场景:

1列系列,列数少于10个.

当我们收到客户的请求时,我们需要在数据库中写入10 000 000个此列族的记录,我们正在批量编写它们(一批1000个).这通常持续5-10分钟,具体取决于群集中的节点数和复制因子.

在接下来的几个小时内开始写入后,我们将收到大量更新(每条记录更新2次).

所以我们在一天(一小时)的一段时间内有很多写/更新,之后很少.

问题是:提高写入/更新性能的步骤.我注意到例如memtable_flush_queue_size和类似的配置字段,但我没有足够的cassandra经验来确切知道该做什么.

任何建议都有帮助,

伊万

cassandra nosql

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