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

http://lessisbetter.site/2019/08/22/etcd-raft-source-data-flow/ 前言之前看到一幅描述etcd raft的流程图,感觉非常直观,但和自己看源码的又有些不同,所以自己模仿着画了一下,加深自己的理解。 下图从左到右依次分为4个部分: raft:raft主体功能部分 Node:raft提供的接口,raft跟上层的通信接口,会运行一个run函数,持续循环处理通道上的数据 raftNode:上层应用逻辑 其他:Client、Network、State 图中的箭头为数

Gitalk
a66b817e8a5d10fcade01d96c025d14f

http://lessisbetter.site/2019/10/29/fabric-transaction-endorser-source/ 流程在 快速入门Fabric核心概念和框架 这篇文章中,介绍了 Fabric 的很多概念,其中也包含了交易、提案(Proposal)和链码。同时也介绍了,交易的执行流程,链码的调用流程等。 本文聚焦介绍交易流程的一个环节:交易背书,以下的3幅图,在快速入门Fabric核心概念和框架 中都有介绍,有必要的话,去读一下上下文信息。 交易宏观流程 交易的详细流程请阅读 交易流程,了解交易流程的几大环节。

Gitalk
79ed036beb27d75bae22dae119e4d047

http://lessisbetter.site/2019/09/20/fabric-event-source/ 前言Event是应用和Fabric网络交互的一种方式,应用可以通过SDK向Peer订阅某种类型的事件,当Peer发现事件发生时,可以把Event发送给应用,应用获取到通知信息。 Event功能介绍Event从来源上可以分为2类: 链码容器发出的Event Peer上账本变更发出的Event 图源自Tutorial Chaincode Event Listener on Hyperledger

Gitalk
e8079e56bba8a1d6ad51815e381adca2

http://lessisbetter.site/2019/10/20/go-gc-1-history-and-priciple/ 新老朋友好久不见,我是大彬。今天为大家带来的分享是Go语言垃圾回收,这篇文章筹划的了很久,因为GC也是很强大的一个话题,关于GC已经有很多篇论文还有书籍,想通过一篇文章来介绍Go语言的垃圾回收是困难的,所以决定分几篇文章来完成Go语言垃圾回收的相关话题: Go垃圾回收 (1): 历史和原理 Go垃圾回收 (2): GC主要流程 Go垃圾回收 (3): 源码分析 Go垃圾回收 (4): GC对性能

Gitalk
d37fb631b43613b09f238db2ab818148

http://lessisbetter.site/2019/04/14/golang-scheduler-4-explore-source-code/ 各位朋友,这次想跟大家分享一下Go调度器源码阅读相关的知识和经验,网络上已经有很多剖析源码的好文章,所以这篇文章不是又一篇源码剖析文章,注重的不是源码分析分享,而是带给大家一些学习经验,希望大家能更好的阅读和掌握Go调度器的实现。 本文主要分2个部分: 解决如何阅读源码的问题。阅读源码本质是把脑海里已经有的调度设计,看看到底是不是这么实现的,是怎么实现的。 带给你一个探索Go调度器实现的办法。源

Gitalk
895697b9c8d43e36072783fa1a99f770

http://lessisbetter.site/2019/07/25/fabric-first-network/ 这篇文章介绍了如何快速的搭建一个fabric网络,然后又把搭建过程分解,针对每一步都做详细解释,希望你能熟练今后到不看文档也能搭建出fabric网络。 本文是Building Your First Network的笔记和实践记录,基于Fabric 1.4,commit id:9dce73。 前提: 安装了Docker、Go等环境。 已经下载了fabric仓库,完成make all。 下载fab

Gitalk
5cf41b21b5cee559b082a3f9889d4121

http://lessisbetter.site/2019/01/14/golang-channel-and-mutex/ 周末又到了,为大家准备了一份实用干货:如何使用channel和Mutex解决并发问题,利用周末的好时光,配上音乐,思考一下吧🤔。 来,问自己个问题:面对并发问题,是用channel解决,还是用Mutex解决? 如果自己心里还没有清晰的答案,那就读下这篇文章,你会了解到: 使用channel解决并发问题的核心思路和示例 channel擅长解决什么样的并发问题,Mutex擅长解决什么样的并发问题

Gitalk
fe1d4d9af5bf12f951035dcc68e0f4e2

http://lessisbetter.site/2019/01/20/golang-channel-all-usage/ 这篇文章总结了channel的11种常用操作,以一个更高的视角看待channel,会给大家带来对channel更全面的认识。 在介绍11种操作前,先简要介绍下channel的使用场景、基本操作和注意事项。 channel的使用场景把channel用在数据流动的地方: 消息传递、消息过滤 信号广播 事件订阅与广播 请求、响应转发 任务分发 结果汇总 并发控制 同步与异步 … channel的基本

Gitalk
44686114acc4f51e172f5e77db846491

http://lessisbetter.site/2019/03/03/golang-channel-design-and-source/ channel是大家在Go中用的最频繁的特性,也是Go最自豪的特性之一,你有没有思考过: Why:为什么要设计channel? What:channel是什么样的? How:channel是如何实现的? 这篇文章,就来回答这3个问题。 channel解决什么问题?在Golang诞生之前,各编程语言都使用多线程进行编程,但多线程复杂、混乱、难以管理,对开发者并不是多么友好。 Golang是Goo

Gitalk
d5e5f82582823c8de1625df7df06ea73

http://lessisbetter.site/2019/07/06/go-memory-allocation/ 新老朋友好久不见,我是大彬,这篇文章准备了很久,不是在拖延,而是中间做了一些其他事情,耽搁了一些。 这篇文章主要介绍Go内存分配和Go内存管理,会轻微涉及内存申请和释放,以及Go垃圾回收。 从非常宏观的角度看,Go的内存管理就是下图这个样子,我们今天主要关注其中标红的部分。 友情提醒: 文章有点长,建议先收藏,后阅读,绝对是学习内存管理的好资料。 本文基于go1.11.2,不同版本Go的内存

Gitalk
fff5264d342436db65be01c27e8c56c6