<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>ibachue (Bachue Zhou)</title>
    <link>https://ruby-china.org/ibachue</link>
    <description>这个人很懒。。</description>
    <language>en-us</language>
    <item>
      <title>gems.ruby-china.org 这两天好像有点问题了</title>
      <description>&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Fetching gem metadata from https://gems.ruby-china.org/.
Retrying fetcher due to error (2/9): Bundler::HTTPError The checksum of /info/erubis does not match the checksum provided by the server! Something is wrong (local checksum is "\"94
d25cc12d4e65feca2ea2d5db8b7f50\"", was expecting "\"465322616b4e538f73a1b24be97ac33d\"")..
Retrying fetcher due to error (3/9): Bundler::HTTPError The checksum of /info/actionmailer does not match the checksum provided by the server! Something is wrong (local checksum is
 "\"4102f4cc1e92379aacee164845fc5e41\"", was expecting "\"0c71bdf3a6c10c22d0947e8a88024947\"")..
Retrying fetcher due to error (4/9): Bundler::HTTPError The checksum of /info/ffi does not match the checksum provided by the server! Something is wrong (local checksum is "\"0cdb4
e17e1879fcd7b48b6b178a6c9d5\"", was expecting "\"9a29a0a1f1590409059c551be312133d\"")...............
Fetching version metadata from https://gems.ruby-china.org/.......
Fetching version metadata from https://gems.ruby-china.org/..
Fetching dependency metadata from https://gems.ruby-china.org/.
Your bundle is locked to erubis (2.7.0), but that version could not be found in
any of the sources listed in your Gemfile. If you haven't changed sources, that
means the author of erubis (2.7.0) has removed it. You'll need to update your
bundle to a different version of erubis (2.7.0) that hasn't been removed in
order to install.
&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>ibachue</author>
      <pubDate>Fri, 01 Sep 2017 16:01:07 +0800</pubDate>
      <link>https://ruby-china.org/topics/33996</link>
      <guid>https://ruby-china.org/topics/33996</guid>
    </item>
    <item>
      <title>[上海][2014年9月16日] 2014 年 9 月 周中聚会</title>
      <description>&lt;p&gt;时间：2014 年 09 月 16 日 (周二) 晚上 7 点到 9 点
地点：浦东新区世纪大道 8 号上海国金中心 D 座 B1 楼 LG1-37 室 COSTA COFFEE(国金中心店)
地点：&lt;strong&gt;在浦东陆家嘴的 Apple Store 旁边&lt;/strong&gt;，提早到达的同学请负责占座
网址：&lt;a href="http://www.dianping.com/shop/4600640" rel="nofollow" target="_blank" title=""&gt;点评网址&lt;/a&gt;
主题：&lt;/p&gt;

&lt;p&gt;暂无技术主题，大家可以讨论下今年 &lt;a href="http://rubyconfchina.org/" rel="nofollow" target="_blank" title=""&gt;RubyConfChina&lt;/a&gt; 的参与事宜，如果谁有什么好玩的分享也可在下面留言。&lt;/p&gt;</description>
      <author>ibachue</author>
      <pubDate>Thu, 11 Sep 2014 22:17:09 +0800</pubDate>
      <link>https://ruby-china.org/topics/21492</link>
      <guid>https://ruby-china.org/topics/21492</guid>
    </item>
    <item>
      <title>[上海][2014年6月17日] 周中聚会</title>
      <description>&lt;p&gt;高考一过，我们也将迎来六月的 Ruby Tuesday 聚会。无需报名，没有限制，只要有兴趣，想来就来。&lt;/p&gt;
&lt;h6 id="时间：2014年6月17日(周二) 晚上7点到9点"&gt;时间：2014 年 6 月 17 日 (周二) 晚上 7 点到 9 点&lt;/h6&gt;&lt;h6 id="地点：浦东新区世纪大道8号上海国金中心D座B1楼LG1-37室 COSTA COFFEE(国金中心店)"&gt;地点：浦东新区世纪大道 8 号上海国金中心 D 座 B1 楼 LG1-37 室 COSTA COFFEE(国金中心店)&lt;/h6&gt;&lt;h6 id="位置：在浦东陆家嘴的Apple Store旁边，提早到达的同学请负责占座"&gt;位置：在浦东陆家嘴的 Apple Store 旁边，提早到达的同学请负责占座&lt;/h6&gt;&lt;h6 id="网址：点评网址"&gt;网址：&lt;a href="http://www.dianping.com/shop/4600640" rel="nofollow" target="_blank" title=""&gt;点评网址&lt;/a&gt;
&lt;/h6&gt;&lt;h6 id="主题："&gt;主题：&lt;/h6&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;a href="/gene_wu" class="user-mention" title="@gene_wu"&gt;&lt;i&gt;@&lt;/i&gt;gene_wu&lt;/a&gt; 谈快速 Mac 装机&lt;/li&gt;
&lt;li&gt;
&lt;a href="/quakewang" class="user-mention" title="@quakewang"&gt;&lt;i&gt;@&lt;/i&gt;quakewang&lt;/a&gt; Cache&lt;/li&gt;
&lt;/ul&gt;</description>
      <author>ibachue</author>
      <pubDate>Mon, 09 Jun 2014 14:58:58 +0800</pubDate>
      <link>https://ruby-china.org/topics/19827</link>
      <guid>https://ruby-china.org/topics/19827</guid>
    </item>
    <item>
      <title>[上海][2014年4月15日] 四月周中聚会</title>
      <description>&lt;p&gt;时间已经进入了四月，我们也将迎来四月的 Ruby Tuesday 聚会。无需报名，没有限制，只要有兴趣，想来就来。&lt;/p&gt;

&lt;p&gt;时间：2014 年 4 月 15 日 (周二) 晚上 7 点到 9 点&lt;/p&gt;

&lt;p&gt;地点：地点浦东新区世纪大道 8 号上海国金中心 D 座 B1 楼 LG1-37 室 COSTA COFFEE(国金中心店)&lt;/p&gt;

&lt;p&gt;交通：&lt;strong&gt;位置在浦东陆家嘴的 Apple Store 旁边&lt;/strong&gt;，提早到达的同学请负责占座
网址：&lt;a href="http://www.dianping.com/shop/4600640" rel="nofollow" target="_blank" title=""&gt;点评网址&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;另外 四月月末聚会也已经基本敲定，在四月二十七日 GitCafe 工作室举办。届时希望大家踊跃参与。&lt;/p&gt;</description>
      <author>ibachue</author>
      <pubDate>Sat, 05 Apr 2014 20:18:19 +0800</pubDate>
      <link>https://ruby-china.org/topics/18423</link>
      <guid>https://ruby-china.org/topics/18423</guid>
    </item>
    <item>
      <title>如何自制 HTTPS 服务器使用的证书和密钥</title>
      <description>&lt;p&gt;今天在做一个小项目，在这当中我要启动一个自制的简单的 HTTPS 服务器 (没用 Rack 服务器)，当然我是肯定没有证书或密钥的，对此我使用了 WEBrick 自带的工具，&lt;code&gt;WEBrick::Utils.create_self_signed_cert&lt;/code&gt;，代码如下：&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="n"&gt;servers&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="no"&gt;WEBrick&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="no"&gt;Utils&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;create_listeners&lt;/span&gt; &lt;span class="kp"&gt;nil&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;443&lt;/span&gt;
&lt;span class="n"&gt;cn&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[[&lt;/span&gt;&lt;span class="s1"&gt;'CN'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'localhost'&lt;/span&gt;&lt;span class="p"&gt;]]&lt;/span&gt;

