小编t.n*_*ese的帖子

如何使用CryptoJS计算blob的md5校验和

使用Blob API以块的形式上传文件.在这里,我想检查blob的md5校验和.当我尝试下面的代码时,它对文本文件工作正常,但它为二进制文件返回不同的值.

var reader = new FileReader();
reader.readAsBinaryString(blob);
reader.onloadend = function () {
    var mdsum = CryptoJS.MD5(reader.result);
    console.log("MD5 Checksum",mdsum.toString());
};
Run Code Online (Sandbox Code Playgroud)

如何为所有类型的文件正确计算blob的md5校验和?

javascript md5 md5sum

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

d3.js带有可切换系列的堆叠杆

这次我试图创建一个带有可切换系列的堆叠条 - 基于Mike Bostock的例子(再次感谢Mike!)我已经成功地使它具有响应性和可缩放性,通过传奇的可切换系列是剩下的最后一件事.

我创建了图例项目,并使用键应用了正确的颜色:

var legendItem = d3.select(".legend")
  .selectAll("li")
  .data(keys)
  .enter()
  .append("li")
  .on('click', function(d) {
    keys.forEach(function(c) {
      if (c != d) tKeys.push(c)
    });
    fKeys = tKeys;
    tKeys = [];
    redraw();
  });

legendItem
  .append("span")
  .attr("class", "color-square")
  .style("color", function(d) {
    return colorScale5(d);
  });

legendItem
  .append("span")
  .text(function(d) {
    return (d)
  });
Run Code Online (Sandbox Code Playgroud)

根据结构,为了创建可切换的项目,我得出的结论是,我必须能够从键和数据集切换它 - 或者还有另一种方法吗?我已设法从键中删除特定键,但不是从数据集中删除,我不知道如何正确映射它.

第二个问题是我无法找到切换密钥的方法,只是将其删除即可.这是原始数据集:

