自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 知识点

知识点whereis go 找go这个命令在哪lsof -i:8080 查看8080端口是哪个进程在占用sed -i ‘/\s*#/d’ crypto-config.yaml 去除所有\s表示空格,*是正则表达式,表示0或多个,#开头的内容:w !sudo tee % 修改一个readonly的文件,在内部使用sudo命令echo...

2019-07-24 13:10:57 191

原创 sync.Once与sync.WaitGroup

sync.Once与sync.WaitGroupsync.Once实现单例模式package mainimport ( "fmt" "sync" "time")var once sync.Oncefunc main() { for i := 0; i < 10; i++ { once.Do(onces) fmt.Println("1", "---", i)...

2019-07-23 21:01:04 178

原创 排序算法

排序算法冒泡排序BubbleSort()算法:外层控制行 len(arr)-1内层控制列 len(arr)-1-i相邻数据比大小满足条件进行交换// 冒泡排序func BubbleSort(arr []int) { // 外层控制行 for i:=0; i<len(arr)-1; i++ { // 内层控制列 for j:=0; j<le...

2019-07-22 14:00:28 212

原创 二叉树

树线性表:1:1树:1:N根节点:只有后继,没有前驱子结点: 既有前驱,又有后继叶子结点:只有前驱,没有后继树的定义:互不相交的有限结点集合只有一个根结点树的特性:只有一个前驱,可以有多个后继树中可以有树(子树)树可以为空,结点0相关概念:结点的度:结点的直接后继个数树的度:先求每个结点分支数, 这些数中取max, 为“树”的度。...

2019-07-20 02:25:43 305

原创 链式栈与链式队列 Stack

链式栈 Stack栈: 受限线性表。 收该中数据类型存储特性限制。 先进后出 FILO依然是 链式存储 1:1无论压栈(入栈)、弹栈(出栈)都属于 增、删操作。选用链式存。实现链式栈,参照 单向链表(可以没有头结点,全部数据结点)数据结构type StackNode struct { Data interface{} Next *StackNode}操作方法...

2019-07-20 02:15:21 297

原创 环形链表

环形链表循环链表的方法创建链表 Create(数据)打印链表 Print()获取结点个数 Length() int插入结点 Insert(index, 数据)删除结点 Delete(index)销毁链表 Destroy()获取循环链表长度 Length()容错定义计数器 i := 0定义起始位置,记录第一个数据结点 start := node.Next循环,后移nod...

2019-07-20 02:12:39 195

原创 单向链表与双向链表

线性表的链式存储单向链表链表的操作方法创建链表 Create(数据集)打印链表 Print()获取链表长度 (数据结点的个数,不包含头结点)Length() int插入结点:头插法 InsertByHead(数据)插入结点:尾插法 InsertByTail(数据)按位置插入:InsertByIndex(数据,index)按位置删除:DeleteByIndex(index)按数...

2019-07-19 02:19:33 134

原创 go语言map底层实现

go语言map底层实现笼统的来说,go的map底层是一个hash表(HashMap),表面上看map只有键值对结构,实际上在存储键值对的过程中涉及到了数组和链表。HashMap之所以高效,是因为其结合了顺序存储(数组)和链式存储(链表)两种存储结构。数组是HashMap的主干,在数组下有一个类型为链表的元素。哈希函数会将传入的key值进行哈希运算,得到一个唯一的值。go语言把生成的哈希值一分为...

2019-07-19 01:59:30 1677 3

原创 go语言中的垃圾回收机制(gc)

go语言中的垃圾回收机制(gc)引用计数法适用于内存占用小于32kb时使用在每个对象内部维护一个整数值,叫做这个对象的引用计数,当对象被引用时引用计数加一,当对象不被引用(释放、置nil)时引用计数减一。当引用计数为 0 时,自动销毁对象。另外的缺陷是,每次对象的赋值都要将引用计数加一,增加了消耗。Mark-Sweep法(标记清除法)(go早期使用)这个算法分为两步,标记和清除。标记:...

2019-07-17 01:41:21 535

原创 go语言模拟切片的实现

go语言模拟切片的实现切片的本质// 定义切片类型type Slice struct { Data unsafe.Pointer // Go语言中的 万能指针类型. void * C语言中的万能指针. 没有具体数据类型,不能进行运算. Len int // 数据元素个数 Cap int // 可扩展的有效容量}C语言内存的使用#include <stdlib.h&gt...

2019-07-17 01:15:05 187

原创 数据结构和算法简述

数据结构和算法简述数据结构:数据组织、存储的基本形式。是算法的基础算法:具体问题解决步骤的描述(指令集的集合)算法的分类:1.分治法(分步治理):有明确目标,有既定的执行方式。(拆分,解决小问题,合并)—— 开发中应用频率最高2.最短路径法:有明确的目标,需要找寻有效地执行方式(刷完怪取找NPC交任务的路线) ——游戏开发中3.贪婪(贪心):没有明确的目标,没有有效地执行方式(阿尔法狗...

2019-07-17 00:35:36 199

原创 以太坊简介

以太坊简介基本概念以太坊是一个区块链的网络,由很多节点组成以太坊可以转账,可以做数据存储(合约)(通过交易承载)以太坊可以执行程序,程序叫做智能合约,所有节点都运行这个程序环境浏览器插件MetaMask(仅具有转账功能,合约开发需要配合Remix编译器)Remix编译器以太坊网络环境主网络花费真实的以太币测试网络私有网路公共网络Mor...

2019-07-15 00:03:59 429 1

原创 手动搭建一个fabric网络二

手动搭建一个fabric网络二启动容器根据之前编写的配置文件docker-compose-cli.yaml启动容器$ docker-compose -f docker-compose-cli.yaml up -d注意:-f docker-compose-cli.yaml是指定配置文件,如果不加会报错检测所有的节点是否正常启动了$ docker-compose -f docker-co...

2019-07-08 01:10:53 435

原创 手动搭建一个fabric网络一

手动搭建一个fabric网络一准备工作1.启动节点之前要生成账号客户端peer节点orderer节点2.将创始区块和通道信息写入配置文件,生成创世区块和通道需要的文件3.docker-compose配置文件节点的操作创建通道, 根据之前生成的通道文件将所有的peer节点加入到通道中将编写好的智能合约安装到peer节点上对链码初始化测试 - > 通过客户端读...

2019-07-07 23:50:58 1003

原创 Fabric环境搭建

Fabric环境搭建部署hyperledger Fabric# 创建放置的目录,然后进入该目录,用curl下载脚本。$ cd ~ # 这里在家目录下创建放置目录$ mkdir hyperledger-fabric # 创建放置目录$ cd hyperledger-fabric不翻墙的方式:curl -sSL https://raw.githubusercontent.com/hyp...

2019-07-06 14:09:28 1143

原创 一个好用的errors包

一个好用的errors包地址:"github.com/pkg/errors"案例WithMessagepackage mainimport ( "fmt" "os" "github.com/pkg/errors")func main() { err := test1() if err != nil { fmt.Println("err:", err) }...

2019-07-05 00:35:18 974

原创 go mod

go mod配置环境变量export GO111MODULE=auto #auto 自动#on 使用mod#off 不使用mod案例在任意位置创建hello.go文件,写入如下内容:package mainimport ( "fmt" "github.com/astaxie/beego")func main() { beego.run() ...

2019-07-04 22:24:14 2294

原创 go语言模拟区块链step3

持久化存储与命令行的加入我们要把生成的区块在磁盘上做一个持久化的存储,而且要自由添加区块持久化存储思路分析改变BlockChain结构体成员和方法type BlockChain struct { db *bolt.DB //用于存储数据 tail []byte //最后一个区块的哈希值}定义一些常量,用于之后的参数const genesisInfo = "The fi...

2019-07-04 20:56:38 194

原创 fabric简介

fabric简介Fabric架构的核心包括三部分:Identity - 身份管理Smart Contact - 智能合约Ledger及Transactions - 账本和交易1.身份管理用户身份order节点对交易排序,打包peer节点存储账本需要安装链代码,处理客户端请求,管理账本数据客户端对账本数据进行读写操作fabric网络中的每...

2019-07-04 20:37:30 15283

空空如也

空空如也

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

TA关注的人

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