<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>Peter (Peter)</title>
    <link>https://ruby-china.org/Peter</link>
    <description></description>
    <language>en-us</language>
    <item>
      <title>GLM-4.7 还是弟弟，Gemini 3 Pro 还是强不少，不写一行代码转译了一个 Gem: rb-edge-tts</title>
      <description>&lt;p&gt;原库是 Python 写的：
&lt;a href="https://github.com/rany2/edge-tts" rel="nofollow" target="_blank"&gt;https://github.com/rany2/edge-tts&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;我先用 OpenCode + GLM-4.7 转成 Ruby Gem.  提示词：&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;详细研读  python 代码，帮我把这个功能库转换成一个 Ruby gem, 并写出相应的 README.md, 比如 安装，调用等。&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;最后没成功，然后它在根目录留下几个 markdown 文件分析了一下它觉得的问题所在，然后就不管了。每次让它继续还是搞不定。&lt;/p&gt;

&lt;p&gt;最后还是在 Antigravity + Gemini 3 Pro 下丝滑完工：
&lt;a href="https://github.com/ZPVIP/rb-edge-tts" rel="nofollow" target="_blank"&gt;https://github.com/ZPVIP/rb-edge-tts&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;全程我都没有写代码，这在以前根本无法想象。&lt;/p&gt;</description>
      <author>Peter</author>
      <pubDate>Fri, 09 Jan 2026 22:17:28 +0800</pubDate>
      <link>https://ruby-china.org/topics/44443</link>
      <guid>https://ruby-china.org/topics/44443</guid>
    </item>
    <item>
      <title>有人在用 Hotwire Native 吗，坑多吗？</title>
      <description>&lt;p&gt;以下就是我能找到的所有资料了：&lt;/p&gt;

&lt;p&gt;&lt;a href="https://native.hotwired.dev/" rel="nofollow" target="_blank"&gt;https://native.hotwired.dev/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/@joemasilotti" rel="nofollow" target="_blank"&gt;https://www.youtube.com/@joemasilotti&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://pragprog.com/titles/jmnative/hotwire-native-for-rails-developers/" rel="nofollow" target="_blank"&gt;https://pragprog.com/titles/jmnative/hotwire-native-for-rails-developers/&lt;/a&gt;&lt;/p&gt;</description>
      <author>Peter</author>
      <pubDate>Wed, 18 Jun 2025 01:44:12 +0800</pubDate>
      <link>https://ruby-china.org/topics/44201</link>
      <guid>https://ruby-china.org/topics/44201</guid>
    </item>
    <item>
      <title>CommitGPT</title>
      <description>&lt;p&gt;A CLI that writes your git commit messages for you with AI. Never write a commit message again.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/ZPVIP/commitgpt" rel="nofollow" target="_blank"&gt;https://github.com/ZPVIP/commitgpt&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;欢迎 star, PR&lt;/p&gt;</description>
      <author>Peter</author>
      <pubDate>Mon, 27 Feb 2023 20:52:41 +0800</pubDate>
      <link>https://ruby-china.org/topics/42913</link>
      <guid>https://ruby-china.org/topics/42913</guid>
    </item>
    <item>
      <title>nil.to_s in Ruby 2.7.0 now always return a frozen String</title>
      <description>&lt;p&gt;&lt;a href="https://www.ruby-lang.org/en/news/2019/12/25/ruby-2-7-0-released/" rel="nofollow" target="_blank"&gt;https://www.ruby-lang.org/en/news/2019/12/25/ruby-2-7-0-released/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Module#name, true.to_s, false.to_s, and nil.to_s now always return a frozen String. &lt;/p&gt;

