MENU

Category: 扯淡

算法?方法?

“你要分清楚算法和方法的区别。”算法?方法?当时的我想,这我当然能分清楚了,有什么难的。然而我现在不再像当时那样简单地想了。

两个月以来一直在恶补C,那个我认为过了时的玩意儿。过了时的东西,嗯,我现在仍这样想。学了几节语法结构后,我还觉得php语法不愧是C衍生来的,确实很像。依据经验,我的想法是:我迫切地需要知道更多的函数。掌握了各种函数,各种开发何在话下!然而令人失望的是,C的库函数是那样的少,几乎是没有一个真正实用的库函数嘛!为此我曾对Hans说:“C确实很适合搞算法竞赛。”言外之意是,什么都得你自己亲自动手去完成。

到这时,我有点认识到算法与方法的区别了。之前搞的Web开发复杂之处,讲究的是性能与便捷平衡的,实现简单的业务逻辑的书写。然而现在则是来编写程序执行人类计算起来费劲的实际问题了。初学简单算法时,我曾用1行php完成了字符串反向的问题(NOIP普及组第一题)。事实上这确实很简单,用C或Pascal也就十几二十行代码的事。我还曾用5行php解决了判断回文字符的问题。然而老师说了这样一番话:“库函数好是好,但是我们真正要做的,应该是去知道它本质到底是怎样实现的。”我似乎有些明白了。群里曾讨论过“发明轮子”的问题。没错,实际应用里重复发明轮子是愚蠢的,然而当我们要深入理解程序,学习基础时,这就明显变得尤为重要了——至少你要依葫芦画瓢地造个轮子出来。

Read More

Enterprise框架的第一个应用上线了

大概是40多天前,我开始了Enterprise Framework的书写工作。这是一个致力于用最少的代码完成最多的事,同时维持一个较好的“简便—性能”平衡的框架项目,也是我首个使用GitHub托管的开源项目。在几分钟前我向GitHub提交了第28个commit后,我才真的觉得它可以投入实际应用了。我大部分时间是在本地使用APMServ集成环境进行的代码测试,它确实很好用——但是却并不能代表全平台。这意味着,它可能会有着一些问题。

在之前(得益于Git版本控制,可以查询到是在半个月前)我写睿云引擎以支持云平台,在SAE上做实例测试时,便发现了挺多问题。代码部署完毕后,第一个打击人的大问题就是HTTP 500错误。经过一番核查,我竟然在源码中找到了一句非法的语句,但是修改后仍然是没有输出、必要文件包含不正常的状态。在多次使用XHProf调试无果后,便暂时放弃了。

今天所说到的使用Enterprise框架的第一个应用,是FOP的配套应用——查询系统。经过一周的本地开发,我终于决定将其与VA China整合,调试、修改并部署代码后——仍然还是各种错误,包括HTTP 500,无输出等。这让我感到深深的不安:看起来不仅仅只是分布式环境下不能正常使用,只是将Apache换成了Nginx都可以引起这种严重的后果。这样的情况是与项目的设计理念相悖的。当然,经过一番调试后,问题终于解决了。

Read More

版权观在中国

写本文的缘由是我遇到了一件很郁闷的事儿:前几日需要安装Sothink Logo Maker,可百度上找了一大圈都没有合适的,许多精品的软件站中点进下载一看,都是“因版权问题不提供下载”。最后不得已到了传说中的TPB才找到一个勉强可用的非Professional版。这让我想起了不久前一件差不多的事情:之前遍地是的Win7Activition死活找不到下载了,非常之郁闷。

我从来不敢想象我会在国内遇到这种情况——至少亚洲大部分地区人民的版权意识,大家心里是清楚的。毕竟现在仍是盗版Windows五块钱一张的时代,毕竟在中国上个TPB什么的还不至于用专用浏览器的同时再挂个代理。那么是什么使这样的事情发生了呢?我想大概是两点吧:政府和版权人的双重干预。想起了前些时候的一条消息:中国最大的影视站被查表。——这大概是政府行动的一个体现。版权人方面,倒是一时想不出什么特定的例子,但我倒是想起常光顾的两家网站的烦恼——一是煎蛋,二是简明现代魔法。它们均屡陷抄袭烦恼中。

我又想起了前些时候看到的日本政府对于电子版权问题的措施:将一些警告性质的文件制成种子,再将种子散布出去。这个愚蠢的电子遭到了无数人的嘲笑,但是至少证明了日本政府在行动着。再看看另一则新闻:“澳大利亚男子特意赴美购买Photoshop直呼便宜”,去美国买一套最新的Photoshop加上机票还比国内便宜,在震惊了不少小伙伴的同时,这也很明显地体现着不同国家国民心中早已根深蒂固的思想。

那么为何在我国,版权意识(至少是)近两年来才被逐渐地注意到呢?这个问题,同样有几个鲜明的例子:

Read More

php框架随想

记得曾看过一个说法,说php是否应该使用框架进行开发是一个饱受争议的问题。对此我个人的看法是,框架的使用肯定是有必要的,只是看在开始项目时选择一个什么样的框架更好了。使用框架,绝对可以大大减少项目的代码量,用最少的代码来实现最多的功能,从而在缩短开发周期的同时大大增长程序猿的寿命,真可谓是一举多得。当然,任何事情都有其两面性,框架的实用最主要的一个问题个人人认为其就是在便利了编码的同时降低了性能。我们随后就会针对这些问题展开一些讨论。

Read More

我也玩玩GitHub&Enterprise框架初版出炉

GitHub是一个基于Git的版本控制系统,火了很久了。我访问任何站点都是本着能不注册就不注册的观念,所以直到今年5月2日才注册GitHub。之后也创建过代码仓库,但是由于过于鸡肋,自己删掉了。

写Enterprise框架有如下几个原因:1.之前写了epdb,非常适合框架中嵌入使用;2.用过的几个框架或多或少有些不满意;3.最近要写一个仓储管理系统,用ThinkPHP过于累赘。有了想法之后,便付诸实施,这个框架算是我个人开发习惯的结果吧。

经过几个小时的奋战,基本功能实现的差不多了。详细的开发过程基于版本控制,可以在我的Git项目中明显的看出,概不赘述。

Read More