- 博客(13)
- 资源 (2)
- 收藏
- 关注
原创 权重Weight和基准Benchmarking
权重Weight和基准Benchmarking默认的Substrate块生产系统以一致的间隔生产块。这就是所谓的目标块时间。考虑到这一要求,基于Substrate的区块链只能在每个区块执行有限数量的extrinsics。根据计算复杂度、存储复杂度、使用的硬件和许多其他因素,执行一个外部因素所需的时间可能会有所不同。我们使用称为权重的通用度量来表示一个块可以容纳多少extrinsics。我们使用称为权重的通用度量来表示一个块可以容纳多少extrinsics。10^12 weight units = 1
2021-11-16 14:34:29
394
原创 Go语言CSP:通信顺序进程简述
Go语言CSP:通信顺序进程简述Go实现了两种并发形式,第一种是大家普遍认知的多线程共享内存,其实就是 Java或 C++ 等语言中的多线程开发;另外一种是Go语言特有的,也是Go语言推荐的 CSP(communicating sequential processes)并发模型。CSP 并发模型是上个世纪七十年代提出的,用于描述两个独立的并发实体通过共享 channel(管道)进行通信的并发模型。Go语言就是借用 CSP 并发模型的一些概念为之实现并发的,但是Go语言并没有完全实现了 CSP 并发模型
2021-09-22 11:12:04
344
原创 Go多进程同步
Go多进程同步Go_chanchan 可以理解为队列,遵循先进先出的规则。在说 chan 之前,咱们先说一下 go 关键字。在 go 关键字后面加一个函数,就可以创建一个线程,函数可以为已经写好的函数,也可以是匿名函数。举个例子:func main() { fmt.Println("main start") go func() { fmt.Println("goroutine") }() fmt.Println("main end")}输出:main startmain
2021-09-22 11:11:34
1410
3
原创 Rust 学习之 Some、Option、Result
Some、Option、Result最近学习 Rust 时对它的所有权,借用等概念,包括语法之类的都还算好理解,但碰到 Some、Option、Result 这些,包括语句后面的 ? 号等等着实困惑了一把,不过经过各种资料的翻阅,总算是理解这几样东西的用法及存在的意义,在这里记录一下。Option严格的来说,只有 Option 和 Result,Some 只是 Option 的一个值包装类型。我们先来描述一个普通的场景,在很多语言中,获取一个数据可能会返回 null 也可能会没有数据,拿 java
2021-09-22 11:09:36
2350
原创 Hyperledger Fabric文档
Hyperledger FabricHyperledger Fabric 是一个开源的企业级许可分布式账本技术(Distributed Ledger Technology,DLT)平台,专为在企业环境中使用而设计,与其他流行的分布式账本或区块链平台相比,它有一些主要的区别。一个主要区别是 Hyperledger 是在 Linux 基金会下建立的,该基金会本身在开放式治理的模式下培育开源项目的历史悠久且非常成功,发展了强大的可持续社区和繁荣的生态系统。Hyperledger 由多元化的技术指导委员会进行管
2021-09-14 19:52:01
1895
原创 Java/Rust stream流
Java/Rust stream流Javaimport java.util.ArrayList;import java.util.List;import java.util.stream.Collectors;public class Stream { public static void main(String[] args) { ArrayList<student> students = new ArrayList<>();
2021-08-28 23:37:39
178
原创 web3j示例
web3j示例import org.web3j.crypto.CipherException;import org.web3j.crypto.Credentials;import org.web3j.crypto.WalletUtils;import org.web3j.protocol.Web3j;import org.web3j.protocol.core.DefaultBlockParameterName;import org.web3j.protocol.core.methods.res
2021-07-05 16:47:52
321
原创 共识算法(BABE+GRANDPA)
共识算法(BABE+GRANDPA) 传统的分布式系统采用的较常用的共识算法包括raft, paxos, PBFT等。PBFT(practical byzantine fault tolerance)是相对比较简单且实用的算法。必须要指定一个委员会,只有委员会里的节点拥有投票权,不是开放式的。而自从比特币后,出现了新的共识算法工作量证明 (Proof of Work) 的共识机制第一个去中心化的金融交易系统。工作量证明的去中心化程度很高,允许任何节点加入网络,主要问题是对
2021-06-28 17:48:37
1202
3
原创 HTML
1. HTMLHTML: Hyper Text Markup Language(超文本标记语言)W3C标准:结构化标准语言(HTML,XML)表现标准语言(CSS)行为标准(DOM,ECMAScript)1.1 网页基本信息<!--DOCTYPE告诉浏览器,要使用什么规范--><!DOCTYPE html><html lang="en"> <!--代表网页头部--><head> <!--meta用来
2020-10-21 09:59:04
180
原创 回溯算法
1. 什么是回溯法对于回溯算法的定义,百度百科上是这样描述的:回溯算法实际上一个类似枚举的搜索尝试过程,主要是在搜索尝试过程中寻找问题的解,当发现已不满足求解条件时,就“回溯”返回,尝试别的路径。回溯法是一种选优搜索法,按选优条件向前搜索,以达到目标。但当探索到某一步时,发现原先选择并不优或达不到目标,就退回一步重新选择,这种走不通就退回再走的技术为回溯法,而满足回溯条件的某个状态的点称为“回溯点”。许多复杂的,规模较大的问题都可以使用回溯法,有“通用解题方法”的美称。看明白没,回溯算法其实就是一个不断
2020-10-21 09:58:16
127
原创 Java反射
1. Java ReflectionReflection(反射)是Java被视为动态语言的关键,反射机制允许程序在执行期间,借助于Reflection API取得任何类的内部信息,并能直接操作人以对象的内部属性及方法。Class C = Class.forName("java.lang.String")加载完类之后,在堆内存的方法区中就产生了一个Class类型的对象(一个类对应一个Class对象),这个对象就包含了完整类的结构信息。我们可以通过这个对象看到类的结构。这个对象就像一面镜子,透过镜子看
2020-10-12 16:26:14
144
原创 设计模式(持续更新中)
设计模式学习设计模式的意义:设计模式的本质是面向对象设计原则的实际运用,是对类的封装性,继承性和多态性以及类的关联关系和组合关系的充分理解正确使用设计模式具有以下优点:可以提高程序员的思维能力,编程能力,和设计能力是程序设计更加标准化,代码编制更加工程化,使软件开发效率大大提高,从而缩短软件的开发周期使设计的代码可重用性高,可读性强,可靠性高,灵活性好,可维护性强设计模式的基本要素模式名称问题解决方案效果23种设计模式(GoF23):创建型模式:(描述如何创建,将创建和使用
2020-10-12 15:26:18
109
原创 Spring学习文档
1.spring1.1 简介<!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc --><dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>5.2.0.RE
2020-10-12 15:17:42
167
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人