自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 在Deepin上安装Hyperledger Fabric 1.4.0——爬坑

为什么要装1.4.0因为目前sdk只支持到1.4.x部分,所以只能先装个1.4.x玩玩了安装步骤从依赖开始安装步骤主要参照 https://segmentfault.com/a/1190000020321633 即可,但是有一个问题值得关注。文章中提到下载二进制文件的url目前测试是不可用的,因此需要更换别的源。更换为原本的github源即可,建议科学上网,下载速度会快一些。更换源参照 ht...

2020-04-03 16:15:47 311

原创 Hyperledger Caliper安装爬坑指南——Deepin15.10

全篇安装主要参照这篇官方文档,但中间有很多坑,需要格外注意。本人系统Deepin15.10必要组件安装请参加这位大大的blog,还有这位的,里面有详细记录如何安装相关组件,建议对照官方文档中的查看,因为blog里面的组件不全。并且,自己亲测按照blog中的安装方法无法适应最新版本,因此建议按照官方的来。注意docker-ce的版本要在18.09以后,否则会报错;还有就是一定要取消docker必...

2020-03-29 20:34:17 1858 5

原创 JAVA小知识——比较器Comparator

在Java中,我们常用到Collections.sort(arraylist);来对一个动态数组排序。但是有的时候,排序的规则并不是我们想要的规则,可不可以自定义一个规则来对数组进行排序呢。答案当然可以的,这里需要用的一个比较器Comparator类。新建一个Comparator类的实例,该实例中重写compare(A s1, A s2)方法,可以在其中自定以比较的逻辑,Collection.s...

2019-06-18 17:21:35 422

原创 JAVA网络编程——TCP

tcpJAVATCP协议介绍JAVA TCP编程步骤组件ServerSocketSocket状态实例TCP协议介绍TCP: Transmission Control Protocol传输控制协议,面向连接的协议两台机器的可靠无差错的数据传输双向字节流传递JAVA TCP编程步骤TCP协议:有链接/保证可靠的无误差通讯服务器:创建一个ServerSocket,等待连接客户机...

2019-06-12 11:08:15 225

原创 JAVA网络编程——UDP

udpJavaUDP协议简述计算机通讯UDP 协议JAVA udp网络编程实现实现类DatagramSocketDatagramPacket实例接受方发送方UDP协议简述计算机通讯数据从一个IP的port出发(发送方),运输到另外一个IP的port(接受方)。UDP 协议UDP协议是无连接无状态的通讯协议,发送方发送消息,如果接受方刚好在目的地,则可以被接受。如果接受方不在目的地,这...

2019-06-11 17:39:46 276

原创 JAVA多线程——定时任务实例(未完成)

定时任务功能设计JAVA实现简单版实现:Timer定时器实例Executor + 定时器机制实例Quartz功能设计设计一个定时执行的多线程任务,具有两种功能:固定时间点运行任务以固定时间为周期运行任务JAVA实现简单版实现:Timer定时器利用JAVA自带的Timer类定时器,它可以设置计划任务,也就i是在指定的时间开始执行某一个任务。它使用TimerTask来封装任务。实例...

2019-06-10 10:33:45 1592

原创 JAVA多线程——并发编程

并发编程线程实现的基本方式线程协作的进阶方式Lock线程实现的基本方式以前使用的线程协作模式主要有两类:Thread/Executor/Fork-Join框架: 负责线程的启动、运行和结束,但线程之间缺乏协作synchronized同步:一次只允许一个线程进入关键去,过于简单粗暴,效率不高线程协作的进阶方式LockLock也可以实现同步的效果它允许实现更复杂的临界区结构tr...

2019-06-06 11:53:06 675

原创 JAVA多线程——并发数据结构

并发数据结构传统数据结构的问题并发数据结构包括的类型List类Set类传统数据结构的问题常用的数据结构,诸如HashMap, ArrayList, HashSet都是非同步的,当多个线程进行读写,可能会抛出异常或数据错误,因此是线程不安全的。但是Java里面陈旧线程安全的数据结构,诸如HashTable, Vector, StringBuffer等,性能过差。因此J.U.C实现了一些新的同步数...

