<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>jimrokliu (Liujiang)</title>
    <link>https://ruby-china.org/jimrokliu</link>
    <description/>
    <language>en-us</language>
    <item>
      <title>有谁在 CloudFoundry 下部署过 Rails 的代码</title>
      <description>&lt;p&gt;最近遇到一个客户，在建设自己的 paas 平台，自然就是 CloudFoundry 了，因为从来没有研究过这类技术，小白一个。所以在这里请教一下论坛里玩 CloudFoundry 的达人，有几个问题：&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;我的应用包含了一系列的服务，Rails 做 web 应用，API server，C 做的推送服务器，Rails 里面有些私有定制的 Gem，这个可以推送上 CloudFoundry 吗？。&lt;/li&gt;
&lt;li&gt;CloudFoundry 是否可以部署非 Web 类的应用，例如我有一个用 C 做的推送服务器，这个服务能搬到 CloudFoundry 上吗？如果不行的话，CloundFoundry 的应用如何能访问到这个服务。&lt;/li&gt;
&lt;li&gt;Sidekiq 这样的 ruby 服务是否能够部署？
4.如果系统中有用户上传的文件，CloudFoundry 貌似不建议直接操作磁盘，这不是要求应用都要修改到 CloudFoundry 内部存储上？另外如果应用对这些文件进行处理，例如用 imagemagic，CloundFoundry 上如果没有安装是否这件事就无法完成？&lt;/li&gt;
&lt;/ol&gt;</description>
      <author>jimrokliu</author>
      <pubDate>Thu, 09 Jul 2015 16:09:58 +0800</pubDate>
      <link>https://ruby-china.org/topics/26406</link>
      <guid>https://ruby-china.org/topics/26406</guid>
    </item>
    <item>
      <title>Torquebox  4.0.0 alpha1 发布了。 </title>
      <description>&lt;p&gt;我是搬运工，消息在这里：&lt;a href="http://torquebox.org/news/2014/12/05/torquebox-4-0-0-alpha1-released/" rel="nofollow" target="_blank"&gt;http://torquebox.org/news/2014/12/05/torquebox-4-0-0-alpha1-released/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;这个版本有这些特点：&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;rack 的 server 现在可以单独被使用，你需要在 Gemfile 中包含
&lt;code&gt;ruby
gem "torquebox-web"
&lt;/code&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;2.可以单独启动，嵌入到你的代码里&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;'torquebox-web'&lt;/span&gt;
&lt;span class="no"&gt;TorqueBox&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="no"&gt;Web&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;run&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;'0.0.0.0'&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;8080&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;3.支持将 jruby 的应用打包成一个可以运行的 jar.&lt;/p&gt;

&lt;p&gt;对于最后比较热门的 rack server，Raptor，Torqubox team 认为是 Raptor 采用了缓存造成的。他们给出了他们的测试：&lt;/p&gt;

&lt;p&gt;&lt;img src="http://torquebox.org/images/benchmarks/phusion_kit_hello_world.png" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;最近在项目里用了一下 jruby，做了一个 sinatra 的小模版，等不忙的时候发布出来。&lt;/p&gt;</description>
      <author>jimrokliu</author>
      <pubDate>Fri, 12 Dec 2014 14:48:39 +0800</pubDate>
      <link>https://ruby-china.org/topics/23155</link>
      <guid>https://ruby-china.org/topics/23155</guid>
    </item>
    <item>
      <title>怎么样打印一下 ruby 的运行栈？</title>
      <description>&lt;p&gt;写了一个 rake 处理系统的数据，不知道在什么地方挂住了。搜索了一下方法都比较旧，针对 1.8 的，我用的环境是 1.9.3。这个有什么 gem 吗？我需要 kill -3 1234，这样控制台就能打印出来系统的运行栈，输出到 dump 文件也 ok。知道的回答一下吧？&lt;/p&gt;</description>
      <author>jimrokliu</author>
      <pubDate>Wed, 20 Nov 2013 11:14:03 +0800</pubDate>
      <link>https://ruby-china.org/topics/15669</link>
      <guid>https://ruby-china.org/topics/15669</guid>
    </item>
    <item>
      <title>Writings.io 失败了</title>
      <description>&lt;p&gt;&lt;a href="http://blog.chloerei.com/articles/79-writings-io-is-failure" rel="nofollow" target="_blank"&gt;http://blog.chloerei.com/articles/79-writings-io-is-failure&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;虽然没有用过，但觉得这个网站还不错，也许关了可以好好思考一下步怎么做。我觉得这个网站交给豆瓣也许能想出一些用途。&lt;/p&gt;</description>
      <author>jimrokliu</author>
      <pubDate>Wed, 25 Sep 2013 19:33:01 +0800</pubDate>
      <link>https://ruby-china.org/topics/14387</link>
      <guid>https://ruby-china.org/topics/14387</guid>
    </item>
    <item>
      <title>众科技巨头呼吁重视编程教育</title>
      <description>&lt;p&gt;文章在这里，&lt;a href="http://www.36kr.com/p/201583.html?ref=index_desktop_top10" rel="nofollow" target="_blank"&gt;http://www.36kr.com/p/201583.html?ref=index_desktop_top10&lt;/a&gt;
