<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>tsaikoga (TsaiKoga)</title>
    <link>https://ruby-china.org/tsaikoga</link>
    <description></description>
    <language>en-us</language>
    <item>
      <title>一款为程序员服务的编程工具集合</title>
      <description>&lt;p&gt;大家好，这是我用 vue 写的桌面应用，希望能给你们的工作带来帮助&lt;img title=":smile:" alt="😄" src="https://twemoji.ruby-china.com/2/svg/1f604.svg" class="twemoji"&gt; ；&lt;/p&gt;

&lt;p&gt;这个应用目前集合了“正则表达式”，“时间戳转化”， “颜色盒子” , “JSON 转化”和”Base64 转化“；&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/TsaiKoga/it-tools" rel="nofollow" target="_blank" title=""&gt;Github 地址&lt;/a&gt;
&lt;a href="https://tsaikoga.github.io/it-tools/index_cn.html" rel="nofollow" target="_blank" title=""&gt;中文网址&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src="https://github.com/TsaiKoga/it-tools/raw/master/src/renderer/assets/IT-Tools-preview.gif" title="" alt="IT Tools v1.0.0"&gt;&lt;/p&gt;

&lt;p&gt;支持中文，并且可以通过换行测试多个测试样本
&lt;img src="https://l.ruby-china.com/photo/2019/260eabfb-d875-429f-b5e7-d954baa02c13.png!large" title="" alt="IT Tools v1.1.1"&gt;&lt;/p&gt;</description>
      <author>tsaikoga</author>
      <pubDate>Wed, 27 Mar 2019 22:30:37 +0800</pubDate>
      <link>https://ruby-china.org/topics/38298</link>
      <guid>https://ruby-china.org/topics/38298</guid>
    </item>
    <item>
      <title>[已解决] passenger 分配内存不足</title>
      <description>&lt;p&gt;今天我的网站上的回复功能不能用了，出现 500 错误。查看 apache 的 log 文件发现如下问题：&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="no"&gt;Preloader&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="sr"&gt;/var/&lt;/span&gt;&lt;span class="n"&gt;www&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;xxx&lt;/span&gt; &lt;span class="n"&gt;started&lt;/span&gt; &lt;span class="n"&gt;on&lt;/span&gt; &lt;span class="no"&gt;PID&lt;/span&gt; &lt;span class="mi"&gt;8186&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;listening&lt;/span&gt; &lt;span class="n"&gt;on&lt;/span&gt; &lt;span class="n"&gt;unix&lt;/span&gt;&lt;span class="ss"&gt;:/&lt;/span&gt;&lt;span class="n"&gt;tmp&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;passenger&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="mf"&gt;1.0&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="mi"&gt;19601&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;generation&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;backends&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;preloader&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="mi"&gt;8186&lt;/span&gt;
