Press "Enter" to skip to content

Posts published in 10月 2007

随笔:Django升级,Ubuntu DVD版

昨天晚上闲着没事,跑到Django的网上看了一下,居然正好发布了一个重要升级,对于0.95和0.96稳定版,还在svn trunk版,都有一个严重的拒绝服务漏洞(在开启了国际化和localMiddleware的双重前提下),很不幸的是,理财易正好符合这个条件,于是准备升级。官方的1.0始终不发布,每天十几甚至几十个bug fixed,还有新的改进,心想这次干脆直接升级到svn版得了,因为比起0.96已经过了四个多月了,功能上和性能上都有了相当大的改进。

于是在自己的开发机上下载了trunk里的django,安装上去,本地测试一下程序,没有问题,于是登录到理财易的服务器上,下载了trunk里面的django,安装,然后做了一件傻事,直接重启了理财易的服务,而不是测试环境的服务,结果,恶梦发生了,网站进不去了。于是赶紧切换到测试环境,显示500错误,一开始是提示我使用的那个DualSessionMiddleware加载错误,进入django的session部分一看,它的middleware发生了重大变化,SessionWrapper类不存在了!天哪。

赶快修改settings文件,切换回系统的Session模块,再打开,还是500错误,而且,根本不显示任何的错误信息了,只有一个IE自己的500错误。来到服务器上看errors.log,没有任何信息。马上下载回0.96.1,安装,重启,还是500。汗都要出来了。怀疑是不是没删除原来的直接安装的问题,于是来到Python的Lib目录,删光了django相关的文件,重新安装django trunk,重启,还是500错误。再删一次,重新安装0.96.1版本,再重启,哇,恢复了。

经过这惊魂10分钟,情绪稳定下来以后,来到网上查找相关的资料,没有任何地方提到1.0版把SessionWrapper搞到哪里去了。而我根据新的session middleware重新修改了那个DualSessionMiddleware类,结果还是500错误,不知道是哪里的问题。而我在开发机上的环境却一切良好,即使是使用1.0版的django。见鬼了。(服务器使用的是lighttpd+FastCGI,开发机上没有这个,只是使用manage.py runserver的临时服务器。)

什么是真正的中文编程

最近cnbeta上面汉语编程和徵剑的对抗已经成了07年另一大娱乐事件,互相批评的文章加起来已经有15篇了。谁对谁错我没有资格去评判,所以仅从中文编程(我不想提汉语编程这个词,以免被人利用)本身说一下。我的上一篇谈中文编程的文章在Sohu博客上遇到了一个较真的博友,似乎在力图向我证明易语言的确是中文编程未来的方向,而且通过cnbeta的评论,不少网友也比较认同易语言的实现方式,只是一味的在批判汉语编程的抄袭行为和炒作行为。那么,我就从易语言的角度来看看,中文编程应该做成什么样?

从程序员的角度来讲,易语言实现了很多个突破,比如全编译,还有可以在Windows平台下编译成Linux下的执行程序,这些都是易语言自己宣传的重点。(其它的特点比如操作COM,操作数据库,那都是一门编程语言必须具备的功能,就不用说了)。据我所知,目前只有Delphi做到了全编译,不管你引用到了多少个VCL类库,最后都可以编译成一个独立的exe文件,并且能够在一台全新安装的计算机上跑起来。VC和VB都需要一个很大的dll,后来微软把这些dll打包在了Windows里面,才算解决了问题,过了许多年,人们都几乎以为它们不需要别的支持了。

假如我现在有一个伟大的理想,要做一个让中国人都会用的编程工具,能够最大程度的降低学习成本,最快的写出自己所需要的软件,那么,我需要做什么?

根据这个目标,我假设我的用户是这样一个人:年纪50岁左右,对英语一窍不通,有正常的思维习惯,已经有了良好的电脑使用习惯,知道什么叫操作系统,什么叫软件,一个软件里面什么叫窗口,什么叫按钮,什么叫文本框,什么叫输入,什么叫输出。会打字(当然,仅限拼音)。有正常的数学能力(不包括高等数学)。假如我自己经营了一个小杂货店,自行管理进销存,现在准备写一个软件来管理我的进货和销售,以便计算我一年能赚多少钱。(以我的父亲为样本)。

为了方便起见,以下的第一人称改为该用户身份。

首先,在我准备写软件之前,我需要做一些准备,我当然不会指望打开软件马上就能开始写软件了,我需要知道一些写软件的基本概念,知道程序是按钮怎样的逻辑来运行的,知道我的代码应该按照什么样的逻辑写出来。既然要大大降低学习成本,那么,应该尽量的向我的真实思维靠近,我才能最容易的接受这样的写软件的过程。

Django:更简单的实现记住密码功能

Django的设计里,Session的保存是借助Cookie的,Cookie的保存默认有两种周期,浏览器生命周期和14天周期。这两者的选择在settings.py里面的一个参数,设成True就是前者,设成False就是后…

百度的C2C能玩出什么新花样?

前段时间看到百度要出自己的IM业务的时候,觉得还比较靠谱,而且觉得网友杜撰的那个“百小声”的名字相当的有深度。可惜后来被百度证实是假新闻。如今,突然又看到了铺天盖地的百度要出C2C的新闻,如此高的媒体覆盖率,而且处处引用…

威客网存在的问题与建议

今天跟朋友在路上闲来无事,从Web设计中的用户角色对网站结构和界面的影响,谈到了k68.cn那粗糙的界面。它为什么不做个漂亮一点的界面呢?没有开发人员还是开发很有难度,肯定都不是,因为它的首页已经改的比较令人赏心悦目了。…

用Bugols管理自己的项目

假如你是一个开发人员,假如你通过威客网站比如k68.cn来接一些单子,或者是通过朋友介绍或者个人魅力找到了一些小项目来做; 假如你是一个开发团队,你们希望自己做项目的过程更加标准化,希望用户能够通过你们专业的流程信任你们…