<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>yashin (yashin)</title>
    <link>https://ruby-china.org/yashin</link>
    <description></description>
    <language>en-us</language>
    <item>
      <title>[深圳][南山] 开源中国 Gitee.com 诚招 Ruby 中高级工程师 [15k ~ 25k]</title>
      <description>&lt;h3 id="岗位职责："&gt;岗位职责：&lt;/h3&gt;
&lt;p&gt;负责 &lt;a href="https://gitee.com/enterprises" rel="nofollow" target="_blank" title=""&gt;Gitee&lt;/a&gt; 协助研发管理平台 SAAS 服务的设计和开发。码云是开源中国 2013 年开始建设运营的开发云平台，推出了代码管理、代码质量管理、软件发布平台和项目协作管理等云服务。&lt;/p&gt;

&lt;hr&gt;
&lt;h3 id="任职要求："&gt;任职要求：&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;有 2-3 年以上 Ruby、PHP、Go、Python、Java 等 Web 开发经验（我们认为编程语言是大体相通的，不强制要求有 Ruby 经验，但岗位属于 Ruby 研发）&lt;/li&gt;
&lt;li&gt;掌握 CSS/JavaScript 技能，能够独立实现所需的前端效果&lt;/li&gt;
&lt;li&gt;熟练使用 Git 版本控制系统，日常工作环境为类 Unix&lt;/li&gt;
&lt;li&gt;熟悉常用的数据库、缓存技术，如 PostgreSQL, MySQL, Redis&lt;/li&gt;
&lt;li&gt;对产品有一定的 Sense 和自己的见解，能够独立设计并完成产品模块&lt;/li&gt;
&lt;/ol&gt;

&lt;hr&gt;
&lt;h3 id="优先条件："&gt;优先条件：&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;熟悉 DevOps &lt;/li&gt;
&lt;li&gt;有数据库调优经验者优先&lt;/li&gt;
&lt;li&gt;有一定的运维能力者优先&lt;/li&gt;
&lt;li&gt;对代码整洁和性能自我要求高&lt;/li&gt;
&lt;li&gt;熟练掌握一种以上的单元测试&lt;/li&gt;
&lt;li&gt;熟悉敏捷开发流程&lt;/li&gt;
&lt;/ol&gt;

&lt;hr&gt;
&lt;h3 id="希望你："&gt;希望你：&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;能够善于言谈，能够高效沟通（!important）&lt;/li&gt;
&lt;li&gt;有持续不断自我改善的意识和自我提升的能力&lt;/li&gt;
&lt;li&gt;我们想要提供最好的服务给开发者，不论是设计，性能还是对用户的服务支持，对用户有耐心，积极听取用户意见和建议，及时的处理用户所遇到的问题。&lt;/li&gt;
&lt;li&gt;无论是技术还是产品形态都能“吹毛求疵”&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="简历投递"&gt;简历投递&lt;/h3&gt;
&lt;p&gt;luoyaxin@oschina.cn&lt;/p&gt;</description>
      <author>yashin</author>
      <pubDate>Wed, 08 Jan 2020 14:16:51 +0800</pubDate>
      <link>https://ruby-china.org/topics/39418</link>
      <guid>https://ruby-china.org/topics/39418</guid>
    </item>
    <item>
      <title>Grape API params { requires :token } 无法验证在 headers 中的 token 参数</title>
      <description>&lt;p&gt;Grape 项目中，强制要求 token 参数，代码如下。&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="n"&gt;params&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
      &lt;span class="n"&gt;requires&lt;/span&gt; &lt;span class="ss"&gt;:token&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;但如果 token 参数放在 header 中则无法通过验证，报错：Grape::Exceptions::ValidationErrors (token is missing)。&lt;/p&gt;

&lt;p&gt;不知道该如何使 requires 能验证到 header 的参数？望各位不吝赐教：）&lt;/p&gt;</description>
      <author>yashin</author>
      <pubDate>Mon, 14 Dec 2015 14:17:43 +0800</pubDate>
      <link>https://ruby-china.org/topics/28378</link>
      <guid>https://ruby-china.org/topics/28378</guid>
    </item>
    <item>
      <title>Grape on rack 项目使用 kaminari 分页的问题</title>
      <description>&lt;p&gt;grape on rack 项目使用 kaminari 分页时碰到一个问题：&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="n"&gt;user&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;recent_events&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;where&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="ss"&gt;public: &lt;/span&gt;&lt;span class="kp"&gt;true&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nf"&gt;page&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;page&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nf"&gt;per&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;20&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;报错：&lt;/p&gt;

&lt;p&gt;NoMethodError: undefined method `page' for ActiveRecord::Relation:&lt;/p&gt;

&lt;p&gt;google 半天没有解决，后面看日志往下居然提示 gemfile 改一下就好了&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="n"&gt;your&lt;/span&gt; &lt;span class="no"&gt;Gemfile&lt;/span&gt; &lt;span class="n"&gt;might&lt;/span&gt; &lt;span class="ow"&gt;not&lt;/span&gt; &lt;span class="n"&gt;be&lt;/span&gt; &lt;span class="n"&gt;configured&lt;/span&gt; &lt;span class="n"&gt;properly&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;
&lt;span class="nf"&gt;-&lt;/span&gt;&lt;span class="o"&gt;---&lt;/span&gt; &lt;span class="n"&gt;e&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;g&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt; &lt;span class="nf"&gt;-&lt;/span&gt;&lt;span class="o"&gt;---&lt;/span&gt;
&lt;span class="no"&gt;Rails&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="n"&gt;gem&lt;/span&gt; &lt;span class="s1"&gt;'kaminari'&lt;/span&gt;

&lt;span class="no"&gt;Sinatra&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="no"&gt;Padrino&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="n"&gt;gem&lt;/span&gt; &lt;span class="s1"&gt;'kaminari'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:require&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;'kaminari/sinatra'&lt;/span&gt;

&lt;span class="no"&gt;Grape&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="n"&gt;gem&lt;/span&gt; &lt;span class="s1"&gt;'kaminari'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:require&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;'kaminari/grape'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;修改 gemfile &lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="n"&gt;gem&lt;/span&gt; &lt;span class="s1"&gt;'kaminari'&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="n"&gt;gem&lt;/span&gt; &lt;span class="s1"&gt;'kaminari'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:require&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;'kaminari/grape'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;简单记录一下，但愿诸位不像我这么忽略日志。。。&lt;/p&gt;</description>
      <author>yashin</author>
      <pubDate>Tue, 22 Sep 2015 11:05:13 +0800</pubDate>
      <link>https://ruby-china.org/topics/27431</link>
      <guid>https://ruby-china.org/topics/27431</guid>
    </item>
  </channel>
</rss>
