2014.6.1-2014.6.3
很久之前就想去草原看一看,这次终于成行,可惜不是我之前计划的摩托车游,也不是骑马游,而是四个人一起包了一辆捷达,不过驾照还没拿到手,下次,下次一定亲自载着朋友们去草原上走一走。
行程单如下:
第一日:海拉尔-世界反法西斯战争海拉尔纪念园-达尔吉林寺-莫尔格勒河-拉布达林-根河湿地-白桦林-恩和
第二日:恩和-哈乌尔河-室韦-临江
第三日:临江-莫尔道嘎-德尔布尔-敖鲁古雅部落-海拉尔
出游归来,游记稍后进行整理,先整理一些技术方面的问题。
两周之前花了一点点时间研究了JS压缩工具 closure-compiler 和 YUI Compressor,主要用来压缩合并javascript代码和文件,YUI简单易用,closure稍微有点复杂,参数和用法也比较多,而且有很强大的解析引擎。
这两天看了《redis入门指南》,好多问题豁然开朗,有了Redis妈妈再也不用担心我的性能了,以下redis特性:
PHP5.3和PHP5.4的有太多的新特性,还需要慢慢消化,最近关于PHP的一些内容:
今天花在学习上的时间不多,不过也要将做过的事情做一下总结。
写了一个进程监控的程序,可能不太标准,不过看上去已经可以正常工作了,要放到crontab里顶起执行,代码如下:
1 | f='/var/run/maild2.pid' |
今天看到了PHP手册中关于流程控制语句的部分,把一些以前没有注意到的部分记录一下:
return可以放在全局环境中,会结束脚本,也可以在被include的时候返回值;
以下两个语句作用是一样的
1 | foreach ($arr as $key => $value) |
另外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 | */1 * * * * command |
把标准输出和标准错误从定向到指定文件的方法是:
1 | command > filename 2>&1 |
另外今天还读了一些PHP手册的内容:
"可以执行系统命令,这样就简单多了,不用总是exec,比如$output =
dir`;今天还下单了两本书《redis入门指南》和《银河系漫游指南》。