2012年10月26日

摘要: 前言crontab是Unix和Linux用于设置周期性被执行的指令,是互联网很常用的技术,很多任务都会设 置在crontab循环执行,如果不使用crontab,那么任务就是常驻程序,这对你的程序要求比较高,一个要求你的程序是24X7小时不宕机,一个是 要求你的调度程序比较可靠,实际工作中,90%的程序都没有必要花这么多时间和精力去解决上面的两个问题的,只需要写好自己的业务逻辑,通过crond这 个工业级程序去调度就行了,crond的可靠性,健壮性,大家应该是毫无疑问的。crontab简易入门假设我要设置一个任务,每分钟就要做一个数据同步,这个同步脚本的路径是/home/blue/do/rsyn 阅读全文
posted @ 2012-10-26 13:29 ninelands 阅读(226) 评论(0) 推荐(0) 编辑
 

2012年10月22日

摘要: 用单引号代替双引号来包含字符串,这样做会更快一些。因为PHP会在双引号包围的字符串中搜寻变量,单引号则不会,注意:只有echo能这么做,它是一种 可以把多个字符串当作参数的“函数”(译注:PHP手册中说echo是语言结构,不是真正的函数,故把函数加上了双引号)。1、如果能将类的方法定义成static,就尽量定义成static,它的速度会提升将近4倍。2、$row[’id’] 的速度是$row[id]的7倍。3、echo 比 print 快,并且使用echo的多重参数(译注:指用逗号而不是句点)代替字符串连接,比如echo $str1,$str2。4、在执行for循环之前确定最大循环数,不要每循 阅读全文
posted @ 2012-10-22 16:38 ninelands 阅读(108) 评论(0) 推荐(0) 编辑
 

2012年9月18日

摘要: 锁机制之所以存在是因为并发导致的资源竞争,为了确保操作的有效性和完整性,可以通过锁机制将并发状态转换成串行状态。作为锁机制中的一种,PHP 的文件锁也是为了应对资源竞争。假设一个应用场景,在存在较大并发的情况下,通过fwrite向文件尾部多次有序的写入数据,不加锁的情况下会发生什么? 多次有序的写入操作相当于一个事务,我们此时需要保证这个事务的完整性。如下代码简单模拟了这种事务并发状态: process1.php <?php $num = 100; $filename = "processdata.txt"; $fp = fopen($filename, " 阅读全文
posted @ 2012-09-18 15:37 ninelands 阅读(302) 评论(0) 推荐(0) 编辑
 

2012年8月28日

摘要: 1.nginx.conf内容如下: 程序代码worker_processes 1;error_log/host/nginx/logs/error.logcrit;pid/host/nginx/logs/nginx.pid;events {worker_connections64;}http {include /host/nginx/conf/mime.types;default_typeapplication/octet-stream;#charsetgb2312; server_names_hash_bucket_size 128;client_header_buffer_size 32k; 阅读全文
posted @ 2012-08-28 16:55 ninelands 阅读(456) 评论(0) 推荐(0) 编辑
 
摘要: 1、将文件checkout到本地目录svn checkout path(path是服务器上的目录)例如:svn checkout svn://192.168.1.1/pro/domain简写:svn co2、往版本库中添加新的文件svn add file例如:svn add test.php(添加test.php)svn add *.php(添加当前目录下所有的php文件)3、将改动的文件提交到版本库svn commit -m “LogMessage“ [-N] [--no-unlock] PATH(如果选择了保持锁,就使用–no-unlock开关)例如:svn commit -m “add 阅读全文
posted @ 2012-08-28 16:55 ninelands 阅读(127) 评论(0) 推荐(0) 编辑
 

2012年7月24日

摘要: 本文的两个目的:(1)介绍javascript中的eval函数的用法(2)如何在函数内执行全局代码►先来说eval的用法,内容比较简单,熟悉的可以跳过。eval函数接收一个参数s,如果s不是字符串,则直接返回s。否则执行s语句。如果s语句执行结果是一个值,则返回此值,否则返回undefined。需要特别注意的是对象声明语法“{}”并不能返回一个值,需要用括号括起来才会返回值,简单示例如下:varcode1='"a"+2';//表达式varcode2='{a:2}';//语句alert(eval(code1));//->'a2&# 阅读全文
posted @ 2012-07-24 15:45 ninelands 阅读(563) 评论(0) 推荐(0) 编辑
 
摘要: 通常文件下载过程是十分简单的,建立一个链接指向到目标文件就可以了。例如下面的链接:<ahref=http://www.xxx.com/xxx.rar>点击下载文件</a>但是,实际情况可能会稍复杂。比如需要用户填写完整注册信息后才可以下载该文件,这时最先想到的是使用Redirect的方式。下面介绍两种方式。(1)用Redirect方式。先检查表格是否已经填写完毕和完整,然后将链接指到该文件,这样用户就可以下载。请看下面的示例代码:<?php/*文件功能:检查变量form是否完整*/ if($form){ //重新定向浏览器指向 Header("Locat 阅读全文
posted @ 2012-07-24 15:45 ninelands 阅读(1210) 评论(0) 推荐(0) 编辑
 

2012年6月13日

摘要: 1.什么是多态多 态(Polymorphism)按字面上意思理解就是“多种形状”。可以理解为多种表现形式,也即“一个对外接口,多个内部实现方法”。在面向对象的理论 中,多态性的一般定义为:同一个操作作用于不同的类的实例,将产生不同的执行结果。也即不同类的对象收到相同的消息时,将得到不同的结果。在实际的应用开发中,采用面向对象中的多态主要在于可以将不同的子类对象都当作一个父类来处理,并且可以屏蔽不同子类对象之间所存在的差异,写出通用的代码,做出通用的编程,以适应需求的不断变化。<?php/*** Shape Interface* * @version 1.0* @copyright * ( 阅读全文
posted @ 2012-06-13 13:00 ninelands 阅读(314) 评论(0) 推荐(0) 编辑
 

2012年6月12日

摘要: <?php/*** (1)抽象类:象类不能直接被实例化,你必须先继承该抽象类,然后再实例化子类。* (2)任何一个类, 如果它里面至少有一个方法是被声明为抽象的,那么这个类就必须被声明为抽象的。* (3)如果类方法被声明为抽象的, 那么其中就不能包括具体的功能实现。*/abstract class Calculator{ private $num1; private $num2; public $result; public function getNum1() { return $this->num1; } public function setNum1($num1) { $th 阅读全文
posted @ 2012-06-12 17:20 ninelands 阅读(146) 评论(0) 推荐(0) 编辑
 

2012年6月7日

摘要: (1)memory_get_usage可以分析内存占用空间我们在实际编码中,要想实现对内存的查看和操作,许多程序员们第一个想到的就是PHP memory_get_usage()这个PHP脚本内存函数。下面是PHP memory_get_usage()使用示例:<?php echo memory_get_usage(), '<br />'; // 313864 $tmp = str_repeat('http://www.baidu.com', 4000); echo memory_get_usage(), '<br /> 阅读全文
posted @ 2012-06-07 16:28 ninelands 阅读(671) 评论(0) 推荐(0) 编辑