<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>bighuzi (胡子哥)</title>
    <link>https://ruby-china.org/bighuzi</link>
    <description/>
    <language>en-us</language>
    <item>
      <title>searchkick 用法问题</title>
      <description>&lt;p&gt;1, 索引&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;
&lt;span class="n"&gt;searchkick&lt;/span&gt; &lt;span class="ss"&gt;index_name: &lt;/span&gt;&lt;span class="s2"&gt;"user, callbacks: :async, deep_paging: true, case_sensitive: true, settings: { number_of_replicas: 2}

&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;ol&gt;
&lt;li&gt;search_data&lt;/li&gt;
&lt;/ol&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;search_data&lt;/span&gt; &lt;span class="c1"&gt;#指定查询索引&lt;/span&gt;
     &lt;span class="n"&gt;attributes&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;merge&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;product_data&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
 &lt;span class="k"&gt;end&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;3: 问题.
  i. 是不是 searchkick 每次重建索引，mappings 都有可能会不一样，
    因为删掉索引后，重建，有时候某些字段搜索不了了。大家都是如何处理的，
 ii. 大约 2 亿数据首次 build 如何能加快速度，据说每几分钟能 build 进百万数据。&lt;/p&gt;

&lt;p&gt;&lt;a href="/Rei" class="user-mention" title="@Rei"&gt;&lt;i&gt;@&lt;/i&gt;Rei&lt;/a&gt;  大佬们能否指点一二...&lt;img title=":joy:" alt="😂" src="https://twemoji.ruby-china.com/2/svg/1f602.svg" class="twemoji"&gt; &lt;img title=":joy:" alt="😂" src="https://twemoji.ruby-china.com/2/svg/1f602.svg" class="twemoji"&gt; &lt;img title=":joy:" alt="😂" src="https://twemoji.ruby-china.com/2/svg/1f602.svg" class="twemoji"&gt; &lt;img title=":joy:" alt="😂" src="https://twemoji.ruby-china.com/2/svg/1f602.svg" class="twemoji"&gt; &lt;img title=":joy:" alt="😂" src="https://twemoji.ruby-china.com/2/svg/1f602.svg" class="twemoji"&gt; &lt;/p&gt;</description>
      <author>bighuzi</author>
      <pubDate>Thu, 23 Dec 2021 22:58:48 +0800</pubDate>
      <link>https://ruby-china.org/topics/42021</link>
      <guid>https://ruby-china.org/topics/42021</guid>
    </item>
    <item>
      <title>Java DES 32 位密钥对应的 Rails DES 加密是什么</title>
      <description>&lt;p&gt;des 的加密钥是 8 字节
des3 的加密钥是 24 字节&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="n"&gt;cipher&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;Cipher&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="no"&gt;DES&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="ss"&gt;:ECB&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nf"&gt;encrypt&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;tap&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt;&lt;span class="n"&gt;obj&lt;/span&gt;&lt;span class="o"&gt;|&lt;/span&gt; &lt;span class="n"&gt;obj&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;key&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;"32位密钥"&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="n"&gt;cipher&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;padding&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;5&lt;/span&gt;
&lt;span class="n"&gt;encrypt&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;cipher&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;update&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"des加密"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;cipher&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;final&lt;/span&gt;&lt;span class="p"&gt;()).&lt;/span&gt;&lt;span class="nf"&gt;unpack&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'H*'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="nb"&gt;p&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;encode64&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;encrypt&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;问下 32 位的密钥对应的 ruby 加密是什么。&lt;/p&gt;</description>
      <author>bighuzi</author>
      <pubDate>Thu, 18 Jun 2020 17:58:03 +0800</pubDate>
      <link>https://ruby-china.org/topics/39982</link>
      <guid>https://ruby-china.org/topics/39982</guid>
    </item>
    <item>
      <title>Rails 请求 Java API 接口问题</title>
      <description>&lt;p&gt;java 那边接收的参数时候从 body 里面获取的.
在 RestClient gem 里面如何从 body 里面传参数过去？&lt;/p&gt;

&lt;p&gt;以下传参一直报错 415 RestClient::UnsupportedMediaType (415 Unsupported Media Type)&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="no"&gt;RestClient&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;post&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="si"&gt;#{&lt;/span&gt;&lt;span class="n"&gt;url&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;/api/infServer/api/infToken"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;parm&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;to_json&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;网上找了下也没有看到相关的说明。不知道有没有人处理过类似的？
postman 请求
&lt;img src="https://l.ruby-china.com/photo/2020/abea3ef2-e839-4fbf-a201-1453021cc44d.png!large" title="" alt=""&gt;&lt;/p&gt;</description>
      <author>bighuzi</author>
      <pubDate>Wed, 17 Jun 2020 13:17:15 +0800</pubDate>
      <link>https://ruby-china.org/topics/39976</link>
      <guid>https://ruby-china.org/topics/39976</guid>
    </item>
    <item>
      <title>找一个网页版的 Excel 集成到项目，并可以支持修改。</title>
      <description>&lt;p&gt;我记得上次论坛里面有说过这么一个 gem。但是现在找不到了。有相关的 gem。麻烦各位指下路&lt;/p&gt;</description>
      <author>bighuzi</author>
      <pubDate>Thu, 17 Oct 2019 15:14:05 +0800</pubDate>
      <link>https://ruby-china.org/topics/39166</link>
      <guid>https://ruby-china.org/topics/39166</guid>
    </item>
    <item>
      <title>请求小程序 API 异常</title>
      <description>&lt;p&gt;请求的接口是腾讯特殊字符检测：&lt;a href="https://api.weixin.qq.com/wxa/msg_sec_check" rel="nofollow" target="_blank"&gt;https://api.weixin.qq.com/wxa/msg_sec_check&lt;/a&gt;
