• 似乎 Rails 6 的 ClassLoader 抽成接口所以可以替换了。

    扯个题外的,我之前和 @dsh0416 讨论利用这个和 Bootsnap 的原理做 Ruby 代码的预编译,甚至加上简单的AES加密,用来保护外包之类项目的源码

  • 代码看不懂 at 2019年03月18日

    你这里调的 test 是什么。。。你的贴图里一点跟他有关的都没

    其次,你要想理解代码,如果不会用调试器,最简单的方式就是你把要研究的那个函数里的每行代码都贴进你的控制台,一行一行执行看返回值,返会 nil 哪步 nil 的?这一步在做什么?调用的库的函数的文档怎么解释的?一步步分析

  • 代码看不懂 at 2019年03月18日

    控制台就是 irb,你用 Rubymine 应该也是这个吧

  • 代码看不懂 at 2019年03月18日

    我不是都给你一种可行做法了么。。。你用我的就行了吧。。。

    如果你真的想抠你贴的代码,那也容易,一个是查文档,搞明白这里面调用的每个函数的用途和用法,然后,这段代码在控制台里一步步执行,观察他们的返回值

  • 代码看不懂 at 2019年03月18日

    你能 which 出结果就说明 nmap 存在了,然后你记录下返回值(就是真实路径)然后再去掉他的命令就行了吧

  • 代码看不懂 at 2019年03月18日

    你要不考虑 win 的话,直接

    [1] pry(main)> `which ruby`
    => "/Users/jasl/.rvm/rubies/ruby-2.6.2/bin/ruby\n"
    [2] pry(main)> path = `which ruby`.gsub("\n", "")
    => "/Users/jasl/.rvm/rubies/ruby-2.6.2/bin/ruby"
    [3] pry(main)> path
    => "/Users/jasl/.rvm/rubies/ruby-2.6.2/bin/ruby"
    

    用系统的 which 不就能获得真实路径了吗?

  • 代码看不懂 at 2019年03月18日

    没用过这个 Rex,理论上不考虑跨平台,你直接 which nmap 就可以了

  • 代码看不懂 at 2019年03月18日

    他函数名已经把这段代码的含义说清楚了吧,定位 nmap 这程序的真实路径

  • 也就是说假如有一天,我们的 secret_key_base 改变了(这个是很有可能发生的),那么就算图片 URL 没有效期,插入到 HTML 里面的图片地址依然会失效。然后这个问题可能还会在你的系统跑了一段时间以后出现。

    这个好办,可以在 config/application.rb 里添加这样一段,让 ActiveStorage 使用不同的 secret 来做签名

    initializer "app.active_storage.verifier", after: "active_storage.verifier" do
      config.after_initialize do |app|
        storage_key_base =
          if Rails.env.development? || Rails.env.test?
            app.secrets.secret_key_base
          else
            validate_secret_key_base(
              ENV["STORAGE_KEY_BASE"] || app.credentials.storage_key_base || app.secrets.storage_key_base
            )
          end
        key_generator = ActiveSupport::KeyGenerator.new(storage_key_base, iterations: 1000)
        secret = key_generator.generate_key("ActiveStorage")
        ActiveStorage.verifier = ActiveSupport::MessageVerifier.new(secret)
      end
    end
    
  • 你说的变量指?如果是 Ruby 的变量最好还是别用 Webpacker,那个 erb-loader 性能不佳。

    新项目可以考虑下,老项目迁移还是要考虑成本的,另外 sass 的 ruby 实现这个版本终止维护了,要迁移到 sassc-rails 去

非 geek、非 hacker、二流工程师