Loading...

Tag Archive for 'ruby'

    AD: 子非鱼母婴社区 | 猛买 | Jobsdigg | 很棒的男装店

做你从未做过的事

还能记起在北京的暑假,地铁里的某一段,两边都是《魔兽世界》的广告。对游戏没啥兴趣的我,却一直能记得这句广告词:“做你从未做过的事”。 最近很饥渴地接触了很多东西,ruby&rails/dojo,还看了很多关于设计模式的内容。在计算机的世界里,很多东西都很相似;而在更大的世界里,也有那么多类似的东西——直让人想起狭义和广义相对论,虽然我一直都没太看明白。霍金的书像是讲故事,读起来更有趣。 dojo很惊艳,而rails让人惊讶。有人在我技术blog上说PHP是rubbish,我从来都懒得和这种无聊的人争论。没有做过,也就没有发言权。 今天要开始一个新的Project,有点遗憾要暂时把Camel放下了。我快要20岁了,感觉比起3年前的Livid,还是差了很多。境界上的差距,来自所接触的人和事,不是啃啃书本写写程序就能弥补。 所以,都积极起来吧。亲爱的们,趁着年轻,好好地感受这个世界吧。

Rails心得

如何设置全局变量: 开发时可能总有一些全局都要用到的变量。在Ruby On Rails中,我一开始以为是在app/controller/application_controller.rb 里设置,但发现没有效果。后来查查资料,看到应该到config/environment.rb中。 需要注意的是,全局变量名应该大写,比可以这样写: DEFAULT_VALUE = “blogkid” 之后保存,需要重新启动Web服务器加载environment.rb文件。 如何生成下拉菜单: 表单里面的下拉菜单和别的元素比起来要麻烦许多,但是在rails 里可以用表单辅助的工具轻松生成。譬如我的数据库里一个表放了出版社以及出版社的ID,在向另一个表添加图书时,想把里面的出版社显示为一个下拉菜单供选择,可以这样: 先在控制器里使用下面的语句把出版社信息读取出来: @presses = Press.find_all().map { |p| [ p.name , p.id] } 然后在相应的view里,使用下面这个语句创建下拉菜单: select( :book, :press , @presses) 这就搞定了,生成的下拉菜单还能将原来选中的值自动设为“selected”项,一共只要2句话。前一句将数据库中内容转化为一个“数组的数组”——每个子数组包含出版社的名字和ID;后一句用这个数组生成了下拉列表。要是放在PHP中用传统的做法,可能需要先从数据库取出数据然后来一次fetch_array的循环,中间还少不了要判断初始值和哪个选项相等——我并不是说PHP不好,通过一定的抽象,可以使这个过程更容易。只是没有ruby这么简洁没有rails这么贴心罢了。 今天顺便看了这么一段话: 我们不想掩饰对这样一些人的蔑视–他们不愿思考,或者在发问前不去完成他 们应该做的事。这种人只会谋杀时间–他们只愿索取,从不付出,无端消耗我 们的时间,而我们本可以把时间用在更有趣的问题或者更值得回答的人身上。 这样的人为“失败者”(由于历史原因,我们有时 把它拼作“lusers”) 确实,我很烦那些什么都直接提问的人,自己在学东西的时候,也很少求助于别人。有互联网这个好东西,大学的好多课都很废了。

人忙,事多,探Rails

起了个大早,7点。昨天吃的火锅让我继续拉肚子。和Alone交流,感叹不管自己生日还是别人生日,都是我们出血。8点多吃过饭就开始折腾那个C#的作业,一直到中午11点才做好,同时也摸清楚了C#操作数据库的这些东西,DataSet、DataAdapter、DataGrid之类的。 PHP/Python这些东西和C#的区别还是很大的,习惯了用SQL语句轻松地解决问题。而在用c#时,我几乎是被强制着用封装之后的那些“便捷”的办法来操作数据,加上不熟悉那些内置的类们,让我为一个C#作业折腾了两天。要是用PHP,做一样的东西估计只消一小时。但现在的Web开发框架们也普遍可以将数据库的操作封装起来,原来一句话可以搞定的东西,现在得写好多句。 话说回来,这也未必不好。少用SQL语句能避免不少人为的小错误,程序看起来也更干净些。Rails就这么做的。开始折腾Rails,是为了能尽快搞定软件工程课的作业。这个学期的软件工程课觉得有点垃圾,因为老师讲来讲去,就是要把我们教会用瀑布模型。大型的软件自然要这么磨蹭地做,可是在现在的互联网上跑得慢了就会被人干掉,别指着十年磨一剑了。最近事情太多,所以希望能用Rails赶紧搞定软件工程的作业。Rails带动了一大批框架的发展,以前我看的CakePHP,就是采用了Rails的思想。 《应用Rails进行敏捷Web开发》这本书我已经读了有段时间,感觉很不错。在卓越亚马逊看到出来了第二版。终于要开始实践了。在Ubuntu上安装Rails还是比较容易的,直接用apt-get就可以。之后我把数据库也做了些调整——一路上不管装rails还是改数据库或者建Controller都用shell,真的很爽。用scaffold顺利地搭了一个台子。 有点浅薄的经验,先记录一下,以后入门的朋友们能容易点。 项目的网站根目录是public,一开始访问localhost:3000会被定向到index.html,最好把这个文件改个名,要不自己定义的首页控制器会不起作用。 用scaffold后,都是/controller/action/…这样的地址结构,而请求“/”会出错(如果做了第一步的话)。需要编辑config/routes.rb,加入一行: map.connect “”,”:controller=>welcome” 这样请求“/”时会去welcome这个控制器里面找index方法(默认)。编辑routes.rb这个文件可以有更多玩法,不只是能指定个首页这么简单——好好发现吧。 如果页面之间有共用的部分(相信一般都有的吧),就让application layout或者partial layout帮忙吧。这个我查了好久终于找到了,可以看看这篇和这篇文章。 推荐看看这个专栏:每天一剂Rails良药 推荐的两本书:《Web开发敏捷之道》 《Programming Ruby》 总感觉只有真正做一次,才能有深刻的领会。只是不为自己而做为完成作业而做,有点不甘。虽然看了很久的书,我依然是个初学者。

