shell, 笔记Jun 2nd,2009飞扬轻狂
freebsd 7.2
根据提示进行安装 并选择最小安装
在进行系统配置时
* 关闭ssh外的所有服务
* 配置ip地址 配置时区
* 添加普通用户用来远程连接ssh,设置组为 wheel 这样可以使用su访问root
* 设置管理员密码
开启用户的su权限,使用su命令的用户必须存在与wheel组中
# pw groupmod wheel -m username
检查用户是否正确的添加到组中
# pw groupshow wheel
mount cdrom 映射光驱
# ll /dev/acd*
> acd0t01
# cd /cdrom
# touch CDROM-NOT-mounted-mcd.txt
# mount -t cd9660 /dev/acd0t01 /cdrom
- python
安装python
# cd /cdrom/packages
# pkg_add -p/home/app/python25 /cdrom/packages/python/python25-2.5.4_1.tbz
映射命令
# ln -s /home/app/python25/bin/python /usr/local/bin/python
– require
bsddb databases/py-bsddb
gdbm databases/py-gdbm
sqlite3 databases/py-sqlite3
tkinter x11-toolkits/py-tkinter
# pkg_add -p/home/app/sqlite3 /cdrom/packages/databases/sqlite3-3.6.11.tbz
映射错误的链接库
# ln -s /home/app/sqlite3/lib/libsqlite3.so.8 /usr/local/lib/libsqlite3.so.8
# cd /usr/local/lib/
# ln -s libsqlite3.so.8 libsqlite3.so
映射命令
# ln -s /home/app/sqlite3/bin/sqlite3 /usr/local/bin/sqlite3
- emacs 安装emacs编辑器
# pkg_add -p/home/app/emacs /cdrom/packages/editors/emacs-22.3.tbz
# ln -s /home/app/emacs/bin/emacs /usr/local/bin/emacs
解除绑定的光驱
#umount /cdrom
注:通过pkg_add 自动获取安装包
# pkg_add -r python
-r 选项将导致pkg程序自动从配置的packages网络镜像获取指定应用最新的安装包
[:p] –飞扬.轻狂 [fallseir.lee]
http://fallseir.livejournal.com
http://feed.feedsky.com/fallseir
php的多分支控制
– 原文 (飞扬轻狂,fallseir) 20090427
==== php的多分支控制 ====
### if 方式 实现多分支控制
if(runStep(1)){
if(runStep(2)){
if(runStep(3)){
# all steps are success!!
}else{
# step 03 is failed!
}
}else{
# step 03 is failed!
}
}else{
# step 03 is failed!
}
# some others steps
### if 方式 2 实现多分支控制
$r=0;
if(runStep(1))
if(runStep(2))
if(runStep(3))
else $r=3;
else $r=2;
else $r=1;
if($r){
# step $r is failed!
return false;
}
# some others steps
### do..while(false) 方式 2 实现多分支控制
do{
if(!runStep(1)) # step 01 is failed!
break;
if(!runStep(2)) # step 02 is failed!
break;
if(!runStep(3)) # step 03 is failed!
break;
# all steps are success!!
}while(false);
# some others steps
### switch(true) 方式 2 实现多分支控制
switch(true){
case !runStep(1):
# step 01 is failed!
break;
case !runStep(2):
# step 02 is failed!
break;
case !runStep(3):
# step 03 is failed!
break;
default:
# all steps are success!!
break;
}
# some others steps
### try..catch 方式实现
try{
if(!runStep(1)) throw new SomeError(1); # step 01 is failed!
if(!runStep(2)) throw new SomeError(2); # step 02 is failed!
if(!runStep(3)) throw new SomeError(3); # step 01 is failed!
# all steps are success!!
}catch(SomeError $ex){
# step $ex is failed!
return false;
}
# some others steps
php, 小代码
使用反射 实现的 简单的 单元测试框架
– 原文 (飞扬轻狂,fallseir) 20090427
==== generalized test methods use introspection ====
class customClass{
function selfTest(){[..] return [message|false]}
}
class tester{
function test($thing){
if(is_object($thing)){
if(method_exists($thing,'selfTest')){
$this->handleTest(call_user_method('selfTest',$thing));
}
}else if(is_array($thing)){
foreach($thing as $component){ $this->test($component); }
}else{
;//ignore if not an array or object
}
}
function handleTest($result){if($result)print "Warning $result";}
}
参考:
John.Wiley.and.Sons.PHP5.and.MySQL.Bible
php, unit test, 小代码
feedsky, testApr 7th,2009飞扬轻狂
测试FEED 点击广告

feedsky
提供的内嵌式 feed 点击广告开始测试了
发篇文章来测试 多少个阅读器中可以看到它..
虽然一直在网上 但好久不在意网络了
在google reader中看到大家在议论GTD
好炫的名字啊 我都不知道这个是什么东西 (囧~ 亏你还是做IT的呢)
赶快去下了本《尽管去做–无压工作的艺术》瞧了下
看了头一章 就上来把自己的想法先记下来 免得时间久就丢了
(晕死,WP竟然上传图片有问题… 算了懒得去看是什么原因了 )
上面是一张简图 描述了大脑的思维和行事历之间的关系(偶自己的理解,和书中可能不大相同,我才看了一章…)
1、这里把所有不能决定的和没有决定的事情都称作 待办事项
2、在空闲或计划处理待办事项的时间对存在于待办列表中的事情进行 转化
3、觉得没有必要的就直接划掉丢弃
4、短时间内能完成的就直接 执行 处理了
5、需要长时间处理的就放在计划列表中根据优先级排序
6、不能判断的就继续留在待办列表里
7、设定一个提醒装置 到期进行提醒(比如短信、Mail或及时聊天工具中的消息)
8、当有突然出现的事情发生时,直接将它们记录为待办事情(不丢失又最少的影响当前的事情)
9、当有高优先级的任务需要处理时,暂停当前执行的事情并在行事历中标注,着手转化这个插进来的任务
通过这种方式最大限度的让大脑中只考虑当前执行中的事情 而不需要因为考虑其他的事情而分神
并把零散的随机出现的待办事项集中处理
从上面的内容可以看到 当前只是解决了思维被占用和干扰的问题,但并没有提出对因工作边界模糊,需求不定而产生的问题的解决方式,也问题被集中到了转化部分
参考:
GTD,Getting Things Done
《Getting Thing Done - The Art of Stress-Free Productivity》 — David Allen
行事历, GTD