<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>bolasblack (c4605)</title>
    <link>https://ruby-china.org/bolasblack</link>
    <description></description>
    <language>en-us</language>
    <item>
      <title>LifeMessager - 一个类似 ohlife 的项目</title>
      <description>&lt;p&gt;在许久的拖延之后，&lt;a href="https://lifemessager.com/" rel="nofollow" target="_blank" title=""&gt;LifeMessager&lt;/a&gt; 的开发终于达到了可以发布出来的程度。&lt;/p&gt;

&lt;p&gt;写 LifeMessager 是因为 ohlife 关了，然后市面上确实没有哪怕一个我觉得好用的服务，所以这就是我的解决方案。&lt;/p&gt;

&lt;p&gt;日记是一个很私人的东西，对很多人而言数据存储在他人的服务器是无法接受的，所以它是开源的，可以把它部署在自己的服务器上。&lt;/p&gt;

&lt;p&gt;项目地址： &lt;a href="https://github.com/lifemessager" rel="nofollow" target="_blank"&gt;https://github.com/lifemessager&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;程序目前分前后端两部分，后端用的是 RoR，前端是 AngularJS。由于是前后端分离的，所以说部署起来可能会有点麻烦。目前部署文档还没有完善，我会渐渐补完这部分。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;由于 Mailgun 每个月免费邮件的数量只有一万，所以 LifeMessager 目前只允许 100 个注册用户（也是因为我对自己写的程序并没有太大信心，所以不想坑太多人）。&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;实话说我并不建议有人开始真正使用这个项目，因为这是我做了第一个真正意义上的完整的后端程序，所以稳定性什么的我实在是没有太多保证&lt;/strong&gt;&lt;/p&gt;</description>
      <author>bolasblack</author>
      <pubDate>Sun, 29 Mar 2015 21:35:25 +0800</pubDate>
      <link>https://ruby-china.org/topics/24896</link>
      <guid>https://ruby-china.org/topics/24896</guid>
    </item>
    <item>
      <title>测试 Gem 的时候如何让 require 'path/filename' 优先载入项目文件？</title>
      <description>&lt;p&gt;我在修改别人的 Gem，想给一个类加一个方法&lt;/p&gt;

&lt;p&gt;由于它的测试框架是 &lt;code&gt;test/unit&lt;/code&gt; ，而且没有写 rake 命令，所以我也只能运行 &lt;code&gt;ruby test/test_xxx.rb&lt;/code&gt; 来跑测试&lt;/p&gt;

&lt;p&gt;但是这个 Gem 我之前是用 bundler 装过的呀，所以单元测试文件里的 &lt;code&gt;require&lt;/code&gt; 会默认从 &lt;code&gt;~/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/&lt;/code&gt; 里找文件，而不是从项目目录里找，进而导致测试跳错说没有这个方法……&lt;/p&gt;</description>
      <author>bolasblack</author>
      <pubDate>Sun, 08 Feb 2015 21:48:10 +0800</pubDate>
      <link>https://ruby-china.org/topics/24167</link>
      <guid>https://ruby-china.org/topics/24167</guid>
    </item>
    <item>
      <title>当 self.attr.nil? 时 self.attr ||= 和 self.attr = 的区别</title>
      <description>&lt;p&gt;我是一个初学者，昨天在写代码时遇到了一个奇异的情况&lt;/p&gt;

&lt;p&gt;示例代码：&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;A&lt;/span&gt;
  &lt;span class="nb"&gt;attr_accessor&lt;/span&gt; &lt;span class="ss"&gt;:a&lt;/span&gt;
  &lt;span class="kp"&gt;private&lt;/span&gt; &lt;span class="ss"&gt;:a&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;
  &lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;initialize&lt;/span&gt;
    &lt;span class="nb"&gt;self&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;a&lt;/span&gt; &lt;span class="o"&gt;||=&lt;/span&gt; &lt;span class="mi"&gt;1&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;然后当我实例化这个模型时，给我报错说：&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;NoMethodError: private method `a=' called for #&amp;lt;A:0x007fbbab4dbbb0&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;如果代码改成这样就不会报错了&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="nb"&gt;self&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;a&lt;/span&gt; &lt;span class="o"&gt;||&lt;/span&gt; &lt;span class="nb"&gt;self&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;a&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;
&lt;span class="c1"&gt;# 或者这样子也没问题&lt;/span&gt;
&lt;span class="nb"&gt;self&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;a&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;self&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;a&lt;/span&gt; &lt;span class="o"&gt;||&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;请问这是一个 BUG 还是本来就是这么设计的？如果本来就是这么设计的……为什么要这么设计啊…………………………&lt;/p&gt;</description>
      <author>bolasblack</author>
      <pubDate>Wed, 29 Oct 2014 11:39:21 +0800</pubDate>
      <link>https://ruby-china.org/topics/22335</link>
      <guid>https://ruby-china.org/topics/22335</guid>
    </item>
    <item>
      <title>bundle exec 非常慢</title>
      <description>&lt;p&gt;Ruby  版本 2.1.1
Bundle 版本 1.7.3
操作系统是跑在 Vagrant 里的 Gentoo&lt;/p&gt;

&lt;p&gt;比如调用 &lt;code&gt;bundle exec annotate&lt;/code&gt; 的时候：&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Nothing annotated.
bundle exec annotate  4.33s user 54.82s system 46% cpu 2:08.45 total
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Rake 相关的命令也执行的非常慢，比如 &lt;code&gt;bundle exec rake db:migrate&lt;/code&gt;&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;bundle exec rake db:migrate  4.31s user 55.93s system 53% cpu 1:51.99 total
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;请问大家有这种经验吗？什么东西会导致这种情况发生？&lt;/p&gt;</description>
      <author>bolasblack</author>
      <pubDate>Tue, 14 Oct 2014 09:38:37 +0800</pubDate>
      <link>https://ruby-china.org/topics/22023</link>
      <guid>https://ruby-china.org/topics/22023</guid>
    </item>
  </channel>
</rss>
