• 答题 1: "a".next 另外有一段代码记忆深刻

    def triangle(a, b, c)
      raise TriangleError if [a,b,c].min <= 0
      x, y, z = [a,b,c].sort
      raise TriangleError if x + y <= z
      [:equilateral,:isosceles,:scalene].fetch([a,b,c].uniq.size - 1)
    end
    

    这段代码出处参见:https://ruby-china.org/topics/15476

    答题 2: 呃,我能说我毕业工作以来一直都是从事 Ruby 相关的开发吗? 好吧,尽管如此,我刚开始也是使用 XP + Aptana,然后才转成 MAC + Sublime

    答题 3: 嗯,自从知道如何创建 gem 以后,做过一些用来处理接口的 gem,没有任何普遍适用性,就不拿出来分享了。。。

  • #7 楼 @saxieyu 我都没发现哎,这个有点逗

  • #28 楼 @Peter 不要闹~好好的就变味了,以后还怎么叫得出口

  • 给包大人顶一个~

  • #15 楼 @Peterrubycas-server中不保存任何用户数据的,它只是读取 A.com 的数据库,判断用户的登录行为是否合法; B.com 中没有用户数据,也无法从 rubycas-server 中获取用户数据,所以,B.com 从 rubycas-server 中得知用户登录成功,并且在自己用户表中没有检索到对因的用户信息,那么 B.com 应该为这个用户新建一个 B.com 中的账户,然后让用户自己去完善这个账户。你可以参考下许多支持 qq 登录的论坛网站的做法

  • rubycas-server 中不保存任何用户数据的,它只是读取 A.com 的数据库,判断用户的登录行为是否合法; B.com 中没有用户数据,也无法从 rubycas-server 中获取用户数据,所以,B.com 从 rubycas-server 中得知用户登录成功,并且在自己用户表中没有检索到对因的用户信息,那么 B.com 应该为这个用户新建一个 B.com 中的账户,然后让用户自己去完善这个账户。你可以参考下许多支持 qq 登录的论坛网站的做法

  • #13 楼 @Peter 我已经从原来那个公司离职了,代码没办法给到的,况且从现在回头看那份代码,其实写的是相当糟糕的,再者,那是 ruby 1.8.7(貌似,既不清楚了,反正很老)给你估计也用不上。 然后,这些功能其实不难的: 用户注册就理解成用户新建; 忘记密码就是往用户注册的邮箱发一封包含重置密码的页面 URL 的邮件,这个 URL 结尾带一个参数,一般时随机生成的,然后通过 cache 临时存储的; 验证的话,就通过那个随机参数与系统中的 cache 去匹配,能匹配到就表示当前链接有效,然后删除 cache 就好了,然后做个表单提交新的密码就好了。

  • #11 楼 @Peter 赞,多谢分享,有机会的时候我尝试下这个

  • #7 楼 @Peter 呃,他那个 config.ymal.example 里的注释中写的还是比较清楚的,我当时是没仔细看

  • #4 楼 @Peter 你留意下这个地方,进行摘要的字符串可能不对,我当时这块是出错了的

  • #4 楼 @Peter 对的,其实就是你贴的那个网页里的方法,你现在什么问题导致校验不正确?。。。我问得是废话,知道问题所在一般都能解决问题了

  • #2 楼 @Peter 呃,我是这么去理解这个事情的。 首先,用户的密码的作用就是校验使用个密码的人是否为真正知道这个密码的那个人。而校验的过程就是提交一个密码与数据库中保存的密码相互比较,看是否匹配。那么最简单的,数据库中保存的密码为:123,提交的内容为:123,匹配通过。 但是这样是不安全的,不论通过何种方式,数据一旦泄漏,那么,用户的密码就也随之泄漏。所以,我们就要考虑使用加密。 在数据库中保存密码密文,而用户提交密码明文,通过加密算法,将用户提交的密码明文转换成密码密文,再与数据库中的密码密文匹配。在这种情况下,数据泄漏后,得到数据的人看到的是密文,在一定程度上可以降低密码泄漏的风险。但仍然不是最理想的方式,因为加密算法在概念上是有加密算法和解密算法两个流程,这两个流程是互逆的。即,如果得到数据库的人,碰巧也能通过一定的方法破解你的加密方式,并实现了与之对应的解密算法,那么,他得到的密文其实也就相当于明文了。 所以,下面就要介绍一下摘要算法,摘要算法与加密算法最大的区别就是不可逆,即无法通过密文得到与之对应的明文。那么,在当密文泄漏后,无法通过完成一个解密算法来进行逆运算。只有通过暴力破解,就是用大量的排列组合去通过摘要算法得到密文后再去匹配,这个工作量几乎是无法估量的。目前著名的摘要算法有 RSA 公司的 MD5 算法和 SHA-1 算法及其大量的变体。但是 MD5 算法前几年貌似被中国的一个女学者破解了,那是我大学时候的事情,已经记不太清楚了。 以上,都是个人理解,你将就这看看吧~

  • 报名听讲😃

  • 如何查询离我 1km 的用户 at 2014年07月14日

    #5 楼 @yfractal 应该是勾股!原谅我强迫症😣

  • #2 楼 @leozwa 嗯,在看帖子中的内容时也想到了这点,还是@ShiningRay给我讲解的,印象深刻

  • 楼主的分享挺不错的 #1 楼 @billy 我也是你这样的做法,不过那是因为我一直都不知道楼主在这里陈述的方法

  • #3 楼 @hging 我自首😭

  • 放点毒物给大家 at 2014年05月28日

    #36 楼 @redvoilin 用了机械键盘就再也不想用薄膜键盘了

  • 放点毒物给大家 at 2014年05月28日

    #27 楼 @yuan 默认是 Fn + (w, a, s, d) 实现方向键功能,另外也可以通过对键盘编程实现

  • 放点毒物给大家 at 2014年05月28日
  • 放点毒物给大家 at 2014年05月28日

    #15 楼 @hpviewer 你太坏了

  • 放点毒物给大家 at 2014年05月28日

    #10 楼 @lgn21st #13 楼 @outman 都是 HHKB 的高玩啊~

  • 放点毒物给大家 at 2014年05月28日

    #7 楼 @tylerlong 3494 太大了,我这个可以很方便的背着走~哈哈