Oct
7
书籍简介
“冰点”寓意冷静、理性,“冰点的选择”即表明本系列的丛书是以倡导一种冷静、理性为基础的,以传授个人行为选择的思考方式为目的的一套通俗畅销类读物。即可作为个人学习如何让自己的行为选择变得理好,也可以作为思维方式的通俗培训辅导书。本系列共分三本书,分别为《像经济学家一样思考》、《像心理学家一样思考》、《像哲学家一样思考》。分别以经济学、心理学和哲学为学术基础来展示三种不同的但在生活中不必少的思维方式。...
读了第一章节“选择中的成本与收益” ,细细想来还确实如书里所说的,里面提到了几个概念:机会成本、比较优势、边际效应、沉没成本等等。如果光是几个名词解释,那我相信没有几个人愿意静下心来看的。所以书中通过丰富的demo,平实的语言将这些名词解释的非常到位。
机会成本:我现在在上网,那么这段时间,我就不能陪老婆了,所以我上网的机会成本是“失去陪老婆的时间”;但如果是老婆回娘家了,一个人在家无聊,那么我上网的机会成本就是“打发无聊的时间”。所以同样是上网机会成本也会有很大的差别。
比较优势:我是网站编程的,但我觉得学习英语也很重要,于是我花了不少时间在英语的学习上,结果是我丧失了我的优势,因为编程几天不接触就会生疏。而英语刚学习的时候会有不少成就感,但越到后面越困难。所以最后我两样都没有竞争力。因此应该在抓住主要优势的同时,兼顾其他。
边际效应:老子昨天给我100块钱,倍儿高兴;今天又给我100块钱,还是高兴,但是不如昨天;就这样我的高兴感会越来越小,解决办法是给点新的东西或者后一天给的钱比前一天多。
沉没成本:我从出生到现在经常做错事,也没挣到钱,工作也找不着,我很苦恼。从今天开始就不用再苦恼了,因为那都是无法挽回的,而机会永远在未来,所以把握现在才是王道。
道理总是简单的,但有时我们连简单的道理都懒得想,想到了也不当回事,因为太浮躁了,因为现实与自己理想生活的差距。
Oct
6
自己曾经尝试了不少款框架,从最初的fleaphp到cakephp到zend最后到CI,综合看来CI是自由度比较高的,而且运行速度快。
- 在index.php里定义applicaition的path
- config/config.php会被自动载入,里面的变量可以通过$this->config->item('item_name')来取得
- 新建config/mine.php,需要通过$config数组来存储值
- config/autoload.php里面定义一些需要默认被载入的helper、library等等
- 在config/route.php里定义默认控制器的名称
- 在controller里面执行$this->output->enable_profiler(TRUE);来查看POST和SQL信息
- 三种错误处理模式:show_error,show_404和log_message
Oct
4
今天晚上,和lp一起出去逛了逛,发现路边有一个穿戴整齐的年轻女性在乞讨,说是乞讨,其实就是跪在那儿,连头都不抬,用粉笔在地上写了原因:需要5元吃饭钱和路费。
5块钱也不是很多,正好手头也有零钱,和lp商量了一下就准备把钱捐给她,把钱放到她面前(她一直是低着头),她没有任何反应,只是过了一会把钱收入手中,整个过程,我的行动是比较迟缓的,因为我觉得起码你得说声谢谢吧,可是没有,给人感觉,我捐这个钱天经地义,她收得理所当然。
在一旁我们又注意了一会儿,很快又有一个年轻女性向她伸出了援助之手,同样,她还是低着头,沉默是金。
或许是第一次没有经验,她让我这次款捐得不是很爽,怕会落下后遗症,以后见了这种情景, 我怀疑是否还会有善心。
Sep
21
crontab是一个能让你定时执行特定程序的一个软件,运行于linux下。
昨天在测试的时候一直没有能够执行,可把我给郁闷毁了,今天终于被我找到原因了,分享下经验
- 在/usr/lib/cron/cron.deny里出现的用户将不能执行crontab
- 如果在该目录下既没有cron.allow又没有cron.deny,那么只有root用户能够执行crontab
- 在ubuntu下面这个目录应该在/etc下面
- 每次任务执行成功时,会向你的邮箱里发邮件(它是怎么知道我的邮箱的?)
- 如果不想发到邮箱里,可以在任务的最后加上">/dev/null 2>&1"
- 如果要执行gui程序,需要在程序名前加上"env DISPLAY=:0."
- 程序路径最好使用绝对路径
Sep
20
ADOdb是一个php的数据库抽象类,也有python版本,这里讨论的是php版。
老家在:http://adodb.sourceforge.net/主要是为快速开发而设计的,同时兼容各类主流数据库软件。
我比较喜欢里面的active record模式,这个是模仿Zend Framework的Zend_Db_DataObject,最主要的优点就是几乎不用写SQL语句,把主要精力集中在数据的处理上,而不是与数据库的交互上。也就是所谓的ORM
这里只是简要概括一下主要功能,更详细的应用请参考文档
地址:http://phplens.com/lens/adodb/docs-active-record.htm
首先引入两个文件,然后建立ADO连接,并设置默认的适配器
require("../adodb/adodb.inc.php");
$db =NewADOConnection('mysql://root:123456@localhost/test');
ADOdb_Active_Record::SetDatabaseAdapter($db);
然后就可以继承父类了
如果不设置$_table的话,那么数据库的表名就是类名,在这里就是mydb(类名要大写,表名会自动转换成小写)
这样设置了后,就可以很方便地操作数据库了,比如要添加一条新的记录,可以执行
$my_db->title="something new";
$my_db->create = time();
$my_db->save();
需要注意的是,对于数据库中设置的not null的字段,一定不能为null,不然会报错。
查看新插入的id(如果主键是其他值,用该值替换id即可)
如果要更新某条记录
$my_db->load("id=1");
$my->db->titile = "updated value";
$my_db->save();
这样就完成了对id=1的记录的更新
如果要删除一条记录
$my_db->id=1;
$my_db->delete();
这样就完成了删除
如果还要添加自己的方法,可以在Mydb里定义,比如选择多条数据
function GetRows($whereorderby="1=1",$field="*"){
if($field!="*"){
if(is_array($field)){
$field = implode(",",$field);
}
}
$db =& $this->DB();if(!$db) return false;
$rs = $db->Execute("select $field from $this->_table where $whereorderby");
return $rs->GetRows();
}
可以这么调用:
$data = $date->GetRows("id>30","title")
当然也可以自己定义删除多条数据的函数。
就先讲这么多啦,发点牢骚,官方的说明文档真是太简明扼要了,而且有好些功能应该加进去,比如选取多条记录和删除多条记录,而不是让我们在子类中再去实现。
Sep
19
VIM真的是天才的作品,或许正因如此,所以显得有点曲高和寡。
正如学习linux需要记住一堆命令一样,vim也有一堆命令在等着你,刚开始或许会有点别扭,效率也没有多大提高,但是只要能够熟练使用,那么效率很有可能翻好几倍。也正是抱着这个思想,我开始了学习vim的道路。
一开始,当然就是记一些常用的命令,像"dd","x","nG","hjkl","i","^$","u","r","o",".",哈哈,现在我已经记得差不多了,(这篇文章就是在VIM下面编辑的)
然后就是多熟练,多练习,多总结啦。(VIM下面编辑中文还是有点别扭,因为时常需要在输入法之间切换)
很多情况下,需要在vim下编写php代码,但默认的情况下是不会语法高亮的,所以需要输入命令:":syntax enable",当然是在nomarl的模式下,也就是按了ESC后。这样看起来是不是舒服多了。
当然,vim能为我们做得还有很多,比如自动缩进,可以在页面首行输入"=:1,$",然后就会看到代码已经被排列地整整齐齐了。
最后,再来加上代码检查功能,输入命令:":!php -l %"回车即可,但是为了方便起见,我们将它做成快捷键CTRL+S,只需在.vimrc(位于主文件夹下面,也就是~/,如果没有,可以新建一个)输入:map