将来可以教我的小孩学习编程，曾经在 TED 里有个人提出了相近的观点，认为现在的数学教学应该更多的学习编程，用数学模型解决问题而不是学习计算过程。&lt;/p&gt;</description>
      <author>jimrokliu</author>
      <pubDate>Wed, 27 Feb 2013 14:28:31 +0800</pubDate>
      <link>https://ruby-china.org/topics/8974</link>
      <guid>https://ruby-china.org/topics/8974</guid>
    </item>
    <item>
      <title>在 ssl 下实现 faye 的 websocket 的推送</title>
      <description>&lt;p&gt;我的网站全站使用 https 访问的，现在使用 faye 做推送服务，参考了这篇文章&lt;a href="http://afitnerd.com/2012/08/14/websockets-over-ssl-stunnel-haproxy-node-js/" rel="nofollow" target="_blank"&gt;http://afitnerd.com/2012/08/14/websockets-over-ssl-stunnel-haproxy-node-js/&lt;/a&gt;
因为 nginx 目前的版本是不支持 websocket 的，如果使用 longpoll 方式推送，消息的延时是非常明显的，同时，faye 的后台日志里也有大量的错误。&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;                                        http  |nginx:80 |
client--&amp;gt;|stunnel:443|--&amp;gt;|haproxy:8080|----&amp;gt; |nginx:8443|--&amp;gt;|thin:3000|
                                            |  websocket                      
                                            |--------------------^
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;1.首先，服务器开放 80 和 433 的端口，用户对 80 端口的访问将重新定向到 443 的 https 服务上。这个工作是由 nginx 完成的。&lt;/p&gt;

&lt;p&gt;2.为了使用 haproxy 转发 websocket 的请求，必须对请求内容进行分析，由于 ssl 是加密的内容，必须现在 stunnel 中将 ssl 解开，转换成 http 协议。
3.haproxy 根据协议头中的信息，区分是 websocket 协议还是 http 协议，分别转向到 nginx:8443 还是 thin:3000 的 faye 服务上。因为我把 faye 和 rails 合并在一个 thin 上运行，所以，haproxy 和 nginx 都会请求这个 thin 的服务。&lt;/p&gt;

