<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>limpid (limpid)</title>
    <link>https://ruby-china.org/limpid</link>
    <description>新的开始！</description>
    <language>en-us</language>
    <item>
      <title>大家开发的系统，线上产品最高 QPS 是多少？</title>
      <description>&lt;p&gt;自己开发的一个线上认证系统，最高的时候，单台服务器高峰可以达到 5000QPS（总共 4 台服务器）。前一段一直不稳定，到用户高峰的时候就出问题，遇到了各式各样的坑，折磨的快崩溃了，弄了半个月，现在才稳定了。&lt;/p&gt;

&lt;p&gt;想问问大家的实际产品中，最大的 QPS 是多少？QPS 一高，发现各种各样的瓶颈都出来了&lt;/p&gt;</description>
      <author>limpid</author>
      <pubDate>Sat, 21 Dec 2013 11:31:24 +0800</pubDate>
      <link>https://ruby-china.org/topics/16351</link>
      <guid>https://ruby-china.org/topics/16351</guid>
    </item>
    <item>
      <title>date 命令的一个小技巧</title>
      <description>&lt;p&gt;经常看数据库或者日志的时候，看到的是时间，很多时候采用 utc 计时，从 1970 年 0 时开始所经历的秒数，非常不直观。&lt;/p&gt;

&lt;p&gt;可以用下面的内置命令，把时间转换为容易读的格式。 
例如：
       date -d@1363596523
       输出：2013 年 11 月 05 日 星期二 17:53:30 CST&lt;/p&gt;

&lt;p&gt;又执行：date -d@0  输出：1970 年 01 月 01 日 星期四 08:00:00 CST
发现个奇怪的问题，原本认为是应该是：1970 年 01 月 01 日 星期四 00:00:00，为什么是从 8 点开始呢？&lt;/p&gt;

&lt;p&gt;呵呵，原来这个是本地时间。其实输出的"CST"已经说明了
用：date -u -d@0，则输出:1970 年 01 月 01 日 星期四 00:00:00 UTC&lt;/p&gt;</description>
      <author>limpid</author>
      <pubDate>Tue, 05 Nov 2013 17:58:46 +0800</pubDate>
      <link>https://ruby-china.org/topics/15323</link>
      <guid>https://ruby-china.org/topics/15323</guid>
    </item>
    <item>
      <title>Windows 下的一个轻量级 Unix 工具集 GOW</title>
      <description>&lt;p&gt;GOW 是一个 window 下面的一个工具集，比 msys 更方便些，包含 130 多种工具。&lt;/p&gt;

&lt;p&gt;比 msys 方便的地方体现在：可以直接在 window 的控制台使用命令，比如 tail，find，见截图：
&lt;img src="//l.ruby-china.com/photo/85b8c6b3e9279a27fef35731cc3d252b.jpg" title="" alt=""&gt;
&lt;img src="//l.ruby-china.com/photo/4770db5e46f71509e8f0f24fb2110e3b.jpg" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;不过，没有 msys 方便的地方是，我发现 GOW 的 bash，没有 msys 的强，比如：
for ((i=0; i&amp;lt;10; i++)); do echo $i; done;
在 GOW 中的 bash 中，执行不了&lt;/p&gt;</description>
      <author>limpid</author>
      <pubDate>Mon, 09 Sep 2013 23:24:36 +0800</pubDate>
      <link>https://ruby-china.org/topics/13994</link>
      <guid>https://ruby-china.org/topics/13994</guid>
    </item>
    <item>
      <title>Linux 命令下的一个很强大的符号"{}"</title>
      <description>&lt;p&gt;今天偶然发现了在 linux 下面一个很好用的“{}”，在这里记录分享一下。&lt;/p&gt;

&lt;p&gt;命令：ls a{0..9}，列出 a0, a1,..., a9 的文件
          ls a{a..z}, 列出 aa, ab,..., az 的文件&lt;/p&gt;

&lt;p&gt;还支持多个字符：ls a{aa..zz}, 列出：aaa, aab, aac, ..., azz
因此也支持 ls a{00..99}, 以前对于，00,01, 02, ..., 99 这样的字符，我都是用 seq 和 xargs 来解决，这下就方便多了！&lt;/p&gt;

&lt;p&gt;另外，在命令行中，“{}”还有个另外的小技巧，copy a.c{,.bak}，先建个 a.c 的文件，试试就知道了&lt;/p&gt;</description>
      <author>limpid</author>
      <pubDate>Thu, 05 Sep 2013 20:40:11 +0800</pubDate>
      <link>https://ruby-china.org/topics/13909</link>
      <guid>https://ruby-china.org/topics/13909</guid>
    </item>
    <item>
      <title>Ruby on Rails Tutorial 在 ubuntu 上运行 guard 的一个问题</title>
      <description>&lt;p&gt;Ruby on Rails Tutorial 的第三章，Guard 和 Spork 配合来自动化和加速 rspec 的测试。在 ubuntu 上运行出错，按照书上的配置，guard 不能自动把 spork 启动起来，会提示一堆错误。&lt;/p&gt;

