-
地震、海底光缆及尴尬的中国开源者
我使用开源软件的经验不算多,但是我相信中国的很多开源爱好者会有和我类似的感触。 2006年底,台湾海域的地震,让人们感觉到了互联网的脆弱。在这次地震中,中美海缆、亚太一号、亚太二号海缆、FLAG海缆、亚欧海缆、FNAL海缆等多条国际海底通信光缆发生了中断。一时间,台湾,韩国,日本,菲律宾,甚至连印度的呼叫中心都受到了麻烦;在中国,几乎所有的美国网站以及服务都无法服务,有些网站虽然可以勉强登入,但速度变得慢如蜗牛。--人民网 这其中,包括ubantu、rubyonrails、joomla等等。下载这些东西变得艰辛,我甚至不得不半夜爬起来试试运气,仿佛又回到了1998年 28.8k小猫的年代。国内有很多关于开源的站点,但是往往没有深度,蜻蜓点水般的放些内容,点到下一个链接却又是指向了国外。 如果我有服务器,有线路,我愿意做这个镜像,做dist,做svn。但是我没有,而且我也不能把有限的收入投入到这个貌似没有回报的计划中。也许,这也正是其它人没有去做这个镜像的原因吧。也许,发展经济就是这样一个硬道理。
-
技术、门派或仅仅是恐惧?
几个关键字: ROR = Ruby on Rails OOP = Object Oriented Programming DRY = Don’t Repeat Yourself COC = Convention Over Configuration ORM = Object Relational Mapping 人们(一部分人们)对于新事物总是抱有否定的缺省态度,这并不新鲜:当初,当有人说地球是圆的,当有人说地球绕太阳公转,都会有另外很多人站出来否定之。 而现在,ROR成了众矢之的。几种典型的否定是这样的: 1,Ruby是script,是脚本,那么性能肯定不行。 其实这种“如果x是脚本,那么x的性能肯定不行”的判断大概源于BASIC或者VisualBasic的经验吧。持这种判断的人你可否知道,ROR有Development/Testing/Production三种运行模式,在development模式下,每次当页面被访问时脚本会重载以反映最新的修改结果;而在production模式下,则不会这样做。 而这些人往往忽略另一个性能,就是快速开发的性能。如果时间紧迫,ruby绝对是上佳之选。 2,COC需要程序员来学习但没实质变化的新玩意儿 对于持这种意见的人,我只能说,你身上坏习惯太多了。ROR有很多默认的惯例,例如模型对象Article,那么对应数据库中的表articles;如果模型对象是Person,那么对应表people;如果Article和Person关联,那么articles表中要有person_id等等。难道还有更合理的“惯例”么? 如果你喜欢让Article对应table1,Person对应table2,就运行性能而言当然无二,但是如果有第二个人要看你的代码,不就麻烦了么?或者你就不想让第二个人看懂你的代码?另外别说你有创意,有创意的人是用脚来打字的。 3,ROR框架层次结构复杂 去用CGI吧,谢谢你。 4,ActiveRecord很方便,但是不知道该如何优化它 持这种观点的人多半是前几年自己写过或者配置过connecion pooling。但是你认为能写出ActiveRecord这么强的ORM的人,会不知道那么几行connection pooling代码么? 5,DRY 不多说了,有人不喜欢DRY,那就让他RY吧。 看得出来,很多对ROR的否定源于固有经验和对ROR的无知。“无知产生恐惧,恐惧产生憎恨”,送给那些孜孜不倦到ROR坛子上踢馆的同僚们,布鲁诺就是你们这些人烧死的:(
-
ruby笔记之一
1,随意,更象人类的语言 java: if(a == b) { System.out. ….//already forgotton? 🙁 } ruby: puts “it’s right!” if a == b 2,纯粹的OOP java: MyClass my = new MyClass(“param”); //’;’ required int i = Math.abs(-5); ruby: my = MyClass.new(“param”) #no ‘;’ required i = -5.abs #see, even -5 is an object 3,灵活 java: public String hello(String sir){ return…
-
开始ruby,开始rails
终于放下包袱了,我要重新开始,从ruby on rails开始了。 我的包袱是什么呢?是Java。从2000年年底开始,Java、JSP(好多人问是JavaScript么?晕……)、JavaServlets到后来的Struts、Tapestry、Hibernate,真是没少花时间呢。好在我不必遗忘Java才能学习Ruby:-) 自从去年开始做bjqnc.com(小区的网站,纯兴趣),我对Java的感觉就发生了变化。我最终选择了xoops,实在无奈的是xoops是基于php和smarty的,完全陌生的东西。而我熟悉的Java呢?开源项目颇多,唯独没有能用得上的。于是我开始了磕磕绊绊的php+smarty的应用。于是我又回到了编辑模版的原始阶段了,不甘心…… 为了做自己的xoops module,我找到了网友alex的笔记,跃跃欲试,后来好歹算是成功了。于是就像遇到了救星,赶忙把alex的msn加了进来:-) 后来alex说到ror(ruby on rails),我顿感无知,于是去ror网站上恶补一气,看了15分钟做blog那个视频,嗯,It’s the one. 当然了,Java还是很了不起的,我现在用的radrails就是来自Eclipse,哈哈。 本周要做个日志管理软件,算是练练手。待续了……