不知道PHP有没有这种东西,某国内的CMS系统代码也真是写的烂,而且架构不清晰。如果有一个基础的内容管理框架,然后在这之上再进行开发,那该有多好啊。
基于zope的cmf应该是个值得参考的东西
Changing Anytime
不知道PHP有没有这种东西,某国内的CMS系统代码也真是写的烂,而且架构不清晰。如果有一个基础的内容管理框架,然后在这之上再进行开发,那该有多好啊。
基于zope的cmf应该是个值得参考的东西
昨天有点不舒服,有点老毛病,但好像还和吃的东西有点关系,回来全倒出来了。之后就倒到床上睡觉了,一般到今天快点8点多才起来。
最近的工作环境有点压抑,难道是我太固执了吗?不会给任何人面子,还是我太不成熟,不善于隐藏呢?不过我相信,这些发生的事情就像《Slumdog.Millionaire》所说的一样It is written。今天至少是一个特殊的日子,但对我来说也不是太特殊,原因是我依然再做以前一样的事情,已经有太长的时间没有被改变了,我是否应该来一次越狱呢,希望我还没有变老。
你是嫁给爱情还是爱人?突然从一部电影中看到的。
哈哈,祝我生日快乐吧。
突然感觉到的,原来一直都不怎么用。
这几天在做一个PHP的模板引擎,这是一个有许多对象的东西,但是在PHP中没有命名空间,所以一般会采用PEAR的命名方法来组织类,这样的话就有许多的类分布在大量的小文件上,这样在加载的时候会造成性能的损失。为了解决这个问题我研究了一下include这个东西,通过查看源码和一些网络上的资料,发现在include和eval在底层实际是同一个东西,如果在一个文件中加载所有的类,这样只要包含这个文件就能获得所有的类了,还能保存不会存在类的命名空间问题。如果再通过apc这类中间码缓存系统,性能应该会更好。
实际上,在ZF1.7中的Zend_Loader就有这样的缓存方案,并且在官方文档的性能优化章节也说明了。
前几天有点小感冒,就去买银翘片,只有24粒,结果要5元RMB。这种药真的有这么贵吗?如果我有能力,我真想….
我不知道我是什么时候开始喜欢关注经济学的,最近看一些经济学家对现在世界当前的危机的一些研究,感觉已经到了非常严重的边缘。
我关注过的和看个其著作的有:宋鸿兵,郎咸平,茅于轼。郎咸平的书还没来得及看,其它两位都看过一本。经济学家们虽然都是研究经济学的,但研究方式都不一样,说起来就是那种百家争鸣的那种感觉。像茅于轼老先生的言论和著作都比较理想化,向大家说道理,但有时候良言不是那么让人接受,所以老人家默默的在做小额贷款,来证明自己的理念。你要想想别人80岁的老人家在通过自己的实践来证明自己的研究。某些网民们就为了开始证明其存在,而破口大骂。一句老话送给这些网民们,人心不足蛇吞象。
知道宋鸿兵最初是看了货币战争这本书,算是对经济战争有了大概的了解,此人的文章看得不多,不过今天刚看了一篇名为《宋鸿兵:金融海啸第二波即将登陆(全文)》的文章,感觉有点意思,6个月后我们来验证下其相似度。
郎咸平其实是我最迟关注的经济学家,也认同其讲的一些原理。感觉这个人比较有特色。
虽然经济学家们都有自己的看法,但你自己怎么去看这些人是你自己的感觉,不应盲目的去追捧某一位经济学家的言论,叫各家之长才是重点。
昨天,突然没事想装个杀毒软件用用,就下载了一个最新的卡巴斯基试用。然后扫描,还找到几个木马之类的东西,之后干掉之。
结果晚上回来开机后,尽然出现蓝屏问题,在自助重启后,键盘不能使用。最终还是重装了一次系统,才解决。马上这台电脑就快过保了,不知道还能用多久。下台电脑一定要买苹果的。
最近,再使用Django发邮件的时候出现一个问题,就此记下。我是通过gmail的smtp来发送邮件的,但在服务器测试的时候发现The read operation timed out的问题,后来在网上一查,原来是Python2.4.3中smtp库的问题,不过这个问题已经在python2.4.4中fix了。
原文在这。
根据官方文档signals一般放在app中的management.py文件中,但我在使用svn中的版本时候,发现通过view的时候尽然不会调用signals,但在命令行和测试中都可以。
如果你也有这样的问题,那么把management.py中的代码放到app的__init__.py中,这样就没有问题。
原来,想实现一个记住我的功能时,需要修改django的代码,因为session中间件对处理记录sessonid的cookie过期时间是写死的。在最新的开发版中,对session对象添加了几个有用的方法,set_expiry(),这个方法根据接受的参数的不同的有不同的效果。
在一般情况下,站点默认使用cookie关闭浏览即取消,当使用记住我的时候,cookie则在某个时间内取消。
首先,需要把SESSION_EXPIRE_AT_BROWSER_CLOSE = True
然后,写个装饰器:
def remember_me(view_func):
def _dec(request, *args, **kwargs):
if request.POST.get(‘rme’) == ‘1’:
request.session.set_expiry(request.session.get_expiry_age())
return view_func(request, *args, **kwargs)
return _dec
其中rme是记住我的表单项,对django.contrib.auth.views.login使用这个装饰器,呵呵这样就在不用修改login代码的情况下添加了记住我的功能。