在 module 内部 extend self 相当于 module_function 声明。
就是为了让一个 module 可以 include 到一个 class 里使用,也可以直接 ActiveSupport::Inflector.inflections 这样调用。
DHH 的 cache digest 就算是向外传递 cache key 的思路吧。不过只针对的是页面源码。
还有另一种思路是 Tag Based Caching: https://github.com/ahawkins/cashier
在写缓存的时候,通过声明 tag,把一块儿的 cache key 用一个 tag 标记出来,失效的时候通过 tag 找到底下的所有 cache,然后 clear 掉。
看你抽象的对象模型啦。性能方面你的表不到千万级别差别不大。
让云飘一会儿!
这篇把攻击过程写的很详细:http://drops.wooyun.org/papers/1404
这个不错,如果使用静态页面,不能在不同环境使用不同代码,这个在用 GA 统计追踪的时候非常有用。
GridFS + varnish 看起来很高大上,难道不是 nginx 两行配置就搞定的事儿吗
一个人住两个房间!
这就 bug 了?难道两次相同的请求返回必须一样?
server 版 新 relic
feature
remote pry
#18 楼 @zerojetlag →_→
Ruby 真复杂啊:https://www.ruby-toolbox.com/
只有地瓜吗?
#21 楼 @yuhaidonghd 是的。