- 博客(17)
- 收藏
- 关注
让测试并行起来吧
一天又一天,随着我们不断增加测试代码,运行整个项目的测试耗时也越来越长, 2,30分钟成了家常便饭. 怎么样才能提高测试的速度,真正发挥持续集成的作用呢?并行测试!下面介绍两个我最近了解的比较cool的并行测试lib. 有这方面更好经验的同学,希望能给点意见. [b][size=large]deep-test[/size][/b] [url]http://githu...
2009-07-18 10:35:52
194
Rack Middleware Profile
Rack是一个高效,简洁的框架(Webserver Interface)。其设计架构十分简单,如下图所示: (图片来源:http://amberbit.com/blog/2009/04/04/introduction-to-rack-middleware/) 图中的每个Module都可以说是一个Middleware。并且这个类似stack的结构可以“堆积”更多的Middlewa...
2009-05-26 21:27:22
175
column_timestamp plugin
有些时候,我们可能需要记录某些列的更新时间,类似于rails的timestamps。手工一一处理稍显繁琐,于是将其抽取出来,写成了一个简单的plugin--column_timestamp,自动记录一些简单列的更新时间。 使用方法 1.将column_timestamp放到plugins目录。 2.在表中针对要记录更新时间的列建立一个新列:[column_name]_updat...
2008-10-16 00:00:11
270
为Rails中的validation error增加error_code
各位同学对model中一坨坨的validates_presence_of :name, :link 之类种种的代码不会觉得陌生。在执行save,update操作,rails会自动执行validation操作,并将错误信息存放在Model#errors中。通常,对于一般web程序来将,这就够了。我们可以将validation过程中的所有错误信息显示给用户,以进行修改。但是,在web api...
2008-08-05 22:49:00
315
linux下的回车
今天,用ruby写一段执行文件上传的post代码的时候,我写下如下代码:require 'net/http'require 'uri'url = URI.parse('http://myserver/services/upload.xml')req = Net::HTTP::Post.new(url.path)req.basic_auth 'username', 'passwor...
2008-07-25 22:47:26
439
Rails中如何更加优雅的处理文件上传
通常,在rails中处理文件上传,我们会这么做,在view中生成相应html tag:<input name="my_uploaded_file" type="file"> 然后,在controller中,我们可以通过params[:my_uploaded_file]得到上传文件,进行相应处理。 假如,现在作为controller的开发人员,我不知道view开发人员将inp...
2008-07-19 22:23:01
167
慎用typo(theme_support)的换肤机制
前言 本文提到的typo版本是目前最新的5.0.3.98.1,theme_support版本是1.3.0。在typo中,我们看到了很好很花哨的换肤机制,而theme_support则是从typo中抽取出来的一个plugin,以供其他程序进行换肤操作。 先简单介绍下typo换肤的使用。typogarden提供了typo十分丰富的皮肤,我们只需要下载喜欢的皮肤,解压,放在typo程序根目...
2008-07-17 23:29:15
219
Ruby中&&操作符的妙用(旁门左道)
几乎所有的现代编程语言都提供了&&操作符,ruby也不例外。我想每个人都知道&&的用法。但是在ruby中,利用&&可以实现一些“诡异”的用法,如下例子: 1. 基于这样一个事实:几乎ruby中的所有expression都有返回值(甚至if,case等等),例如: a = 10 + 20 # => 30some_bool = tru...
2008-07-09 22:30:20
414
Ruby生成斐波拉契数列
不管你是用c,c++,c#,java。。。不管你是用循环,递归,lambdas。。。我保证,你写的斐波拉契数列生成算法,没有用ruby写来得简洁:x,y = 0,1Array.new(10) {|i| [0,1].include?(i) ? 1 : (x,y = y,x+y)&&(x+y) }#=>[1, 1, 2, 3, 5, 8, 13, 21, 34, 55]...
2008-07-09 13:52:11
296
使用jquery动态修改dom元素属性在IE下的问题
当我们使用jquery的时候,如果要动态修改某一元素的属性,比如一个button的onclick属性,我们会很容易的写出如下代码: $(“#some_element”).attr('onclick',"//some new operation"); 但是这段代码在FireFox下会按我们的意图正确执行,但是在IE下什么动静都没有。关于问题的描述,可以参考: http://www.n...
2008-06-30 14:34:06
188
Linux下的几款svn gui工具
近日,由于git-svn不支持remote branch的合并(没想到啊~没想到!),便试用了几款linux下的svn gui工具,打算专门用来做branch之间的合并用。目前,试用了如下几种:rapidsvn,kdesvn,esvn。 1. rapidsvn 本认为rapidsvn是最好用的,但是玩了半天觉得不尽人意。首先,ubuntu的源里面尽然只有0.9.4-3这个版本,似乎...
2008-06-17 22:59:04
6605
1
遭遇mocha中的两个小陷阱
mocha是ruby下的一个mock框架。 关于mock object的相关信息,请参考:http://www.mockobjects.com/ 关于mocha的相关信息,请参考:http://mocha.rubyforge.org/ 基本概念及使用方法这里不谈,就谈谈最近在mocha碰到的两个小陷阱。 1.情况是这么个情况,完成了测试代码与功能代码后,我开始着手进行测...
2008-06-06 23:21:32
504
Ruby On Rails-2.0.2源代码分析(4)-寻找Controller
前言 经过一番试验和考虑...一,我尝试了一些思维导图工具(MindMapper,FREEMIND),但我始终没有找到一种好的方式将自己学习Rails源代码的思路表述出来,就此作罢(顺便问问,有研究思维导图的同学么?能否推荐两个自己觉得用起来比较顺手的工具)。二,不再打算整理代码运行顺序图,对不熟悉Rails源代码的同学们来说,这个图可能的确没什么帮助,甚至会把人搞晕。我现在打算从R...
2008-03-24 20:25:28
154
Ruby On Rails-2.0.2源代码分析(3)-named route和resource
前言 在《Routing的载入》中,我大致介绍了一下Rails中最简单的route是如何加载的。这篇文章,我将来讲一讲Rails系统中更为复杂的named route和与RESTful相关的resource是如何被加载的。为了不重复太多的笔墨,这篇文章将在前文的基础上进行,如果发现单独看此文时,有少许云里雾里,建议先看一看我的前篇文章:Ruby On Rails-2.0.2源代码分...
2008-03-21 00:28:38
126
netbean调试ActiveSupport::OptionMerger需注意的一个问题
这两天,在调试Rails的时候,碰到一个极度奇怪的问题,困扰了我足足两天,实在让我头晕脑胀,耳晕目眩。。。。。。具体情况描述如下: Rails框架的某一个地方使用了ActiveSupport::OptionMerger类,比如:ActiveSupport::OptionMerger.new(self, options)。但是,只要我通过单步进入到OptionMerger类initiali...
2008-03-18 15:08:47
154
Ruby On Rails-2.0.2源代码分析(2)-Routing的载入
前言 在前一篇文章中,我大致的讲解了一下Rails的启动过程,并罗列了个人觉得比较核心的源代码进行分析,算是管中窥豹吧~在分析initializer.rb代码的时候,我说过“initializer.rb的介绍暂时结束”,因为我特意略过了初始化过程中一个十分相当非常重要的过程--Routing的载入。这里,我专门用这篇文章来讲解一下。 Routing之于Rails就如同wai...
2008-03-16 22:58:12
150
Ruby On Rails-2.0.2源代码分析(1)-Rails的启动
前言 本文主要是针对Ruby On Rails 2.0.2的源代码进行分析,学习与研究。所使用的工具是NetBean 6.1 Beta,WEBRick,SciTE,ruby-debug-base(0.10.0),ruby-debug-ide(0.1.10)。Ruby版本为1.8.6。 应该怎么分析总结,是开始最令人头痛的事,Ruby是面向对象的语言,从对象的层次记录吧,似乎一切...
2008-03-12 23:32:59
107
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人