<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>scige</title>
    <link>https://ruby-china.org/scige</link>
    <description></description>
    <language>en-us</language>
    <item>
      <title>在服务器抓取淘宝搜索结果页失败，本地可以正常抓取</title>
      <description>&lt;p&gt;淘宝搜索结果页：&lt;a href="https://s.taobao.com/search?q=iphone" rel="nofollow" target="_blank"&gt;https://s.taobao.com/search?q=iphone&lt;/a&gt;
在本地可以成功抓取，在服务器上就会失败被淘宝的反作弊拦截，跳转到登录页&lt;/p&gt;

&lt;p&gt;加上 user-agent 和 cookies，设置 http 代理都试过了，仍然不行&lt;/p&gt;

&lt;p&gt;用 nokogiri，wget 都是一样的，本地正常，服务器失败&lt;/p&gt;

&lt;p&gt;有同学直到如何解决码？万分感激&lt;/p&gt;</description>
      <author>scige</author>
      <pubDate>Tue, 24 Nov 2015 14:07:48 +0800</pubDate>
      <link>https://ruby-china.org/topics/28175</link>
      <guid>https://ruby-china.org/topics/28175</guid>
    </item>
    <item>
      <title>请问 Rails 中可以动态创建数据库表或动态在表中添加字段吗？而不是通过 db:migrate</title>
      <description>&lt;p&gt;现在在做一个数据管理系统，希望能够实现这样的功能：&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;用户可以创建一个新的表，并指定表中有哪些字段，然后就可以向表中添加数据。&lt;/li&gt;
&lt;li&gt;也希望以后也可以修改或添加新的字段。&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;实现上想到可能有两种做法：&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;每个用户的表对应一个真实的数据库表，该如何实现？&lt;/li&gt;
&lt;li&gt;所有用户的表对应同一个数据库表，该如何实现？
或者还有其他更好的方法？&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;大家有什么好办法吗？谢谢！&lt;/p&gt;</description>
      <author>scige</author>
      <pubDate>Thu, 10 Jan 2013 13:27:26 +0800</pubDate>
      <link>https://ruby-china.org/topics/7933</link>
      <guid>https://ruby-china.org/topics/7933</guid>
    </item>
    <item>
      <title>测试了几个常去的网站，发现 QPS 到 26 左右就上不去，就是单机 Rails 应用的极限了吗？</title>
      <description>&lt;p&gt;工具用 http_load，在公司的服务器上做的测试，我这边的带宽不是问题&lt;/p&gt;

&lt;p&gt;我在云服务器上的 Rails 应用，nginx+passenger
&lt;strong&gt;$ http_load -p 5 -s 10 urls&lt;/strong&gt;
175 fetches, 5 max parallel, 1.48505e+06 bytes, in 10 seconds
8486 mean bytes/connection
&lt;strong&gt;17.5 fetches/sec&lt;/strong&gt;, 148505 bytes/sec
msecs/connect: &lt;strong&gt;11.7533 mean&lt;/strong&gt;, 100.123 max, 1.872 min
msecs/first-response: 253.544 mean, 1797.26 max, 50.015 min
HTTP response codes:
  code 200 -- 175&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;$ http_load -p 30 -s 10 urls&lt;/strong&gt;
255 fetches, 30 max parallel, 2.16393e+06 bytes, in 10 seconds
8486 mean bytes/connection
&lt;strong&gt;25.5 fetches/sec&lt;/strong&gt;, 216393 bytes/sec
msecs/connect: &lt;strong&gt;231.678 mean&lt;/strong&gt;, 450.523 max, 1.917 min
msecs/first-response: 595.631 mean, 2215.58 max, 142.245 min
HTTP response codes:
  code 200 -- 255&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;$ http_load -p 30 -s 30 urls&lt;/strong&gt;
784 fetches, 30 max parallel, 6.65302e+06 bytes, in 30 seconds
8486 mean bytes/connection
&lt;strong&gt;26.1333 fetches/sec&lt;/strong&gt;, 221767 bytes/sec
msecs/connect: &lt;strong&gt;310.235 mean&lt;/strong&gt;, 450.555 max, 2.066 min
msecs/first-response: 481.559 mean, 1282.8 max, 133.443 min
HTTP response codes:
  code 200 -- 784&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;$ http_load -p 50 -s 30 urls&lt;/strong&gt;
780 fetches, 50 max parallel, 6.61908e+06 bytes, in 30 seconds
8486 mean bytes/connection
&lt;strong&gt;26 fetches/sec&lt;/strong&gt;, 220636 bytes/sec
msecs/connect: &lt;strong&gt;518.74 mean&lt;/strong&gt;, 750.023 max, 2.041 min
msecs/first-response: 779.266 mean, 1890.49 max, 142.368 min
HTTP response codes:
  code 200 -- 780&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;QPS 到 26 就上不去了，Latency 在不断变大
