<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>mjf429 (Jeff Ma)</title>
    <link>https://ruby-china.org/mjf429</link>
    <description></description>
    <language>en-us</language>
    <item>
      <title>没事在 Macbook Pro Retina 上装了个 OpenSuse, 渲染质量真高</title>
      <description>&lt;p&gt;&lt;img src="https://l.ruby-china.com/photo/2014/a6f18bbeb2540c059b99ee44ce2af7aa.jpg" title="" alt=""&gt;&lt;/p&gt;</description>
      <author>mjf429</author>
      <pubDate>Mon, 24 Nov 2014 22:03:33 +0800</pubDate>
      <link>https://ruby-china.org/topics/22837</link>
      <guid>https://ruby-china.org/topics/22837</guid>
    </item>
    <item>
      <title>[招聘][北京上地] starsworld.cn 招聘 ruby 新手一名</title>
      <description>&lt;h2 id="公司介绍"&gt;公司介绍&lt;/h2&gt;
&lt;p&gt;starsworld.cn 是一个架构于明星和粉丝之间的文娱互动平台&lt;/p&gt;

&lt;p&gt;#职位要求
ruby 新手一名，能自己把 &lt;a href="http://guides.rubyonrails.org/" rel="nofollow" target="_blank"&gt;http://guides.rubyonrails.org/&lt;/a&gt; 里的 blog 跑起来，玩过 mongdb 和 redis 的优先，24 岁以下优先&lt;/p&gt;

&lt;p&gt;#薪资
试用期（2 个月）4000，转正涨到 6000&lt;/p&gt;

&lt;p&gt;#备注
对于新手绝对是一个很好的提升自己的机会，试用期基本 90% 以上的个人学习时间，转正后 20% 的个人学习时间，公司提供 imac，每季度采购一次技术资料（自选）
应聘者发送简历到 mjf429@163.com&lt;/p&gt;</description>
      <author>mjf429</author>
      <pubDate>Thu, 17 Apr 2014 09:55:17 +0800</pubDate>
      <link>https://ruby-china.org/topics/18652</link>
      <guid>https://ruby-china.org/topics/18652</guid>
    </item>
    <item>
      <title>[北京上地] starsworld.cn 招聘 ruby 程序员一个 (急招)</title>
      <description>&lt;h2 id="网站介绍"&gt;网站介绍&lt;/h2&gt;
&lt;p&gt;&lt;a href="http://starsworld.cn" rel="nofollow" target="_blank"&gt;http://starsworld.cn&lt;/a&gt;是一个建立在明星与粉丝之间的文娱互动平台&lt;/p&gt;
&lt;h2 id="职位需求"&gt;职位需求&lt;/h2&gt;
&lt;p&gt;一年以上 ruby 开发经验是必须的，熟悉 mongodb 和 redis 数据库，熟悉 linux 更好，工作态度认真负责，做事细心。&lt;/p&gt;
&lt;h2 id="薪资"&gt;薪资&lt;/h2&gt;
&lt;p&gt;10-12k&lt;/p&gt;
&lt;h2 id="备注"&gt;备注&lt;/h2&gt;
&lt;p&gt;公司是一个创业公司，其实创业公司想做点事情出来是挺难的，不在于点子有多好，盈利模式有多牛逼，而在于坚持，细致，对用户的负责，持续不断的一个个去解决用户遇到的问题，我们这边对于加班的态度是，在工作时间去好好工作，休息时间好好休息，这里面试不会需要去做题，所以投简历的人不用去抱佛脚翻算法，这里也不会看你的文凭，如果你是个靠谱的程序员过来聊聊就可以了，我们要的是会做事的人
mjf429@163.com&lt;/p&gt;</description>
      <author>mjf429</author>
      <pubDate>Thu, 03 Apr 2014 09:26:05 +0800</pubDate>
      <link>https://ruby-china.org/topics/18354</link>
      <guid>https://ruby-china.org/topics/18354</guid>
    </item>
    <item>
      <title>[北京][正坤] 明星世界招 Web 前端, iOS, Android 工程师</title>
      <description>&lt;p&gt;大家好！我是 starsworld.cn 的主管 mjf429，之前我在 rubychina 上已经发过一次招聘了，招聘效果很好，很快就招到了合适的人才，自从上次招聘后项目进展非常迅速，网站业务的市场表现也非常好，很快现有人员又比较吃紧了，现再次&lt;/p&gt;