&lt;p&gt;这个错误的原因，估计是 Gem  Guard-spork 的一个 bug，应该是在子进程中启动 spork 时的字符串拼接的问题。把其依赖的 Gem childprocess 从 0.3.8 降价到 0.3.6，可以正常工作，开始时我这样做的。不过，觉得降级的事情，不太爽，就把 Guard-spork 升级了，从 1.2.0 到 1.5.0，可以工作了，只是有个关于 rb-inotify 的警告信息，我把这个的版本也从 0.8.8 升级到 0.9, 一切 ok 了&lt;/p&gt;

&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;，你的那个中文翻译版做的挺不错的，我在 taobao 上 4.9 的时候买了一本，哈哈。考虑把这个做个注释么？我已经在 github 上给英文版作者，发过 pull request 了。&lt;/p&gt;

&lt;p&gt;注：这个 bug 发生于 ubuntu 12.10，12.04 似乎也有这个问题&lt;/p&gt;</description>
      <author>limpid</author>
      <pubDate>Sun, 03 Mar 2013 13:10:32 +0800</pubDate>
      <link>https://ruby-china.org/topics/9089</link>
      <guid>https://ruby-china.org/topics/9089</guid>
    </item>
    <item>
      <title>编程的时候，你动脑子了么？--由一条微薄引发的感慨</title>
      <description>&lt;p&gt;今天扫了一下自己关注的微薄，看到陈硕（bnu_chenshuo）和陈皓（左耳朵耗子）关于程序员开发中，要动脑子，不要靠蛮力来解决问题。&lt;/p&gt;

&lt;p&gt;&lt;img src="//l.ruby-china.com/photo/15167aafdf193752566b6fc721e24d93.jpg" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;自己一直对这块体会也挺有深切体会：
1 做开发前，花些时间，动动脑子，规划一下，那怕是花那么一点点。真正开发的时候，带来的好处，往往非常巨大
2 修改 bug 的时候，如果能把问题分解后，做些逻辑分析和推理，做些假设，然后通过运行程序来证实或推翻自己的假设，对解 bug 会非常有帮助。不要过于迷恋工具，特别是蛮力，先动动脑子再动手，因为有时候，bug 的重现都不规律（比如设计到多线程同步的问题）。有时候，哪怕你提前思考设计一下，做些小脚本方便你 bug 的重现和验证，也是非常意义重大的。&lt;/p&gt;

&lt;p&gt;随便扯了几句，欢迎大家交流一下自己的编程时的一些思考&lt;/p&gt;</description>
      <author>limpid</author>
      <pubDate>Fri, 01 Mar 2013 15:24:12 +0800</pubDate>
      <link>https://ruby-china.org/topics/9046</link>
      <guid>https://ruby-china.org/topics/9046</guid>
    </item>
    <item>
      <title>转：互联网新模式</title>
      <description>&lt;p&gt;&lt;a href="http://tech.sina.com.cn/i/2013-02-03/11518041197.shtml?bsh_bid=193990923" rel="nofollow" target="_blank" title=""&gt;连线：互联网将从空间模式转向时间模式&lt;/a&gt;&lt;/p&gt;</description>
      <author>limpid</author>
      <pubDate>Tue, 26 Feb 2013 18:22:26 +0800</pubDate>
      <link>https://ruby-china.org/topics/8949</link>
      <guid>https://ruby-china.org/topics/8949</guid>
    </item>
    <item>
      <title>碉堡了，linux 下的 rename 支持正则表达式！</title>
      <description>&lt;p&gt;对于批量去除文件名字结尾的.bak, 自己经历了几个阶段：
1 最早自己用 linux 时，批量改文件似乎是用 shell 脚本来改
2 慢慢的发现可以用管道含有 awk 的命令行来做
3 后来发现可以用带 while 的命令行来做：
    ls *.bak | while read a; do  mv $a  ${a%.bak}; done
4 后来发现个好用的命令 xargs，这几年一直都是这样用的：
    ls *.bak | sed 's/.bak$//' | xargs -n 1 -i mv {}.bak {}&lt;/p&gt;

&lt;p&gt;今天偶然点开个网页，发现 rename 竟然支持正则表达式批量改名（perl 形式的正则表达式）！！！
所以就非常简单了，rename   's/.bak//'   *.bak
另外，更强大的是，比如有需求，把 aba, aca 这样的文件，变成 a_b_a, a_c_a
用 rename 也非常简单：rename   's/a([a-z])a/a_$1_a/'   a?a&lt;/p&gt;

