<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>rubybird (中暑)</title>
    <link>https://ruby-china.org/rubybird</link>
    <description>http://hexogeek.com</description>
    <language>en-us</language>
    <item>
      <title>5.5 倍速,Sidekiq 爆揍 Celery</title>
      <description>&lt;p&gt;这两天测试了两个异步任务后台，Sidekiq 和 Celery，一个是基于 Ruby 2.4.1 的，一个是基于 Python 2.7 的。&lt;/p&gt;

&lt;p&gt;在同样的测试环境中（都使用 Redis），测试 10 万个任务，Celery 处理完需要 144 秒，每秒处理 694 个。&lt;/p&gt;

&lt;p&gt;而 Sidekiq 处理完只需要 26 秒，每秒达到 3846 个，是 Celery 的 5.5 倍。&lt;/p&gt;

&lt;p&gt;详细的测试过程可以&lt;a href="http://hexogeek.com/2017/05/26/Sidekiq%E7%88%86%E6%8F%8DCelery/" rel="nofollow" target="_blank" title=""&gt;参考这里&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Sidekiq 作为一个商业产品，性能强悍理所当然的。Celery 也算大名鼎鼎了，与 Sidekiq 相比，速度相差那么多，实在出乎意料啊。&lt;/p&gt;

&lt;p&gt;对此，大家怎么看？&lt;/p&gt;</description>
      <author>rubybird</author>
      <pubDate>Fri, 26 May 2017 01:51:53 +0800</pubDate>
      <link>https://ruby-china.org/topics/33073</link>
      <guid>https://ruby-china.org/topics/33073</guid>
    </item>
    <item>
      <title>ckeditor 上传的图片是否可以保存在别的地方？</title>
      <description>&lt;p&gt;把 ckeditor 集成进入 rails 后，发现 ckeditor 把上传的图片保存到/ckeditor_assets/pictures/下，这里会有一个问题：&lt;/p&gt;

&lt;p&gt;如果使用版本管理工具管理代码，/ckeditor_assets 目录是不受管理的（因为它是动态的），那每次放服务器上传代码，该目录都会被清空，这会导致以前上传的图片都会丢失。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;现在我想问的是，有没有办法把 ckeditor 上传的图片保存到数据库，或者别的地方？&lt;/strong&gt;&lt;/p&gt;</description>
      <author>rubybird</author>
      <pubDate>Thu, 07 Mar 2013 16:21:04 +0800</pubDate>
      <link>https://ruby-china.org/topics/9219</link>
      <guid>https://ruby-china.org/topics/9219</guid>
    </item>
    <item>
      <title>在 openshift 上部署 rails,application.css 无内容</title>
      <description>&lt;p&gt;我根据 rails 的入门教程，写了个简单的 blog，想要部署到 openshift 上，发现 application.css(该 application.css 是 rails 自动创建的) 无法在 production 环境下（准确的说是 openshift 下）生成。&lt;/p&gt;

&lt;p&gt;具体情况是这样的：
在 app/assets 下，我有几个文件：&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;stylesheets/
├── application.css
├── comments.css.scss
├── home.css.scss
├── messages.css.scss
├── pages.css.scss
├── posts.css.scss
└── scaffolds.css.scss
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;其中，application.css 的内容如下：&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;/*
 * This is a manifest file that'll be compiled into application.css, which will include all the files
 * listed below.
 *
 * Any CSS and SCSS file within this directory, lib/assets/stylesheets, vendor/assets/stylesheets,
 * or vendor/assets/stylesheets of plugins, if any, can be referenced here using a relative path.
 *
 * You're free to add application-wide styles to this file and they'll appear at the top of the
 * compiled file, but it's generally better to create a new file per style scope.
 *
 *= require_self
 *= require_tree .
 */
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;如果我在本地执行&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;rake assets:precompile
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;那么可以在 public/assets 目录下找到生成的 css 文件 (在 production 环境下)，在本地启动 rails 服务，浏览器访问显示 css 工作正常。&lt;/p&gt;

&lt;p&gt;但是，上传到 openshift 后，在浏览器里访问，发现/assets/application.css 的内容为空，而我尝试访问 &lt;strong&gt;/assets/home.css&lt;/strong&gt; 却可以看到有内容。因此，这里可以确认：&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;在 app/assets/stylesheets 下的 home.scss 已经被正确生成&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;那么，与 home.scss 同在一个目录下的 application.css 为什么没有被正确生成涅？home.scss 的后缀是 &lt;strong&gt;.scss&lt;/strong&gt;, application.css 的后缀是 &lt;strong&gt;css&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;另外，在 app/assets/javascripts/下的 application.js 却可以正常生成（通过浏览器访问可以看到里面的内容）&lt;/p&gt;

