- 博客(31)
- 资源 (4)
- 收藏
- 关注
原创 vim常用配置
vim常用配置vim 是程序员最喜欢的编辑器,没有之一。编辑 ~/.vimrc 可以设置一些默认的vim属性,包括缩进、显示行数等等。下面这个配置是我比较喜欢的,拿出来给大家共享。" Configuration file for vimset modelines=0 "CVE-2007-2438" Normally we use vim-extensions. If you wan...
2018-09-27 20:42:35
1308
原创 Nginx反向代理过程中,真实用户IP的获取
Nginx 反向代理是Web布局的过程常用的功能。在设置了反向代理之后,通过读取http头里面的REMOTE_ADDR获取不了真是的用户ip,我们需要通过增加nginx的配置来解决这个问题。下面通过一个实验来说明。配置1个nginx服务器,配置3个域名: t2.guokai.work, tt2.guokai.work, ttt2.guokai.work。nginx的配置中,访问...
2018-03-11 18:18:01
1629
原创 Tether USDT 节点钱包的安装与使用
当前,在进行数字资产交易的过程中,由于各国政府的政策因素,法币成为数字资产交易的一个重要问题。在法币接入数字资产交易的过程中,通常是用某种数字资产对法币进行锚定,例如bitshares上面的许多bit-xxx锚定了各国的法定货币。什么是USDT 本文中,我们介绍Tether公司利用bitcoin区块网络构造的omni layer,在这个overlay network上各方可以发行t...
2018-03-04 22:00:55
51850
9
原创 Ethereum geth 同步区块的三种模式
Ethereum(以太坊)当前交易多,截止当前(2018-02-04)已经有5029238个区块,区块大小在150G左右。如果全部同步,并且严格逐个验证,需要太多的时间和计算。作者曾经用一台实体机,8核,16GB内存,2TB机械硬盘的dell立式服务器,在办公网络下同步区块,结果半个月没有同步完,同步的速度还没有新出区块的速度快。。。。查找了一下,以太坊有三种同步的模式,full, fa
2018-02-04 20:46:52
17566
2
原创 java ssdb连接操作
ssdb 是一个高性能的支持丰富数据结构的 NoSQL 数据库,集成了redis的高效快速,也提供了持久化服务,使用场景越来越丰富。ssdb官方提供了一个java的客户端sdk,本文介绍一下其使用。 1.首先从github上下载其代码。下载地址为:https://github.com/ssdb/javassdb可以看到,整个sdk就4个文件,Link.java, Memor
2018-01-28 23:11:56
2300
原创 Log4j2指定配置文件路径
上一文中,我们学习了如何利用Log4j2来帮助我们更加优雅的打日志。在项目编译成jar包正式上线的时候,作者遇到了一个问题,就是log4j2.xml将会被打包到jar中,不能再上线后随时更改。为了能让项目上线后,根据不同的需要改变一些日志的配置信息,如:日志输出路径,日志输出级别等,我们需要对log4j配置文件的加载进行一些变化。对此,可以通过log4j的ConfigurationSouce
2018-01-28 22:48:11
11826
原创 Java使用log4j进行日志管理
log4j是一个开源的日志工具包,可以提供很好的日志支持。可以通过配置文件,定义日志输出的等级,日志文件格式,存放位置,保存策略等。1.引入log4j包到官网下载所需要的jar包或者源码包,放到工程中lib路径下,然后在工程中添加dependency即可。2.log4j配置文件log4j默认情况下会读取classpath下的配置文件,配置文件格式可以为.json, .xml, .
2018-01-28 22:40:57
1563
原创 Jedis连接操作redis
redis是系统中最常见的缓存应用,Jedis可以产生线程安全的实例,用于连接、操作redis。String redis_host = REDIS_HOST;int redis_port = REDIS_PORT;JedisPoolConfig config = new JedisPoolConfig();//配置最大jedis实例数config.setMaxTotal(10);
2018-01-28 19:24:58
433
原创 使用FastJson进行JSON编解码
fastjson.jar 是阿里巴巴开发的Java下快速进行JSON编解码的工具包,方便使用。1.编码把object的内容编码成为json格式。1.1 自定义data类编码成json格式。如果数据类型是常用的,可以写成一个类,生成getter setter constructor,然后轻松利用JSON.toJSONString 进行编码。//class usercl
2018-01-28 19:15:45
3736
原创 使用FastJson进行JSON编解码
fastjson.jar 是阿里巴巴开发的Java下快速进行JSON编解码的工具包,方便使用。1.编码把object的内容编码成为json格式。1.1 自定义data类编码成json格式。如果数据类型是常用的,可以写成一个类,生成getter setter constructor,然后轻松利用JSON.toJSONString 进行编码。//class userclas
2018-01-28 19:14:51
3016
原创 Ethereum ERC20 Transaction(二)
上一篇我们介绍了如何创建ERC20代币的过程,本文我们将介绍利用JSON-API接口对ERC20代币进行的一些开发过程中的相关操作。1. 发送代币。ETH的Transaction有几个重要字段,from, to, value, data(input)。from: Transaction是由谁发起的。 to: Transaction发送到哪个地址。 value: Tran...
2018-01-14 22:53:52
8368
5
原创 Ethereum ERC20 Transaction(一)
利用以太坊智能合约发型代币(token)已经成了区(bi)块(quan)链的一个快捷方式,下面我们分两次叙述利用ERC20标准,创建代币,发送代币,获取代币transaction的技术细节。1. 关于ERC20标准。以太坊提供了利用solidity编程,部署在以太坊区块上,以实现智能合约的工作模式,这其中可以根据不同项目的需求,编写不同的智能合约。当然,编写的智能合约面临诸多安全问题,前
2018-01-14 22:15:35
4269
原创 Ethereum私有网络的搭建
好久没有弄以太坊,因为工作需要,需要搭建一个以太坊的私有网络(private network)。0. 实验环境3台阿里云服务器,Ubuntu 16.04,分别简称为ali1, ali2, ali3. 1. Ethereum节点的编译、安装。这一点无需赘述,以前的文章详细介绍过,请参见这里!2. 创始块因为要搭建自己的私有网络,所以要从头构建私有网络的区块链,我们需要初始
2018-01-07 23:06:28
3353
1
原创 写在2018年的第一个夜晚
公元2017年,是不平凡的一年。这一年,是我人生巨大转折的一年。脱军装、解甲归田、而立之年重启航,始创业、孤注一掷、白手起家道且长。这一年,为了理想自由,不愿寄人篱下,看似疯狂,实也疯狂。解放军干部,后勤部队,很多人羡慕,也有很多人不屑一顾。军人的职业是高尚的,是一种荣誉,一种责任,一种担当。只是在服从命令、履职尽责的同时,关于人生、价值、自由的追求,让我选择了脱下军装,而且放弃转业,选择复员,自谋
2018-01-01 23:12:14
560
3
原创 golang连接redis
golang提供了redis的连接库redigo,尝试了一下。1. 安装redigo包。go get github.com/garyburd/redigo/redis//连接redisc, err := redis.Dial("tcp", "127.0.0.1:6379")if err != nil { fmt.Println(err) return } defer
2018-01-01 18:04:15
5907
原创 swoole websocket 支持ssl
上一篇博文中,在成功利用swoole_websocket_server 开启websocket服务之后,遇到一个问题,大多数web都是https的,特别是涉及到安全性比较高,设计互联网金融、数字货币的时候,https都是必须的。这时候,因为安全问题,ws://连接会被禁止。1. 安装swoole的openssl支持。重新编译安装swoole源码,加上--enable-openssl%PHP_BIN
2018-01-01 17:51:28
5565
原创 golang 连接mysql
连接数据库是语言运用的基本功,mysql是最常见的数据库之一。驱动包的安装驱动开源地址https://github.com/go-sql-driver/mysql安装方法:$ go get -u github.com/go-sql-driver/mysql建立测试数据库CREATE DATABASE archmage;use archmage;CREATE TABLE `userinfo` (
2017-12-24 15:55:09
486
原创 Golang 发送http请求时设置header
某天,在需要抓取某个网页信息的时候,需要在header中增加一些信息,于是搜索了一下,如何在golang发起的http请求中设置header。package mainimport ( "fmt" "io/ioutil" "net/http"
2017-12-24 15:45:09
75194
5
原创 golang JSON的使用
json 是当前最常用的数据传输格式之一,纯文本,容易使用,方便阅读,在通信过程中大量被使用。利用结构体进行转换golang对json的解析函数在encoding/json里面,主要是编码和解码两个函数。json.Marshalfunc Marshal(v interface{}) ([]byte, error)Marshal函数将会递归遍历整个对象,依次按成员类型对这个对象进行编码,类型转换规则
2017-12-14 12:40:23
3391
原创 swoole 异步redis客户端环境安装
首先要安装hiredis库git clone https://github.com/redis/hiredis.gitmake -jsudo make installsudo ldconfig安装1.8以上版本的swoole, 在配置的时候加上--enable-async-redis%PHP_BIN%/phpizecd swoole_src./configure --enable-asyn
2017-12-13 14:29:32
800
原创 Go语言学习笔记(一)
Go语言被称为21世纪的语言,具有速度快、高性能,简介明了,灵活,良好的并行架构,安全等特点。网络上有大量的Go语言与现有语言的对比,在此就不再赘述,我们直接开启Go语言的学习之旅。Hello worldgo语言的程序以.go结尾,下面是go语言的hello worldpackage main //go语言类似java的包结构,入口程序包名必须为main
2017-12-11 22:50:30
345
原创 利用WebScocket实现消息推送
在Web应用中,HTTP协议只支持“请求-响应”模式,即客户端(浏览器)要获取信息只能主动发起请求。在许多需要消息主动推送的场景中,例如:网络聊天室、消息到达提醒等,存在不便。Websocket基于TCP协议,建立一条浏览器到服务器的全双工消息通道,使得服务器可以实时主动推送消息。websocket的特点事件驱动异步使用ws或者wss协议的客户端socket能够实现真正意义上的推送功能缺
2017-12-11 11:23:49
1513
原创 初级web api的设计(二)——防重放攻击
在针对数据系统的攻击中,重放攻击是最常见的攻击方式,API的设计中需要特别考虑设计好如何防范重放攻击。重放攻击(Replay Attacks)指攻击者发送一个目的主机已接收过的包,来达到欺骗系统的目的,主要用于身份认证过程,破坏认证的正确性。重放攻击。防重放攻击中,最重要的手段是给消息打上一个唯一、不可以重新生成的编号,保证这个编号只能使用一次。一、利用timestamp。在参数中加入timest
2017-12-03 20:52:29
5355
1
原创 初级web api的设计(一)
Api是服务中重要的组成,可以为大客户提供更好、更便捷、更加实时的服务。大型的服务提供商,例如云存储服务、视频服务,他们大多都提供了设计复杂,功能全面的RESTfull API [http://www.ruanyifeng.com/blog/2011/09/restful.html],这是当前较为理想化的API设计。但是对于小型服务网站,没有必要嵌入如此复杂的API。可以用一些初级的Web api设
2017-11-27 21:57:37
1098
原创 Go语言开发环境搭建
1.下载对应的二进制安装包,并加压到/usr/localtar -C /usr/local -xzf go$VERSION.$OS-$ARCH.tar.gz2.添加路径配置export PATH=$PATH:/usr/local/go/bin3.测试安装package main
2017-11-27 14:10:44
280
原创 如何保持离开当前体制的能力
2017年是我的元年,离开了体制内,而立之年,从一个并不高的起点开始,闯荡互联网行业,别人笑我太疯癫,我笑被人看不开,不见五陵豪杰墓,无花无酒锄作田。一、以梦想为驱动,你永远不算太老回首当年,进入体制非我所愿。诚然,作为成年人的生活,没有反悔,只能去面对。这些年,经历过孤独、经历过无助、经历过绝望,曾想过放弃、想过妥协,想过混迹,庆幸必然或者偶然的,从为放弃梦想、放弃专业、放弃那颗不安本分、向往折
2017-11-19 23:38:26
714
1
原创 Ethereum JSON-Api 的使用
Ethereum的API接口类型Ethereum官方提供了Go、python、C++和Parity四种语言的版本。四种语言都提供了JSON-RPC API,供使用者调用,可以通过geth RPC终端开启。在开启geth的时候可以增加 --${interface}api新选项来选择开启哪一个api。
2017-11-19 21:01:11
14658
原创 区块链学习笔记(二)EthereumJ的编译及Idea开发环境搭建
前两个帖子只相当于是感受了一下区块链应用的编译、运行,没有真正的着手搭建二次开发环境,本次基于Ethereum的Java版客户端EthereumJ进行学习,着手搭建Gradle+Idea的开发环境。 在尝试的过程中,遇到了gradle的问题,gradle是个很好的构建公举,但实话实说,我之前没有怎么用过gradle,所以遇到了很多问题,不过让我吃惊的是,中文搜索不到任何关于EthereumJ的安装
2016-12-03 01:11:46
10036
10
原创 区块链学习笔记(一)Ethereum-Go开发环境搭建
Ethereum是2.0版区块链的主流应用,它将区块链从电子货币(digital cash)中延伸出来,作为一个分布式数据库使用,成为共识系统中的基础支撑。Ethereum引入了“智能合约”的概念,使得基于Ethereum的区块链能够构建多样化的去中心化应用。
2016-11-28 15:33:15
6537
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人