现在还有人用 rails4?
太麻烦了,直接可以做成 t{a; b}这样
set_trace_func 拿 binding,eval 一下就可以了
node 破事多
#14 楼 @killyfreedom 噢你说下面的 while 啊,那个应该可以用 join 移交到线程里,只是这里这样写了
不对这样就 join 不回去了,我去看了下 em 不是纯 ruby 的,那应该有别的实现
#14 楼 @killyfreedom 不是的,那个 while 是为了把资源分出去,就是接下来 0.05 秒内不参与资源竞争 em 我记得是纯 ruby 实现,想不到别的方法,回头研究一下
查询的方法放在 model 里,修改自身的方法放在 model 里 在一个 model 中,不能有修改其他 model 的方法,如果有的话,放在一个独立的 service 里(service 就是个普通 object,存放操作的代码) controller 里调用 service 或 model 的方法,将返回值处理成 view 需要的代码
我面试的时候也是,自己写的代码怎么工作的都忘了,回过头就都想起来了
ruby 没有原生的多线程,应该用 fiber 只会徒增调度成本。。除非请求特别长 这个是之前看过的手动调度 fiber 的 async/await,不知道 em 的底层是不是也是这样的,感觉应该差不多
require 'fiber'
def async &block
Fiber.new &block
end
def await &block
thr = Thread.new do
block.call
end
loop do
t = Time.now
p '.'
Fiber.yield while Time.now - t < 0.05
return thr.value unless thr.alive?
end
end
require 'net/http'
require 'uri'
reqs = 5.times.map do
async {
p await { Net::HTTP.get URI('http://www.baidu.com/'); 'ok' }
}
end
while reqs.size > 0
status = reqs.map do |x|
x.resume
end
reqs.select!(&:alive?)
end
写 find 的时候发现 ajax 没办法同步写,不过还好,有 await,async/await 也是肥肠的愉悦!
我描述的是 functor 吧,monad 也是从类似的想法衍生出来的吧,就是先串函数,不碰 Just https://blog.oyanglul.us/javascript/functional-javascript.html 相关的东西是在这看的,但不知对不对,可以批判一下。。
感谢分享!
其实就是 Array 这种纯容器不能延时求值,然后要给这个容器加个函数作为接口:
访问 → f []
之后对这个数组的操作都叠在 f 上,不 touch []
,
等到求值的时候再把 f 应用到[]
个人理解
因为喜欢 matz 才用 ruby.
js 确实是垃圾,我们来发明 java 2 javascript 编译器吧
所以为什么是strip_title
而不是strip
?
#8 楼 @darkbaby123 谢谢长回复!只是有点把变量包闭包的洁癖,其实问题不大
Zipper 的类型可以通过 List 求导得来,所以得出 Zipper 的数据也可以由 List 的数据以类似求导的方法取得吗? 类型吻合但是数据不吻合的情况应该很多,感觉 Zipper 更像一种巧合,或者说只是知道类型信息的话其实推导不出什么...
gg
外包团队的话未必比自学好,因为做的都是最基础的 CRUD,要做些大规模的东西才能学到东西,而且层次和在书上能看到的是完全不一样的
bundle install --deployment 不就行了
学习 Bash 的基础知识。具体来说,输入 man bash 并至少全文浏览一遍; 它很简单并且不长。
具体来说,输入 man bash | wc
5737(行)44537(词)340523(字符)
这个配上 mvvm 或者 react 应该非常棒,不然用 jq 艹页面能预感到会有非常多的问题。。