LEARN & EXPLORE

keep moving to see the new world

Building A Demo Voting Ethereum DApp

引言 今天我们来体验一下在以太坊上构建一个投票DApp,最后的效果如下,每个投票人有两个参选人可选择投票,投票之后每个参选人票数加1,每个投票人只能投票一次。 那这个DApp有什么不同之处呢,这里从区块链的基础特点和以太坊的特点两个角度简单阐述一下。 区块链技术的所能解决的问题 如果只是传统地新建在web上的投票系统,它将面临下面的问题 数据库的数据会被更改,数据可能被计数多次或...

Building A Simple Blockchain with Go

前文介绍了点区块链的基础知识,话说”最好”的学习方法就是learning by doing,所以本节就用Go语言来构建个简单的图书馆区块链,内容参考自文末的博客。该区块链上将记录图书借阅情况,整理流程如下: 添加一本书的信息 将该书的借阅信息加入区块中 将区块加到区块链中 这只是简单的示例,所有的信息将存储在内存中,服务起来之后就是初始状态。 Blocks 前面介绍过...

Operation Mechanism of Bitcoin

回顾 首先回顾一下我们对比特币的印象。比特币的共识机制设定了一个只允许往里面写入的帐本,而且一旦数据被写入,它将永远被存储在那里。去中心化协议确保了账本中存储数据的共识,而矿工会执行协议并确认交易。这样账本从功能上形成了一种货币系统。同时,假设用货币奖励矿工能使矿工积极地完成记账工作。基于此本节将对如何建立货币系统做稍微深入的探索。 比特币的交易 比特币的交易过程其实就是不停地创造区块的过...

Why is Bitcoin

Sorry to be a wet blanket. But, writing a description of Bitcoin for general audiences is bloody hard. There’s nothing to relate it to.                         - Satoshi Nakamoto, July 5, 201...

ZooKeeper Deployment, Applications and Java API

ZooKeeper Introduction Apache ZooKeeper 是分布式系统的基础构件。在设计分布式系统时,总是需要开发和部署用来协调整个集群的架构,这就是ZooKeeper需求来源。ZooKeeper是Apache基金会下的开源项目,用于维护和协调分布式集群。它以简单接口提供了例如命名服务、配置管理、同步以及集群管理等常用服务,减轻了用户编程的压力。 Zoo...

Virtual Machines Cluster Quick Build and Automation Deployment

本文介绍如何简单快速进行虚拟机集群部署,网络配置以及在主服务器中通过shell脚本自动化部署从服务器软件,以作为后续大数据开发的集群基础。 CentOS 6.8虚拟机集群安装配置 我们的目标是配置一台Desktop版本的主服务器,另外四台mini版从服务器的集群,并在主服务器中自动化部署集群机器的JDK,以及处理各部分的技术细节。 具体的虚拟机安装过程不再赘述,现假设已安装好CentO...

Creating a User-Based Recommender in 5 minutes with Mahout

What is Apache Mahout? The Apache Mahout™ project’s goal is to build an environment for quickly creating scalable performant machine learning applications. Prerequisites 本文基本遵循Mahout官网上 RECO...

Support Vector Machines

提及支持向量机 (SVM),即使还不清楚其具体数学推导过程,也听说过SVM是通过找到一个最大不同类别之间间隔的超平面来进行分类的;或是当前线性不可分,SVM通过核技术将数据从低维映射到高维空间,从而数据线性可分。这也正是SVM的特点和能力所在,下面我们就来探讨下如何得到我们的SVM Classifier。 Hard-margin Hyper-plane and Margin 首先我们选...

k-Nearest Neighbors

简介 k-近邻算法思路简单清晰,同时拥有不错的分类效果,处理大规模的数据分类,尤其适用于样本分类边界不规则的情况,对异常值不敏感,无需数据输入假定等优点,被列入十大数据挖掘算法之一。 kNN思路如下,拿到一组数据,计算它跟样本集中每组数据的相似性,找出前k组最相似的数据,看这k组数据中哪个类别出现的最多,哪个就是新数据的分类。相似性就可以用各种距离来定义,这里我们采用欧氏距离。怎么样,是不...

Decision Tree

Preface 决策树是我认识中最符合人直观思维的机器学习算法了,当我们判断一个问题时,我们就会寻求一些criteria一步步来分析该问题,最终得出结论。比如对于要不要出去玩网球如此”纠结”的问题,我们可以考虑如下的决定因素:天气看起来怎么样、温度怎么样、湿度如何以及有没有风(这个例子中显然缺少一个关键因素–有没有写完作业啊,果然老外不太考虑这些)。那么思考的过程可以形成如下的一棵决策树 ...