小编Ram*_*Vel的帖子

如何在Windows上部署具有深度node_modules结构的Node.js应用程序?

我遇到了一个奇怪的问题 - 显然有些Node.js模块有如此深的文件夹层次结构,当Windows Copy-Item路径超过250时,Windows复制命令(或我们实际使用的PowerShell )会遇到臭名昭着的"路径太长"错误chars long.

例如,这是单个Node模块可以创建的文件夹层次结构:

node_modules\nodemailer\node_modules\simplesmtp\node_modules\
xoauth2\node_modules\request\node_modules\form-data\node_modules\
combined-stream\node_modules\delayed-stream\...
Run Code Online (Sandbox Code Playgroud)

看起来很疯狂但是Node模块已经成为现实.

我们需要在部署期间使用复制粘贴(我们不使用像Heroku这样的"聪明"目标平台,其中Git部署是一个选项),这是对Windows的严重限制.

是不是有npm命令或者压缩node_modules文件夹的东西,或者只包含运行时实际需要的东西?(节点模块通常包含test我们不需要部署的文件夹等.)任何其他想法如何解决它?遗憾的是,不使用Windows不是一个选项:)

windows deployment filenames node.js npm

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

Ruby疯狂:Class vs Object?

我刚开始玩JRuby.这是我的第一篇红宝石帖子.我很难理解Ruby中的类和对象.它并不意味着像其他面向对象的laguages中的类和对象.举个例子

Class.is_a? Object
Run Code Online (Sandbox Code Playgroud)

返回true

Object.is_a? Object
Run Code Online (Sandbox Code Playgroud)

也是.

所以class&Object都是对象

这是另一个

Class.is_a? Class
Run Code Online (Sandbox Code Playgroud)

返回true

Object.is_a? Class
Run Code Online (Sandbox Code Playgroud)

也是.

等等,我还没完成

 Object.instance_of? Class
 Class.instance_of? Class
Run Code Online (Sandbox Code Playgroud)

两者都是真的

 Object.instance_of? Object
 Class.instance_of? Object
Run Code Online (Sandbox Code Playgroud)

两者都是假的.对,没有什么可以是对象的实例.

 Class.kind_of? Class
 Object.kind_of? Class
Run Code Online (Sandbox Code Playgroud)

两者都是真的

 Class.kind_of? Object
 Object.kind_of? Object
Run Code Online (Sandbox Code Playgroud)

两者都是真的

所以两者完全相同,那为什么我们都有这两个.

经过一番挖掘,我写了这个简单的方法来返回两者支持的方法列表

irb(main):054:0> def print_methods(obj)
irb(main):055:1>    obj.methods.each do |mm|
irb(main):056:2*        puts mm
irb(main):057:2>    end
irb(main):058:1> end
Run Code Online (Sandbox Code Playgroud)

print_methods(Object)和print_methods(Class)之间只有方法差异

     Nesting
Run Code Online (Sandbox Code Playgroud)

如果嵌套意味着继承,Is Object类似于密封类?

有人可以澄清一下这是什么吗?

更新:给Edds评论

有趣的是,我在方法列表中看到了很多不同之处

c=Class.new
print_methods(c)
Run Code Online (Sandbox Code Playgroud)

&

o=Object.new
print_methods(o)
Run Code Online (Sandbox Code Playgroud)

现在我理解一个类的实例实际上是一个类实例(而这个类实例实际上是一个Object)而不是一个对象实例.甚至这个实例也允许我跨越另一个实例

  xx = c.new //works - c is …
Run Code Online (Sandbox Code Playgroud)

ruby class object

65
推荐指数
2
解决办法
9496
查看次数

为什么我们更喜欢?至 ??c#中的运算符?

我最近发现我们可以使用?? 运算符检查空值.请检查以下代码示例:

   var res = data ?? new data();
Run Code Online (Sandbox Code Playgroud)

这与之完全相似

   var res = (data==null) ? new data() : data ;
Run Code Online (Sandbox Code Playgroud)

我检查了我的整个项目源代码库和一些其他开源项目.这个??操作员从未使用过.

我只是想知道这背后有什么理由,比如性能问题还是什么?

编辑:

