Ruby China
  • 社区
  • 招聘
  • Wiki
  • 酷站
  • Gems
  • 注册
  • 登录
larrylv
@larrylv
高级会员
第 79 位会员 / 2011-11-14

7 篇帖子 / 161 条回帖
19 关注者
0 正在关注
50 收藏
Engineering at @stripe
未设置 GitHub 信息。
  • 概况
  • 话题
  • 回帖
  • 收藏
  • 正在关注
  • 关注者
  • Performance Differences in Ruby at 2014年05月13日

    #14 楼 @hbin Hash#slice 似乎是 ActiveSupport 中的 monkeypatch?

  • Performance Differences in Ruby at 2014年05月13日

    #11 楼 @meeasyhappy

    Rails 中使用这样写法的实例 https://github.com/rails/rails/blob/3fad674591f72eb2d4e18c651e23f09804fe2d1a/activerecord/lib/active_record/scoping/named.rb#L143-L145

  • Performance Differences in Ruby at 2014年05月13日

    #10 楼 @meeasyhappy

    gsub 是全局替换,sub 只替换第一个,应用场景不一样,所以没有可比性。

    不是没有可比性,而是说如果只需要替换第一个,就应该使用 sub 而不是 gsub,否则效率会下降。

    为什么直接赋值 更快呢

    嗯,其实这个和 Proc#call v.s. yield 的道理是一样的,会产生新的数组对象,所以更慢。

    Explicit versus implicit String concatenation

    这个问题实际上也同理。"a" + "b" 就会产生两个对象,然后相加后就会产生第三个对象,而使用 "a" "b" 只用创建一个对象。

    fast   3086600.4 (±7.8%) i/s -   15367098 in   5.012460s
    append  3086374.5 (±9.1%) i/s -   15305635 in   5.007838s
    another  3038806.7 (±9.9%) i/s -   15048810 in   5.010956s
    

    从你的结果来看,还是 fast 更快啊,只是这几种写法差异没那么大就是了。

    其实关于 String 还有一个要注意的是,尽量避免使用 str += 'a' 这种写法,而是用 str << 'a',道理一样,避免创建多个对象。

  • 来段小清醒的代码 at 2014年05月07日

    str.reverse == str

  • Happy Birthday, Ruby! at 2014年02月25日

    🍺

  • 关于多态的问题 at 2014年01月13日

    可以参考这段文档:http://guides.rubyonrails.org/association_basics.html#polymorphic-associations

  • MBA 11 inch or 13 inch at 2013年10月14日

    #23 楼 @zz https://github.com/larrylv/dotfiles

  • rails 项目文件里的 bin 目录是做什么用途的? at 2013年10月10日

    https://github.com/rails/rails/commit/61b91c4c55bcbd5a2ec85d6e1c67755150653dff

  • Ruby 保存的 csv 文件,跟 Excel 各种不对付啊…… at 2013年09月23日

    #10 楼 @hexawing

    比如你生成的 csv 字符串为 csv_string (编码为 utf-8).

    那么在最后写入文件时,只要在文件头加上 Byte order mark,然后将字符串转换为 utf-16 little endian 编码即可。

    代码大致是下面这样:

    CSV_BOM = "\377\376"
    
    require 'iconv'
    
    class String
      def utf8_to_utf_16
        begin
          Iconv.conv('UTF-16LE', 'UTF-8', self)
        rescue
          self
        end
      end
    end
    
    File.open(file_path, "w") { |file|
      file.puts CSV_BOM + csv_string.utf8_to_utf16
    }
    
    
  • Ruby 保存的 csv 文件,跟 Excel 各种不对付啊…… at 2013年09月23日

    #5 楼 @hexawing 重点是这段:Forget about UTF-8. Use UTF-16!

    Wrapping up

    So, these are the three rules for dealing with Excel-friendly-CSV:

    • Use tabulations, not commas.
    • Fields must NOT contain newlines.
    • Use UTF-16 Little Endian to send the file to the user. And include a Little Endian BOM manually.
  • Ruby 保存的 csv 文件,跟 Excel 各种不对付啊…… at 2013年09月23日

    http://blog.plataformatec.com.br/2009/09/exporting-data-to-csv-and-excel-in-your-rails-app/

  • MBA 11 inch or 13 inch at 2013年09月12日

    推荐 11'.

    我最初买 11' Air 主要是看了 Jason 的这篇 blog: A few product recommendations.

    我用了这台 11' Air 差不多一年了吧,刚开始买来时开发时都是 外界显示器 + 机械键盘 + trackpad。

    后来完全弃用了这些,一切都只在 11' 上完成。可能对于设计师来说,11' 的屏幕稍微小一些,但是对于工程师,尤其是 web 开发工程师,再合适不过了。

    我刚才扫了一眼办公室,工程师用 Air 的都是 11' 的,共有 9 台,还有几个产品经理也都是用的 11'。

    开发时是这样的:

    做笔记的时候是这样的:

    浏览网页的时候是这样的:

    最后推荐一个窗口管理软件:Moom 。无论是 11', 13' 还是 15' 的 Pro,都该试用下 Moom 来管理你的窗口,尤其适用于经常连接/断开外接显示器的同学。

  • Mac 下的邮件客户端显示邮件回复的顺序都是跟 gmail 反的 at 2013年09月10日

    @xstmjh Preferences -> Advanced -> Conversation View 勾选 Show older messages first.

  • 如何开始你的 SOHO 之旅 (1) at 2013年08月16日

    #3 楼 @keating Elance 有专门的 tracker 软件,工作的时候开着即可。tracker 软件会隔段时间截屏,然后会有专门的 team review 你工作期间的截图,如果认为与工作无关,就会扣掉相应的工时。当然,也会给你申诉的机会。

  • 姨妈贴 RVM rbenv 讨论 at 2013年08月05日

    @ery Use Bundler.setup in test/test_helper.rb.

  • 姨妈贴 RVM rbenv 讨论 at 2013年08月01日

    #9 楼 @ery 可以把 binstubs 指定的地址加到环境变量,然后直接 rails s 即可。

    比如我总是指定 --binstubs=.binstubs,然后将 .binstubs 放在 $PATH 的最前面就可以了。

    alias bi='bundle install --path=vendor/bundle --binstubs=.binstubs'
    export PATH=.binstubs:$PATH
    
  • 姨妈贴 RVM rbenv 讨论 at 2013年07月31日

    我目前的情况是本地用 rbenv, 线上 (公司) 用 rvm。但是它们的 gemset (rbenv 有 gemset 的 plugin) 功能都不用。

    从来都是 bundle install --path=vendor/bundle --binstubs=.binstubs。

  • Mac 用户快来滚雪球啊... at 2013年04月27日

    Money 已解锁。

  • Mac 用户快来滚雪球啊... at 2013年04月24日

    Path Finder 和 CleanMyMac 2 超值,Clarify 也很不错。

  • Mac 下如何设置 Redis 开机启动 at 2013年04月19日

    brew info redis

  • git push 失败的问题。求帮助。 at 2013年04月18日

    贴一下 .git/config 文件内容。

  • 比 ack 更快更好用的东东:the silver searcher at 2013年02月19日

    试用了一下,不过 the_silver_searcher 不支持 --nojs 这样的选项,略不爽。

    ack 支持几乎所有 filetypes. ack --help-types

  • 用 vim 开发 rails,请有经验的人分享一个 vimrc? at 2013年01月06日

    #7 楼 @knwang Tim Pope 的 ragtag 也不错

  • 应届毕业生没有三方协议会怎么样? at 2012年11月23日

    不读研了?准备去哪?

  • 百度公司附近的房价怎么样?最近要去那实习? at 2012年11月23日

    #17 楼 @discover :-)

  • vim 粘帖时候的麻烦 at 2012年11月15日

    #2 楼 @ganweiliang 赞 之前一直被这个问题困扰....

  • 问一个有关 ruby 作用域的问题 at 2012年11月09日

    NoMethodError: private method 'pri' called for #<Soap:0x0000000218b828>

    报错的原因是传参数 other 就是你传进去的 Soap 实例,不传就是 s1, 同样是 Soap 实例。而实例变量是无法调用 private 方法的。

  • 上一页
  • 1
  • 2
  • 3
  • 4
  • 5
  • 下一页
关于 / RubyConf / Ruby 镜像 / RubyGems 镜像 / 活跃会员 / 组织 / API / 贡献者
由众多爱好者共同维护的 Ruby 中文社区,本站使用 Homeland 构建,并采用 Docker 部署。
服务器由 赞助 CDN 由 赞助
iOS 客户端 / Android 客户端 简体中文 / English