[个人原创]使用Jquery的鲜活绑定(lively-ness),解决“新添加的元素,事件不可用”的问题
Php/Js/Shell/Go jackxiang 2011-10-10 18:56
要求:当点击+按钮时,添加一个File位置,上传控件,当想删除这个上传文件控件时,点-取消。
问题:原有DOM上的三个上传文件框可以绑定上删除一个的事件,但是,通过AddInput.click生成的就没有。
如下:
解决:使用Jquery的Live Query插件,删除新加的文件控件的JS代码改为,livequery这个加上:
<script type="text/javascript" src="/js/jquery/jquery.livequery.js"></script>
参考来源:
使用Jquery的鲜活绑定(lively-ness),解决“新添加的元素,事件不可用”的问题:
http://www.cnblogs.com/yongzhi/archive/2008/11/27/1342096.html
附录如下:
添加新上传文件Js事件:
问题:原有DOM上的三个上传文件框可以绑定上删除一个的事件,但是,通过AddInput.click生成的就没有。
如下:
解决:使用Jquery的Live Query插件,删除新加的文件控件的JS代码改为,livequery这个加上:
<script type="text/javascript" src="/js/jquery/jquery.livequery.js"></script>
参考来源:
使用Jquery的鲜活绑定(lively-ness),解决“新添加的元素,事件不可用”的问题:
http://www.cnblogs.com/yongzhi/archive/2008/11/27/1342096.html
附录如下:
添加新上传文件Js事件:
一个多月前,Kernel.org公布了自己遭受的安全攻击,并将网站下线。现在,Kernel.org网站重新上线。
在8月份,Kernel.org声明自己的服务器被恶意网站攻破,这引发了Linux社区的剧烈反应。Kernel.org是Linux源代码的发布点,同时托管其他项目,包括Git。当时,主服务器“hera”被攻破,可能是通过另一台被攻破的Linux服务器完成。
Kernel的邮件列表和主页的链接中建议,开发人员要考虑自己的服务器有被潜在感染的可能,并且推荐他们重新生成自己所有的GnuPG密钥。由于GnuPG一来开发人员之间的web-of-trust工具(而不是根证书的已知列表,该列表被发现存在问题,比如导致Diginotar最近的崩溃),这需要Kernel开发人员在现实世界中碰面,以互相签名他们的新密钥。其他建议推荐使用root检测器(包括Chrootkit、ossec-rootcheck和rkhunter)。如果还有问题,一次干净的重新安装系统将会验证任何流氓系统,还会从LiveCD启动,并执行包扫描,比如rpm –verify all操作。
幸运的是,Kernel的源代码并没有被攻破,这些代码保存在Git库中。由于Git存储的内容由其SHA-1哈希识别,任何文件发生改变,这将会马上展现出文件的不同版本。不管是推送还是拉动等变更,都可以检测到这些不一致,并容易发出通知。此外,Git库的复制方式,意味着互联网上有多份拷贝,每一份都有同样的哈希,因此,任何开发人员如果想计算最近签出的库的正确性,去验证已知的正确值都是可能的。
预计不久就会有对本次安全漏洞的全面阐述。
查看英文原文:InfoQ: Kernel.org Back After Security Breach
在8月份,Kernel.org声明自己的服务器被恶意网站攻破,这引发了Linux社区的剧烈反应。Kernel.org是Linux源代码的发布点,同时托管其他项目,包括Git。当时,主服务器“hera”被攻破,可能是通过另一台被攻破的Linux服务器完成。
Kernel的邮件列表和主页的链接中建议,开发人员要考虑自己的服务器有被潜在感染的可能,并且推荐他们重新生成自己所有的GnuPG密钥。由于GnuPG一来开发人员之间的web-of-trust工具(而不是根证书的已知列表,该列表被发现存在问题,比如导致Diginotar最近的崩溃),这需要Kernel开发人员在现实世界中碰面,以互相签名他们的新密钥。其他建议推荐使用root检测器(包括Chrootkit、ossec-rootcheck和rkhunter)。如果还有问题,一次干净的重新安装系统将会验证任何流氓系统,还会从LiveCD启动,并执行包扫描,比如rpm –verify all操作。
幸运的是,Kernel的源代码并没有被攻破,这些代码保存在Git库中。由于Git存储的内容由其SHA-1哈希识别,任何文件发生改变,这将会马上展现出文件的不同版本。不管是推送还是拉动等变更,都可以检测到这些不一致,并容易发出通知。此外,Git库的复制方式,意味着互联网上有多份拷贝,每一份都有同样的哈希,因此,任何开发人员如果想计算最近签出的库的正确性,去验证已知的正确值都是可能的。
预计不久就会有对本次安全漏洞的全面阐述。
查看英文原文:InfoQ: Kernel.org Back After Security Breach
nux 系统文件 /proc/{$pid}/status 会记录某个进程的运行状态,里面的 VmRSS 字段记录了该进程使用的常驻物理内存(Residence),这个就是该进程实际占用的物理内存了,用这个数据比较靠谱,在程序里面提取这个值也很容易
ps:虽然垃圾回收让php开发者在内存管理上无需担心了,但也有极端的反例:php界著名的包管理工具composer曾因加入一行gc_disable();性能得到极大提升。
两步:
1)Top查看进程PID。
2)查看进程的内存大小:
VmSize(KB) 任务虚拟地址空间的大小
VmRSS(KB) 应用程序正在使用的物理内存的大小,就是用ps命令的参数rss的值 (rss)
3)将KB换为G或M看:
https://www.wntool.com/filesize/
5020236 kb = 4.787670135498047GB
常用ps命令参数:最常用的三个参数是u、a、x,下面将通过例子来说明其具体用法。
p
pid
进程ID
u
user
用户名
x 显示没有控制终端的进程。
可以使用u选项来查看进程所有者及其他一些详细信息,如下所示:
ps aux|grep dio_open_usb2|grep -v grep
root 10952 0.0 0.2 37436 8848 pts/0 S+ 14:50 0:00 php dio_open_usb2.php
从上面可以得到信息如下:
还可以看到%CPU、%MEM两个选项,前者指该进程占用的CPU时间和总时间的百分比;后者指该进程占用的内存和总内存的百分比。
即:该程序占用内存8848,我们只看内存,也也以这样看内存,10952是它的PID号,则这样看:
该文件里面有很多项的,如下:
cat /proc/10952/status
Name: php
State: S (sleeping)
Tgid: 10952
Pid: 10952
......
VmSize: 37436 kB
VmRSS: 8848 kB
......
解释:
VmSize(KB) 任务虚拟地址空间的大小
VmRSS(KB) 应用程序正在使用的物理内存的大小,就是用ps命令的参数rss的值 (rss)
参考来源:
http://apps.hi.baidu.com/share/detail/17897258
http://enterparse.blog.163.com/blog/static/11713797420096921232931/
steven jobs总算是走了,但蛮怀恋他老人家啊,尽管到目前我也买不起个苹果的本本上网什么的,但最近在同事的aire机上提前体验了下苹果的笔记本本,体验上创意上确实不错,于是也就立即逛逛他的苹果网站,发现也是用PHP+APache+Oracle做的,激发了我的兴趣,发现是用PHP连接Oracle的Apache架构实现,抓包发现服务器确实是:Apache/2.2.3 (Oracle),我不太明白ORacle这块,但同时看网上有这样的问题的提出,老大们,你们的php连oracle难道没有连接池问题吗?稍多几个人访问web那oracle可怜的百十个连接就用完了,你们是怎么解决的?沿着这个问题做了下简单的分析和查找资料,也就是如何解决这个贴纸儿的问题:http://blog.fabrichina.net/archives/250,
抓包看看再说,URL:
http://www.apple.com/global/nav/scripts/shortcuts.php?q=ja§ion=global&geo=us&transport=js
于是找了网站上的两篇文章,说明为什么能用PHP连接Oracle并不用在乎它的连接数,Oracle自己采用了连接池的中间件技术:
http://martincarstenbach.wordpress.com/2010/05/11/compiling-php-5-3-2-for-oracle-11-2-and-apache-2-2-3/
http://archimedes.bitfine.com/dms/building-php-for-oracle.html
同时还发现有其它这样的server在苹果网站上得到初步证实:
获得的包返回情况如下,这个Server :Omniture DC/2.0.0,估计是:数据库驻留连接池 (DRCP) 的缩写。
标识补充:Oracle 数据库 11g 包含一个专门针对需要高可扩展性的应用程序的新特性:数据库驻留连接池 (DRCP)。通过 DRCP,我们可以在不同应用程序进程间共享数据库连接,从而更高效地使用服务器资源并全面提升吞吐量。Zend Server 随附的 PHP OCI8 扩展(目前为 V1.3.5)包含对 DRCP 的即用支持,使开发人员可以立即在其 PHP 应用程序中使用该特性。来源:http://blog.fabrichina.net/archives/250,再次查了下这方面网上关于ZendServe支持Oracle和Apache架构方面的r相关的文章,URL摘录如下:
(1)使用Zend Server 和Oracle 构建企业级PHP 应用:
http://www.zendchina.net/?action-viewnews-itemid-621
(2)11g新特性:常驻连接池DRCP(转):
http://space.itpub.net/23754390/viewspace-687268
(3)Oracle DRCP与PHP实际应用的区别:
http://database.51cto.com/art/201004/196170.htm
尝试访问苹果的URL如下,主要是证明这个Omniture Dc/2.0.0服务器的存在:
http://metrics.apple.com/b/ss/appleglobal,applestoreww,applestoreus,applestoreusconsum,applestoreamr,applestoreamrconsum/1/H.20.3/s9545065233069?AQB=1&ndh=1&t=6/9/2011%2023%3A28%3A57%204%20-480&ce=UTF-8&pageName=AOS%3A%20home%20-%20Return&g=http%3A//store.apple.com/us%3Fmco%3DNzc1MjMwNA&r=http%3A//store.apple.com/us&cc=USD&ch=AOS%3A%20home&server=a50028560&v1=AOS%3A%20TopNavigation%20%7C%20Store&h1=home&c2=AOS%3A%20US%20Consumer&v3=AOS%3A%20US%20Consumer&v4=AOS%3A%20home&c6=%3A%20AOS%3A%20home%20-%20Return&c8=AOS%3A%20home&c19=AOS%3A%20US%20Consumer%3A%20home&v19=AOS%3A%20US%20Consumer%3A%20home&c20=AOS%3A%20US%20Consumer&s=1400x1050&c=24&j=1.7&v=N&k=Y&bw=1400&bh=409&p=IE%20Tab%20Plug-in%3BAlipay%20security%20control%3BJava%20Deployment%20Toolkit%206.0.260.3%3BAliWangWang%20Plug-In%20For%20Firefox%20and%20Netscape%3BShockwave%20Flash%3BThunder%20DapCtrl%20NPAPI%20Plugin%3B&pid=AOS%3A%20home%20-%20First&pidt=1&oid=Nzc1MjMwNA&oidt=1&ot=A&oi=1&AQE=1
对该URL抓包返回头如下:
最后,只能模糊判断苹果网站的架构是基于这篇PPT来实现PHP和Oracle进行通信的,这个过程得到了学习,苹果在自己网站上采用的技术也很独特,佩服佩服啊:
下载文件
抓包看看再说,URL:
http://www.apple.com/global/nav/scripts/shortcuts.php?q=ja§ion=global&geo=us&transport=js
于是找了网站上的两篇文章,说明为什么能用PHP连接Oracle并不用在乎它的连接数,Oracle自己采用了连接池的中间件技术:
http://martincarstenbach.wordpress.com/2010/05/11/compiling-php-5-3-2-for-oracle-11-2-and-apache-2-2-3/
http://archimedes.bitfine.com/dms/building-php-for-oracle.html
同时还发现有其它这样的server在苹果网站上得到初步证实:
获得的包返回情况如下,这个Server :Omniture DC/2.0.0,估计是:数据库驻留连接池 (DRCP) 的缩写。
标识补充:Oracle 数据库 11g 包含一个专门针对需要高可扩展性的应用程序的新特性:数据库驻留连接池 (DRCP)。通过 DRCP,我们可以在不同应用程序进程间共享数据库连接,从而更高效地使用服务器资源并全面提升吞吐量。Zend Server 随附的 PHP OCI8 扩展(目前为 V1.3.5)包含对 DRCP 的即用支持,使开发人员可以立即在其 PHP 应用程序中使用该特性。来源:http://blog.fabrichina.net/archives/250,再次查了下这方面网上关于ZendServe支持Oracle和Apache架构方面的r相关的文章,URL摘录如下:
(1)使用Zend Server 和Oracle 构建企业级PHP 应用:
http://www.zendchina.net/?action-viewnews-itemid-621
(2)11g新特性:常驻连接池DRCP(转):
http://space.itpub.net/23754390/viewspace-687268
(3)Oracle DRCP与PHP实际应用的区别:
http://database.51cto.com/art/201004/196170.htm
尝试访问苹果的URL如下,主要是证明这个Omniture Dc/2.0.0服务器的存在:
http://metrics.apple.com/b/ss/appleglobal,applestoreww,applestoreus,applestoreusconsum,applestoreamr,applestoreamrconsum/1/H.20.3/s9545065233069?AQB=1&ndh=1&t=6/9/2011%2023%3A28%3A57%204%20-480&ce=UTF-8&pageName=AOS%3A%20home%20-%20Return&g=http%3A//store.apple.com/us%3Fmco%3DNzc1MjMwNA&r=http%3A//store.apple.com/us&cc=USD&ch=AOS%3A%20home&server=a50028560&v1=AOS%3A%20TopNavigation%20%7C%20Store&h1=home&c2=AOS%3A%20US%20Consumer&v3=AOS%3A%20US%20Consumer&v4=AOS%3A%20home&c6=%3A%20AOS%3A%20home%20-%20Return&c8=AOS%3A%20home&c19=AOS%3A%20US%20Consumer%3A%20home&v19=AOS%3A%20US%20Consumer%3A%20home&c20=AOS%3A%20US%20Consumer&s=1400x1050&c=24&j=1.7&v=N&k=Y&bw=1400&bh=409&p=IE%20Tab%20Plug-in%3BAlipay%20security%20control%3BJava%20Deployment%20Toolkit%206.0.260.3%3BAliWangWang%20Plug-In%20For%20Firefox%20and%20Netscape%3BShockwave%20Flash%3BThunder%20DapCtrl%20NPAPI%20Plugin%3B&pid=AOS%3A%20home%20-%20First&pidt=1&oid=Nzc1MjMwNA&oidt=1&ot=A&oi=1&AQE=1
对该URL抓包返回头如下:
最后,只能模糊判断苹果网站的架构是基于这篇PPT来实现PHP和Oracle进行通信的,这个过程得到了学习,苹果在自己网站上采用的技术也很独特,佩服佩服啊:

