Liu-Cheng Xu

温故知新

排序:
默认
按更新时间
按访问量

卡尔达诺入门必备

本文为卡尔达诺(Cardano)的入门读物,主要内容为卡尔达诺的整个项目概览: 卡尔达诺是什么,为什么,有何独特之处,以及团队组织。 ADA 是什么,乌洛波罗斯(Ouroboros)共识。 卡尔达诺是什么,为什么卡尔达诺是一个去中心化的公有区块链和加密货币项目,它目前正在开发一个智能合约平台,该平...

2017-12-17 20:02:34

阅读数:2445

评论数:0

书单分享

了解一个新的领域,其中一个方法就是大量的阅读,进而产生一个基本的认识。之前研究过推荐系统,机器学习,一路走来也积累了一些书单,丢失了一些,如今还剩这些。在此分享给大家,里面有不少有关机器学习和数据挖掘,还有 Python,Spark,设计类等等。Theory 部分大部分是经典书籍,对于发论文可能显...

2017-12-07 19:32:48

阅读数:273

评论数:1

使用 Vim 的 jump list 看代码

完整 Vim 配置见:space-vimjumplistVim 可以记录我们最近访问的位置(location)。每个位置(position)(position 包括了文件名,列号,行号)会被一个 jump list (跳转表)中,每个窗口(window)都有一个单独的 jump list,它可以记...

2017-11-18 11:33:01

阅读数:184

评论数:0

STARKs, Part I: 多项式证明

相信很多人都听过 ZK-SNARKS,一个通用而简洁的零知识证明技术,从可验证计算到需要隐私保护的加密货币,它可以被应用于各类场景。不过,可能你还不知道现在 ZK-SNARKs 有了一个新兄弟:ZK-STARKs. 这里的 T 表示 “transparent”,“透明的”,ZK-STARKs 解决...

2017-11-12 13:07:19

阅读数:896

评论数:0

怎么写一个好的 Git commit message

网络上很多关于 commit message 的想法都来源于 tpope,在他看来,一个好的 Git commit messge 应该是这样的: Capitalized, short (50 chars or less) summary More detailed explanato...

2017-10-10 08:46:33

阅读数:2607

评论数:0

终极指南:为什么以太坊不仅仅一个是加密货币

尽管比特币(Bitcoin)和以太坊(Ethereum)是经常被一起提及的两个词,但实际上,比特币与以太坊有着很大的区别。它们唯一的共同点是,以太坊也是一个在区块链之上运行的加密资产。与比特币仅仅是一个加密货币不同,以太坊还有很多其他特性。正是这些特性,才使得以太坊成为了一个去中心化的超级电脑。在...

2017-09-25 21:44:57

阅读数:2105

评论数:0

在 Golang 中开发中使用 Makefile

使用 Golang 已经有一阵了,在 Golang 的开发过程中,我已经习惯于不断重复地手动执行 go build 和 go test 这两个命令. 不过,现在我已经摆脱了这个习惯。如果只用到了不带参数的简单命令,直接这么操作可能并不可怕。但是在一些复杂的任务中,如果依旧是手动执行 go bui...

2017-09-23 10:45:20

阅读数:1926

评论数:0

使用 Shell 脚本进行 Hadoop Spark 集群的批量安装

虽然有一些自动化安装的工具,但是功能越多,越专业的工具,可能也需要越高的学习成本,而我们并非专业运维,但是又必须做这些事情的话,不妨选择用 Shell 脚本来完成集群的安装。当然了,现在也有很多使用 docker 的做法,安装与部署也非常方便。整个过程其实很简单,就是对安装过程中的一些手动操作使用...

2017-08-30 21:52:49

阅读数:535

评论数:0

可移植的 Makefile 教程

在我写 Makefile 的头 10 年里,我养成了一个非常不好的习惯 – 完全严格使用 GNU Make 的扩展名。过去我并不知道, GNU Make 与 POSIX 所保证的可移植特性之间的区别与联系。通常情况,它并不十分重要,但是当在非 Linux 系统上进行构建时,比如在各种 BSD ...

2017-08-23 19:21:03

阅读数:378

评论数:0

Tendermint: 共识概览

Tendermint 是一个易于理解,大部分操作为异步的 BFT 共识协议。下图是一个简单的状态机,它展示了协议遵循的规则:协议中的参与者叫着 “验证人”(validator)。他们轮流对交易区块进行提议,并对这些区块进行投票。区块会被提交到链上,每一个块占据一个“高度”(height)。提交块可...