var data = [{
  "country": "Greece",
  "Vodafone": 57,
  "Wind": 12,
  "Cosmote": 20
}, {
  "country": "Italy",
  "Vodafone": 40,
  "Wind": 24,
  "Cosmote": 35
}, {
  "country": "France",
  "Vodafone": …
Run Code Online (Sandbox Code Playgroud)

javascript arrays stackedbarseries d3.js

6
推荐指数
2
解决办法
504
查看次数

如何在 Phaser 3 中正确更新我的乐谱文本?

score在射箭游戏中更新了变量。但是,我无法正确更新分数。每次更新时,新文本都会粘贴到旧文本上。

getMedal()我在函数内部、函数外部getMedal()、函数内部都尝试过render()

<!DOCTYPE html> 
<html lang="en"> 
<head> 
    <meta charset="UTF-8" />
    <title>Video Game</title>
    <script src="//cdn.jsdelivr.net/npm/phaser@3.11.0/dist/phaser.js"></script>
    <style type="text/css">
        body {
            margin: 0;
        }
    </style>
</head>
<body>

<script type="text/javascript">
    //Configurations for the physics engine
    var physicsConfig = {
        default: 'arcade',
        arcade: {
            debug: false //CHANGE THIS TO TRUE TO SEE LINES
        }
    }
    //Configurations for the game itself
    var config = {
        type: Phaser.AUTO,
        width: 800,
        height: 600,
        physics: physicsConfig,
        scene: {
            preload: preload,
            create: create, …
Run Code Online (Sandbox Code Playgroud)

javascript game-engine phaser-framework

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

如何使用catch,最后使用when.map

我想使用该when.map函数来处理一些数据.在处理数据之后,我需要进行一些清理(例如,将当前使用的数据库连接释放回连接池).

用我的方法的问题catch,并finallyfinally首当被调用reject时,而其他,和映射仍在进行中.

那么我怎么能等到所有的映射承诺都完成,这样才能进行保存清理.

  require('when/monitor/console');
  var when = require('when');

  function testMapper(value) {
    console.log('testMapper called with: '+value);
    return when.promise(function(resolve, reject) {
      setTimeout(function() {
        console.log('reject: '+value);
        reject(new Error('error: '+value));
      },100*value);
    });
  }

  when.map([1,2,3,4],testMapper)
  .then(function() {
    console.log('finished')
  })
  .catch(function(e) {
    console.log(e);
  })
  .finally(function() {
    console.log('finally')
  });
Run Code Online (Sandbox Code Playgroud)

产量

 testMapper called with: 1
 testMapper called with: 2
 testMapper called with: 3
 testMapper called with: 4
 reject: 1
 [Error: error: 1]
 finally
 reject: …
Run Code Online (Sandbox Code Playgroud)

javascript node.js promise when-js

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

使用javascript调整图像大小

我正在使用javascript函数输入图像.

这是我的HTML:

<input type="file" name="filUpload" id="filUpload" onclick="" onchange="showimagepreview(this)">
<br />
<div id="before">
<img id="imgprvw" alt="" class="img-thumbnail" style="width: 250px; height: 250px;" />
Run Code Online (Sandbox Code Playgroud)

这是我的JavaScript:

function showimagepreview(input) { //image preview after select image
  if (input.files && input.files[0]) {
    var filerdr = new FileReader();
    filerdr.onload = function(e) {
      url = e.target.result;
      image = url;
      $('#imgprvw').attr('src', url);
      //console.log(url);

      //$('#imgprvw').attr('src', e.target.result);
      //url = e.target.result;
      //$("#imgpath").val(url);
    }
    filerdr.readAsDataURL(input.files[0]);
  }
}
Run Code Online (Sandbox Code Playgroud)

此代码将图像转换为咬合数组,我需要使用该咬合数组调整图像大小.有没有可行的方法来做到这一点.

我将该二进制数组传递给Web服务.我的图像尺寸太高,需要很长时间,这就是我需要转换的原因.

html javascript

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

没有jquery的javascript find()函数

我喜欢尝试新的东西。所以,我决定在使用 jquery 的情况下制作自己的函数。我正在尝试构建 find()

所以,这是我的代码:

function $(el) {
  var firstChar = el.charAt(0),
      id = document.getElementById(el.slice(1));

  switch (firstChar) {
    case "#":
      return id;
      break;
  }
}

function find(el, loop) {
  return getElementsByTagName(el)[loop];
}

$("#test").find("h1", 0).innerHTML = "some text";
Run Code Online (Sandbox Code Playgroud)
<div id="test">
  <h1>test one</h1>
  <h2>test two</h2>
</div>
Run Code Online (Sandbox Code Playgroud)

它不起作用,在我的 Dreamweaver 错误日志中,它说getElementsByTagName未定义。

我的代码有什么问题?

javascript

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

每秒定期调用 node.js 函数

我有一个 node.js 服务器和客户端。客户端有一个 video.js 播放器、progressbar.js 和 socket.io。我希望进度条显示其他用户的缓冲区百分比。

这是一块服务器源

function updateProgressBars() {
  io.sockets.emit('updateProgressBars'); //Send data to everyone
}

socket.on('userProgressBarUpdate',
  function(data) {
    socket.broadcast.emit('changeLocalProgressBar', data); //Send data to everyone but not sender
  });
Run Code Online (Sandbox Code Playgroud)

这是客户

socket.on('updateProgressBars',
function() {
  var bufferLevel = myPlayer.bufferedPercent();
  var data = {
    bl: bufferLevel,
    n: name
  }

  socket.emit('userProgressBarUpdate', data); //Send data to server
});
Run Code Online (Sandbox Code Playgroud)

changeLocalProgressBarLevel 只是在客户端更改进度条,所以不要担心。

我怎样才能让updateProgressBars()每秒被调用一次。

javascript node.js socket.io

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

Node.js MySQL 模块 - 抛出错误;// 重新抛出非 MySQL 错误;

今天我尝试了 w3schools 的 node.js mysql 片段:

var mysql = require('mysql');

var con = mysql.createConnection({
  host: "localhost",
  user: "roots", // WRONG USER
  password: ""
});

con.connect(function(err) {
  if (err) throw err;
  console.log("Connected!");
  /*Create a database named "mydb":*/
  con.query("CREATE DATABASE mydb", function (err, result) {
    if (err) throw err;
    console.log("Database created");
  });
});
Run Code Online (Sandbox Code Playgroud)

我想学习如何处理 mysql 错误,因为我的应用程序需要 mysql。但是在我启动 app.js 文件后,这个错误出现了:

为什么我不能抛出错误?

javascript mysql server-side node.js

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

在函数内取消分配动态内存

第一次在这里拥有帐户,但是我很喜欢这个网站。

我试图创建一个接收const char数组并返回所述数组指示的部分的函数。函数与数组一起接收两个值,这些值指示要提取的部分中第一个字符的索引和最后一个字符的索引。

我要尝试的棘手部分是,我正在创建一个临时数组变量以将该部分保存在函数中,并且鉴于该部分的大小不能保证为常数,我正在使用动态内存进行分配必要的空间,这就是我遇到的问题。

每当函数返回任何信息时,函数都会终止,并且程序没有机会释放已分配的内存。如果删除该变量,则无法返回信息。

我尝试创建一个单独的指针变量,以在信息形成后指向该信息,但是一旦释放了内存,该信息似乎就无法恢复。

解决问题的程序:

char* seperateString(const char* a, int b, int c) {

                // This is simply to assure that I don't allocated a negative size
        if (b < c) {
                cout << "***Error with \"seperateString\" function***" << endl << endl;
                return '\0';
        }

        char* seperated = new char[c - b + 2];

        int i = 0;
        int j = b;

        for (; i <= c - b; i++)
                seperated[i] = a[j++];

        seperated[i] = '\0';

        char* send …
Run Code Online (Sandbox Code Playgroud)

c++ c++11

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

Std::Lock avoids deadlock but this program gets stuck

All, Referring to the question in std::lock still caused deadlock

I still couldn't figure what is the problem in the below code. Can somebody please explain the problem and how to fix this? Why does it get hung? Pls help.

#include <iostream>
#include <mutex>
#include <thread>
using namespace std;

std::mutex m1;
std::mutex m2;

void func1()
{
    std::unique_lock<std::mutex> lock1(m1, std::defer_lock);
    printf("func1 lock m1\n");
    std::this_thread::sleep_for(std::chrono::seconds(1));
    std::unique_lock<std::mutex> lock2(m2, std::defer_lock);
    printf("func1 lock m2\n");
    std::lock(m1, m2);
    printf("func1 std lock\n");

}

void func2()
{
    std::unique_lock<std::mutex> lock1(m2, …
Run Code Online (Sandbox Code Playgroud)

c++ multithreading mutex thread-synchronization c++11

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