ruby 请求代码&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="n"&gt;uri&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="no"&gt;URI&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;parse&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"https://api.weixin.qq.com/wxa/msg_sec_check"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
 &lt;span class="n"&gt;http&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="no"&gt;Net&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="no"&gt;HTTP&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;uri&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;host&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;uri&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;port&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
 &lt;span class="n"&gt;http&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;use_ssl&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kp"&gt;true&lt;/span&gt;
 &lt;span class="n"&gt;http&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;verify_mode&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;SSL&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="no"&gt;VERIFY_PEER&lt;/span&gt;
 &lt;span class="n"&gt;http&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;cert_store&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;X509&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="no"&gt;Store&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;new&lt;/span&gt;
 &lt;span class="n"&gt;http&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;cert_store&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;set_default_paths&lt;/span&gt;
 &lt;span class="n"&gt;req&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="no"&gt;Net&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="no"&gt;HTTP&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="no"&gt;Post&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;uri&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;path&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
 &lt;span class="n"&gt;req&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;set_form_data&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;&lt;span class="ss"&gt;content: &lt;/span&gt;&lt;span class="s2"&gt;"好不好呢"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="ss"&gt;access_token: &lt;/span&gt;&lt;span class="n"&gt;access_token&lt;/span&gt;&lt;span class="p"&gt;})&lt;/span&gt;
 &lt;span class="n"&gt;res&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;http&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;request&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;req&lt;/span&gt;&lt;span class="p"&gt;)&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;debug&lt;/span&gt; &lt;span class="n"&gt;res&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;body&lt;/span&gt;
 &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="no"&gt;JSON&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;parse&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;res&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;body&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;返回错误信息：&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt; &lt;span class="err"&gt;↳&lt;/span&gt; &lt;span class="n"&gt;app&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;models&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;wechat_applet_manager&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;rb&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="mi"&gt;41&lt;/span&gt;
