天高云淡,让心情旅行。 注册 | 登陆
浏览模式: 标准 | 列表全部文章

sed多目录替换

sed用得不多, 每次用都忘记相关参数, 记录下来.

单个文件替换:

sed -i 's/aaa/bbb/g' filename

多目录多文件替换:
grep -lR 'aaa' * | while read filename;
    do sed -i 's/aaa/bbb/g' $filename;
done;

Tags: sed

利用SSH反向隧道 穿透防火墙

一般情况

内网(A服务器)是可以上网的, 但是外网(B服务器)是不能访问内网的.

linux下借助SSH隧道可以轻松的透过限制.

ssh -nNf -R 127.0.0.1:8083:127.0.0.1:80 loginname@B.hostname

即在 B服务器监听8083端口, 将此端口的所有数据转发到 A服务器的80端口.

firefox下 图片不存在显示小叉的办法

firefox下 图片不存在显示占位符的办法

网页调试工具firefox是首选了, 但是有一个很大的缺点:
 当图片不存在时, 图片就不现实了, 空白的. 调试一点都不方便.

有办法可以跟IE一样显示不存在图片占位符.
进入 %appdata%\Mozilla\Firefox\Profiles\ 目录
里面有一个文件夹, "XXXX.default" XXXX 不同电脑名字不一样

 

» 阅读全文

Tags: firefox

PHP如何捕获Fatal error

Fatal error 一般是不需要捕获的, 但是在一个复杂的程序中, 如果偶然出现内存不足导致fatal error就难以处理了.

比如. fatal error 出在MySQL类中fetch的时候. 这个时候就很难定位到真正问题所在了.

 

PHP异常处理中 可以通过set_error_handler来捕获. 但是却只能捕获 NOTICE/WARNING级别的错误, 对于E_ERROR是无能为力的.

register_shutdown_function 能解决set_error_handler的不足.

通过此函数注册好程序结束回调函数, 就可以捕获平时捕获不到的错误了. 再通过 error_get_last 对错误进行判断. 就容易找出难以定位的问题了.

 

PHP代码
  1. function shutdown_function()  
  2. {  
  3.     $e = error_get_last();    
  4.     print_r($e);  
  5. }  
  6.   
  7. register_shutdown_function('shutdown_function'); 

 

 

Linux时间同步设置

1.首先需了解linux内一任务计划工具crontab

crontab可以定时去执行你要做的动作

直接用crontab命令编辑
crontab -u // 设定某个用户的cron服务,一般root用户在执行这个命令的时候需要此参数
crontab -l // 列出某个用户cron服务的详细内容
crontab -r // 删除某个用户的cron服务
crontab -e // 编辑某个用户的cron服务

一般使用crontab -e来编辑一个计划动作,编辑模式同vi编辑器相同

crontab内的基本编辑格式如下

*  *  *  *  *  command
分  时  日  月 周   命令

第1列表示分钟1~59 每分钟用*或者 */1表示

第2列表示小时1~23(0表示0点)
第3列表示日期1~31
第4列表示月份1~12
第5列标识号星期0~6(0表示星期天)
第6列要运行的命令

crontab文件的一些例子:

30 21 * * * /etc/init.d/smb restart
上面的例子表示每晚的21:30重启smb 。

45 4 1,10,22 * * /etc/init.d/smb restart
上面的例子表示每月1、10、22日的4 : 45重启smb 。

10 1 * * 6,0 /etc/init.d/smb restart
上面的例子表示每周六、周日的1 : 10重启smb 。

0,30 18-23 * * * /etc/init.d/smb restart
上面的例子表示在每天18 : 00至23 : 00之间每隔30分钟重启smb 。

0 23 * * 6 /etc/init.d/smb restart
上面的例子表示每星期六的11 : 00 pm重启smb 。

* */1 * * * /etc/init.d/smb restart
每一小时重启smb

* 23-7/1 * * * /etc/init.d/smb restart
晚上11点到早上7点之间,每隔一小时重启smb

0 11 4 * mon-wed /etc/init.d/smb restart
每月的4号与每周一到周三的11点重启smb

0 4 1 jan * /etc/init.d/smb restart
一月一号的4点重启smb

2.寻找一个网络时间服务器,比如一些国家授时中心

» 阅读全文

Tags: linux

高性能javascript-数据访问

高性能javascript-数据访问

  • 访问直接量和局部变量的速度最快, 想法, 访问数组元素和对象成员相对较慢
  • 由于局部变量存在于作用域链的起始位置, 因此访问局部变量比访问跨作用域变量更快. 变量在作用域链中的位置越深, 访问所需时间就越长. 由于全局变量总处在作用域链的最末端, 因此访问速度也是最慢的
  • 避免使用with语句, 因为它会改变运行中上下文作用域链. 同样, try-catch语句中的catch子句也有同样的影响, 因此也要小心使用
  • 嵌套的对象成员会明显影响性能, 尽量少用
  • 属性或方法在原型链中位置越深, 访问它的速度就越慢
  • 通常可以把常用的对象成员, 数组元素, 跨域变量保存在局部变量中来改善js性能

Tags: javascript

高性能javascript-加载和执行

高性能javascript-加载和执行

  • </body>闭合标签之前, 将所有的<script>标签放到页面底部. 这能确保在脚本执行之前页面已经完成了渲染
  • 合并脚本. 页面中的<script>标签越少, 加载也就越快, 响应也更迅速. 无论是外链还是内嵌.
  • 无阻塞下载javascript的方法:
    • 使用<script>表情的defer属性 (仅IE, FF3.5+)
    • 使用动态创建的<script>元素来下载并执行代码
    • 使用XHR对象下载javascript并注入页面中

Tags: javascript

用PHP 检测手机类型

用PHP 检测手机类型.

支持的手机挺多的. 不多说 看附件中的代码吧.


官方链接 http://detectmobilebrowsers.mobi/

附件: mobile_device_detect.zip (7.41 K, 下载次数:159)

记录总数:31412345678910»