摘要:
如何编写Ruby控制台程序(一)ByYUANYI ZHANG|Published:JUNE 24, 2007这是来自O’Reilly Network的一篇关于如何如何使用Ruby及ActiveRecord编写控制台程序的教程,文章通过一个例子程序EarGTD演示了编写控制台程序需要注意的方方面面(文件布局,数据库连接等等),作者是Gregory Brown,你可以在这里找到原文。抛弃Rails如果你一开始就是通过Rails来学习Ruby,那么你很可能会发现,你需要学习的东西实在是太多了,这是因为Rails虽然只是一个框架,但它和Ruby的结合非常紧密,因此,你有可能会搞不清楚,到底那些东西是属 阅读全文
摘要:
rubyGems 是什么? RubyGems(简称 gems)是一个用于对 Rails 组件进行打包的 Ruby 打包系统。 它提供一个分发 Ruby 程序和库的标准格式,还提供一个管理程序包安装的工具。 RubyGems的功能类似于Linux下的apt-get。使用它可以方便第从远程服务器下载并安装Rails。 打开命令行窗口(cmd),输入执行命令 gem install rails --remote 或 gem install rails--include-dependencies。1. gem on railsLink or freeze RubyGems into your rail 阅读全文
摘要:
Matz, Koichi访谈(三):多线程ByYUANYI ZHANG|Published:JULY 23, 2007问:让我们谈谈多线程吧,这可以算是新版本比较大的改动了,你们分别谈谈1.8和1.9中的线程模型吗?Matz:老的线程模型属于绿色线程模型(最早出现于Java语言中,指线程不是由操作系统,而是由虚拟机进行调度,详细请参看维基百科),不管运行于那个平台,它都只提供一个全局唯一的线程,在14年前我开始开发Ruby时,这是一个正确的决定,但是随着时间的推移,这个决定变得不再合 适,因为大部分平台上都已经提供了诸如pthread或者是类似的线程库实现,pth库(一个使用setjmp实现p 阅读全文
摘要:
REST on Rails之资源嵌套ByYUANYI ZHANG|Published:SEPTEMBER 17, 2007REST认为一切都是资源(Resource),但并不是所有资源都是平行对等的,资源之间也有从属关系,要建立这种资源的层次关系,就必须将资源进行嵌套(nested resource)。以Blog系统为例,假设每个用户拥有一个Profile,以及多个Blog,那么我们可以这样建立资源的嵌套关系,修改route.rb:# profileGET /users/1/profile = ProfilesController#showGET /users/1/profile/new = 阅读全文
摘要:
REST on Rails之自定义路由ByYUANYI ZHANG|Published:SEPTEMBER 26, 2007要扩展你的REST路由,可以通过设置map.resource的:collection,:member或者:new选项来实现:map.resources :projects, :collection => {:rss => 'get'}map.resources :projects, :member => {:close => 'post'}map.resources :projects, :new => {:v 阅读全文
摘要:
for循环与each的区别ByYUANYI ZHANG|Published:FEBRUARY 15, 2008for和each的区别主要在于:for是通过调用each实现,因此for更慢一些for会在each的scope之外创建一个局部变量,这在某些情况下会引发问题关于第二点,下面的代码可以很好的说明这个问题:irb> [1, 2, 3].each do |m| puts m endirb> puts mNameError: undefined local variable or method `m' for main:Objectirb> for n in [1, 阅读全文
摘要:
在Migration中操作新添加的字段ByYUANYI|Published:MAY 22, 2008在有些情况下,我们需要在某个migration中对新增加的字段进行操作,比如下面这个将name改成first_name和last_name的migration:def self.upadd_column :profiles, :last_name, :stringadd_column :profiles, :first_name, :stringProfile.find(:all).each do |profile|profile.first_name = profile.nameprofile 阅读全文
摘要:
配置ActionMailer使用GMail发送邮件ByYUANYI ZHANG|Published:NOVEMBER 26, 2008这个问题由来已久,比较了一下几种现有的解决方案,最后发现Robert Bousquet的方案是最简单的。1. Robert只提供了一个源码下载链接,不是很方便,我将它放到了github上:$ script/plugin install git://github.com/yzhang/smtp_tls.git2. 修改environment.rb:require "smtp_tls"mailer_config = File.open(" 阅读全文
摘要:
Ruby Metaclass详解ByYUANYI|Published:FEBRUARY 18, 2008来自whytheluckystiff.net。—————————————–如果你是Ruby Metaprogramming的新手,那么下面的代码或许会帮你找到一点感觉:class Object# The hidden singleton lurks behind everyonedef metaclass; class << self; self; end; enddef meta_eval &blk; metaclass.instance_eval &blk; 阅读全文
摘要:
如果你不曾失败,只因你从未尝试ByYUANYI ZHANG|Published:MARCH 10, 2011Dan shipper的这篇文章很有趣,里面抛糖果的那个练习很有新意,翻译如下:我有一条关于成功的理论:如果你未曾失败,只能说明你从未尝试。你可以从失败中学到这个世界是如何在运转,如果你能够回过头来重构每一个导致你的公司,项目或是感情走向失败的细节,你会得到同任何一个成功故事教给你的一样多的收获。现在的问题就是,怎么得到等多的失败?对我来说,我们大部分人生活都或多或少受到个人边界的限制,这其中最大的一个边界就是我们对失败的恐惧。现在我们有了一个目标:对失败的恐惧,那么如何才能客服它?其实 阅读全文
摘要:
Rails应用性能优化1ByYUANYI ZHANG|Published:JUNE 11, 2007是否觉得你的Rails应用响应速度过于缓慢呢?这是RailsConf2006上的一篇关于Rails应用性能优化的演讲稿,希望能够对你有所帮助。在优化你的应用之前,我们首先需要明确以下几点:不先进行性能测试就盲目的优化是非常愚蠢的如果你的应用是因为设计不合理而导致性能低下,那么我建议你最好花点时间重构你的代码,而不是进行局部的优化,这只会使问题越来越多。在优化之前,最好先为自己树立一个目标,这样可以防止因为过度优化而浪费时间,达到预期的目标后就该适可而止没有必要对每一个页面都进行优化,只需要关注那 阅读全文
摘要:
11个技巧助你找到一份Rails工作ByYUANYI|Published:DECEMBER 29, 2007Ruby Inside刊登了John Philip Green的一篇帖子:11个技巧祝你雇到一名Rails开发者(11 Tips on Hiring a Rails Developer),实际上,如果从另一个角度来看,这些技巧也同样适用于要找Rails工作的人。作者首先讲了为什么找一份Rails工作很难(雇一个Rails开发者很难):使用Rails开发的公司很少,不过你应该感到幸运,因为你走在了潮流的前面工作经验总是简历中最被看重的一项,但是.net和java的经验对于你的简历往往起不到 阅读全文
摘要:
如何采访Ruby/Rails大牛ByYUANYI|Published:JULY 28, 2008互联网让记者这个职业变得没有门槛,只要愿意,任何人都可以成为网络记者,尤其是网络技术记者,你甚至都不需要与采访人见面,只需准备一些问题,然后去封邮件就OK了,当然被采访人一般都会很繁忙,因此要让你的邮件脱颖而出得到回答,你就需要多提些有趣的问题,没有有趣的问题?那也没关系,Joseph Wilk为你准备了一个采访Ruby/Rails牛人的问题清单,你只要照着问就可以了,以下就是他列出的9个问题:如果有一架无人驾驶客机,并且它的控制系统是由Rails编写的,现在有机会来抢先体验它,那么您会选择它作为你 阅读全文
摘要:
Rails性能优化简明指南ByYUANYI ZHANG|Published:JULY 21, 2010最近多背一公斤的网站由于前段时间加了太多功能,但是没有考虑性能问题,导致速度下降,内存占用剧增,apache频频重启,需要进行优化,于是花了点时间学习了下rails的优化,整理成这篇文章,希望对遇到同样问题的人有用。基本原则大部分讲优化的文章都会在开头讲到优化的基本原则:1. 不要过早优化,这里必须要提到Donald Knuth的名言:过早的优化是万恶之源,Premature optimization is the root of all evil,在你的应用还没有遇到性能问题之前,不要为性能 阅读全文