自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 收藏
  • 关注

原创 go slice使用避坑!

package mainimport "fmt"func main() { f1() f2() c := []int{1, 2, 4} f3(c) fmt.Println(c) // out: [10 2 4] d := []int{1, 2, 4} f4(d) fmt.Println(d) // out: [1 2 4]}func f3(s []int) { // 值传递,值包括:底层数组指针、len、cap if len(s) > 0 { s[0] = 1

2021-05-29 17:18:06 153 1

原创 go语言风格培训

go语言风格培训参考资料go官方:https://github.com/golang/go/wiki/CodeReviewCommentsDeclaring Empty Slicesgoodbadvar t []stringt := []string{}注:前者是个nil类型slice 而后者是0长度类型,在json编码的时候会不一样,前者会是null而后者是[]Error Stringserror string不应该开头大写,除非是以专有名词或首字母缩写开

2021-05-28 11:37:18 199

原创 kafka本地镜像写入成功编排服务写入失败报错Message contents does not match its CRC

背景在开发重构pubsubv2的过程中测试发现连接本地kafka镜像写入正常,而连接我们测试服务器的devops里镜像失败。报错信息:kafka: Failed to produce message to topic Asys.i.bench.D_Asys.i.bench.D: Message contents does not match its CRC.追查过程这个错误曾经我遇到...

2019-06-18 21:05:32 2265

转载 RTSP 与 RTMP 协议

RTSP(Real Time Streaming Protocol)RTSP协议,这应该是实时性最好的了,如果要想实时性要求很高,比如0.5s以内,这个是不错的选择。前阵子模仿spydroid写了个建议的rtsp服务器,其实就是options,describe,setup,play,pause,teardown这几步了,这个协议用的最广泛,网上介绍也比较多。要想真正深入了解rtsp协议,c++语...

2019-04-23 21:53:27 562

原创 go语言实现分布式crontab任务系统

写在前面最近离职交接空档期,在慕课网上学习了下go语言实现分布式crontab任务调度系统。自己也跟随视频实现了一把(跟原版略有不同)。现把成果记录一下。最终代码: https://github.com/funkol2007/distributed_crontab系统介绍实现目标:实现一个分布式crontab系统。用户可以通过前端页面配置任务和cron表达式和命令来执行定时任务,相比较l...

2019-04-08 11:56:29 3937 1

原创 MongoDB介绍以及Go语言学习其API

mongoDB简介MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。mongoDB存储的都是bjson数据,也就是二进制的json对象。核心特性:文档数据库,基于二进制json高性能、高可用,可水平扩...

2019-04-02 21:43:47 516

原创 Go语言学习etcd的API使用

etcd是什么?百度一下有很多介绍etcd的文章。简要来说,ETCD是用于共享配置和服务发现的分布式,一致性的KV存储系统。其功能类似于zookeeper。详细可以参看: https://www.infoq.cn/article/etcd-interpretation-application-scenario-implement-principleetcd有什么特点?简单:基于 HTTP...

2019-03-30 22:59:15 3144

转载 IntelliJ IDEA For Mac 快捷键

Mac键盘符号和修饰键说明⌘ Command⇧ Shift⌥ Option⌃ Control↩︎ Return/Enter⌫ Delete⌦ 向前删除键(Fn+Delete)↑ 上箭头↓ 下箭头← 左箭头→ 右箭头⇞ Page Up(Fn+↑)⇟ Page Down(Fn+↓)Home Fn + ←End Fn + →⇥ 右制表符(Tab键)⇤ 左制表符(Shi...

2019-03-26 14:33:57 127

转载 CLOSE_WAIT和TIME_WAIT

在服务器的日常维护过程中,会经常用到下面的命令:netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'会显示例如下面的信息:TIME_WAIT 814CLOSE_WAIT 1FIN_WAIT1 1ESTABLISHED 634SYN_RECV 2LAST_ACK 1常用的三个状态是:ESTABLIS...

2019-03-24 22:46:19 880

原创 Go实现队列、栈、堆、优先级队列

前言C++、java等语言都实现了栈、堆、队列、优先级队列等。但是Go语言却没有。我们在实际使用中却是需要这些基础数据结构,怎么办?自己造!heap && priority_queuego语言有标准容器库 “container/heap”,我们可以根据这个库来实现堆以及优先级队列:先看 “container/heap” 里的定义:type Interface inter...

2019-01-18 11:29:53 1367

原创 PBFT/Aardvark/RBFT差异

前面几个博客文章已经介绍了这三种BFT共识技术,其中PBFT是比较早的实用BFT算法。Aardvark/RBFT都是在其之上的改进。以下说明差异:共识协议:PBFT: 采用三阶段算法保证节点之间的一致性。Aardvark:同PBFT。RBFT:在PBFT的基础上前置了PROPAGATE阶段且client需要广播消息而不是只给“primary”,用以保证好的replica一定能够收到请求...

2018-12-29 12:28:40 1540

原创 拜占庭共识机制Aardvark介绍

撸了一整天Aardvark,总结记录一下,可能有些地方理解的也不是很到位。Aardvark: http://static.usenix.org/events/nsdi09/tech/full_papers/clement/clement.pdf摘要:提出了构建BFT系统的新方法。目前的BFT系统运行的很快,但是都不能很好的应对拜占庭错误。只要一个坏的client就能让包括PBFT、Q/U/、...

2018-12-28 22:50:33 2136

转载 拜占庭共识算法PBFT:Practical Byzantine Fault Tolerance

PBFT是Practical Byzantine Fault Tolerance的缩写,意为实用拜占庭容错算法。该算法是Miguel Castro (卡斯特罗)和Barbara Liskov(利斯科夫)在1999年提出来的,解决了原始拜占庭容错算法效率不高的问题,将算法复杂度由指数级降低到多项式级,使得拜占庭容错算法在实际系统应用中变得可行。该论文发表在1999年的操作系统设计与实现国际会议上(O...

2018-12-27 16:29:46 2690

原创 拜占庭共识算法RBFT:Redundant Byzantine Fault Tolerance

最近在研究拜占庭共识,做个记录吧,有些可能也没理解透。RBFT : Redundant Byzantine Fault Tolerance论文地址:http://lig-membres.imag.fr/aublin/rbft/report.pdf摘要:提出其他已有的BFT算法(prime、Aardvark、Spinning)其实并不能真正的进行拜占庭容错,主要是由于存在一个“primary...

2018-12-26 18:29:21 3828

转载 vim设置go高量环境

换了多次机器,每次都要安装高量,总查不是办法,总结一下:安装vim-go :mkdir -p ~/.vimcd ~/.vimmkdir autoload pluggedcd pluggedgit clone https://github.com/fatih/vim-go vim-gocd ../autoloadwget https://raw.githubusercontent.c...

2018-12-17 16:42:31 224

原创 Fabric-ca与现有fabric网络组织绑定

背景在学习fabric-ca的过程中,可以通过fabric-ca生成组织和用户的证书,然后启动网络。这样就可以将ca和组织绑定起来。但是如果服务已经启动,fabric网络在无ca的情况下通过cryptogen工具已经跑通后再想把ca和组织绑定起来要怎么做呢?方法其实也很简单,主要通过一下几个步骤。mkdir -p /home/dc2-user/fabirc-ca 创建工作文件夹cd ...

2018-12-13 23:42:40 932

原创 Hyperledger Explorer 区块链浏览器与已搭建fabric网络结合

折腾了一下午,终于吧Hyperledger Explorer与现有的fabric网络结合起来。其实也挺简单,主要是踩了权限的坑。Hyperledger Explorer介绍hyperledger explorer主要是为Hyperledger的区块链网络搭建可视化的环境,可以通过浏览器查看网络中的信息,包括网络拓扑、区块信息、链码信息等等。 现在支持 fabric 和cello。本文是在fa...

2018-12-13 23:09:02 5472 7

原创 fabric v1.1 自动化部署脚本

自动部署如下结构:IP节点域名10.254.186.164ordererorderer.gyl.com10.254.186.164peerpeer0.org1.example.com10.254.247.165peerpeer1.org1.example.com10.254.207.154peerpeer0.org2.example.com...

2018-12-03 14:13:34 680 2

原创 Hyperledger Fabric实践:供应链金融案例

背景描述:在供应链金融产品中,供应商、核心企业、银行、金融机构等多方并存,共同参与交易完成。由于参与方众多,其中涉及很多清算和结算功能,如果采用传统方案解决会产生很多中间环节,导致效率低下。区块链的出现给供应链金融的实现提供了新的解决方案。案例描述:案例实现的是简单的“应收账款融资”场景。业务流程:1、核心企业与供应商线下签订合同并发货2、供应商在链上发起供货交易3、核心企业和金融机...

2018-11-30 15:45:34 4226 2

原创 算法思想:排序

排序是实际运用中比较常见的情况。计算机界也对排序进行了很深入的研究。常见的排序算法有:快速排序、归并排序、插入排序、堆排序等等。在一些算法题目当中,排序经常是作为一个实现的前提条件。比如求解 Kth Element 问题或者 TopK Elements 问题。LeedCode中就有一些题目是需要采用排序解决或者解决排序问题。1、找到第K大元素215. Kth Largest Element...

2018-11-26 00:32:41 160

原创 算法思想:双指针

双指针主要用于遍历数组,两个指针指向不同的元素,从而协同完成任务。双指针可以从不同的方向向中间逼近也可以朝着同一个方向遍历。在LeedCode中有很多题目可以通过双指针的思想来解答。其中包括:1、有序数组的 Two SumLeetcode :167. Two Sum II - Input array is sorted (Easy)Input: numbers={2, 7, 11, 15}...

2018-11-26 00:31:10 3942

原创 实战Caliper测试多机Fabric环境

成功跑完caliper自带例子之后,本人尝试使用caliper来测试自己部署的多机fabric环境。被测fabric网络拓扑1orderer、3peer、kafka共识、无ca、native启动(非docker)。IP节点域名10.254.186.164ordererorderer.example.com10.254.186.164peerpeer0.or...

2018-11-26 00:29:05 2986 2

原创 Fabirc性能测试工具之Caliper介绍

#Caliper介绍Caliper是区块链性能测试框架,用户可以在定义好测试集的情况下针对自己的区块链网络进行性能测试,获取一系列的测试结果并生成测试报告。##当前支持的区块链解决方案fabric v1.0+, 最新支持版本为v1.1.0sawtooth 1.0+Iroha 1.0 beta-3同时支持Hyperledger Composer 可以参见 Composer P...

2018-11-26 00:08:58 3181

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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