小编Bar*_*vds的帖子

为什么ES6 WeakMap不可枚举?

在我重新进入JavaScript(和相关)之前,我已经完成了很多ActionScript 3,并且他们有一个Dictionary对象,它具有弱键,就像即将发布的WeakMap一样; 但AS3版本仍然像常规通用对象一样可枚举,而WeakMap特别没有.keys().values().

AS3版本允许我们安装一些非常有趣和有用的构造,但我觉得JS版本有些限制.这是为什么?

如果Flash VM可以做到这一点,那么是什么阻止浏览器做同样的事情呢?我读到了它是如何"非确定性"的,但这有点恰到好处?

javascript enumerable weakmap ecmascript-6

27
推荐指数
1
解决办法
2050
查看次数

如何在控制台中显示Opscode Chef bash命令的输出?

我使用Vagrant生成一个标准的"exact32"框并使用Chef配置它,这样我就可以在Windows机器上测试我的Node.js代码了.这很好用.

我也有这个bash命令,所以它自动安装我的npm模块:

bash "install npm modules" do
  code <<-EOH
    su -l vagrant -c "cd /vagrant && npm install"
  EOH
end
Run Code Online (Sandbox Code Playgroud)

这也可以正常工作,除非我成功完成后才会看到控制台输出.但我希望看到它,以便我们可以直观地监控正在发生的事情.这不是npm特有的.

我看到这个类似的问题没有具体答案:Vagrant - 如何将Chef的命令输出打印到stdout?

我尝试指定标志,但我是一个糟糕的linux/ruby​​ n00b并且根本没有创建错误或输出,所以请使用您的解决方案示例编辑我的代码段.

bash stdout chef-infra vagrant

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

在django ORM中使用postgresql窗口函数的干净方法?

我想使用PostgreSQL窗口功能,如rank()dense_rank在需要在Django做一些查询.我有它在原始SQL中工作,但我不知道如何在ORM中这样做.

简化它看起来像这样:

SELECT
    id,
    user_id,
    score,
    RANK() OVER(ORDER BY score DESC) AS rank
FROM
    game_score
WHERE
    ...
Run Code Online (Sandbox Code Playgroud)

你会如何在ORM中做到这一点?

在某些时候,我可能还需要添加分区:|

(我们在Python 3上使用Django 1.9并且已经依赖于django.contrib.postgres功能)

sql django postgresql orm

13
推荐指数
4
解决办法
5073
查看次数

如何在node.js中安全地将本地文件路径转换为文件::?/ url?

我有本地文件路径(在node.js中),我需要将它们转换为file://URL.

我现在正在查看https://en.wikipedia.org/wiki/File_URI_scheme,我觉得这必须是一个已解决的问题,并且有人必须有一个片段或npm模块来执行此操作.

但后来我尝试搜索npm这个,但是我得到了太多的瑕疵,这是不好笑的(文件,网址和路径是像所有包中的搜索命中:)与谷歌和SO相同.

我可以做这种天真的做法

site = path.resolve(site);
if (path.sep === '\\') {
    site = site.split(path.sep).join('/');
}
if (!/^file:\/\//g.test(site)) {
    site = 'file:///' + site;
}
Run Code Online (Sandbox Code Playgroud)

但我很确定这不是要走的路.

javascript url node.js npm

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

如何在使用后从GPU清理和卸载WebGL画布上下文?

如何清理WebGL上下文程序并从GPU和dom-element卸载程序,缓冲区和所有内容?

我想确保我们不乱扔垃圾.

此外,它会是很好,如果可以重新使用画布(我不知道这是否会是2dwebgl上下文).

javascript canvas webgl

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

浏览器和已经拥有源映射的文件

我有一些JavaScript代码从任意编译到JS语言编译到commonJS模块,我想使用sourcemaps调试浏览器化的代码.

所以我的文件已经//# sourceMappingURL=index.js.map有了,我希望browserify能够读取并转换它们,这样我就可以使用我原来的非JS语言进行调试.

我需要另一个变换吗?

我尝试使用browserify的调试标志,然后它确实生成了一个源图,但是它用于中间JS文件,而不是原始的非JS文件.我甚至看到原始//# sourceMappingURL语句在包中挥之不去,而我的浏览器调试器并不喜欢它.

这有可能吗?

我看到这一点:使用browserify后保留原始的打字稿源图但它不起作用.

javascript browserify source-maps

9
推荐指数
1
解决办法
582
查看次数

如何在不使用阻塞stdio的情况下从node.js中的子进程传输/流式传输大数据?

我在node.js中有一堆(子)进程需要传输大量数据.

当我阅读手册时,它说它们之间的stdio和ipc接口是阻塞的,所以不会这样做.

我正在研究使用文件描述符,但我找不到从它们流式传输的方法(请参阅我的其他更具体的问题如何在节点中流式传输文件描述符?)

我想我可能会使用网络套接字,但我担心这会产生不必要的开销.

我也看到了这一点,但它不一样(并且没有答案:如何在Node.js中以非阻塞方式从子进程向父进程发送大量数据?)

stream child-process node.js

9
推荐指数
1
解决办法
3659
查看次数

泛型类型代码中是否存在类型参数的命名约定(bracy flavoured)

泛型类型代码的类型参数是否有命名约定?

我现在正在做一些TypeScript,但它具有与C#,Java,AS3等相同类型的参数化.

我看到最常用的T,als in:

interface Container<T> {
    getContent(): List<T>;
}
Run Code Online (Sandbox Code Playgroud)

但是如果你需要超过1种类型怎么办?我看到单个字母,通常是T,U和V.有时K,V用于映射的键和值.

当然必须有一个最好的做法吗?

c# generics typescript

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

如何在节点中流入/流出文件描述符?

fs.createReadStream()fs.createWriteStream()仅支持文件的路径,但我需要从一个文件描述符(传递到/从一个子进程),读(或写).

注意我需要Streams,所以fs.open/fs.read/fs.write还不够.

file-descriptor stream child-process node.js

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

node.js中的额外stdio流是否被child_process.spawn阻塞?

使用spawn()创建子进程时,可以通过options.stdio参数传递选项以创建多个流.在标准3(stdin,stdout,stderr)之后,您可以传递额外的流和管道,这将是子进程中的文件描述符.然后你可以使用fs.createRead/WriteStream来访问它们.

请参见http://nodejs.org/api/child_process.html#child_process_child_process_spawn_command_args_options

var opts = {
    stdio: [process.stdin, process.stdout, process.stderr, 'pipe']
};
var child = child_process.spawn('node', ['./child.js'], opts);
Run Code Online (Sandbox Code Playgroud)

但是文档并不清楚这些管道阻塞的位置.我知道stdin/stdout/stderr正在阻塞,但那是什么'pipe'

他们在一个部分说:

"请注意,父和子上的send()方法是同步的 - 不建议发送大块数据(可以使用管道,参见child_process.spawn"

但在其他地方他们说:

process.stder和process.stdout与Node中的其他流不同,对它们的写入通常是阻塞的.

They are blocking in the case that they refer to regular files or TTY file descriptors.
In the case they refer to pipes:
    They are blocking in Linux/Unix.
    They are non-blocking like other streams in Windows.
Run Code Online (Sandbox Code Playgroud)

任何人都可以澄清一下吗?管道是否在Linux上阻塞?

我需要传输大量数据而不会阻止我的工作进程.

有关:

pipe stream nonblocking node.js

6
推荐指数
0
解决办法
1744
查看次数