不得不说,RubyConf 绝对是社区良心(良心这个词最近在 RubyChina 曝光率很高~)
先帮你修改一下代码风格:
def fibonacci(number)
return number if number < 2
fibonacci(number - 1) + fibonacci(number - 2)
end
另外感觉你应该是还没有掌握递归
这个概念?递归的算法都需要一个基本条件(basecase),程序一旦满足了基本条件,递归就会终结。理解了这个概念,流程图就很容易画了。
感觉这种和限制抢票的系统差不多,都是从前向后限制,越靠前越好。越靠前后面系统的压力越小。
首先调用 API 的前端做限制,然后 API 前面加上 Nginx 并配置相应的 Nginx 限速模块。或者在系统层面使用 iptables 配置规则进行限速。这样应用本身不用做改动比较好。
偷了 Karen 的头像很久了。RubyChina 是我现在唯一还用这个头像的地方。
TL;DR
反正读到一半就觉得我已经不知道 REST 为何物了
是没有做签名验证。我看了你下你的实现,给加上了, 同时增加了测试。
另外又用它写了一个读取 Devise session 的例子。
最近看到几篇文章,都是从 Rails 迁移到 Go 的案例。这些文章基本都是在 2015 年发的。希望能借助解答上面的问题:
如果一定要提升安全的话,其实还是有可行的方法的。我现在能想到的比如也可以通过“锁定并强制重置密码 + 一个过期周期内强制使用账号密码登录”实现。
另外如果单纯从安全角度考虑,在数据库中存储 Token 如果被攻击者爆库的话,那造成的损失要比不存储的方式要大。但是很显然,人们认为自己被爆库的可能性要低,所以大多数还是会选择存储 Token 的方案。
感觉账号被盗用后应该通过“锁定账号”的机制来提升安全。我们常用的银行或者其它系统都是这么处理的。
比如账号密码被盗了,只删除现有 Token,盗用者只要重新登录就可以了。
就算有 JWE,没有 HTTPS 一样会被劫持。
做用户验证的话被劫持后的效果是一样的,所以还是需要 HTTPS 更安全。所以我的说法有误。
JWT 作为传输的包,验证内容还是建议用 token,不然 JWT 无法失效。
失效可以通过设置的失效时间来确定。如果只用 JWT 作为传输感觉就没有必要了,那还是使用普通的 Token + HTTPS 的机制就好了。
另外搜了下,感觉 JWT 还是一个饱受争议的技术: https://news.ycombinator.com/item?id=13865459 。
Token 要保存的,其实就是用它来做 key 来取用户信息。这种方式最好使用 https 连接。
用 JWT 的话不用保存 Token,甚至不用 https 也是安全的。
你的 test.sh 也是 cmd,和是不是附带路径无关。系统命令只是在 $PATH 中而已,是为了方便,你也可以用其绝对路径调用。众生平等。 你需要做的是对脚本用户和脚本权限的正确设置。
其实这是个无解的问题。因为没有一个量化说系统到了什么程度时就需要何种语言出场了,这不是语言层面的问题。因为 Rails 服务大型项目的案例也很多。
我上面说的是“Go 在做服务方面有优势”,这个优势包括很多东西。比如 Go 在语言层面原生支持的并发模型,它自带的 http 包对于一个入门小白也可以写出并发 Web 服务,而 Rails 在这方面需要额外的服务器的支持,比如 puma 等。毕竟还有很多程序员并不是很擅长把一个程序改成并发的。所以说 Go 语言的方案也只是一种选择而已。
如果想了解更多,建议还是去学习一下 Go。
是一篇翻译的文章,浅显易懂。对于入门 Go 和 理解区块链原理都很有帮助。
其实之前有想法在 go-on-rails 中加入对 hyperleger 的支持,当然这还需要再看下了。
其实就是性能问题了,Go 因为语言自身的特性做服务的优势还是很明显的。
还是利用 Rails 环境开发 Go,明显是没有放弃 Rails 哦 😄
JWT 算是比较通用的、独立的方案,但是这个在 Go 项目中读取 Rails 的 session 也有人发过包,也还是有价值的。
这里是一个 fork 的版本: gorails.
多谢,没有问题~ 👍
翻译自然流畅,不生涩。请问能注明来源转载吗?
类似的 Go 项目在 GitHub 上也有,比如 xo,数据库可是支持 PostgreSQL, MySQL, SQLite, Oracle 以及 Microsoft SQL Server 哦。
顺便安利一个由 Rails 项目生成 Go 代码的 generator:go-on-rails。
如果业务逻辑还不是很复杂,要不要试一试这个 : https://github.com/goonr/go-on-rails
好的,时间也暂定 30 分钟吧~
题目为 A gentle introduction: Go On Rails,谢谢
先报名一个主题吧:
我想讲一下最近做的一个 generator: go-on-rails, 该 generator 用于在 Rails 中生成和集成 Go 的 API。
主要说一下初始的想法及出发点、一个简单的 demo,同时更想听取一下各位社区小伙伴儿们的反馈和建议。
扔块砖。。。 (逃
1.upto(100) { |i| r = [i % 3, i % 5]; puts r.all?{|v| v.zero?} ? "FizzBuzz" : r[0].zero? ? "Fizz" : r[1].zero? ? "Buzz" : i }
报名
+1
the idea's stolen from Perl