<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>holysoros (LiJunjie)</title>
    <link>https://ruby-china.org/holysoros</link>
    <description></description>
    <language>en-us</language>
    <item>
      <title>[上海] 居乐屋招聘 Ruby 后端工程师、前端工程师</title>
      <description>&lt;h2 id="公司介绍"&gt;公司介绍&lt;/h2&gt;
&lt;p&gt;&lt;a href="http://julewu.com/" rel="nofollow" target="_blank" title=""&gt;居乐屋&lt;/a&gt; 成立于 2015 年 7 月，是万科创投 001 号项目。以 B2B 商城的形式，借助装修公司为业主提供装修主材服务。装修市场是一块巨大的蛋糕，同时是一个异常复杂的行业，潜规则横行；公司正是抱着“提高装修公司效率，为业主真实带来价值”的愿景来做这件事。&lt;/p&gt;

&lt;p&gt;公司前期在商业模式上有一些探索，到 2016 年 05 月商城正式上线。在过去的几个月里，我们的技术团队只有：1 架构师 +2 后端工程师 +1 前端工程师。但是业务上承担了每月数百万的交易额，并从上海扩张到昆山；技术上我们做了这些：&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;深度定制 Spree 满足电商业务需求；&lt;/li&gt;
&lt;li&gt;通过响应式 Web 满足 PC 与 Mobile 的展现；&lt;/li&gt;
&lt;li&gt;集成 CMS 提供电商首页及活动页等运营页面；&lt;/li&gt;
&lt;li&gt;集成搜索引擎 Solr 提供灵活的商品搜索与筛选；&lt;/li&gt;
&lt;li&gt;集成 Odoo 提供 ERP 功能，并打通商城与 ERP 的数据同步与流转；&lt;/li&gt;
&lt;li&gt;使用 Airbnb/Caravel 提供基础运营数据报表功能；&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;我这样总结下来，都为团队能有这样的高效感到骄傲。但是随着业务的快速发展，有越来越多的事情需要做，之前做的事情也要求做到更好。因此，我们寻找优秀的小伙伴，一起挑战更大的难题。&lt;/p&gt;
&lt;h2 id="Ruby开发工程师 10k~25k"&gt;Ruby 开发工程师 10k~25k&lt;/h2&gt;
&lt;p&gt;职位要求&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;熟悉 Ruby on Rails，良好的 Ruby 及 Web 标准理论基础；&lt;/li&gt;
&lt;li&gt;优秀的计算机科学基础知识，熟悉数据库架构、常用数据结构；&lt;/li&gt;
&lt;li&gt;熟练使用 Linux/Unix；&lt;/li&gt;
&lt;li&gt;熟悉面向对象编程及常用设计模式；&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;加分项&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;有其他服务器语言编程经验；&lt;/li&gt;
&lt;li&gt;优秀的前端开发能力；&lt;/li&gt;
&lt;li&gt;有电商/ELK/CMS/ERP 工作经验；&lt;/li&gt;
&lt;li&gt;有自动化运维经验；&lt;/li&gt;
&lt;li&gt;有优秀技术博客或开源项目；&lt;/li&gt;
&lt;li&gt;
&lt;a href="#%E8%87%AA%E9%85%BF%E5%95%A4%E9%85%92" title=""&gt;喜欢精酿&lt;/a&gt;&lt;img title=":beers:" alt="🍻" src="https://twemoji.ruby-china.com/2/svg/1f37b.svg" class="twemoji"&gt; 或其他有趣的事情；&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;除了经验丰富的 Ruby 开发工程师外，我们还寻找优秀的 &lt;em&gt;前端工程师&lt;/em&gt; 及 &lt;em&gt;Ruby 实习生&lt;/em&gt; ，欢迎发送简历。&lt;/p&gt;
&lt;h2 id="我们能提供"&gt;我们能提供&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;我们崇尚技术，同样敬重商业；在这里将体验到前沿技术与传统商业的巧妙结合，体会到 ERP 对传统行业流程及物流的提效，BI(商业智能) 对商业决策的作用；并参与到 ERP 及 BI 的持续改善中；这样的项目相比纯互联网项目更有一番其他风味；&lt;/li&gt;
&lt;li&gt;灵活的休假制度；如果在十一等装修旺季上班，元旦/春节淡季 1.5 倍假期调休；&lt;/li&gt;
&lt;li&gt;装修主材员工价格购买，节省数万很轻松；&lt;/li&gt;
&lt;li&gt;MBP+Dell 显示器；&lt;/li&gt;
&lt;li&gt;良好的工作氛围，不打卡，少加班；&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="联系我们"&gt;联系我们&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;工作地点：浦东新区亮秀路 112 号浦东软件园 Y1 楼 510 室；&lt;/li&gt;
&lt;li&gt;简历发送至：bin.li@julewu.com；&lt;/li&gt;
&lt;li&gt;也可以加我微信聊些其他的，微信号：holyjunjie；&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="技术团队介绍"&gt;技术团队介绍&lt;/h2&gt;
&lt;p&gt;虽然公司业务是很传统的行业，公司相对看起来也没有那么 Fashion；但是，我们竭力维持技术团队开放、有趣、追随技术前沿。&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;日常工作中，我们使用 &lt;a href="https://www.phacility.com/phabricator/" rel="nofollow" target="_blank" title=""&gt;Phabricator&lt;/a&gt; + Slack 做 workflow；并使用 &lt;a href="http://martinfowler.com/articles/feature-toggles.html" rel="nofollow" target="_blank" title=""&gt;Feature Toggles&lt;/a&gt; 工程实践做功能发布。&lt;/li&gt;
&lt;li&gt;我们在 &lt;a href="https://ruby-china.org/topics/30238" title=""&gt;2016 年 06 月 14 日 Ruby Tuesday 聚会召集&lt;/a&gt; 分享了使用 Spree 的经验，上传 &lt;a href="http://holysoros.github.io/static/build-traditional-ecommerce-with-spree.html" rel="nofollow" target="_blank" title=""&gt;Slides&lt;/a&gt; 及 &lt;a href="http://v.youku.com/v_show/id_XMTYyMDEzOTk1Ng==.html?from=s1.8-1-1.2" rel="nofollow" target="_blank" title=""&gt;视频&lt;/a&gt;；&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/julewu" rel="nofollow" target="_blank" title=""&gt;公司 Github：Julewu&lt;/a&gt;；&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="自酿啤酒"&gt;自酿啤酒&lt;/h2&gt;
&lt;p&gt;上海技术圈子里，或许我们是自酿啤酒最好的团队了。&lt;/p&gt;