&lt;p&gt;哎，又一次深刻体会了一个道理：很多好东西（工具，或规律），总是存在的，只是自己没有发现。一旦你发现这个工具（或规律），做事情就会变大事半功倍&lt;/p&gt;</description>
      <author>limpid</author>
      <pubDate>Fri, 22 Feb 2013 12:03:26 +0800</pubDate>
      <link>https://ruby-china.org/topics/8847</link>
      <guid>https://ruby-china.org/topics/8847</guid>
    </item>
    <item>
      <title>转：关于性格内向</title>
      <description>&lt;p&gt;转：&lt;a href="http://www.lzhi.org/t-6" rel="nofollow" target="_blank" title=""&gt;关于性格内向者的 10 个误解&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;这下可以给自己找借口了啊。是不是搞程序的，大部分都认为自己内向啊？哈哈！&lt;/p&gt;</description>
      <author>limpid</author>
      <pubDate>Thu, 21 Feb 2013 15:08:50 +0800</pubDate>
      <link>https://ruby-china.org/topics/8823</link>
      <guid>https://ruby-china.org/topics/8823</guid>
    </item>
    <item>
      <title>这一年多的语言学习，真的被 rails 震撼了！！！</title>
      <description>&lt;p&gt;自己做码农也很久了，从 linux 上 c，c++ 开始，干了几年，然后阴差阳错的又折腾了几年 c#。&lt;/p&gt;

&lt;p&gt;去年跟朋友做个 pad 上在线看视频的小工具，因为小，第一次用 python 做，边学边做，用的是 webpy，前面用 nginx，队列和数据用 redis。做完后，被 python 方便震撼了，就如国外那个关于语言的漫画所描述的：I‘m flying!&lt;/p&gt;

&lt;p&gt;其实做上面那个小工具的时候，从快速开发的角度，当时考虑了 3 种，c#, python 和 ruby。c#：优点是自己比较熟，缺点是 linux 上要用 mono 跑，开源的组件比较少。
python：优点是 linux 上支持好，语言简单优美，开源的组件多。缺点自己不熟
ruby：优缺点同上，另外，&lt;strong&gt;&lt;em&gt;当时&lt;/em&gt;&lt;/strong&gt;*觉得 ruby 的语法啰嗦，同一个目标，有很多冗余表示，很容易被绕晕。当然，当时也觉得 ruby 的块和语言的动态性，还是令人激动的。&lt;/p&gt;

&lt;p&gt;最近用 sinatra 做了个微信的小 demo 玩，觉得 ruby 的东西确实不错。就下决心学学 rails。一边看书《ruby 元编程》，一边结合着 &lt;a href="https://github.com/AndorChen/rails-tutorial-2nd-cn" rel="nofollow" target="_blank" title=""&gt;rails-tutorial-2nd-cn&lt;/a&gt; 学，书看完了，代码也跟着边敲边运行。虽然有些地方还有些迷糊，接下面会多看两遍。但是彻底被 rails 征服了，rails 正是自己想要的东西！自己又有了 "I'm flying"的感觉，并且这次的感觉，更强烈！！！真心想跟大家交流一下第一次接触 rails 时的感觉。&lt;/p&gt;

&lt;p&gt;欢迎大家吐槽，顺便也说说自己刚接触 rails 时的感受&lt;/p&gt;</description>
      <author>limpid</author>
      <pubDate>Wed, 20 Feb 2013 13:01:39 +0800</pubDate>
      <link>https://ruby-china.org/topics/8796</link>
      <guid>https://ruby-china.org/topics/8796</guid>
    </item>
    <item>
      <title>请教一个 ubuntu 12.04 (或 12.10) 上 vim 的 ruby 补全问题</title>
      <description>&lt;p&gt;我在 ubuntu 12.04（或 12.10）上面，用 vim 总是无法用 ctrl-x ctrl-o 补全，请教一下大家是如何在 ubuntu 上使用 vim 的 ruby 补全的。我试了安装 github 上的 vim-ruby 也没成功。&lt;/p&gt;

&lt;p&gt;提示 omni 没设置（如果我在.vimrc 中设置了“autocmd FileType ruby setlocal omnifunc=rubycomplete#Complete”，又提示rubycomplete#Complete错误）&lt;/p&gt;

&lt;p&gt;我 google 了网页，看了 happycasts.net 和 railscasts-china.com 上的 vim 的视频（&lt;strong&gt;&lt;em&gt;顺便感谢一下这两个网站的作者，从上面学到很多东西&lt;/em&gt;&lt;/strong&gt;），还是无法解决这个问题。我甚至重新下载了 vim 重新编译安装，还是不行。&lt;/p&gt;

&lt;p&gt;补充：但是编辑 python 文件，按 ctrl-x ctrl-o 是可以补全的。
执行 vim --version | grep python，会显示：
+path_extra -perl +persistent_undo +postscript +printer +profile &lt;strong&gt;&lt;em&gt;+python&lt;/em&gt;&lt;/strong&gt;
执行 vim --version | grep ruby，会显示
-python3 +quickfix +reltime +rightleft &lt;strong&gt;&lt;em&gt;-ruby&lt;/em&gt;&lt;/strong&gt; +scrollbind +signs +smartindent 
区别是 ruby 前是个减号，python 前是个加号&lt;/p&gt;

&lt;p&gt;求各位大牛帮帮忙，指点一下大家是如何在 ubuntu 上使用 vim 的 ruby 补齐的，折腾了我一天了，谢谢&lt;/p&gt;</description>
      <author>limpid</author>
      <pubDate>Sat, 16 Feb 2013 18:13:07 +0800</pubDate>
      <link>https://ruby-china.org/topics/8709</link>
      <guid>https://ruby-china.org/topics/8709</guid>
    </item>
  </channel>
</rss>
