• 300M 用 vi 打开应该是压力不大,直接定位到需要的那张表的 insert 语句处。把相关语句提取出来,然后再导入 MySQL 就可以了。

  • rbenv 安装 Ruby 2.0.0-p0 at 2013年03月04日

    #3 楼 @doitian 刚安装,用 git 安装的 rbenv,不需要 readline

  • #5 楼 @hhuai 我是开虚拟机买的。。。

  • 直接买不就可以了吗,可以用银联的卡往 appstore 帐号里面充钱的。

    前几天刚买了 dash

  • CarrierWave 导致的性能问题 at 2012年12月18日

    #3 楼 @Rei gem 有问题,url 应该是可以根据配置和数据库中字段计算出来,而不是需要想七牛服务器请求才能得到。找到问题就容易解决了,谢谢了。

  • CarrierWave 导致的性能问题 at 2012年12月18日

    #1 楼 @Rei 找到问题了,是 storage 设置为七牛导致的,设置成本地就 ok 了。qiniu 这个 gem,貌似生成 URL 会向七牛发请求。

  • #1 楼 @iBachue 直觉上就想到了递归,没想到循环。好像用 loop 然后中间判断循环退出也比较简单。花时间看了下 Ruby 的 block Proc ,重构了下,现在更加的通用。

    现在只需要如下这样使用就可以了:

    response = fetch_all do |count, cursor| observer.client.friendships.friends(uid: uid, count: count, cursor: cursor) end

    代码:

    def fetch_all(&fetch_proc) res = fetch_proc.call(10, 0) total = res.total_number return res if total <= 10 fetch(total, 0, &fetch_proc) end

    def fetch(total, cursor, &fetch_proc) left = total count = [200, left].min

    res = fetch_proc.call(count, cursor) left -= count next_cursor = res.next_cursor

    return res if (left == 0 || next_cursor == 0)

    more_res = fetch(left, next_cursor, &fetch_proc) more_res.users << res.users more_res end