&lt;p&gt;上上一次 Team Building，在朋友的酒厂里，自己做菜 + 自酿啤酒。&lt;/p&gt;

&lt;p&gt;&lt;img src="https://l.ruby-china.com/photo/2016/66b70493ec60914af9beb08a35aed6cb.jpg!large" width="640px" alt=""&gt;&lt;/p&gt;

&lt;p&gt;自酿原料---大麦芽&lt;/p&gt;

&lt;p&gt;&lt;img src="https://l.ruby-china.com/photo/2016/f717fddb5698aab3511475f399826353.jpg!large" width="640px" alt=""&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src="https://l.ruby-china.com/photo/2016/b2d68401597908578331a074a5d53b43.jpg!large" width="640px" alt="盗图 ^^ Github啤酒杯"&gt;&lt;/p&gt;</description>
      <author>holysoros</author>
      <pubDate>Tue, 08 Nov 2016 15:40:36 +0800</pubDate>
      <link>https://ruby-china.org/topics/31550</link>
      <guid>https://ruby-china.org/topics/31550</guid>
    </item>
    <item>
      <title>多线程使用 Redis gem 时遇到的性能问题</title>
      <description>&lt;p&gt;使用 redis.rb 这个 gem 往 Redis 中大量地写，每秒钟数千个 request，发现在多线程环境下会遇到比较严重的性能问题。&lt;/p&gt;

&lt;p&gt;比如，在方法 &lt;code&gt;process_item&lt;/code&gt; 中有 1000 次 set，如果单线程执行这个方法，耗费 1s；当有 5 个线程并行执行这个方法时，这个方法会耗费 10~15s！&lt;/p&gt;

&lt;p&gt;看了下 redis.rb 这个 gem 中：&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;class Redis
  ...
  include MonitorMixin

  def synchronize
    mon_synchronize { yield(@client) }
  end

  def incr(key)
    synchronize do |client|
      client.call([:incr, key])
    end
  end
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;所有方法都有 &lt;code&gt;synchronize&lt;/code&gt; 同步，根据 MonitorMixin 的文档：&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;at each point in time, at most one thread may be executing any of its methods.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;怀疑就是多个线程在互相等解锁，造成每个线程执行 &lt;code&gt;process_item&lt;/code&gt; 方法成倍增加。&lt;/p&gt;

&lt;p&gt;尝试使用了 &lt;a href="https://github.com/mperham/connection_pool" rel="nofollow" target="_blank" title=""&gt;connection_pool&lt;/a&gt; 这个库，并不能解决问题，我认为这个 gem 对 Redis 根本没有作用，无法避免方法全局锁的限制。&lt;/p&gt;

&lt;p&gt;有没有好的办法解决这样多线程并发地写 Redis 的问题呢？&lt;/p&gt;</description>
      <author>holysoros</author>
      <pubDate>Wed, 14 Jan 2015 00:45:30 +0800</pubDate>
      <link>https://ruby-china.org/topics/23717</link>
      <guid>https://ruby-china.org/topics/23717</guid>
    </item>
  </channel>
</rss>