&lt;h2 id="招聘以下人员："&gt;招聘以下人员：&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;web 前端工程师 1 个（需要有一个以上 angularjs 或者 emberjs 的上线项目经验）（8k）&lt;/li&gt;
&lt;li&gt;ios 开发工程师 1 个（需要一个以上 ios 项目的上线经验并熟悉 git 管理，代码规范有要求）（8k）&lt;/li&gt;
&lt;li&gt;android 开发工程师 1 个（需要一个以上 android 项目的上线经验并熟悉 git 管理，代码规范有要求）（8k）&lt;/li&gt;
&lt;li&gt;娱乐编辑 2 名（请大家帮忙介绍下有兴趣的漂亮妹子，最好有新闻学背景）（4k）&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;公司简介就简单点说，目前 starsworld.cn 项目组只有 7 个人，创业公司，地点在上地五街附近，公司只有基本的国家规定的福利，转正后公司会有一定数量期权分配，我们做得是一个移动自媒体服务平台，专门给明星或者草根明星提供自媒体服务，目前市场反应非常好，希望大家有兴趣的踊跃报名。大家可以先上我们的网站了解下我们的项目。&lt;/p&gt;

&lt;p&gt;我的联系方式：mjf429@163.com&lt;/p&gt;</description>
      <author>mjf429</author>
      <pubDate>Fri, 29 Nov 2013 16:27:06 +0800</pubDate>
      <link>https://ruby-china.org/topics/15885</link>
      <guid>https://ruby-china.org/topics/15885</guid>
    </item>
    <item>
      <title>[北京][招聘][正坤][明星世界]</title>
      <description>&lt;h3 id="公司介绍："&gt;公司介绍：&lt;/h3&gt;
&lt;p&gt;正坤（北京）信息技术有限公司成立于 2010 年 12 月，注册资金 500 万元，以软件开发、项目运营和技术服务为主营业务，总部设在北京。正坤公司聚焦移动互联网领域，聚焦大众应用型移动信息化产品技术的研发、销售、运营和服务。&lt;/p&gt;
&lt;h3 id="薪酬福利"&gt;薪酬福利&lt;/h3&gt;
&lt;p&gt;和大部分创业公司一样，工资结构为工资 + 期权
五险一金
公司到年终会根据大家的期权比例将公司盈利的一部分作为年终奖金&lt;/p&gt;
&lt;h3 id="联系方式"&gt;联系方式&lt;/h3&gt;
&lt;p&gt;email: mjf429@163.com
mobile: 18001120128&lt;/p&gt;
&lt;h3 id="备注"&gt;备注&lt;/h3&gt;
&lt;p&gt;公司现在不大，但是建议有想法的同学过来了解下，公司不在乎个人学历，有能力的人只要水平达到了就可以马上加薪加期权，而且公司的技术学习分享氛围还是很好的，这次招聘的职位属于中高端人才，薪资范围 6k-16k
因业务发展需要，现特此招聘以下技术人才，详情如下：&lt;/p&gt;