&lt;p&gt;安装 stunnel 的方法如下：&lt;/p&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;$ &lt;/span&gt;wget &lt;span class="nt"&gt;-c&lt;/span&gt; http://www.stunnel.org/downloads/stunnel-4.53.tar.gz
&lt;span class="nv"&gt;$ &lt;/span&gt;&lt;span class="nb"&gt;tar&lt;/span&gt; &lt;span class="nt"&gt;-xvzf&lt;/span&gt; stunnel-4.53.tar.gz
&lt;span class="nv"&gt;$ &lt;/span&gt;&lt;span class="nb"&gt;cd &lt;/span&gt;stunnel-4.53
&lt;span class="nv"&gt;$ &lt;/span&gt;./configure
&lt;span class="nv"&gt;$ &lt;/span&gt;make
&lt;span class="nv"&gt;$ &lt;/span&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;make &lt;span class="nb"&gt;install&lt;/span&gt;
&lt;span class="nv"&gt;$ &lt;/span&gt;useradd stunnel
&lt;span class="nv"&gt;$ &lt;/span&gt;&lt;span class="nb"&gt;mkdir&lt;/span&gt; &lt;span class="nt"&gt;-p&lt;/span&gt; /opt/stunnel/ssl
&lt;span class="nv"&gt;$ &lt;/span&gt;&lt;span class="nb"&gt;mkdir&lt;/span&gt; &lt;span class="nt"&gt;-p&lt;/span&gt; /opt/stunnel/pid
&lt;span class="nv"&gt;$ &lt;/span&gt;vi /opt/stunnel/stunnel.conf
&lt;span class="nv"&gt;$ &lt;/span&gt;&lt;span class="nb"&gt;cat &lt;/span&gt;ssl.crt server.key &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; /opt/stunnel/ssl/cert.key_pem
&lt;span class="nv"&gt;$ &lt;/span&gt;&lt;span class="nb"&gt;chmod &lt;/span&gt;600 cert.key_pem

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;stunnel 配置文件如下&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;pid = /opt/stunnel/pid/stunnel.pid
#foreground = yes
setgid = stunnel
setuid = stunnel
cert = /opt/stunnel/ssl/cert.key_pem
[https]
accept = 443
connect = 8080
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;启动 stunnel&lt;/p&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;$ &lt;/span&gt;stunnel /opt/stunnel/stunnel.conf
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;安装 haproxy&lt;/p&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;$ &lt;/span&gt;wget &lt;span class="nt"&gt;-c&lt;/span&gt; http://haproxy.1wt.eu/download/1.4/src/haproxy-1.4.22.tar.gz
&lt;span class="nv"&gt;$ &lt;/span&gt;&lt;span class="nb"&gt;tar&lt;/span&gt; &lt;span class="nt"&gt;-xvzf&lt;/span&gt; haproxy-1.4.22.tar.gz
&lt;span class="nv"&gt;$ &lt;/span&gt;make &lt;span class="nv"&gt;TARGET&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;linux26
&lt;span class="nv"&gt;$ &lt;/span&gt;make &lt;span class="nv"&gt;TARGET&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;linux26 &lt;span class="nv"&gt;PREFIX&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;/opt/haproxy
&lt;span class="nv"&gt;$ &lt;/span&gt;useradd haproxy
&lt;span class="nv"&gt;$ &lt;/span&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;make &lt;span class="nb"&gt;install &lt;/span&gt;&lt;span class="nv"&gt;PREFIX&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;/opt/haproxy
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;vi /etc/haproxy.cfg&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;global
    log 127.0.0.1       local0
    log 127.0.0.1       local0 notice

    maxconn     4096
    daemon
    nbproc      1
    pidfile     /var/run/haproxy.pid

    user        haproxy
    group       haproxy

defaults
    mode http


frontend all *:8080
    timeout client    86400000
    default_backend   nginx_backend

    acl is_websocket hdr(Upgrade) -i WebSocket
    acl is_websocket hdr_beg(Host) -i ws
    acl is_faye url_sub comet

    use_backend faye_backend if is_faye
    use_backend ws_backend if is_websocket

backend ws_backend
    option forwardfor
    timeout queue 5000
    timeout connect 86400000
    timeout server 86400000
    server server1 localhost:3000 maxconn 2000 check

backend faye_backend
    option forwardfor
    timeout connect 4000
    timeout server 30000
    server server1 localhost:3000 maxconn 1024 check

backend nginx_backend
    option forwardfor
    timeout connect 4000
    timeout server 86400000
    server server1 localhost:8443 maxconn 1024 check

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;启动 haproxy&lt;/p&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo&lt;/span&gt; /opt/haproxy/sbin/haproxy &lt;span class="nt"&gt;-f&lt;/span&gt; /etc/haproxy.cfg
&lt;/code&gt;&lt;/pre&gt;</description>
      <author>jimrokliu</author>
      <pubDate>Sat, 08 Sep 2012 10:07:18 +0800</pubDate>
      <link>https://ruby-china.org/topics/5421</link>
      <guid>https://ruby-china.org/topics/5421</guid>
    </item>
    <item>
      <title>论坛里有多少读大二大三的学生？</title>
      <description>&lt;p&gt;很欣慰现在的大学生能自由的选择自己喜欢的方向，感觉现在你们的条件比我那时候好多了，至少现在已经能够方便的使用网络了。而我是毕业前家里才凑钱给我买了台电脑，不知道我们这些工作 10 年的老人可以给你们帮上什么忙？  &lt;/p&gt;</description>
      <author>jimrokliu</author>
      <pubDate>Wed, 18 Jul 2012 10:57:07 +0800</pubDate>
      <link>https://ruby-china.org/topics/4386</link>
      <guid>https://ruby-china.org/topics/4386</guid>
    </item>
    <item>
      <title>还是澳洲狠，对 IE7 收税</title>
      <description>&lt;p&gt;澳洲的一家电商在你买东西的时候，如果你使用 IE7 结帐，会被多收一笔 IE7 的税：&lt;a href="http://www.cnbeta.com/articles/192382.htm" rel="nofollow" target="_blank"&gt;http://www.cnbeta.com/articles/192382.htm&lt;/a&gt;