&lt;span class="n"&gt;ssl_context&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;SSLContext&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;ssl_context&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;cert&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;ssl_context&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="no"&gt;WEBrick&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="no"&gt;Utils&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;create_self_signed_cert&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1024&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;cn&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'Generated by Bachue'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;ssl_context&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_NONE&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;但奇怪的是，用这个方法伪造的证书密钥，用&lt;code&gt;curl -k&lt;/code&gt;总是有效的。但如果用 Chrome/Firefox 的话，就很奇葩了，有时候无论怎么样都不会有问题，如果通过本机的 domain name 访问也通常不会有问题，但如果用 localhost 访问，尤其是服务器刚启动就用 localhost 访问，就可能会出现 in `accept': SSL_accept returned=1 errno=0 state=SSLv3 read client certificate A: sslv3 alert bad certificate (OpenSSL::SSL::SSLError) 这样的错误，实在太奇怪了。大家遭遇过类似的问题吗？如何解决？谢谢。&lt;/p&gt;</description>
      <author>ibachue</author>
      <pubDate>Mon, 03 Mar 2014 22:50:21 +0800</pubDate>
      <link>https://ruby-china.org/topics/17641</link>
      <guid>https://ruby-china.org/topics/17641</guid>
    </item>
    <item>
      <title>寻求 Mac 大神，dyld: DYLD_ environment variables being ignored because main executable (/usr/bin/osascript) is code signed with entitlements 是什么错误？</title>
      <description>&lt;p&gt;这里 Mac 大神有木有？&lt;/p&gt;

&lt;p&gt;想询问下 &lt;code&gt;dyld: DYLD_ environment variables being ignored because main executable (/usr/bin/osascript) is code signed with entitlements&lt;/code&gt; 这是个什么错误呀？&lt;/p&gt;

&lt;p&gt;错误来自于我之前写的脚本，当程序发生异常时后台自动给我邮箱发一封邮件，这个就是邮件里的错误信息了。
我在本地从来没有发生过类似问题，所以既不知道为何会发生这个错误，也不知道如何 Reproduce，更不知道如何解决。&lt;/p&gt;

&lt;p&gt;只能向各位 Mac 大神请教了。谢谢大神们。&lt;/p&gt;</description>
      <author>ibachue</author>
      <pubDate>Wed, 25 Dec 2013 11:26:21 +0800</pubDate>
      <link>https://ruby-china.org/topics/16412</link>
      <guid>https://ruby-china.org/topics/16412</guid>
    </item>
    <item>
      <title>Ruby 1.8 有个这么大的坑呀</title>
      <description>&lt;p&gt;在 Ruby 1.8 中，这段代码的执行结果是这样的：&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;f&lt;/span&gt; &lt;span class="n"&gt;a&lt;/span&gt;
  &lt;span class="n"&gt;a&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;class&lt;/span&gt;
&lt;span class="k"&gt;end&lt;/span&gt;

&lt;span class="n"&gt;f&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&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;span class="nf"&gt;to_s&lt;/span&gt; &lt;span class="c1"&gt;# =&amp;gt; String&lt;/span&gt;
&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="si"&gt;#{&lt;/span&gt;&lt;span class="n"&gt;f&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&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;span class="nf"&gt;to_s&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt; &lt;span class="c1"&gt;# =&amp;gt; "Fixnum" &lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;注意最后一行，完全相同的代码，写进内联字符串结果都完全变了，是因为结合的优先级发生了改变。写在外面的时候，&lt;code&gt;(1 + 2)&lt;/code&gt;与&lt;code&gt;to_s&lt;/code&gt;率先结合得到&lt;code&gt;"3"&lt;/code&gt;，然后再和&lt;code&gt;f&lt;/code&gt;结合得到&lt;code&gt;String&lt;/code&gt;，是因为&lt;code&gt;f&lt;/code&gt;和后面的部分有个空格所致。
而写在内联字符串中的时候，&lt;code&gt;f (1 + 2)&lt;/code&gt;竟然率先结合了，返回结果&lt;code&gt;Fixnum&lt;/code&gt;再和&lt;code&gt;to_s&lt;/code&gt;结合变成了&lt;code&gt;"Fixnum"&lt;/code&gt;。&lt;/p&gt;

&lt;p&gt;这个坑直接导致绝不能在 Ruby 1.8 上使用 FastEruby，因为 FastEruby 就是利用了内联字符串的特性来执行模版代码的，但这个 Bug 导致结果可能和预期完全不同。&lt;/p&gt;</description>
      <author>ibachue</author>
      <pubDate>Thu, 19 Dec 2013 11:15:22 +0800</pubDate>
      <link>https://ruby-china.org/topics/16305</link>
      <guid>https://ruby-china.org/topics/16305</guid>
    </item>
    <item>
      <title>Ruby 1.9 之后 YAML 解析的问题 Bug or Feature?</title>
      <description>&lt;p&gt;请教大家：&lt;/p&gt;

&lt;p&gt;测试代码如下：&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="nb"&gt;require&lt;/span&gt; &lt;span class="s1"&gt;'yaml'&lt;/span&gt;

&lt;span class="n"&gt;a&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&amp;lt;-&lt;/span&gt;&lt;span class="no"&gt;YAML&lt;/span&gt;&lt;span class="sh"&gt;
---
- !ruby/object:Hash
    a: 1
    b: 2
&lt;/span&gt;&lt;span class="no"&gt;YAML&lt;/span&gt;

&lt;span class="no"&gt;YAML&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;load&lt;/span&gt; &lt;span class="n"&gt;a&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Ruby 1.8 的结果： &lt;code&gt;[{"a"=&amp;gt;1, "b"=&amp;gt;2}]&lt;/code&gt;
Ruby 1.9 的结果：&lt;code&gt;[{}]&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Bug or Feature?&amp;nbsp;谢谢&lt;/p&gt;</description>
      <author>ibachue</author>
      <pubDate>Wed, 18 Dec 2013 18:54:47 +0800</pubDate>
      <link>https://ruby-china.org/topics/16294</link>
      <guid>https://ruby-china.org/topics/16294</guid>
    </item>
    <item>
      <title>有没有这样一种 HTTP 请求方案？</title>
      <description>&lt;p&gt;Hi all,&lt;/p&gt;

&lt;p&gt;之前曾经在论坛上求助过大家《&lt;a href="http://ruby-china.org/topics/14433" title=""&gt;Ruby http 库没有 non-blocking 的 API 版本？&lt;/a&gt;》，收到了很多回复。但感觉似乎都是为异步的并行请求设计的，在并行请求期间代码其实依然是 block 的，我现在还想寻求一种 Ruby non-blocking API 的方法，非并行请求的，不设置成功或者失败后的 Callback，无视结果，使得真正做到方法调用后不用管，这样从而达到 Non-blocking 的效果。请问有没有这种方案？&lt;/p&gt;

&lt;p&gt;谢谢大家&lt;/p&gt;</description>
      <author>ibachue</author>
      <pubDate>Thu, 14 Nov 2013 16:49:00 +0800</pubDate>
      <link>https://ruby-china.org/topics/15544</link>
      <guid>https://ruby-china.org/topics/15544</guid>
    </item>
    <item>
      <title>这段三行的 Ruby 的 Socket 代码求解释？</title>
      <description>&lt;p&gt;Hi all,&lt;/p&gt;

&lt;p&gt;今天读到这样一段代码，由于 UNIX 功底不太好，不知道为何作者在这里先把域名和端口包装起来，随后就拆包？这么做是有什么好处嘛？谢谢&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;canonicalize_tcp&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;addr&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;packed&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="no"&gt;Socket&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;pack_sockaddr_in&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;addr&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;addr&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="no"&gt;Socket&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;unpack_sockaddr_in&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;packed&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
  &lt;span class="sr"&gt;/:/&lt;/span&gt; &lt;span class="o"&gt;=~&lt;/span&gt; &lt;span class="n"&gt;addr&lt;/span&gt; &lt;span class="p"&gt;?&lt;/span&gt; &lt;span class="s2"&gt;"[&lt;/span&gt;&lt;span class="si"&gt;#{&lt;/span&gt;&lt;span class="n"&gt;addr&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;]:&lt;/span&gt;&lt;span class="si"&gt;#{&lt;/span&gt;&lt;span class="n"&gt;port&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="si"&gt;#{&lt;/span&gt;&lt;span class="n"&gt;addr&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;:&lt;/span&gt;&lt;span class="si"&gt;#{&lt;/span&gt;&lt;span class="n"&gt;port&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;
&lt;span class="k"&gt;end&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;</description>
      <author>ibachue</author>
      <pubDate>Thu, 14 Nov 2013 00:45:55 +0800</pubDate>
      <link>https://ruby-china.org/topics/15525</link>
      <guid>https://ruby-china.org/topics/15525</guid>
    </item>
    <item>
      <title>已到 RubyConfChina 会场 上图</title>
      <description>&lt;p&gt;&lt;img src="//l.ruby-china.com/photo/0ac93892e9290a5eb79f33f3615de03b.png" title="" alt=""&gt;
&lt;img src="//l.ruby-china.com/photo/b212d59f0a63ef08f44fb24db5ed99e4.png" title="" alt=""&gt;
&lt;img src="//l.ruby-china.com/photo/9b5b3572b9c44960c450e36643d6a239.png" title="" alt=""&gt;
&lt;img src="//l.ruby-china.com/photo/bc9fc5aeae3f356e9a9916de318aaaf1.png" title="" alt=""&gt;
&lt;img src="//l.ruby-china.com/photo/107cf0ea325dceebf626438fcb5ef033.png" title="" alt=""&gt;
&lt;img src="//l.ruby-china.com/photo/2ca45e9bf0a97396358c8590dd7133e8.png" title="" alt=""&gt;
&lt;img src="//l.ruby-china.com/photo/74dbe6987ee5f380d378c5e852f85109.png" title="" alt=""&gt;&lt;/p&gt;</description>
      <author>ibachue</author>
      <pubDate>Sat, 26 Oct 2013 07:23:36 +0800</pubDate>
      <link>https://ruby-china.org/topics/15044</link>
      <guid>https://ruby-china.org/topics/15044</guid>
    </item>
    <item>
      <title>又发现了个以前不知道的 Ruby 语法诶</title>
      <description>&lt;p&gt;Hi all,&lt;/p&gt;

&lt;p&gt;这个语法是我在 Rails 里发现的：&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;f&lt;/span&gt;
  &lt;span class="no"&gt;Module&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;new&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&lt;/span&gt;&lt;span class="no"&gt;Proc&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;new&lt;/span&gt;
&lt;span class="k"&gt;end&lt;/span&gt;

&lt;span class="no"&gt;M&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;f&lt;/span&gt; &lt;span class="k"&gt;do&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;x&lt;/span&gt;
    &lt;span class="s1"&gt;'hello world'&lt;/span&gt;
  &lt;span class="k"&gt;end&lt;/span&gt;
&lt;span class="k"&gt;end&lt;/span&gt;

&lt;span class="no"&gt;M&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;x&lt;/span&gt; &lt;span class="c1"&gt;# =&amp;gt; "Hello world"&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="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;f&lt;/span&gt;
  &lt;span class="no"&gt;Proc&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;new&lt;/span&gt;
&lt;span class="k"&gt;end&lt;/span&gt;

&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;f&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="o"&gt;|&lt;/span&gt; &lt;span class="s1"&gt;'hello, '&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="nf"&gt;call&lt;/span&gt; &lt;span class="s1"&gt;'bachue'&lt;/span&gt;
&lt;span class="c1"&gt;# =&amp;gt; "hello, bachue"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;原来&lt;code&gt;Proc.new&lt;/code&gt;只要不传入 block 就默认自动接受其调用者的 block，这个语法我以前还真的没看到过诶。
不仅仅是&lt;code&gt;Proc.new&lt;/code&gt;，&lt;code&gt;proc&lt;/code&gt;, &lt;code&gt;lambda&lt;/code&gt;也类似，只是有时会出现警告而已，但依然可以工作。&lt;/p&gt;</description>
      <author>ibachue</author>
      <pubDate>Sat, 12 Oct 2013 22:46:25 +0800</pubDate>
      <link>https://ruby-china.org/topics/14704</link>
      <guid>https://ruby-china.org/topics/14704</guid>
    </item>
    <item>
      <title>[上海][2013年10月15日] Ruby Tuesday 活动召集 (周二)</title>
      <description>&lt;p&gt;Hi, 大家好，
本月 Ruby Tuesday 将预备安排在十月第三个周二，也就是 10 月 15 日。到那天想必大家都回来了吧。
这次活动计划在浦西举办，地点是大家熟悉的静安寺。&lt;/p&gt;

&lt;p&gt;时间：2013 年 10 月 15 日（周二）晚上 7 点至 9 点
地点：Donut King (静安公园店)
地址：静安区南京西路 1649 号静安公园内 (久光百货对面)
交通：地铁二号线或者七号线（静安寺站）
网址：&lt;a href="http://www.dianping.com/shop/2787973" rel="nofollow" target="_blank" title=""&gt;大众点评&lt;/a&gt; &lt;a href="http://goo.gl/maps/EO3bG" rel="nofollow" target="_blank" title=""&gt;Google Maps&lt;/a&gt;
主题:
未定，尚在征集中，有意向的欢迎&lt;a href="http://shruby.github.io/monthly/2013/10/07/call-2013-oct-ruby-tuesday.html" rel="nofollow" target="_blank" title=""&gt;在这里&lt;/a&gt;跟帖。不过我们也可以自由讨论下列 Topic：&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;关于组队前往 RubyConf 2013&lt;/li&gt;
&lt;li&gt;关于发起一个 Jekyll Generator Service 项目的讨论 (hosted by &lt;a href="/gene_wu" class="user-mention" title="@gene_wu"&gt;&lt;i&gt;@&lt;/i&gt;gene_wu&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;</description>
      <author>ibachue</author>
      <pubDate>Mon, 07 Oct 2013 23:34:23 +0800</pubDate>
      <link>https://ruby-china.org/topics/14572</link>
      <guid>https://ruby-china.org/topics/14572</guid>
    </item>
    <item>
      <title>今天来上班的都是屌丝吗？</title>
      <description>&lt;p&gt;办公室里人好少的说。。&lt;/p&gt;</description>
      <author>ibachue</author>
      <pubDate>Sun, 29 Sep 2013 09:51:24 +0800</pubDate>
      <link>https://ruby-china.org/topics/14467</link>
      <guid>https://ruby-china.org/topics/14467</guid>
    </item>
    <item>
      <title>Ruby http 库没有 non-blocking 的 API 版本？</title>
      <description>&lt;p&gt;Hi all,
在做搜索引擎那个项目的时候，我突然意识到查询时 Controller 里对 Solr 有多次请求，而那几次请求都是阻塞式的，也就是说在上一次请求没结束期间下一次请求没法发起，整个程序都会进入阻塞状态。
受到上次讲的 em-synchrony 的影响，我并不打算立即改用传统的 Thread，而是找找有没有 non-blocking 的办法
然后我就试图查询 rsolr（我用的 solr 的 gem）有没有 non-blocking 的 api，没找到，然后试图自己写，看了下 rsolr 用的 http 的库是 net/http，查了下这个库的 non-blocking api，竟然也没找到。网上甚至说可以用 delay job。
求助大家，Ruby http 库没有 non-blocking 的 api 版本？没有的话，除了 delay job，还有什么快一点的办法么？谢谢！&lt;/p&gt;</description>
      <author>ibachue</author>
      <pubDate>Fri, 27 Sep 2013 15:34:00 +0800</pubDate>
      <link>https://ruby-china.org/topics/14433</link>
      <guid>https://ruby-china.org/topics/14433</guid>
    </item>
    <item>
      <title>感觉 iOS 7 的 safari 下 bootstrap 的网站效果就不这么好了</title>
      <description>&lt;p&gt;&lt;img src="//l.ruby-china.com/photo/28df343eb0735e67f1936e328a359107.jpg" title="" alt=""&gt;
因为浏览器界面基本上都大片的白色，网页一上来就是一根又粗又黑的顶栏，看起来有点突兀了。&lt;/p&gt;</description>
      <author>ibachue</author>
      <pubDate>Thu, 19 Sep 2013 20:08:39 +0800</pubDate>
      <link>https://ruby-china.org/topics/14237</link>
      <guid>https://ruby-china.org/topics/14237</guid>
    </item>
    <item>
      <title>论坛里有谁近期去美国吗？</title>
      <description>&lt;p&gt;论坛里有谁近期去美国吗？
如果可以的话，求带 iPhone，香港也行啊
谢谢～～&lt;/p&gt;</description>
      <author>ibachue</author>
      <pubDate>Wed, 11 Sep 2013 11:43:33 +0800</pubDate>
      <link>https://ruby-china.org/topics/14030</link>
      <guid>https://ruby-china.org/topics/14030</guid>
    </item>
    <item>
      <title>论坛里有谁以前配置 Solr Multi Indexes 成功的吗？</title>
      <description>&lt;p&gt;哎 今天被 Tomcat 和 Solr 气哭了，Google 了所有配置 Solr Multi Indexes 的文章我都按照里面的步骤一步一步做下来，但结果就是访问 solr 就 404。Java 写的程序，没有任何错误信息，没有任何错误日志，又是不可调试的，无论怎么搞就是 404，换掉 Tomcat 用 Jetty 也一样，我是一点办法都没有了。目前只能再弄个虚拟机，里面再弄个 Solr，变成两个 Single Index 了。。
论坛里以前有谁配置 Solr Multi Indexes 成功的吗？求指导。谢谢～&lt;/p&gt;</description>
      <author>ibachue</author>
      <pubDate>Tue, 10 Sep 2013 00:29:30 +0800</pubDate>
      <link>https://ruby-china.org/topics/13997</link>
      <guid>https://ruby-china.org/topics/13997</guid>
    </item>
    <item>
      <title>为毛 Linode 说我借助我的 Linode 攻击它的服务。。</title>
      <description>&lt;p&gt;莫名其妙被冤枉了。。。
而且我的 Linode 也没几个人用过，都是我能相信的人。。
太莫名其妙了。。。哎。。。&lt;/p&gt;</description>
      <author>ibachue</author>
      <pubDate>Thu, 22 Aug 2013 22:37:40 +0800</pubDate>
      <link>https://ruby-china.org/topics/13535</link>
      <guid>https://ruby-china.org/topics/13535</guid>
    </item>
    <item>
      <title>1.9 以后没 rdoc 了。。</title>
      <description>&lt;p&gt;我们项目里很多脚本都是 GetoptLong + RDoc 的方法处理选项和 help 的啊 1.9 以后怎么办呀？不见得都重写一遍吧。。。求大神指点&lt;/p&gt;</description>
      <author>ibachue</author>
      <pubDate>Wed, 21 Aug 2013 17:54:09 +0800</pubDate>
      <link>https://ruby-china.org/topics/13495</link>
      <guid>https://ruby-china.org/topics/13495</guid>
    </item>
  </channel>
</rss>