我刚刚根据recursive和Anton的评论更新了我的示例代码.粗心大意是一个错误.:(

c# conditional-operator

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

在Scala中创建动态增长数组的最佳方法是什么?

我想动态地将项添加到数组中.但是由于不可变的特性,Scala数组和列表似乎没有提供任何动态添加项的方法.

所以我决定使用List数据类型来使用这个::方法来实现这一点.我的代码看起来像这样

var outList = List(Nil)
val strArray = Array("ram","sam","bam")

for (str<-strArray)
     outList = str :: outList
Run Code Online (Sandbox Code Playgroud)

虽然它以某种方式工作,但问题是新的字符串被预先附加到列表中.但理想的要求是数据的顺序.是的,我知道你在想什么,你可以反转最终结果列表以获得原始订单.但问题是它是一个巨大的阵列.我相信它不是一个解决方案,虽然它解决了这个问题.我相信应该有一个简单的方法来解决这个问题......

我破解Scala的原因是学习编码的功能方式.拥有var(可变类型)并在运行中填充列表在我看来并不是解决问题的一种功能性方法.

我该怎么做?

理想情况下,我希望在Scala中实现类似的功能(在C#代码下面)

List<int> ls = new List<int>();    
for (int i = 0; i < 100; i++)
    ls.Add(i);
Run Code Online (Sandbox Code Playgroud)

scala

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

哪个最适合数据存储结构/类?

我们已经在SO中看到了很多关于c#中的类vs结构的讨论.最后得出的结论是它的堆/堆内存分配.并建议在小型数据结构中使用结构.

现在我有一种情况来决定这两种选择中的简单数据存储.在我们的应用程序中,我们有数千个类,只是作为简单的数据存储(仅暴露的公共字段),它们在不同的模块和服务之间传递.

根据我的理解,出于性能原因,我觉得最好继续使用struct而不是类.因为这些是简单的数据结构,所以只能充当数据存储.

在继续这一过程之前,我需要经历过这场斗争的人们的一些专家建议.

  • 我的理解是正确的吗?
  • 我见过大多数ORM都有类作为数据存储.所以我怀疑是否应该继续使用类而不是结构.会是什么?

c# struct class

29
推荐指数
4
解决办法
8814
查看次数

在javascript toString()中添加不同的分隔符..?

通常JavaScript的toString()方法以逗号分隔值返回数组,如下所示

 var myArray = [ 'zero', 'one', 'two', 'three', 'four', 'five' ];
 var result = myArray .toString();
Run Code Online (Sandbox Code Playgroud)

它会像这样返回输出zero,one,two,three,four,five.

但是我要求以这种格式表示结果zero_one_two_three_four_five(用逗号代替_).

我知道在将数组转换为字符串后,我们可以使用replace方法执行此操作.有没有更好的选择?

干杯

Ramesh Vel

javascript arrays

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

Windows使用MONO在LINUX中进行服务开发?

我刚刚从.net开发转移到LINUX MONO开发......我以前对linux开发人员有很多经验..

  1. 我要求在单声道c#中创建后台服务(如Windows服务)..是否可能..

  2. 是否可以从单声道c#访问LINUX本机API.(比如来自win c#的winAPI调用)..

c# linux mono service

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

在Ruby中将数组拆分为多个小数组的最佳方法

根据某些条件将数组拆分成多个数组的最简单方法是什么?在我的场景中,我需要将整数和字符串值移动到不同的数组.我尝试过split方法,但没有按预期工作.

x=[1,2,3,"a","b",4]
x.split {|item| item.kind_of? Fixnum}
Run Code Online (Sandbox Code Playgroud)

在C#中,有一个group by选项Linq,可以帮助您根据条件对对象进行分组.是否有类似的方法Object(不使用activerecord)?

有一个简单的方法吗?

ruby arrays split

19
推荐指数
3
解决办法
7978
查看次数

当JavaScript返回null&undefined时?

我已经使用JavaScript几年了,从不关心nullundefined之前的区别,我总是undefined用来验证对象的存在.

但最近我通过这篇文章.他们在这里说

JavaScript区分null,它是'object'类型的对象,表示故意的非值; undefined,是一个'undefined'类型的对象,表示未初始化的值 - 也就是说,一个值甚至没有已分配.我们稍后将讨论变量,但在JavaScript中,可以声明变量而不为其赋值.如果这样做,变量的类型是未定义的.

我现在完全糊涂了,这里究竟是什么非价值.这个非价值如何不同undefined.什么是javascript返回的情况null.

我试过以下样本

var sam;
alert(sam);  // returns undefined
Run Code Online (Sandbox Code Playgroud)

try {
    //var sam;
    alert(sam);  
} catch(ex) { }   // exception says: sam is undefined
Run Code Online (Sandbox Code Playgroud)

而且我不确定js何时返回null.有人可以澄清我.

javascript null undefined

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

MongoDB首选嵌入式集合的模式.文档与数组

我相信至少有两种方法可以在mongodb文档中嵌入数据.在简化的情况下,我们可以这样:

{
    'name' : 'bill',
    'lines': {
       'idk73716': {'name': 'Line A'},
       'idk51232': {'name': 'Line B'},
       'idk23321': {'name': 'Line C'}
    }
}
Run Code Online (Sandbox Code Playgroud)

并作为一个数组:

{
    'name' : 'bill',
    'lines': [
       {'id': 'idk73716', 'name': 'Line A'},
       {'id': 'idk51232', 'name': 'Line B'},
       {'id': 'idk23321', 'name': 'Line C'}
    ]
}
Run Code Online (Sandbox Code Playgroud)

正如您在此用例中所看到的,保持每行的ID非常重要.

我想知道这两种模式之间是否有利弊.特别是当涉及到使用索引时,我感觉第二个可能更容易使用,因为可以在'lines.id'或甚至'lines.name'上创建索引来搜索所有文档中的id或名称.我没有找到任何工作解决方案来索引第一个例子中的id('idk73716'等).

如果您有这样的用例,通常首选使用第二种方法吗?

arrays collections mongodb

17
推荐指数
1
解决办法
3272
查看次数