小编Der*_*cni的帖子

区块链是一个分散的数据库吗?

我理解比特币使用区块链技术来维护所有交易的分散分类账.我还阅读了许多帖子,暗指未来区块链技术的应用,我都不清楚这一点.

区块链技术只是一个分散的数据库,对数据进行了共识验证吗?如果是这种情况,数据库肯定会变得太大而无法有效地分散?

为了帮助我理解,有人能指出一个非比特币区块链应用程序的明确例子吗?

提前致谢.

bitcoin blockchain ethereum hyperledger corda

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

使用pg-promise进行同步编程

我是node.js的新手,pg-promise来自同步编程背景,需要一种新思维.

我将首先介绍在主程序逻辑之前运行数据库初始化的场景.

以下示例:https: //github.com/vitaly-t/pg-promise/wiki/Learn-by-Example#simple-select

db.any("select * from users where active=$1", [true])
  .then(function (data) {
    // success;
  })
  .catch(function (error) {
    // error;
  });
Run Code Online (Sandbox Code Playgroud)

我的代码是否应该是:

db.query("DELETE FROM records")
  .then(function (data) {
    // success;
    console.log("This is where all my main logic goes");
  })
  .catch(function (error) {
    // error;
  });
Run Code Online (Sandbox Code Playgroud)

或者它会读作:

db.query("DELETE FROM records")
  .then(function (data) {
    // success;
  })
  .catch(function (error) {
    // error;
  });
console.log("This is where all my main logic goes");
Run Code Online (Sandbox Code Playgroud)

我的理解是,对于后者,将在删除记录之前显示消息.

更新: 在阅读了许多有关承诺和回调的文章后,我理解pg-promise使用链接.then和.catch来表示成功和错误情况.我现在也相信我理解pg-promise命令应该放在一个函数包装器中,例如:

function initialiseDB() {
  db.query("DELETE …
Run Code Online (Sandbox Code Playgroud)

node.js promise pg-promise

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

专家授权当前用户

我的创建、更新和销毁“喜欢”的政策要求用户登录。

我对该政策的措辞如下:

class LikePolicy < ApplicationPolicy
  def create?
    user && record.user_id == user.id
  end

  def update?
    create?
  end

  def destroy?
    create?
  end
end
Run Code Online (Sandbox Code Playgroud)

我的 like#create 控制器操作如下:

def create
  @article = Article.find(params[:article_id])
  @like = @article.likes.new(user_id: current_user.id, value: params[:value] == 1 : 1 ? -1)
  authorize(@like)
  @like.save
  redirect_to @article
end
Run Code Online (Sandbox Code Playgroud)

然而,使用策略来确认用户已登录是不合逻辑的,因为代码将在前面的代码中失败,例如引用 current_user 的地方。

这是如何授权包含 user_id 的记录的公认做法吗?

ruby-on-rails pundit

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

Git 来源到 bitbucket

我有一个项目,已从公共存储库克隆到我的 PC,并对其进行了调整并推送到 Heroku。
我现在希望将调整后的代码推送到 BitBucket 作为备份。

$ git status
On branch master
Your branch is ahead of 'origin/master' by 13 commits.
  (use "git push" to publish your local commits)

nothing to commit, working directory clean

$ git remote
heroku
origin
Run Code Online (Sandbox Code Playgroud)

当我尝试添加 BitBucket 命令时,出现错误:

fatal: remote origin already exists
Run Code Online (Sandbox Code Playgroud)

也就是说,之后:

$ git remote add origin git@bitbucket.org:me/myproject.git
$ git push -u origin --all # pushes up the repo and its refs for the first time
$ git push origin --tags # pushes …
Run Code Online (Sandbox Code Playgroud)

git

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

节点:从数组中删除重复的对象

我有一个对象数组,我想删除重复的项目。下面讨论这个主题,但是 ES6 解决方案似乎不适用于对象: 数组中的唯一值

var myArray=[{fname:"Bob", sname:"Brown"},{fname:"Jill",sname:"White"},{fname:"Bob", sname:"Brown"}];
var unique = myArray.filter((v, i, a) => a.indexOf(v) === i);
/*
[ { fname: 'Bob', sname: 'Brown' },
  { fname: 'Jill', sname: 'White' },
  { fname: 'Bob', sname: 'Brown' } ]
*/
let unique = [...new Set(myArray)];
/*
[ { fname: 'Bob', sname: 'Brown' },
  { fname: 'Jill', sname: 'White' },
  { fname: 'Bob', sname: 'Brown' } ]
*/
Run Code Online (Sandbox Code Playgroud)

javascript arrays node.js

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