周五 30 十 2009
有点跟不上进度了
Posted by Jansfer under 随笔
No Comments
最近开发的进度一直跟不上项目的计划,要加紧了。。。
周三 28 十 2009
Posted by Jansfer under 技术
No Comments
自php5.0开始,增加了如下是curl支持多线程的函数
curl_multi_init - initialize a new cURL multi handle.
It will return the cURL handle on success and FALSE on error.
curl_multi_add_handle — Add a cURL handle to a cURL multi handle.
curl_multi_exec — Runs all the curl handle in the cURL multi handle in parallel.
curl_multi_remove_handle — Removes a cURL handle from a cURL multi handle.
curl_multi_close — close the cURL multi handle.
弄了个简单的例子
class MultiHttpRequest {
public $urls = array ();
public $curlopt_header = 1;
public $method = "GET";
function __construct($urls = false) {
$this->urls = $urls;
}
function set_urls($urls) {
$this->urls = $urls;
return $this;
}
function is_return_header($b) {
$this->curlopt_header = $b;
return $this;
}
function set_method($m) {
$this->medthod = strtoupper ( $m );
return $this;
}
function start() {
if (! is_array ( $this->urls ) or count ( $this->urls ) == 0) {
return false;
}
$curl = $text = array ();
$handle = curl_multi_init ();
foreach ( $this->urls as $k => $v ) {
$curl [$k] = $this->add_handle ( $handle, $v );
}
$this->exec_handle ( $handle );
foreach ( $this->urls as $k => $v ) {
$text [$k] = curl_multi_getcontent ( $curl [$k] );
echo $text [$k], "nn";
curl_multi_remove_handle ( $handle, $curl [$k] );
}
curl_multi_close ( $handle );
}
private function add_handle(&$handle, $url) {
$curl = curl_init ();
curl_setopt ( $curl, CURLOPT_URL, $url );
curl_setopt ( $curl, CURLOPT_HEADER, $this->curlopt_header );
curl_setopt ( $curl, CURLOPT_RETURNTRANSFER, 1 );
curl_multi_add_handle ( $handle, $curl );
return $curl;
}
private function exec_handle(&$handle) {
$flag = null;
do {
curl_multi_exec ( $handle, $flag );
} while ( $flag > 0 );
}
}
$urls = array ("http://baidu.com", "http://dzone.com", "http://www.g.cn" );
$mp = new MultiHttpRequest ( $urls );
$mp->start ();
?>
周二 27 十 2009
Posted by Jansfer under 技术, 随笔
No Comments
Windows 7出来有些时候了,你用上了吗?

因为常常听到有人发出「啊!我怎么不知道有这个快速键?」这样的感叹,所以小姜在这里转贴一篇 Windows 7 新快速键的总整理,如果大家能找到一两个方便的,或许可以让工作效率大为提升呢 XD!
窗口控制快速键
Win+Home: 将所有使用中窗口以外的窗口最小化(和摇动使用中窗口一样意思)
Win+Space:将所有桌面上的窗口透明化(和鼠标移到工作列的最右下角一样意思)
Win+上方向键:最大化使用中窗口(和将窗口用鼠标拖到屏幕上缘一样意思)
Shift+Win+上方向键:垂直最大化使用中窗口(但水平宽度不变)
Win+下方向键:最小化窗口/还原先前最大化的使用中窗口
Win+左/右方向键:将窗口靠到屏幕的左右两侧(和将窗口用鼠标拖到左右边缘一样意思)
Shift+Win+左/右方向键:将窗口移到左、右屏幕(如果你有接双屏幕的话)工作列快速列
Win+1~9:开启工作列上相对应的软件,从左到右依顺序为 Win+1 到 Win+9
Shift+Win+1~9:开启对应位置软件的一个新「分身」,例如 firefox 的话会是开新窗口(鼠标是Shift+点软件)
Ctrl+Win+1~9:在对应位置软件已开的分身中切换。
Alt+Win+1~9:开启对应位置软件的右键选单。
Win+T:工作列的 Alt+Tab
Ctrl+Shift+鼠标点软件:以管理员权限开启该软件
档案总管
Ctrl+Shift+N:开新资料夹
Alt+上方向键:到上一层资料夹
Alt+P:预览面版的开关
Shift+右键点选档案:出现「钉选到开始菜单」和「复制为路径」两个额外的右键选项
Shift+右键点选资料夹:出现「在新处理程序开启(另开新窗口)」、「在此处开启命令窗口(DOS!)」和「复制为路径」三个额外的右键选项
还有,可以在档案总管里按 Alt 叫出传统的选单。我的数据夹选项回来了! >_<
其它
Win+P:投影机输出设定(仅屏幕、同步显示、延伸、仅投影机)
Win+ (+/-):放大、缩小
Win+G:在屏幕上的 Gadget 间切换
我最喜欢的是WIN+P,因为我用2个显示器(本本+外显),不过电脑配置不行,前段时间又换回XP了。
周三 21 十 2009
Posted by Jansfer under 技术
No Comments
Linux中常用的监控CPU整体性能的工具有:
mpstat: mpstat 不但能查看所有CPU的平均信息,还能查看指定CPU的信息。
vmstat:只能查看所有CPU的平均信息;查看cpu队列信息;
iostat: 只能查看所有CPU的平均信息。
sar: 与mpstat 一样,不但能查看CPU的平均信息,还能查看指定CPU的信息。
top:显示的信息同ps接近,但是top可以了解到CPU消耗,可以根据用户指定的时间来更新显示。
oprofile:OProfile 是一个低开销的系统全局的性能监视工具。它使用处理器上的性能监视硬件来检索关于内核以及系统上的可执行文件的信息,例如内存是何时被引用的;L2 缓存请求数量;收到的硬件中断数量等
使用方法及参数请查看MAN文档或访问以下网址
http://linux.chinaitlab.com/soft/524753.html
补充:sar命令可参考这里
http://www.jansfer.com/200909/26/sar-man/