&lt;p&gt;使用的一个 Gem 里面莫名其妙地抛出一个 &lt;code&gt;FrozenError&lt;/code&gt;&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;FrozenError in XxxxxController#action
can't modify frozen String: ""
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;本地调试了好久才找到关键行：&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="n"&gt;foo&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;bar&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;to_s&lt;/span&gt;
&lt;span class="n"&gt;foo&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;gsub!&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sr"&gt;/正则/&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s2"&gt;""&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;当 &lt;code&gt;bar&lt;/code&gt; 为 &lt;code&gt;true&lt;/code&gt;, &lt;code&gt;false&lt;/code&gt; 或 &lt;code&gt;nil&lt;/code&gt; 的时候，&lt;code&gt;foo&lt;/code&gt; 就自动 &lt;code&gt;frozen&lt;/code&gt; 了，再 &lt;code&gt;gsub!&lt;/code&gt; 的时候就报 &lt;code&gt;FrozenError&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;加个判断就可以 fix 了：&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="n"&gt;foo&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;gsub!&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sr"&gt;/正则/&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s2"&gt;""&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;unless&lt;/span&gt; &lt;span class="n"&gt;foo&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;frozen?&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;也可以 &lt;code&gt;duplicate&lt;/code&gt; 一下，但这应该会多创建一个 object，浪费资源，降低执行速度&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="n"&gt;foo&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;bar&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;to_s&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;dup&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;比较奇怪的是，这个 Gem 在 Linux 服务器上的 Ruby 2.7.0 并不报错，只在本地 macOS 10.14 上报错。&lt;/p&gt;</description>
      <author>Peter</author>
      <pubDate>Sat, 21 Mar 2020 08:14:30 +0800</pubDate>
      <link>https://ruby-china.org/topics/39634</link>
      <guid>https://ruby-china.org/topics/39634</guid>
    </item>
    <item>
      <title>W3techs 公布 2018年 度网页技术 Ruby 在服务器端程序语言成长最快</title>
      <description>&lt;p&gt;什么情况，好像和直觉相背。&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.cnbeta.com/articles/tech/810623.htm" rel="nofollow" target="_blank"&gt;https://www.cnbeta.com/articles/tech/810623.htm&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://w3techs.com/blog/entry/web_technologies_of_the_year_2018" rel="nofollow" target="_blank"&gt;https://w3techs.com/blog/entry/web_technologies_of_the_year_2018&lt;/a&gt;&lt;/p&gt;</description>
      <author>Peter</author>
      <pubDate>Thu, 24 Jan 2019 19:03:28 +0800</pubDate>
      <link>https://ruby-china.org/topics/38040</link>
      <guid>https://ruby-china.org/topics/38040</guid>
    </item>
    <item>
      <title>怎么防这些发广告的</title>
      <description>&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;

&lt;p&gt;今天 ruby-china 被广告刷屏了，管理员不是一直在线的，我想了个办法，不知道是不是合适。&lt;/p&gt;

&lt;p&gt;建议在用户个人页面加个类似“喜欢”按钮，当然这种情况下是“ban”之类的，如果有 5 个有老用户点了这个 ban，那这个用户的所有帖子都不可见。
管理员上线后可以处理这个问题。如果 5 个老用户是对的，那就封了这个用户。如果这 5 个老用户恶作剧，可以批评或禁言，甚至被封。&lt;/p&gt;

&lt;p&gt;我相信不用有 5 个老用户那么无聊整一个人的。&lt;/p&gt;

&lt;p&gt;不知道还有没有更好的办法。&lt;/p&gt;

&lt;p&gt;&lt;img src="https://l.ruby-china.com/photo/2018/c86f1f65-413a-445d-aa3b-cfe3f1793422.png!large" title="" alt=""&gt;&lt;/p&gt;</description>
      <author>Peter</author>
      <pubDate>Wed, 20 Jun 2018 15:51:59 +0800</pubDate>
      <link>https://ruby-china.org/topics/36992</link>
      <guid>https://ruby-china.org/topics/36992</guid>
    </item>
    <item>
      <title>好像 Markdown 的标题解析有点问题</title>
      <description>&lt;p&gt;&lt;a href="/huacnlee" class="user-mention" title="@huacnlee"&gt;&lt;i&gt;@&lt;/i&gt;huacnlee&lt;/a&gt; 
