10 路上走着

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 9w+

搭建以太坊私有链集群

配置环境使用docker并下载必要的文件FROM ubuntu:16.04   RUN apt-get update \ && apt-get install -y software-properties-common \ && add-apt-repository -y ppa:ethereum/ethereum \ && apt...

2018-08-01 14:51:56

以太坊如何部署智能合约

以太坊社区开发并开源了非常好用的在线Solidity集成开发环境Remix,可以方便的在Remix中编写、部署、测试智能合约,Remix提供了强大的自动完成,语法高亮,实时编译检查错误等。打开remix,界面如下:在代码区输入一下合约代码:pragmasolidity^0.4.21;contractPhone{stringpublicmodel;...

2018-07-27 10:15:42

go学习笔记 - 接口

接口是golang最重要的特性之一,在Go中,接口interface其实和其他语言的接口意思没什么区别。interface理解其为一种类型的规范或者约定。一种类型是不是“实现”了一个接口呢?就看这种类型是不是实现了接口中定义的所有方法。接⼝是一个或多个方法签名的集合,任何非接口类型只要拥有与之对应的全部方法实现 (包括相同的名称、参数列表以及返回值。),就表示它"实现" 了该接口,无需显式在该类型...

2018-07-25 09:23:18

go爬虫设计(并发版)

 在单机版的基础上,将耗时最长,等待时间做多的进行并发 ,也就是Fetch模块Fetch的输出就是Parse的输入,也就是可以把Fetch和Parse合成一个模块 -- worker模块func ( ConcurrentEngine) Run(seeds ...Request){ var requests []Request for _, r := range seed...

2018-07-20 20:16:23

go网络编程基础

socketsocket原理Socket 原理Socket 连接,至少需要一对套接字,分为 clientSocket,serverSocket 连接分为3个步骤:(1) 服务器监听:服务器并不定位具体客户端的套接字,而是时刻处于监听状态; (2) 客户端请求:客户端的套接字要描述它要连接的服务器的套接字,提供地址和端口号,然后向服务器套接字提出连接请求; (3) 连接确认:当服...

2018-07-19 23:28:23

go爬虫设计(单机版)

爬虫总体架构:  爬虫实现方案:   单机版 单机版架构主要模块有:处理引擎(Engine) 解析器(Parser) 下载器(Fetcher)流程:请求处理模型=请求URL + URL对应的Parse0: 先向引擎发起一个种子请求处理模型(URL+Parse) 1: 引擎将请求放入任务队列中 2: 引擎从任务队列中取出请求处...

2018-07-19 10:29:10

Go中使用Channel等待所有协程结束

让main方法等待所有协程执行完毕再退出。可能一般思路是设置一个共有变量,然后通过修改这个变量的状态。这是通过共享变量来通信的方式,而go要做的是,通过通信来共享内存。1. 按顺序执行每次通信进行成对通信,当main向协程发送一个写channel时,同时也等待协程返回一个读channel。    这两个channel一定是成对的,所以构造一个结构体            ty...

2018-07-17 21:29:30

Go语言最主要的特性

自动垃圾回收更丰富的内置类型函数多返回值错误处理匿名函数和闭包类型和接口并发编程反射语言交互性更丰富的内置类型数组,字符串,字典(Map),数组切片(Slice)因为是语言内置特性,开发者根本不用费事去添加依赖的包,既可以少一些输入工作量,也 可以让代码看起来尽量简洁。函数多返回值目前的主流语言中除Python外基本都不支持函数的多返回值功能 Go语言革命性地在静态开发语言阵营中率先提供了多返回值...

2018-07-14 22:11:14

go的错误处理机制

defergo语言是实用defer做资源处理的defer是在函数结束,return之前时被调用 先进后出,可见是栈的结构 参数在defer语句时计算 何时使用deferopen/closelock/unlockprintHeader/printFooterfunc calc(index string, a, b int) int { ret := a + b fmt.Printf("%s %d...

2018-07-12 23:16:20

如何通过Remix发布以太坊智能合约

以太坊社区开发并开源了非常好用的在线 Solidity 集成开发环境Remix,可以方便的在 Remix 中编写、部署、测试智能合约,Remix 提供了强大的自动完成,语法高亮,实时编译检查错误等。打开remix,界面如下:在代码区输入一下合约代码:pragma solidity ^0.4.21;contract Phone { string public model; int...

2018-07-11 10:35:29

go反射机制

1. 反射定律反射可以将“接口类型变量”转换为“反射类型对象”。反射可以将“反射类型对象”转换为“接口类型变量”。如果要修改“反射类型对象”,其值必须是“可写的”。a. “接口类型变量”=>“反射类型对象”所谓的反射类型,就是reflect.Type和reflect.Value var a int = 30 v := reflect.ValueOf(a) //返回Value类型对象,值...

2018-07-07 23:24:35

go的可变参数

go语言的方法没用花哨的方法重载之类的,没有默认参数,没有可选参数,只有一个可变参数 func TestArgs(f int, arg ...interface{}){ fmt.Println(f, arg)}func main(){ nums := []int{1,2,3,4} nums2 := []interface{}{5,6,7,8} TestArgs(nums) ...

2018-07-05 23:19:33

go语言的类型定义方式

a. 使用var var c1 chan int fmt.Println(c1) // <nil> var c2 map[string]int fmt.Println(c2) // map[] c2[“a”] = 1 // error :panic: assignment to entry in nil map v...

2018-07-03 23:29:02

MAC环境变量

Mac系统的环境变量,加载顺序为: /etc/profile /etc/paths ~/.bash_profile ~/.bash_login ~/.profile ~/.bashrc规则:a ,b是系统级别的,系统启动就会加载,其余是用户接别的。c,d,e按照从前往后的顺序读取,如果c文件存在,则后面的几个文件就会被忽略不读了,以此类推。~/.ba

2018-05-02 16:25:18

Python之IO编程

1.IO编程1.1 同步IO和异步IOIO编程中,Stream(流)是一个很重要的概念,可以把流想象成一个水管,数据就是水管里的水,但是只能单向流动。Input Stream就是数据从外面(磁盘、网络)流进内存,Output Stream就是数据从内存流到外面去。对于浏览网页来说,浏览器和新浪服务器之间至少需要建立两根水管,才可以既能发数据,又能收数据。由于CPU和内存的速度远远高于外设的速度,所以

2017-08-10 16:20:27

python 面向对象编程

类与对象class Student(object): passstu = Students = Student()print (stu)print (Student)print (s)结果是:<class '__main__.Student'><class '__main__.Student'><__main__.Student object at 0x000002E28CE33E

2017-08-01 15:33:51

递归与迭代

1. 递归1.11.2 递归形式1.2.1 无返回值样式1def st(n): if n <= 0: return #print (n) st(n-1) print (n)print (st(5))#----------12345None- 样式2def st(n): if n <= 0: return

2017-07-30 18:06:59

Python 日志

1. logging levels官网: https://docs.python.org/3/tutorial/stdlib2.html#logging把print()替换为logging是第3种方式,和assert比,logging不会抛出错误,而且可以输出到文件: Level Numeric value 何时使用 CRITICAL 50 严重错误,表明软件已不能继续运行了。

2017-07-28 15:28:21

Python之错误,调试和测试

1. 错误处理1.1 try …except…1.1.1 try …except…try: print ("try...") r = 10 / 0 print ("result:",r)except ZeroDivisionError as e: print ("except:",e)finally: print ("finally...")print (

2017-07-26 10:20:48

Python之模块

1. 模块1.1 模块(Module)在Python中,一个.py文件就称之为一个模块(Module)。最大的好处是大大提高了代码的可维护性。 其次,编写代码不必从零开始。 使用模块还可以避免函数名和变量名冲突。1.2 包(Package)你也许还想到,如果不同的人编写的模块名相同怎么办?为了避免模块名冲突,Python又引入了按目录来组织模块的方法,称为包(Package)。请注意,每一个包目

2017-07-25 14:55:03

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!