我似乎不应该向出租车司机提起腾讯。车窗外,一幢幢高楼沿着深南大道逐个晃过去。出租车司机因为那幢“马化腾的大楼”触发了谈兴。他一边有腔有调地讲述深圳人眼中的马化腾,一边顺道得瑟起他的QQ泡妞故事。
转载请注意来自http://www.chaoren.com
阅读全文
转载请注意来自http://www.chaoren.com

一直很困惑,技术人员拥有技术,但创业成功者寥寥无几。上周拜访客户,接触了几家公司后,才真正明白为什么技术人员当不好老板的原因。
有些人认为技术人员当不好老板,往往是技术人员性格比较怪,比较孤僻,不爱结交,只喜欢摆弄自己的技术,这些固然是有一些原因,但不是深层次原因,毕竟还是有很多技术人员的性格是很好的。
当然,我这儿说的技术人员,指在自己的领域能够深入,有自己独到的见解的那种,而不是那些搞了几年,还只是三脚猫功夫的,这类本质上谈不行是技术人员,只能讲是技术工人。
技术人员的工作:
阅读全文
有些人认为技术人员当不好老板,往往是技术人员性格比较怪,比较孤僻,不爱结交,只喜欢摆弄自己的技术,这些固然是有一些原因,但不是深层次原因,毕竟还是有很多技术人员的性格是很好的。
当然,我这儿说的技术人员,指在自己的领域能够深入,有自己独到的见解的那种,而不是那些搞了几年,还只是三脚猫功夫的,这类本质上谈不行是技术人员,只能讲是技术工人。
技术人员的工作:

