以太坊智能合约开发第四篇:实现Hello World智能合约 2018-04-12
02-28
centos安装memcached
emcached是一个高性能的分布式内存对象缓存系统。通过在内存里维护一个统一的巨大的hash表,来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果。简单的说,就是将磁盘中的数据存储在内存中,然后程序直接从内存中读取数据,减少磁盘的I/O开销,从而提高数据的读取速度。下面来介绍memcached的安装方法。
1、安装memcached服务端
下载memcached服务端,并解压:
cd /usr/local/src
wget http://www.memcached.org/files/memcached-1.4.22.tar.gz
tar -zxvf memcached-1.4.22.tar.gz
cd memcached-1.4.22
./configure
make && make install
2、查看memcached是否安装成功
memcached -V #注意是大写
01-26
centos编译安装 Git
centos安装Git有两种方式,一种通过源安装,通过如下命今,即可一键安装成功:
yum -y install git
但是通过源安装的Git,目前最高版本是1.7,想要使用更多新功能、更新版本的Git,就只能通过编译安装的方式来进行安装了,下面就来具体介绍这种安装过程。
1、先安装依赖包
yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel
2、下载Git源码包,并解压
cd /usr/local/src
wget https://github.com/git/git/archive/v1.9.5.tar.gz
tar -zxvf git-1.9.5.tar.gz
01-23
zendstudio识别Phalcon语法及提示 HOT
Phalcon是一个开源的、全堆栈的PHP5框架,使用C扩展编写,专门为高性能优化。无需学习和使用C语言,所有函数都以PHP类的方式呈现。
在Zend studio编辑器中进行Phalcon框架代码开发时,IDE无法对Phalcon框架内的对象、函数与方法进行语法提示。下面就来介绍下,如何让zend studio这个IDE支持Phalcon的语法提示。
1、下载代码提示包,然后解压
https://github.com/rogerthomas84/PhalconPHPDoc
2、打开“/your/workspace/.metadata/.plugins/org.eclipse.php.core/language/”目录,会看到当前目录下,有一些类似“555a446a”或者“7697c88c”的目录,这些目录名称是随机生成的,每个目录当中都要将刚才解压后的Phalcon整个目录文件复制进去,否则不会生效
01-21
base62编码
Base62编码是由10个数字、26个大写英文字母和26个小写英文字母组成,多用于安全领域。本文将介绍对数字进行Base62编码与解码的方法。
直接上代码,如下:
/**
* base62编码与解码key,由10个数字、26个大写英文字母和26个小写英文字母组成
* @var string
*/
private $key = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz+/';
/**
* base62编码
* @param string $str
* @return string
*/
public function base62_encode($str) {
$out = '';
for($t=floor(log10($str)/log10(62)); $t>=0; $t--) {
$a = floor($str / pow(62, $t));
$out = $out.substr($this->key, $a, 1);
$str = $str - ($a * pow(62, $t));
}
return $out;
}
/**
* base62解码
* @param string $str
* @return string
*/
public function base62_decode($str) {
$out = 0;
$len = strlen($str) - 1;
for($t=0; $t<=$len; $t++) {
$out = $out + strpos($this->key, substr($str, $t, 1)) * pow(62, $len - $t);
}
return substr(sprintf("%f", $out), 0, -7);
}
/**
* 测试程序
*/
public function indexAction(){
header('content-Type:text/html;charset=utf-8');
$equal = $notequal = 0;
for($i=0; $i<10000000; $i++){
$encode = $this -> base62_encode($i);
$decode = $this -> base62_decode($encode);
if($decode == $i){
$equal++;
}else{
$notequal++;
echo "{$i}---{$encode}---{$decode}<br />";
}
}
echo "相等{$equal},不相等{$notequal}<br />";
}
01-12
centos下安装phpredis扩展
上一节介绍了《centos下安装redis》,系统安装了redis之后,但是php程序里不能直接和redis相连。需要通过相应的扩展驱动才能操作redis。下面,就来介绍下centos环境中安装phpredis扩展驱动的方法。
1、执行如下命令下载扩展包:
wget https://github.com/phpredis/phpredis/archive/2.2.6.tar.gz
2、执行phpize,准备动态安装扩展:
/usr/local/php/bin/phpize
结果如下图所示,表示准备就绪:
12-12
PHP性能分析之Xhprof数据说明 HOT
之前介绍了《PHP性能分析之Xhprof安装》和《PHP性能分析之Xhprof的使用》,链接如下:
下面来介绍下Xhprof输出的性能数据说明。
Xhprof性能数据界面如下:
Incl. 表示Including(包含)的缩写
Excl. 表示Excluding(不包含)的缩写
Function Name: 函数名
Calls: 调用次数
Calls%: 调用次数的百分比(图中带有百分比符号的字段皆表示百分比的意思,所以后面不在介绍)
Incl. Wall Time: 包含子函数执行的所有花费时间。单位:微秒(下同)
Excl. Wall Time: 函数本身执行所花费的时间。
Incl. CPU: 包含子函数执行的所花费的CPU时间。
Excl. CPU: 函数本身执行所花费的CPU时间。
Incl.MemUse: 包含子函数执行的所占用的内存。单位:字节(下同)
Excl.MemUse: 函数本身执行所占用的内存。
Incl.PeakMemUse: 包含子函数执行,所占用内存的峰值。
Excl.PeakMemUse: 函数本身执行所占用内存的峰值。
12-03
PHP性能分析之Xhprof的使用
上一节介绍了《PHP性能分析之Xhprof的安装》(点击查看详情)。
这一节来介绍下Xhprof的具体使用。
Xhprof的使用方式,直接贴示例代码,如下:
//在代码的开头处添加启动“xhprof性能分析器”函数
xhprof_enable();
function test(){
for($i=0; $i<10000; $i++){
......
}
}
test();
//在代码的结束处添加“停止xhprof分析器”函数
$xhprofData = xhprof_disable();
//输出xhprof分析器收集到的性能数据
var_dump($xhprofData);
12-01
PHP性能分析之Xhprof安装
Xhprof是facebook开源的一个分层PHP性能分析工具。可以收集函数级别的请求次数和各种指标,包括阻塞时间,CPU时间和内存使用情况。一个函数的开销,还可以细分成调用者和被调用者的开销。
下面介绍Xhprof的安装:
1、获取安装包
wget http://pecl.php.net/get/xhprof-0.9.4.tgz
如下图所示:
2、解压安装包
tar -zxvf xhprof-0.9.4.tgz
cd xhprof-0.9.4
cd extension
11-27
ab基准测试分析 HOT
Apache Benchmark(ab)工具是最著名的基准测试工具之一,它是默认的Apache安装的一部分,能够通过模拟对特定URL的任意数量请求来对Web服务器进行负载测试。ab工具提供以下信息:
- 传输的总数据大小(以字节为单位)
- Web服务器在模拟流量下每秒可以支持的请求总数
- 完成一个请求所花费的最长时间(以毫秒为单位)
- 完成一个请求所花费的最短时间(以毫秒为单位)
使用ab工具还可以运行很多不同的负载模拟,例如:
- 对Web文档的模拟请求
- 指定时间内的请求
- 打开Keep-Alive时的请求
最重要的是,Apache Benchmark是独立于Apache Web服务器的,也就是不启动web服务器,也可以运行此工具。
11-26
centos安装lnmp环境 HOT
系统需求:
- CentOS/Debian/Ubuntu Linux系统
- 需要2GB以上硬盘剩余空间(个人建议>=20G)
- 128M以上内存,OpenVZ的建议192MB以上(小内存请勿使用64位系统)
- VPS或服务器必须已经联网!
- Linux下区分大小写,输入命令时请注意!
LNMP一键安装包 V1.1 已经在Linode、DiaHosting、PhotonVPS、DigitalOcean、VR香港VPS、遨游主机、RamNode、BudgetVM、瑞豪开源、DirectSpace、KVMLA、OneAsiahost新加坡VPS、景文互联、VPSYOU、Hostigation、BuyVM、123systems、bluevm、80VPS、XSVPS等众多VPS的CentOS 5-6.5、Debian 5-7、Ubuntu 10.04-14.04的32位和64位系统上测试通过。
安装步骤:
1、使用putty或类似的SSH工具登陆VPS或服务器;
登陆后运行:
screen -S lnmp