小编Iva*_*her的帖子

使用 buffer.js 时 aurelia-cli 错误 - 全局未定义

使用 aurelia-cli - SystemJS 捆绑器选项创建了一个新项目。

从 npm 安装了 htmlparser2 模块,该模块具有 buffer.js 作为依赖项。

尝试导入 htmlparser2 时出现以下错误:

bluebird.core.js:3434 Error: global is not defined
  Evaluating http://localhost:9000/buffer/index
Run Code Online (Sandbox Code Playgroud)

在检查供应商捆绑 - >这是创建错误的行:

Buffer.TYPED_ARRAY_SUPPORT = global.TYPED_ARRAY_SUPPORT !== undefined
  ? global.TYPED_ARRAY_SUPPORT
  : typedArraySupport()
Run Code Online (Sandbox Code Playgroud)

在 angualar-cli 中发现了类似的问题,解决方案是手动打开节点全局

Node global is turned off. It works fine if I manually turn it on again.
Run Code Online (Sandbox Code Playgroud)

问题是如何使用 aurelia-cli 来做到这一点?有什么建议么?


来自供应商包的更大代码片段

define('buffer/index',['require','exports','module','base64-js','ieee754','isarray'],function (require, exports, module) {/*!
 * The buffer module from node.js, for the browser.
 *
 * @author   Feross Aboukhadijeh <feross@feross.org> <http://feross.org> …
Run Code Online (Sandbox Code Playgroud)

aurelia

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

漂亮转JSON到文本

有没有办法将JSON对象转储到文本文件中以便从Node服务器进行debuging?

我正在处理一个包含各种其他对象数组的非常大的JSON对象.

理想情况下,生成的txt文件应该像这样正确格式化

{
    type: 'Program',
    body: [
        {
            type: 'VariableDeclaration',
            declarations: [
                {
                    type: 'AssignmentExpression',
                    operator: =,
                    left: {
                        type: 'Identifier',
                        name: 'answer'
                    },
                    right: {
                        type: 'Literal',
                        value: 42
                    }
                }
            ]
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

解:

var fs = require('fs');

    var fs = require('fs');

    var myData = {
      name:'bla',
      version:'1.0'
    }

    var outputFilename = '/tmp/my.json';

    fs.writeFile(outputFilename, JSON.stringify(myData, null, 4), function(err) {
        if(err) {
          console.log(err);
        } else {
          console.log("JSON saved to ");
        }
    }); 
Run Code Online (Sandbox Code Playgroud)

javascript json node.js

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

AngularJS文件资源管理器

我不确定如何以有棱角的方式做这件事.

我想实现类似于以下的文件浏览器:示例1示例2

它应该实现的功能是:

  • 显示当前目录中的文件和文件夹
  • 能够单击文件夹以展开它们(如示例中所示)

所以我现在所拥有的是一个文件和文件夹列表作为路径数组.这是由onDrop或onChange事件(来自拖放或输入)生成的.

关于如何实现这一点的任何建议?

javascript angularjs angularjs-directive

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

使用scale_y_time将MS转换为箱线图(GGPLOT)中的分钟和秒

我有一个如下所示的日期框,其中列时间以毫秒为单位

id | group | time
1    |   A   | 1400003
2    |   B   | 1604203
3    |   A   | 170203
Run Code Online (Sandbox Code Playgroud)

我正在使用 GGplot 创建箱线图

ggplot(df, aes(x=group, y=time, fill=group)) + 
  geom_boxplot()
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

如何使用Y 轴刻度线scale_y_datetime()或将其转换为以下格式?scale_y_time()M:S

r ggplot2

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

Ram中的C#2Gb文件是4gb.为什么?

我正在读取一个文件(该文件由一个长度为2GB的长字符串组成).

这是我的函数,它将文件的所有内容读入内存,然后拆分字符串并放置:*reader = StreamReader

public List<char[]> GetAllContentAsList()
        {
            int bytesToRead = 1000000;
            char[] buffer = new char[bytesToRead];
            List<char[]> results = new List<char[]>();

            while (_reader.Read(buffer, 0, bytesToRead) != 0)
            {
                char[] temp = new char[bytesToRead];
                Array.Copy(buffer,temp,bytesToRead);
                results.Add(temp);
            }

            return results;
        }
Run Code Online (Sandbox Code Playgroud)

当所有数据放入List时,RAM占用4gb.当文件大小只有2GB时,这怎么可能?

*编辑

这就是我最终做的事情.我没有将字节数组转换为字符串,我只是在操作它们时传递字节.这个场景只有2Gb而不是4gb

 public List<byte[]> GetAllContentAsList()
            {
                int bytesToRead = 1000000;
                var buffer = new byte[bytesToRead];
                List<byte[]> results = new List<byte[]>();

                while (_reader.Read(buffer, 0, bytesToRead) != 0)
                {
                    //string temp = Encoding.UTF8.GetString(buffer);
                    byte[] b = new byte[bytesToRead];
                    Array.Copy(buffer,b,bytesToRead);
                    results.Add(b);
                } …
Run Code Online (Sandbox Code Playgroud)

c# file filestream textreader

3
推荐指数
1
解决办法
609
查看次数

ace.js 中的标记和动态标记有什么区别

两者有何区别?

addDynamicMarker(Object marker, Boolean inFront) 
Run Code Online (Sandbox Code Playgroud)

向会话添加动态标记。


addMarker(Range range, String clazz, Function | String type, Boolean inFront) 
Run Code Online (Sandbox Code Playgroud)

将新标记添加到给定范围。如果 inFront 为 true,则定义前标记,并changeFrontMarker触发该事件;否则,该changeBackMarker事件将被触发。

javascript ace-editor

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

d3 中多条弧的径向渐变

我有以下弧线图:

在此输入图像描述

我想为每个单独的弧添加一个渐变,该渐变从每个单独弧的外半径流向内半径

我猜我需要为每个弧创建一个单独的渐变?

let radius = 100;

for(let i = 0; i < 5; i ++) {

  let grad = defs.append('radialGradient')
       .attr('id', 'mygrad' + i)
    .attr('gradientUnits', 'userSpaceOnUse')
          .attr('cx', '0')
    .attr('cy', '0')
    .attr('r', radius)

  grad.append('stop')
       .attr('offset', '0%')
    .attr('stop-color', 'white');

  grad.append('stop')
       .attr('offset', '100%')
    .attr('stop-color', 'blue');

  let arc = d3.arc()
    .outerRadius( radius )
    .innerRadius( radius - 50)
    .startAngle( degToRad(-90) )
    .endAngle( degToRad(90) );

  g.append('path')
    .attr('d', arc)
    .attr('fill', `url(#${'mygrad' + i })`)
    .attr('stroke', 'lightgrey');

  radius += 50;
}
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述


let grad …
Run Code Online (Sandbox Code Playgroud)

svg radial-gradients d3.js

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

C#多个后台工作者访问对象

我有一个字符串列表,每1000个字符长包含大约20000个字符串.我想使用多个后台工作程序用相同位置的相同字符串的反转版本替换所有这些字符串.

以下是我到目前为止所做的事情:

设置后台工作人员(8因为计算机有8个核心)

 for (int j = 0; j < 8; j++)
    {
    BackgroundWorker worker = new BackgroundWorker();
    worker.DoWork += DoWork;
    worker.RunWorkerCompleted += WorkComplete;
    worker.RunWorkerAsync();
    }
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是我不知道在doWork函数中放什么.

dowork函数应该像这样循环:

private void DoWork(object sender, DoWorkEventArgs e)
{
   while(list.count > 0)
   {
      reverse and add to list
   }         
}
Run Code Online (Sandbox Code Playgroud)

或者doWork函数是否只进行反转,然后将反向字符串传递给WorkComplete函数?

private void DoWork(object sender, DoWorkEventArgs e)
    {
       reverse string
       r.result = reversed string 
    }
Run Code Online (Sandbox Code Playgroud)

c# multithreading backgroundworker

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

Perl通过使用变量作为类名来创建类对象

这可能使用Perl:

my @array = ($class1,$class2,$class3);

foreach my $c (@array)
{
    my $temp = $c->new();
    $temp->run($var1,$var2);
}
Run Code Online (Sandbox Code Playgroud)

这背后的想法是数组将始终包含不同的类名.然后我想创建该类的对象并从中运行一个方法.每个类有点类似,但在run方法中包含自己的逻辑?

如果这是不可能的,我可以用不同的方式做到这一点吗?这是不好的编程吗?

perl

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

D3 V4 Sunburst图布局弧计算

这是计算旭日节点坐标的代码:

var arc = d3.svg.arc()
    .startAngle(function(d) { return d.x; })
    .endAngle(function(d) { return d.x + d.dx; })
    .innerRadius(function(d) { return Math.sqrt(d.y); })
    .outerRadius(function(d) { return Math.sqrt(d.y + d.dy); });
Run Code Online (Sandbox Code Playgroud)

哪里:

x:节点位置的最小x坐标

y:节点位置的最小y坐标

dx:节点位置的x范围

dy:节点位置的y范围


然而,在最近realeased V4版本,空间填充每个节点,而不是X0,DX,Y0,DY上布局d3.treemap和d3.partition现在输出X0,X1,Y0,Y1

node.x0 - 矩形的左边缘

node.y0 - 矩形的上边缘

node.x1 - 矩形的右边缘

node.y1 - 矩形的下边缘

什么是v4的相应代码,因为以下不能产生正确的布局?

var arc = d3.arc()
    .startAngle(function(d) { return d.x0; })
    .endAngle(function(d) { return d.x0 + (d.x1 - d.x0); })
    .innerRadius(function(d) { return d.y0; })
    .outerRadius(function(d) { return d.y0 + (d.y1 - d.y0); …
Run Code Online (Sandbox Code Playgroud)

javascript d3.js d3v4

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