新年总结,还有附一个YII框架部署到 新浪 SAE 平台.

最近这段时间比较忙,忙着换工作,忙着自我提高.
也许人比较浮躁,什么东西都想折腾一下.结果到现在一个能拿得出手的东西都没有..
哈哈.
去年(前年?)发布过yiicms1.0,后来有些朋友跟我提及用yiicms做了二次开发,挺感慨的.
因为后来,YIICMS偷偷做了改版,后台用了独飞那个dwzinterface扩展,基于dwz的jquery的js框架,UI上是美观了点.
但是作为一个程序员,还是觉得1.0版本的yiicms界面比较简洁,速度也够快,没有那么多js.
之前由于某种原因,把google code上的托管的yiicms删掉了,有空会把两个版本再放回去.

差点忘记说了,还有个yiisns,也是以前在练yii的时候折腾出来的有亲爹没娘养的东西,现在人人都去搞微薄,搞团购去了.

年前的时候,研究了一下nodejs,看一下palm的webos开发(现在,palm被HP收购了,自己拿着的手机也可以说是HP,不怕被人说是山寨货=_=).
原来雄心勃勃想折腾一个飞信,唉… 后来在google上找到一个python的pyfetion又翻了翻代码. 什么都没做.

最近又看了几本关于产品经理的书,有王坚的<<结网>>, 苏杰的<<人人都是产品经理>>,又爱上了研究产品,把写文档当成一种乐趣.
有空的时候还上上”褪墨”,找一些关于GTD的资料,职业规划,习惯养成的东西.
=================================================================

http://yiis.sinaapp.com/

配置检查 http://yiicms.sinaapp.com/yii1.1/requirements/
BLOG DEMO

新浪的SAE,之前也稍微关注了一下,但那时候有”两个不支持”,这个也不支持,那个也不支持.
不过,随着技术的越来越完善,很多东西也能够很方便的迁移过去. 比如YII的框架,折腾了几天,终于弄出个可以运行的BLOG DEMO了.

由于数据安全性等原因,SAE不支持本地写入文件.但是SAE提供了Tmpfs临时文件和Wrapper两种方式来解决这个问题.

SAE对I/O处理做了限制,说一下遇到的几点问题,
1.YII的assets机制,现在这部分是保存在Storage中,查了不少文档,调用SAE的类来COPY文件
2.protect/runtime, 这部分保存为Tmpfs.
3.cache,稍微改了一下CMemcache,使用SAE的memcache_init();

这里面,还有许多性能问题,有待解决.有空再继续.

Yii AR 单行数据-自动LOG机制 CActiveRecordBehavior进阶

很多时候,做程序都需要有操作历史记录,特别是权限划分比较细的系统。
经常需要查看操作记录,某某人进行了什么操作,什么数据做了改动。
甚至有时候,需要对某条数据对版本回溯

如果,针对每种都做程序,无疑是很浪费时间的。
我们可以利用Yii中AR的CActiveRecordBehavior 事件行为,对每次数据操作后,做一次LOG数据记录。
继续阅读Yii AR 单行数据-自动LOG机制 CActiveRecordBehavior进阶

Yii AR 单行数据-自动缓存机制

本文的目的是通过使用Yii的Cache机制,在对AR MODEL的单条数据做one::model()->findByPk()的时候,优先读取缓存数据,如果不存在再去链接DB做数据读取。

AR自动缓存

相关的YII类:

  • CActiveRecord
  • CActiveRecordBehavior
  • cache

继续阅读Yii AR 单行数据-自动缓存机制

关于PDO::__construct()的[2002] 非法的参数 (trying to connect via unix://)

最近使用YII 框架做项目,在windows下测试ok,上到服务器发现bug一大堆,于是在电脑上装了个ubuntu.保持工作环境一致。
用的是xampp(在linux叫lampp)。
于是问题来了,抛出错误

解决方法,在db config中,将mysql的host从localhost改为127.0.0.1
‘connectionString’=>’mysql:host=127.0.0.1;dbname=school’,
//’connectionString’=>’mysql:host=localhost;dbname=school’,

题外话,ubuntu9.10,登录界面做得很酷