自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Archmage的专栏

做一个纯粹程序猿

  • 博客(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 1267

原创 Linux L2tp auto install script

github 连接

2018-08-19 19:22:44 340

原创 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 1548

原创 Tether USDT 节点钱包的安装与使用

当前,在进行数字资产交易的过程中,由于各国政府的政策因素,法币成为数字资产交易的一个重要问题。在法币接入数字资产交易的过程中,通常是用某种数字资产对法币进行锚定,例如bitshares上面的许多bit-xxx锚定了各国的法定货币。什么是USDT 本文中,我们介绍Tether公司利用bitcoin区块网络构造的omni layer,在这个overlay network上各方可以发行t...

2018-03-04 22:00:55 51481 9

原创 Ethereum geth 同步区块的三种模式

Ethereum(以太坊)当前交易多,截止当前(2018-02-04)已经有5029238个区块,区块大小在150G左右。如果全部同步,并且严格逐个验证,需要太多的时间和计算。作者曾经用一台实体机,8核,16GB内存,2TB机械硬盘的dell立式服务器,在办公网络下同步区块,结果半个月没有同步完,同步的速度还没有新出区块的速度快。。。。查找了一下,以太坊有三种同步的模式,full, fa

2018-02-04 20:46:52 17425 9

原创 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 2257

原创 Log4j2指定配置文件路径

上一文中,我们学习了如何利用Log4j2来帮助我们更加优雅的打日志。在项目编译成jar包正式上线的时候,作者遇到了一个问题,就是log4j2.xml将会被打包到jar中,不能再上线后随时更改。为了能让项目上线后,根据不同的需要改变一些日志的配置信息,如:日志输出路径,日志输出级别等,我们需要对log4j配置文件的加载进行一些变化。对此,可以通过log4j的ConfigurationSouce

2018-01-28 22:48:11 11740

原创 Java使用log4j进行日志管理

log4j是一个开源的日志工具包,可以提供很好的日志支持。可以通过配置文件,定义日志输出的等级,日志文件格式,存放位置,保存策略等。1.引入log4j包到官网下载所需要的jar包或者源码包,放到工程中lib路径下,然后在工程中添加dependency即可。2.log4j配置文件log4j默认情况下会读取classpath下的配置文件,配置文件格式可以为.json, .xml, .

2018-01-28 22:40:57 1499

原创 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 414

原创 使用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 3668

原创 使用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 2954

原创 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 8282 9

原创 Ethereum ERC20 Transaction(一)

利用以太坊智能合约发型代币(token)已经成了区(bi)块(quan)链的一个快捷方式,下面我们分两次叙述利用ERC20标准,创建代币,发送代币,获取代币transaction的技术细节。1. 关于ERC20标准。以太坊提供了利用solidity编程,部署在以太坊区块上,以实现智能合约的工作模式,这其中可以根据不同项目的需求,编写不同的智能合约。当然,编写的智能合约面临诸多安全问题,前

2018-01-14 22:15:35 4200

原创 Ethereum私有网络的搭建

好久没有弄以太坊,因为工作需要,需要搭建一个以太坊的私有网络(private network)。0. 实验环境3台阿里云服务器,Ubuntu 16.04,分别简称为ali1, ali2, ali3. 1. Ethereum节点的编译、安装。这一点无需赘述,以前的文章详细介绍过,请参见这里!2. 创始块因为要搭建自己的私有网络,所以要从头构建私有网络的区块链,我们需要初始

2018-01-07 23:06:28 3291 1

原创 写在2018年的第一个夜晚

公元2017年,是不平凡的一年。这一年,是我人生巨大转折的一年。脱军装、解甲归田、而立之年重启航,始创业、孤注一掷、白手起家道且长。这一年,为了理想自由,不愿寄人篱下,看似疯狂,实也疯狂。解放军干部,后勤部队,很多人羡慕,也有很多人不屑一顾。军人的职业是高尚的,是一种荣誉,一种责任,一种担当。只是在服从命令、履职尽责的同时,关于人生、价值、自由的追求,让我选择了脱下军装,而且放弃转业,选择复员,自谋

2018-01-01 23:12:14 533 4

原创 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 5862

原创 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 5507 2

原创 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 460

原创 Golang 发送http请求时设置header

某天,在需要抓取某个网页信息的时候,需要在header中增加一些信息,于是搜索了一下,如何在golang发起的http请求中设置header。package mainimport ( "fmt" "io/ioutil" "net/http"

2017-12-24 15:45:09 74907 5

原创 golang JSON的使用

json 是当前最常用的数据传输格式之一,纯文本,容易使用,方便阅读,在通信过程中大量被使用。利用结构体进行转换golang对json的解析函数在encoding/json里面,主要是编码和解码两个函数。json.Marshalfunc Marshal(v interface{}) ([]byte, error)Marshal函数将会递归遍历整个对象,依次按成员类型对这个对象进行编码,类型转换规则

2017-12-14 12:40:23 3340

原创 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 762

原创 Go语言学习笔记(一)

Go语言被称为21世纪的语言,具有速度快、高性能,简介明了,灵活,良好的并行架构,安全等特点。网络上有大量的Go语言与现有语言的对比,在此就不再赘述,我们直接开启Go语言的学习之旅。Hello worldgo语言的程序以.go结尾,下面是go语言的hello worldpackage main //go语言类似java的包结构,入口程序包名必须为main

2017-12-11 22:50:30 322

原创 利用WebScocket实现消息推送

在Web应用中,HTTP协议只支持“请求-响应”模式,即客户端(浏览器)要获取信息只能主动发起请求。在许多需要消息主动推送的场景中,例如:网络聊天室、消息到达提醒等,存在不便。Websocket基于TCP协议,建立一条浏览器到服务器的全双工消息通道,使得服务器可以实时主动推送消息。websocket的特点事件驱动异步使用ws或者wss协议的客户端socket能够实现真正意义上的推送功能缺

2017-12-11 11:23:49 1471

原创 初级web api的设计(二)——防重放攻击

在针对数据系统的攻击中,重放攻击是最常见的攻击方式,API的设计中需要特别考虑设计好如何防范重放攻击。重放攻击(Replay Attacks)指攻击者发送一个目的主机已接收过的包,来达到欺骗系统的目的,主要用于身份认证过程,破坏认证的正确性。重放攻击。防重放攻击中,最重要的手段是给消息打上一个唯一、不可以重新生成的编号,保证这个编号只能使用一次。一、利用timestamp。在参数中加入timest

2017-12-03 20:52:29 5261 2

原创 初级web api的设计(一)

Api是服务中重要的组成,可以为大客户提供更好、更便捷、更加实时的服务。大型的服务提供商,例如云存储服务、视频服务,他们大多都提供了设计复杂,功能全面的RESTfull API [http://www.ruanyifeng.com/blog/2011/09/restful.html],这是当前较为理想化的API设计。但是对于小型服务网站,没有必要嵌入如此复杂的API。可以用一些初级的Web api设

2017-11-27 21:57:37 1068

原创 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 254

原创 如何保持离开当前体制的能力

2017年是我的元年,离开了体制内,而立之年,从一个并不高的起点开始,闯荡互联网行业,别人笑我太疯癫,我笑被人看不开,不见五陵豪杰墓,无花无酒锄作田。一、以梦想为驱动,你永远不算太老回首当年,进入体制非我所愿。诚然,作为成年人的生活,没有反悔,只能去面对。这些年,经历过孤独、经历过无助、经历过绝望,曾想过放弃、想过妥协,想过混迹,庆幸必然或者偶然的,从为放弃梦想、放弃专业、放弃那颗不安本分、向往折

2017-11-19 23:38:26 688 3

原创 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 14568

原创 区块链学习笔记(二)EthereumJ的编译及Idea开发环境搭建

前两个帖子只相当于是感受了一下区块链应用的编译、运行,没有真正的着手搭建二次开发环境,本次基于Ethereum的Java版客户端EthereumJ进行学习,着手搭建Gradle+Idea的开发环境。 在尝试的过程中,遇到了gradle的问题,gradle是个很好的构建公举,但实话实说,我之前没有怎么用过gradle,所以遇到了很多问题,不过让我吃惊的是,中文搜索不到任何关于EthereumJ的安装

2016-12-03 01:11:46 9957 13

原创 区块链学习笔记(一)Ethereum-Go开发环境搭建

Ethereum是2.0版区块链的主流应用,它将区块链从电子货币(digital cash)中延伸出来,作为一个分布式数据库使用,成为共识系统中的基础支撑。Ethereum引入了“智能合约”的概念,使得基于Ethereum的区块链能够构建多样化的去中心化应用。

2016-11-28 15:33:15 6470

转载 VIM插件攻略

工欲善其事,必先利其器。一个强大的开发环境可以大大提高工作效率。

2016-11-24 18:44:31 421

虚拟私有网络L2tp搭建脚本

L2TP搭建脚本,适用于Ubuntu,运行后,按照提示即可设定所有参数。简单易用,已验证正确。

2017-10-31

转盘抽奖软件

学生活动、party聚会转盘抽奖程序,界面可定制,奖项设置可以定制,根据实际情况,定制自己的抽奖器。好用!

2013-11-19

Burp suite 1.5 pro 破解版

黑客界公认的基本工具套件,网络攻击、安全监测必备工具

2013-11-19

MFC编程实例

很好的编程实例例子!

2008-04-09

空空如也

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

TA关注的人

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