2019-06-04 16:46:57 656

原创 JAVA多线程——Fork-Join框架

Fork-Join框架Java多线程发展Fork-join概览Fork-join中的重要类例子:ForkJoin框架的使用总结ForkJoin 常用API 一览建立线程池建立ForkJoinTask任务(需重写compute方法)ForkJoinTask提交子任务ForkJoinTask等待子任务完成向线程池提交并运行任务获取并打印任务结果判断任务是否结束Java多线程发展Java多线程主要有...

2019-06-03 21:30:27 448

原创 JAVA多线程——Executors和线程池

ExecutorsExecutors与线程池例子一:线程池的创建与使用例子二:更为复杂的情况总结executors的常用API一览Executors与线程池Executors是java.util.concurrent提供的一个并发框架,其中集成的一个线程池很有用,它避免了传统运行中自己创建线程的麻烦,改为将已经创建好的线程提供给用户使用,在简化了线程创建操作的同时,实现了线程的复用。例子一:...

2019-06-03 17:44:27 195

转载 JS语言学习——JSON

JSON是 JavaScript Object Notation的缩写,它是一种数据交换格式。在JSON出现前,大家一直用XML来传递数据,因为XML是一种纯文本格式,适合在网络上传递数据,但是XML加上一堆复杂的规范(诸如DTD,XPath等)以后,就变得极为复杂起来,所以在2002年Douglas Crockford为了解决这类问题,发明了JSON这种超轻量级的数据交换格式。在JSON中,...

2018-12-31 10:48:55 222

原创 JavaScrip学习 ——高阶函数

JS中的函数都指向某个变量,而每一个函数都可以接受另一个函数作为参数,这就被称为高阶函数。map/reducemap以 f(x) = x^2为例,要把这个函数作用在一个数组[1, 2, 3, 4, 5, 6, 7]上,就可以用map实现,它定义在JS 的 Array中‘use strict’;function pow(x){ return x * x;}var arr = ...

2018-12-27 17:52:34 119

原创 JavaScript学习(3)——方法