&lt;span class="no"&gt;Completed&lt;/span&gt; &lt;span class="mi"&gt;500&lt;/span&gt; &lt;span class="no"&gt;Internal&lt;/span&gt; &lt;span class="no"&gt;Server&lt;/span&gt; &lt;span class="no"&gt;Error&lt;/span&gt; &lt;span class="k"&gt;in&lt;/span&gt; &lt;span class="mi"&gt;870&lt;/span&gt;&lt;span class="n"&gt;ms&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="no"&gt;ActiveRecord&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mf"&gt;1.8&lt;/span&gt;&lt;span class="n"&gt;ms&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="no"&gt;Zlib&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="no"&gt;DataError&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;incorrect&lt;/span&gt; &lt;span class="n"&gt;header&lt;/span&gt; &lt;span class="n"&gt;check&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
&lt;span class="n"&gt;app&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;models&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;wechat_applet_manager&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;rb&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="mi"&gt;67&lt;/span&gt;&lt;span class="ss"&gt;:in&lt;/span&gt; &lt;span class="sb"&gt;`post_msg_sec_check'
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;求大神指导需要怎么处理&lt;/p&gt;</description>
      <author>bighuzi</author>
      <pubDate>Sat, 28 Sep 2019 22:13:38 +0800</pubDate>
      <link>https://ruby-china.org/topics/39091</link>
      <guid>https://ruby-china.org/topics/39091</guid>
    </item>
    <item>
      <title>RuCaptcha</title>
      <description>&lt;p&gt;想问下这个 RuCaptcha gem 如何配置远程的 redis
因为有两台服务器
在 config/environments/production.rb 里面设置&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="n"&gt;config&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;cache_store&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="ss"&gt;:redis_cache_store&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="ss"&gt;url: &lt;/span&gt;&lt;span class="s1"&gt;'redis://XXXXXX'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;password: &lt;/span&gt;&lt;span class="s1"&gt;'XXXX'&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;RuCaptcha.rb 配置&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="no"&gt;RuCaptcha&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;configure&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt;
   &lt;span class="nb"&gt;self&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;expires_in&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;120&lt;/span&gt;
  &lt;span class="nb"&gt;self&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;cache_store&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="ss"&gt;:redis_cache_store&lt;/span&gt;
  &lt;span class="nb"&gt;self&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;length&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;3&lt;/span&gt;
&lt;span class="k"&gt;end&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;会说验证码不对，请问下是不是我配置的不对？？
&lt;a href="/huacnlee" class="user-mention" title="@huacnlee"&gt;&lt;i&gt;@&lt;/i&gt;huacnlee&lt;/a&gt; &lt;/p&gt;</description>
      <author>bighuzi</author>
      <pubDate>Sat, 28 Jul 2018 17:52:07 +0800</pubDate>
      <link>https://ruby-china.org/topics/37242</link>
      <guid>https://ruby-china.org/topics/37242</guid>
    </item>
    <item>
      <title>服务器被 CC 攻击一般大家怎么处理</title>
      <description>&lt;p&gt;昨天下午两点开始，服务器开始遭受大量的 cc 攻击，
导致服务登陆不进去，问服务器客服说是 cpu 爆了，《服务器没有攻击消息》。
让我刚开始以为真的是服务器承载不住了。后来发现觉得不太对劲，
查看 cdn 才发现是被攻击。想问下各位大神被攻击的话是如何处理的。高仿太贵。。。。。。。。
这个是昨天被攻击的图
&lt;img src="https://l.ruby-china.com/photo/2018/52926650-a4cd-4911-bd07-d4b7ba442259.jpg!large" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;今天每个点还存在攻击的现象。只是量少了很多。&lt;/p&gt;</description>
      <author>bighuzi</author>
      <pubDate>Sat, 21 Jul 2018 10:17:30 +0800</pubDate>
      <link>https://ruby-china.org/topics/37205</link>
      <guid>https://ruby-china.org/topics/37205</guid>
    </item>
    <item>
      <title>Rails 并发问题</title>
      <description>&lt;p&gt;在下做的秒杀业务，在某个时间点会有 300 - 500 人会来抢购，出现明显的卡顿 top 查看未出现明显变化。
服务器：Ubuntu，4 vCPU , 16 GB, 带宽 10M
puma 配置&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="n"&gt;threads&lt;/span&gt; &lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;100&lt;/span&gt;
&lt;span class="n"&gt;environment&lt;/span&gt; &lt;span class="s2"&gt;"production"&lt;/span&gt;
&lt;span class="n"&gt;bind&lt;/span&gt; &lt;span class="s2"&gt;"unix:///XXX/shared/sockets/puma.sock"&lt;/span&gt;
&lt;span class="n"&gt;stdout_redirect&lt;/span&gt; &lt;span class="s2"&gt;"/XXXX/shared/log/puma.stdout.log"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"/XXXXXe/shared/log/puma.stderr.log"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kp"&gt;true&lt;/span&gt;
&lt;span class="n"&gt;pidfile&lt;/span&gt; &lt;span class="s2"&gt;"/XXXXX/shared/pids/puma.pid"&lt;/span&gt;
&lt;span class="n"&gt;state_path&lt;/span&gt; &lt;span class="s2"&gt;"/XXXXX/shared/pids/puma.state"&lt;/span&gt;
&lt;span class="n"&gt;activate_control_app&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;数据连接配置&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="ss"&gt;production:
  adapter: &lt;/span&gt;&lt;span class="n"&gt;mysql2&lt;/span&gt;
  &lt;span class="ss"&gt;database: &lt;/span&gt;&lt;span class="no"&gt;XXXX&lt;/span&gt;
  &lt;span class="ss"&gt;encoding: &lt;/span&gt;&lt;span class="n"&gt;utf8mb4&lt;/span&gt;
  &lt;span class="ss"&gt;username: &lt;/span&gt;&lt;span class="no"&gt;XXX&lt;/span&gt;
  &lt;span class="ss"&gt;password: &lt;/span&gt;&lt;span class="s1"&gt;'XXX'&lt;/span&gt;
  &lt;span class="ss"&gt;host: &lt;/span&gt;&lt;span class="no"&gt;XXXX&lt;/span&gt;
  &lt;span class="ss"&gt;pool: &lt;/span&gt;&lt;span class="mi"&gt;5&lt;/span&gt;
  &lt;span class="ss"&gt;timeout: &lt;/span&gt;&lt;span class="mi"&gt;5000&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;cpu 使用大概在百分之 30 左右
&lt;img src="https://l.ruby-china.com/photo/2018/53caba53-7bf7-4c59-a8e0-991e7120a1b9.jpg!large" title="" alt=""&gt;
内存使用情况
&lt;img src="https://l.ruby-china.com/photo/2018/fe905c63-9fff-48b9-9157-57503bd23186.jpg!large" title="" alt=""&gt;
请大神，给点意见。。&lt;/p&gt;

&lt;p&gt;tcp 连接好像有 1000 多。不知道是否是这个引起的。&lt;/p&gt;</description>
      <author>bighuzi</author>
      <pubDate>Thu, 12 Jul 2018 10:09:57 +0800</pubDate>
      <link>https://ruby-china.org/topics/37140</link>
      <guid>https://ruby-china.org/topics/37140</guid>
    </item>
    <item>
      <title>Redis 连接异常，用的是阿里云云数据库 Redis 版</title>
      <description>&lt;p&gt;在 config/initalizers/redis.rb 中链接方式&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="k"&gt;if&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;env&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;production?&lt;/span&gt;
    &lt;span class="vg"&gt;$redis&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="no"&gt;Redis&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="ss"&gt;:host&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt;&lt;span class="s1"&gt;' XXXX'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:password&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s2"&gt;"XXXX"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:port&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;6379&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;db: &lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="k"&gt;else&lt;/span&gt;
    &lt;span class="vg"&gt;$redis&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="no"&gt;Redis&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="ss"&gt;:host&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;'localhost'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:port&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;6379&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;db: &lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="k"&gt;end&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;出现异常 Redis::CommandError (ERR invalid password):&lt;/p&gt;

&lt;p&gt;actioncable 中的 cable.yml   中 redis 配置&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="ss"&gt;development:
  adapter: &lt;/span&gt;&lt;span class="n"&gt;redis&lt;/span&gt;
  &lt;span class="ss"&gt;url: &lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sx"&gt;%= ENV.fetch("REDIS_URL") { "redis://localhost:6379/1" } %&amp;gt;
  channel_prefix: friend_production

test:
  adapter: async

production:
  adapter: redis
  url: &amp;lt;%=&lt;/span&gt; &lt;span class="no"&gt;ENV&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;fetch&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"REDIS_URL"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="s2"&gt;"redis://XXXX:6379"&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="o"&gt;%&amp;gt;&lt;/span&gt;
  &lt;span class="ss"&gt;password: &lt;/span&gt;&lt;span class="s1"&gt;'XXXXXX'&lt;/span&gt;
  &lt;span class="ss"&gt;channel_prefix: &lt;/span&gt;&lt;span class="n"&gt;friend_production&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;actioncable 能链接上 redis&lt;/p&gt;</description>
      <author>bighuzi</author>
      <pubDate>Wed, 11 Jul 2018 15:13:05 +0800</pubDate>
      <link>https://ruby-china.org/topics/37135</link>
      <guid>https://ruby-china.org/topics/37135</guid>
    </item>
    <item>
      <title>Action Cable 消息服务单独部署问题</title>
      <description>&lt;p&gt;消息服务，跟 rails 服务未分离时在 action 中调用可以推送消息到客户端：&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="no"&gt;ActionCable&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;server&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;broadcast&lt;/span&gt; &lt;span class="s2"&gt;"chat_1"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="n"&gt;message&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="err"&gt;‘&lt;/span&gt;&lt;span class="mi"&gt;12345&lt;/span&gt;&lt;span class="err"&gt;’&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;name: &lt;/span&gt;&lt;span class="n"&gt;current_customer&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;nickname&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;客户端能正常链接，但以这种方式接收不到消息了。
是否分离之后不可直接调用？？&lt;/p&gt;</description>
      <author>bighuzi</author>
      <pubDate>Tue, 29 May 2018 19:24:55 +0800</pubDate>
      <link>https://ruby-china.org/topics/36863</link>
      <guid>https://ruby-china.org/topics/36863</guid>
    </item>
    <item>
      <title>Rails API 出现异常情况</title>
      <description>&lt;p&gt;rails 接口请求，下午突然出现如果问题，。不能返回数据，&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;  &lt;span class="err"&gt;↳&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="no"&gt;Users&lt;/span&gt;&lt;span class="o"&gt;/***&lt;/span&gt;&lt;span class="sr"&gt;/.rvm/&lt;/span&gt;&lt;span class="n"&gt;gems&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;ruby&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mf"&gt;2.4&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="vi"&gt;@red_packet&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;gems&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;web&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;console&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mf"&gt;3.6&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;lib&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;web_console&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;middleware&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;rb&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="mi"&gt;135&lt;/span&gt;
&lt;span class="no"&gt;Started&lt;/span&gt; &lt;span class="no"&gt;POST&lt;/span&gt; &lt;span class="s2"&gt;"/api/v1/home/login"&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="mf"&gt;127.0&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="mf"&gt;0.1&lt;/span&gt; &lt;span class="n"&gt;at&lt;/span&gt; &lt;span class="mi"&gt;2018&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mo"&gt;05&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;29&lt;/span&gt; &lt;span class="mi"&gt;14&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="mi"&gt;08&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="mi"&gt;28&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="mi"&gt;0800&lt;/span&gt;
&lt;span class="no"&gt;Started&lt;/span&gt; &lt;span class="no"&gt;POST&lt;/span&gt; &lt;span class="s2"&gt;"/api/v1/home/login"&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="mf"&gt;127.0&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="mf"&gt;0.1&lt;/span&gt; &lt;span class="n"&gt;at&lt;/span&gt; &lt;span class="mi"&gt;2018&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mo"&gt;05&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;29&lt;/span&gt; &lt;span class="mi"&gt;14&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="mi"&gt;08&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="mi"&gt;30&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="mi"&gt;0800&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;之前是上午一直是可以正常返回数据。突然出现这个问题，
网上搜索上说是白名单。但是设置了白名单后如下日志是不打印了&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="no"&gt;Cannot&lt;/span&gt; &lt;span class="n"&gt;render&lt;/span&gt; &lt;span class="n"&gt;console&lt;/span&gt; &lt;span class="n"&gt;from&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;但是还是返回不了数据出来。。请问有没有遇到这个情况的。&lt;/p&gt;</description>
      <author>bighuzi</author>
      <pubDate>Tue, 29 May 2018 14:07:02 +0800</pubDate>
      <link>https://ruby-china.org/topics/36857</link>
      <guid>https://ruby-china.org/topics/36857</guid>
    </item>
    <item>
      <title>whenever 使用问题。</title>
      <description>&lt;p&gt;在使用定时的时候，开发环境，可以执行通过，在本地用生产模式启动也可以通过，
但是在生产环境，跟测试环境都不能执行通过。
错误：&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="no"&gt;Running&lt;/span&gt; &lt;span class="n"&gt;via&lt;/span&gt; &lt;span class="no"&gt;Spring&lt;/span&gt; &lt;span class="n"&gt;preloader&lt;/span&gt; &lt;span class="k"&gt;in&lt;/span&gt; &lt;span class="n"&gt;process&lt;/span&gt; &lt;span class="mi"&gt;1599&lt;/span&gt;
&lt;span class="no"&gt;Please&lt;/span&gt; &lt;span class="n"&gt;specify&lt;/span&gt; &lt;span class="n"&gt;a&lt;/span&gt; &lt;span class="n"&gt;valid&lt;/span&gt; &lt;span class="n"&gt;ruby&lt;/span&gt; &lt;span class="n"&gt;command&lt;/span&gt; &lt;span class="ow"&gt;or&lt;/span&gt; &lt;span class="n"&gt;the&lt;/span&gt; &lt;span class="n"&gt;path&lt;/span&gt; &lt;span class="n"&gt;of&lt;/span&gt; &lt;span class="n"&gt;a&lt;/span&gt; &lt;span class="n"&gt;script&lt;/span&gt; &lt;span class="n"&gt;to&lt;/span&gt; &lt;span class="n"&gt;run&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;
&lt;span class="no"&gt;Run&lt;/span&gt; &lt;span class="s1"&gt;'bin/rails runner -h'&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;help&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;

&lt;span class="nf"&gt;uninitialized&lt;/span&gt; &lt;span class="n"&gt;constant&lt;/span&gt; &lt;span class="no"&gt;Rails&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="no"&gt;Command&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="no"&gt;RunnerCommand&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="no"&gt;GrabOrderManager&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;schedule.rb 文件配置&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="n"&gt;rails_env&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="no"&gt;ENV&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;'RAILS_ENV'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;||&lt;/span&gt; &lt;span class="ss"&gt;:production&lt;/span&gt;
&lt;span class="n"&gt;set&lt;/span&gt; &lt;span class="ss"&gt;:environment&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;rails_env&lt;/span&gt;
&lt;span class="n"&gt;set&lt;/span&gt; &lt;span class="ss"&gt;:output&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'log/cron.log'&lt;/span&gt;

&lt;span class="n"&gt;every&lt;/span&gt; &lt;span class="ss"&gt;:day&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:at&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;'01:00 am'&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt;
    &lt;span class="n"&gt;runner&lt;/span&gt; &lt;span class="s2"&gt;"GrabOrderManager.statistics"&lt;/span&gt;
&lt;span class="k"&gt;end&lt;/span&gt;

&lt;span class="n"&gt;every&lt;/span&gt; &lt;span class="ss"&gt;:day&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:at&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;'04:30 am'&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt;
    &lt;span class="n"&gt;runner&lt;/span&gt; &lt;span class="s2"&gt;"GrabOrderManager.dynamic_done"&lt;/span&gt;
&lt;span class="k"&gt;end&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;crontab -l &lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="c1"&gt;# Begin Whenever generated tasks for: /www/web/sshl/config/schedule.rb at: 2018-03-26 17:32:04 +0800&lt;/span&gt;
&lt;span class="mi"&gt;0&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="sr"&gt;/bin/&lt;/span&gt;&lt;span class="n"&gt;bash&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;l&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;c&lt;/span&gt; &lt;span class="s1"&gt;'cd /www/web/sshl &amp;amp;&amp;amp; bundle exec bin/rails runner -e production '&lt;/span&gt;&lt;span class="p"&gt;\&lt;/span&gt;&lt;span class="s1"&gt;''&lt;/span&gt;&lt;span class="no"&gt;GrabOrderManager&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;statistics&lt;/span&gt;&lt;span class="s1"&gt;'\''&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;log&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;cron&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&amp;amp;&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="s1"&gt;'

30 4 * * * /bin/bash -l -c '&lt;/span&gt;&lt;span class="n"&gt;cd&lt;/span&gt; &lt;span class="sr"&gt;/www/&lt;/span&gt;&lt;span class="n"&gt;web&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;sshl&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="n"&gt;bundle&lt;/span&gt; &lt;span class="nb"&gt;exec&lt;/span&gt; &lt;span class="n"&gt;bin&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;rails&lt;/span&gt; &lt;span class="n"&gt;runner&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;e&lt;/span&gt; &lt;span class="n"&gt;production&lt;/span&gt; &lt;span class="s1"&gt;'\''&lt;/span&gt;&lt;span class="no"&gt;GrabOrderManager&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;dynamic_done&lt;/span&gt;&lt;span class="s1"&gt;'\''&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;log&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;cron&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&amp;amp;&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="err"&gt;'&lt;/span&gt;

&lt;span class="c1"&gt;# End Whenever generated tasks for: /www/web/sshl/config/schedule.rb at: 2018-03-26 17:32:04 +0800&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;求支援&lt;/p&gt;</description>
      <author>bighuzi</author>
      <pubDate>Tue, 27 Mar 2018 11:03:52 +0800</pubDate>
      <link>https://ruby-china.org/topics/35334</link>
      <guid>https://ruby-china.org/topics/35334</guid>
    </item>
    <item>
      <title>网站被嵌入 js 跟 iframe 如何屏蔽</title>
      <description>&lt;p&gt;前端框架用的是 vue，
服务器用 nginx 代理访问页面出现网页被植入 js 跟 iframe，
网上找了很多处理方案，但是都没效果，请问各位大神求解决方案。&lt;/p&gt;</description>
      <author>bighuzi</author>
      <pubDate>Thu, 25 Jan 2018 14:56:21 +0800</pubDate>
      <link>https://ruby-china.org/topics/34946</link>
      <guid>https://ruby-china.org/topics/34946</guid>
    </item>
    <item>
      <title>Rails 5.1.4 中加入 rails_kindeditor 异常</title>
      <description>&lt;p&gt;上传图片的时候出现以下异常&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="no"&gt;ActionController&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="no"&gt;RoutingError&lt;/span&gt; 
&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;undefined&lt;/span&gt; &lt;span class="nb"&gt;method&lt;/span&gt; &lt;span class="sb"&gt;`skip_before_filter' for Kindeditor::AssetsController:Class
Did you mean?  skip_before_action):
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;关键 gem&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="n"&gt;gem&lt;/span&gt; &lt;span class="s1"&gt;'carrierwave'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'~&amp;gt; 1.2'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'&amp;gt;= 1.2.1'&lt;/span&gt;
&lt;span class="n"&gt;gem&lt;/span&gt; &lt;span class="s1"&gt;'mini_magick'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'4.7.0'&lt;/span&gt;
&lt;span class="n"&gt;gem&lt;/span&gt; &lt;span class="s1"&gt;'jquery-validation-rails'&lt;/span&gt;
&lt;span class="c1"&gt;#gem 'inherited_resources'&lt;/span&gt;
&lt;span class="n"&gt;gem&lt;/span&gt; &lt;span class="s2"&gt;"nested_form"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'0.3.2'&lt;/span&gt;
&lt;span class="n"&gt;gem&lt;/span&gt; &lt;span class="s1"&gt;'rails_kindeditor'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'~&amp;gt; 0.5.0'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;gem list 中查看&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="n"&gt;rails&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mf"&gt;5.1&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;rails&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;dom&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;testing&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mf"&gt;2.0&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;rails&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;html&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;sanitizer&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mf"&gt;1.0&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;rails_kindeditor&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mf"&gt;0.5&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;railties&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mf"&gt;5.1&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;rake&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mf"&gt;12.1&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mf"&gt;10.4&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;我看有很多兄弟有出现这个问题。但是不知道怎么解决的。&lt;/p&gt;</description>
      <author>bighuzi</author>
      <pubDate>Thu, 09 Nov 2017 16:33:09 +0800</pubDate>
      <link>https://ruby-china.org/topics/34545</link>
      <guid>https://ruby-china.org/topics/34545</guid>
    </item>
    <item>
      <title>Rails send_file disposition 文件下载问题</title>
      <description>&lt;p&gt;ruby 代码如下。&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="n"&gt;send_file&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="si"&gt;#{&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;root&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;/public/aaa.apk"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;filename: &lt;/span&gt;&lt;span class="s1"&gt;'aaa.apk'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;disposition: &lt;/span&gt;&lt;span class="s1"&gt;'attachment'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:type&lt;/span&gt;&lt;span class="o"&gt;=&amp;gt;&lt;/span&gt;&lt;span class="s2"&gt;"application/octet-stream;charset=utf-8"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;api 中有提到两种方式&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;:disposition - specifies whether the file will be shown inline or downloaded. Valid values are 'inline' and 'attachment' (default).
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;我 disposition 设置为下载模式。。在 pc 端打开是可以正常下载，
当我用手机浏览器打开的时候为什么是现实的原文件。。手机中需要设置什么才能让它是直接下载呢？&lt;/p&gt;</description>
      <author>bighuzi</author>
      <pubDate>Fri, 07 Apr 2017 02:16:24 +0800</pubDate>
      <link>https://ruby-china.org/topics/32717</link>
      <guid>https://ruby-china.org/topics/32717</guid>
    </item>
    <item>
      <title>做微信开发问题，生带参数二维码问题</title>
      <description>&lt;p&gt;看了微信的 api 文档，它是这么写的：&lt;/p&gt;