&lt;p&gt;openshift 上传时，显示 &lt;strong&gt;已经&lt;/strong&gt; 进行了 rake assets:precompile,&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;...
remote: Using uglifier (1.3.0) 
remote: Using will_paginate (3.0.4) 
remote: Your bundle is complete! It was installed into ./vendor/bundle
remote: Precompiling with 'bundle exec rake assets:precompile'
remote: [RailsAdmin] RailsAdmin initialization disabled by default. Pass SKIP_RAILS_ADMIN_INITIALIZER=false if you need it.
remote: Running .openshift/action_hooks/build
remote: Running .openshift/action_hooks/deploy
remote: Database server found at 127.3.139.1. initializing...
remote: The method 'YAML.enable_arbitrary_object_deserialization!' is deprecated and will be removed in the next release of SafeYAML -- set the SafeYAML::OPTIONS[:default_mode] to either :safe or :unsafe.
remote: [RailsAdmin] RailsAdmin initialization disabled by default. Pass SKIP_RAILS_ADMIN_INITIALIZER=false if you need it.
remote: hot_deploy_added=false
remote: MySQL already running
remote: Done
remote: Running .openshift/action_hooks/post_deploy
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;各位，有遇到过这样的问题不？或者有什么建议？非常欢迎。&lt;/p&gt;</description>
      <author>rubybird</author>
      <pubDate>Wed, 06 Mar 2013 09:00:57 +0800</pubDate>
      <link>https://ruby-china.org/topics/9168</link>
      <guid>https://ruby-china.org/topics/9168</guid>
    </item>
    <item>
      <title>怎么样才能只读取一次 YAML 文件</title>
      <description>&lt;p&gt;想用 YAML 来设置一些简单的信息，如站点名称。希望能在启动 Rails 的时候就把 YAML 的配置信息读取处理，以后每次用户访问时就直接从内存访问，而不需要再次从磁盘读取。现在的问题是，我的读取函数应该放在哪里，&lt;strong&gt;才能确保只执行一次呢&lt;/strong&gt;？&lt;/p&gt;</description>
      <author>rubybird</author>
      <pubDate>Wed, 20 Feb 2013 14:35:50 +0800</pubDate>
      <link>https://ruby-china.org/topics/8801</link>
      <guid>https://ruby-china.org/topics/8801</guid>
    </item>
    <item>
      <title>devise 怎么关闭管理员注册？</title>
      <description>&lt;p&gt;在 rails_admin 中使用 devise，发现：人人都可以注册成管理员。我想：
1）管理员可以决定是否可以注册普通用户。
2）管理员在应用安装时设定，而不允许注册。&lt;/p&gt;

&lt;p&gt;请问该怎么做？&lt;/p&gt;</description>
      <author>rubybird</author>
      <pubDate>Tue, 19 Feb 2013 16:43:20 +0800</pubDate>
      <link>https://ruby-china.org/topics/8772</link>
      <guid>https://ruby-china.org/topics/8772</guid>
    </item>
    <item>
      <title>rails 入门中的 comment 如何编辑修改</title>
      <description>&lt;p&gt;初学 Rails，根据入门介绍，建立了入门的 blog。入门里介绍了如何创建一个 comment。可是创建后，如何修改和删除呢？&lt;/p&gt;

&lt;p&gt;我尝试在 controllers/comments_controller.rb 中添加了一个方法&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;edit&lt;/span&gt;
  &lt;span class="vi"&gt;@post&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;find&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;params&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="ss"&gt;:post_id&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;
  &lt;span class="vi"&gt;@comment&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="vi"&gt;@post.comments.find&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;params&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="ss"&gt;:id&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;

&lt;span class="k"&gt;end&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;然后在 comments/_form.html.haml 中添加了&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;form_for&lt;/span&gt;&lt;span class="p"&gt;([&lt;/span&gt;&lt;span class="vi"&gt;@post&lt;/span&gt;&lt;span class="p"&gt;])&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;f&lt;/span&gt;&lt;span class="o"&gt;|&lt;/span&gt;
  &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="n"&gt;f&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;fields_for&lt;/span&gt; &lt;span class="ss"&gt;:comments&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;comment_form&lt;/span&gt;&lt;span class="o"&gt;|&lt;/span&gt;
    &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;field&lt;/span&gt;
      &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;comment_form&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;label&lt;/span&gt; &lt;span class="ss"&gt;:commenter&lt;/span&gt;
      &lt;span class="o"&gt;%&lt;/span&gt;&lt;span class="n"&gt;br&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;
      &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;comment_form&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;text_field&lt;/span&gt; &lt;span class="ss"&gt;:commenter&lt;/span&gt;
    &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;field&lt;/span&gt;
      &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;comment_form&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;label&lt;/span&gt; &lt;span class="ss"&gt;:body&lt;/span&gt;
      &lt;span class="o"&gt;%&lt;/span&gt;&lt;span class="n"&gt;br&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;
      &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;comment_form&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;text_area&lt;/span&gt; &lt;span class="ss"&gt;:body&lt;/span&gt;
    &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;actions&lt;/span&gt;
      &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;comment_form&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;submit&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;在 posts/show.html.haml 中添加一个编辑连接&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;link_to&lt;/span&gt; &lt;span class="s1"&gt;'Edit'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;edit_post_comment_path&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;comment&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;创建一个 post 和一个 comment 后，点击上面的 Edit 进入，发现&lt;strong&gt;comment 的提交表格中的各个域都是空的，更像是创建一个新的 comment，而不是编辑&lt;/strong&gt;。&lt;/p&gt;

&lt;p&gt;各位，有什么办法进行编辑 comment 不？同时，又怎么加删除 comment 的功能？&lt;/p&gt;</description>
      <author>rubybird</author>
      <pubDate>Tue, 05 Feb 2013 10:57:09 +0800</pubDate>
      <link>https://ruby-china.org/topics/8603</link>
      <guid>https://ruby-china.org/topics/8603</guid>
    </item>
  </channel>
</rss>
