以太坊智能合约开发第四篇:实现Hello World智能合约 2018-04-12
11-25
centos6关闭IPv6
centos6默认开启了IPv6,关闭它的办法如下:
1、保险起见,先检查下系统是否开启了IPv6
ifconfig
如下图所示,出现了“inet6 addr”,即表示系统开启了IPv6
2、关闭方法
编辑“/etc/modprobe.d/dist.conf”配置文件
vi /etc/modprobe.d/dist.conf
在文件结尾添加如下配置
alias net-pf-10 off
alias ipv6 off
保存并退出后,重启系统。
再操作“步骤1”进行验证,即可发现已生效。系统切换到了IPv4。
11-20
centos之SSH安装
SSH为 Secure Shell的缩写,由IETF的网络工作小(Network Working Group)所制定。SSH为建立在应用层和传输层基础上的安全协议。
传统的网络服务程序,如FTP、POP和Telnet其本质上都是不安全的,因为它们在网络上用明文传送数据、用户账号和口令,很容易受到中间人(man-in-the-middle)攻击方式的攻击。就是存在另一个人或者一台机器冒充真正的服务器接收用户传送的数据,然后再冒充用户把数据发送给真正的服务器。
而SSH是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用SSH协议可以有效防止远程管理过程中的信息泄露问题。通过SSH可以对所有传输的数据进行加密,也能够防止DNS欺骗和IP欺骗。
安装SSH:
yum -y install ssh
启动SSH:
service sshd start
停止SSH:
service sshd stop
重启SSH:
service sshd restart
设置为开机运行
chkconfig sshd on
11-20
Linux下安装Yii2.0 HOT
Linux下安装Yii2.0步骤如下(PHP版本:5.5.15):
1、若还没有安装 Composer ,则在终端里输入以下命令,先安装 Composer(等待时间有点长,请耐心等待,下同):
#若复制到终端里运行不了,请手工输入(下同)
curl -sS https://getcomposer.org/installer | php
2、运行如下命令来安装 Composer Asset插件:
php composer.phar global require "fxp/composer-asset-plugin:1.0.0-beta3"
可能会执行出错,抛出如下异常:
10-15
Javascript闭包剖析(通俗易懂)
闭包(closure)是Javascript语言的一个难点,也是它的特色,很多高级应用都要依靠闭包实现。
下面就是我的学习笔记,对于Javascript初学者应该是很有用的。
一、变量的作用域
要理解闭包,首先必须理解Javascript特殊的变量作用域。
变量的作用域无非就是两种:全局变量和局部变量。
Javascript语言的特殊之处,就在于函数内部可以直接读取全局变量。
var n=999;
function f1(){
alert(n);
}
f1(); // 999
若是PHP语言中,则需要对变量进行全局化:
$n = 999;
function f1(){
var_dump($n);
}
f1(); //NULL
$n = 999;
function f1(){
global $n;
var_dump($n);
}
f1(); //999
10-11
node.js实现CURL功能
PHP中的CURL功能很好实现,四五行代码封装一下就OK了。node.js中如何实现CURL的功能呢,下面详细介绍。
这里需要用到request这个库,所以先安装此包:
npm install request
安装下来之后, 就是代码实现的问题了。示例代码如下(只实现了POST方法):
var request = require('request');
request.post(
{
url:'http://localhost:9095/phpTest.php',
form:{
username:'hahaha',
password:'wowowowow'
},
encoding:'utf8'
},
function(error, response, body){
if(response.statusCode == 200){
console.log(body);
}else{
console.log(response.statusCode);
}
}
);
10-08
node.js调用webservice遇到的问题
正在开发的一个node.js项目中,需要调用webservice服务,采用的是SOAP请求。
npm下来三个扩展库:soap-helper、xmldom、xmlhttprequest。在实际使用过程中,发现"/soap-helper/core/client.js"文件中的源码有部分地方不符合node.js的程序规范,修改如下。
源代码如下:
修改后,如下图所示:
09-25
神兽保佑,永无BUG HOT
贡献一段自己用的“神兽保佑,永无BUG”的注释代码:
/** code is far away from bug with the animal protecting
*
* ┏┓ ┏┓
* ┏┛┻━━━┛┻┓
* ┃ ┃
* ┃ ━ ┃
* ┃ ┳┛ ┗┳ ┃
* ┃ ┃
* ┃ ┻ ┃
* ┃ ┃
* ┗━┓ ┏━┛
* ┃ ┃神兽保佑
* ┃ ┃永无BUG!
* ┃ ┗━━━┓
* ┃ ┣┓
* ┃ ┏┛
* ┗┓┓┏━┳┓┏┛
* ┃┫┫ ┃┫┫
* ┗┻┛ ┗┻┛
*
*/
09-23
node.js向ejs模板发送数据的两种方式
e.js中向ejs模板发送数据有以下两种方法:
方法一、javascript
res.render('viewName',{name1:'value1', name2:'value2',...});
语法:
javascript
res.render(view, [locals], callback);
说明:
view:为模板文件名
locals:为模板中所有变量的key-value的JSON数据
callback:为回调函数
弊端:此方法在给模板赋值时,必须一次性将模板里的所有变量都传值,否则会报错。
09-16
佛祖保佑,永无BUG
贡献一段自己用的“佛祖保佑,永无BUG”的注释代码:
/**
* _ooOoo_
* o8888888o
* 88" . "88
* (| -_- |)
* O\ = /O
* ____/`---'\____
* .' \\| |// `.
* / \\||| : |||// \
* / _||||| -:- |||||- \
* | | \\\ - /// | |
* | \_| ''\---/'' | |
* \ .-\__ `-` ___/-. /
* ___`. .' /--.--\ `. . __
* ."" '< `.___\_<|>_/___.' >'"".
* | | : `- \`.;`\ _ /`;.`/ - ` : | |
* \ \ `-. \_ __\ /__ _/ .-` / /
* ======`-.____`-.___\_____/___.-`____.-'======
* `=---='
* ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
* 佛祖保佑 永无BUG
*
* 佛曰:
* 写字楼里写字间,写字间里程序员;
* 程序人员写程序,又拿程序换酒钱。
* 酒醒只在网上坐,酒醉还来网下眠;
* 酒醉酒醒日复日,网上网下年复年。
* 但愿老死电脑间,不愿鞠躬老板前;
* 奔驰宝马贵者趣,公交自行程序员。
* 别人笑我忒疯癫,我笑自己命太贱;
* 不见满街漂亮妹,哪个归得程序员?
*
*/
09-10
win下TortoiseGit密钥的配置
TortoiseGit 使用扩展名为ppk的密钥,而不是ssh-keygen生成的rsa密钥。也就是说使用如下命令产生的密钥在TortoiseGit中不能用。
ssh-keygen -C "username@email.com" -t rsa
而基于Git的开发必须要用到rsa密钥,因此需要用到TortoiseGit的putty key generator工具来生成既适用于Git的rsa密钥,也适用于TortoiseGit的ppk密钥,配置步骤如下:
1)运行TortoiseGit开始菜单中的puttygen程序,如下图示: