<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>haoshanshan (cattle)</title>
    <link>https://ruby-china.org/haoshanshan</link>
    <description>cattle</description>
    <language>en-us</language>
    <item>
      <title>如何实现异步 rest 接口的自动化测试？</title>
      <description>&lt;p&gt;需要实现异步 rest 接口的自动化测试，想通过监听 comted 消息触发验证对比数据库字段是否修改正确，但是查了一下 ruby 目前没有 comted 的类库，大家有没有好的经验进行共享。&lt;/p&gt;</description>
      <author>haoshanshan</author>
      <pubDate>Thu, 04 Feb 2016 10:31:12 +0800</pubDate>
      <link>https://ruby-china.org/topics/28949</link>
      <guid>https://ruby-china.org/topics/28949</guid>
    </item>
    <item>
      <title>咨询一个 Ruby 的 socket 监听的问题</title>
      <description>&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="n"&gt;socket&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="no"&gt;TCPSocket&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;ip&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;port&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;socket&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;send&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;construct_msg&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;span class="c1"&gt;#（发送注册侦听器消息）&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;问题是：现在成功的注册了侦听器后，一直监听链路上是否有返回的消息，并打印出该返回消息，这个如何实现了，各位大牛&lt;/p&gt;</description>
      <author>haoshanshan</author>
      <pubDate>Mon, 17 Aug 2015 18:03:46 +0800</pubDate>
      <link>https://ruby-china.org/topics/26960</link>
      <guid>https://ruby-china.org/topics/26960</guid>
    </item>
    <item>
      <title>发送 socket 消息，端口号的类型必须从 fixnum 用 to_i 转成 int，为什么那？</title>
      <description>&lt;p&gt;socket.send(emb_mailbox_connect_message(&lt;a href="/server_host_ip" class="user-mention" title="@server_host_ip"&gt;&lt;i&gt;@&lt;/i&gt;server_host_ip&lt;/a&gt;,&lt;a href="/fm_emb_port.to_i" class="user-mention" title="@fm_emb_port.to_i"&gt;&lt;i&gt;@&lt;/i&gt;fm_emb_port.to_i&lt;/a&gt;),0)
如果不 to_i，就会发送失败&lt;/p&gt;</description>
      <author>haoshanshan</author>
      <pubDate>Mon, 22 Jun 2015 11:11:53 +0800</pubDate>
      <link>https://ruby-china.org/topics/26126</link>
      <guid>https://ruby-china.org/topics/26126</guid>
    </item>
    <item>
      <title>Java 做自动化测试，是选择 Java 版的 cucumber（自动化测试框架），还是用 jruby?</title>
      <description>&lt;p&gt;前提：本人学 ruby 一年，对 ruby 比较熟悉，已经做好了基于 ruby 版本的自动化测试框架（基于 cucumber 的）。本人测试 5 年，编程学习 1 年，编程基础一般&lt;/p&gt;

&lt;p&gt;问题是，目前做 java 系统的自动化测试，需要调用系统的 java 的方法，一种方案是使用 jruby，一种方案是使用 java 版的 cucumber，学习 java 语言。&lt;/p&gt;

&lt;p&gt;用过 jruby 的高手给个指点&lt;/p&gt;</description>
      <author>haoshanshan</author>
      <pubDate>Mon, 27 Apr 2015 16:29:04 +0800</pubDate>
      <link>https://ruby-china.org/topics/25338</link>
      <guid>https://ruby-china.org/topics/25338</guid>
    </item>
    <item>
      <title>请教懂 Python 和 Ruby 高手，关于整数转换成网络上可以传输的 byte 流的（已解决）</title>
      <description>&lt;p&gt;python 对于整数有个处理方法 to_bytes，转换后可以进行网络的 socket 传输
int.to_bytes(length, byteorder, *, signed=False) 
Return an array of bytes representing an integer.&lt;/p&gt;

&lt;p&gt;请问 ruby 有对应的方法吗？
在网上查了一下，array 有 pack 方法，但是试了所有的方法都达不到 python 的 to_bytes 方法的效果&lt;/p&gt;</description>
      <author>haoshanshan</author>
      <pubDate>Tue, 10 Mar 2015 15:59:37 +0800</pubDate>
      <link>https://ruby-china.org/topics/24570</link>
      <guid>https://ruby-china.org/topics/24570</guid>
    </item>
    <item>
      <title>请教高手，中文字符匹配，始终匹配不上（已解决）</title>
      <description>&lt;p&gt;输入可变参数名称后，匹配 name，匹配成功后从数组里面取出 hash 元素组成新的数组，现在匹配出现问题，始终匹配不上，英文没有问题，中文有问题&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="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="nb"&gt;name&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;  
   &lt;span class="n"&gt;index_array&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
                   &lt;span class="p"&gt;{&lt;/span&gt;
                        &lt;span class="s2"&gt;"id"&lt;/span&gt;&lt;span class="o"&gt;=&amp;gt;&lt;/span&gt;&lt;span class="s2"&gt;"C880680001"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
                        &lt;span class="s2"&gt;"name"&lt;/span&gt;&lt;span class="o"&gt;=&amp;gt;&lt;/span&gt;&lt;span class="s2"&gt;"CPU使用率(百分比)"&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;,&lt;/span&gt; 
                        &lt;span class="s2"&gt;"nodeType"&lt;/span&gt;&lt;span class="o"&gt;=&amp;gt;&lt;/span&gt;&lt;span class="mi"&gt;40&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
                        &lt;span class="s2"&gt;"dataType"&lt;/span&gt;&lt;span class="o"&gt;=&amp;gt;&lt;/span&gt;&lt;span class="s2"&gt;"2"&lt;/span&gt;
                    &lt;span class="p"&gt;},&lt;/span&gt; 
                    &lt;span class="p"&gt;{&lt;/span&gt;
                        &lt;span class="s2"&gt;"id"&lt;/span&gt;&lt;span class="o"&gt;=&amp;gt;&lt;/span&gt;&lt;span class="s2"&gt;"C880680002"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
                        &lt;span class="s2"&gt;"name"&lt;/span&gt;&lt;span class="o"&gt;=&amp;gt;&lt;/span&gt;&lt;span class="s2"&gt;"CPU空闲率(百分比)"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
                        &lt;span class="s2"&gt;"nodeType"&lt;/span&gt;&lt;span class="o"&gt;=&amp;gt;&lt;/span&gt;&lt;span class="mi"&gt;40&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
                        &lt;span class="s2"&gt;"dataType"&lt;/span&gt;&lt;span class="o"&gt;=&amp;gt;&lt;/span&gt;&lt;span class="s2"&gt;"2"&lt;/span&gt;
                    &lt;span class="p"&gt;},&lt;/span&gt; 
                    &lt;span class="p"&gt;{&lt;/span&gt;
                        &lt;span class="s2"&gt;"id"&lt;/span&gt;&lt;span class="o"&gt;=&amp;gt;&lt;/span&gt;&lt;span class="s2"&gt;"C880680003"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
                        &lt;span class="s2"&gt;"name"&lt;/span&gt;&lt;span class="o"&gt;=&amp;gt;&lt;/span&gt;&lt;span class="s2"&gt;"CPU运行队列中进程个数"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
                        &lt;span class="s2"&gt;"nodeType"&lt;/span&gt;&lt;span class="o"&gt;=&amp;gt;&lt;/span&gt;&lt;span class="mi"&gt;40&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
                        &lt;span class="s2"&gt;"dataType"&lt;/span&gt;&lt;span class="o"&gt;=&amp;gt;&lt;/span&gt;&lt;span class="s2"&gt;"1"&lt;/span&gt;
                    &lt;span class="p"&gt;},&lt;/span&gt; 
                    &lt;span class="p"&gt;{&lt;/span&gt;
                        &lt;span class="s2"&gt;"id"&lt;/span&gt;&lt;span class="o"&gt;=&amp;gt;&lt;/span&gt;&lt;span class="s2"&gt;"C880680004"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
                        &lt;span class="s2"&gt;"name"&lt;/span&gt;&lt;span class="o"&gt;=&amp;gt;&lt;/span&gt;&lt;span class="s2"&gt;"CPU系统任务使用率(百分比)"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
                        &lt;span class="s2"&gt;"nodeType"&lt;/span&gt;&lt;span class="o"&gt;=&amp;gt;&lt;/span&gt;&lt;span class="mi"&gt;40&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
                        &lt;span class="s2"&gt;"dataType"&lt;/span&gt;&lt;span class="o"&gt;=&amp;gt;&lt;/span&gt;&lt;span class="s2"&gt;"2"&lt;/span&gt;
                    &lt;span class="p"&gt;},&lt;/span&gt; 
                    &lt;span class="p"&gt;{&lt;/span&gt;
                        &lt;span class="s2"&gt;"id"&lt;/span&gt;&lt;span class="o"&gt;=&amp;gt;&lt;/span&gt;&lt;span class="s2"&gt;"C880680005"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
                        &lt;span class="s2"&gt;"name"&lt;/span&gt;&lt;span class="o"&gt;=&amp;gt;&lt;/span&gt;&lt;span class="s2"&gt;"CPU用户任务使用率(百分比)"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
                        &lt;span class="s2"&gt;"nodeType"&lt;/span&gt;&lt;span class="o"&gt;=&amp;gt;&lt;/span&gt;&lt;span class="mi"&gt;40&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
                        &lt;span class="s2"&gt;"dataType"&lt;/span&gt;&lt;span class="o"&gt;=&amp;gt;&lt;/span&gt;&lt;span class="s2"&gt;"2"&lt;/span&gt;
                    &lt;span class="p"&gt;},&lt;/span&gt; 
                    &lt;span class="p"&gt;{&lt;/span&gt;
                        &lt;span class="s2"&gt;"id"&lt;/span&gt;&lt;span class="o"&gt;=&amp;gt;&lt;/span&gt;&lt;span class="s2"&gt;"C880680006"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
                        &lt;span class="s2"&gt;"name"&lt;/span&gt;&lt;span class="o"&gt;=&amp;gt;&lt;/span&gt;&lt;span class="s2"&gt;"CPU等待率(百分比)"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
                        &lt;span class="s2"&gt;"nodeType"&lt;/span&gt;&lt;span class="o"&gt;=&amp;gt;&lt;/span&gt;&lt;span class="mi"&gt;40&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
                        &lt;span class="s2"&gt;"dataType"&lt;/span&gt;&lt;span class="o"&gt;=&amp;gt;&lt;/span&gt;&lt;span class="s2"&gt;"2"&lt;/span&gt;
                    &lt;span class="p"&gt;},&lt;/span&gt; 
                    &lt;span class="p"&gt;{&lt;/span&gt;
                        &lt;span class="s2"&gt;"id"&lt;/span&gt;&lt;span class="o"&gt;=&amp;gt;&lt;/span&gt;&lt;span class="s2"&gt;"it.server.klinux.3135"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
                        &lt;span class="s2"&gt;"name"&lt;/span&gt;&lt;span class="o"&gt;=&amp;gt;&lt;/span&gt;&lt;span class="s2"&gt;"CPU使用率(百分比)"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
                        &lt;span class="s2"&gt;"nodeType"&lt;/span&gt;&lt;span class="o"&gt;=&amp;gt;&lt;/span&gt;&lt;span class="mi"&gt;20&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
                        &lt;span class="s2"&gt;"dataType"&lt;/span&gt;&lt;span class="o"&gt;=&amp;gt;&lt;/span&gt;&lt;span class="s2"&gt;"2"&lt;/span&gt;
                    &lt;span class="p"&gt;}&lt;/span&gt;
                &lt;span class="p"&gt;]&lt;/span&gt;

    &lt;span class="n"&gt;index_new&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[]&lt;/span&gt;
    &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;name_item&lt;/span&gt; &lt;span class="k"&gt;in&lt;/span&gt; &lt;span class="nb"&gt;name&lt;/span&gt;
        &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;index_array_item&lt;/span&gt; &lt;span class="k"&gt;in&lt;/span&gt; &lt;span class="n"&gt;index_array&lt;/span&gt;
        &lt;span class="n"&gt;index&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;push&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;index_array_item&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;index_array_item&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"name"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="n"&gt;name_item&lt;/span&gt; 
        &lt;span class="k"&gt;end&lt;/span&gt;
    &lt;span class="k"&gt;end&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;index_new&lt;/span&gt;
&lt;span class="k"&gt;end&lt;/span&gt;

        &lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;
            &lt;span class="p"&gt;{&lt;/span&gt;               
                 &lt;span class="s2"&gt;"index"&lt;/span&gt;&lt;span class="o"&gt;=&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;index&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"CPU使用率(百分比)"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s2"&gt;"CPU等待率(百分比)"&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; 

            &lt;span class="p"&gt;}&lt;/span&gt;

        &lt;span class="p"&gt;]&lt;/span&gt;

&lt;span class="nb"&gt;puts&lt;/span&gt; &lt;span class="n"&gt;data&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;</description>
      <author>haoshanshan</author>
      <pubDate>Sun, 15 Feb 2015 16:10:43 +0800</pubDate>
      <link>https://ruby-china.org/topics/24282</link>
      <guid>https://ruby-china.org/topics/24282</guid>
    </item>
  </channel>
</rss>
