Ruby China
  • 社区
  • 招聘
  • Wiki
  • 酷站
  • Gems
  • 注册
  • 登录
淘李福
@fsword
高级会员
第 244 位会员 / 2011-11-24

[email protected]
杭州
110 篇帖子 / 1798 条回帖
62 关注者
2 正在关注
13 收藏
喜欢经济学,愿意保持很土的外表
GitHub Public Repos
  • eosnode 2

  • ethnode 2

    build a docker image for ethfans' node

  • dockprom 1

    Docker hosts and containers monitoring with Prometheus, Grafana, cAdvisor, NodeExporter and Alert...

  • physics2 0

  • physics1 0

  • chatgpt-demo 0

    A demo repo based on OpenAI API (gpt-3.5-turbo)

  • caddy 0

  • make-proxy 0

    HTTP/HTTPS/Socks4/Socks5 proxy written in Erlang

  • physics3 0

  • eos 0

    An open source smart contract platform

More on GitHub
  • 概况
  • 话题
  • 回帖
  • 收藏
  • 正在关注
  • 关注者
  • 杭州 Ruby Tuesday at 2012年10月29日

    #20 楼 @yedingding 不会吧,碰巧我明天去上海你们就要搞,不人道啊

  • 杭州 Ruby Tuesday at 2012年10月29日

    #13 楼 @solomon_fc #14 楼 @armpc2008 #15 楼 @zhuf 多发言多参与,也欢迎多提问(当然方式上建议参考《提问的智慧》)

  • 寻求 mysql 管理工具 gui at 2012年10月28日

    #11 楼 @kgen railroady

  • 寻求 mysql 管理工具 gui at 2012年10月28日

    ubuntu 现在缺省的是 mysql workbench,感觉还行

  • (Solved) 用 mechanize 出现问题。。似乎是 mechanize 没装对 at 2012年10月28日

    #1 楼 @jt_today 你的程序就叫 mechanize?那在 require 'mechanize'的时候就已经与你想的不同了

  • 饿补 Ruby 基础之 --- 类之间的继承关系模糊了 at 2012年10月26日

    #4 楼 @xuluan 言简意赅,很多人的问题其实就是没弄清楚继承和实例化的不同

  • 如何在文件第一行写入? at 2012年10月26日

    #3 楼 @lgn21st #2 楼 @hyanwang 这个恐怕和 file system 本身的设计有关了,并不是所有 fs 都支持文件的随机位置插入,我甚至怀疑可能没有一个 fs 支持这个 feature

  • aop 功能似乎不如 spring at 2012年10月26日

    #7 楼 @chenge 客官,我们这有 alias、method chain 等南北大菜,如果您还不满足,还有 define_method、undef、method_missing、eval 系等终极糕点,您看要哪种?

    #8 楼 @shurrik 召唤各种雷人观点

  • [北京] 月薪 8k - 2w 招聘 Ruby 工程师 at 2012年10月26日

    #12 楼 @liuzihua 这个显示 access log 的问题只是举手之劳,怎么居然没人管呢?无语

  • aop 功能似乎不如 spring at 2012年10月26日

    我很犹豫,是不是应该说“嗯嗯,楼主说的对”

  • [北京] 月薪 8k - 2w 招聘 Ruby 工程师 at 2012年10月26日

    网站还是没处理,是不是只有运营和市场,没有技术人员,现在开始招干活的了?建议项目外包吧

  • RubyConfChina 遇到的问题和对应策略 at 2012年10月24日

    真的不容易

  • [强烈推荐] Railscasts-china 24 期 Two Daniel Pair Live Show 1 at 2012年10月24日

    这个有意思,下载看看

  • 杭州 Ruby Tuesday at 2012年10月23日

    #10 楼 @yedingding 不反对啊

  • 柔美版的江南 style at 2012年10月23日

    一开始没听出来是江南 style

  • 杭州 Ruby Tuesday at 2012年10月23日

    上次用 google 视频,感觉效果还行

  • Happycasts: 用 tmux 畅游命令行 at 2012年10月23日

    非常棒!

  • 大家看看这个代码能改进不 at 2012年10月22日

    #28 楼 @zw963 这些数据是可以伪造的,我用的数据也是伪造的

  • 大家看看这个代码能改进不 at 2012年10月21日

    #22 楼 @luikore 恩,这个不错,多一行 require,不过可以简化最长的那句

    require 'scanf'
    Dir['*'].each do |dir| 
      puts "%15s: %.4f %s" % [dir, Dir["#{dir}/*.txt"]
        .map{|x| [File.read(x).scanf('max:%d min:%d/').reduce(:-), x] }
        .group_by{|a| a[1][-14..-8]}
        .map{|k,v| [v.map{|a| a[0]}.reduce(:+).to_f/v.size, k]}
        .max].flatten
    end
    

    性能暂且不论,可读性有提高,可惜还是做不到 one-liner

  • [ Ruby on Rails ] 重構經驗談 at 2012年10月21日

    非常好的文章,持续关注

  • 这个帖子不错……“我姐和我女友是如何学编程的”…… at 2012年10月21日

    #11 楼 @jimrokliu 果断歪楼,上次去北京见过 @chairy11 ,不过不知道她单身,友情提示各位单身 gg:对程序员来说,找一个理解编程的人对沟通帮助会很大的

  • 创业团队是各司其职还是互相可替换 at 2012年10月20日

    #2 楼 @lgn21st 是的,这类问题我也觉得没有标准答案,不过我们可以讨论这个“看情况”,比如在什么时候,某种做法相对有优势,潜在的风险是什么等等

  • 创业团队是各司其职还是互相可替换 at 2012年10月20日

    另外,这个也会影响技术选型

  • ruby define_method 为什么比直接定义方法要慢? at 2012年10月20日

    #10 楼 @zzhattzzh 帖子修改过了?一开始好像说的不是这个意思?

    如果真要看执行时的差异,可以这样

    1.9.3p194 :038 > iseq = ISeq.compile "class MyClass2; def hello; 'hello' end; end"
     => <RubyVM::InstructionSequence:<compiled>@<compiled>> 
    1.9.3p194 :039 > puts iseq.disassemble
    == disasm: <RubyVM::InstructionSequence:<compiled>@<compiled>>==========
    0000 trace            1                                               (   1)
    0002 putspecialobject 3
    0004 putnil           
    0005 defineclass      :MyClass2, <class:MyClass2>, 3
    0009 leave            
    == disasm: <RubyVM::InstructionSequence:<class:MyClass2>@<compiled>>====
    0000 trace            2                                               (   1)
    0002 trace            1
    0004 putspecialobject 1
    0006 putspecialobject 2
    0008 putobject        :hello
    0010 putiseq          hello
    0012 send             :"core#define_method", 3, nil, 0, <ic:0>
    0018 trace            4
    0020 leave            
    == disasm: <RubyVM::InstructionSequence:hello@<compiled>>===============
    0000 trace            8                                               (   1)
    0002 trace            1
    0004 putstring        "hello"
    0006 trace            16
    0008 leave            
     => nil 
    1.9.3p194 :040 > iseq = ISeq.compile "MyClass2.send :define_method, 'hello' do 'hello' end"
     => <RubyVM::InstructionSequence:<compiled>@<compiled>> 
    1.9.3p194 :041 > puts iseq.disassemble
    == disasm: <RubyVM::InstructionSequence:<compiled>@<compiled>>==========
    == catch table
    | catch type: break  st: 0002 ed: 0019 sp: 0000 cont: 0019
    |------------------------------------------------------------------------
    0000 trace            1                                               (   1)
    0002 getinlinecache   9, <ic:0>
    0005 getconstant      :MyClass2
    0007 setinlinecache   <ic:0>
    0009 putobject        :define_method
    0011 putstring        "hello"
    0013 send             :send, 2, block in <compiled>, 0, <ic:1>
    0019 leave            
    == disasm: <RubyVM::InstructionSequence:block in <compiled>@<compiled>>=
    == catch table
    | catch type: redo   st: 0000 ed: 0004 sp: 0000 cont: 0000
    | catch type: next   st: 0000 ed: 0004 sp: 0000 cont: 0004
    |------------------------------------------------------------------------
    0000 trace            1                                               (   1)
    0002 putstring        "hello"
    0004 leave            
     => nil 
    

    似乎是用 define_method 添加的方法会把 block 封装成调用对象,于是每次调用时,调用栈会多一层 之前的说法不是很准确,稍微精确的说法应该是 define_method 等价于下面的代码

    class MyClass3
      def hello
        inner_proc
      end
    
      def inner_proc
        'hello'
      end
    end
    
  • 想使用 rails 做一个常在线的 gtalk 机器人, 如何让这个机器人 run 起来? at 2012年10月20日

    #19 楼 @ruohanc 那就把你的 robot 包装好接口,然后在 initializer 里面启动

    其实直接使用 AR 和环境变量也不复杂

    gem 'mysql2'
    require 'active_record'
    require 'yaml'
    
    MYAPP_ENV=ENV['MYAPP_ENV']
    
    ActiveRecord::Base.establish_connection YAML.load( File.read 'config/config.yml' )[MYAPP_ENV]
    
    $: << './lib/tieba_xiaoshuo_bot/models'
    require 'users'
    ...
    

    至于 db migrate,我估计你也不奢望能回滚吧,那就每次升级写一个数据迁移脚本完事

  • ruby define_method 为什么比直接定义方法要慢? at 2012年10月20日

    顺便罗嗦一句,ruby 的很多元编程能力很多只是在 runtime 时变化了类的固有行为逻辑,但是由于逻辑本身是固化的,调用栈的深度没有增加,此时语言的动态性并不会降低性能。所以如果你不是用 method_missing 这一类技巧,那么无需担心运行效率

  • ruby define_method 为什么比直接定义方法要慢? at 2012年10月20日

    #6 楼 @zzhattzzh send :define_method 这个过程是在类载入的时候进行的(类载入的时候为这个类添加一个 hello 的实例方法),后续对 hello 的所有调用和直接写 def 的做法并无差别

  • 想使用 rails 做一个常在线的 gtalk 机器人, 如何让这个机器人 run 起来? at 2012年10月19日

    #16 楼 @ruohanc 你能说明一下你想通过 rails 提供什么服务吗?如果只是启动和关闭机器人,那么这个 rails 没必要

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