&lt;p&gt;用户在关注与取消关注公众号时，微信会把这个事件推送到开发者填写的 URL。方便开发者给用户下发欢迎消息或者做帐号的解绑。&lt;/p&gt;

&lt;p&gt;推送的 xml 格式如下&lt;/p&gt;
&lt;pre class="highlight erb"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;xml&amp;gt;&amp;lt;ToUserName&amp;gt;&lt;/span&gt;&lt;span class="cp"&gt;&amp;lt;![CDATA[toUser]]&amp;gt;&lt;/span&gt;&lt;span class="nt"&gt;&amp;lt;/ToUserName&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;FromUserName&amp;gt;&lt;/span&gt;&lt;span class="cp"&gt;&amp;lt;![CDATA[FromUser]]&amp;gt;&lt;/span&gt;&lt;span class="nt"&gt;&amp;lt;/FromUserName&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;CreateTime&amp;gt;&lt;/span&gt;123456789&lt;span class="nt"&gt;&amp;lt;/CreateTime&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;MsgType&amp;gt;&lt;/span&gt;&lt;span class="cp"&gt;&amp;lt;![CDATA[event]]&amp;gt;&lt;/span&gt;&lt;span class="nt"&gt;&amp;lt;/MsgType&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;Event&amp;gt;&lt;/span&gt;&lt;span class="cp"&gt;&amp;lt;![CDATA[subscribe]]&amp;gt;&lt;/span&gt;&lt;span class="nt"&gt;&amp;lt;/Event&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;EventKey&amp;gt;&lt;/span&gt;&lt;span class="cp"&gt;&amp;lt;![CDATA[qrscene_123123]]&amp;gt;&lt;/span&gt;&lt;span class="nt"&gt;&amp;lt;/EventKey&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;Ticket&amp;gt;&lt;/span&gt;&lt;span class="cp"&gt;&amp;lt;![CDATA[TICKET]]&amp;gt;&lt;/span&gt;&lt;span class="nt"&gt;&amp;lt;/Ticket&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/xml&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;下面微信绑定 url 方法&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="k"&gt;def&lt;/span&gt;  &lt;span class="nf"&gt;index&lt;/span&gt;

      &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;params&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="ss"&gt;:openid&lt;/span&gt;&lt;span class="p"&gt;].&lt;/span&gt;&lt;span class="nf"&gt;nil?&lt;/span&gt;
        &lt;span class="n"&gt;array&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;'1111111'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;params&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="ss"&gt;:timestamp&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt; &lt;span class="n"&gt;params&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="ss"&gt;:nonce&lt;/span&gt;&lt;span class="p"&gt;]].&lt;/span&gt;&lt;span class="nf"&gt;sort&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;debug&lt;/span&gt; &lt;span class="no"&gt;Digest&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="no"&gt;SHA1&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;hexdigest&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;array&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;join&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
            &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;params&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="ss"&gt;:signature&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="no"&gt;Digest&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="no"&gt;SHA1&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;hexdigest&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;array&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;join&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
                &lt;span class="n"&gt;render&lt;/span&gt; &lt;span class="ss"&gt;text: &lt;/span&gt;&lt;span class="n"&gt;params&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"echostr"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
            &lt;span class="k"&gt;else&lt;/span&gt;
                &lt;span class="n"&gt;render&lt;/span&gt; &lt;span class="ss"&gt;text: &lt;/span&gt;&lt;span class="s1"&gt;'false'&lt;/span&gt;
            &lt;span class="k"&gt;end&lt;/span&gt;
      &lt;span class="k"&gt;else&lt;/span&gt;
        &lt;span class="n"&gt;render&lt;/span&gt; &lt;span class="ss"&gt;text: &lt;/span&gt;&lt;span class="s1"&gt;'true'&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 格式的方法&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;create&lt;/span&gt;

      &lt;span class="n"&gt;render&lt;/span&gt; &lt;span class="ss"&gt;xml: &lt;/span&gt;&lt;span class="n"&gt;template&lt;/span&gt;
