2008年06月23日

我工作上这段在用python开发,说说自己的感受。
  
  首先,对python的总体评价,是非常正面的。
  
  以前用C++开发,用过python和twisted后,再也不想去碰C++了,用python真是太方便了。开发效率大幅提高,生活质量也跟着提高了……
  
  但是,作为一个严肃开发者,python语法还有有点太不严谨了,很多东西,实现起来的逻辑不统一,可以说,没有一个统一的哲学,当然了,造成这种现象的原因肯定是两个字:历史。又要兼容又要发展,最后形成的东西,对于初次接触的人来说,肯定不爽。
  
  我用过c++/java/c#,感觉他们的设计在哲学上比较统一,尤其是后面两个比较年轻的,更是很典范。C++也很古老,但是他的哲学还是很统一,所以,光用历史来说python也是有点开脱的嫌疑。
  
  python3000不知道能有何改观,我没深入研究它的路线图,但是听说解决了一些历史问题,期待着它……
  
  说到web开发,python这块我在看django,感觉他很干净,很内聚,很舒服,公司在用turbogears,我感觉,很恶心,乱七八糟的。我自己的开发逻辑,宁可功能少点,也不能把软件做得乱七八糟。

  如果真是做我自己的网站,我会考虑php的框架symfony,在试用过程中,我觉得它的开发者为广大开发者想了很多,感觉比django成熟,它也从django借鉴了不少东西,当还还借鉴了ror。为什么选symfony呢,因为:php的主机so便宜,python的主机so难觅。

2008年04月22日

Just a quicky, as I had to spend 10 mins looking this up hopefully it’ll save someone else time later.

I need to retrieve a random user from the users table, but didn’t know how to express a random record… this method will return a single random user, or can take an argument to return more than 1
UserPeer

	public static function getRandomUsers($num=1){		$c = new Criteria();		$c->addAscendingOrderByColumn('rand()');		$c->setLimit($num);		$users = UserPeer::doSelect($c);		return $users;		}
2008年01月13日

建立完Symfony工程后,要在Apache里建立虚拟主机指向他的web目录,而且要做sf这个别名,配置文件例子如下:
<VirtualHost *:80>
    ServerAdmin webmaster@symfony
    DocumentRoot "E:/workspace/weblog/web"
    Alias /sf C:/php5/PEAR/data/symfony/web/sf
    ServerName symfony
    ServerAlias www.symfony
    RewriteEngine On
    RewriteOptions Inherit
    ErrorLog "logs/symfony-error.log"

    <Directory "E:/workspace/weblog/web">
        Options Indexes FollowSymLinks
        AllowOverride None
        Order allow,deny
        Allow from all
    </Directory>

    <Directory "C:/php5/PEAR/data/symfony/web">
        Options Indexes FollowSymLinks
        AllowOverride None
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>