shitaibin.github.io icon indicating copy to clipboard operation
shitaibin.github.io copied to clipboard

博客:Go语言、区块链

Results 100 shitaibin.github.io issues
Sort by recently updated
recently updated
newest added

https://lessisbetter.site/2020/03/15/why-pbft-needs-3-phase-message/ 前言在面试的时候,很多同学的简历熟悉PBFT共识算法,在现场面试的时候,却只能说个主要逻辑,离完整的算法,还差十万八千里,相似从网络上看了一些文章,就算是熟悉了。当我问“为什么PBFT需要3个阶段消息?2个阶段行不行”时,还没有人能回答出来。 回答这个问题,还要从PBFT要解决的本质问题说起,所以我打算以这样一个思路,为大家回答问题: PBFT与拜占庭问题 拜占庭节点在网络中的行为 什么是3阶段

Gitalk
88f420efa5d2246e485c93e7dca37d94

http://lessisbetter.site/2019/07/17/fabric-concepts-notes/ 声明这是一篇信息整合的文章,80%的内容来自Fabric官方文档和网络文章,在此基础上整理和修改,剩下20%为操作记录。 官方文档资料链接 https://hyperledger-fabric.readthedocs.io/en/release-1.4/glossary.htmlFabric术语表,所有概念都能在这找到,建议详读几遍,有疑问时也可以随时来查,会有新的理解。 https://hyp

Gitalk
73b17a26f20db4ba460444a50452df9d

http://lessisbetter.site/2020/01/03/fabric-peer-ledger/ 区块链最核心的是可信数据,所有的功能与设计根源都是数据。本次从数据存储的角度,看一看Peer。 账本区块链的数据存储在账本中,账本包含: 区块存储 区块文件 区块索引数据库 世界状态数据库 历史数据库 私有数据数据库 关于账本以上各数据库的工具,官方文档中对区块存储和世界状态数据库介绍的比较详细了,但我们介绍下它没有提到的。 区块文件和区块索引数据库区块是保存在文件中的,为了快速查找区块、

Gitalk
775a4119dd5eb028f362b429df02b77e

http://lessisbetter.site/2018/06/02/Goland/ Goland是我目前(2018年06月02日)体验过的最方便/高效的Golang IDE。

Gitalk
75bf8c04ef1e1046e3a0b0998d36ac14

http://lessisbetter.site/2019/09/02/fabric-sdk-go-chaincode/ 前言本文把与fabric网络交互的baas、应用程序、客户端统称成为客户端,它们可以使用sdk和fabric网络进行交互,sdk调用grpc可以跟指定的peer和orderer进行通信。 fabric-sdk-go项目简介fabric-sdk-go是Fabric官方的Go语言SDK,它的目录结构如下: 有2个目录需要注意一下,internal和third_party,它们两个包含了sdk依赖的

Gitalk
b815b7a203fb0d81c2cd43ee05fd4aad

https://lessisbetter.site/2016/03/13/review-SQL/ 本博文中的所有内容,可以在MySQL 5.6.21中运行。 MySQL 5.1在线参考手册:时光机 查询限制行号和偏倚量。从第OFFSET+1开始,共获取LIMIT个结果。可以用来求某列,第OFFSET+1大或小的行。 12345678SELECT *FROM productsLIMIT 3OFFSET 2;SELECT *FROM productsLIMIT 2,3;

Gitalk
bdcf8b5d14ca270c54158e0a0c4b485d

http://lessisbetter.site/2019/05/03/go-concurrent-problems1/ Once这个once的实现有没有什么问题? 1234567891011121314151617type Once struct { m sync.Mutex done uint32}func (o *Once) Do(f func()) { if o.done == 1 { return } o.m.Lock() defer o.m.Unl

Gitalk
7e5729d6d490937a563a1f7c659e6c99

http://lessisbetter.site/2019/08/13/raft-zh/ 前言本文在https://github.com/maemual/raft-zh_cn/blob/master/raft-zh_cn.md基础上修改、标注重点。如果遇到中文别扭的地方、不懂的地方,建议配合[英文原文][paper]一起阅读。 Raft与PBFT、Paxos等其他一致性算法相比,确实简单不少,易于理解和实现,还有很强的可用性。 Raft的3大核心是强领导者、领导者选举和成员关系变更(增

Gitalk
4b329ba513796f8f0f5969dd54616eee

https://lessisbetter.site/2018/11/07/Golang-pprof-step-by-step/ 网上已搜索golang pprof,资料不少,简明高效的一个没看到,这篇文章5步教你用会pprof获取cpu和内存prof。 第1步:安装易用的pprofgolang自带的prof包是runtime/pprof,这个是低级别的,需要你手动做一些设置等等周边工作,不利于我们快速上手,利用pprof帮助我们解决实际的问题。这里推荐davecheney封装的pprof,它可以1行代码,让你用上pprof

Gitalk
e74b64f86984021fa3985b3e73b6faef

http://lessisbetter.site/2018/11/16/golang-introduction-to-pipeline/ Golang作为一个实用主义的编程语言,非常注重性能,在语言特性上天然支持并发,它有多种并发模型,通过流水线模型系列文章,你会更好的使用Golang并发特性,提高你的程序性能。 这篇文章主要介绍流水线模型的流水线概念,后面文章介绍流水线模型的FAN-IN和FAN-OUT,最后介绍下如何合理的关闭流水线的协程。 Golang的并发核心思路Golang并发核心思路是关注数据流动。数据流动的过程交给ch

Gitalk
2d6284c3dfee48ce58dbf30d5f456bf8