• 最近也在学习 rust, 赞楼主!

  • 还在招聘中,顶一下!

  • 自已用 imagemagick 实现一个也没几行代码吧,下面是我之前写的,你试下在 jruby 下能不能用 注意参数-font 字体路径,改成你自已的,另外需要 subexec 这个 gem(如果你已经用了 mini_magick,就已经有这个 gem 了)

    class Captcha
      def self.create(code)
        command = <<-CODE
          convert -size 100x28 -fill black -background white \
          -draw 'stroke black line #{rand(20)},#{rand(28)} #{rand(30)+50},#{rand(28)}' \
          -draw 'stroke black line #{rand(50)},#{rand(28)} #{rand(100)},#{rand(28)}' \
          -wave #{2+rand(2)}x#{50+rand(20)} \
          -font '#{Rails.root}/public/fonts/segoepr.ttf' \
          -gravity Center -sketch 3x1+#{rand(180)} -pointsize 22 -implode 0.2 label:#{code} png:-
        CODE
        sub = Subexec.run(command)
        sub.output
      end
    end
    
    class CaptchasController < ApplicationController
      def show
        headers['Cache-Control'] = 'no-cache, no-store, max-age=0, must-revalidate'
        headers['Pragma'] = 'no-cache'
        headers['Content-Type'] = 'image/png'
    
        session[:captcha] = random_text
        render text: Captcha.create(session[:captcha])
      end
    end
    
  • #1 楼 @sakura79 需要独立负责项目的开发, 没有压力更好, 感兴趣的话,欢迎过来聊聊

  • #1 楼 @sakura79 需要独立负责项目的开发, 没有压力更好, 感兴趣的话,欢迎过来聊聊

  • 可以用 https 提交?

  • #60 楼 @putty 你传给 update_attributes 的参数一定带了 avatar 字段

  • vim 求助 at 2014年01月19日

    #60 楼 @neutralevil 噢,多谢,我用的是Ubuntu, 看了下貌似没有什么替代品,我也交换了 caps_lock 和 control, 这样按左 control 毫无压力, 但是想按右 control 的时候好纠结

  • vim 求助 at 2014年01月17日

    #41 楼 @neutralevil 怎么绑定的?

  • alias 后的影响 at 2014年01月07日

    #6 楼 @u1378130755 那个 method 是 Object 的方法, http://ruby-doc.org/core-2.0.0

  • alias 后的影响 at 2014年01月04日

    以下内容纯属臆测

    首先,你可以想像有一张表在维护着 方法名方法体 的映射。 

    方法名是方法体的名字 (废话), 比如 hello, ori_hello 就是方法名。 方法体是计算机内部对象,我们估且称呼不同的方法体为方法体1,方法体2吧

    方法名 belongs_to 方法体 方法体 has_many 方法名

    就你以上的例子: def hello后,映射表是这样的 hello --> 方法体 1

    alias ori_hello hello后,映射表是这样的 hello --> 方法体1 ori_hello --> 方法体1

    def hello后 映射表是这样子的 hello --> 方法体2 ori_hello --> 方法体1

    所以, 问题 1.1: 旧的 hello(即方法体1) 依旧存在,只不过现在它只有一个方法名叫 ori_hello。 问题 1.2: 实际上我们是可以在代码中获取到方法体的,所以不用 ori_hello,也是可以调用旧 hello 的

    def hello
      puts 'hello world'
    end
    method_body = method :hello
    
    def hello
      puts 'hello china'
    end
    hello // ==> hello china
    method_body.call //==> hello world
    

    问题 2.1: 新的 hello(即方法体2) 跟旧的 hello(即方法体1)没有一毛钱关系。只不过是 凑巧 在方法体2中调用了方法体1而已。 问题2.2: There is no such thing as metaprogramming. It's just programming all the way through.

  • 类变量性能问题 at 2013年12月23日

    类变量不属于某一个特定的类, 而是属于整个继承链, 所以不存在父类的类变量覆盖了子类的类变量这一说法, 因为他们根本就是同一个变量, 请参见元编程 129 页.

  • 忘了 java 吧