• 从上帝视角看微服务 at 2018年12月29日

    想请教一下关于市场部门的临时需求, 跟业务的主线需求有分歧的时候, 怎么编排代码会比较好?

  • 在 rails5.2 里可以这样写:

    # ...
    module ClassMethods
      def search_by_game_name(name)
        puts "search_by_game_name(#{name})"
      end
    end
    # ...
    

    或者

    # ...
    class_methods do
      def search_by_game_name(name)
        puts "search_by_game_name(#{name})"
      end
    end
    # ...
    
  • ActiveSupport::Concern 小结 at 2018年08月17日

    如果只是混入实例方法的话, 普通的模块就够用了, 就算被引入的模块有多层 include 也没关系. 如果要考虑 extend, 而且还涉及多个层次的模块, 这才是 Concern 的用武之地.

  • 原来如此, 感谢!!!

  • extract_options! 实现的疑问 at 2018年06月18日

    @liukun_lk @IChou 谢谢讲解 !!!

  • 透彻理解 Ruby 中的 return at 2018年05月08日

    请问有木有办法写成一句话呢? 不占用额外的方法名

  • 面试中的基础题小结 at 2018年05月03日

    大家都是成年人, 有自己的判断和选择.

    可以讨论问题, 不要 judge 别人, 谢谢.

  • 面试中的基础题小结 at 2018年04月28日

    上海

  • 笔记一则:

    class Gear
      # 车轮的抽象数据结构
      Wheel = Struct.new(:rim, :tire)
      # 整理输入数据
      def wheelify(data)
        data.collect do |per|
          Wheel.new(per[0], per[1])
        end
      end
    
      attr_reader :wheels
    
      def initialize(data)
        @wheels = wheelify data
      end
    
    
      def diameters
        wheels.collect { |wheel| diameter wheel }
      end
    
      # 计算车轮直径
      def diameter(wheel)
        wheel.rim + (wheel.tire * 2)
      end
    end
    
    
    input = [
        [622, 20],
        [622, 23],
        [559, 30],
        [559, 40],
    ]
    p Gear.new(input).diameters
    
    =begin
    此时的 Wheel 还没有必要单独抽出来, 用 Struct 是一个方便当下又面向未来的方法.
    
    
    依赖行为而不依赖数据: 使用存取器而不是直接操作实例变量.
    隐藏具体的数据结构: 将输入数据的格式处理单独封装, 将无语义的数据索引转化为有语义的属性值.
    =end
    
    
  • 透彻理解 Ruby 中的 return at 2018年04月25日

    不好意思, 我一开始对 proc 的上下文理解错了. 这样就明白了

    def func(array, &block)
      v = 1
      array.each do |ele|
        block.call(ele)
      end
    end
    
    fruits = ["banana", "apple", "pear"]
    v = 2
    func(fruits) do |f|
      return (p v) if f=="pear"
      # next if f=="pear"
      puts "i like" + f.capitalize
    end
    
    =begin
    i likeBanana
    i likeApple
    2
    main.rb:22:in `block in <main>': unexpected return (LocalJumpError)
    =end
    
  • IO 模式和 IO 多路复用 at 2018年04月23日

    之前读相关内容做的笔记 https://ruby-china.org/topics/34062

  • 当年毕业季的时候也做过类似的产品 😂😂😂 结果爆款大卖,无人定制 🌚

  • 透彻理解 Ruby 中的 return at 2018年04月23日
    def func(array, &block)
      array.each do |ele|
        block.call(ele)
      end
    end
    
    fruits = ["banana", "apple", "pear"]
    func(fruits) do |f|
      # return if f=="pear"
      next if f=="pear"
      puts "i like" + f.capitalize
    end
    

    请教各位, 如果使用注释里的 return 的写法, 就报 unexpected return (LocalJumpError) , 怎么解释呢?

  • 同一个 session 周期内, token 是不变的

  • max_bottom_edge = (ARGV[0].chomp.to_i rescue 3)
    
    # only support for odd number
    if max_bottom_edge & 1 == 0
      max_bottom_edge += 1
    end
    
    level = (max_bottom_edge +1) / 2
    
    for i in 1..level
      # spaces
      (level-i).times do
        print(" ")
      end
    
      (i*2-1).times do
        print("*")
      end
    
      print("\n")
    end
    
    =begin
    $ ruby main.rb 29
                  *
                 ***
                *****
               *******
              *********
             ***********
            *************
           ***************
          *****************
         *******************
        *********************
       ***********************
      *************************
     ***************************
    *****************************
    =end
    
  • 网站有一个 welcome 页面, 是独立设计的, 跟其他页面差别很大, 我是这样做的:

    assets/javascript 中新建 welcome.js, 在 application.js 按需引入

    添加预处理配置: config/initializers/assets.rb

    Rails.application.config.assets.precompile += %w( welcome.js welcome.css  )
    ``
    
  • 哦哦, 谢谢. 之前确实不知道这个样式, 现在改成这样了:

    $("#create_tube").click(function () {
        $("#create_tube .fa-plus").addClass("fa-pulse");
        $(this).addClass("disabled"); //with CSS: pointer-events: none;
    });
    

    上面提到的问题: 给 html 加 disabled 属性, 点击收不到请求, 请问这个怎么解释?

  • 楼主能不能帮忙解释一下最近币值和美股的联动关系?

  • 谨防比特币和区块链骗局 at 2018年01月26日

    将这个方案迁移应用到终身责任制的领域会不会更有效, 比如建筑施工, 比如司法判定, 比如历史档案, 比如上市公司财务.

    在不考虑成本的情况下, 如果把每个人的言行都上链, 世界会更好吗? 或许不会.

  • 赞, 已下单

  • Cookie 涨姿势了 at 2017年11月27日

    您好, 请问: 按楼主说的情况, 第三方的 JS 写入 Cookie, 被限制到那个第三方的 domain 下面, 请求自己的页面是不携带这些写入信息的吧. 为什么还会出现楼主说的问题呢?

  • 数字习惯每四位分隔一次, 如何用 number_to_currency 实现这个功能呢?

  • Web 安全和 Rails at 2017年11月22日

    在用户数据入库前就 html_escape 会不会更好呢? 毕竟处理输入时会格外注意这些, 而且处理输入的频次要远远低于处理展示的频次

  • 👍 👍 👍 就是看这本书入的门

  • Rails 中的时区及时间问题 at 2017年10月30日

    楼主最后一段有笔误, 应该是 created_at.localtime.to_s(:db) .

    我的做法是在数据库统一使用 UTC 时间, 在 ApplicationController 的时候根据 cookie 里的值给 I18n 和 Time.zone 赋值.