msgbartop
用铅笔写日记,记录那最原始的美丽
msgbarbottom

本站留言系统已正常,目前情绪稳定.

我有罪,这么严重的问题居然没有发现.也难怪,这么长时间居然一条新留言也没有,的确是有点可疑.
直到今天中午,郑泽宇同学在QQ上和我说起了这件事情,我才去亲测了一下,返回了大大的405……

震精了!!

我上周末的时候用hiawatha 替换掉了cherokee,用 varnish cache 替换了 squid cache.应该是出在这两个上面了。
首先检查hiawatha ,基本可以排除.

目标锁定varnish,报错 405 Method not allow,应该是请求转发后置服务器时候出现method 丢失了.查了半天没找到原因.
真是奇怪阿。

后来又怀疑是验证码的问题(上次有个叫 “Clickcha” 的插件不就是吗?远程调用了某api),赶紧把WP-ImgCode mod停了,鬼知道它用了非主流方法呢.

测试一下,问题依然. 囧rz

每次都死在wp-comments-post.php上,忽然想去看看该文件源码。在wordpress svn 里面找到了它,一打开,没看两行,杯具了。

该文件的第一行(除注释)就是过滤非法提交方法的函数,只允许post请求.

看来应该是varnish 向 hiawatha 转发时候出现了问题,用 pass 替换 lookup (具体参见:http://www.varnish-cache.org/docs/2.1/tutorial/vcl.html).

问题解决.

eclipse上android项目编译出错的解决办法

最近Android很火呀,我也打算抛弃现在的moto手机,入手一个基于Android的手机了,看来看去就锁定即将上市的魅族M9了.

话说距离m9上市还有一段时间,闲得无聊便打算先熟悉一下android(安卓)系统,因为android是基于linux内核,由java语言实现的开源手机平台.故而也让我有了动手的理由,于是就按照 developer.android.com (这里要bs一下GFW, *.android.com 居然被墙了……) 上的文档先写一个"Hello,Android"出来.聊以自慰了一下.

下载安装了android sdk 和 Android Development Tools (ADT) Plugin for Eclipse (地址:https://dl-ssl.google.com/android/eclipse/),重启了下eclipse,就可以创建Android项目了。

跑了一下项目,发现sdk 自带的模拟器真不错,感觉和真机差不多了,也算先尝尝鲜了 呵呵

不过,在运行项目的时候,发现一个问题。就是一旦android 项目被清理(Clean)了源码,再次编译会出错,而且永远通不过 囧rz...
如图:
项目编译出错

注:我用的是中文版的eclipse(在此感谢babel国际组织),所以不清楚英文版下报错信息是什么,所以我也搜不到任何有用的信息。不过最下面错误我以前是遇到过的,英文是“The project cannot be built until build path errors are resolved”.

这个gen下面的文件都是自动生成的,不可以人工操作.

在网上搜索了一下,有人说可以通过项目右键菜单里面的 "Android Tools" -> "Fix Project Properties" 解决,貌似不行.
这个郁闷呀,后来我找啊找,终于找到了解决办法。

那就是,如图:
配置buildpath

是构建器(位于 项目->属性->构建器)次序的问题,请确保项目中的 java 构建器 始终位于最后.
调整好后,清理一下,再次编译即可通过.

该错误虽然很小,可是却很恶心。希望对某些正在挠头的人有所帮助. :)

php 语言,也就那样了

话说我还以前从来还没有这样正视过php.虽说之前也学过一点php.不过也是冰山一角而已.对php的印象也只是这是用C语言实现的网页开发语言,开源、跨平台、有很多基于它的免费著名的项目。

前段时间php发布了5.3.3版本,我的论坛(基于discuz! 7.2)一下子不能用了,面对discuz!团队对于这等突发事件缓慢的反应。我便决定把论坛迁移到其他的论坛架构上去.

其间搜索了不少关于phpwind、discuz!、phpbb 等之间的比较,最后锁定了phpbb.也就是这时,看到了一些关于discuz! 论坛架构代码冗余、代码重用性低、效率不好之类的诟病.

按说像康盛创想这样的大公司,说的出“技术从来不是瓶颈,创新是我们一直的动力”这样的口号,做出的东西不应该有这样的硬伤阿,不过想想也对,如果不是没有按照低耦合的模式来,底层改起来的确够麻烦的(从php 5.3.3 开始类里面的同名函数不作为构造函数了).

这时候我就开始觉得php太懒散了.也真是它的易用性,导致开发者想怎么写就怎么写,比如那个变体函数(魔法函数),想想就害怕.

前端时间被公司派到另外一家公司,以外援的身份参加了一个门户网站项目的开发,是一个基于discuz! 下ucenter的项目.我主要负责视频模块.在那边呆了2天,话说我的模块早已完成。闲来无事便顺便看了看他们的项目,这也是我第一次看一个完整的php项目.

话说看的很吃力,注释少的可怜是一个原因,另外一个原因就是php模块的东拉西凑.比如里面有个好像是处理用户登录后的操作的类(姑且算他是类吧,其实我更感觉是一个请求转发器).原理是根据“ac"(应该是action的缩写……)载入不同的页面,执行不同的操作.

本来这个页面应该可以写的更简洁一点,可是里面充斥了大量的if_else 块.嵌套层数估计不下于10层.如果业务要求不得不得如此的话,还则罢了.

更恶心的是对于一些外来参数处理的函数通通写了进去.更有甚者,我貌似还在里面sql语句的声明.真的是……这个类就是传说中的上帝类(God Class)?因为它已经包办了一切.

很难想象,在实现功能的同时,这些开发者是否能考虑下未来的可维护性?可读性?

殊不知,一个正常的函数/方法体不应该超过百行.评价优质代码的标准不是看自己满意否?而是别人.

可是,是谁造成了这种状况?是php.是php 没有标准、没有规范的写法.给了他们方便.我不得不说,这样的代码真的如同老太婆的裹脚布一般,又臭又长.

而我在用记事本打开后,就如看天书一般.囧rz

当然我知道,php 大家庭里面有很多像wordpress、drupal、phpmyadmin 这样的国际知名项目.他们的代码结构如何我不清楚.不过wordpress的我倒有看过一些.怎么说呢,wp里面会专门有这样一个文件夹叫classes 来存放一些基类或者工具类这样的,不过我还是不能忍受在页面里面出现sql语句.当然可能只是个别.

wp总体来讲还是体系严谨的吧,毕竟是这么多人在维护.不然的话我真得不知道wp的作者matt是如何说出“代码如诗”这样的话来.呵呵,那不是自己给了自己一个耳光么?

总而言之,php 还是没有一个明显标准(据说有本书叫thinking in php,有空看看.据说有个框架叫 Zend Framework),我是这样想的,如果一个人在接触php之前有学过其他编程语言(非脚本语言),他可能会感觉不习惯、别扭.
而如果是一个完全的新手的话,则会很快的入门.说不定能在短时间内开发出一套实现了CRUD的简单博客系统.

呵呵,就是这么个大概情况.不过近些年LAMP大行其道确是实事.php 势头还是很猛的呵呵~

国内请不要有更多的replacer

有这样一些人,他们没有写过一行代码,没有独立或者参与开发过任何一款软件,没有干过一件与软件核心代码相关的事情.
但是他们却会理所当然的把某款软件当作是自己的作品,甚至还会时不时的以作者的身份发布不合时宜的言论,最后导致的是该款软件的潜在用户流失.当然,他们是不会在乎的,可能也没有想过.

这些人是谁呢?他们是活跃在各大论坛的"高产软件开发者"(目前姑且先称呼他们为软件开发者吧),他们无偿的为一些没有做中文本地化的国外软件提供官方或非官方的中文汉化包.并免费提供给用户使用.

其间做的比较出名是烈火与他的心海e站(www.hrtsea.com).

按说这些人不图回报的工作应该是值得我们敬佩的.因为这一切都是出于自由的共享精神.应该得到应有的尊重.
而是目前的现状让我不得不深思,和深深的忧虑.

像深度论坛、完美者论坛、汉化新世纪、包括我之前说的心海e站以及等等这类的网站,犹如雨后春笋般的涌现出来。一时间国内软件从业者骤增.一派欣欣向荣的景象.

可是看看他们在干什么呢?以前是做打包win系统的,现在是做汉化或者破解工作了.

以前打包windows用的是nlite之类的软件,在系统组件上做做文章就算是一个新系统了。请问里面那个东西是你自己的东西?
计算器是么?扫雷是么?什么都没有.

现在做汉化,下载人家的程序,然后用什么resource hacker、exescope 之类的软件改几个资源文件,就敢大言不惭的把自己放到作者的位置上去了.囧rz

至于技术含量呢?真的看不出来。你们所做的就是相当于记事本里面的Ctrl + H 了,替换功能而已.你们所做的就是人家程序员在程序中声明的一个个String 变量换成了我们熟知的汉字,简而言之,一个replacer 而已,做的都是体力活.

真的不知道有什么地方让你觉得高人一等的?我很好奇.像你这样的角色在项目中只能算是一个contributer(贡献者)而已.
恐怕连进版本控制的权限都没有(哦,我忘了,开源软件的版本库是对全世界任何人开放的).

还有那个做QQ狂人版的那哥们,充其量就是一个打包族。被腾讯勒令关站之后,在论坛发了贴说以后打算开个网络班,教编程.
说实话,我真的不知道他能教点什么……成为下一个脚本工具男么?

你说说,像这种人多了,中国的软件前景在什么地方?更让人痛心的是,居然有人把他们当神拜,更加导致了个人的膨胀.

中国什么时候才能多一些像ZK-Simply Ajax and Mobile 这样的国际知名的项目?
中国什么时候才能多一点人能参与到国际知名项目核心中去(像射手播放器作者被加入了MPC-HC项目)?

所以我真的不希望在国内看到更多的replacer.因为已经够多的了.我希望看到的是越来越多的核心开发者,而不是可有可无的外围工作者.

而且,我深深的觉得国内软件汉化者的素质不高.说出来的话真的是如同恐怖主义一般.而且功利主义更要不得.做个语言文件还要用什么aspack(一种面向win32的文件压缩器,与asp 语言无关)加个壳,真的是扯淡的很.殊不知,连你用的类库都是别人编译出来的.
面对用户的质疑,还口出狂言.具体不赘述了.唉……

注:本篇文章只是作者本人表达了对中国软件前景的担忧.本人并没有看低或藐视汉化工作者的意思.
本人也极力推崇且受益于如 babel 等国际翻译志愿者组织.

MySQL 工作正常,目前情绪稳定

昨晚头脑一热卸掉了工作成绩一直很稳定的MySQL 5.5.4 m3,本想尝试下RPM包安装.故而下载了server、client、shared、devel 四个包.

结果杯具了……不堪回首呀

开发版真的不是人用的,错误日志文件居然出现了“you could hit a bug” 字样 囧rz

php-cgi 居然也跑不起来了,libmysqlclient.so 居然没有版本信息……

彻底死心了.

毅然决然的换回了GA分支的5.1.49 最新版,情绪文档,表示影响不大 :)