<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>rd084c (大君)</title>
    <link>https://ruby-china.org/rd084c</link>
    <description></description>
    <language>en-us</language>
    <item>
      <title>有没有大神搞定过支付宝的生活号之激活开发者模式问题？</title>
      <description>&lt;p&gt;问题描述：我被支付宝生活号的激活开发者模式困扰好久，有一步“验证应用网关”，报错为“应用网关响应异常”，与官方客服沟通无果。&lt;/p&gt;

&lt;p&gt;说明：这一步是需要设置一个回调地址，当在支付宝平台填写保存后，支付宝会发送一个验证消息，让你用本地公钥对消息内容进行验签，
并按要求组成 xml，返回给支付宝，支付宝验证通过，开发者模式被激活。&lt;/p&gt;

&lt;p&gt;处理方法：&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;
&lt;span class="c1"&gt;# 生成签名(key 私钥)&lt;/span&gt;
&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nc"&gt;self&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;sign_rsa&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;string&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;rsa&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="no"&gt;OpenSSL&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="no"&gt;PKey&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="no"&gt;RSA&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;new&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="no"&gt;File&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;read&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"lib/certificate/alipay_private_key.pem"&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
    &lt;span class="no"&gt;Base64&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;strict_encode64&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;rsa&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;sign&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'sha256'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;string&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;force_encoding&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"gbk"&lt;/span&gt;&lt;span class="p"&gt;))).&lt;/span&gt;&lt;span class="nf"&gt;delete&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nf"&gt;delete&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="se"&gt;\r&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="k"&gt;end&lt;/span&gt;

&lt;span class="c1"&gt;# 验证签名(key 公钥)&lt;/span&gt;
&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nc"&gt;self&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;verify?&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;key&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;string&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;sign&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;rsa&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="no"&gt;OpenSSL&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="no"&gt;PKey&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="no"&gt;RSA&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;new&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;key&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="k"&gt;begin&lt;/span&gt;
        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;rsa&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;verify&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'sha256'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="no"&gt;Base64&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;strict_decode64&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;sign&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="n"&gt;string&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="k"&gt;rescue&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;e&lt;/span&gt;
        &lt;span class="no"&gt;Rails&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;logger&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;error&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"verify exception e: "&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;e&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;to_s&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="kp"&gt;false&lt;/span&gt;
    &lt;span class="k"&gt;end&lt;/span&gt;
&lt;span class="k"&gt;end&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;感受：自我验证觉得公私钥都正确，验签也能验证对，地址也能被访问到，返回格式也是按官方 xml 定义返回的，参考 alipay 大家推荐的 gem，并没有解决，
有疑问的地方就是我设置 AES 加密串，但是支付宝客服说接口内容加密已经作废了，用不到 AES，设不设置无所谓。&lt;/p&gt;

&lt;p&gt;提问：&lt;br&gt;
          1.  现在只想发个帖子问问有人搞定过吗？有没有人搞定过？  "有"  :  "没有"（用 ruby，不是 java、PHP、 .net）&lt;br&gt;
          2.  如果有可以借鉴的 gem，或者代码连接提供，小弟不胜感激。  &lt;/p&gt;</description>
      <author>rd084c</author>
      <pubDate>Thu, 10 Aug 2017 19:25:25 +0800</pubDate>
      <link>https://ruby-china.org/topics/33797</link>
      <guid>https://ruby-china.org/topics/33797</guid>
    </item>
    <item>
      <title>[上海] 添创 (智能硬件) 招聘 Ruby 开发工程师</title>
      <description>&lt;h2 id="公司介绍"&gt;公司介绍&lt;/h2&gt;