&lt;p&gt;&lt;img src="//l.ruby-china.com/photo/dd287bf616b7a7d8b515947b4e036711.jpg" title="" alt=""&gt;&lt;/p&gt;</description>
      <author>mjf429</author>
      <pubDate>Fri, 28 Jun 2013 18:48:58 +0800</pubDate>
      <link>https://ruby-china.org/topics/12077</link>
      <guid>https://ruby-china.org/topics/12077</guid>
    </item>
    <item>
      <title>ruby 2.0 + rails 3.2.13 + nginx + unicorn + production 出错</title>
      <description>&lt;p&gt;错误提示为：&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;NoMethodError (undefined method `applied_roles' for nil:NilClass):
  app/models/ability.rb:50:in `initialize'
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;只要加上 authorize_resource 就出错，测试环境不会出错，之前也一直不出错，一直到昨天，现在 cancan 是 1.6.10，有没谁遇见过，而且现在只要加上 authorize_resource 的 controller 都会变得非常非常慢&lt;/p&gt;</description>
      <author>mjf429</author>
      <pubDate>Wed, 05 Jun 2013 11:04:55 +0800</pubDate>
      <link>https://ruby-china.org/topics/11504</link>
      <guid>https://ruby-china.org/topics/11504</guid>
    </item>
    <item>
      <title>e17 桌面很好用啊</title>
      <description>&lt;p&gt;&lt;img src="//l.ruby-china.com/photo/7a181e59a0c20fb3f02146e3860abc6e.jpg" title="" alt=""&gt;
启动后只占用了 70m 内存，我的 2007 年的 lenovo sl500 都很流畅，而且操作起来对习惯苹果和 windows 的人都不陌生&lt;/p&gt;</description>
      <author>mjf429</author>
      <pubDate>Sat, 25 May 2013 10:27:43 +0800</pubDate>
      <link>https://ruby-china.org/topics/11225</link>
      <guid>https://ruby-china.org/topics/11225</guid>
    </item>
    <item>
      <title>mongoid 问题</title>
      <description>&lt;p&gt;今天更新了 mongoid 的 master 版本，jbuilder 里的 id 全变成$oid,mongoid 的官方文档说&lt;/p&gt;

&lt;p&gt;if you had not been converting your object ids to strings and were storing them in any way that would cause a Marshal dump, you may need to restore these values as strings&lt;/p&gt;

&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;Band&lt;/span&gt;
  &lt;span class="kp"&gt;include&lt;/span&gt; &lt;span class="no"&gt;Mongoid&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="no"&gt;Document&lt;/span&gt;
  &lt;span class="n"&gt;field&lt;/span&gt; &lt;span class="ss"&gt;:_id&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="ss"&gt;type: &lt;/span&gt;&lt;span class="no"&gt;String&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="ss"&gt;pre_processed: &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;default: &lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="no"&gt;Moped&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="no"&gt;BSON&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="no"&gt;ObjectId&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="nf"&gt;to_s&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;这样做怎么感觉很 2 啊，等于一个数据存了两份，而且 还得进行数据迁移。。。大家有更好的办法吗&lt;/p&gt;</description>
      <author>mjf429</author>
      <pubDate>Wed, 15 May 2013 09:25:21 +0800</pubDate>
      <link>https://ruby-china.org/topics/10989</link>
      <guid>https://ruby-china.org/topics/10989</guid>
    </item>
    <item>
      <title>Rails 4 + simple_form 遇到问题了</title>
      <description>&lt;p&gt;发现在 edit 的 form 里_method 变成了"patch",在 rails 3 里的时候是 put，然后结果就是没有办法去更新对象，请问谁知道怎么解决&lt;/p&gt;</description>
      <author>mjf429</author>
      <pubDate>Sun, 12 May 2013 15:30:16 +0800</pubDate>
      <link>https://ruby-china.org/topics/10916</link>
      <guid>https://ruby-china.org/topics/10916</guid>
    </item>
    <item>
      <title>有没人同时使用过 slim-rails 和 ember-rails？</title>
      <description>&lt;p&gt;我这边总是报 Temple::FilterError at /
Embedded engine handlebars not found,
我如果直接用 rb 就不出错，有没人碰到过&lt;/p&gt;</description>
      <author>mjf429</author>
      <pubDate>Fri, 08 Mar 2013 11:51:32 +0800</pubDate>
      <link>https://ruby-china.org/topics/9253</link>
      <guid>https://ruby-china.org/topics/9253</guid>
    </item>
    <item>
      <title>苹果鼠标用什么鼠标垫好</title>
      <description>&lt;p&gt;刚入手了一台 imac，用的普通的 10 块钱的鼠标垫，感觉鼠标移动有点延迟，大家都用的什么鼠标垫，有没好的推荐啊&lt;/p&gt;</description>
      <author>mjf429</author>
      <pubDate>Thu, 07 Mar 2013 08:06:02 +0800</pubDate>
      <link>https://ruby-china.org/topics/9200</link>
      <guid>https://ruby-china.org/topics/9200</guid>
    </item>
    <item>
      <title>RAILS 应用的分拆方案</title>
      <description>&lt;h2 id="RAILS应用的分拆方案"&gt;RAILS 应用的分拆方案&lt;/h2&gt;
&lt;hr&gt;
&lt;h2 id="需求的由来"&gt;需求的由来&lt;/h2&gt;
&lt;p&gt;随着业务的不断发展，新的需求的不断的加入，很多 rails 应用已经不堪重负，到了不得不分拆并进行单独管理的阶段，还有些很多公司雄心博博的希望自己能够快速的建立一个平台化的生态圈，一方面通过开放自己的通行证系统，公开基础的 api，吸引第三方应用入驻平台，另一方面加速自己的开发，不断的往平台里引入新的杀手功能。于是应用的分拆管理变得非常的重要。在这里我简单描述一下我自己在商业应用中的实践。&lt;/p&gt;
&lt;h2 id="需求的分解与方案选择"&gt;需求的分解与方案选择&lt;/h2&gt;
&lt;p&gt;需求的关键点有如下两点&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;统一帐号系统，可能需要实现单点登录&lt;/li&gt;
&lt;li&gt;数据的跨域共享
关于统一帐号系统目前市场上主要有下面几个方案，OAUTH2,CAS 和 OPENID，分别做下简短的描述，
OAUTH2：这个标准相信大家已经很熟悉了，因为新浪微博的流行，大家基本都用过，优点很多，客户端实现很简单，服务端管理很方便，对第三方比较友好，支持 scope 授权，如果非要说缺点的话就是服务端需要做的工作比较多，还有就是不支持单点登录。
CAS: 因为采用 https 方式进行认证，所以安全性非常高，而且目前主流的 web 编程语言都对 CAS 协议给予了支持，开发工作量也不大，支持单点登录，主要缺点是对第三方支持很不友好，支持第三方的话系统得新加入代码。
OPENID:openid 是一个分散式认证的解决方案，就是说认证服务器不是集中的，而是分散在全球的各个角落，你在任何一个支持 openid 的网站上注册过 id 都可以直接拿过来在你的网站上用，目前 google 和 microsoft 都已经提供了 openid 服务，看得出来 openid 也是很有前景的一个技术。
个人的选择：最开始我的需求是希望能实现单点登录（多个应用系统只需要登录一次），所以毫不犹豫的选择了 CAS 协议，后来公司提出了将来要开放帐号系统的需求，于是就切到了现在的 OAUTH2，至于为什么没有选择 OPENID，我觉得有几个原因，一个是感觉目前国内没有太好的 OPENID 服务商，还一个是 OPENID 的用户名格式有点蛋疼，不太符合国内主流用户的习惯，还一个重要的原因是不太想把钥匙交给别人。
应用分拆后马上会面临一个问题就是数据的跨域共享，我采用的部署方式是 nginx+thin 的部署方式，还有些应用是跑在 nodejs 下，使用 nginx 将应用映射到不同的子域，不同的应用往往会互相调用对方的资源，所以所有的接口支持 CORS（Cross-Origin Resource Sharing）是必须的。
# Gem 的选择
OAUTH2 服务端：我选择了 doorkeeper 这个 gem，原因是它对 OAUTH2 支持得非常全面，也非常灵活
CORS 中间件：貌似只有 rack-cors 可以选择
注册和认证：devise 是个不错的选择，可以省掉你很多工作
# 补充说明
大家在进行应用拆分后接口一定要规范，建议采用 ruby on rails 官方文档里里建议的一样，使用 namespace 将 api 分离为 v1,v2,v3，尽量不要直接使用脚手架里的接口，设计接口的时候多考虑下通用性，因为现在的接口往往会有很多不同类型的设备来访问，还有接口功能一定要单一，这样可以避免设计出太多的冗余接口&lt;/li&gt;
&lt;/ol&gt;</description>
      <author>mjf429</author>
      <pubDate>Fri, 01 Mar 2013 13:37:31 +0800</pubDate>
      <link>https://ruby-china.org/topics/9043</link>
      <guid>https://ruby-china.org/topics/9043</guid>
    </item>
    <item>
      <title>换了个头像，大家给个评价</title>
      <description>&lt;p&gt;欢迎大家来喷&lt;/p&gt;</description>
      <author>mjf429</author>
      <pubDate>Sat, 23 Feb 2013 16:01:35 +0800</pubDate>
      <link>https://ruby-china.org/topics/8873</link>
      <guid>https://ruby-china.org/topics/8873</guid>
    </item>
    <item>
      <title>ruby china 里同一行加入两个 http 地址的时候会被连成一个</title>
      <description>&lt;p&gt;是不是正则表达式写的有问题啊，能不能查下&lt;/p&gt;</description>
      <author>mjf429</author>
      <pubDate>Sat, 02 Feb 2013 09:27:45 +0800</pubDate>
      <link>https://ruby-china.org/topics/8563</link>
      <guid>https://ruby-china.org/topics/8563</guid>
    </item>
    <item>
      <title>教训啊</title>
      <description>&lt;p&gt;今天部门一工程师执行了 crontab -r ....然后之前没有备份过 crontab，只好重写。。。以后一定记得必须备份。。。&lt;/p&gt;</description>
      <author>mjf429</author>
      <pubDate>Fri, 01 Feb 2013 15:45:28 +0800</pubDate>
      <link>https://ruby-china.org/topics/8549</link>
      <guid>https://ruby-china.org/topics/8549</guid>
    </item>
    <item>
      <title>[北京][求职][移动互联网][技术总监][首席架构师]</title>
      <description>&lt;h3 id="高DPS求职"&gt;高 DPS 求职&lt;/h3&gt;
&lt;p&gt;评分，5 分初级，10 分高级，15 分精通 20 神级&lt;/p&gt;

&lt;hr&gt;
&lt;h3 id="技能系统"&gt;技能系统&lt;/h3&gt;
&lt;p&gt;linux +15 精通
C  +15 精通
C++ +15 精通
Java +10 熟悉
Python +12 熟悉
Ruby +15 精通
Rails +15 精通
Sinatra +15 精通
MongoDB +10 熟悉
Redis +10 熟悉
nginx +10 熟悉
javascript +15 精通
jquery +15 精通
产品设计 +10 熟悉
开发经验 +10 years
移动互联网开发经验 +4 years&lt;/p&gt;

&lt;hr&gt;
&lt;h3 id="意向"&gt;意向&lt;/h3&gt;
&lt;p&gt;在北京的互联网或者移动互联网公司，职位为技术总监或者首席架构师之类&lt;/p&gt;

&lt;hr&gt;
&lt;h3 id="联系方式"&gt;联系方式&lt;/h3&gt;
&lt;p&gt;mjf429@163.com , 42913078@qq.com&lt;/p&gt;</description>
      <author>mjf429</author>
      <pubDate>Sat, 12 Jan 2013 20:48:43 +0800</pubDate>
      <link>https://ruby-china.org/topics/8023</link>
      <guid>https://ruby-china.org/topics/8023</guid>
    </item>
  </channel>
</rss>