&lt;a href="https://ruby-china.org/markdown" rel="nofollow" target="_blank"&gt;https://ruby-china.org/markdown&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="Guide"&gt;Guide&lt;/h2&gt;
&lt;p&gt;这是一篇讲解如何正确使用 &lt;strong&gt;Markdown&lt;/strong&gt; 的排版示例，学会这个很有必要，能让你的文章有更佳清晰的排版。&lt;/p&gt;
&lt;h2 id="语法指导"&gt;语法指导&lt;/h2&gt;&lt;h3 id="普通内容"&gt;普通内容&lt;/h3&gt;
&lt;p&gt;这段内容展示了在内容里面一些小的格式，比如：&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;加粗&lt;/strong&gt; - &lt;code&gt;**加粗**&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;倾斜&lt;/em&gt; - &lt;code&gt;*倾斜*&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;del&gt;删除线&lt;/del&gt; - &lt;code&gt;~~删除线~~&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;Code 标记&lt;/code&gt; - &lt;code&gt;Code 标记&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="http://github.com" rel="nofollow" target="_blank" title=""&gt;超级链接&lt;/a&gt; - &lt;code&gt;[超级链接](http://github.com)&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="mailto:username@gmail.com" title=""&gt;username@gmail.com&lt;/a&gt; - &lt;code&gt;[username@gmail.com](mailto:username@gmail.com)&lt;/code&gt;
### 提及用户
&lt;a href="/foo" class="user-mention" title="@foo"&gt;&lt;i&gt;@&lt;/i&gt;foo&lt;/a&gt; &lt;a href="/bar" class="user-mention" title="@bar"&gt;&lt;i&gt;@&lt;/i&gt;bar&lt;/a&gt; &lt;a href="/someone" class="user-mention" title="@someone"&gt;&lt;i&gt;@&lt;/i&gt;someone&lt;/a&gt; ... 通过 @ 可以在发帖和回帖里面提及用户，信息提交以后，被提及的用户将会收到系统通知。以便让他来关注这个帖子或回帖。
### 表情符号 Emoji
支持表情符号，你可以用系统默认的 Emoji 符号（无法支持 Windows 用户）。
也可以用图片的表情，输入 &lt;code&gt;:&lt;/code&gt; 将会出现智能提示。&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="一些表情例子"&gt;一些表情例子&lt;/h4&gt;
&lt;p&gt;&lt;img title=":smile:" alt="😄" src="https://twemoji.ruby-china.com/2/svg/1f604.svg" class="twemoji"&gt; &lt;img title=":laughing:" alt="😆" src="https://twemoji.ruby-china.com/2/svg/1f606.svg" class="twemoji"&gt; &lt;img title=":dizzy_face:" alt="😵" src="https://twemoji.ruby-china.com/2/svg/1f635.svg" class="twemoji"&gt; &lt;img title=":sob:" alt="😭" src="https://twemoji.ruby-china.com/2/svg/1f62d.svg" class="twemoji"&gt; &lt;img title=":cold_sweat:" alt="😰" src="https://twemoji.ruby-china.com/2/svg/1f630.svg" class="twemoji"&gt; &lt;img title=":sweat_smile:" alt="😅" src="https://twemoji.ruby-china.com/2/svg/1f605.svg" class="twemoji"&gt;  &lt;img title=":cry:" alt="😢" src="https://twemoji.ruby-china.com/2/svg/1f622.svg" class="twemoji"&gt; &lt;img title=":triumph:" alt="😤" src="https://twemoji.ruby-china.com/2/svg/1f624.svg" class="twemoji"&gt; &lt;img title=":heart_eyes:" alt="😍" src="https://twemoji.ruby-china.com/2/svg/1f60d.svg" class="twemoji"&gt; &lt;img title=":relaxed:" alt="☺" src="https://twemoji.ruby-china.com/2/svg/263a.svg" class="twemoji"&gt; &lt;img title=":sunglasses:" alt="😎" src="https://twemoji.ruby-china.com/2/svg/1f60e.svg" class="twemoji"&gt; &lt;img title=":weary:" alt="😩" src="https://twemoji.ruby-china.com/2/svg/1f629.svg" class="twemoji"&gt;
 &lt;img title=":+1:" alt="👍" src="https://twemoji.ruby-china.com/2/svg/1f44d.svg" class="twemoji"&gt; &lt;img title=":-1:" alt="👎" src="https://twemoji.ruby-china.com/2/svg/1f44e.svg" class="twemoji"&gt; &lt;img title=":100:" alt="💯" src="https://twemoji.ruby-china.com/2/svg/1f4af.svg" class="twemoji"&gt; &lt;img title=":clap:" alt="👏" src="https://twemoji.ruby-china.com/2/svg/1f44f.svg" class="twemoji"&gt; &lt;img title=":bell:" alt="🔔" src="https://twemoji.ruby-china.com/2/svg/1f514.svg" class="twemoji"&gt; &lt;img title=":gift:" alt="🎁" src="https://twemoji.ruby-china.com/2/svg/1f381.svg" class="twemoji"&gt; &lt;img title=":question:" alt="❓" src="https://twemoji.ruby-china.com/2/svg/2753.svg" class="twemoji"&gt; &lt;img title=":bomb:" alt="💣" src="https://twemoji.ruby-china.com/2/svg/1f4a3.svg" class="twemoji"&gt; &lt;img title=":heart:" alt="❤" src="https://twemoji.ruby-china.com/2/svg/2764.svg" class="twemoji"&gt; &lt;img title=":coffee:" alt="☕" src="https://twemoji.ruby-china.com/2/svg/2615.svg" class="twemoji"&gt; &lt;img title=":cyclone:" alt="🌀" src="https://twemoji.ruby-china.com/2/svg/1f300.svg" class="twemoji"&gt; &lt;img title=":bow:" alt="🙇" src="https://twemoji.ruby-china.com/2/svg/1f647.svg" class="twemoji"&gt; &lt;img title=":kiss:" alt="💋" src="https://twemoji.ruby-china.com/2/svg/1f48b.svg" class="twemoji"&gt; &lt;img title=":pray:" alt="🙏" src="https://twemoji.ruby-china.com/2/svg/1f64f.svg" class="twemoji"&gt; &lt;img title=":sweat_drops:" alt="💦" src="https://twemoji.ruby-china.com/2/svg/1f4a6.svg" class="twemoji"&gt; &lt;img title=":hankey:" alt="💩" src="https://twemoji.ruby-china.com/2/svg/1f4a9.svg" class="twemoji"&gt; &lt;img title=":exclamation:" alt="❗" src="https://twemoji.ruby-china.com/2/svg/2757.svg" class="twemoji"&gt; &lt;img title=":anger:" alt="💢" src="https://twemoji.ruby-china.com/2/svg/1f4a2.svg" class="twemoji"&gt;
 ### 大标题 - Heading 3
 你可以选择使用 H2 至 H6，使用 ##(N) 打头，H1 不能使用，会自动转换成 H2。&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;NOTE: 别忘了 &lt;code&gt;#&lt;/code&gt; 后面需要有空格！
 #### Heading 4
 ##### Heading 5
 ###### Heading 6
 ### 图片&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;![alt 文本](http://image-path.png)
![alt 文本](http://image-path.png "图片 Title 值")
![设置图片宽度高度](http://image-path.png =300x200)
![设置图片宽度](http://image-path.png =300x)
![设置图片高度](http://image-path.png =x200)
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;### 代码块
 #### 普通&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;*emphasize*    **strong**
_emphasize_    __strong__
@a = 1
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;#### 语法高亮支持
 如果在 ``` 后面更随语言名称，可以有语法高亮的效果哦，比如:
 ##### 演示 Ruby 代码高亮&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;PostController&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt; &lt;span class="no"&gt;ApplicationController&lt;/span&gt;
  &lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;index&lt;/span&gt;
    &lt;span class="vi"&gt;@posts&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="no"&gt;Post&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;last_actived&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;limit&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;10&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;##### 演示 Rails View 高亮&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="vi"&gt;@posts.each&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;post&lt;/span&gt;&lt;span class="o"&gt;|&lt;/span&gt; &lt;span class="cp"&gt;%&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"post"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
&lt;span class="cp"&gt;&amp;lt;%&lt;/span&gt; &lt;span class="k"&gt;end&lt;/span&gt; &lt;span class="cp"&gt;%&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;##### 演示 YAML 文件&lt;/p&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="na"&gt;zh-CN&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;姓名&lt;/span&gt;
  &lt;span class="na"&gt;age&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;年龄&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Tip: 语言名称支持下面这些：&lt;code&gt;ruby&lt;/code&gt;, &lt;code&gt;python&lt;/code&gt;, &lt;code&gt;js&lt;/code&gt;, &lt;code&gt;html&lt;/code&gt;, &lt;code&gt;erb&lt;/code&gt;, &lt;code&gt;css&lt;/code&gt;, &lt;code&gt;coffee&lt;/code&gt;, &lt;code&gt;bash&lt;/code&gt;, &lt;code&gt;json&lt;/code&gt;, &lt;code&gt;yml&lt;/code&gt;, &lt;code&gt;xml&lt;/code&gt; ...
 ### 有序、无序列表
 #### 无序列表&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Ruby

&lt;ul&gt;
&lt;li&gt;Rails&lt;/li&gt;
&lt;li&gt;ActiveRecord&lt;/li&gt;
&lt;li&gt;Go&lt;/li&gt;
&lt;li&gt;Gofmt&lt;/li&gt;
&lt;li&gt;Revel&lt;/li&gt;
&lt;li&gt;Node.js&lt;/li&gt;
&lt;li&gt;Koa&lt;/li&gt;
&lt;li&gt;Express
#### 有序列表&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Node.js

&lt;ol&gt;
&lt;li&gt;Express&lt;/li&gt;
&lt;li&gt;Koa&lt;/li&gt;
&lt;li&gt;Sails&lt;/li&gt;
&lt;li&gt;Ruby&lt;/li&gt;
&lt;li&gt;Rails&lt;/li&gt;
&lt;li&gt;Sinatra&lt;/li&gt;
&lt;li&gt;Go
### 表格
如果需要展示数据什么的，可以选择使用表格哦
| header 1 | header 3 |
| -------- | -------- |
| cell 1   | cell 2   |
| cell 3   | cell 4   |
| cell 5   | cell 6   |
### 段落
留空白的换行，将会被自动转换成一个段落，会有一定的段落间距，便于阅读。
请注意后面 Markdown 源代码的换行留空情况。
### 视频插入
目前支持 Youtube 和 Youku 两家的视频插入，你只需要复制视频播放页面，浏览器地址栏的网页 URL 地址，并粘贴到话题／回复文本框，提交以后将自动转换成视频播放器。&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;</description>
      <author>Peter</author>
      <pubDate>Tue, 12 Jun 2018 08:38:51 +0800</pubDate>
      <link>https://ruby-china.org/topics/36932</link>
      <guid>https://ruby-china.org/topics/36932</guid>
    </item>
    <item>
      <title>有没有可能连接多个加密的 sqlite 数据库</title>
      <description>&lt;p&gt;场景如下：
每个用户都可以上传一个或多个已经加密的 sqlite 数据库，这些数据库结构相同
用户提供密码，希望在 Rails 网站内通过密码访问这些加密的 sqlite 数据库
Rails 网站使用 mysql 或 pq&lt;/p&gt;

&lt;p&gt;不知道哪位大侠能提供一点思路，谢谢！&lt;/p&gt;</description>
      <author>Peter</author>
      <pubDate>Fri, 02 Mar 2018 19:22:53 +0800</pubDate>
      <link>https://ruby-china.org/topics/35127</link>
      <guid>https://ruby-china.org/topics/35127</guid>
    </item>
    <item>
      <title>刚看到，加速本地 .dev 域名的打开速度</title>
      <description>&lt;p&gt;&lt;a href="http://blog.xdite.net/posts/2017/10/20/make-dev-faster" rel="nofollow" target="_blank"&gt;http://blog.xdite.net/posts/2017/10/20/make-dev-faster&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;我的感觉的确是很慢，还没试这个 dns 大法，希望有作用，想想我也多少青春被这龟速的开发环境耽误了。&lt;/p&gt;</description>
      <author>Peter</author>
      <pubDate>Tue, 24 Oct 2017 18:49:04 +0800</pubDate>
      <link>https://ruby-china.org/topics/34425</link>
      <guid>https://ruby-china.org/topics/34425</guid>
    </item>
    <item>
      <title>@ 安道 《Rails 程序部署之道》只差一章了</title>
      <description>&lt;p&gt;&lt;a href="/andor_chen" class="user-mention" title="@andor_chen"&gt;&lt;i&gt;@&lt;/i&gt;andor_chen&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;原书作者已经把最后一章写完了：&lt;/p&gt;

&lt;p&gt;《Reliably Deploying Rails Applications》&lt;/p&gt;

&lt;p&gt;&lt;a href="https://leanpub.com/deploying_rails_applications" rel="nofollow" target="_blank"&gt;https://leanpub.com/deploying_rails_applications&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;如果你有时间也也最后一章补全吧，谢谢&lt;/p&gt;

&lt;p&gt;顺便给你做个广告：&lt;/p&gt;

&lt;p&gt;&lt;a href="https://leanpub.com/deploying_rails_applications-cn" rel="nofollow" target="_blank"&gt;https://leanpub.com/deploying_rails_applications-cn&lt;/a&gt;&lt;/p&gt;</description>
      <author>Peter</author>
      <pubDate>Fri, 20 Oct 2017 16:25:27 +0800</pubDate>
      <link>https://ruby-china.org/topics/34409</link>
      <guid>https://ruby-china.org/topics/34409</guid>
    </item>
    <item>
      <title>gems.ruby-china.org 国内连不上？</title>
      <description>&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;

&lt;p&gt;请问近期有什么调整吗？国内好像用不了，国外会定向到 upaiyun&lt;/p&gt;

&lt;p&gt;国内：&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ wget  https://gems.ruby-china.org/specs.4.8.gz
--2017-03-30 04:11:28--  https://gems.ruby-china.org/specs.4.8.gz
Resolving gems.ruby-china.org (gems.ruby-china.org)... 115.159.216.235
Connecting to gems.ruby-china.org (gems.ruby-china.org)|115.159.216.235|:443... failed: Connection timed out.
Retrying.
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;国外：&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ wget  https://gems.ruby-china.org/specs.4.8.gz
--2017-03-29 22:16:03--  https://gems.ruby-china.org/specs.4.8.gz
Resolving gems.ruby-china.org... 115.159.216.235
Connecting to gems.ruby-china.org|115.159.216.235|:443... connected.
HTTP request sent, awaiting response... 302 Moved Temporarily
Location: https://gems-ruby-china.b0.upaiyun.com/specs.4.8.gz [following]
--2017-03-29 22:16:05--  https://gems-ruby-china.b0.upaiyun.com/specs.4.8.gz
Resolving gems-ruby-china.b0.upaiyun.com... 58.222.18.2, 183.158.35.58, 183.158.35.59, ...
Connecting to gems-ruby-china.b0.upaiyun.com|58.222.18.2|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 3022252 (2.9M) [application/octet-stream]
Saving to: 'specs.4.8.gz.1'

14% [======&amp;gt;                                               ] 433,426      187KB/s
&lt;/code&gt;&lt;/pre&gt;</description>
      <author>Peter</author>
      <pubDate>Thu, 30 Mar 2017 04:18:40 +0800</pubDate>
      <link>https://ruby-china.org/topics/32664</link>
      <guid>https://ruby-china.org/topics/32664</guid>
    </item>
    <item>
      <title>有没有备案达人，问个在线商城的备案问题</title>
      <description>&lt;p&gt;一个朋友想搭一个在线商城，有自己的公司，不想在淘宝开店。&lt;/p&gt;

&lt;p&gt;因为涉及在线支付，所以必须满足以下条件：&lt;br&gt;
&lt;a href="https://b.alipay.com/signing/productDetail.htm?productId=I1011000290000001000" rel="nofollow" target="_blank"&gt;https://b.alipay.com/signing/productDetail.htm?productId=I1011000290000001000&lt;/a&gt;&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;1.  申请前必须拥有经过实名认证的支付宝账户；
2.  企业或个体工商户可申请；
3.  需提供真实有效的营业执照，且支付宝账户名称需与营业执照主体一致；
4.  网站能正常访问且页面显示完整，网站需要明确经营内容且有完整的商品信息；
5.  网站必须通过ICP备案。如为个体工商户，网站备案主体需要与支付宝账户主体名称一致；
6.  如为个体工商户，则团购不开放，且古玩、珠宝等奢侈品、投资类行业无法申请本产品；
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;其中 ICP 备案这里有些不明白的地方。在线商城应该就是&lt;code&gt;经营性&lt;/code&gt;的网站了，这是不是又涉及到一个至少要求公司 100 万的注册资金的问题。
如果真是这样，制定规则的人脑袋是怎么想的？难道初创企业就不能从网站上获利了？&lt;/p&gt;

&lt;p&gt;有没有过来人，麻烦解个惑，谢谢！&lt;/p&gt;</description>
      <author>Peter</author>
      <pubDate>Thu, 09 Feb 2017 06:38:30 +0800</pubDate>
      <link>https://ruby-china.org/topics/32277</link>
      <guid>https://ruby-china.org/topics/32277</guid>
    </item>
    <item>
      <title>手欠，升级到了 macOS Sierra， launchpad 图标全从文件夹跑出来了</title>
      <description>&lt;p&gt;一堆自启动软件跑不起来了，qq 五笔输入法也不能用了。&lt;/p&gt;

&lt;p&gt;这都是小事，我的 launchpad 整理好的图标全跑文件夹外面来了，文件夹全在最后一屏。没 google 到有用信息，不知道有没有遇到过这种情况，麻烦帮下忙，谢谢。&lt;/p&gt;

&lt;p&gt;难道以后要用搜索软件名字的方式启动软件？但软件那么多，名字哪记得住啊。&lt;/p&gt;

&lt;p&gt;升级要谨慎，没半天闲功夫最好不要升。&lt;/p&gt;</description>
      <author>Peter</author>
      <pubDate>Mon, 28 Nov 2016 20:19:34 +0800</pubDate>
      <link>https://ruby-china.org/topics/31722</link>
      <guid>https://ruby-china.org/topics/31722</guid>
    </item>
    <item>
      <title>Homeland ？！</title>
      <description>&lt;p&gt;&lt;a href="https://ruby-china.org/topics/2661" rel="nofollow" target="_blank"&gt;https://ruby-china.org/topics/2661&lt;/a&gt;&lt;br&gt;
介绍了 &lt;a href="/huacnlee" class="user-mention" title="@huacnlee"&gt;&lt;i&gt;@&lt;/i&gt;huacnlee&lt;/a&gt; 的 homeland gem&lt;br&gt;
&lt;a href="https://github.com/huacnlee/homeland" rel="nofollow" target="_blank"&gt;https://github.com/huacnlee/homeland&lt;/a&gt;  &lt;/p&gt;

&lt;p&gt;现在点击会跳转到：&lt;br&gt;
&lt;a href="https://github.com/rails-engine/homeland" rel="nofollow" target="_blank"&gt;https://github.com/rails-engine/homeland&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;然后 ruby-china 的论坛源码现在也改名叫 homeland&lt;br&gt;
&lt;a href="https://github.com/ruby-china/homeland" rel="nofollow" target="_blank"&gt;https://github.com/ruby-china/homeland&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;这两个名字为什么会一样？&lt;/p&gt;

&lt;p&gt;这两个都是一级棒的标榜项目，感谢 &lt;a href="/huacnlee" class="user-mention" title="@huacnlee"&gt;&lt;i&gt;@&lt;/i&gt;huacnlee&lt;/a&gt; 及其他 contributors 为 ruby 界的付出，我有两个问题麻烦回答一下：&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;不知道简单好用的 homeland gem 还会不会持续更新？&lt;/li&gt;
&lt;li&gt;homeland 文档为什么只有 docker 部署？&lt;/li&gt;
&lt;/ol&gt;</description>
      <author>Peter</author>
      <pubDate>Tue, 15 Nov 2016 05:05:14 +0800</pubDate>
      <link>https://ruby-china.org/topics/31596</link>
      <guid>https://ruby-china.org/topics/31596</guid>
    </item>
    <item>
      <title>被`优待`了，求安慰</title>
      <description>&lt;p&gt;&lt;a href="/huacnlee" class="user-mention" title="@huacnlee"&gt;&lt;i&gt;@&lt;/i&gt;huacnlee&lt;/a&gt;
被&lt;code&gt;优待&lt;/code&gt;了，求安慰&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;当前设置新手用户不能在 22:00 ~ 9:00 发帖。
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;我这么老的会员怎么成了 &lt;code&gt;newbie&lt;/code&gt;, 求变成 &lt;code&gt;verified&lt;/code&gt;，谢谢&lt;/p&gt;

&lt;p&gt;PS, 如果能给我软删除权限，按我的时差，我能看守到国内天亮&lt;/p&gt;</description>
      <author>Peter</author>
      <pubDate>Thu, 22 Sep 2016 14:55:16 +0800</pubDate>
      <link>https://ruby-china.org/topics/31139</link>
      <guid>https://ruby-china.org/topics/31139</guid>
    </item>
    <item>
      <title>一套代码，多个域名，怎样为每个域名在 public 下设置不同的 robots.txt</title>
      <description>&lt;p&gt;Rails 很强大，我一套代码绑了很多域名，每个域名有不同的语言界面及内容。&lt;/p&gt;

&lt;p&gt;现在问题来了，怎样为每个域名在 public 下设置不同的 robots.txt 呢？&lt;/p&gt;

&lt;p&gt;静态放置在 public 目录下已经不可能了，我知道 Rails 可以处理 assets，有什么办法也可以处理 robots.txt 吗？&lt;/p&gt;

&lt;p&gt;谢谢&lt;/p&gt;</description>
      <author>Peter</author>
      <pubDate>Tue, 20 Sep 2016 17:51:46 +0800</pubDate>
      <link>https://ruby-china.org/topics/31111</link>
      <guid>https://ruby-china.org/topics/31111</guid>
    </item>
    <item>
      <title>现在大家生产环境都切换到 Ubuntu 16.04 了吗？</title>
      <description>&lt;p&gt;要部署新服务器了，想问一下大家意见。
Rails 4.2.0 + Mysql
谢谢！&lt;/p&gt;</description>
      <author>Peter</author>
      <pubDate>Tue, 30 Aug 2016 17:47:32 +0800</pubDate>
      <link>https://ruby-china.org/topics/30940</link>
      <guid>https://ruby-china.org/topics/30940</guid>
    </item>
    <item>
      <title>关于 RuCaptcha 的一个功能改进建议</title>
      <description>&lt;p&gt;&lt;a href="https://github.com/huacnlee/rucaptcha" rel="nofollow" target="_blank" title=""&gt;rucaptcha&lt;/a&gt; 是 &lt;a href="/huacnlee" class="user-mention" title="@huacnlee"&gt;&lt;i&gt;@&lt;/i&gt;huacnlee&lt;/a&gt; 的一个优秀作品，也是这位小蜜蜂执行力的示范项目，作为用户首先表示感谢！&lt;/p&gt;

&lt;p&gt;我有个小建议，就是要去掉一些易混淆的数字和字母，这样减少用户输错的概率，根据这份&lt;a href="https://www.google.com/patents/CN104573470A?cl=zh" rel="nofollow" target="_blank" title=""&gt;专利&lt;/a&gt;, 建议排除以下字符：&lt;/p&gt;

&lt;p&gt;“0 "、“O "、“I "、“I "、“B "、“8 "、“6 "、“b "、“9 "及“g "&lt;/p&gt;

&lt;p&gt;目前只生成小写字母，建议加上大写字母，因为大写字母的辨识度高，验证用户输入的时候可以全部 downcase.&lt;/p&gt;

&lt;p&gt;以下与主题无关，开新帖又太夸张了：&lt;/p&gt;

&lt;p&gt;能麻烦 &lt;a href="/huacnlee" class="user-mention" title="@huacnlee"&gt;&lt;i&gt;@&lt;/i&gt;huacnlee&lt;/a&gt;  把下面这两个 ID 删除吗？&lt;/p&gt;

&lt;p&gt;PeteR
第 28099 位会员 / 2016-08-17&lt;/p&gt;

&lt;p&gt;Peter
第 28100 位会员 / 2016-08-17&lt;/p&gt;

&lt;p&gt;删除之后，麻烦把我的用户名改 成 Peter, 谢谢&lt;/p&gt;</description>
      <author>Peter</author>
      <pubDate>Thu, 18 Aug 2016 19:55:15 +0800</pubDate>
      <link>https://ruby-china.org/topics/30849</link>
      <guid>https://ruby-china.org/topics/30849</guid>
    </item>
    <item>
      <title>MySQL 异地同步问题</title>
      <description>&lt;p&gt;&lt;a href="http://v2ex.com/t/299994" rel="nofollow" target="_blank"&gt;http://v2ex.com/t/299994&lt;/a&gt;
两边都发一下，希望从大家那里学到更好的方法。&lt;/p&gt;

&lt;p&gt;各位好，最近又面临 MySQL 异地同步问题，想了一个主意，不知道大家有没有更好的办法。&lt;/p&gt;
&lt;h2 id="背景"&gt;背景&lt;/h2&gt;
&lt;p&gt;MySQL，MyISAM 引擎，中美欧三地机房
数据不要求实时，有一两天延时也没关系，服务器半夜可停机。 &amp;lt;- 这些前提很重要&lt;/p&gt;
&lt;h2 id="原来"&gt;原来&lt;/h2&gt;
&lt;p&gt;美国放主服务器
中欧放从服务器
主从复制
效果好的时候一切 OK，但你懂的，经常断，修复起来很麻烦。&lt;/p&gt;
&lt;h2 id="找更好的方案"&gt;找更好的方案&lt;/h2&gt;
&lt;p&gt;比如说 从主服务器 copy Binlog 到 从服务器然后再同步，类似这样，但感觉太复杂，不方便自动化：
&lt;a href="http://blog.csdn.net/jesseyoung/article/details/37106035" rel="nofollow" target="_blank"&gt;http://blog.csdn.net/jesseyoung/article/details/37106035&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="我想到的方案"&gt;我想到的方案&lt;/h2&gt;
&lt;p&gt;&lt;a href="http://jojodiff.sourceforge.net" rel="nofollow" target="_blank"&gt;http://jojodiff.sourceforge.net&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;因为 MyISAM 引擎本质上就是文件，所以我想用 diff 的方式来做：&lt;/p&gt;

&lt;p&gt;a) 主服务器上 copy 一份原始数据库 base 文件 (table.FRM, table.MYD, table.MYI)，并传递到从服务器&lt;/p&gt;

&lt;p&gt;b) 一天后停主服务器，跟原始文件生成 patch 文件&lt;/p&gt;

&lt;p&gt;c) 传递 patch 到从服务器，跟原始文件 merge，生成新的数据库文件，重启 mysql 服务&lt;/p&gt;

&lt;p&gt;d) 以后每天半夜同样处理&lt;/p&gt;

&lt;p&gt;e) 视 patch 文件大小，可以一个月一次或几个月一次更新 base 文件&lt;/p&gt;

&lt;p&gt;这一切可以通过 bash 和 Cron 自动执行，简单可靠，只要主服务器不出错，从服务器没有出错的理由。主服务器可以用 Digital Ocean 的备份服务。&lt;/p&gt;

&lt;p&gt;大家讨论一下这个方法有没有什么明显问题，或者有什么更可靠的简单方法。方法要简单，类似这种高雅范的我真有点吃不消： &lt;a href="https://github.com/alibaba/otter" rel="nofollow" target="_blank"&gt;https://github.com/alibaba/otter&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;谢谢！&lt;/p&gt;</description>
      <author>Peter</author>
      <pubDate>Wed, 17 Aug 2016 20:21:33 +0800</pubDate>
      <link>https://ruby-china.org/topics/30841</link>
      <guid>https://ruby-china.org/topics/30841</guid>
    </item>
    <item>
      <title>geetest.com 有人用最新版吗？</title>
      <description>&lt;p&gt;&lt;a href="https://github.com/GeeTeam/gt-ruby-sdk" rel="nofollow" target="_blank"&gt;https://github.com/GeeTeam/gt-ruby-sdk&lt;/a&gt;
这个例子好像是老版本的，我换了 id 和 key 就跑不起来了，&lt;/p&gt;

&lt;p&gt;有没有人有最新版本的示例？谢谢&lt;/p&gt;</description>
      <author>Peter</author>
      <pubDate>Wed, 17 Aug 2016 06:46:10 +0800</pubDate>
      <link>https://ruby-china.org/topics/30831</link>
      <guid>https://ruby-china.org/topics/30831</guid>
    </item>
  </channel>
</rss>