&lt;p&gt;上海添创信息技术有限公司成立于 2013 年，位于上海某高新技术园区，公司目前从大数据方向涉足互联网行业，致力于 O2O 领域的创业和发展。公司创业开始，即获得天使投资。
公司目前策划并运营了一批互联网项目，有生活服务 O2O 方面的，还有新闻资讯提供方面的，除了这些运营中的项目，&lt;del&gt;公司目前还在策划一些新项目&lt;/del&gt;新项目现在已经在开发啦，是和智能硬件相关的，正等着你哦~~~~~
公司并不很大，人都很好相处，大家都来自五湖四海，在陌生的城市里遇到，互相加油鼓励和安慰，我们就是朋友；
公司位置可能有点偏远，但地铁就在边上，而且远离了写字楼的熙熙攘攘，在遍地绿树和别墅的环境中也许更能激发创意和热情；
工作很重要，但身体和心情也同样重要，因此我们每周都会进行集体的体育活动，生日会和其它团建活动也定期举办；
见惯了大公司等级森严的上下级关系，在推崇个性和想法的现在，我们更推行扁平化管理，大家都一起学习一起进步；
无论到什么年龄，学习都是很重要的，公司很重视学习，坚信技多不压身，只要你想学习，公司会尽可能提供自己能提供的资源；
。。。。。。
诚然，我们是小公司，不能给你过度的承诺，曾经的首富说过：“梦想还是要有的，万一实现了呢”，我们是一群有梦想的人，也期待你带着你的梦想，和我们一起努力，一步步的实现自己。&lt;/p&gt;
&lt;h2 id="岗位职责"&gt;岗位职责&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;现有项目进行日常维护&lt;/li&gt;
&lt;li&gt;分析现有项目，完善项目文档&lt;/li&gt;
&lt;li&gt;在现有系统上做架构调整、性能优化&lt;/li&gt;
&lt;li&gt;协助业务运营进行业务调整分析&lt;/li&gt;
&lt;li&gt;全新项目的开发&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="职位要求"&gt;职位要求&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;编程基础扎实，有较强的学习能力，对创新技术有强烈求知欲，愿意学习新知识&lt;/li&gt;
&lt;li&gt;熟练使用 Ruby 语言做开发，有 Ruby On Rails 的基础&lt;/li&gt;
&lt;li&gt;熟悉测试驱动开发模式，有良好的编码习惯&lt;/li&gt;
&lt;li&gt;熟悉 PostgreSQL 或 MySQL，Memcache,Redis,MongoDB 等技术&lt;/li&gt;
&lt;li&gt;在 *nix 下熟练工作&lt;/li&gt;
&lt;li&gt;有一定的搭建高并发高负载网站架构的经验和能力&lt;/li&gt;
&lt;li&gt;有良好的单元测试习惯，会使用 FactoryGirl 和 rspec 写单元测试&lt;/li&gt;
&lt;li&gt;熟练使用 git，在 github 有固定账号并长期使用优先&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="待遇"&gt;待遇&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;10k~20k，可面谈&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="联系方式"&gt;联系方式&lt;/h2&gt;
&lt;p&gt;感兴趣的小伙伴可以给我发简历：hr@itianchuang.com
或者 qq 联系我咨询公司现有的项目情况，看你是不是感兴趣：158228499&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;今天双十一，不知道各位程序猿哥哥是不是在光棍节剁手狂欢呢？
我们梧桐树都种了有一阵了，可惜金凤凰还没落下来，真希望大家再帮我们使劲顶顶啊~~~~~
秋天来了，附上园区里随手拍几张。。。。
黄马褂树的树叶子，学名鹅掌楸
&lt;img src="http://7xo8op.com1.z0.glb.clouddn.com/1.jpg" title="" alt="黄马褂树的树叶子，学名鹅掌楸"&gt;
蒲公英
&lt;img src="http://7xo8op.com1.z0.glb.clouddn.com/2.jpg" title="" alt="蒲公英"&gt;
虽然这几天一直阴沉沉，可是天气好的时候，蓝天衬着栾树的种子，格外有秋天的味道
&lt;img src="http://7xo8op.com1.z0.glb.clouddn.com/3.jpg" title="" alt="虽然这几天一直阴沉沉，可是天气好的时候，蓝天衬着栾树的种子，格外有秋天的味道"&gt;
园区里的石榴，可惜有点酸
&lt;img src="http://7xo8op.com1.z0.glb.clouddn.com/5.jpg" title="" alt="园区里的石榴，可惜有点酸"&gt;&lt;/p&gt;</description>
      <author>rd084c</author>
      <pubDate>Tue, 26 May 2015 11:44:24 +0800</pubDate>
      <link>https://ruby-china.org/topics/25744</link>
      <guid>https://ruby-china.org/topics/25744</guid>
    </item>
  </channel>
</rss>
