• 稍微看一下文档就有答案啊。 下面是 README 的原文,前一种用法才会解压,后一种不会。

    Compression

    Typhoeus.get("www.example.com", accept_encoding: "gzip")
    

    The above has a different behavior than setting the header directly in the header hash, eg:

    Typhoeus.get("www.example.com", headers: {"Accept-Encoding" => "gzip"})
    

    Setting the header hash directly will not include the --compressed flag in the libcurl command and therefore libcurl will not decompress the response. If you want the --compressed flag to be added automatically, set :accept_encoding Typhoeus option.

  • 你去了哪家公司啊后来?还是做产品?

  • 挖坟?不知道你想表达什么,我已经回复了两个不一样

  • 有没有薪资范围呢,从优就跟没写一样

  • 顶一下,传说中的 IT 荒漠居然也有公司用 Ruby 了。身为宁波人泪流满面啊。。。

  • Sinatra 2.0 出来了 at 2017年05月17日

    Cuba 不怎么更新,Roda 是 fork Cuba 后再开发的貌似

  • lz 精神可嘉,不过这里不是前端社区,大家并不关注前端项目。

    先前看到一个跟你的项目思路相似的整合性项目,可以参考,说不定互有增益。 https://github.com/jumpsuit/jumpsuit

  • #10 楼 @small_fish__

    1. gin app -> go 本身的 net/http server 甚至优化过的 HttpRouter
    2. express app -> node 本身的 net/http server
    3. sinatra app -> rack -> puma

    测试用例看上去差不多, 其实只是 app 层面代码复杂度接近,单个请求回路其实可能差距甚远。 如果 app 本身代码一旦复杂起来,可能单个回路的复杂度就差异没有那么明显了。hello world 级别的 benchmark 意义不大。

    gin 本身还宣称可以比同为 go 写的 martini 快最多 40 倍,这个就不是并发模型可以解释的了。 比较说得通的是语言本身性能有差距,http server 优化有差异,总体代码复杂度也差很多。

    另外有带 vm 的语言 warm up 一下可能会表现有所提高,虽然 YARV 在这方面几乎就是渣渣。

  • 一段 Ruby 代码解释 at 2016年04月23日

    #4 楼 @runup 按照你的理解,如果匹配空值,那么$怎么办?这里必须满足到结尾啊。 .*?不贪婪匹配,只是为了防止?=!也被前半部分匹配中

  • 一段 Ruby 代码解释 at 2016年04月21日

    1.Hash api 有 []方法,只是不接受额外的 block 的参数。[]是一个合法的方法名,任何对象都可以定义这个方法。这里的[]很可能是 Hashie::Hash 或者 Mash 覆盖了的方法

    1. .*? non-greedy, [?=!] one of "?", "=", "!"