<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>xfstart07 (Leon Xu)</title>
    <link>https://ruby-china.org/xfstart07</link>
    <description>Web developer</description>
    <language>en-us</language>
    <item>
      <title>Ruby on Rails 使用 GraphQL 例子</title>
      <description>&lt;p&gt;英语翻译的不好，我把基本的介绍和操作步骤整理了。&lt;a href="https://github.com/xfstart07/graphql-api" rel="nofollow" target="_blank" title=""&gt;项目&lt;/a&gt;中一共有 4 个例子。分别放在四个 Tags 中。有查询、修改、嵌套数据查询，N+1 问题的解决。&lt;/p&gt;
&lt;h3 id="介绍"&gt;介绍&lt;/h3&gt;
&lt;p&gt;GraphQL 是一个接口搜索语言，由 Feacbook 在 2015 年开源的。&lt;/p&gt;

&lt;p&gt;GraphQL 就是可以让客户端查询他们确切需要的数据，服务器并不会有过多的返回。&lt;/p&gt;

&lt;p&gt;一个 GraphQL 请求分为 查询 (读操作)，或 变化 (mutation，写操作), 请求是一个简单的字符串 (类似 json 的格式)，GraphQL 服务能解析，执行，并返回指定的数据。&lt;/p&gt;
&lt;h3 id="GraphQL 主要特点"&gt;GraphQL 主要特点&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;p&gt;在请求中，只返回客户端需要的数据&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;在一次请求中，返回更多资源。&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;用类型系统描述什么是可得的&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;可维护性 -  不需要考虑版本的迭代 API&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="GraphQL 查询例子"&gt;GraphQL 查询例子&lt;/h3&gt;
&lt;p&gt;一个查询用户的例子&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;{
  user(id: 1) {
    firstName,
    lastName,
    email
  }
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;结果&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;{
  "data": {
    "user": {
      "firstName": "Shaiju",
      "lastName": "E",
      "email": "eshaiju@gmail.com"
     }
   }
}
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id="在 Rails 中搭建 GraphQL 服务"&gt;在 Rails 中搭建 GraphQL 服务&lt;/h3&gt;
&lt;p&gt;添加 Gem&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# Gemfile
gem "graphql"
gem 'graphiql-rails', group: :development
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;code&gt;graphiql-rails&lt;/code&gt; 是一个 graphql 的 Web 请求页面，使用 &lt;a href="https://github.com/graphql/graphiql" rel="nofollow" target="_blank" title=""&gt;graphiql&lt;/a&gt; 打包成一个 Gem.&lt;/p&gt;

&lt;p&gt;然后执行 &lt;code&gt;bundle install&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;生成 GraphQL 文件&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;rails g graphql:install
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;生成：&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;创建一个文件夹 &lt;code&gt;app/graphql/&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;创建一个默认的 schema&lt;/li&gt;
&lt;li&gt;添加一个查询类型定义&lt;/li&gt;
&lt;li&gt;添加一个查询路由&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;运行查看&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;rails server
open localhost:3000/graphiql
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id="增加一个文章查询(article)"&gt;增加一个文章查询 (article)&lt;/h3&gt;
&lt;p&gt;增加一个文章类型 ArticleType&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="no"&gt;ArticleType&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="no"&gt;GraphQL&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="no"&gt;ObjectType&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;define&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt;
  &lt;span class="nb"&gt;name&lt;/span&gt; &lt;span class="s2"&gt;"Article"&lt;/span&gt;
  &lt;span class="n"&gt;field&lt;/span&gt; &lt;span class="ss"&gt;:id&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;types&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="no"&gt;Int&lt;/span&gt;
  &lt;span class="n"&gt;field&lt;/span&gt; &lt;span class="ss"&gt;:title&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;types&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="no"&gt;String&lt;/span&gt;
  &lt;span class="n"&gt;field&lt;/span&gt; &lt;span class="ss"&gt;:body&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;types&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="no"&gt;String&lt;/span&gt;
  &lt;span class="n"&gt;field&lt;/span&gt; &lt;span class="ss"&gt;:comments&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;types&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="no"&gt;CommentType&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;然后建立一个查询模式&lt;/p&gt;

&lt;p&gt;路径 &lt;code&gt;app/graphql/types/query_type.rb&lt;/code&gt;&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="no"&gt;QueryType&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="no"&gt;GraphQL&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="no"&gt;ObjectType&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;define&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt;
  &lt;span class="nb"&gt;name&lt;/span&gt; &lt;span class="s2"&gt;"Query"&lt;/span&gt;
  &lt;span class="n"&gt;description&lt;/span&gt; &lt;span class="s2"&gt;"一个根查询的 schema"&lt;/span&gt;

  &lt;span class="n"&gt;field&lt;/span&gt; &lt;span class="ss"&gt;:acticle&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt;
    &lt;span class="n"&gt;type&lt;/span&gt; &lt;span class="no"&gt;ArticleType&lt;/span&gt;
    &lt;span class="n"&gt;argument&lt;/span&gt; &lt;span class="ss"&gt;:id&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="n"&gt;types&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="no"&gt;ID&lt;/span&gt;
    &lt;span class="n"&gt;description&lt;/span&gt; &lt;span class="s2"&gt;"Find a Article by ID"&lt;/span&gt;
    &lt;span class="n"&gt;resolve&lt;/span&gt; &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;obj&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;args&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;ctx&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="no"&gt;Article&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;find_by_id&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;args&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"id"&lt;/span&gt;&lt;span class="p"&gt;])&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;/code&gt;&lt;/pre&gt;