&lt;span class="no"&gt;App&lt;/span&gt; &lt;span class="mi"&gt;8186&lt;/span&gt; &lt;span class="ss"&gt;stderr: &lt;/span&gt;&lt;span class="sr"&gt;/usr/&lt;/span&gt;&lt;span class="n"&gt;local&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;rvm&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;gems&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;ruby&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mf"&gt;2.0&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;p353&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;gems&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;passenger&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mf"&gt;4.0&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="mi"&gt;29&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;lib&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;phusion_passenger&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;preloader_shared_helpers&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;rb&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="mi"&gt;66&lt;/span&gt;&lt;span class="ss"&gt;:in&lt;/span&gt; &lt;span class="sb"&gt;`fork'
App 8186 stderr: :
App 8186 stderr: Cannot allocate memory - fork(2）
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;之后，我在 tmp 目录下创建了一个 restart.txt 就好了，
我想知道这是怎么回事，Passenger 到底会生成什么，restart 又是怎么自动执行的？&lt;/p&gt;</description>
      <author>tsaikoga</author>
      <pubDate>Sun, 18 May 2014 18:15:44 +0800</pubDate>
      <link>https://ruby-china.org/topics/19355</link>
      <guid>https://ruby-china.org/topics/19355</guid>
    </item>
    <item>
      <title>无法渲染 create.js.erb 文件</title>
      <description>&lt;p&gt;一个模仿 ruby china 的帖子回复功能
前台 form 是这样的：&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="n"&gt;simple_form_for&lt;/span&gt; &lt;span class="no"&gt;Reply&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;new&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;remote: &lt;/span&gt;&lt;span class="kp"&gt;true&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;url: &lt;/span&gt;&lt;span class="n"&gt;topic_replies_path&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="vi"&gt;@topic&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="ss"&gt;html: &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="ss"&gt;class: &lt;/span&gt;&lt;span class="s1"&gt;'form-horizontal new_reply'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;id: &lt;/span&gt;&lt;span class="s2"&gt;"new_reply"&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="cp"&gt;%&amp;gt;&lt;/span&gt;
...
&lt;span class="cp"&gt;&amp;lt;%=&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;button&lt;/span&gt; &lt;span class="ss"&gt;:submit&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="ss"&gt;class: &lt;/span&gt;&lt;span class="s1"&gt;'btn btn-primary'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;tabindex: &lt;/span&gt;&lt;span class="s2"&gt;"2"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;data: &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="ss"&gt;disable_with: &lt;/span&gt;&lt;span class="s2"&gt;"正在提交..."&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="cp"&gt;%&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;后台的代码：&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;create&lt;/span&gt;
    &lt;span class="n"&gt;reply&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;reply_params&lt;/span&gt;
    &lt;span class="n"&gt;reply&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="ss"&gt;:content&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;prevent_script&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;reply_params&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="ss"&gt;:content&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;
    &lt;span class="vi"&gt;@reply&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="no"&gt;Reply&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;new&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;reply&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="vi"&gt;@reply.topic_id&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="vi"&gt;@topic.id&lt;/span&gt;
    &lt;span class="vi"&gt;@reply.user_id&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;current_user&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;id&lt;/span&gt;
    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="vi"&gt;@reply.save&lt;/span&gt;
        &lt;span class="vi"&gt;@replies_count&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="vi"&gt;@topic.replies_count&lt;/span&gt;
        &lt;span class="n"&gt;flash&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="ss"&gt;:success&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;"成功回复！"&lt;/span&gt;
        &lt;span class="n"&gt;respond_to&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt;&lt;span class="nb"&gt;format&lt;/span&gt;&lt;span class="o"&gt;|&lt;/span&gt;
            &lt;span class="nb"&gt;format&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;html&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="n"&gt;redirect_to&lt;/span&gt; &lt;span class="n"&gt;topic_path&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="vi"&gt;@topic&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;
            &lt;span class="nb"&gt;format&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;js&lt;/span&gt;
        &lt;span class="k"&gt;end&lt;/span&gt;
    &lt;span class="k"&gt;else&lt;/span&gt;
        &lt;span class="n"&gt;flash&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="ss"&gt;:failure&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&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;从而渲染前台的 create.js.erb 文件，但是在 rails s 或是 rails s -eproduction 命令下，都可以成功添加评论，而在 apache+passenger 服务器上却无法渲染。
出现如下错误：&lt;/p&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nx"&gt;POST&lt;/span&gt; &lt;span class="nx"&gt;http&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="c1"&gt;//XXX.com/topics/1/replies 500 (Internal Server Error) application-889219bf8e8bc14719731fcd3d7ebafb.js:3&lt;/span&gt;
&lt;span class="nx"&gt;XHR&lt;/span&gt; &lt;span class="nx"&gt;finished&lt;/span&gt; &lt;span class="nx"&gt;loading&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;http://XXX.com/topics/1/replies&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt; 
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;并且，在将 format.js 改成：&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="nb"&gt;format&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;js&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="n"&gt;render&lt;/span&gt; &lt;span class="ss"&gt;js: &lt;/span&gt;&lt;span class="s2"&gt;"alert()"&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;能够成功弹出 alert() 窗&lt;/p&gt;

&lt;p&gt;比较过用 apache 和 rails s -eproduction 的审查元素：
apache 多一个错误就是 POST &lt;a href="http://XXX.com/topics/1/replies" rel="nofollow" target="_blank"&gt;http://XXX.com/topics/1/replies&lt;/a&gt; 500 (Internal Server Error) application-889219bf8e8bc14719731fcd3d7ebafb.js:3&lt;/p&gt;

&lt;p&gt;请高手解答。。。&lt;/p&gt;</description>
      <author>tsaikoga</author>
      <pubDate>Sat, 21 Dec 2013 13:14:56 +0800</pubDate>
      <link>https://ruby-china.org/topics/16354</link>
      <guid>https://ruby-china.org/topics/16354</guid>
    </item>
    <item>
      <title>求助，capistrano3.0.1 部署出现问题</title>
      <description>&lt;p&gt;以前没有部署过，如今遇到如下问题：
我在 Capfile 中有加入引入 capistrano/rvm, capistrano/bundler, capistrano/rails&lt;/p&gt;

&lt;p&gt;在我的 deploy.rb 文件中，若加入如下代码：
     set :linked_files, %w{config/database.yml}&lt;/p&gt;

&lt;p&gt;会出现以下错误：
     ERROR linked file /root/www/XXX/shared/config/database.yml does not exist
若去掉那行代码，不会有错，但是执行到
     INFO -- net.ssh.connection.session[43f55c6]: channel_success: 1
就停住了。&lt;/p&gt;

&lt;p&gt;并且查看服务器只生成了如下几个目录和其子目录：
     /release； /repo；/shared
没有 current/目录，而且 shared/目录中无 config/database.yml
这是怎么回事？&lt;/p&gt;</description>
      <author>tsaikoga</author>
      <pubDate>Tue, 17 Dec 2013 22:04:10 +0800</pubDate>
      <link>https://ruby-china.org/topics/16259</link>
      <guid>https://ruby-china.org/topics/16259</guid>
    </item>
    <item>
      <title>[已解决] 求助，服务器上安装 passenger 出现的问题</title>
      <description>&lt;p&gt;按照 &lt;a href="http://ruby-china.org/wiki/install-rails-on-ubuntu-12-04-server" title=""&gt;在 Ubuntu 12.04 Server 上安装部署 Ruby on Rails 应用&lt;/a&gt; 的方法，当我敲到：&lt;/p&gt;

&lt;p&gt;sudo passenger-install-nginx-module&lt;/p&gt;

&lt;p&gt;出现如下错误：&lt;/p&gt;

&lt;p&gt;/Implementation.cpp
    g++: internal compiler error: Killed (program cc1plus)
    Please submit a full bug report,
    with preprocessed source if appropriate.
    See &lt;a rel="nofollow" target="_blank"&gt;file:///usr/share/doc/gcc-4.7/README.Bugs&lt;/a&gt; for instructions.
    rake aborted!
    -----------------------------------------------
    Your compiler failed with the exit status 4. This probably means that it ran out of memory. To solve this problem,               try increasing your swap space: &lt;a href="https://www.digitalocean.com/community/articles/how-to-add-swap-on-ubuntu-12-04" rel="nofollow" target="_blank"&gt;https://www.digitalocean.com/community/articles/how-to-add-swap-on-ubuntu-12-04&lt;/a&gt;
/usr/local/rvm/gems/ruby-2.0.0-p353/gems/passenger-4.0.29/build/cplusplus_support.rb:40:in &lt;code&gt;run_compiler'
/usr/local/rvm/gems/ruby-2.0.0-p353/gems/passenger-4.0.29/build/cplusplus_support.rb:61:in&lt;/code&gt;compile_cxx'
/usr/local/rvm/gems/ruby-2.0.0-p353/gems/passenger-4.0.29/lib/phusion_passenger/common_library.rb:133:in `block (2 levels) in define_category_tasks'
    Tasks: TOP =&amp;gt; nginx =&amp;gt; nginx_without_native_support =&amp;gt; buildout/agents/PassengerHelperAgent =&amp;gt;   buildout/common/libpassenger_common/ApplicationPool2/Implementation.o
    (See full trace by running task with --trace)
    --------------------------------------------&lt;/p&gt;

