学习笔记

今天花在学习上的时间不多,不过也要将做过的事情做一下总结。

写了一个进程监控的程序,可能不太标准,不过看上去已经可以正常工作了,要放到crontab里顶起执行,代码如下:

1
2
3
4
5
6
f='/var/run/maild2.pid' 
if [ ! -f $f ] || test $(ps --no-heading `cat $f` | wc -l) -eq 0
then
ruby /home/bobhero/project/smzdtx.com/www.smzdtx.com/script/maild2.rb&
echo $! > $f
fi

今天看到了PHP手册中关于流程控制语句的部分,把一些以前没有注意到的部分记录一下:

return可以放在全局环境中,会结束脚本,也可以在被include的时候返回值;

以下两个语句作用是一样的

1
2
foreach ($arr as $key => $value)
while (list($key, $value) = each($arr))

另外list()可以用来解开数组,foreach可以遍历对象的可见属性,并且可以通过Iterator 接口进行定制。

我之看了好多关于require和include之间区别的内容,原来手册里简单一句话就说明白了,原文是这样的“require 和 include 几乎完全一样,除了处理失败的方式不同之外。require 在出错时产生 E_COMPILE_ERROR 级别的错误。换句话说将导致脚本中止而 include 只产生警告(E_WARNING),脚本会继续运行。”

今天就到这,刚刚终于成功把训练强度增加了50%,尝试了好几天终于如愿以偿,继续坚持。

学习笔记

从今天开始写技术笔记,为了总结,记录和达成目标。

今天解决了几个棘手的问题,一个是什么值得监控(http://smzdtx.com PS:目前内测阶段)的ruby脚本在crontab下执行失效的问题,情况是用ruby编写的监控脚本手动执行成功,但是在crontab下执行失败并且没有错误提示,跟踪代码发现问题出现在加载了带有中文的邮件模板文件之后,调用gsub方法的时候程序终止,并且无错误信息,经过一番寻找发现问题出在编码上,将读取内容加上.force_encodeing(‘utf-8’)即可,并且在程序头标识了文件编码# - - encoding: utf-8 --;另一个问题是邮件进程异常终止,后来发现是邮件模板中存在字符\r,进行了删除和替换。

今天发现了crontab按秒执行的方法,以下是一个半分钟执行一次的例子:

1
2
*/1 * * * * command 
*/1 * * * * sleep 30 && command

把标准输出和标准错误从定向到指定文件的方法是:

1
command > filename 2>&1

另外今天还读了一些PHP手册的内容:

  • declare命令是一个从来没见过的指令,作用是指定编码或者每n行代码执行事件。
  • 了解了位操作符&与,|或,^异或,~非,<<,>>, 并且第一次发现我一直遗忘了一个xor(异或)的逻辑操作符,还有了解了E_ALL ^ E_NOTICE的位操作原理。
  • 使用反引号“"可以执行系统命令,这样就简单多了,不用总是exec,比如$output =dir`;
  • 字符也是可以进行自增操作的,今天也是第一次知道 ‘A’++// B
  • 之前在百度遇到的关于global的面试题也在手册里得到了解决,global是可以放在全局中的,是为了让该变量在function中被引用(include)时起到作用。
  • 另外一个在新浪面试遇到的问题是表达式的返回值问题,$a = 5; 涉及到3个值,一个是整数5, 另一个是$a的值,还有就是该表达式本身的值。

今天还下单了两本书《redis入门指南》和《银河系漫游指南》。

泰山 2014.5.2

这次匆匆离开家,也不知道自己是怎么了,感觉自己再也忍受不了那样的生活,再多一刻,便会疯掉。阴差阳错,一个人来到了泰山,下车的时候天已经黑了,也不知是哪根筋接错了,停留了没多久就踏上了去往泰山的公共汽车。

22:00到达红门,第二天11:30下山,一共历时13.5个小时,看日出耽误了两个小时,背着我那个二十斤的背包,还有这十几天都没好的感冒,下山之后感觉整个人要散架了,又渴又饿又累又困,腿软的不行,今天已经是下山之后的第四天了,才刚刚可以下楼梯。

五一出行太多不便,到处都是人,低头是人,抬头是人,左边是人,右边也是人,好想找个地方躲起来。

徒步净月潭国家森林公园

今年的自学考试结束后终于有时间出去走走了,所以计划今天徒步长春净月潭国家森林公园。公园内公路全程大概20公里左右,一共用了5个小时,包括途中去瓦萨博物馆参观,吃午饭的时间,还有后半段穿越树林,我们还在树林中看到了一头鹿。

win8中摄像头无法使用的解决办法

今天想给我的微信公众平台做认证,需要拿着身份证进行拍照,用惯了xp之后在我的电脑里怎么也找不到相机。

后来在平板模式下有一个“相机”应用,但是进去之后看不到图象,显示如下:

camera-no

在网上找了很多内容,大概有几种说法:

1)需要在设置中打开privacy,详见:http://forum.51nb.com/thread-1302921-1-1.html,但是我根据文章所说并没有在我的系统中找到那个执行程序。

2)驱动问题,解决办法是去驱动之家或者用驱动精灵或者品牌官方网站进行驱动检测和安装。

3)权限问题,在相机应用界面下打开设置〉权限〉打开相机和麦克风的开关。

4)在平板模式的Settings里进行设置,最终我是用这个办法解决了这个问题,需要注意的是进入Settings之后需要根据提示进行一次安装,安装完毕才会出现下面这些设置项:

lenovo-settings
camera-settings