方法1:
在传入system()的参数字符串结尾加'&'字符,要求在后台运行
方法2:
先fork()出子进程,然后在子进程中调用system()函数
http://zhidao.baidu.com/question/43141259.html
在传入system()的参数字符串结尾加'&'字符,要求在后台运行
方法2:
先fork()出子进程,然后在子进程中调用system()函数
http://zhidao.baidu.com/question/43141259.html
curl c/c++ api接口使用例程
来源:http://bbs.chinaunix.net/viewthread.php?tid=586014
前两天看到有人求客户端socket 发HTTP包的代码,受flw版主启发找了一些perl的资料,不过对perl 还是不太熟悉。也没有深入的 研究。无意中发现了libcurl.so 这个库。去google上搜索发现它是处理客户端发送HTTP请求的库 以及可以处理web服务器回送回来的 包。研究了两天将研究的成果,共享出来给大家一起研究。
参考:http://curl.haxx.se/ 这是curl开发者的首页。
利用libcurl.so库 我们能轻松的连接某个web站点。获得某个首页的html代码 或者是http 请求的头部。 还可以提交表单,
此外它还支持ftp,https,
/usr/include/curl/curl.h 中。
1 CURLcode curl_global_init(long flags);
描述:
这个函数只能用一次。(其实在调用curl_global_cleanup 函数后仍然可再用)
如果这个函数在curl_easy_init函数调用时还没调用,它讲由libcurl库自动完成。
参数:flags
CURL_GLOBAL_ALL //初始化所有的可能的调用。
CURL_GLOBAL_SSL //初始化支持 安全套接字层。
CURL_GLOBAL_WIN32 //初始化win32套接字库。
CURL_GLOBAL_NOTHING //没有额外的初始化。
2 void curl_global_cleanup(void);
描述:在结束libcurl使用的时候,用来对curl_global_init做的工作清理。类似于close的函数。
3 char *curl_version( );
描述: 打印当前libcurl库的版本。
4 CURL *curl_easy_init( );
描述:
curl_easy_init用来初始化一个CURL的指针(有些像返回FILE类型的指针一样). 相应的在调用结束时要用curl_easy_cleanup函数清理.
一般curl_easy_init意味着一个会话的开始. 它的返回值一般都用在easy系列的函数中.
5 void curl_easy_cleanup(CURL *handle);
描述:
这个调用用来结束一个会话.与curl_easy_init配合着用.
参数:
CURL类型的指针.
6 CURLcode curl_easy_setopt(CURL *handle, CURLoption option, parameter);
描述: 这个函数最重要了.几乎所有的curl 程序都要频繁的使用它.
它告诉curl库.程序将有如何的行为. 比如要查看一个网页的html代码等.
(这个函数有些像ioctl函数)
参数:
1 CURL类型的指针
2 各种CURLoption类型的选项.(都在curl.h库里有定义,man 也可以查看到)
3 parameter 这个参数 既可以是个函数的指针,也可以是某个对象的指针,也可以是个long型的变量.它用什么这取决于第二个参数.
CURLoption 这个参数的取值很多.具体的可以查看man手册.
7 CURLcode curl_easy_perform(CURL *handle);
描述:这个函数在初始化CURL类型的指针 以及curl_easy_setopt完成后调用. 就像字面的意思所说perform就像是个舞台.让我们设置的
option 运作起来.
参数:
CURL类型的指针.
下面来看一个简单的例子:
用来获得某个主页的html代码
#include <stdio.h>;
#include <curl/curl.h>;
#include <stdlib.h>;
int main(int argc, char *argv[])
{
CURL *curl; //定义CURL类型的指针
CURLcode res; //定义CURLcode类型的变量
if(argc!=2)
{
printf("Usage : file <url>;\n");
exit(1);
}
curl = curl_easy_init(); //初始化一个CURL类型的指针
if(curl!=NULL)
{
//设置curl选项. 其中CURLOPT_URL是让用户指定url. argv[1]中存放的命令行传进来的网址
curl_easy_setopt(curl, CURLOPT_URL, argv[1]);
//调用curl_easy_perform 执行我们的设置.并进行相关的操作. 在这里只在屏幕上显示出来.
res = curl_easy_perform(curl);
//清除curl操作.
curl_easy_cleanup(curl);
}
return 0;
}
编译: gcc -o 001 -Wall 001.c -lcurl
我们来获得www.chinaunix.net 主页的html代码
./001 www.chinaunix.net
阅读全文
来源:http://bbs.chinaunix.net/viewthread.php?tid=586014
前两天看到有人求客户端socket 发HTTP包的代码,受flw版主启发找了一些perl的资料,不过对perl 还是不太熟悉。也没有深入的 研究。无意中发现了libcurl.so 这个库。去google上搜索发现它是处理客户端发送HTTP请求的库 以及可以处理web服务器回送回来的 包。研究了两天将研究的成果,共享出来给大家一起研究。
参考:http://curl.haxx.se/ 这是curl开发者的首页。
利用libcurl.so库 我们能轻松的连接某个web站点。获得某个首页的html代码 或者是http 请求的头部。 还可以提交表单,
此外它还支持ftp,https,
/usr/include/curl/curl.h 中。
1 CURLcode curl_global_init(long flags);
描述:
这个函数只能用一次。(其实在调用curl_global_cleanup 函数后仍然可再用)
如果这个函数在curl_easy_init函数调用时还没调用,它讲由libcurl库自动完成。
参数:flags
CURL_GLOBAL_ALL //初始化所有的可能的调用。
CURL_GLOBAL_SSL //初始化支持 安全套接字层。
CURL_GLOBAL_WIN32 //初始化win32套接字库。
CURL_GLOBAL_NOTHING //没有额外的初始化。
2 void curl_global_cleanup(void);
描述:在结束libcurl使用的时候,用来对curl_global_init做的工作清理。类似于close的函数。
3 char *curl_version( );
描述: 打印当前libcurl库的版本。
4 CURL *curl_easy_init( );
描述:
curl_easy_init用来初始化一个CURL的指针(有些像返回FILE类型的指针一样). 相应的在调用结束时要用curl_easy_cleanup函数清理.
一般curl_easy_init意味着一个会话的开始. 它的返回值一般都用在easy系列的函数中.
5 void curl_easy_cleanup(CURL *handle);
描述:
这个调用用来结束一个会话.与curl_easy_init配合着用.
参数:
CURL类型的指针.
6 CURLcode curl_easy_setopt(CURL *handle, CURLoption option, parameter);
描述: 这个函数最重要了.几乎所有的curl 程序都要频繁的使用它.
它告诉curl库.程序将有如何的行为. 比如要查看一个网页的html代码等.
(这个函数有些像ioctl函数)
参数:
1 CURL类型的指针
2 各种CURLoption类型的选项.(都在curl.h库里有定义,man 也可以查看到)
3 parameter 这个参数 既可以是个函数的指针,也可以是某个对象的指针,也可以是个long型的变量.它用什么这取决于第二个参数.
CURLoption 这个参数的取值很多.具体的可以查看man手册.
7 CURLcode curl_easy_perform(CURL *handle);
描述:这个函数在初始化CURL类型的指针 以及curl_easy_setopt完成后调用. 就像字面的意思所说perform就像是个舞台.让我们设置的
option 运作起来.
参数:
CURL类型的指针.
下面来看一个简单的例子:
用来获得某个主页的html代码
#include <stdio.h>;
#include <curl/curl.h>;
#include <stdlib.h>;
int main(int argc, char *argv[])
{
CURL *curl; //定义CURL类型的指针
CURLcode res; //定义CURLcode类型的变量
if(argc!=2)
{
printf("Usage : file <url>;\n");
exit(1);
}
curl = curl_easy_init(); //初始化一个CURL类型的指针
if(curl!=NULL)
{
//设置curl选项. 其中CURLOPT_URL是让用户指定url. argv[1]中存放的命令行传进来的网址
curl_easy_setopt(curl, CURLOPT_URL, argv[1]);
//调用curl_easy_perform 执行我们的设置.并进行相关的操作. 在这里只在屏幕上显示出来.
res = curl_easy_perform(curl);
//清除curl操作.
curl_easy_cleanup(curl);
}
return 0;
}
编译: gcc -o 001 -Wall 001.c -lcurl
我们来获得www.chinaunix.net 主页的html代码
./001 www.chinaunix.net