&lt;span class="k"&gt;end&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;问题在于，当我扫码之后，微信有请求我的 create，但是没有推送 xml 到我的方法里面。
微信推送给我的参数是&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="no"&gt;Parameters&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="s2"&gt;"signature"&lt;/span&gt;&lt;span class="o"&gt;=&amp;gt;&lt;/span&gt;&lt;span class="s2"&gt;"111111"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"timestamp"&lt;/span&gt;&lt;span class="o"&gt;=&amp;gt;&lt;/span&gt;&lt;span class="s2"&gt;"1489728998"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"nonce"&lt;/span&gt;&lt;span class="o"&gt;=&amp;gt;&lt;/span&gt;&lt;span class="s2"&gt;"963841539"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"openid"&lt;/span&gt;&lt;span class="o"&gt;=&amp;gt;&lt;/span&gt;&lt;span class="s2"&gt;"rrrrr-zd952ccLE"&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;请教下各位，有没有遇到这个情况，是什么造成的。。。。。&lt;/p&gt;</description>
      <author>bighuzi</author>
      <pubDate>Fri, 17 Mar 2017 13:33:53 +0800</pubDate>
      <link>https://ruby-china.org/topics/32561</link>
      <guid>https://ruby-china.org/topics/32561</guid>
    </item>
    <item>
      <title>Rails 并发处理</title>
      <description>&lt;p&gt;最近遇到一个项目。老系统是用 java 的。整点大概有 6000 - 10000 左右的样子做同一个操作。现在准备要用 rails 来重写这块的东西，