国内谁感这么做？我是极其痛恨 IE 浏览器，每次在 Mac 下被哪些只支持 IE 的网站折磨想打人，以后想搞个网站直接拒绝 IE，让哪些专门使用 IE 开发网站的人也痛苦一下。  &lt;/p&gt;</description>
      <author>jimrokliu</author>
      <pubDate>Fri, 15 Jun 2012 11:33:33 +0800</pubDate>
      <link>https://ruby-china.org/topics/3826</link>
      <guid>https://ruby-china.org/topics/3826</guid>
    </item>
    <item>
      <title>如何单独使用 erb 这类的模板呢？貌似网上找的一些方法在 Rails 3.2 下都不能用。</title>
      <description>&lt;p&gt;最近开发应用的时候，希望将某些页面的内容做为消息发送给第三方的程序，因此想要在 rails 中单独启动一个线程做这件事，从网上找到的方法大概如下：&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="k"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;TaskActionView&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt; &lt;span class="no"&gt;ActionView&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="no"&gt;Base&lt;/span&gt;
    &lt;span class="kp"&gt;include&lt;/span&gt; &lt;span class="no"&gt;ActionDispatch&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="no"&gt;Routing&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="no"&gt;UrlFor&lt;/span&gt;

    &lt;span class="kp"&gt;include&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;application&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;routes&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;url_helpers&lt;/span&gt;
    &lt;span class="kp"&gt;include&lt;/span&gt; &lt;span class="no"&gt;ApplicationHelper&lt;/span&gt;

    &lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;default_url_options&lt;/span&gt;
        &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="ss"&gt;host: &lt;/span&gt;&lt;span class="s1"&gt;'example.com'&lt;/span&gt;&lt;span class="p"&gt;}&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;def&lt;/span&gt; &lt;span class="nf"&gt;action_view&lt;/span&gt;
    &lt;span class="n"&gt;controller&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="no"&gt;ActionController&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="no"&gt;Base&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;controller&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;request&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="no"&gt;ActionDispatch&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="no"&gt;TestRequest&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;new&lt;/span&gt;
    &lt;span class="no"&gt;TaskActionView&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;Rails&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;root&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="s1"&gt;'app'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'views'&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="p"&gt;{},&lt;/span&gt; &lt;span class="n"&gt;controller&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="k"&gt;end&lt;/span&gt;

&lt;span class="n"&gt;tv&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;action_view&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="n"&gt;tv&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;assign&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="ss"&gt;:group&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt;&lt;span class="no"&gt;Group&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;tv&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;render&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="ss"&gt;:template&lt;/span&gt;&lt;span class="o"&gt;=&amp;gt;&lt;/span&gt;&lt;span class="s2"&gt;"groups/_form"&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 shell"&gt;&lt;code&gt;ActionView::Template::Error:
       undefined method &lt;span class="sb"&gt;`&lt;/span&gt;model_name&lt;span class="s1"&gt;' for NilClass:Class
     # ./app/views/groups/_form.html.erb:1:in `_app_views_groups__form_html_erb___2686766126405061367_2175427740'&lt;/span&gt;
     &lt;span class="c"&gt;# ./app/models/web_agent.rb:18:in `render'&lt;/span&gt;
     &lt;span class="c"&gt;# ./spec/models/web_agent_spec.rb:19:in `block (2 levels) in &amp;lt;top (required)&amp;gt;'&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;其中 groups/_form.html.erb 文件中包含有&lt;/p&gt;
&lt;pre class="highlight erb"&gt;&lt;code&gt;&lt;span class="cp"&gt;&amp;lt;%=&lt;/span&gt; &lt;span class="n"&gt;form_for&lt;/span&gt; &lt;span class="vi"&gt;@group&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="ss"&gt;:html&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="ss"&gt;:id&lt;/span&gt;&lt;span class="o"&gt;=&amp;gt;&lt;/span&gt;&lt;span class="s2"&gt;"group_form"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="ss"&gt;:class&lt;/span&gt;&lt;span class="o"&gt;=&amp;gt;&lt;/span&gt;&lt;span class="s2"&gt;"form-vertical"&lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="ss"&gt;:remote&lt;/span&gt;&lt;span class="o"&gt;=&amp;gt;&lt;/span&gt;&lt;span class="kp"&gt;true&lt;/span&gt;   &lt;span class="k"&gt;do&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt;&lt;span class="n"&gt;f&lt;/span&gt;&lt;span class="o"&gt;|&lt;/span&gt; &lt;span class="cp"&gt;%&amp;gt;&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;这个问题谁有经验，能分享一下吗？  &lt;/p&gt;</description>
      <author>jimrokliu</author>
      <pubDate>Fri, 09 Mar 2012 00:05:40 +0800</pubDate>
      <link>https://ruby-china.org/topics/1727</link>
      <guid>https://ruby-china.org/topics/1727</guid>
    </item>
  </channel>
</rss>