糖果还是毒药

今天开始了短学期,听到老师布置的任务是“用JSP写一个网站应用”。我对JSP一直没啥好的印象,从来也没用过,在心里其实把JSP和ASP早就划为一类了。于是专门去请示了老师,被告知也可以用别的技术来做,这样最好,就可以用PHP了。 老师公布了作业之后,专业里大部分人都不知道JSP是啥。于是蜂拥图书馆,我亲眼目睹有人借了“Java Web Service”,有人借了“Javascript”,唉。 早就想用CakePHP,于是这次初步决定用CakePHP搞定这个作业。但上午花两个小时认真研究了一下,终究还是觉得CakePHP的东西和自己以前的习惯差别比较大,还是放弃了。CakePHP的思路是来自于ROR,而ROR方便到一个不懂Ruby的人都能花很短的时间搭建一个Web应用。CakePHP给我的感觉也是这样,如果想用它,必须放弃自己已经有的那些习惯。在这点上,感觉ZendFramework做得挺好。 自然界的矛盾从来都是这样,糖果还是毒药的争论也永远不会平息,保持理智的选择,好像不是一件容易的事情。

Relax

要不是Alone去V2Read发书评,我还不知道V2Read因为数据库结构的小变化产生了很多问题。匆匆忙忙地查缺补漏,等到终于松了一口气了,却发现数据库中最关键的表挂了。提示的信息是:”Table ‘./zllp/zl_subject’ is marked as crashed and last (automatic?) repair failed ( 144 )”。从来没见过这种错误,只好发一封英文的邮件给DH的客服。 然后就是SIFE。下周四即将参加比赛了,但我们的准备工作还差很远。下周四能到上海见到一群上次遇见的朋友们,特别是几个很漂亮的MM。和SIFE几个核心成员谈了一个小时,大家也纷纷觉得最近太紧张了,于是走出来闲聊一会儿。 不谈工作一下就觉得轻松了很多,我最近已经有很长一段时间没有接电话了,不敢接啊,一接就是推不掉的事情。闲聊的时候俊圣给我们推荐爱情、婚姻方面的书,才意识到SIFE的大部分成员都还是单身呢。 回到寝室已经快12点了。看到了Dreamhost回复的解决数据库问题的邮件,Quick work! 虽然在写这篇文章的时候我还没有手动把数据库恢复回来,但只是时间问题了。昨天一个朋友,我使用的这套Wordpress主题的汉化者和我打听关于Dreamhost的信息,别的不说,我对它们的技术支持真的太满意了,虽然有半天左右的时差,但24小时内一般都能得到解决。说实话,这次”crash”我本以为需要很长时间才能解决的。200G的空间,每周增加1G,还有2T的流量,也在不断增加中。提供LinuxShell,可以在服务器上进行各种操作——这样的一台服务器一年只要花费不到200块钱就够了,支持Ruby,支持Python,当然也支持PHP。注册时在PromoteCode那里填入blogkid可以为你节省95$,也就是说只需要24$就可以买下来了,用支持美金支付的信用卡就可以付款。 如果还有这方面的问题,也可以发邮件到zhanglei909#gmail.com给我。 V2Read还有很多需要完善的地方,但我不愿意把它作为一个任务来做,我是不是越来越懒了? 其实服务器经常出点小毛病也好, 可以有很多机会通过写英文邮件和老外打交道。呵呵,刚出来的期中考试我的英语成绩是79分。