• #7 楼 @Rei 我试一试

  • alipay 没有 rsa 加密部分,我们项目现有的 java 代码是可以正确的,但是 java 和 ruby 对 rsa 加密的机制好像是不一样的,所以还不好把 java 部分的代码照抄过来,而 ruby 的 rsa 加密我尝试了好多次,返回的结果不是服务器繁忙就是参数错误,根据网上的反馈,估计是私钥错问题了,但就是不知道错了什么问题。

  • 最大的问题是,从支付宝返回的结果看不出哪里错了

  • 代码很简单,就是 rsa 加密

    def rsa_sign(rsa_string)
      pri = OpenSSL::PKey::RSA.new(alipay.private_key)
      sign = pri.sign('sha1', rsa_string.force_encoding("utf-8"))
      signature = CGI.escape(Base64.encode64(sign))
      return signature
    end
    def create_sign_string(sign_params)
      sign_keys = sign_params.keys
      origin_string = sign_keys.inject(''){|s, key|
        if key.to_s == 'notify_url'
          s += %Q{#{key}="#{URI.encode(sign_params[key], Regexp.new(/:\/\//))}"&}
        else
          s += %Q{#{key}="#{sign_params[key]}"&}
        end
      }
      return origin_string
    end
    
  • 这种接口只支持 rsa,我用 php 的方式加密,支付宝最后返回的结果是系统繁忙,这个坑貌似绕不过去了

  • 汗啊,你们两年前就折腾过这个,我今天还在折腾,我们现在的项目要从 java 移植过来,涉及到支付宝的移动快捷支付,涉及到 rsa 加密,正愁怎么用 ruby 搞定呢

  • 大家都太有才了

  • 一张图理解 Git 对象模型 at 2014年07月30日

    好东西!

  • 是的,ucloud 挺贵的,价格基本是 10 倍

  • solr 报错 404 at 2014年06月24日

    这种问题一般搜 google,我也遇到了这个问题,我的解决方法是:把诸如 path:/solr/production 都注释掉

  • MongoDB 那些坑 at 2014年06月24日

    收藏下来慢慢琢磨,@vincent能把这种干货分享出来,实在难能可贵

  • 楼主的图片没有了,我帮把图片补回来

  • #3 楼 @Rei 最近我把内存扩了一倍,还是遇到这个问题, top - 23:01:39 up 10:43, 3 users, load average: 0.15, 0.16, 0.15 Tasks: 92 total, 2 running, 90 sleeping, 0 stopped, 0 zombie Cpu(s): 1.2%us, 0.0%sy, 0.0%ni, 98.8%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Mem: 4049900k total, 3921704k used, 128196k free, 26128k buffers Swap: 524284k total, 519680k used, 4604k free, 36044k cached

    PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
    1525 root 20 0 34592 720 484 S 2 0.0 0:12.66 redis-server
    1 root 20 0 24300 624 88 S 0 0.0 0:00.79 init
    2 root 20 0 0 0 0 S 0 0.0 0:00.00 kthreadd
    3 root 20 0 0 0 0 S 0 0.0 0:00.36 ksoftirqd/0
    5 root 20 0 0 0 0 S 0 0.0 0:00.23 kworker/u:0
    6 root RT 0 0 0 0 S 0 0.0 0:00.00 migration/0
    7 root RT 0 0 0 0 S 0 0.0 0:00.16 watchdog/0
    8 root RT 0 0 0 0 S 0 0.0 0:00.00 migration/1
    10 root 20 0 0 0 0 S 0 0.0 0:00.23 ksoftirqd/1
    11 root 20 0 0 0 0 S 0 0.0 0:01.43 kworker/0:1
    12 root RT 0 0 0 0 S 0 0.0 0:00.15 watchdog/1
    13 root 0 -20 0 0 0 S 0 0.0 0:00.00 cpuset
    14 root 0 -20 0 0 0 S 0 0.0 0:00.00 khelper
    15 root 20 0 0 0 0 S 0 0.0 0:00.00 kdevtmpfs
    16 root 0 -20 0 0 0 S 0 0.0 0:00.00 netns
    17 root 20 0 0 0 0 S 0 0.0 0:00.00 kworker/u:1
    18 root 20 0 0 0 0 S 0 0.0 0:00.06 sync_supers
    19 root 20 0 0 0 0 S 0 0.0 0:00.00 bdi-default
    20 root 0 -20 0 0 0 S 0 0.0 0:00.00 kintegrityd

    怎么看也不像是内存不够啊

  • #1 楼 @Rei 谢谢 Rei 的回复,我也怀疑是这个问题,但为什么是系统运行一段时间之后才有这个问题呢,会不会是有内存泄露

  • 关于 minimagic 的求救 at 2014年04月05日

    你提的和我遇到应该不是一个问题,我也 google 了,遇到一个人和我的情况一模一样,即重启服务器(或者重启 unicorn 进程)之后,可以执行一次图像的上传,第二次就会遇到内存溢出了。估计问题不是内存不够的问题,而是设置的问题,懒得折腾了,我把 minimagick 换成了 rmagick,没有问题了! 最后,谢谢你的回复 #1 楼 @tumayun

  • 解决了,是 net-ssh 的问题,2.8 版本太高了

  • 那个好心人帮我排版的,谢谢啦!前后都加上 ```,我记住了

  • #9 楼 @frank_128 说法是对的,但是很难吧(特别是对于许多专职后端要转向 node 的人来说),与其他的面向对象开发语言来说。js 的面向对象绝对独树一帜,想象一下 c、c++、java、c#、python、ruby、面向对象分析、四人帮设计模式、uml、软件工程。。。

  • #8 楼 @billy 我的这番话应该对于大部分人来说,如果你接触过的语言只有 js(没有贬义)(没有接触过 c、c++、java、c#、python、ruby、面向对象分析、四人帮设计模式、uml、重构等),那么恭喜你,就不会纠结了。

  • #7 楼 @yakczh 恰当的比喻

  • #4 楼 @Kabie 这有点具有两面性,这一点也是与其他语言截然不同之处,我不太了解 python,至于你说的自动绑定,js 自己也是动态绑定啊,只不过自动绑定到函数的接受者对象上了。在一种情况下,特别是你想把一个对象 A 中的方法 method1(在 method1 中会引用 this 使用 A 的一些属性)提取出来作为一个函数对象在其他 context(也就是把其他对象 B 作为 method1 的接受者)下执行,js 会将 method1 中的 this 绑定到 B 上,这时候就会出错,这一点是需要注意的地方(特别是你在使用一些事件框架,例如 backbone,特别需要注意绑定的问题)。当然这是灵活性的代价

  • 没有什么代码,不要排了把?原谅我,还是不太熟悉 markdown

  • 你选择 Angular 还是 Ember? at 2014年01月24日

    #62 楼 @rainchen 同意你最后一句话,underscore 使得 js 也变得那么优美,特别是在集合、函数编程风格方面,不过 uderscore 可以独立使用。

  • 你选择 Angular 还是 Ember? at 2014年01月24日

    #50 楼 @darkbaby123 之所以很多人对 Marionette 评价很高,是因为 backbone 本身做的有点差,连最低层的视图刷新、内存管理都需要用户自己做 (想象一下,一小部分数据改变,你需要手动刷新整个视图),Marionette 弥补了这些缺陷。我倒是觉得 backbone+Marionette =ember,我很赞赏 ember 对视图刷新这部分的处理(特别是被 backbone 蹂躏过的人来说),读一下:http://emberjs.com/guides/understanding-ember/the-view-layer/上面的文章就知道了。

    backbone 太低层了(基本上是 jquery 的一个方便的包装器,不过反过来说,正因为这样,风险最小,jquery 大街上一抓一大把,许多问题社区都有解决方案)。

  • 你选择 Angular 还是 Ember? at 2014年01月22日

    #3 楼 @defmacro Rust 竟然有范型,java 的范型让我心有余悸啊。

  • 你选择 Angular 还是 Ember? at 2014年01月22日

    我在自己的项目中刻意对 backbone、ember、angularjs 三种框架都用了一下,体会如下: 1 做一些简单的表单处理,angularjs 最好用,速度最快,但是面临复杂的情况,就会遇到许多坑,特别是用到 js 做一些特殊处理(例如与 bootsrap 整合,所幸的是,有人已经帮你做好了,各种指令、服务等,不过 semantic-ui 就没有这么幸运了,需要自己写指令和服务)需要自己研究源码,会花费许多时间。 2 bakcbone 本身很简单,但也有许多坑,不过克服了这些坑之后,还算顺利,退一步,即使遇到 backbone 解决不了的,但也可以自己写 plugin,另外,backbone 有 jquery 这个后盾,退一万步,还可以用 jquery。backbone 的缺点是重复性代码比较多,需要考虑许多细节,例如 sub-view,模型绑定等(这个缺点可以通过一些插件解决),比较烦。 3 ember 从表面看起来最优雅,其设计哲学与 rails 有许多借鉴,但这一点同时引入许多其特有的概念不是很好理解,从我自己角度来看,其 model、view、controller 区分的不是很明确,从传统 mvc 角度理解的话,有点变扭。

    总结的话,对于不是很熟练的人来说,backbone 风险最小,但比较繁琐。 ember 最优雅,但学习曲线有点抖,不过过了这个坎之后,用 ember 最舒服。 angularjs 也许未来很光明,但现阶段风险比较大。 如果最后到了需要研究源码的阶段,backbone 最好把握,另外两种旗鼓相当,都不是省油的灯

  • 你选择 Angular 还是 Ember? at 2014年01月22日

    #11 楼 @lgn21st 严重同意,只有你能够随意玩转 angularjs 的核心代码,玩转各种自定义指令的话,就选 angularjs,否则的话,还是算了吧,许多坑,特别是想和其他框架整合(例如 semantic-ui)。要知道 angularjs 有一套自己的哲学,非主流。

  • #8 楼 @chairy11 不是很差,还行,中规中矩,可以当做参看。