在一个对象中绑定函数,称为该对象的方法。在JS中,对象的定义是这样的:var xiaoming = { name: '小明', birth: 1990};但是,如果我们给xiaoming绑定一个函数,就可以做更多的事情。比如, 写个age()方法,返回xiaoming的年龄:var xiaoming = { name: '小明', birth: 1990, age: func...

2018-12-27 16:20:58 125

原创 JavaScript学习笔记(2)——函数

定义函数函数的定义方式有两种function abs(x) { if (x >= 0) { return x; } else { return -x; }}上述函数定义为function指出这是一个函数定义;abs是函数名称(x)括号内列出函数的参数,多个参数以,分割{…}之间的代码是函数体,可以包含若干语句,也可以没有语句请注意,函数体内部的语句在执行...

2018-11-26 16:46:16 190

原创 JavaScript学习(1)——Var变量&对象

这个变量是一个动态类型,可以在多个类型中转换JS只用一种数字类型,数字可以带小数点,可以不带。数字极大极小的数字可以通过科学计数法书写。示例:var y=123e5 //12300000 var z=123e-5 //0.00123布尔型JS数组如何创建数组var cars=new Array();cars[0]="Audi";cars[1]="BMW&a

2018-11-18 11:07:06 2795

转载 Go语言学习笔记(1)——入门

GO语言的基础部分包括以下几个成分:包声明引入包函数变量语句&表达式注释一个简单的go程序例子如下:package main //包名import "fmt" //输出包名,fmt包是实现了格式化IO的函数func main() { //主函数,每个可执行程序必有的 /* the first go program */ fmt.Println("Hello...

2018-10-08 11:18:42 135

转载 TensorFlow学习笔记(3)——CNN在CIFAR10上的实现

CIFAR10是一个对图片进行10种分类的项目 官网提供了数据集的下载,此外官网还有对于数据集的介绍。数据集中数据被分为了两部分。第一部分是特征部分,使用一个[10000,3072]的uint8的矩阵进行存储,每一行向量都是32*32大小的3通道图片,构成的格式类似于[32,32,3];第二部分为标签部分,使用一个10000数据的list进行存储,每个list对应的是0-9中的一个数字,对应...

2018-09-10 20:12:46 581 2

转载 TensorFlow学习笔记(2)——CNN应用于MNIST

对于一个卷积网络来说,几个必不可少的部分为:输入层:用以对数据进行输入卷积层:使用给定的核函数对输入的数据进行特征提取,并根据核函数的数据产生若干个卷积特征结果池化层:用以对数据进行降维,减少数据的特征全连接层:对数据已有的特征进行重新提取并输出结果代码示例1、数据准备import tensorflow as tffrom tensorflow.examples.t...

2018-09-07 12:15:16 452

转载 TensorFlow学习笔记(1)—— MNIST手写识别

1、初步学习数据处理xs:60000张图片,28*28大小,将所有像素点按一列排列,数据集变为了[60000, 784]的二维矩阵。ys:60000张图片,每个图片有一个标签标识图片中数字,采用one-hot向量,数据集变为[60000, 10]的二维矩阵。softmax函数 用来给不同的对象分配概率,一般放在分类网络最后一层。 接下来,实现一个非常简单的两层全连接网络来完...

2018-09-03 19:02:36 410

翻译 Solidity语言学习(10) —— Solidity汇编(Solidity Assembly)

solidity定义一个组件语言,这个语言可以在没有Solidity下使用。该组件语言也能在Solidity源代码中被用作“在线组件”。我们从这样使用在线组件以及怎样区分其与脱机组件开始介绍,然后接下来介绍详细介绍组件。在线组件(Inline Assembly)为了更多的细粒度控制,尤其是通过写库来提升语言,在一个接近虚拟即的语言中插入包含在线组件的Solidity指令是完全可能的。因为E...

2018-08-30 14:56:56 4638

翻译 solidity语言学习(9)—— 合约(Contract)

在solidity中合约类似于面对对象的语言中的类。他包括了状态变量中那些长期的数据以及能够修改这些状态的函数。在一个合约中调用另一个合约(实例)的函数会执行一个EVM函数调用,它将转换上下文内容是得状态变量不可触及。创造合约合约是通过以太坊交易或者来自solidity合约内部,“从外部”产生的。一些典型的IDE,比如说Remix,能够使用UI元素创造无缝的进程。在以太坊中程式...

2018-08-27 20:58:39 4038

翻译 solidity语言学习(8) —— 表达式和控制结构

输入参数和输出参数和JavaScript一样,solidity的函数也可以使用参数作为输入;但与JavaScript和C不同的是,函数可能也会返回任意数量的参数作为输出 输入参数 输入参数声明的方式和变量是一样的。但是例外的是,不使用的参数可以省略变量名。比如,假设我们想要我们的合约接受一种含两个整形的外部调用,我们可以这样写:pragma solidity ^0.4.16;c...

2018-08-23 22:20:13 697

翻译 Solidity语言学习(7) —— 单位和全局变量

以太币单位以太币单位之间的换算就是在数字后边加上 wei、finney、 szabo、或ether来实现的,如果后面没有单位,缺省为Wei。例如 2ether == 200finney 的逻辑判断为true。时间单位秒是缺省时间单位,在时间单位之间,数字后面带有 seconds、minutes、hours、days、weeks和years的可以进行换算。 由于闰秒造成的每年不都是...

2018-08-23 09:46:39 1145

翻译 solidity语言学习(6) —— 引用类型

引用类型复杂类型,比如一些并不是总能适应与256bits的类型,必须比我们见过的值类型更加慎重的处理。因为复制他们需要较昂贵的花费,所有我们不得不思考我们是否希望将其存储在内存里(并不长久的)或者存储里(状态变量就在这里保存)数据位置 每一种复杂类型,比如数组或者结构体,都有一个附加的注释——“数据位置”,有关于它在哪里存放的。有3种存放数据的地方:内存(memory),存储(stora...

2018-08-22 20:22:43 259

翻译 Solidity语言学习(5)——值类型与引用类型(其二)

合约类型每个合约都定义自己的类型。(不再是地址派生出的了)你可以隐式的将合约转化为他继承的合约,也可以显示的将他们转化或转化自address类型。 0.5.0版本后合约不再是地址类型导出的了,但仍可以显示的转化为地址类型。 如果你声明了一个本地合约类型变量(MyContract c),你可以在这个合约上调用函数。但是需要小心使用其他同样的合约类型对其赋值。 (这一段是最新版...

2018-08-22 10:03:58 277

转载 Solidity语言学习(4)——值类型与引用类型

由于Solidity是一个静态类型的语言,所以编译时需明确指定变量的类型(包括 本地变量或 状态变量),solidity编程语言提供了一些基本类型(elementary types)可以用来组合成复杂类型。类型可以与不同运算符组合,支持表达式运算,你可以通过表达式的执行顺序(Order of Evalution of Expressions)来了解执行顺序值类型(Value Type)...

2018-08-21 16:16:07 347

转载 Solidity语言学习(3)——智能合约源文件基本要素

合约类似面向对象语言中的类。支持继承每个合约中可包含 状态变量(state Variables),函数(function),函数修饰符(Function Modifiers),事件(Events),结构类型(Structs Types)和 枚举类型(Enum Types)状态变量 (State Variables)变量会永久存储在合约的存储空间pragma solidit...

2018-08-21 10:25:31 397

转载 Solidity 语言学习(2)—— Solidity智能合约文件结构

版本申明pragma solidity ^0.4.0;说明: 1 版本要高于0.4才可以编译 2 表示高于0.5的版本则不可编译,第三位的版本号但可以变,留出来用做bug可以修复(如 0.4.1的编译器有bug,可在0.4.2 修复,现有合约不用该代码)。引用其他源文件全局引入import ”filename“;自定义命名空间引入import * a...

2018-08-20 22:28:27 356

转载 Solidity语言学习(1)—— 开篇

Solidity是一种智能合约的高级语言,运行在Ethereum虚拟机(EVM)之上。Solidity与其它语言相关的特点?它的语法接近于JavaScript,是一种面向对象的语言。但作为一种真正意义上运行在网络上的去中心合约,它又有很多的不同,下面列举一些:以太坊底层是基于账户,而非UTXO的,所以有一个特殊的Address的类型。用于定位用户,定位合约,定位合约的代码(合约本身也...

2018-08-20 21:19:03 225

转载 智能合约开发(4)—— solidity实例

1.投票 这个合约比较复杂,但其中展示了很多的Solidity的特性。它实现了一个投票合约。电子投票的主要问题是如何给正确的人分配投票权,以及如何防止操纵。我们不会在这里解决所有问题,但我们会展示如何进行委派投票,以便记票自动且完全透明。idea 是为每个选票创建一个合约,为每个投票提供一个短名称。合同的创造者作为主席将分别给予每个地址投票权。地址背后的投票人可以选择他们自己进行投票或者...

2018-08-20 15:06:02 2993

转载 智能合约开发(3)—— 以太坊虚拟机(EVM)基础

以太坊虚拟机(EVM)是以太坊中智能合约的运行环境。它不仅被沙箱封装起来,事实上它被完全隔离,也就是说运行在EVM内部的代码不能接触到网络、文件系统或者其他进程。甚至智能合约与其他智能合约之间也只有有限的接触(1) 账户 以太坊有两类账户,共用一个地址空间:外部账户(被公钥——私钥对控制),合约账户(被存储在账户中的代码控制)。 外部账户的地址由公钥决定,合约账户的地址在创建合约时确定(这...

2018-08-18 12:06:38 883

原创 智能合约开发(1)—— 入门

由于使用了ubuntu1804,导致入门路上踩坑无数,好不容易才配好了环境,还不知道以后会不会出问题,反正暂时是能用了。这里主要参考这个教程,提供了很大帮助。当然这个教程也和实际环境不一样,因此这里还参考了这个 ,主要是针对2018最新版的truffle和以前的不同而引起的各种问题。 本文主要是记录一些学习感悟,并不详述整个入门过程,仅供自己学习使用。1.第一个contract(合约)程序...

2018-08-17 17:04:01 469

空空如也

空空如也

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

TA关注的人

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