[个人实践]Linux下使用find命令查找当前文件夹所有的目录,但不递目录下的目录归查找。
Cache与Store jackxiang 2011-10-4 13:08
find命令:
查找当前目录下递归本层所有的文件夹,按评论说的作了下改动:
就是列出当前所有的文件夹,这样可以对一个满是Linux安装文件包并解压后的包含:tar.gz 目录等,做统计和删除,很有用。
注意:
-maxdepth 1 (其中‘1’为你本层目录里面查找,要是为‘2’的话就是两层目录下面的文件查找)
其实我是想删除这个目录下所有给解压的目录,只留下安装包,命令如下:
查找当前目录下递归本层所有的文件夹,按评论说的作了下改动:
就是列出当前所有的文件夹,这样可以对一个满是Linux安装文件包并解压后的包含:tar.gz 目录等,做统计和删除,很有用。
注意:
-maxdepth 1 (其中‘1’为你本层目录里面查找,要是为‘2’的话就是两层目录下面的文件查找)
其实我是想删除这个目录下所有给解压的目录,只留下安装包,命令如下:
[转贴]ExtJs与jQuery的比较
Php/Js/Shell/Go jackxiang 2011-10-3 10:20
jQuery
主页:http://jquery.com/
设计思想
简洁的思想:几乎所有操作都是以选择DOM元素(有强大的Selector)开始,然后是对其的操作(Chaining等特性)。
优点
小,压缩后代码只有20多k(无压缩代码94k)。
Selector和DOM操作的方便
Chaining:总是返回一个jQuery对象,可以连续操作。
文档的完整,易用性(每个API都有完整的例子,这是其它框架现在不能比的),而且网上还有很多其它的文档,书籍。
应用的广泛,包括google code也使用了jQuery。
使用jQuery的站点:http://docs.jquery.com/Sites_Using_jQuery
核心的开发团队和核心人员:John Resig等。
简洁和简短的语法,容易记。
可扩展性:有大量用户开发的插件可供使用(http://jquery.com/plugins/)
jQuery UI(http://jquery.com/plugins/,基于jQuery,但和核心的jQuery是独立的),不断发展中。
友好和活跃的社区:google groups: http://docs.jquery.com/Discussion
事件处理有很多方便的方法,如click,而不是单一的addEvent之类的。
缺点
由于设计思想是追求高效和简洁,没有面向对象的扩展。设计思路和Mootools不一样。
CSS Selector的速度稍微有些慢(但是现在速度已经大幅提高)
Ext JS
主页:http://extjs.com/
设计思想
组件化,推进RIA(Rich Internet Application)的应用。
优点
强大的UI,而且性能不错,这是其最大的优点。
速度快,管是UI还是其它模块。
100%面向对象和组件化的思想,一致的语法,全局的命名空间。
文档的完整,规范,方便。
核心的开发团队,Jack Slocum等。
活跃的社区,迅速增加的用户量。
模块化实现,可扩展性强。
所有的组件(widgets)都可直接使用,而无需进行设置(当然,用户可以选择重新配置)。
缺点
稍复杂。
为重量级的框架(包含大量UI),体积大。如果导入ext-all.js,压缩后也有近500k。
ExtJs与jQuery比较
1.EXT体积大,jQuery更专注于简化最基础的开发工作.所以使用起来,也就感觉更像是使用原始的js进行开发一样
2.EXT界面美观,jQuery一般
3.EXT代码复用性强
4.EXT兼容性还是有点小问题,jQuery兼容性良好
5.EXT不易调试,
6.Ext使页面是只留下body,搜索引擎无法收录这样,不利于SEO排名
7.jQuery的事件绑定更强
Ext简化了很多工作,让开发更简洁,更方便,但也带来了很多麻烦,给我们留下了更小的选择空间,局域网里面我们可以使用EXT,但是在互联网上请优先jQuery
主页:http://jquery.com/
设计思想
简洁的思想:几乎所有操作都是以选择DOM元素(有强大的Selector)开始,然后是对其的操作(Chaining等特性)。
优点
小,压缩后代码只有20多k(无压缩代码94k)。
Selector和DOM操作的方便
Chaining:总是返回一个jQuery对象,可以连续操作。
文档的完整,易用性(每个API都有完整的例子,这是其它框架现在不能比的),而且网上还有很多其它的文档,书籍。
应用的广泛,包括google code也使用了jQuery。
使用jQuery的站点:http://docs.jquery.com/Sites_Using_jQuery
核心的开发团队和核心人员:John Resig等。
简洁和简短的语法,容易记。
可扩展性:有大量用户开发的插件可供使用(http://jquery.com/plugins/)
jQuery UI(http://jquery.com/plugins/,基于jQuery,但和核心的jQuery是独立的),不断发展中。
友好和活跃的社区:google groups: http://docs.jquery.com/Discussion
事件处理有很多方便的方法,如click,而不是单一的addEvent之类的。
缺点
由于设计思想是追求高效和简洁,没有面向对象的扩展。设计思路和Mootools不一样。
CSS Selector的速度稍微有些慢(但是现在速度已经大幅提高)
Ext JS
主页:http://extjs.com/
设计思想
组件化,推进RIA(Rich Internet Application)的应用。
优点
强大的UI,而且性能不错,这是其最大的优点。
速度快,管是UI还是其它模块。
100%面向对象和组件化的思想,一致的语法,全局的命名空间。
文档的完整,规范,方便。
核心的开发团队,Jack Slocum等。
活跃的社区,迅速增加的用户量。
模块化实现,可扩展性强。
所有的组件(widgets)都可直接使用,而无需进行设置(当然,用户可以选择重新配置)。
缺点
稍复杂。
为重量级的框架(包含大量UI),体积大。如果导入ext-all.js,压缩后也有近500k。
ExtJs与jQuery比较
1.EXT体积大,jQuery更专注于简化最基础的开发工作.所以使用起来,也就感觉更像是使用原始的js进行开发一样
2.EXT界面美观,jQuery一般
3.EXT代码复用性强
4.EXT兼容性还是有点小问题,jQuery兼容性良好
5.EXT不易调试,
6.Ext使页面是只留下body,搜索引擎无法收录这样,不利于SEO排名
7.jQuery的事件绑定更强
Ext简化了很多工作,让开发更简洁,更方便,但也带来了很多麻烦,给我们留下了更小的选择空间,局域网里面我们可以使用EXT,但是在互联网上请优先jQuery
我想很多人想知道 64bit 和 32bit 到底区别有多大,在买了VPS后,不知道是装 64bit 的还是装 32bit 的,不知道装 CentOS 还是 Debian
现在以我的实际使用经验来告诉你怎么选择
装 CentOS 还是 Debian ?
首要因素是要看你习惯使用哪一个,就装哪一个,至于资源占用,都差不多的
32bit 和 64bit 实际使用时,差别在哪里?
1. 内存占用的区别
CentOS 32bit 装好系统后的内存占用12MB,64bit 内存占用 19MB
再装 Nginx + PHP + MySQL 并启动后,内存占用相差100多MB
我配置的几个主要参数
Nginx 4 进程
php-fpm 10 进程
apc 64M
MySQL key_buffer 128M
2. 性能区别
CentOS 64bit 的性能要快于 32bit,性能相差大约 30%-50%,这里我说的性能差别指的是从客户端发起请求到接收所花费的时间,包括 php 脚本的执行时间,mysql 的查询时间,nginx 的输出时间
另外,64bit 不仅在性能上要好于 32bit,系统平均负载也要比 32bit 低,我试验了同样的站点,同样的VPS,同样的并发数,32bit 的系统平均负载为 0.9-1.2,而 64bit 的系统平均负载为 0.4-0.7
于此同时,站点运行时,32bit 内存占用 370-400MB, 而 64bit 内存占用 520-580MB
本文作者:http://www.21andy.com/
本文Url:http://www.21andy.com/blog/20101019/1982.html
3. 总结
如果你的 VPS 或服务器,内存大于等于1G,我强烈建议你安装 CentOS 64bit
512MB VPS 是比较尴尬的, 一般是 512MB 保证,超过这个内存范围,商家不保证你能稳定
如果你使用 64bit 内存不超,应该选 64bit
512MB 以下的,不用考虑,就 32bit
现在以我的实际使用经验来告诉你怎么选择
装 CentOS 还是 Debian ?
首要因素是要看你习惯使用哪一个,就装哪一个,至于资源占用,都差不多的
32bit 和 64bit 实际使用时,差别在哪里?
1. 内存占用的区别
CentOS 32bit 装好系统后的内存占用12MB,64bit 内存占用 19MB
再装 Nginx + PHP + MySQL 并启动后,内存占用相差100多MB
我配置的几个主要参数
Nginx 4 进程
php-fpm 10 进程
apc 64M
MySQL key_buffer 128M
2. 性能区别
CentOS 64bit 的性能要快于 32bit,性能相差大约 30%-50%,这里我说的性能差别指的是从客户端发起请求到接收所花费的时间,包括 php 脚本的执行时间,mysql 的查询时间,nginx 的输出时间
另外,64bit 不仅在性能上要好于 32bit,系统平均负载也要比 32bit 低,我试验了同样的站点,同样的VPS,同样的并发数,32bit 的系统平均负载为 0.9-1.2,而 64bit 的系统平均负载为 0.4-0.7
于此同时,站点运行时,32bit 内存占用 370-400MB, 而 64bit 内存占用 520-580MB
本文作者:http://www.21andy.com/
本文Url:http://www.21andy.com/blog/20101019/1982.html
3. 总结
如果你的 VPS 或服务器,内存大于等于1G,我强烈建议你安装 CentOS 64bit
512MB VPS 是比较尴尬的, 一般是 512MB 保证,超过这个内存范围,商家不保证你能稳定
如果你使用 64bit 内存不超,应该选 64bit
512MB 以下的,不用考虑,就 32bit
平时我们取得location的search的时候,往往都是要用location.search,然后根据取回的结果集再处理
1、先判断第一位是否是“?”,如果是则从?开始往后面处理
2、写程序以&开始分隔,当然得先用unescape,或者用那个urldecode(具体的名字不记得了)处理一下,把&之类的处理一下
3、以=分隔,这样才能可以取得一一对应的值。
现在方便了。jQuery有这样的插件了。。。。
原文来自:http://www.cssrain.cn/article.asp?id=1204
内容如下:
例如 当前你的URL是:
http://www.cssrain.cn/index.php?test=1&kk=2
如果想获取test,则可以引入插件后,
用如下方法获取:
var test = $.query.get('test');
如果参数有多个相同的名称 ,则可以这样:
var arr = $.query.get('testy');
输出: [ 值1 , 值2, 值3...]
如果要获取多个相同名称中的某一个,可以这样:
var arrayElement = $.query.get('testy[1]');
此插件不仅能获取参数,也能设置参数。
设置一个参数:
var newUrl = $.query.set("section", 5).toString();
输出 : "?section=5"
设置两个参数:
var newUrl = $.query.set("section", 5).set("action", "do").toString();
输出 : "?action=do§ion=5"
删除一个参数:
var oldQueryAgain = $.query.REMOVE("type");
清空所有参数:
var emptyQuery = $.query.empty();
复制所有参数:
var stillTheSame = $.query.copy();
插件地址:
http://plugins.jquery.com/project/query-object
http://plugins.jquery.com/files/jquery.query-2.1.7.js.txt
1、先判断第一位是否是“?”,如果是则从?开始往后面处理
2、写程序以&开始分隔,当然得先用unescape,或者用那个urldecode(具体的名字不记得了)处理一下,把&之类的处理一下
3、以=分隔,这样才能可以取得一一对应的值。
现在方便了。jQuery有这样的插件了。。。。
原文来自:http://www.cssrain.cn/article.asp?id=1204
内容如下:
例如 当前你的URL是:
http://www.cssrain.cn/index.php?test=1&kk=2
如果想获取test,则可以引入插件后,
用如下方法获取:
var test = $.query.get('test');
如果参数有多个相同的名称 ,则可以这样:
var arr = $.query.get('testy');
输出: [ 值1 , 值2, 值3...]
如果要获取多个相同名称中的某一个,可以这样:
var arrayElement = $.query.get('testy[1]');
此插件不仅能获取参数,也能设置参数。
设置一个参数:
var newUrl = $.query.set("section", 5).toString();
输出 : "?section=5"
设置两个参数:
var newUrl = $.query.set("section", 5).set("action", "do").toString();
输出 : "?action=do§ion=5"
删除一个参数:
var oldQueryAgain = $.query.REMOVE("type");
清空所有参数:
var emptyQuery = $.query.empty();
复制所有参数:
var stillTheSame = $.query.copy();
插件地址:
http://plugins.jquery.com/project/query-object
http://plugins.jquery.com/files/jquery.query-2.1.7.js.txt
[个人原创]打印普通三角形,及杨辉三角,才发现这两个三角真的不一样。
Php/Js/Shell/Go jackxiang 2011-10-2 11:09
[个人原创]实践svn的开发文件回退和服务器端版本回退的两种方法
Unix/LinuxC技术 jackxiang 2011-10-1 19:32
我本地 有NEWS.JS这个文件,,服务器上也有一个,,本地版本库跟服务器 版本库一样的情况下 有人改了服务器上的NEWS.JS这个文件,,同时 你也改了 NEWS.JS 这个文件,,你们两个提交的时候 版本库都会自动加以个版本,,也就是 你们两个的版本一致了但是文件内容不一致导致的:
问题是确实有服务器的改动,但是改动并没提交,本地确实在此时改动,那请问怎么样才知道是哪些文件有这样的改动呢,我好删除,有命令么?
1)svn stat查看有无冲突:
svn stat .
看没有conflict啊:
svn stat .|grep conflict
2)对服务器中因中间临时修改时的文件予以强制回退到svn版本中,如下:希望恢复一整个目录的文件,可以使用--depth=infinity选项
[root@localhost cntv_mytv]# cd application/
[root@localhost application]# svn revert --depth=infinity .
Reverted 'models/app.php'
————————————————————————————————
问题是确实有服务器的改动,但是改动并没提交,本地确实在此时改动,那请问怎么样才知道是哪些文件有这样的改动呢,我好删除,有命令么?
1)svn stat查看有无冲突:
svn stat .
看没有conflict啊:
svn stat .|grep conflict
2)对服务器中因中间临时修改时的文件予以强制回退到svn版本中,如下:希望恢复一整个目录的文件,可以使用--depth=infinity选项
[root@localhost cntv_mytv]# cd application/
[root@localhost application]# svn revert --depth=infinity .
Reverted 'models/app.php'
————————————————————————————————
平时做网站经常要用正则表达式,下面是一些讲解和例子,仅供大家参考和修改使用:
阅读全文