2017-08-15 19:20:27

阅读数:5468

评论数:0

编译器入门

编译器(compiler)就是一个翻译其他程序的程序而已。传统的编译器将源代码翻译为计算机能够理解的可执行机器代码(有一些编译器将源代码翻译为另一种编程语言。这些编译器叫做从源码到源码的翻译器,source-to-source translators or transpilers)。LLVM 是一...

2017-08-14 22:21:46

阅读数:4498

评论数:0

Tendermint: 什么是 ABCI (应用区块链接口)

区块链应用接口(Application BlockChain Interface,ABCI)允许应用的拜占庭容错复制可以由任意一种编程语言编写。Motivation至今为止,所有的区块链“栈”(比如,比特币)都有着大一统的设计。这就是说,每个区块链栈都是一个单一的程序,这个程序处理了去中心化账本的...

2017-08-13 15:01:48

阅读数:2511

评论数:0

设置 jupyter notebook 可远程访问

首先是要 安装 Anaconda 。默认情况下,安装好 Anaconda 后打开 jupyter notebook, 访问本地 localhost:8888 即可。但是如果要访问另一台机器,比如远端服务器上的 notebook, 即默认是不支持 172.104.105.119:8888 这样的...

2017-08-09 17:08:08

阅读数:12721

评论数:0

Tendermint 与其他技术的比较

Tendermint 大体上与两类软件很类似。第一类包含了分布式的键值存储,比如 Zookeeper,etcd 和 consul,它们都使用了非拜占庭容错共识。第二类就是 “区块链技术”,它既包括了像比特币和以太坊这样的加密货币,也包括了像 Hyperledger Burrow 这样的分布式账本设...

2017-08-07 09:52:05

阅读数:634

评论数:0

什么是 Tendermint?

Tenermint 是一个软件,用于在多台机器安全一致地复制一个应用。所谓安全,指的是即使有多达 1/3 的机器出现任意故障的情况下, Tendermint 仍然能够正常工作。所谓一致,指的是每一个正常工作的机器都会有着同样的交易日志,计算相同的状态。安全一致的复制是分布式系统中一个至关重要的问题...

2017-08-06 18:13:05

阅读数:2093

评论数:0

用表情符号解释比特币 - Part 1

比特币是一个存储和消费数字货币的革命性方式,并且有着变革其他领域的潜力。无须成为一个数学家或密码学家, 你就可以理解它是怎么回事。当开始看到整个系统是如何形成时,你可能会变得十分兴奋。本文是三篇系列文章中的第一篇。假设通过互联网给你发送一部电影或是一首歌,我会将一个文件添加到邮件中。一旦我点击了发...

2017-07-29 13:15:20

阅读数:589

评论数:0

在 Shell 脚本中调用另一个 Shell 脚本的三种方式

先来说一下主要以下有几种方式: fork: path/to/foo.sh exec: exec path/to/foo.sh source: source path/to/foo.sh forkfork 是最普通的, 就是直接在脚本里面用 path/to/foo.sh 来调用 foo.sh 这...

2017-07-28 23:38:09

阅读数:22939

评论数:0

Scala 最佳实践:纯函数

我们所处的是一个命令式编程(imperative programming)的时代,这也是我们为何更喜欢用命令式风格写代码的原因。在我们周围的一切都是可变的。虽然可变性并没有那么差劲,但是共享可变性就有点麻烦了。当我们引入共享可变性时,各种问题就会随之而来。函数式风格是应对这类问题的一个很好的方法。...

2017-07-26 17:06:21

阅读数:537

评论数:0

Shell 中的中括号用法总结

Shell 里面的中括号(包括单中括号与双中括号)可用于一些条件的测试: 算术比较, 比如一个变量是否为0, [ $var -eq 0 ]。 文件属性测试,比如一个文件是否存在,[ -e $var ], 是否是目录,[ -d $var ]。 字符串比较, 比如两个字符串是否相同, [[ $va...

2017-07-23 16:15:05

阅读数:794

评论数:0

Vim 文本对象指南 (2)

接 Vim 文本对象指南 (1), 关于插件使用, 可以查看完整配置 space-vim.编程语言的文本对象Vim 基于常见编程语言结构提供了几个常见的文本对象. 其实都是一对儿符号,主要可以分为: 成对的标点符号,比如单引号,双引号,反引号。 成对的括号,比如小括号,中括号,大括号。 标记语言标...

2017-07-22 19:57:14

阅读数:177

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