同时也测试了 ruby-china 和 codecampo 也是这样的&lt;/strong&gt;&lt;/p&gt;</description>
      <author>scige</author>
      <pubDate>Sun, 25 Nov 2012 00:54:37 +0800</pubDate>
      <link>https://ruby-china.org/topics/7075</link>
      <guid>https://ruby-china.org/topics/7075</guid>
    </item>
    <item>
      <title>请教一下，Rails 没有使用数据库层面进行数据完整性验证的吗？</title>
      <description>&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;Product&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;belongs_to&lt;/span&gt; &lt;span class="ss"&gt;:category&lt;/span&gt;
  &lt;span class="n"&gt;attr_accessible&lt;/span&gt; &lt;span class="ss"&gt;:name&lt;/span&gt;
  &lt;span class="n"&gt;validates&lt;/span&gt; &lt;span class="ss"&gt;:category_id&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;end&lt;/span&gt;

&lt;span class="k"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;Category&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;has_many&lt;/span&gt; &lt;span class="ss"&gt;:products&lt;/span&gt;
  &lt;span class="n"&gt;attr_accessible&lt;/span&gt; &lt;span class="ss"&gt;:name&lt;/span&gt;
&lt;span class="k"&gt;end&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;设置 Category 只有 1~4，这里新建 Product 的类别是 10，期望应该是失败的&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="nb"&gt;p&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="no"&gt;Product&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;new&lt;/span&gt;
&lt;span class="nb"&gt;p&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;category_id&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;10&lt;/span&gt;
&lt;span class="nb"&gt;p&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;save&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;strong&gt;上面的代码竟然会成功！&lt;/strong&gt;
查了一下 Rails Guides，加上了验证，也是无效&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="n"&gt;belongs_to&lt;/span&gt; &lt;span class="ss"&gt;:category&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:validate&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="kp"&gt;true&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Rails 的完整性验证应该会让上面的创建失败吧，为何没有生效呢？
难道 Rails 提供的完整性验证是程序层面的而没有使用数据库层面的外键进行验证？
或者是我的用法不对，请教大家，谢谢！&lt;/p&gt;</description>
      <author>scige</author>
      <pubDate>Sun, 18 Nov 2012 13:06:16 +0800</pubDate>
      <link>https://ruby-china.org/topics/6864</link>
      <guid>https://ruby-china.org/topics/6864</guid>
    </item>
    <item>
      <title>有多少同学像俺一样靠 C/C++ 吃饭，Rails 只是个爱好？</title>
      <description>&lt;p&gt;俺是 C++ 程序员，做的是推荐系统和搜索引擎
平时弄 Rails 玩玩，很喜欢 Web 开发的东西
想知道有多少同学像俺一样？&lt;/p&gt;</description>
      <author>scige</author>
      <pubDate>Thu, 15 Nov 2012 12:13:32 +0800</pubDate>
      <link>https://ruby-china.org/topics/6774</link>
      <guid>https://ruby-china.org/topics/6774</guid>
    </item>
    <item>
      <title>请教一个路由的问题：RESTful 里自定义路由的如何指定参数？</title>
      <description>&lt;p&gt;我想让 &lt;a href="http://xxxx/filters/category/1" rel="nofollow" target="_blank"&gt;http://xxxx/filters/category/1&lt;/a&gt;
用下面的 Controller 处理&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;FiltersController&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt; &lt;span class="no"&gt;ApplicationController&lt;/span&gt;
    &lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;category&lt;/span&gt;
        &lt;span class="vi"&gt;@category&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="no"&gt;Category&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;find_by_id&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;span class="k"&gt;end&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;于是使用了下面的 Routes&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="n"&gt;resources&lt;/span&gt; &lt;span class="ss"&gt;:filters&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt;
  &lt;span class="n"&gt;collection&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt;
      &lt;span class="n"&gt;get&lt;/span&gt; &lt;span class="ss"&gt;:category&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;我在 View 里是这么用的：&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;a&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="ss"&gt;:href&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;category_filters_path&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="vi"&gt;@category&lt;/span&gt;&lt;span class="p"&gt;)}&lt;/span&gt;
  &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="vi"&gt;@category.cn_name&lt;/span&gt;
  &lt;span class="o"&gt;%&lt;/span&gt;&lt;span class="n"&gt;span&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;=&lt;/span&gt; &lt;span class="s2"&gt;"(&lt;/span&gt;&lt;span class="si"&gt;#{&lt;/span&gt;&lt;span class="vi"&gt;@category.products.size&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;)"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;但是却生成了
&lt;a href="http://xxxx/filters/category.1" rel="nofollow" target="_blank"&gt;http://xxxx/filters/category.1&lt;/a&gt;
然后就出错了，这种在 RESTful 里自定义路由的如何指定参数？&lt;/p&gt;