xdebug.max_nesting_level=30 //这个值不能太少,尤其是核心Core.php(特别指:框架核心),30较为靠谱,否则出现如下:
PHP Fatal error: Maximum function nesting level of '10' reached, aborting! in /data/htdocs/jackxiang.com/libraries/core.php on line 315
vi +315 /data/htdocs/jackxiang.com/libraries/core.php
313 public static function autoload ($class)
314 {
315 if (class_exists($class, FALSE))
shell_exec/proc_open 两函数得打开:
+-----------------------------------------------------------+
| ! ERROR ! |
| The test-suite requires that proc_open() is available. |
| Please check if you disabled it in php.ini. |
+-----------------------------------------------------------+
shell_exec() has been disabled for security reasons in /home/test/rpmbuild/BUILD/xdebug-2.7.0alpha1/run-tests.php on line 306
阅读全文
PHP Fatal error: Maximum function nesting level of '10' reached, aborting! in /data/htdocs/jackxiang.com/libraries/core.php on line 315
vi +315 /data/htdocs/jackxiang.com/libraries/core.php
313 public static function autoload ($class)
314 {
315 if (class_exists($class, FALSE))
shell_exec/proc_open 两函数得打开:
+-----------------------------------------------------------+
| ! ERROR ! |
| The test-suite requires that proc_open() is available. |
| Please check if you disabled it in php.ini. |
+-----------------------------------------------------------+
shell_exec() has been disabled for security reasons in /home/test/rpmbuild/BUILD/xdebug-2.7.0alpha1/run-tests.php on line 306

自己安装了一个,得到CentOs6.0的内核版本号:
刻录需要超刻的方法:
打开Nero文件-选项-高级 启动DVD超刻 前面打勾,然后确定。数度选择4X,最后,提示刻录失败,其实已经好了。
Last:
自己刻录,自己安装,果然Ok啊,哈哈。
================================================================
centos 6.0已经正式发布了,做为一个大版本的第一个版本肯定有很多问题,RHEL 6.1早发布修补了很多问题,当然还有增强(或增加)了一些功能,所以真正重要生产服务器还是期待centos 6.1的发布,估计下个月底就会发布。
http://qaweb.dev.centos.org/qa/dashboard 预计下周会正式发布下载,且centos 5.7 发布也一样
2011-08-26
centos 5.7官方最新消息称最快7-10天内发布
centos 6.1不太顺利,估计要比5.7晚点
2011-09-01
centos 5.7已经发布了,开始同步外部镜像,估计这两天就可以下载
现在已经有部份镜像点有下载了:
http://ftp.twaren.net/Linux/CentOS/5.7/isos
http://centos.mirror.nexicom.net/5.7/isos/
更多的见:http://www.centos.org/modules/tinycontent/index.php?id=30
按照计划先推出CentOS 6,然后再进行CentOS 6.1的工作。centos。Karanbir表示CentOS 6将在未来的数个星期内发布,而之后的CentOS 6.1只需要几个星期的时间,centos ftp,因为目前CentOS 6的开发branch的自动化和测试流程已经基本完善。centos和rhel。
centos 6.1预15天左右可供下载,可能还得等,官方更新build包日志:http://qaweb.dev.centos.org/qa/blog ,感谢CentOS团队无私的奉献。
在centos 6.1发布之前,centos临时发布了CentOS 6.0 CR Repo,有需要的可以下载用于CENTOS 6.0,同时也说明centos 6.1可能会再次跳票(大家都习惯了吧!)
# yum install centos-release-cr
# yum update
详见:
https://www.centos.org/modules/newbb/viewtopic.php?topic_id=33458&forum=53
http://www.h-online.com/open/news/item/Advance-updates-for-CentOS-6-1-1350302.html
刻录需要超刻的方法:
打开Nero文件-选项-高级 启动DVD超刻 前面打勾,然后确定。数度选择4X,最后,提示刻录失败,其实已经好了。
Last:
自己刻录,自己安装,果然Ok啊,哈哈。
================================================================
centos 6.0已经正式发布了,做为一个大版本的第一个版本肯定有很多问题,RHEL 6.1早发布修补了很多问题,当然还有增强(或增加)了一些功能,所以真正重要生产服务器还是期待centos 6.1的发布,估计下个月底就会发布。
http://qaweb.dev.centos.org/qa/dashboard 预计下周会正式发布下载,且centos 5.7 发布也一样
2011-08-26
centos 5.7官方最新消息称最快7-10天内发布
centos 6.1不太顺利,估计要比5.7晚点
2011-09-01
centos 5.7已经发布了,开始同步外部镜像,估计这两天就可以下载
现在已经有部份镜像点有下载了:
http://ftp.twaren.net/Linux/CentOS/5.7/isos
http://centos.mirror.nexicom.net/5.7/isos/
更多的见:http://www.centos.org/modules/tinycontent/index.php?id=30
按照计划先推出CentOS 6,然后再进行CentOS 6.1的工作。centos。Karanbir表示CentOS 6将在未来的数个星期内发布,而之后的CentOS 6.1只需要几个星期的时间,centos ftp,因为目前CentOS 6的开发branch的自动化和测试流程已经基本完善。centos和rhel。
centos 6.1预15天左右可供下载,可能还得等,官方更新build包日志:http://qaweb.dev.centos.org/qa/blog ,感谢CentOS团队无私的奉献。
在centos 6.1发布之前,centos临时发布了CentOS 6.0 CR Repo,有需要的可以下载用于CENTOS 6.0,同时也说明centos 6.1可能会再次跳票(大家都习惯了吧!)
# yum install centos-release-cr
# yum update
详见:
https://www.centos.org/modules/newbb/viewtopic.php?topic_id=33458&forum=53
http://www.h-online.com/open/news/item/Advance-updates-for-CentOS-6-1-1350302.html