原来 Gaim 改名 Pidgin 了

自从有了 firefox 的 chatzilla 插件,就一直没用 Gaim 了。由于 Zend Framework 的官方 chat room 使用的是 jaber,只好装回 Gaim。上官方一看,Gaim 已经改名 Pidgin,已经是 2.02 版本。支持的通讯协议也增加了不少。QQ 也被列为官方支持的协议,而不是一个三方插件。

试用了一下,比以前快了不少。同时也稳定了一些。不过 QQ 的功能很弱,不支持自定义表情有些不爽。

主界面

账户列表

又被番茄发现 Zend_Db_Select 的 Bug 了

如果找到 Zend Framework 的 Bug,Zend 公司给发钱,恐怕项目组的兄弟们能出去挫好几顿了。

废话少说,这次的 Bug 比较弱智。绝对是粗心大意引起的。少了一个参数,造成使用 join 方法时报找不到表的错误。

Index: Select.php

===================================================================

— Select.php    (revision 5792)

+++ Select.php    (working copy)

@@ -417,7 +417,7 @@

      */
     public function join($name, $cond, $cols = ‘*’, $schema = null)
     {
–        return $this->joinInner($name, $cond, $cols);
+        return $this->joinInner($name, $cond, $cols, $schema);
     }
 
     /**

 

发到邮件列表上没人理。唉!算了!这种事情,自己动手丰衣足食。改一下,直接提交了svn。还好,之前申请的 zend framework 的 svn 帐号这回派上用途了。

ninny Project 的数据库完成向 mysql 5.0 的迁移

升级为 PowerDesigner 12 来维护逻辑表果然方便多了,可以随意生成 Oracle 10g 和 mysql 5.0 的物理表。在修改了配置文件之后,我惊喜的发现原来一行代码也不需要修改,就完成了迁移工作。Zend Framework 的数据库部分的设计果然可圈可点。

由于服务器自身的限制,以 Oracle 作为数据库的版本无法提供演示和下载。所以迫不得已只好再维护一个 mysql 5.0 的数据库版本。PowerDesigner 真的是利器,逻辑表不需要任何修改就可以生成 mysql 版本的物理表。如果大家有类似的迁移需求,推荐大家也用一用这个。等有钱了,一定买一套正版回来用。

修改了资源权值和角色权值为添加时间戳,这样可以省掉维护两个触发器。PowerDesigner 12 好像还不能编写 mysql 5.0 的触发器。或许我需要手工添加一些规则才可以再 PowerDesigner 中直接编写 mysql 的触发器。不过不管怎么样,现在不需要触发器也可以按正常的权值构造 ACL 对象了。

下一步的计划就是构造一个后台管理,将资源、角色、权限、用户等的管理都放到后台中进行。

PowerDesigner 12 试用版一直使用下去的方法

大学时候经过导师推荐,我是一直从 9 用上来的,感觉不错。11 版本对 mysql 支持不好。12 已经支持到了 mysql 5。虽然现在更多工作在 Oracle 下,但是 mysql 似乎还是无法彻底扔掉。所以找来 12 用用。

Power Designer 12 官方下载地址:URL http://download.sybase.com/eval/PowerDesigner/powerdesigner12_eval.exe

破解方法不是我搞出来的,放到这里纯粹备忘。请诸位访客忽略下面的内容。

PowerDesigner 12 通用破解方法

修改安装目录下的pdflm12.dll文件,使用二进制编辑器打开此文件,查找:83 C4 14 8B 85 E4 FE FF FF将此字符串改为83 C4 14 33 C0 90 90 90 90

 修改好的文件

如何正确的编译 Zend Framework 手册的 chm 版本

或许早就应该写一下这个方法了,只是一直没有什么心情。这会休息,就随手敲打敲打吧。

由于我的环境是 windows,所以需要额外安装一些辅助软件。windows 下编译 docbook 的方法有许多种。我以前使用 java 写的一个工具,不过后来发现 cygwin 比较方便。

详细的 cygwin 以及 docbook 编译必须的包请看 hohappy 编写的指南:http://www.phpeye.com/article/view/id/55

废话不说了,现在看看如何编译chm。首先需要编译 chm 对应的 xsl。我使用sf.net 下载的 docbook-xsl-1.72.0。其中包含 /htmlhelp/htmlhelp.xsl。 Continue reading 如何正确的编译 Zend Framework 手册的 chm 版本

关于7月15日腾讯活动的一些反面观点

我这个人是不是太爱唱反调了?呵呵,管他呢。

言归正传。大家先看一帖:http://www.phpchina.com/bbs/thread-30529-1-1.html

首先,小路这帖总结写得,实在是天花乱坠。很多没有参加的朋友看了一定口水直流:腾讯技术使用状况、PHP 的设计模式、PHP 框架的使用、大负载缓存……但是我认为这次聚会就技术而言是失败的。请注意,仅仅是技术而言!

那就先说说腾讯技术使用状况这个话题吧。听完这个使用状况,对于我来说印象最深的就是腾讯 50 亿美金的市值。没错,是这个。至于其他的内容,不知道是美金太吸引我,还是介绍的时候轻描淡写一带而过,反正我没看到腾讯在 web 应用整体技术架构上的闪光点。反而,在一些细节技术上用得非常粗枝大叶。比如拥有众多 C 程序员的腾讯在分流服务器同步上使用的是 shell 脚本实在令我费解;而在 mysql 本身提供了memory table 的前提下,又用 C 编写了一个带有 SQL 查询功能的 cache。当然,架构的细节可能由于一些原因,不能让大家一窥,但是就透漏出来的信息,无法体现腾讯的技术亮点。 Continue reading 关于7月15日腾讯活动的一些反面观点

为提升便利性,为 ninny Project 添加两个脚本工具

工具存放地址:svn://www.i-fang.com/IfangSites/trunk/app/bin

说明:这些工具是为快速开发编写的,请不要尝试在部署的时候使用。因为,多数服务器无法使用 CLI 方式执行 PHP 脚本。而这些工具只能执行于 CLI 模式下。

  1. collectResouces.php —— 资源收集工具

    我一直为 ACL 中资源的管理而烦恼,所以编写了这个工具。对于通用性资源(module、controller、action)进行采集,并按照顺序插入数据库中的资源表。
    使用方法:php collectResouces.php
  2. createModule.php —— 模块、控制器、动作自动创建工具

    其实编写 Controller Action 和 View Script 的第一步工作都是一样的。创建目录,创建文件,添加固定的内容……对于我来说,很烦。所以编写了这个脚本可以通过简单的 Yes/No 方式自动创建必要的目录、文件、代码框架。
    使用方法:php createModule.php

基于 Zend Framework 的整合快速开发结构

在思考现有项目代码重构的过程中的附带产品。主要是基于 Zend Framework 并对其中一些内容进行扩展、整合。放弃部分灵活性,同时提高耦合度为代价,换取开发速度的提升。

我准备将这个项目的代号命名为“ninny”。

项目SVN : svn://www.i-fang.com/IfangSites

项目页面:http://blog.xxiyy.com/?page_id=21

欢迎拍砖。

现有 E-R 图,权限控制部分

E-R 图

As Golang beyond PHP