恭喜,@lgn21st 是第几婚了呀?
围观 #2 楼
都是让系统自动更新 xcode 的没碰到过这种情况...
#20 楼 @bhuztez 但是 2k 和 5k 有区别啊
nyara 要做的东西是 exploit Fiber... 例如下面的例子,view 布局是结构化的,但渲染是顺序可中断的
controller:
view = stream 'posts/index', layout: 'layout'
view.resume # 发送 head, 执行到 index.slim 的第一个 Fiber.yield
@ext_result = visit google # 调外网服务之类的很慢的, 等待时 queue 会激活其他 Fiber
view.resume # 执行到 index.slim 的第二个 Fiber.yield 并把这个东西前面的内容发到客户端
5.times do
sleep 1 # sleep 是个 helper, 沉睡当前 Fiber 而不是进程/线程, 所以就不用定时器了
view.resume # 执行到 index.slim 的下一个 Fiber.yield
end
view.end
平白无奇的 layout.slim
html
head
script ...
link ...
body
== yield
footer ...
用 Fiber.yield 加了插入点的 index.slim
...
- Fiber.yield
= @ext_result # 注意渲染 head 的时候这个东西还不存在
- Fiber.yield
- 10.times do
= "sanchi!"
= "pinchi!"
Fiber.yield
就是类似 em-synchrony 完全不用 callback, 但是比 em-synchrony 快,而且不需要 timer 相关的 API 了
如果在 libuv 之类的东西上做,像写 outbound data 之类的还是会多产生很多复制,而且实现的复杂度降不下来。结合 fiber 做程序要简单很多。简单就是健壮和速度...
求 erlang 版做法
合并不就是数组相加 uniq by id 么...
a1 = CustomerUnit.where("customer_units.name like '%z%'").pluck :id
a2 = CustomerUnitAlias.where("unit_alias like '%z%'").pluck :customer_unit_id
CustomerUnit.where id: (a1 + a2).uniq.sort
这样试试整出两坨然后合并?
CustomerUnit.where("customer_units.name like '%z%'")
CustomerUnitAlias.where("unit_alias like '%z%'")
这个 where 要跑 2k * 2k 遍的样子?
你可以分别找出 LIKE '%z%' 的然后合并结果就好了
#2 楼 @baichishow 那就只能换 rspec ... 有各种花样的 formatter
ruby some_test.rb -v
如果是 rake 任务
rake test -- -v
大概是开发模式 reloader 的问题,你可以把 require 'win32ole'
放到 config/application.rb
的最后一行试试。
Thread.new
是另外一个问题了,起了新线程,方法结束时线程还没跑完,所以实例变量不存在很正常。
要先装 office
Larry Ellison 钱都多得把夏威夷的第六大岛买下了,你们还忍心用 O 记的东西么?
哦,那你 rvm 生成不了 ri 的根本原因大概就是 rdoc 用 sudo 安装了吧?rvm 全部不 sudo 才对...
#4 楼 @blacktulip KVM 出 mac 版就好了...
#1 楼 @bhuztez #2 楼 @blacktulip
避免使用 oracle 相关产品才是长久之计