http://nshipster.com/ 就用了这玩意儿,感觉效果还不错。
我一直在等 Sam Soffes 的 http://usewhiskey.com/
Firefox 有 Vimperator 哈哈
用过一段时间,但感觉总是不够爽。最后还是换回实物的白班了。
与其说是版本控制问题,不如说是设计问题。笼统地讲,就是要让设计更加模块化,职责明确,高内聚,低耦合,依赖倒置,可拓展性,可配置性。。。嗯,然后就是一大堆软工名词。当我没说。
如楼上几位的建议,把这些 feature 分离出来。code base 就像一个插线板,用主分支维护。特殊的 feature 就是各种插头,按需插拔。
此外,我没加 config.assets.precompile += %w(*.png *.jpg *.jpeg *.gif)
貌似也没遇到什么问题。
同 1 楼,楼主可能忘记 ;
了
#16 楼 @so_zengtao Anyway, 这几个方法对 cookie 泄露几乎是无力的。所以用户还是得注意保护自己的敏感数据。
此外,值得注意的是:既然做 hash,那么请务必不要把 hash 前的原始数据暴露出来。无论这个数据是在你的服务器上还是在用户的设备里。
#16 楼 @so_zengtao 明白。我指的是攻击者拿到了服务器上的用户数据后可能导致的问题。
#14 楼 @so_zengtao @Rei 目前在 Campo 的做法,倘若用户数据泄露,那么攻击者很容易通过 id + password_digest 的 hash 来伪造 remember_token 的?!当然,如果数据库泄露,人家也不用这么麻烦是吧。但可以悄悄做一些恶意的事情。
#11 楼 @so_zengtao @Rei 的 campo
刚刚接触 Rails,我也不知道比较安全,高效的做法。
Rails Tutorial 里是每次登录后用 url_base64 生成一段 16 位的字符串(两段字符串碰巧相同的几率非常非常小)姑且叫 remember_token
。然后对这个 16 位字符串做 hash 存到数据库 users 表的一个字段下(为了查询效率这个字段是做 index 的)。你的 app 把 remember_token
存到用户浏览器的 cookie 里。已经登录的用户每次访问页面时,会尝试拿 remember_token
做 hash 去数据库查询用户。当然,为了避免每次都查浪费效率,做了 ||=
处理
self.current_user ||= User.find_by(remember_token_digest: hashed_remember_token)
https://github.com/rails/rails/pull/6738#issuecomment-39584005
根据这个 PR,update_attribute
一度还被移除过。。。
作为 Rails 新手,发现部署到 Heroku 真是太太太方便了!不过以后在自己的 VPS 上部署可能会碰到不少问题。期待国内也能有类似 Heroku 体验的云服务。
和楼主类似,我目前的学习过程很大程度上是问题驱动。在解决问题的过程中会学到不少东西。但这有明显的缺陷,那就是不够系统,基础不够稳固,难以看清全貌。因此,我觉得还得定期拿书本出来系统地学一学。看书时因为有先前的实践,所以会比较有感觉,容易产生共鸣或加深理解。
在本科时对着大部头的教科书,基本上不出半小时肯定犯困。。。learn by doing 对我来说是不错的学习方式。
#37 楼 @cqzhangkang 时间是比较紧,白天写 iOS app,晚上写 Rails app。虽然之前有 web 开发基础,但重新再开始还是有点吃力。权当是业余爱好了。。。
同样是新手,花了一个礼拜照着 Rails Tutorial 走了一遍,再加上 rails guide,stackoverflow 编程大法,感觉可以了解个大概。接下来再系统地梳理一遍?然后抛开书本再做一次?
#4 楼 @reyesyang 多谢!