&lt;p&gt;It looks like something went wrong&lt;/p&gt;

&lt;p&gt;Please read our Users guide for troubleshooting tips:&lt;/p&gt;

&lt;p&gt;/usr/local/rvm/gems/ruby-2.0.0-p353/gems/passenger-4.0.29/doc/Users guide Nginx.html
   &lt;a href="http://www.modrails.com/documentation/Users%20guide%20Nginx.html" rel="nofollow" target="_blank"&gt;http://www.modrails.com/documentation/Users%20guide%20Nginx.html&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If that doesn't help, please use our support facilities. We'll do our best to help you.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.phusionpassenger.com/support" rel="nofollow" target="_blank"&gt;http://www.phusionpassenger.com/support&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;我的 ruby 版本是 2.0.0
rails 版本是 4.0.0
passenger 版本是 4.0.29&lt;/p&gt;

&lt;p&gt;然后，我就设置了 swap，但是不管设置到多大，它还是报一样的错误，请高手帮忙解决。&lt;/p&gt;</description>
      <author>tsaikoga</author>
      <pubDate>Mon, 16 Dec 2013 14:24:24 +0800</pubDate>
      <link>https://ruby-china.org/topics/16224</link>
      <guid>https://ruby-china.org/topics/16224</guid>
    </item>
    <item>
      <title>Gem 中的语法</title>
      <description>&lt;p&gt;最近在看一个 gem 时，发现一些从来未见过的语法；列举如下两个，希望社区的高手帮忙解释。&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;在 rb 文件方法中有&amp;lt;&amp;lt;RUBY ... RUBY，感觉好像注入 ruby 语法，但 API 好像没有找到，类似的还有：&amp;lt;&amp;lt;-FILE ... FILE, &amp;lt;&amp;lt;-MESSAGE... MESSAGE 等，在此请教。&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;如何知道 generator 生成文件命令的参数所带来的变量，如：table_name, plural_name, class_name 等，如何查找。&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;</description>
      <author>tsaikoga</author>
      <pubDate>Thu, 14 Nov 2013 13:55:59 +0800</pubDate>
      <link>https://ruby-china.org/topics/15536</link>
      <guid>https://ruby-china.org/topics/15536</guid>
    </item>
  </channel>
</rss>