&lt;p&gt;顺便问一下，haml 里用 link_to 能在文字里使用 span 吗？上面 view 的代码三行能合并为一行吗？&lt;/p&gt;</description>
      <author>scige</author>
      <pubDate>Sun, 04 Nov 2012 11:47:48 +0800</pubDate>
      <link>https://ruby-china.org/topics/6513</link>
      <guid>https://ruby-china.org/topics/6513</guid>
    </item>
    <item>
      <title>haml 里，一行可以写多个标签吗？</title>
      <description>&lt;p&gt;haml 里，一行可以写多个标签吗？比如下面的 HTML 代码&lt;/p&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;span&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"word"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;价值&lt;span class="nt"&gt;&amp;lt;/span&amp;gt;&amp;lt;span&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"num"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;¥252&lt;span class="nt"&gt;&amp;lt;/span&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;如果分开两行写感觉很不直观&lt;/p&gt;
&lt;pre class="highlight haml"&gt;&lt;code&gt;&lt;span class="nc"&gt;.word&lt;/span&gt; 价值
&lt;span class="nc"&gt;.num&lt;/span&gt; ¥252
&lt;/code&gt;&lt;/pre&gt;</description>
      <author>scige</author>
      <pubDate>Tue, 30 Oct 2012 00:42:25 +0800</pubDate>
      <link>https://ruby-china.org/topics/6397</link>
      <guid>https://ruby-china.org/topics/6397</guid>
    </item>
    <item>
      <title>haml 中大家是怎么处理这种重复代码的？</title>
      <description>&lt;p&gt;haml 中大家是怎么处理这种重复代码的？&lt;/p&gt;
&lt;pre class="highlight haml"&gt;&lt;code&gt;&lt;span class="p"&gt;-&lt;/span&gt; &lt;span class="vi"&gt;@products.each&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;product&lt;/span&gt;&lt;span class="o"&gt;|&lt;/span&gt;
  &lt;span class="p"&gt;-&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;product&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;id&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;
    &lt;span class="nc"&gt;.item-even&lt;/span&gt;
      代码片段1
  &lt;span class="p"&gt;-&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt;
    &lt;span class="nc"&gt;.item-odd&lt;/span&gt;
      代码片段2
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;代码片段 1 和代码片段 2 完全一样，if 判断只是想对两个部分做不同样式展示
比如奇数列和偶数列&lt;/p&gt;</description>
      <author>scige</author>
      <pubDate>Tue, 30 Oct 2012 00:33:32 +0800</pubDate>
      <link>https://ruby-china.org/topics/6396</link>
      <guid>https://ruby-china.org/topics/6396</guid>
    </item>
    <item>
      <title>请教大家，Rails 做网站的一般流程是怎样的？从设计到开发过程</title>
      <description>&lt;p&gt;也看过论坛之前的一些讨论，但是没有哪位完整地描述过这个过程，很疑惑。
希望各位前辈能不吝分享自己的宝贵经验，相信这个问题新手开发项目时都会遇到，之后我会把完善的流程总结一下，整理到 wiki 上！&lt;/p&gt;

&lt;p&gt;说一下我理解的这个过程，请大家指正，谢谢！&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;[需求]：首先有个最初想法或需求&lt;/li&gt;
&lt;li&gt;[设计]：然后用 Photoshop 做出设计稿
（之后是否还有切图的过程？是否还有用 Dreamweaver 组合切图修改网页的过程？）
（PS 的设计稿只是参考作用吗？设计稿要切图作为素材吗？）&lt;/li&gt;
&lt;li&gt;[静态]：之后就用 Html+CSS+JS 做出网页，用 Chrome 或 Firebug 看效果，不使用其他工具
（这个过程是不是完全没有 Rails 代码？最终产出就是静态页面？）&lt;/li&gt;
&lt;li&gt;[整合]：把上面做出的网页源代码整合到 Rails 项目中，view 和 style，js&lt;/li&gt;
&lt;li&gt;[动态]：开发 Rails 后台，这个过程中也不断调整 view 和 style，js&lt;/li&gt;
&lt;li&gt;[部署]：开发测试完成，部署上线&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;我是否遗漏了那些步骤，或者有些步骤根本没有，甚至完全就不是这个过程？&lt;/p&gt;

&lt;p&gt;ruby-china.com 是怎样的？
shopqi.com 是怎样的？
codecampo.com 是怎样的？&lt;/p&gt;

&lt;p&gt;谢谢大家！&lt;/p&gt;</description>
      <author>scige</author>
      <pubDate>Sat, 15 Sep 2012 10:06:37 +0800</pubDate>
      <link>https://ruby-china.org/topics/5552</link>
      <guid>https://ruby-china.org/topics/5552</guid>
    </item>
  </channel>
</rss>
