-
技术、门派或仅仅是恐惧?
几个关键字: 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,哈哈。 本周要做个日志管理软件,算是练练手。待续了……
-
搞定ADSL路由故障一例
关键字:MTU Maximum Transmission Unit. The greatest amount of data or “packet” size that can be transferred in one physical frame on a network. This packet also contains the header and trailer information, which are like addresses for each packet that are required by the routers on the network. UPnP Universal Plug and Play is making…
-
无极=无聊^2 + 无耻 + 无知
http://news.sohu.com/20060511/n243184458.shtml 《无极》让圆明园的叶子黄了近两年 本报记者夏心蕾报道 继建设部副部长仇保兴在一份主题报告中披露“电影《无极》剧组在云南香格里拉碧沽天池拍摄,对当地自然景观造成破坏”后,记者昨日获悉,《无极》在圆明园取景拍摄期间,为了制造效果,对园内西部的部分植被涂过一种黄色涂料。据介绍,这种涂料对植被破坏相当严重,被涂过涂料的植物在近两年后都没恢复绿色,仍有大量残留黄色。 解释一下,无聊^2就是无聊的平方了,这个自然不必多说。 无耻:拍戏了不起?排戏可以践踏一方水土?还乱扔饭盒……真是强将手下无弱兵了,看样子每个剧组成员都为破坏环境做出了自己的努力。 无知:造个效果=刷漆?难怪赚不到钱,钱都给油漆匠了。 无极中不是所有场景都是真的,对吧?那个圆环套圆环(我习惯称之为电炉子)就不是。为啥非要对树木下毒手玩真的!? 俗话说,活到老学到老。二陈虽然老了点,该学习还是要学习的:人家matrix里整个世界都是泛绿的,怎么没见matrix剧组买绿漆刷new york?多用用大脑,多用用电脑,省下些钱也好报名个学习班什么的。 最后,请保护环境!不要因为拍片子破坏环境,更不要因为拍烂片子破坏环境!!
-
笔记:几个网络术语
1,DMZ 我的翻译: (发音就是单独字母的读音)是demilitarized zone的缩写,指电脑或子网位于信任的内部网,例如公司局域网,和非信任的网络例如互联网。 典型例子是,DMZ包含供互联网访问的设备,例如网站、文件服务、邮件服务和域名解析服务等。 此来源是军方应用,意为2组敌军之间的缓冲地带。 原文参考: (pronounced as separate letters) Short for demilitarized zone, a computer or small subnetwork that sits between a trusted internal network, such as a corporate private LAN, and an untrusted external network, such as the public Internet. Typically, the DMZ contains devices accessible to Internet traffic, such as Web…
-
美剧中几句偶比较欣赏的对白
周末闲着,猛看若干美剧。趁着没忘记,把欣赏的对白些几个下来。不能保证100%准确,就大概意思对吧。 Desperate Housewives Season2 1, Bree: Take this drink. The next part would be so hard, that I think you might need a little help to go through. 2, Bree: (to her daughter) When I was young, I was given beauty, wisdom, …(没听出来) and insight, the weapons for a girl. As for you, I suggest…