对于高并发的处理不是很懂。
希望能得到处理这方面的高人指点下迷津。感谢！&lt;/p&gt;</description>
      <author>bighuzi</author>
      <pubDate>Fri, 03 Mar 2017 15:39:39 +0800</pubDate>
      <link>https://ruby-china.org/topics/32433</link>
      <guid>https://ruby-china.org/topics/32433</guid>
    </item>
    <item>
      <title>环境部署，替换镜像源，不能用 https - Unable to require openssl</title>
      <description>&lt;pre class="highlight shell"&gt;&lt;code&gt;
gem sources &lt;span class="nt"&gt;-a&lt;/span&gt; https://gems.ruby-china.org/

ERROR:  While executing gem ... &lt;span class="o"&gt;(&lt;/span&gt;Gem::Exception&lt;span class="o"&gt;)&lt;/span&gt;
    Unable to require openssl, &lt;span class="nb"&gt;install &lt;/span&gt;OpenSSL and rebuild ruby &lt;span class="o"&gt;(&lt;/span&gt;preferred&lt;span class="o"&gt;)&lt;/span&gt; or use non-HTTPS sources
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;在帖子中看到：&lt;a href="https://ruby-china.org/topics/31352" rel="nofollow" target="_blank"&gt;https://ruby-china.org/topics/31352&lt;/a&gt; &lt;/p&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;./configure &lt;span class="nt"&gt;--with-openssl-dir&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;/usr/local/opt/openssl
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;但是执行出现找不到这个文件&lt;/p&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;./configure &lt;span class="nt"&gt;--with-openssl-dir&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;/usr/local/opt/openssl
zsh: no such file or directory: ./configure
&lt;/code&gt;&lt;/pre&gt;</description>
      <author>bighuzi</author>
      <pubDate>Sat, 18 Feb 2017 02:24:03 +0800</pubDate>
      <link>https://ruby-china.org/topics/32329</link>
      <guid>https://ruby-china.org/topics/32329</guid>
    </item>
    <item>
      <title>RTesseract 图像英文识别遇到问题</title>
      <description>&lt;p&gt;利用代码如下代码识别图片：&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="n"&gt;r&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="no"&gt;RTesseract&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="s2"&gt;"a300.png"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;lang: &lt;/span&gt;&lt;span class="s2"&gt;"eng"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;processor: &lt;/span&gt;&lt;span class="s2"&gt;"mini_magick"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="nb"&gt;p&lt;/span&gt; &lt;span class="n"&gt;r&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;to_s&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;识别不了图片：
