<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>088pause (江浩浩)</title>
    <link>https://ruby-china.org/088pause</link>
    <description></description>
    <language>en-us</language>
    <item>
      <title>Ruby on Rail Guides: ActiveSupport::Cache::RedisCacheStore</title>
      <description>&lt;p&gt;今天浏览到 Ruby on Rail 指南中文版 &lt;a href="https://ruby-china.github.io/rails-guides/caching_with_rails.html" rel="nofollow" target="_blank" title=""&gt;Rails 缓存概览&lt;/a&gt;，发现缺失了 &lt;a href="https://guides.rubyonrails.org/caching_with_rails.html" rel="nofollow" target="_blank" title=""&gt;Guides&lt;/a&gt; 中新增的这一节，顺手翻译发出来供大家参考。&lt;/p&gt;
&lt;h4 id="2.6 ActiveSupport::Cache::RedisCacheStore"&gt;&lt;a href="https://guides.rubyonrails.org/caching_with_rails.html#activesupport-cache-rediscachestore" rel="nofollow" target="_blank" title=""&gt;2.6 ActiveSupport::Cache::RedisCacheStore&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;使用 Redis 作为缓存存储，可以利用其&lt;strong&gt;支持到达最大内存时自动淘汰/失效&lt;/strong&gt;的优势，让它得以拥有如一台 &lt;a href="https://en.wikipedia.org/wiki/Memcached" rel="nofollow" target="_blank" title=""&gt;Memcached&lt;/a&gt; 缓存服务器般的性能。&lt;/p&gt;

&lt;p&gt;部署备注：Redis 不会默认删除过期主键，所以使用一台 Redis 缓存专用服务器时要小心。避免爆炸式地塞满你的持久化 Redis 服务器！认真仔细地查看这篇&lt;a href="https://redis.io/topics/lru-cache" rel="nofollow" target="_blank" title=""&gt;Redis 缓存服务器搭建指南&lt;/a&gt;。&lt;/p&gt;

&lt;p&gt;对于一台缓存专用 Redis 服务器，应把&lt;code&gt;maxmemory-policy&lt;/code&gt;设置为 allkeys 的几个变体之一。Redis 4+ 支持&lt;strong&gt;最近最少使用淘汰（&lt;code&gt;allkeys-lfu&lt;/code&gt;）&lt;/strong&gt;，这是非常好的默认之选。Redis 3 及更早的版本，应该选择&lt;strong&gt;最久未使用淘汰（allkeys-lru）&lt;/strong&gt;。&lt;/p&gt;

&lt;p&gt;把&lt;strong&gt;缓存读写超时（cache read and write timeouts）&lt;/strong&gt;设置的相对低些。重新生成一遍缓存值通常比花费一秒钟去找回它更快。读和写的超时阈值默认都是 1 秒，但应该设的更低些，如果其实你的网络通常处于低延迟的话。&lt;/p&gt;

&lt;p&gt;默认情况下，如果在请求期间连接失败，缓存存储将不会尝试重新连接到 Redis。如果您经常断开连接，可能会希望启用重连尝试。&lt;/p&gt;

&lt;p&gt;缓存读取和写入并不会引发异常；它们只是返回&lt;code&gt;nil&lt;/code&gt;，就像缓存中什么也没有时一样。为了及时获知您缓存遇到异常，您可以提供一个&lt;code&gt;error_handler&lt;/code&gt;来报告给异常收集服务。它必须接受三个关键字参数：&lt;code&gt;method&lt;/code&gt;，原始调用的缓存存储方法；returning，返回给用户的值，通常就是 &lt;code&gt;nil&lt;/code&gt;；以及&lt;code&gt;exception&lt;/code&gt;，所发生的异常。&lt;/p&gt;

&lt;p&gt;准备开始吧，首先把 redis gem 添加到你的 Gemfile:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;gem 'redis'&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;你可以启用 &lt;a href="https://github.com/redis/hiredis" rel="nofollow" target="_blank" title=""&gt;hiredis&lt;/a&gt; 库以获得更快的连接，只要把它的 Ruby 封装版本添加 Gemfile 就行：&lt;/p&gt;

&lt;p&gt;&lt;code&gt;gem 'hiredis'&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;如果可用的话，Redis 缓存存储会自动链接和使用 hiredis。不需要进一步的设置。&lt;/p&gt;