&lt;p&gt;schema 进入文件&lt;/p&gt;

&lt;p&gt;路径 &lt;code&gt;app/graphql/graphq_api_schema.rb&lt;/code&gt;&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="no"&gt;GraphqApiSchema&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="no"&gt;GraphQL&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="no"&gt;Schema&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;define&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt;
  &lt;span class="n"&gt;query&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="no"&gt;Types&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="no"&gt;QueryType&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;在 &lt;code&gt;application.rb&lt;/code&gt; 中加载 graphql 文件&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;autoload_paths&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&amp;lt;&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/graphql'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;config&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;autoload_paths&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&amp;lt;&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/graphql/types'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;下面启动 rails, 在 &lt;code&gt;localhost:3000/graphiql&lt;/code&gt; 查询文章&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;query {
  acticle(id: 1){
    title
  }
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;结果&lt;/p&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"data"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"acticle"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"title"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"A GraphQL Server"&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;也可以通过 &lt;code&gt;execute&lt;/code&gt; 命令查询&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="n"&gt;query_string&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;"
{
  acticle(id: 1) {
    id
    title
  }
}"&lt;/span&gt;
&lt;span class="n"&gt;result_hash&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="no"&gt;GraphqApiSchema&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;execute&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;query_string&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="c1"&gt;# output:&lt;/span&gt;
&lt;span class="c1"&gt;# {&lt;/span&gt;
&lt;span class="c1"&gt;#   "data" =&amp;gt; {&lt;/span&gt;
&lt;span class="c1"&gt;#     "acticle" =&amp;gt; {&lt;/span&gt;
&lt;span class="c1"&gt;#        "id" =&amp;gt; 1,&lt;/span&gt;
&lt;span class="c1"&gt;#        "title" =&amp;gt; "A GraphQL Server"&lt;/span&gt;
&lt;span class="c1"&gt;#     }&lt;/span&gt;
&lt;span class="c1"&gt;#   }&lt;/span&gt;
&lt;span class="c1"&gt;# }&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id="Resource"&gt;Resource&lt;/h2&gt;
&lt;p&gt;&lt;a href="http://graphql-ruby.org/" rel="nofollow" target="_blank"&gt;http://graphql-ruby.org/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/xfstart07/graphql-api" rel="nofollow" target="_blank"&gt;https://github.com/xfstart07/graphql-api&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://tech.eshaiju.in/blog/2017/05/06/a-graphql-server-implementation-ruby-on-rails/" rel="nofollow" target="_blank"&gt;http://tech.eshaiju.in/blog/2017/05/06/a-graphql-server-implementation-ruby-on-rails/&lt;/a&gt;&lt;/p&gt;</description>
      <author>xfstart07</author>
      <pubDate>Thu, 01 Jun 2017 09:58:05 +0800</pubDate>
      <link>https://ruby-china.org/topics/33109</link>
      <guid>https://ruby-china.org/topics/33109</guid>
    </item>
    <item>
      <title>请问一下 RubyGems 镜像服务出问题了吗？</title>
      <description>&lt;p&gt;刚在阿里云的服务器上升级 ruby 版本，然后安装 gem 时出现错误&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;ERROR:  While executing gem ... (Gem::RemoteFetcher::FetchError)
    bad response Bad Gateway 502 (https://cdn.gems.ruby-china.org/quick/Marshal.4.8/bundler-1.11.2.gemspec.rz)
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;cdn 服务出现请求错误。&lt;/p&gt;</description>
      <author>xfstart07</author>
      <pubDate>Wed, 23 Mar 2016 11:59:17 +0800</pubDate>
      <link>https://ruby-china.org/topics/29422</link>
      <guid>https://ruby-china.org/topics/29422</guid>
    </item>
    <item>
      <title>如果实现搜索城市</title>
      <description>&lt;p&gt;最近在实现输入框自动补全搜索城市的功能，目前实现的方式是使用 Google Maps 服务。
不过显示出来的数据列表并不理想，很多不需要的数据也显示出来了。&lt;/p&gt;

&lt;p&gt;目前实现的效果：&lt;/p&gt;

&lt;p&gt;&lt;img src="https://l.ruby-china.com/photo/2015/52dc1a448408470a390234ab9e17880b.png" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;希望显示的只是城市信息而已，想问一下有没有好的一些服务或者方法实现这方面的功能？&lt;/p&gt;

&lt;p&gt;目前使用的 js&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"&amp;gt;&amp;lt;/script&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;使用的 gem&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;gem 'gmaps-autocomplete-rails

&lt;/code&gt;&lt;/pre&gt;&lt;h2 id="更新"&gt;更新&lt;/h2&gt;
&lt;p&gt;使用 Google Maps API V3， &lt;a href="https://developers.google.com/maps/documentation/javascript/examples/places-searchbox" rel="nofollow" target="_blank"&gt;https://developers.google.com/maps/documentation/javascript/examples/places-searchbox&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;效果：&lt;/p&gt;

&lt;p&gt;&lt;img src="https://l.ruby-china.com/photo/2015/53bba53285879348e4e05d0f1281f6a9.png" title="" alt=""&gt;&lt;/p&gt;</description>
      <author>xfstart07</author>
      <pubDate>Thu, 12 Mar 2015 23:39:41 +0800</pubDate>
      <link>https://ruby-china.org/topics/24625</link>
      <guid>https://ruby-china.org/topics/24625</guid>
    </item>
    <item>
      <title>[上海][再招] 社区电商创业 诚聘 Rails 研发工程师</title>
      <description>&lt;h3 id="关于公司"&gt;关于公司&lt;/h3&gt;
&lt;p&gt;我们是一家位于上海的创业公司，我们的创业项目是社区电商，我们的模式有一定的创新性，和目前市面上的社区电商有很大的不同，如果有兴趣非常欢迎来详聊。&lt;/p&gt;

&lt;p&gt;目前项目处于筹备阶段，我们办公地址在浦东世博园地区，我们包下了整个意大利馆正在装修，目前办公在非洲馆，估计再等三四个月就会入住高大上的新办公室啦。&lt;/p&gt;
&lt;h3 id="关于团队"&gt;关于团队&lt;/h3&gt;
&lt;p&gt;团队成员来自各大电商公司和大型超市企业，有着非常丰富的行业背景。和优秀的人在一起工作可以让自己变的更优秀。&lt;/p&gt;
&lt;h3 id="对你的要求"&gt;对你的要求&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;熟悉 Rails 开发&lt;/li&gt;
&lt;li&gt;我们希望你是一个热爱并专注技术的人，而不仅仅只是把写代码当成一个谋生的手段&lt;/li&gt;
&lt;li&gt;热爱开源，习惯于在 linux 或 mac 系统下工作和写代码&lt;/li&gt;
&lt;li&gt;我们喜欢多面手，如果你对其他技术方面也感兴趣的话我们非常欢迎&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="上班制度"&gt;上班制度&lt;/h3&gt;
&lt;p&gt;我们的上班时间很正常，不提倡过度加班，同时也希望在工作时间大家能够保证较高的效率顺利完成开发任务&lt;/p&gt;
&lt;h3 id="福利"&gt;福利&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;MacBook Pro + 22 寸显示器 &lt;/li&gt;
&lt;li&gt;社保 5 险一金&lt;/li&gt;
&lt;li&gt;餐补&lt;/li&gt;
&lt;li&gt;交通补助&lt;/li&gt;
&lt;li&gt;通讯补助 &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;无论你是应届毕业生还是大牛，只要你对我们的项目感兴趣，都可以联系我们更进一步的聊聊，我们一定会尽量满足你在薪资方面的要求，上不封顶。&lt;/p&gt;

&lt;p&gt;热烈欢迎上海的同学们过来骚扰~~&lt;/p&gt;

&lt;p&gt;请将您的简历 (有 blog，github 地址的请一定写上) 发送到该邮箱，谢谢 : xfstart07#gmail.com&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;补充：由于公司的扩大，目前还有再招一两个人，还有大家投简历。&lt;/strong&gt;&lt;/p&gt;</description>
      <author>xfstart07</author>
      <pubDate>Thu, 10 Jul 2014 15:50:38 +0800</pubDate>
      <link>https://ruby-china.org/topics/20419</link>
      <guid>https://ruby-china.org/topics/20419</guid>
    </item>
    <item>
      <title>teahour 聊台湾软体业失落的十年</title>
      <description>&lt;p&gt;teahour 又出了，这次是&lt;a href="/xdite" class="user-mention" title="@xdite"&gt;&lt;i&gt;@&lt;/i&gt;xdite&lt;/a&gt;主持
&lt;a href="http://teahour.fm/2013/12/16/software-industry-in-taiwan.html" rel="nofollow" target="_blank"&gt;http://teahour.fm/2013/12/16/software-industry-in-taiwan.html&lt;/a&gt;&lt;/p&gt;</description>
      <author>xfstart07</author>
      <pubDate>Wed, 18 Dec 2013 00:28:15 +0800</pubDate>
      <link>https://ruby-china.org/topics/16262</link>
      <guid>https://ruby-china.org/topics/16262</guid>
    </item>
    <item>
      <title>使用 Bundler 并行安装 gem</title>
      <description>&lt;p&gt;&lt;img src="http://media.tumblr.com/76501d7e366e32c68e05bf0e931206ac/tumblr_inline_ms7d9qF6Hb1qz4rgp.png" title="" alt="on sword fighting"&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://robots.thoughtbot.com/post/59584648154/parallel-gem-installing-using-bundler" rel="nofollow" target="_blank"&gt;http://robots.thoughtbot.com/post/59584648154/parallel-gem-installing-using-bundler&lt;/a&gt;&lt;/p&gt;</description>
      <author>xfstart07</author>
      <pubDate>Sun, 01 Sep 2013 11:38:10 +0800</pubDate>
      <link>https://ruby-china.org/topics/13799</link>
      <guid>https://ruby-china.org/topics/13799</guid>
    </item>
  </channel>
</rss>
