• #2 楼 @xiaoniuniu 菇凉好~

  • #1 楼 @justin 神马时候 ruby 聚会呀

  • 使用 Rails 构建 API 实践 at 2015年09月08日

    #103 楼 @yasinjan 可以。

  • 本来社区里面“特殊看待妹子”的风气就很重,这份文章更是把这种思想写到了极致,确实会让人忍无可忍,尤其是那些真心参加活动想要做导师的人,还有女导师。也不怪那么多人吐槽。 我也申请了广州站导师,看到文章只是觉得不合适,没有转发,也并没有认真看待。 有时候自己会和朋友同事抱怨开发社区(线上论坛线下活动)里面的“特殊气氛”,但是从没有正式的发声抵抗,任由这种气氛发酵发展,反过来又再抱怨,恶性循环。 估计文主也是受了开发社区的氛围的影响才产生那样的文案,真正要处理的不是字面的言语,而是整个社区的态度。 很感谢 ruby china 的管理员们能认真的对待这件事情。

  • Rails 项目里的三大毒瘤 at 2015年06月29日

    #40 楼 @zzz6519003 没有失效呀。是本人哟,不过 45 度角,你懂的 :)

  • Rails 项目里的三大毒瘤 at 2015年06月28日

    #37 楼 @kayakjiang 看到你对测试见解,忍不住也想说两句。

    生产代码中含有协助测试通过的代码,这确实是啼笑皆非,很有可能是开发人员对测试开发认识不够,经验不够导致的,这个栗子不能说测试是原罪,就好像说刀能杀人,就说刀很邪恶一样,没有因果关系的推论,关键是看握刀的人。测试代码耦合这个问题,也是因为经验和认识不足导致的。

    The art of Unit Testing 里面提到写测试的目的和原则,以及想要写好测试(每个测试独立运行,互相不干扰,不耦合)是不简单的。你碰到测试经历,正好都是书写测试时候应该要避免的反例。

    在这里我避免使用 TDD 这个名词,因为它被理解为“严格的要先写测试,再写代码,其他的做法都是悖逆”。其实真正的测试比这样要广义,同时着力点不一样,测试的意义不在于要先写测试,而在于自动化 (automatic), 反复进行 (regression tests),重构 (refactoring) 和活文档 (live documents)。而测试也不是 rails 开发的专利。js 开发使用 jasmine, C# 使用 unit,我没有考究,但是估计其他语言也有测试框架。不是 rails 开发在写测试,而是做开发的会写测试。据我所知,google 的测试氛围是很浓厚的,他们很注重自动化的测试,参与开发了很多很棒的测试框架,如 seleniums。靠谱的开源项目也需要贡献者写测试,并不是没有原因的。

    除此之外,测试是能推进自动化部署(CI[continuous integration], CD[continuous deployment]) 的必要条件,这里我就不多说了,有兴趣可以了解持续集成,持续部署的相关文献。

    其实我很希望社区里多一些写测试的人,所以忍不住啰嗦多了几句。:)

  • #33 楼 @geniousli 就如代码中的注释,第一次调用 decode 只是为了获得 token 的 payload,进而拿到 account 的 password salt。第二次调用 decode 是为了验证 token 合法且没有过期。

  • 使用 Rails 构建 API 实践 at 2015年06月11日

    #56 楼 @kayakjiang 准确来说是 user 不需要 authentication_token 的属性,没有数据库的存储。

  • 使用 Rails 构建 API 实践 at 2015年06月11日

    可以直接用 gem 'rails-api', 剔除了 asset-pipeline 和 session 相关的功能。 授权用 jwt 处理,同时本地不需要存储 authentication_token 的。jwt 可以看这个,我现在的项目就是做 REST API 开发 https://ruby-china.org/topics/25080

  • @darkbaby123 正解。

  • 微信开放平台 Omniauth 探索 at 2015年05月05日

    pagekite 也不错,挺快的。只是只有一个月免费。

  • @huobazi 细节抠得好,确实 salt 也变了。 :plus1:

  • #6 楼 @ruby_sky 😃👍

  • #5 楼 @teddy good read! 文章解释得很好。还把不适用的原则道出。

  • #3 楼 @lolychee 再想,其实以上实现基本不用担心多次点击重复设置的情况。因为签发令牌的 secret key 是 password_salt,它的值会随着密码的改变而改变。当重置密码成功后,那个链接也就无效了,因为 key 变了。这里的例外情况就是除非用户又把密码设置回了自己忘记的那个。

  • #4 楼 @flowerwrong 设想是能避免数据存储最好了。redis 也是 很快的,本身系统就在永它做列队存储

  • #3 楼 @lolychee 没错。设计的时候没有考虑这点: 改进 一:

    • 在 token 里面存放一个 created_at 的字段,服务器端存 reset_password_at,对比两个时间来得出用户是否第一次修改密码

    改进二:

    • 把过期时间改成 15 分钟,忽略多次重复操作。(弱弱的觉得也不会有什么副作用)

    :)

  • 好文。 个人感觉 rails 开发确实忽略了很多 OOP, SRP 的原则,编着编着,就觉得很混乱,也会形成惯性,把逻辑都写在 model 里面,也不去思考 model 是否该负责这些功能功能。 没怎么踩过 AP 的坑,基本都是 API 开发,用 rails-api 做开发,AP 去掉,cookie 去掉,爽! 文里提到的书籍都很不错,很想看 modular rails, 可是好贵。。

  • 那么小也来做程序员呀~后生可畏

  • Ruby 自学书单 at 2015年03月05日

    #48 楼 @hpviewer 这。。莫非是大年三十(初一)发的。元宵快乐~ 😄

  • Ruby 自学书单 at 2015年03月05日

    #43 楼 @mogodb 重构和 design pattern 还在学习中。

  • Ruby 自学书单 at 2015年03月05日

    #45 楼 @xiaoronglv 是个姐们 😄

  • Ruby 自学书单 at 2015年01月20日

    #36 楼 @hooopo 待我看完交流可好 😄

  • Ruby 自学书单 at 2015年01月20日

    #31 楼 @cqcn1991 对于没有基础的人,大多从做一个 rails app 开始。有了认知,才开始看书。多做多看。Just do it. 笔记很详尽,好像更适合自己回顾思考~

  • Ruby 自学书单 at 2015年01月19日

    #28 楼 @hooopo Enterprise Integration with Ruby, 2006 这本书怎么样?

  • Ruby 自学书单 at 2015年01月18日

    #25 楼 @ruby_sky 快点教他 ruby 大法

  • Ruby 自学书单 at 2015年01月18日

    #22 楼 @cqcn1991 建议真说不上,我也是在学习:😄

  • Ruby 自学书单 at 2015年01月18日

    #21 楼 @cqcn1991 oop 那本确实很好。握手。

  • Ruby 自学书单 at 2015年01月18日

    #17 楼 @hz_qiuyuanxin practical oop 12 年就买了,今年才看…

  • Ruby 自学书单 at 2015年01月18日

    #14 楼 @317583395 看来内容还不够吸引呀