• 先帮你修改一下代码风格:

    def fibonacci(number)
        return number if number < 2  
        fibonacci(number - 1) + fibonacci(number - 2)
    end
    

    另外感觉你应该是还没有掌握递归这个概念? 递归的算法都需要一个基本条件(basecase),程序一旦满足了基本条件,递归就会终结。理解了这个概念,流程图就很容易画了。

  • 感觉这种和限制抢票的系统差不多,都是从前向后限制,越靠前越好。越靠前后面系统的压力越小。

    首先调用 API 的前端做限制,然后 API 前面加上 Nginx 并配置相应的 Nginx 限速模块。或者在系统层面使用 iptables 配置规则进行限速。这样应用本身不用做改动比较好。

  • 偷了 Karen 的头像很久了。RubyChina 是我现在唯一还用这个头像的地方。

  • 理解本质的 REST at 2017年10月10日

    TL;DR

    反正读到一半就觉得我已经不知道 REST 为何物了 😂

  • Rails Cookie 如何解密 at 2017年10月09日

    是没有做签名验证。我看了你下你的实现,给加上了, 同时增加了测试

    另外又用它写了一个读取 Devise session 的例子

  • 最近看到几篇文章,都是从 Rails 迁移到 Go 的案例。这些文章基本都是在2015年发的。希望能借助解答上面的问题:

  • 怎么做 Token Authentication? at 2017年10月04日

    如果一定要提升安全的话,其实还是有可行的方法的。我现在能想到的比如也可以通过 “锁定并强制重置密码 + 一个过期周期内强制使用账号密码登录” 实现。

    另外如果单纯从安全角度考虑,在数据库中存储 Token 如果被攻击者爆库的话,那造成的损失要比不存储的方式要大。 但是很显然,人们认为自己被爆库的可能性要低,所以大多数还是会选择存储 Token 的方案。

  • 怎么做 Token Authentication? at 2017年10月04日

    感觉账号被盗用后应该通过“锁定账号”的机制来提升安全。我们常用的银行或者其它系统都是这么处理的。

    比如账号密码被盗了,只删除现有 Token,盗用者只要重新登录就可以了。

  • 怎么做 Token Authentication? at 2017年10月03日

    就算有 JWE,没有 HTTPS 一样会被劫持。

    做用户验证的话被劫持后的效果是一样的,所以还是需要 HTTPS 更安全。所以我的说法有误。

    JWT 作为传输的包,验证内容还是建议用 token,不然 JWT 无法失效。

    失效可以通过设置的失效时间来确定。如果只用 JWT 作为传输感觉就没有必要了,那还是使用普通的 Token + HTTPS 的机制就好了。

    另外搜了下,感觉 JWT 还是一个饱受争议的技术: https://news.ycombinator.com/item?id=13865459

  • 怎么做 Token Authentication? at 2017年10月03日

    Token 要保存的,其实就是用它来做 key 来取用户信息。这种方式最好使用 https 连接。

    用 JWT 的话不用保存 Token,甚至不用 https 也是安全的。

Started learning Ruby and Rails from 2012 just in a loose manner mostly based on my Perl experiences. Very happy to join the Rubyists to get together with YOU and MORE~