:plus1: 我还是坚守 ai
#3 楼 @linjunzhugg 请看文档:http://www.ruby-doc.org/core-2.1.1/Regexp.html
这个写法是符合 IEEE 标准的 POSIX style 的,你说的标准正则应该是 PCRE
看了一下代码,我再来补充一句:
如果存在相同的 static symbol
,获取 dynamic symbol
的函数会直接返回 static symbol
举例来说:
:sym1 # static symbol
'sym2'.to_sym # dynamic symbol
'sym1'.to_sym # static symbol
这个跟 string 还是有所区别的,所以还是有意义的 @robertlyc
话说可不可以把 cache_key
换成 role_name
呢?这样不同角色就可以 hit 不同缓存了
def role_name
.... # admin, member, public
end
<% cache [:todolists, role_name, @todolists.max(&:updated_at) ] %>
...
<% end %>
#2 楼 @lmorenbit 对啊,你说的现象就是答案
great job!
这个不是 cache,而是 oop 基础 ruby 的 classloader 在装载入内存时会初始化类的类变量,方法,执行类静态代码(块),把初始化后的类放入堆中,这个是初始化时完成的操作,当类进入内存之后就直接从堆里面拿了。
好吧,事实上我没找到任何关于 rvm 原理的文章,看看就好
b 站的是元素不隐藏,祖父容器 hidden,父容器相对位移。 复旦那个是元素隐藏,每次滑动将当前元素设为负边距 100%,下一个元素设为 100% 逐渐减为 0 至于有什么插件就不清楚了,知道原理自己写起来也不费事
#39 楼 @jiyinyiyong 感谢分享,正在看
前两天刚好遇到这个问题,检查一下启动配置。我是在里面调了 system
函数报错,删掉就 ok 了
你说的是 cramp 吧?他跟 goliath 都是基于 EM 的,用纤程的有基于 celluloid 的 reel 你说的都可以用来做实时聊天,不过我建议把 akka 单独区分开来而且也不要去碰他,对于小应用来说技术栈太深 如果要快速开发的话还是建议上 socket.io 或者 faye,其他框架都要自己做前端降级
#4 楼 @linjunhalida 对,就是避免这种情况..Ruby 会就近查找对应的模块,如果继承链上存在这个模块就直接返回不会再向上回溯
module A; end
class B
module A; end
def self.pp
puts A
end
end
module C
module A; end
end
class D
include C
def self.pp
puts A
end
end
class E < D
def self.pp
puts A
end
end
B.pp #=> B::A
D.pp #=> C::A
E.pp #=> C::A
就是回到全局命名空间啊..
#8 楼 @jzlikewei 直接通过地址访问就是了,一样通过 nginx 发,就是在发送前 rails 校验一下权限
function isNumeric(n) {
var i = +n;
return ([]).toString.call(i) === '[object Number]' && i === i;
}
不知道。因为目前我还没看到有人会去关掉它...
#24 楼 @darkbaby123 Live 是建立在 coffee 之上再加入了 FP,并且修正了 coffee 那些不如人意的地方,比如 ~= 约等,var 声明,:= 赋值穿透等等 至于 ES6,先不说得等到何年何月,那一大堆新特性就能弄倒一批常用的类库,这些转译语言肯定也不能幸免的
#3 楼 @hxtheone 有点向 fp 方向走了,不习惯 fp 的确难懂
#4 楼 @jiyinyiyong 哈哈,在团队里我也不敢用。主要是自己的项目里折腾
#1 楼 @small_fish__ 的确,coffee 和 livescript 走的方向不同。coffee 一开始用 ruby 写的编译器,后来才改用自举,所以跟 rubyi 很像。而 livescript 更像是 haskell,f# 那类的纯 fp 了
#2 楼 @yukihiro_matz Coffee 没那么炫啊,都不能在小伙伴前耍帅了
就是没有界面的浏览器,定位跟 watir 一样自动化测试,就是少了个界面。拿来采集数据那速度和内存实在感人,很多时候只作为最后的手段