会成为第一名的
#13 楼 @zw963 我已经提前公布了:http://rubylution.herokuapp.com/topics/7#reply-17 哇卡卡
sprintf
怎么不穿裙子??
你去 iamgemagick 文档上面把 resize crop 等命令看明白了以后图片处理 60% 的问题都解决了
4 格缩进好难看!
裁剪根本就不会拉伸!压扁!
我一直认为 vim 的自动格式化功能很弱!虽然大部分人鄙视用 Netbeans 的,但是 Netbeans 格式化功能是非常好用~
#7 楼 @chinacheng 脱离 Benchmark、Profiles 来扯性能问题都是耍流氓
我们都在鄙视链中,Linus 鄙视用 Github 的,用 Github 的鄙视用山寨 Github 的,用山寨 Github 的鄙视用 SVN 的.......
不知道你为啥一定要用线程。
system('sleep 10 && cmd > tmp/shell.log 2>&1 &')
这东西用 shell out 或进程通讯多好哇 线程不太好控制,特别是在 Rails 里的,受服务器模型影响
111111 333333 555555 ?
没找到 parser,找到了一个 generator:https://github.com/defunkt/nginx_config_generator 不过有人说这是 JSON 语法:http://helloworld.group.iteye.com/group/topic/17450?page=2 貌似 json 库解析不了,楼主可以试试
楼主可以看看 rack fiber pool 的实现。
ruby -e "puts 123456.to_s(36)"
2n9c
Ruby 本身就可以 Base36 呢
可以看一下这个:http://ruby-china.org/topics/440
RESTful
有在 model 里取得 current_user 的 hack 方法(http://qichunren.iteye.com/blog/551968),不过我觉得不好。并且有些实现还不是线程安全的。
我比较推荐的使用方法是下面两种:
一般这种 observer 都是和用户相关的,比如你这个例子,用户创建了一个 project,project 一定要有 user_id,在 callback/observer 里就可以直接取这个 user_id,而不是去找 current_user,current_user 的含义是和会话相关的。
class ProjectObserver < ActiveRecord::Observer
def after_save(proj)
Event.create(
:project => self,
:type => xxx,
:author => proj.user
)
end
end
如果你觉得有些时候在 project 这个表里加 user_id 会是冗余的,可以通过虚拟属性还解决,比如 Model 里:
class Project < AR
attr_accessor :user_id
end
Controller 里:
Project.create :user_id => current_user.id, ...
Observer 里:
class ProjectObserver < ActiveRecord::Observer
def after_save(proj)
Event.create(
:project => self,
:type => xxx,
:author => proj.user_id
)
end
end
还有些时候会考虑到性能,其实是不必要的,像这样的主键查询永远也成为不了瓶颈。而且,还有 AR 的 query cache 会帮你挡一下。
啊?