<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>kakaxi2 (kakaxi2)</title>
    <link>https://ruby-china.org/kakaxi2</link>
    <description>数据库很远</description>
    <language>en-us</language>
    <item>
      <title>bin/rails server 启动过程中遇到 LoadError 异常</title>
      <description>&lt;p&gt;环境
CentOS7  ruby 2.0.0p598 (2014-11-13) [x86_64-linux]   rails (4.2.0)   gem( 2.0.14)&lt;/p&gt;

&lt;p&gt;在创建好 rail 应用后，执行 bin/rails server 时报告如下的错误，stackoverflow 查看说这个问题在 windows 环境由于 nokogiri 兼容性问题经常出现，
但是没有 linux 环境问题出现这种情况的资料，请谁遇到的话帮忙解答一下。&lt;/p&gt;
&lt;pre class="highlight erb"&gt;&lt;code&gt;Warning: You're using Rubygems 2.0.14 with Spring. Upgrade to at least Rubygems 2.1.0 and run `gem pristine --all` for better startup performance.
/usr/local/share/gems/gems/nokogiri-1.6.8/lib/nokogiri.rb:32:in `require': cannot load such file -- nokogiri/nokogiri (LoadError)
    from /usr/local/share/gems/gems/nokogiri-1.6.8/lib/nokogiri.rb:32:in `rescue in &lt;span class="nt"&gt;&amp;lt;top&lt;/span&gt; &lt;span class="err"&gt;(&lt;/span&gt;&lt;span class="na"&gt;required&lt;/span&gt;&lt;span class="err"&gt;)&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;'
    from /usr/local/share/gems/gems/nokogiri-1.6.8/lib/nokogiri.rb:28:in `&lt;span class="nt"&gt;&amp;lt;top&lt;/span&gt; &lt;span class="err"&gt;(&lt;/span&gt;&lt;span class="na"&gt;required&lt;/span&gt;&lt;span class="err"&gt;)&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;'
    from /usr/local/share/gems/gems/loofah-2.0.3/lib/loofah.rb:3:in `require'
    from /usr/local/share/gems/gems/loofah-2.0.3/lib/loofah.rb:3:in `&lt;span class="nt"&gt;&amp;lt;top&lt;/span&gt; &lt;span class="err"&gt;(&lt;/span&gt;&lt;span class="na"&gt;required&lt;/span&gt;&lt;span class="err"&gt;)&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;'
    from /usr/local/share/gems/gems/rails-html-sanitizer-1.0.3/lib/rails-html-sanitizer.rb:2:in `require'
    from /usr/local/share/gems/gems/rails-html-sanitizer-1.0.3/lib/rails-html-sanitizer.rb:2:in `&lt;span class="nt"&gt;&amp;lt;top&lt;/span&gt; &lt;span class="err"&gt;(&lt;/span&gt;&lt;span class="na"&gt;required&lt;/span&gt;&lt;span class="err"&gt;)&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;'
    from /usr/local/share/gems/gems/actionview-4.2.0/lib/action_view/helpers/sanitize_helper.rb:3:in `require'
    from /usr/local/share/gems/gems/actionview-4.2.0/lib/action_view/helpers/sanitize_helper.rb:3:in `&lt;span class="nt"&gt;&amp;lt;top&lt;/span&gt; &lt;span class="err"&gt;(&lt;/span&gt;&lt;span class="na"&gt;required&lt;/span&gt;&lt;span class="err"&gt;)&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;'
    from /usr/local/share/gems/gems/actionview-4.2.0/lib/action_view/helpers/text_helper.rb:32:in `&lt;span class="nt"&gt;&amp;lt;module:TextHelper&amp;gt;&lt;/span&gt;'
    from /usr/local/share/gems/gems/actionview-4.2.0/lib/action_view/helpers/text_helper.rb:29:in `&lt;span class="nt"&gt;&amp;lt;module:Helpers&amp;gt;&lt;/span&gt;'
    from /usr/local/share/gems/gems/actionview-4.2.0/lib/action_view/helpers/text_helper.rb:6:in `&lt;span class="nt"&gt;&amp;lt;module:ActionView&amp;gt;&lt;/span&gt;'
    from /usr/local/share/gems/gems/actionview-4.2.0/lib/action_view/helpers/text_helper.rb:4:in `&lt;span class="nt"&gt;&amp;lt;top&lt;/span&gt; &lt;span class="err"&gt;(&lt;/span&gt;&lt;span class="na"&gt;required&lt;/span&gt;&lt;span class="err"&gt;)&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;'
    from /usr/local/share/gems/gems/actionview-4.2.0/lib/action_view/helpers/form_tag_helper.rb:18:in `&lt;span class="nt"&gt;&amp;lt;module:FormTagHelper&amp;gt;&lt;/span&gt;'
    from /usr/local/share/gems/gems/actionview-4.2.0/lib/action_view/helpers/form_tag_helper.rb:14:in `&lt;span class="nt"&gt;&amp;lt;module:Helpers&amp;gt;&lt;/span&gt;'
    from /usr/local/share/gems/gems/actionview-4.2.0/lib/action_view/helpers/form_tag_helper.rb:8:in `&lt;span class="nt"&gt;&amp;lt;module:ActionView&amp;gt;&lt;/span&gt;'
    from /usr/local/share/gems/gems/actionview-4.2.0/lib/action_view/helpers/form_tag_helper.rb:6:in `&lt;span class="nt"&gt;&amp;lt;top&lt;/span&gt; &lt;span class="err"&gt;(&lt;/span&gt;&lt;span class="na"&gt;required&lt;/span&gt;&lt;span class="err"&gt;)&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;'
    from /usr/local/share/gems/gems/actionview-4.2.0/lib/action_view/helpers/form_helper.rb:4:in `require'
    from /usr/local/share/gems/gems/actionview-4.2.0/lib/action_view/helpers/form_helper.rb:4:in `&lt;span class="nt"&gt;&amp;lt;top&lt;/span&gt; &lt;span class="err"&gt;(&lt;/span&gt;&lt;span class="na"&gt;required&lt;/span&gt;&lt;span class="err"&gt;)&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;'
    from /usr/local/share/gems/gems/actionview-4.2.0/lib/action_view/helpers.rb:50:in `&lt;span class="nt"&gt;&amp;lt;module:Helpers&amp;gt;&lt;/span&gt;'
    from /usr/local/share/gems/gems/actionview-4.2.0/lib/action_view/helpers.rb:4:in `&lt;span class="nt"&gt;&amp;lt;module:ActionView&amp;gt;&lt;/span&gt;'
    from /usr/local/share/gems/gems/actionview-4.2.0/lib/action_view/helpers.rb:3:in `&lt;span class="nt"&gt;&amp;lt;top&lt;/span&gt; &lt;span class="err"&gt;(&lt;/span&gt;&lt;span class="na"&gt;required&lt;/span&gt;&lt;span class="err"&gt;)&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;'
    from /usr/local/share/gems/gems/sprockets-rails-3.1.1/lib/sprockets/rails/context.rb:7:in `&lt;span class="nt"&gt;&amp;lt;module:Context&amp;gt;&lt;/span&gt;'
    from /usr/local/share/gems/gems/sprockets-rails-3.1.1/lib/sprockets/rails/context.rb:6:in `&lt;span class="nt"&gt;&amp;lt;module:Rails&amp;gt;&lt;/span&gt;'
    from /usr/local/share/gems/gems/sprockets-rails-3.1.1/lib/sprockets/rails/context.rb:5:in `&lt;span class="nt"&gt;&amp;lt;module:Sprockets&amp;gt;&lt;/span&gt;'
    from /usr/local/share/gems/gems/sprockets-rails-3.1.1/lib/sprockets/rails/context.rb:4:in `&lt;span class="nt"&gt;&amp;lt;top&lt;/span&gt; &lt;span class="err"&gt;(&lt;/span&gt;&lt;span class="na"&gt;required&lt;/span&gt;&lt;span class="err"&gt;)&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;'
    from /usr/local/share/gems/gems/sprockets-rails-3.1.1/lib/sprockets/railtie.rb:7:in `require'
    from /usr/local/share/gems/gems/sprockets-rails-3.1.1/lib/sprockets/railtie.rb:7:in `&lt;span class="nt"&gt;&amp;lt;top&lt;/span&gt; &lt;span class="err"&gt;(&lt;/span&gt;&lt;span class="na"&gt;required&lt;/span&gt;&lt;span class="err"&gt;)&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;'
    from /home/sdy/.gem/ruby/gems/sass-rails-5.0.5/lib/sass/rails/railtie.rb:3:in `require'
    from /home/sdy/.gem/ruby/gems/sass-rails-5.0.5/lib/sass/rails/railtie.rb:3:in `&lt;span class="nt"&gt;&amp;lt;top&lt;/span&gt; &lt;span class="err"&gt;(&lt;/span&gt;&lt;span class="na"&gt;required&lt;/span&gt;&lt;span class="err"&gt;)&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;'
    from /home/sdy/.gem/ruby/gems/sass-rails-5.0.5/lib/sass/rails.rb:11:in `require'
    from /home/sdy/.gem/ruby/gems/sass-rails-5.0.5/lib/sass/rails.rb:11:in `&lt;span class="nt"&gt;&amp;lt;top&lt;/span&gt; &lt;span class="err"&gt;(&lt;/span&gt;&lt;span class="na"&gt;required&lt;/span&gt;&lt;span class="err"&gt;)&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;'
    from /home/sdy/.gem/ruby/gems/sass-rails-5.0.5/lib/sass-rails.rb:1:in `require'
    from /home/sdy/.gem/ruby/gems/sass-rails-5.0.5/lib/sass-rails.rb:1:in `&lt;span class="nt"&gt;&amp;lt;top&lt;/span&gt; &lt;span class="err"&gt;(&lt;/span&gt;&lt;span class="na"&gt;required&lt;/span&gt;&lt;span class="err"&gt;)&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;'
    from /usr/local/share/gems/gems/bundler-1.12.5/lib/bundler/runtime.rb:86:in `require'
    from /usr/local/share/gems/gems/bundler-1.12.5/lib/bundler/runtime.rb:86:in `block (2 levels) in require'
    from /usr/local/share/gems/gems/bundler-1.12.5/lib/bundler/runtime.rb:81:in `each'
    from /usr/local/share/gems/gems/bundler-1.12.5/lib/bundler/runtime.rb:81:in `block in require'
    from /usr/local/share/gems/gems/bundler-1.12.5/lib/bundler/runtime.rb:70:in `each'
    from /usr/local/share/gems/gems/bundler-1.12.5/lib/bundler/runtime.rb:70:in `require'
    from /usr/local/share/gems/gems/bundler-1.12.5/lib/bundler.rb:102:in `require'
    from /home/sdy/railsworkspace/blog/config/application.rb:7:in `&lt;span class="nt"&gt;&amp;lt;top&lt;/span&gt; &lt;span class="err"&gt;(&lt;/span&gt;&lt;span class="na"&gt;required&lt;/span&gt;&lt;span class="err"&gt;)&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;'
    from /usr/local/share/gems/gems/railties-4.2.0/lib/rails/commands/commands_tasks.rb:78:in `require'
    from /usr/local/share/gems/gems/railties-4.2.0/lib/rails/commands/commands_tasks.rb:78:in `block in server'
    from /usr/local/share/gems/gems/railties-4.2.0/lib/rails/commands/commands_tasks.rb:75:in `tap'
    from /usr/local/share/gems/gems/railties-4.2.0/lib/rails/commands/commands_tasks.rb:75:in `server'
    from /usr/local/share/gems/gems/railties-4.2.0/lib/rails/commands/commands_tasks.rb:39:in `run_command!'
    from /usr/local/share/gems/gems/railties-4.2.0/lib/rails/commands.rb:17:in `&lt;span class="nt"&gt;&amp;lt;top&lt;/span&gt; &lt;span class="err"&gt;(&lt;/span&gt;&lt;span class="na"&gt;required&lt;/span&gt;&lt;span class="err"&gt;)&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;'
    from /home/sdy/railsworkspace/blog/bin/rails:9:in `require'
    from /home/sdy/railsworkspace/blog/bin/rails:9:in `&lt;span class="nt"&gt;&amp;lt;top&lt;/span&gt; &lt;span class="err"&gt;(&lt;/span&gt;&lt;span class="na"&gt;required&lt;/span&gt;&lt;span class="err"&gt;)&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;'
    from /home/sdy/.gem/ruby/gems/spring-1.7.2/lib/spring/client/rails.rb:28:in `load'
    from /home/sdy/.gem/ruby/gems/spring-1.7.2/lib/spring/client/rails.rb:28:in `call'
    from /home/sdy/.gem/ruby/gems/spring-1.7.2/lib/spring/client/command.rb:7:in `call'
    from /home/sdy/.gem/ruby/gems/spring-1.7.2/lib/spring/client.rb:30:in `run'
    from /home/sdy/.gem/ruby/gems/spring-1.7.2/bin/spring:49:in `&lt;span class="nt"&gt;&amp;lt;top&lt;/span&gt; &lt;span class="err"&gt;(&lt;/span&gt;&lt;span class="na"&gt;required&lt;/span&gt;&lt;span class="err"&gt;)&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;'
    from /home/sdy/.gem/ruby/gems/spring-1.7.2/lib/spring/binstub.rb:11:in `load'
    from /home/sdy/.gem/ruby/gems/spring-1.7.2/lib/spring/binstub.rb:11:in `&lt;span class="nt"&gt;&amp;lt;top&lt;/span&gt; &lt;span class="err"&gt;(&lt;/span&gt;&lt;span class="na"&gt;required&lt;/span&gt;&lt;span class="err"&gt;)&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;'
    from /usr/share/rubygems/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /usr/share/rubygems/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /home/sdy/railsworkspace/blog/bin/spring:13:in `&lt;span class="nt"&gt;&amp;lt;top&lt;/span&gt; &lt;span class="err"&gt;(&lt;/span&gt;&lt;span class="na"&gt;required&lt;/span&gt;&lt;span class="err"&gt;)&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;'
    from bin/rails:3:in `load'
    from bin/rails:3:in `&lt;span class="nt"&gt;&amp;lt;main&amp;gt;&lt;/span&gt;'
