随笔分类 - 2.动态语言
Ruby/python
摘要: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;
阅读全文
摘要: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编写的,现在有机会来抢先体验它,那么您会选择它作为你
阅读全文
摘要:RoR部署方案深度剖析博客分类:RubylighttpdRailsnginx应用服务器RubyRoR的部署方案可谓五花八门,有Apache/Fastcgi方式的,有Nginx/Mongrel方式的,还有lighttpd/Fastcgi方式,也有人使用HAProxy/Mongrel,各种部署方式都是众说纷纭,让人搞不清楚哪种方式更好一些。我的这篇文章就是希望结合我们运营JavaEye网站一年多以来的经验(通过统计Rails的production.log,JavaEye网站目前每天处理超过70万200 OK状态的Ruby动态请求,应该是国内目前负载量最大的RoR应用了),为大家剖析RoR部署方案的
阅读全文
摘要:摘自推荐一篇很好的RoR部署方案性能评测博客分类:RubyRailsnginxlighttpdApacheGoogle今年年初的时候,我写了一篇RoR部署方案深度剖析的文章,分析了Rails的进程运行方式下各种部署方案的优缺点,以及采用什么部署方案最优的话题。当时我没有给出具体的性能评测数据,因为我觉得运行的机制原理很清楚的情况下,没有做评测的必要性。但不管怎么说,一份详细的性能评测数据还是更有说服力,因此我很欣喜的看到ShiningRay的这份评测报告有多么宝贵的价值。浅析Ruby on Rails部署方案ShiningRay的博客文章在这份评测报告当中,ShiningRay给出了更多的主流
阅读全文
摘要:摘自:JavaEye网站的RoR性能优化经验谈博客分类:RubylighttpdRailsRuby应用服务器LinuxJavaEye网站从2006年9月11日上线基于RoR的2.0版本开始,到现在已经运行了将近一年半了。在这一年半的时间里,JavaEye网站的每日PV从最开始的5万,缓慢增长到了现在的60万。随着网站负载的不断增加,我们也在不断尝试和调整网站的性能,积累了不少第一手RoR应用性能优化的实战经验。虽然我们并不是RoR性能优化的权威专家,我们所积累的经验也许并不是最优实践,但是作为国内最早涉足RoR商业运营的互联网网站之一,我们非常乐意分享和交流我们的实战经验,以帮助后来者节省必要
阅读全文
摘要:1.情况1: "bundle install" command or "gem install mysql2" it gives me following error"Error installing mysql2: ERROR: Failed to build gem native extension."解决方案: sudo apt-get install libmysql-ruby libmysqlclient-dev gem install mysql22.情况2: 安装mysql时候 改变了安装目录,checking for
阅读全文
摘要:使用Rspec进行行为驱动测试 :require 'machine' describe Machine do #Machine 是要测试的类名 before :each do @machine=Machine.new([:shopping,:checking_out]) @machine.events = {:checkout =>{:from => :shopping, :to => :checking_out}} end it "should initially have a state of the first state" do @
阅读全文
摘要:有时候会安装多个ruby,或者rails ,(如系统自带了老版本ruby,自己又稀里糊涂安装了个新版本),但是使用的时候发现,ruby -v 出来的并不是自己想要的版本。这里就涉及到环境变量中路径搜索先后关系,甚至是没有设置好ruby或rails环境变量。开始吧!以下就以rails为例:1.查看当前rails版本,rails -v2.查看当前正在使用的rails路径: which rails3.查找系统内所有已经安装的的rails; find / -type d -name "rails"4.设置环境变量,原则是根据步骤3得到的结果,把自己想要的那个放在前面。具体设置方法见
阅读全文
摘要:Ruby 开发环境,rails 开发环境 搭建:只需要安装下面几个插件即可 实现一个强大的支持语法高亮、自动补全、语法错误分析的ruby rails 开发环境vim 插件:pathogen.vimhttps://github.com/tpope/vim-pathogenrails.vimhttps://github.com/tpope/vim-rails#readmehttp://www.vim.org/scripts/script.php?script_id=1567ctags http://www.vim.org/scripts/script.php?script_id=610taglis
阅读全文
摘要:将你的程序所用到的密码和API证书号保存在一个自定义的配置文件中。我使用一个YAML并沿用了database.yml类似的格式。有需要的时候就使用常量。不要重复诸如客服邮件地址这类字符串,而是将它们保存在常量中(可以保存在environment.rb或者自定义 的配置文件中),然后在整个程序中使用该常量。尽量使用UTC时间,这可以使应用程序看起来更加一致性。(不过Rails 2.1的Timezone可提供更好的功能)请勿在一个 ActiveRecord 数据模型中遍历其它的数据模型。那样的话会产生大量的SQL查询操作。正确的实现方法是:1)如果多个数据模型已经相互关联,那么可以使用 find(
阅读全文
摘要:from:http://vinsol.com/blogAt VinSol, we have been developing and deploying Rails applications for more than four years. During this period, we have identified some best practices that we prefer to follow while deploying rails application to production server.Below is the checklist of these practice
阅读全文
摘要:前言2006初,我接到了公司分配的一个遗留项目,让我负责一个基于C/S的系统的服务器端。其实是系统是基于HTTP协议的,因为负责客户端的同事对于服务器端编程不甚了解,虽然使用PHP对熟悉C++的他来说是驾轻就熟,但是在进一步实现更多的功能和更高的性能上就捉襟见肘了。项目是在非常突然的情况下交给我的,因为该同事在客户端上有更多的事情要做。我在分析了他的数据库结构和PHP源代码之后,决定按照与客户端的通讯协议重写他的服务器端。为了能应付老板苛刻的时间限制,我打算使用正在学习的Ruby on Rails。后来,项目在功能上非常顺利地交付了。两年过去了,随着客户端数量的不断增加、客户端功能的增加、与服
阅读全文
摘要:#Class describ ------rdoc rules#= headers#this is header content#== sub header# this is sub header content#=== sub sub header# this is sub sub headerclass Animal attr_accessor :name #-------------① #this is the comment for the 'new' method ! def initialize type name = type #-------------② en
阅读全文

浙公网安备 33010602011771号