- 浏览: 199266 次
- 性别:
- 来自: 北京
最新评论
-
ray_linn:
eval的速度也是慢得可以
Rails每周一题(十六): Evaluation in Ruby -
orcl_zhang:
>> Thing.my_class_eval do ...
Rails每周一题(十六): Evaluation in Ruby -
andyhu1007:
robbin 写道何况多进程rails都是每进程hold一个持 ...
线程安全的Rails -
robbin:
ruby本地的lib不是线程安全的,你多线程rails读取本地 ...
线程安全的Rails -
andyhu1007:
刚帮同事trouble shoot了一个问题:def upda ...
ActiveRecord的ORM问题域 Q&A
文章列表
Rack,貌似已经把Rails改革了。
Rack
Rack是什么?Rack提供了用ruby开发web应用的一个接口。比如Rails框架,就是由rack承担着跟web服务器之间的交互。简而言之,Rack已经成为ruby开发web应用程序的一个规范,它统一了web服务器和web框架之间的交互接口。它所支持的web服务器和web框架已经非常之多:http://rack.rubyforge.org/doc/
。
Rack的规范非常简单,就是一个call方法:http://rack.rubyforge.org/doc/SPEC.html
。接受一个e ...
这个图做得很漂亮,但Redirects这个箭头标得不合适,很容易让人误解。并没有action之间的redirect概念。Redirect本质上是向客户端返回一个带有location的302 response。
- 2009-11-28 16:11
- 浏览 2091
- 评论(0)
在新项目里使用了Haml
-- Html Abstraction Markup Language.
较之于Html,个人感觉Haml有这样几个优点:
1. 对于人来讲,Haml更加规范,更加优美. Html对空格,换行等字符的不敏感对于浏览器来说是好事,但对于人来说并不一定是好事.因为这会放任写代码的人忽略代码的规范,忽略代码的结构,忽略代码的优美.而Haml严谨的格式要求,让代码更加规范,优美. 代码不仅要让机器读懂,更要让人易读.
2. DRY. 这是对Rails DRY原则一个很好的传承. 消除重复,那么也该消除ERB中的重复. Haml ...
本文发表于《程序员》杂志2009年10月刊。可能由于编辑的工作繁忙,发表的不是此最终版本。杂志发表版本中有些不恰当表述,对此造成
的困扰,深表歉意。
Rails之美,我总结的有这样几点:简洁 、透明、自由、开放、轻灵、丰富和优美。可能你已经感觉到,这些词汇大多展现的是感性的一面。没
错,Rails开发的每一天都是那么“畅快”,畅快背后其实就是这些生动的感触。笔者希望从这些简单的感触出发,结合实际的例子,来展示Rails真实的
美。
Rails
之美
简洁
可能很多人在推荐别人使用Rails的时候,都会列举一个理由:简洁。的确,简洁是促 ...
IE6 sucks: http://bugzilla.qooxdoo.org/show_bug.cgi?id=890
刚好有一个none display的block,使用了background image。结果不停地弹出mixed content warning。IE6 sucks, 去死吧~~
JJG
在《The Elements of User Experience
》特别强调,要让每一个人参与到网站设计中:高层管理人员,市场人员,销售人员,等等。不过这里,我想他忽略了一个很重要的群体,就是开发团队
。
《The Elements of User Experience
》把用户体验分为五个要素: Strategy, Scope, Structure, Skeleton, Surface。
其中最根本的是strategy,因为它是用户的需求和网站的目标
。
在我们的开发过程中,拿到一个story并不意味着开发的开始,而往往很多时候我们会花很多时间论证这个story ...
- 2009-09-09 22:59
- 浏览 840
- 评论(0)
发布之后,系统才开始在真实的数据、环境上运行,才开始经受真实用户的考验。发布,不意味着项目的结束,却是挑战的到来。如何在发布之后,快速修复
影响到
系统使用的bug;如何在发布之后,快速改进在真实环境 ...
解决jruby-ldap
跟Active Directory兼容问题的patch。
# config/initializers/jruby-ldap_patch.rb
require 'ldap'
module JrubyLdapPatches
module AddToHashToEntry
def to_hash
self
end
end
module AlwaysUseLdapCtxFactory
def self.included(base)
base.extend ClassMethods
...
要写出优美的rails代码,必须理解和掌握association的机制。它能使代码编写更加简单和方便,更能使你的代码更加简洁和优美。除此之外,也必须了解association背后的实现。有时候,代码的优美不代表一切,甚至代表着背后的丑恶。
Association魔法
先来看看什么是association,以及association如何使你的代码更加简单和优美。
举个rubyonrails guides上的例子。
一个customer有很多orders,它们的模型是这样子的:
class Cust ...
我们可能了解Ruby的singleton method概念,它指的是一个对象独有的方法。
下面举个简单的例子,首先来定义一个类:
class ExampleClass
def foo
puts 'foot'
end
end
然后创建两个实例,并且给第二个实例增加一个singleton method:
example1 = ExampleClass.new
example2 = ExampleClass.new
def example2.bar
puts 'bar'
end
example2.bar
它 ...
Ruby的evaluation是一个很重要的功能,它可以eval一个字符串或者一个block。在一些适宜的情况下使用它会得到一些“意外”的效果。
常用的eval
Ruby常用的evaluation有:class_eval
(module_eval),instance_eval
,eval
。
这三种evaluation方法可以在不同的情况下使用:
1. class_eval
class_eval和module_eval是相同的,class_eval是module_eval的一个alias。
class_eval可以在一个mod的上 ...
1. returning
returning String.new do |item|
item << user.first_name
item << user.second_name if user.second_name
item << user.family_name
end
看看这个方法的定义:
def returning(value)
yield(value)
value
end
2. delegate
...
- 2009-08-02 18:53
- 浏览 1185
- 评论(0)
简介
简单而言,Rake是一个由ruby编写的build工具。
DSL
Rake是由ruby实现的,它的rakefile完全是由ruby语法定义的,所以它是一种内部DSL--基于另一种语言(宿主语言)编写的DSL。
Dependency Based Programming
Rake跟ant ...
- 2009-07-20 00:02
- 浏览 1337
- 评论(0)
1. will_paginate
will_paginate
是一个非常简单易用的rails插件,它提供了“分页”的查询功能和一些页面模板。
在查询功能上,这个插件的本质是在rails模型对象的查询方法上增加了一些条件。比如paginate方法可以看成 ...
- 2009-07-18 23:17
- 浏览 1013
- 评论(2)
我们这里谈到的性能测试包括性能度量和性能优化两部分,此篇主要关注性能的度量。将来会有单独一篇专题来讲述rails web应用程序的性能优化。
为什么要做性能测试
显而易见,对于一个web应用来讲,性能是重中之重 ...