&lt;img src="https://l.ruby-china.com/photo/2017/2ff10021147e3c76a6a07e3b29761348.png!large" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;可识别图片：
&lt;img src="https://l.ruby-china.com/photo/2017/d19be6572755cd9a6deaab4d3492aefa.png!large" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;两张图片用同一个方式为什么第一种识别不出...
有没有更好的方法推荐？？。&lt;/p&gt;</description>
      <author>bighuzi</author>
      <pubDate>Wed, 08 Feb 2017 17:38:25 +0800</pubDate>
      <link>https://ruby-china.org/topics/32274</link>
      <guid>https://ruby-china.org/topics/32274</guid>
    </item>
    <item>
      <title>Ruby 图片识别试卷</title>
      <description>&lt;p&gt;现有一个需求，需要做一个试卷的识别，
学生在涂抹了学生考号之后我需要识别出考生涂抹的是哪几个数字。
试卷如图，不知道如何实现。。有找过几个 gem，但是其中出来的东西跟想象中的还是有很大的差异。
有没有做个类似的。给个思路跟技术点呀。。。。
&lt;img src="https://l.ruby-china.com/photo/2016/e124da60fe39c00ae19ed7ca38ad56d4.jpg!large" title="" alt=""&gt;&lt;/p&gt;</description>
      <author>bighuzi</author>
      <pubDate>Thu, 22 Dec 2016 18:01:36 +0800</pubDate>
      <link>https://ruby-china.org/topics/31977</link>
      <guid>https://ruby-china.org/topics/31977</guid>
    </item>
  </channel>
</rss>