&lt;p&gt;最后，在相关配置文件 &lt;code&gt;config/environments/*.rb&lt;/code&gt; 中添加设置：&lt;/p&gt;

&lt;p&gt;&lt;code&gt;config.cache_store = :redis_cache_store, { url: ENV['REDIS_URL'] }&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;一个更复杂的，生产环境下的 Redis 缓存存储可能是这样的：&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="n"&gt;cache_servers&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sx"&gt;%w(redis://cache-01:6379/0 redis://cache-02:6379/0)&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;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="n"&gt;cache_servers&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;

  &lt;span class="ss"&gt;connect_timeout:    &lt;/span&gt;&lt;span class="mi"&gt;30&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;  &lt;span class="c1"&gt;# Defaults to 20 seconds&lt;/span&gt;
  &lt;span class="ss"&gt;read_timeout:       &lt;/span&gt;&lt;span class="mf"&gt;0.2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="c1"&gt;# Defaults to 1 second&lt;/span&gt;
  &lt;span class="ss"&gt;write_timeout:      &lt;/span&gt;&lt;span class="mf"&gt;0.2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="c1"&gt;# Defaults to 1 second&lt;/span&gt;
  &lt;span class="ss"&gt;reconnect_attempts: &lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;   &lt;span class="c1"&gt;# Defaults to 0&lt;/span&gt;

  &lt;span class="ss"&gt;error_handler: &lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;method&lt;/span&gt;&lt;span class="p"&gt;:,&lt;/span&gt; &lt;span class="n"&gt;returning&lt;/span&gt;&lt;span class="p"&gt;:,&lt;/span&gt; &lt;span class="n"&gt;exception&lt;/span&gt;&lt;span class="p"&gt;:)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="c1"&gt;# Report errors to Sentry as warnings&lt;/span&gt;
    &lt;span class="no"&gt;Raven&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;capture_exception&lt;/span&gt; &lt;span class="n"&gt;exception&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;level: &lt;/span&gt;&lt;span class="s1"&gt;'warning'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="ss"&gt;tags: &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="ss"&gt;method: &lt;/span&gt;&lt;span class="nb"&gt;method&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;returning: &lt;/span&gt;&lt;span class="n"&gt;returning&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;/code&gt;&lt;/pre&gt;</description>
      <author>088pause</author>
      <pubDate>Mon, 27 Apr 2020 00:11:05 +0800</pubDate>
      <link>https://ruby-china.org/topics/39804</link>
      <guid>https://ruby-china.org/topics/39804</guid>
    </item>
    <item>
      <title>终止支持 Ruby 2.4</title>
      <description>&lt;p&gt;&lt;a href="https://www.ruby-lang.org/zh_cn/news/2020/04/05/support-of-ruby-2-4-has-ended/" rel="nofollow" target="_blank" title=""&gt;终止支持 Ruby 2.4(ruby-lang.org/zh_cn)&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;又到了一年一度催促大家升级新版的时候。&lt;/p&gt;</description>
      <author>088pause</author>
      <pubDate>Sun, 26 Apr 2020 02:25:54 +0800</pubDate>
      <link>https://ruby-china.org/topics/39800</link>
      <guid>https://ruby-china.org/topics/39800</guid>
    </item>
    <item>
      <title>Golang Weekly #309 中文摘要 -2020年4月24日</title>
      <description>&lt;p&gt;前段时间叒开始学习 Golang，想起之前订阅过 Ruby/Golang/DB Weekly 一系列周报，但都……阅读习惯还是没养成。今天正好 Golang Weekly 更新了，就顺手翻译一下，发出来方便大家扫一扫，感兴趣就点进原链接细看。（今天查了查才知道，原来这些都是一个公司出的，人家是商业生产的，那我就把广告一并贴出来吧。）&lt;/p&gt;
&lt;h2 id="-&gt; 查看原文"&gt;&lt;a href="https://golangweekly.com/link/87295/web" rel="nofollow" target="_blank" title=""&gt;-&amp;gt; 查看原文&lt;/a&gt;&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;问卷截图：我使用 Go 开发时，依赖以下技术
&lt;a href="https://golangweekly.com/link/87296/web" rel="nofollow" target="_blank" title=""&gt;&lt;img src="https://l.ruby-china.com/photo/2020/8c19b8c7-15b8-4952-b959-28bff44160cb.jpg!large" title="" alt=""&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://golangweekly.com/link/87296/web" rel="nofollow" target="_blank" title="blog.golang.org"&gt;Go 开发者问卷 2019 年度结果&lt;/a&gt; — 调查结果出炉了，但统计方式与往年不同。了解社区感受，我们在用什么工具，以及我们到底为什么使用 Go。
&lt;u&gt;THE GO BLOG&lt;/u&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://golangweekly.com/link/87297/web" rel="nofollow" target="_blank" title="github.com"&gt;Fiber: 一个受 Express.js 启发的 Golang Web 框架&lt;/a&gt; — 如果你了解 Express（来自 Node 开发宇宙），那么 Fiber 对你来说会&lt;em&gt;十分&lt;/em&gt;眼熟。它支持中间件、WebSockets 以及多种模版引擎，实现了所有这些，外加低内存消耗。该框架基于 &lt;a href="https://golangweekly.com/link/87298/web" rel="nofollow" target="_blank" title=""&gt;FastHTTP&lt;/a&gt; 开发。
&lt;u&gt;FIBER&lt;/u&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://golangweekly.com/link/87299/web" rel="nofollow" target="_blank" title=""&gt;&lt;img src="https://copm.s3.amazonaws.com/80c0e2b6.png" title="" alt="ARDAN 研究室 `赞助商`"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://golangweekly.com/link/87299/web" rel="nofollow" target="_blank" title="www.ardanlabs.com"&gt;我们现提供远程 Go、Docker 或 Kubernetes 培训&lt;/a&gt; — 我们提供远程直播及视频培训，可为想学习 Go、Docker 和/或 Kubernetes 的工程师和企业服务。已经培训过超过 5000 名工程师，我们有精心构思策划的课程，为同学们提供尽可能多的帮助。
&lt;u&gt;ARDAN LABS&lt;/u&gt; &lt;code&gt;赞助商&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://golangweekly.com/link/87300/web" rel="nofollow" target="_blank" title="bmcbioinformatics.biomedcentral.com"&gt;生物信息学三种编程语言的对比&lt;/a&gt; — 这完全是一篇学术性文章，但简单来讲就是把 Go、Java 和 C++ 放在一系列生物信息学任务中挨个儿跑分。好消息？Go 在内存消耗一项中取得了优胜，并在性能上击败了 C++ 17 的成绩（这显然&lt;a href="https://golangweekly.com/link/87301/web" rel="nofollow" target="_blank" title=""&gt;没有发挥其真正实力&lt;/a&gt;）。团队在质疑声中选择了 Go 进行后续开发。（译者注：Hacker News 顶部评论有一条这么说—— C++ 的问题不是不能做到最好，是太容易玩儿砸了 :P
&lt;u&gt;BMC 生物信息学&lt;/u&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://golangweekly.com/link/87302/web" rel="nofollow" target="_blank" title="medium.com"&gt;云开发中的 Go — 对“使用 AWS Lambda 函数即服务“部分的几点思考 &lt;/a&gt; — 这是一篇回应，原贴是&lt;a href="https://golangweekly.com/link/87303/web" rel="nofollow" target="_blank" title=""&gt;这篇&lt;/a&gt;关于 Go 在云开发领域的优缺点的文章。这两篇，你都值得一看。
&lt;u&gt;FILIP LUBNIEWSKI&lt;/u&gt;&lt;/p&gt;
&lt;h2 id="💻 招聘"&gt;💻 招聘&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;因地理差异翻译的意义不大，直接放原帖&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://golangweekly.com/link/87304/web" rel="nofollow" target="_blank" title="angel.co"&gt;Enjoy Building Scalable Infrastructure in Go? Stream Is Hiring&lt;/a&gt; — Like coding in Go? We do too. Stream is hiring in Amsterdam. &lt;a href="https://golangweekly.com/link/87304/web" rel="nofollow" target="_blank" title=""&gt;Apply now&lt;/a&gt;.
&lt;u&gt;STREAM&lt;/u&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://golangweekly.com/link/87305/web" rel="nofollow" target="_blank" title="x-team.com"&gt;Golang Developer at X-Team (Remote)&lt;/a&gt; — Join the most energizing community for developers. Work from anywhere with the world's leading brands.
&lt;u&gt;X-TEAM&lt;/u&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://golangweekly.com/link/87306/web" rel="nofollow" target="_blank" title="www.vettery.com"&gt;Find a Job Through Vettery&lt;/a&gt; — Vettery specializes in tech roles and is completely free for job seekers. Create a profile to get started.
&lt;u&gt;VETTERY&lt;/u&gt;&lt;/p&gt;
&lt;h2 id="📚 文章和教程"&gt;📚 文章和教程&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://golangweekly.com/link/87307/web" rel="nofollow" target="_blank" title="tpaschalis.github.io"&gt;如何使用 Delve 进行调试除虫&lt;/a&gt; — 如果你处于…… &lt;em&gt;“我并不知道如何使用调试器..”&lt;/em&gt; 的阵营中，Paschalis 的故事和快速教程可能可以帮助你试试水。
&lt;u&gt;PASCHALIS TSILIAS&lt;/u&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://golangweekly.com/link/87308/web" rel="nofollow" target="_blank" title="posener.github.io"&gt;Golang 中的对象排序优先级&lt;/a&gt; — 全篇聊了聊 Golang 中的对象的比较，以及哪些类型的比较是被允许的。结论是，看这片帖子 &amp;gt; 这篇帖子。
&lt;u&gt;EYAL POSENER&lt;/u&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://golangweekly.com/link/87309/web" rel="nofollow" target="_blank" title="www.alexedwards.net"&gt;Golang 中如何管理数据库的超时和取消&lt;/a&gt; — 如何在你的程序中&lt;em&gt;取消&lt;/em&gt;数据库查询，以及那些你需要注意的奇怪和边界案例。
&lt;u&gt;ALEX EDWARDS&lt;/u&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://golangweekly.com/link/87310/web" rel="nofollow" target="_blank" title="link.sqreen.com"&gt;Go 的安全清单&lt;/a&gt; — 从代码到基础架构，学习如何提高你的 Go 应用的安全系数，从《Golang 安全清单》开始。
&lt;u&gt;SQREEN&lt;/u&gt; &lt;code&gt;赞助商&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://golangweekly.com/link/87340/web" rel="nofollow" target="_blank" title="t.co"&gt;用 Go 做数据日志：如何安全地存储用户详情&lt;/a&gt; — 具体来说，这篇着眼于通过定制 protobuf 中的 FieldOptions 来标记可被写入日志的字段，以及检查这些定制项的思考。 
&lt;u&gt;ZAPOLSKI-DOUNAR&lt;/u&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://golangweekly.com/link/87312/web" rel="nofollow" target="_blank" title="dev.to"&gt;如何五分钟内在 FreeBSD 中安装好 Go&lt;/a&gt; — 你可以使用一个包管理器，但这种方法有些优点，而且它很简单。
&lt;u&gt;JEREMY MORGAN&lt;/u&gt;&lt;/p&gt;
&lt;h2 id="🛠 代码 &amp;amp; 工具"&gt;🛠 代码 &amp;amp; 工具&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://golangweekly.com/link/87313/web" rel="nofollow" target="_blank" title=""&gt;&lt;img src="https://l.ruby-china.com/photo/2020/f032ea38-ae21-444f-901b-86fe12d24a9f.jpg!large" title="" alt="Fynedesk"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://golangweekly.com/link/87313/web" rel="nofollow" target="_blank" title="github.com"&gt;Fynedesk: 一款 Fyne 驱动的 Linux/Unix 全桌面环境&lt;/a&gt; — 之前我们提过 &lt;a href="https://golangweekly.com/link/87314/web" rel="nofollow" target="_blank" title=""&gt;Fyne&lt;/a&gt;, 一个 Go 驱动的跨平台 GUI 框架，但它现在被用来创建一个完整的 Linux 桌面环境了！
&lt;u&gt;FYNE.IO&lt;/u&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://golangweekly.com/link/87315/web" rel="nofollow" target="_blank" title="github.com"&gt;Lockgate: 一款跨平台锁库（Locking Library）&lt;/a&gt; — 支持使用 Kubernetes 的分布式锁，以及系统文件锁（OS file locks）。
&lt;u&gt;FLANT&lt;/u&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://golangweekly.com/link/87316/web" rel="nofollow" target="_blank" title="github.com"&gt;Pomerium: 一款基于身份识别的安全访问代理 An Identity-Aware Secure Access Proxy&lt;/a&gt; — 一款模仿 Google BeyondCorp 开发的身份识别访问代理。想象一下，它拥有 VPN 访问的优点，但又并不走 VPN。Built in Go, naturally.（完全基于 Go 原生库开发。大概是这个意思吧。）
&lt;u&gt;POMERIUM&lt;/u&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://golangweekly.com/link/87317/web" rel="nofollow" target="_blank" title="blackfire.io"&gt;Beta Launch: 代码性能侧写 - 查找 &amp;amp; 修复瓶颈&lt;/a&gt;
&lt;u&gt;BLACKFIRE&lt;/u&gt; &lt;code&gt;赞助商&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://golangweekly.com/link/87318/web" rel="nofollow" target="_blank" title="github.com"&gt;Apex Log: Golang 结构化的日志 Package&lt;/a&gt; — 受启发于 &lt;a href="https://golangweekly.com/link/87319/web" rel="nofollow" target="_blank" title=""&gt;Logrus&lt;/a&gt;.
&lt;u&gt;APEX&lt;/u&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://golangweekly.com/link/87320/web" rel="nofollow" target="_blank" title="github.com"&gt;mediary: 给 Go HTTP 客户端添加拦截器&lt;/a&gt; — 这开启了几个选择项：跟踪、请求导出、统计收集等等。
&lt;u&gt;HERE MOBILITY SDK&lt;/u&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://golangweekly.com/link/87321/web" rel="nofollow" target="_blank" title="github.com"&gt;iso9660: 用于读取和创建 ISO9660 镜像的 Go 库&lt;/a&gt; — 这款库的使用范围会比较小众。作者创建它是为了动态生成 ISO 镜像文件，来挂载到 vSphere 虚拟机中。
&lt;u&gt;KAMIL DOMAŃSKI&lt;/u&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://golangweekly.com/link/87322/web" rel="nofollow" target="_blank" title="github.com"&gt;pxy: 一款从 WebSockets 到外部 RTMP 端的 Go 直播流代理工具&lt;/a&gt;
&lt;u&gt;CHUA BING QUAN&lt;/u&gt;&lt;/p&gt;</description>
      <author>088pause</author>
      <pubDate>Sat, 25 Apr 2020 02:17:51 +0800</pubDate>
      <link>https://ruby-china.org/topics/39797</link>
      <guid>https://ruby-china.org/topics/39797</guid>
    </item>
    <item>
      <title>为什么最新 Rails Guide 中 Getting Started 中去掉了 Creating the Database 这一节？</title>
      <description>&lt;p&gt;新手在看最新的基于 Rails 4.1.0 的 &lt;a href="http://guides.rubyonrails.org/getting_started.html" rel="nofollow" target="_blank" title="Rails Guide"&gt;Rails Guide&lt;/a&gt; 的过程中，发现在第四章 Creating a New Rails Project 中，相对于基于 Rails 3.2 的 &lt;a href="http://guides.rubyonrails.org/v3.2.17/getting_started.html" rel="nofollow" target="_blank" title="Rails Guide"&gt;Rails Guide&lt;/a&gt;，少了 Configuring a Database 和 Creating the Database 这两节。这是 Rails 4 做了什么改动吗？&lt;/p&gt;

&lt;p&gt;&lt;img src="//l.ruby-china.com/photo/2014/f2a8397c34ac71425357e392a1bf46b1.png" title="" alt=""&gt; &lt;img src="//l.ruby-china.com/photo/2014/4bf35766b28dd429d528604fb66f53c8.png" title="" alt=""&gt;&lt;/p&gt;</description>
      <author>088pause</author>
      <pubDate>Wed, 23 Apr 2014 16:46:25 +0800</pubDate>
      <link>https://ruby-china.org/topics/18803</link>
      <guid>https://ruby-china.org/topics/18803</guid>
    </item>
  </channel>
</rss>