&lt;/code&gt;&lt;/pre&gt;</description>
      <author>kakaxi2</author>
      <pubDate>Sun, 03 Jul 2016 14:23:54 +0800</pubDate>
      <link>https://ruby-china.org/topics/30433</link>
      <guid>https://ruby-china.org/topics/30433</guid>
    </item>
    <item>
      <title>一个 shell 运算的语法小问题，求解答一下</title>
      <description>&lt;pre class="highlight plaintext"&gt;&lt;code&gt;function getTiming() {  
    start=$1  
    end=$2  

    start_s=$(echo $start | cut -d '.' -f 1)  
    start_ns=$(echo $start | cut -d '.' -f 2)  
    end_s=$(echo $end | cut -d '.' -f 1)  
    end_ns=$(echo $end | cut -d '.' -f 2)  

    time=$(( ( 10#$end_s - 10#$start_s ) * 1000 + ( 10#$end_ns / 1000000 - 10#$start_ns / 1000000 ) ))  


    echo "$time ms"  
}  
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;其中的 time 开始的这一行当中的&lt;strong&gt;10#&lt;/strong&gt;的作用是？&lt;/p&gt;</description>
      <author>kakaxi2</author>
      <pubDate>Mon, 19 Oct 2015 10:15:33 +0800</pubDate>
      <link>https://ruby-china.org/topics/27717</link>
      <guid>https://ruby-china.org/topics/27717</guid>
    </item>
    <item>
      <title>对于继承了 ActiveRecord::Base 来创建模型的类，想要修改对应字段的 set 和 get 方法</title>
      <description>&lt;p&gt;初学者，想要写一个 model，主要是用来记录用户名和密码，现在的目的是为了给 password 进行 hash 转换，按我的理解 ActiveRecord::Base 是起到了 attr_accessor 的作用，不知道如下的写法是否存在了纰漏？存在问题，可以设置 password，但是 valid 为 false，求解。&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;User&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt; &lt;span class="no"&gt;ActiveRecord&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="no"&gt;Base&lt;/span&gt;
    &lt;span class="n"&gt;validates&lt;/span&gt; &lt;span class="ss"&gt;:name&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;presence: &lt;/span&gt;&lt;span class="kp"&gt;true&lt;/span&gt;
    &lt;span class="n"&gt;validates&lt;/span&gt; &lt;span class="ss"&gt;:password&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;presence: &lt;/span&gt;&lt;span class="kp"&gt;true&lt;/span&gt;

    &lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;password&lt;/span&gt;
        &lt;span class="vi"&gt;@password&lt;/span&gt;
    &lt;span class="k"&gt;end&lt;/span&gt;

    &lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;password&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;password&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
        &lt;span class="nb"&gt;puts&lt;/span&gt; &lt;span class="s2"&gt;"here"&lt;/span&gt;
        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="ow"&gt;not&lt;/span&gt; &lt;span class="n"&gt;password&lt;/span&gt;
        &lt;span class="n"&gt;password&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;generatePassword&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;password&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
        &lt;span class="k"&gt;super&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;password&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="k"&gt;end&lt;/span&gt;

    &lt;span class="kp"&gt;private&lt;/span&gt;
    &lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;generatePassword&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;password&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
        &lt;span class="no"&gt;Digest&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="no"&gt;SHA256&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;hexdigest&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;password&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;&lt;img src="https://l.ruby-china.com/photo/2015/1a935596bb60679a1178283506df2604.png" title="" alt=""&gt;&lt;/p&gt;</description>
      <author>kakaxi2</author>
      <pubDate>Mon, 05 Oct 2015 16:52:03 +0800</pubDate>
      <link>https://ruby-china.org/topics/27556</link>
      <guid>https://ruby-china.org/topics/27556</guid>
    </item>
    <item>
      <title>关于 Rails 的数据库配置文件 database.yml 当中，Yaml 的表达式解释的问题，查阅了一些资料还是没有了解</title>
      <description>&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="c1"&gt;# SQLite version 3.x&lt;/span&gt;
&lt;span class="c1"&gt;#   gem install sqlite3&lt;/span&gt;
&lt;span class="c1"&gt;#&lt;/span&gt;
&lt;span class="c1"&gt;#   Ensure the SQLite 3 gem is defined in your Gemfile&lt;/span&gt;
&lt;span class="c1"&gt;#   gem 'sqlite3'&lt;/span&gt;
&lt;span class="c1"&gt;#&lt;/span&gt;
&lt;span class="na"&gt;default&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="nl"&gt;&amp;amp;default&lt;/span&gt;
  &lt;span class="na"&gt;adapter&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;sqlite3&lt;/span&gt;
  &lt;span class="na"&gt;pool&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="m"&gt;5&lt;/span&gt;
  &lt;span class="na"&gt;timeout&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="m"&gt;5000&lt;/span&gt;

&lt;span class="na"&gt;development&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="nv"&gt;*default&lt;/span&gt;
  &lt;span class="na"&gt;database&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;db/development.sqlite3&lt;/span&gt;

&lt;span class="c1"&gt;# Warning: The database defined as "test" will be erased and&lt;/span&gt;
&lt;span class="c1"&gt;# re-generated from your development database when you run "rake".&lt;/span&gt;
&lt;span class="c1"&gt;# Do not set this db to the same as development or production.&lt;/span&gt;
&lt;span class="na"&gt;test&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="nv"&gt;*default&lt;/span&gt;
  &lt;span class="na"&gt;database&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;db/test.sqlite3&lt;/span&gt;

&lt;span class="na"&gt;production&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="nv"&gt;*default&lt;/span&gt;
  &lt;span class="na"&gt;database&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;db/production.sqlite3&lt;/span&gt; 

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;其中&lt;strong&gt;&amp;amp;default&lt;/strong&gt;定义了引动点，&lt;strong&gt;*defalut&lt;/strong&gt;进行了引用，不明白的地方在于&lt;strong&gt;符号&amp;lt;&amp;lt;:&lt;/strong&gt;的作用是什么？&lt;/p&gt;</description>
      <author>kakaxi2</author>
      <pubDate>Sun, 04 Oct 2015 11:48:45 +0800</pubDate>
      <link>https://ruby-china.org/topics/27551</link>
      <guid>https://ruby-china.org/topics/27551</guid>
    </item>
    <item>
      <title>关于一个 Sed 命令的，谁能来解释一下</title>
      <description>&lt;p&gt;需要写一个下载网页图片的 shell 脚本，网上看到一个例子，但是对于如下的这条 sed 命令，其表达的意思，
谁能来解释一下：&lt;/p&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sed&lt;/span&gt; &lt;span class="nt"&gt;-i&lt;/span&gt; &lt;span class="s2"&gt;"s|^/|&lt;/span&gt;&lt;span class="nv"&gt;$baseurl&lt;/span&gt;&lt;span class="s2"&gt;/|"&lt;/span&gt; /tmp/&lt;span class="nv"&gt;$$&lt;/span&gt;.list
&lt;/code&gt;&lt;/pre&gt;</description>
      <author>kakaxi2</author>
      <pubDate>Tue, 15 Sep 2015 13:37:09 +0800</pubDate>
      <link>https://ruby-china.org/topics/27341</link>
      <guid>https://ruby-china.org/topics/27341</guid>
    </item>
    <item>
      <title>Nginx + Passenger 部署 Rails， 希望能够直接访问 Rails 的 public 目录的静态文件，但是 Nginx 总是返回 404</title>
      <description>&lt;p&gt;是这样的，我按照配置，给出了如下的 nginx 的配置文件，&lt;/p&gt;
&lt;pre class="highlight conf"&gt;&lt;code&gt;&lt;span class="n"&gt;events&lt;/span&gt; {
    &lt;span class="n"&gt;worker_connections&lt;/span&gt;  &lt;span class="m"&gt;1024&lt;/span&gt;;
}

&lt;span class="n"&gt;http&lt;/span&gt; {
    &lt;span class="n"&gt;passenger_root&lt;/span&gt; /&lt;span class="n"&gt;home&lt;/span&gt;/&lt;span class="n"&gt;sdy&lt;/span&gt;/.&lt;span class="n"&gt;rvm&lt;/span&gt;/&lt;span class="n"&gt;gems&lt;/span&gt;/&lt;span class="n"&gt;ruby&lt;/span&gt;-&lt;span class="m"&gt;2&lt;/span&gt;.&lt;span class="m"&gt;0&lt;/span&gt;.&lt;span class="m"&gt;0&lt;/span&gt;-&lt;span class="n"&gt;p643&lt;/span&gt;@&lt;span class="n"&gt;rails4&lt;/span&gt;/&lt;span class="n"&gt;gems&lt;/span&gt;/&lt;span class="n"&gt;passenger&lt;/span&gt;-&lt;span class="m"&gt;5&lt;/span&gt;.&lt;span class="m"&gt;0&lt;/span&gt;.&lt;span class="m"&gt;15&lt;/span&gt;;
    &lt;span class="n"&gt;passenger_ruby&lt;/span&gt; /&lt;span class="n"&gt;home&lt;/span&gt;/&lt;span class="n"&gt;sdy&lt;/span&gt;/.&lt;span class="n"&gt;rvm&lt;/span&gt;/&lt;span class="n"&gt;gems&lt;/span&gt;/&lt;span class="n"&gt;ruby&lt;/span&gt;-&lt;span class="m"&gt;2&lt;/span&gt;.&lt;span class="m"&gt;0&lt;/span&gt;.&lt;span class="m"&gt;0&lt;/span&gt;-&lt;span class="n"&gt;p643&lt;/span&gt;@&lt;span class="n"&gt;rails4&lt;/span&gt;/&lt;span class="n"&gt;wrappers&lt;/span&gt;/&lt;span class="n"&gt;ruby&lt;/span&gt;;

    &lt;span class="n"&gt;include&lt;/span&gt;       &lt;span class="n"&gt;mime&lt;/span&gt;.&lt;span class="n"&gt;types&lt;/span&gt;;
    &lt;span class="n"&gt;default_type&lt;/span&gt;  &lt;span class="n"&gt;application&lt;/span&gt;/&lt;span class="n"&gt;octet&lt;/span&gt;-&lt;span class="n"&gt;stream&lt;/span&gt;;

    &lt;span class="c"&gt;#access_log  logs/access.log  main;
&lt;/span&gt;
    &lt;span class="n"&gt;sendfile&lt;/span&gt;        &lt;span class="n"&gt;on&lt;/span&gt;;
    &lt;span class="n"&gt;keepalive_timeout&lt;/span&gt;  &lt;span class="m"&gt;65&lt;/span&gt;;

    &lt;span class="n"&gt;server&lt;/span&gt; {
        &lt;span class="n"&gt;listen&lt;/span&gt; &lt;span class="m"&gt;8800&lt;/span&gt;;
        &lt;span class="n"&gt;server_name&lt;/span&gt; &lt;span class="m"&gt;127&lt;/span&gt;.&lt;span class="m"&gt;0&lt;/span&gt;.&lt;span class="m"&gt;0&lt;/span&gt;.&lt;span class="m"&gt;1&lt;/span&gt;;
        &lt;span class="n"&gt;root&lt;/span&gt; /&lt;span class="n"&gt;home&lt;/span&gt;/&lt;span class="n"&gt;sdy&lt;/span&gt;/&lt;span class="n"&gt;rails_project&lt;/span&gt;/&lt;span class="n"&gt;saler&lt;/span&gt;/&lt;span class="n"&gt;public&lt;/span&gt;;
        &lt;span class="n"&gt;passenger_intercept_errors&lt;/span&gt; &lt;span class="n"&gt;on&lt;/span&gt;;
        &lt;span class="n"&gt;passenger_friendly_error_pages&lt;/span&gt; &lt;span class="n"&gt;off&lt;/span&gt;;
        &lt;span class="n"&gt;passenger_enabled&lt;/span&gt; &lt;span class="n"&gt;on&lt;/span&gt;;
        &lt;span class="n"&gt;error_page&lt;/span&gt; &lt;span class="m"&gt;404&lt;/span&gt;  /&lt;span class="m"&gt;404&lt;/span&gt;.&lt;span class="n"&gt;html&lt;/span&gt;;
     }
}
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id="目的是："&gt;目的是：&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;希望能够直接访问 rails 的静态资源，包括 html,css,js 等。到目前为止，我的理解是如果在 rails 项目的 public 目录能够访问到的，nginx 应该能够直接返回，但是 nginx 启动后提示 404 找不到页面&lt;/li&gt;
&lt;li&gt;希望能够使用 public 目录当中定制的 404 页面，访问&lt;a href="http://127.0.0.1/abc.html" rel="nofollow" target="_blank"&gt;http://127.0.0.1/abc.html&lt;/a&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;查看 nginx 的日志显示为：&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;2015/08/09 18:15:02 [error] 12945#0: *3 open() "/home/sdy/rails_project/saler/public/abc.html" failed (2: No such file or directory), client: 127.0.0.1, server: 127.0.0.1, request: "GET /abc.html HTTP/1.1", host: "127.0.0.1:8800" 

2015/08/09 18:15:02 [error] 12945#0: *3 open() "/home/sdy/rails_project/saler/public/404.html" failed (2: No such file or directory), client: 127.0.0.1, server: 127.0.0.1, request: "GET /abc.html HTTP/1.1", host: "127.0.0.1:8800"
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;我的 public 目录当中是存在 abc.html 以及 404.html 的，可以判断 nginx 访问 public 目录没有找到 abc.html，随后按照设置在该目录寻找 404.html 但是都没有找到&lt;/p&gt;
&lt;h3 id="疑问是："&gt;疑问是：&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;passenger 在 nginx 当中是怎么配置使得访问静态资源直接有 nginx 来返回，动态资源有 rails 来返回的。&lt;/li&gt;
&lt;li&gt;上述的访问&lt;a href="http://127.0.0.1/abc.htmldevelopment%E7%8E%AF%E5%A2%83%E5%BD%93%E4%B8%AD%E6%98%AF%E5%8F%AF%E4%BB%A5%EF%BC%8C%E4%BD%86%E6%98%AFproduction%E7%8E%AF%E5%A2%83%E5%BD%93%E4%B8%AD%E5%B0%B1%E4%B8%8D%E8%A1%8C%EF%BC%8C%E4%B8%BA%E4%BD%95" rel="nofollow" target="_blank"&gt;http://127.0.0.1/abc.htmldevelopment环境当中是可以，但是production环境当中就不行，为何&lt;/a&gt;在？&lt;/li&gt;
&lt;li&gt; public 目录不是说是 rails 路由一开始就能直接看到的么，然后如果在 public 目录找不到文件才去走 routes.rb，但是 production 和 nginx 都访问不到 abc.html.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;附注：rails 使用的是 4.2，我猜是不是和 asset 之类的有关，但是 asset 这不是我不是很懂。&lt;/p&gt;</description>
      <author>kakaxi2</author>
      <pubDate>Sun, 09 Aug 2015 18:29:40 +0800</pubDate>
      <link>https://ruby-china.org/topics/26841</link>
      <guid>https://ruby-china.org/topics/26841</guid>
    </item>
    <item>
      <title>初学者的关于部署 Rails 的问题</title>
      <description>&lt;p&gt;作为一个 rails 的初学者，我想问一下，为什么网上给的部署 Rails 的时候的配置方案，大多数都是用一个前端服务器（比如 Apache 或者 nginx）加上一个后端的服务器（比如 Thin，unicorn）之类的来完成配置，我想问的是如果我不需要负载均衡，只需要一个开一个 Thin 服务就够了，那么直接把 Thin 挂到前端，就是又当前端，又当后端，这样可以么？&lt;/p&gt;</description>
      <author>kakaxi2</author>
      <pubDate>Tue, 14 Jul 2015 16:16:37 +0800</pubDate>
      <link>https://ruby-china.org/topics/26473</link>
      <guid>https://ruby-china.org/topics/26473</guid>
    </item>
    <item>
      <title>关于 Ruby 复杂的类体系结构的思考</title>
      <description>&lt;p&gt;刚刚开始学习使用 ruby on rails，也在学习使用 ruby 的方方面面，感觉要了解 ruby 的类的体系结构还是得花一些心思，有点复杂啊。
我感觉主要是你要从类和对象两个角度来看一个类，不同于其他的面向对象语言，ruby 里的类即是类，也是对象。
&lt;img src="https://l.ruby-china.com/photo/2015/1c961f657b056a774da2dd95a04a1ced.jpg" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;Class 是除了 Kernel 以外的任何类（现在我们应该从对象的角度），类与对象的联系，类的视力&lt;/p&gt;</description>
      <author>kakaxi2</author>
      <pubDate>Sun, 24 May 2015 18:19:58 +0800</pubDate>
      <link>https://ruby-china.org/topics/25720</link>
      <guid>https://ruby-china.org/topics/25720</guid>
    </item>
  </channel>
</rss>
