<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>jialezhang (jialezhang)</title>
    <link>https://ruby-china.org/jialezhang</link>
    <description></description>
    <language>en-us</language>
    <item>
      <title>逃离北上广，武汉可以落脚吗？丨 2017 最新武汉互联网人才吸引能力评估报告</title>
      <description>&lt;p&gt;2017 年的互联网仍然属于北上广深。当越来越多互联网人受不住房价、户口压力被迫出走的现实情况下，其他城市的吸引力又如何？&lt;/p&gt;

&lt;p&gt;2017 武汉互联网人才吸引力报告从武汉互联网发展、职位需求分析、薪资水平报告、回流情况四个方面完整呈现 2017 年武汉对互联网人才的吸引能力。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;一。武汉互联网发展情况评估&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;从北上广深回到其他城市发展，互联网人最大的顾虑就是没有足够的职位。这和该城市互联网发展的体量息息相关。&lt;/p&gt;

&lt;p&gt;通过统计线上招聘平台进行招聘的互联网公司数量，武汉排在第七位，有 581 家。&lt;/p&gt;

&lt;p&gt;&lt;img src="https://l.ruby-china.com/photo/2017/d262c36e8b2bacc4d326885caf147c14.png!large" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;前四位是北上广深，武汉排在杭州、成都之后。和去年相比，这个排名前七位并没有发生变化。北京依然是遥遥领先，上海和深圳的差距进一步虽小。武汉想要超过前面的对手谈何容易，保持好队形不变已经证明发展速度没有掉队。&lt;/p&gt;

&lt;p&gt;&lt;img src="http://i1.piimg.com/567571/f78ea832105b82ee.png" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;当北上广深逐渐往外赶人，互联网人留也留不住的情况下，排在其后面的这几个城市是可以考虑的去处。&lt;/p&gt;

&lt;p&gt;除了互联网公司的数量，发展速度也很能说明问题。通过统计武汉互联网公司的成立时间发现，自 2011 年以来，武汉互联网发展十分迅速，尤其是在 2015 年和 2016 年实现了爆发式的增长。&lt;/p&gt;

&lt;p&gt;&lt;img src="https://l.ruby-china.com/photo/2017/76ce4233436e0e41505dc36c89f5022e.png!large" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;2015 年盛天网络上市，成为武汉第一家上市公司，斗鱼获得超一亿美金的投资；2016 年卷皮获得 6 亿美元 C 轮融资，航班管家获得 9.33 亿人民币 C 轮融资，极验验证获得 B 轮融资......&lt;/p&gt;

&lt;p&gt;这些经过 2011-2013 年孕育沉淀下来的公司在 15、16 年成熟，已经成为武汉互联网的中流砥柱。而其他初创型的公司也踏着前人的步伐爆发式的投入市场。&lt;/p&gt;

&lt;p&gt;&lt;img src="https://l.ruby-china.com/photo/2017/54dbb57573b56f78ba081218db0ae7be.png!large" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;武汉的创业氛围一直很浓厚，武汉高校培养了大量的人才，再加上政府政策的支持和低于一线城市的成本，吸引了很多创业企业。这一批创业企业也在不断成长，会使得武汉的互联网格局不断发生变化。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;二。武汉职位需求分析&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;武汉互联网行业的职位需求分析直接反应了该城市对人才的需求程度。&lt;/p&gt;

&lt;p&gt;通过对线上招聘平台发布的职位岗位需求进行统计，武汉对互联网人才的需求分布如下。&lt;/p&gt;

&lt;p&gt;&lt;img src="https://l.ruby-china.com/photo/2017/e88d8dd9f0ac5f5290185edbbd9acefd.png!large" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;2017 武汉互联网企业发布的职位需求排名中，产品、设计、数据、市场、SQL、运营、测试、销售、Java、JavaScript 分别排在前十名的位置。产品岗位和去年相比需求从第六上升到了第一，设计的职位需求仍然比较大，技术岗位的需求变动比较大。但是从整体来看，职位需求有增长的趋势。&lt;/p&gt;

&lt;p&gt;&lt;img src="https://l.ruby-china.com/photo/2017/61e905f417ef14ec647e1db1ecf46963.png!large" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;从技术职位的需求变动上看，小众技术岗位机器学习、Node.JS、Hadoop 需求都有所增加。数据、算法、测试的需求明显上升。算法和数据相关的技术岗位比较抢手，这和创业领域火热的大数据和人工智能趋势息息相关。&lt;/p&gt;

&lt;p&gt;&lt;img src="https://l.ruby-china.com/photo/2017/b60e7e2a2d7afd029c793eef443b6fb2.png!large" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;从相关职位需求企业数量来看，也印证了这一趋势。排名第一的数据和算法相关岗位有 451 家企业在招，基本上涵盖了绝大多数武汉互联网企业。
产品、设计、市场、销售这些互联网基本岗位也排在比较高的位置。细分到各技术岗位，有招聘需求的公司数量也不在少数，有将近一半的企业在招 Java，227 家企业在招 SQL。武汉 2B 企业多为技术驱动型，对技术人才的需求比较突出。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;三。武汉薪资水平报告&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;武汉的薪资水平很大程度上决定了回流人才回来生活的舒适程度。&lt;/p&gt;

&lt;p&gt;武汉的薪资和北上广相比肯定有所差距，但是考虑生活成本，尤其是房价的话，还是值得进行一番评估。&lt;/p&gt;

&lt;p&gt;&lt;img src="https://l.ruby-china.com/photo/2017/c9302c870cd24c215caad1a51f26bfac.png!large" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;从武汉互联网相关职位的薪资水平来看，技术人员的薪资水平最高，平均为 10782，排名依次是研发、产品、销售、市场、运营。&lt;/p&gt;

&lt;p&gt;&lt;img src="https://l.ruby-china.com/photo/2017/b2ed7523beabb174b83b2cbfd1315c4f.png!large" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;从技术人员的工资水平来看，架构师能够拿到 18000 左右的工资，排在第二第三的机器学习、Hadoop 能够拿到 15000 以上。平均月薪 8200 的网络相关岗位也高于运营、销售、市场的平均薪资，在武汉可以过的比较舒适了。&lt;/p&gt;

&lt;p&gt;&lt;img src="https://l.ruby-china.com/photo/2017/93b694437fd3f6cab7be8e73a47b335c.png!large" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;和 2016 年的薪资相比，2017 年的薪资水平都有所增长，.NET 和 C++ 增长比较明显，月薪增长 3000 左右，Java、Ruby、PHP、后端也有 2000 的增长。&lt;/p&gt;

&lt;p&gt;&lt;img src="https://l.ruby-china.com/photo/2017/8acb214a5fb078c94284c21648f323e1.png!large" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;北京和武汉的薪资平均水平能够相差 3000——10000 不等。差距较小的职位有算法、Ruby、C、.NET 前端、C#、市场、运营、销售。
一线城市工资高，生活成本也高。除去房租、交通费用和无处不在的日常开支，也很难说有很多盈余。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;四。武汉北京薪资与房价对比情况&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;武汉和北京的月资有几千块钱的差距，但租房的价格就差了不止三倍，房价每平米更是差出几万块钱，工资的差距远远赶不上租房和买房的价格。&lt;/p&gt;

&lt;p&gt;&lt;img src="https://l.ruby-china.com/photo/2017/a243183ff3b6d936bc5e170ed9cef74a.png!large" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;如上如所示，黄色柱状图和蓝色柱状图分别是北京和武汉房价由高到低的地区分布。&lt;/p&gt;

&lt;p&gt;图中画虚线的两条标注线是 Java 岗位在北京月薪 18k，以及在武汉月薪 10k。从图中可以很清楚的看出，北京的月薪远不够买一平米的房子，而武汉的月薪基本上可以买到最贵地段的一平米房子。&lt;/p&gt;

&lt;p&gt;和房价进行对比，在武汉的那批超过平均工资的互联网人还是很有希望买起房子的，而在北京，绝大多数人只能望尘莫及了。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;五。武汉互联网人才回流情况&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src="https://l.ruby-china.com/photo/2017/fdefe3fd79a3e1eed1dfbca378f40c77.png!large" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;通过抓取互联网人才在网络上的痕迹来分析北京、武汉人才的存量。&lt;/p&gt;

&lt;p&gt;将武汉人才存量设为 1，北京的产品经理、程序员、设计师、运营人才、存量分别是武汉的 17 倍、12 倍、9 倍和 16 倍。两地的人才储备仍然有所差距。&lt;/p&gt;

&lt;p&gt;人才储备差距是人才回流的基础，当北京不断向外赶人而武汉各方面吸引力提升的情况下，人才回流将会成为必然趋势。&lt;/p&gt;

&lt;p&gt;&lt;img src="https://l.ruby-china.com/photo/2017/6f7e5d66898f547466593ae253472f4f.png!large" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;而通过分析最近一个月武汉简历的流动情况，从北京回武汉发展的人才比例达到了 3.5%。
看起来数字比较小，但是如果把时间放长，再乘以武汉的人才基数，这将是个不小的数字。而且这些经过一线互联网培养的人才，很大一部分是被武汉的互联网公司挖回来的，能力和水平都不错。武汉的人才回流正逐渐呈现其发展态势。&lt;/p&gt;

&lt;p&gt;看了这份武汉互联网人才吸引力评估报告，那些流浪在外的互联网人，你们被武汉吸引了么？&lt;/p&gt;

&lt;p&gt;2017 年 4 月 8 日由简寻主办的武汉精英企业技术分享会，将会聚集武汉一线互联网企业集体到北京秀实力，展示武汉互联网发展水平。不仅可以和技术大咖进行技术交流，还可以获得武汉一线互联网企业优先提供的工作机会。&lt;/p&gt;

&lt;p&gt;点击链接即可报名  &lt;a href="http://jianxunio.mikecrm.com/zhkwpQD" rel="nofollow" target="_blank"&gt;http://jianxunio.mikecrm.com/zhkwpQD&lt;/a&gt;&lt;/p&gt;</description>
      <author>jialezhang</author>
      <pubDate>Thu, 06 Apr 2017 11:54:54 +0800</pubDate>
      <link>https://ruby-china.org/topics/32704</link>
      <guid>https://ruby-china.org/topics/32704</guid>
    </item>
    <item>
      <title>武汉互联网这 4、5年 发生了什么，能让他们集体去北京秀技术实力</title>
      <description>&lt;p&gt;前言：现在的武汉互联网行业情况，相比 4 年前有非常大的差别。这要感谢那些勇于在这片土地开垦的创业者。这些创业公司培养和留下的人，将会成为武汉互联网未来发展的基础。在一线城市往外赶人的现在，武汉也许是一个还能落脚的地方，是一个有奋斗希望的地方。&lt;/p&gt;

&lt;p&gt;13、14 年，我几乎看不到华科武大的同学毕业后留在武汉。现在，武汉的一大批本土创业公司和来武汉建立研发中心的公司，把大量工程师留在或者吸引回武汉。甚至，4 月 8 号，简寻联合武汉最 TOP 的一批互联网公司，去北京秀「技术肌肉」。&lt;/p&gt;

&lt;p&gt;作为一个在 2011 年来到武汉读大学的 IT 男，我很荣幸的看到了大量武汉本土互联网公司的成长，和中间大部分公司的创始人相识于「微时」，直到现在也能经常向他们请教。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;眼看着武汉在崛起&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;在 2012-2013 年，是很多互联网公司的孕育期，能够留下来的佼佼者也都成为了武汉互联网公司的中流砥柱。&lt;/p&gt;

&lt;p&gt;&lt;img src="http://i2.muimg.com/567571/a463443bbe365b83.jpg" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;12 年，还经常在武汉的 DemoCoffe 见到车来了的创始人，那时候他还是武大的一名老师，还在思考到底要做什么创业项目。经常到 Demo 和武汉很早的一批本土天使投资人--詹凯聊天。那时候的我还是一名大一的学生，非常好奇他们整天坐在角落里面「密谋」什么。&lt;/p&gt;

&lt;p&gt;还有一个印象非常深刻的事情，12 年暑假，我带着班里的同学在一个 1000 块钱/月租到的出租屋里，折腾一个看起来非常不靠谱的项目的时候。貌似当时听说一个学长在做「九块九包邮」的一个产品，当时还天真的思考这怎么赚钱。忘了是 13 年还是 14 年，有次还跟着夏里峰夏总去了卷皮，夏总让我帮忙给他推荐华科的研发同学去卷皮工作。后来，问了一圈，都想去高大上的 BAT，没人想留在武汉，不知道那些同学后悔了没有。&lt;/p&gt;

&lt;p&gt;12 年底，经过 Demo 的同学介绍，我认识了极验的吴渊和张振宇，并且跟着大家走过了一段非常艰辛的早期创业路程。我一直非常钦佩，他们两个之前完全没做过互联网的东西，一个从头开始学技术，一个主要做设计，竟然搭起了一个看起来很不错的架子。当时我就想，有这毅力和学习速度，真的没有什么事情做不成。&lt;/p&gt;

&lt;p&gt;直到去年这时候，见到微派（开发贪吃蛇大作战的那个公司）的合伙人方波，坐他车回家的路上还在一起讨论下一轮融资的事情，现在他们都已经用户规模和收入增长的吓死人，资本已经完全不是问题。刚刚见到悦然心动创始人颜庆华的时候，他们还被刘玉老师安排在华科启明学院的顶楼开始创业，因为他长的太年轻，我还误以为是我同届的同学。这两年武汉出了第一个独角兽企业斗鱼、出了第一个上市公司盛天。在我大学毕业后，15 年的时候，也留在武汉和这些学长、前辈们一起往前走。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;在武汉建研发中心的公司越来越多&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;从 11、12 年开始，一号店、找钢网、壹药网、腾讯、航班管家、腾讯、风行、宝宝树、360、跟谁学等公司分别来武汉建立研发中心。其中有一些公司的研发中心有数百人，总数也有一两千人。&lt;/p&gt;

&lt;p&gt;随着一线城市的运营成本的增加，武汉这个整体成本只有一线城市 60%-70% 的地方进入到各大公司的视野，政府的政策支持进一步降低了企业的成本。而且武汉也有大量的高校培养了大量的人才，只是暂时流出到北上广深，随着外部生活压力的增大，回到家乡或者回到曾经读书的地方都是不错的选择。大家都看准了，武汉在未来一定是互联网人才回流的重地。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;人才回流趋势越来越明显&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src="http://i2.muimg.com/567571/52907f929b50e3d7.jpg" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;3.5% 是近一个月，武汉市场里新增的回流人员的比例。这是统计了最近一个月的武汉简历的流动情况统计出来的数字。&lt;/p&gt;

&lt;p&gt;看起来也许比较少，但这只是一小段时间的数字，但如果把整体时间放长，平均每年武汉互联网从业者增加 4%，而且这 4% 都是经过一线互联网公司培养的人的话，长期来看也非常可观。&lt;/p&gt;

&lt;p&gt;而且，我身边也越来越多的看到武大、华科的同学，因为在湖北买了房子、或者厌倦了北京折腾的生活，又回到武汉的。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4.8 号第一次进京秀肌肉&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;很多人是想回来的，但是依然会担心回来是否有合适的职位、回来后武汉的公司是不是落后北上广深的公司一个时代。在我看来，互联网的技术，没什么太大的隔阂。而且很多武汉的优质创业公司的核心人员，本身就是被创始团队从外面挖回来的。&lt;/p&gt;

&lt;p&gt;但，口说无凭，我们准备带着武汉最 TOP 的公司，一起去北京秀秀技术肌肉，给大家提供一些技术的干货，也让大家看看武汉的公司是不是真的超出你的想象。&lt;/p&gt;

&lt;p&gt;&lt;img src="http://i2.muimg.com/567571/4ecb8341f582b652.jpg" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;填写表单即可报名 &lt;a href="http://jianxunio.mikecrm.com/zhkwpQD" rel="nofollow" target="_blank"&gt;http://jianxunio.mikecrm.com/zhkwpQD&lt;/a&gt;&lt;/p&gt;</description>
      <author>jialezhang</author>
      <pubDate>Wed, 05 Apr 2017 21:09:57 +0800</pubDate>
      <link>https://ruby-china.org/topics/32701</link>
      <guid>https://ruby-china.org/topics/32701</guid>
    </item>
    <item>
      <title>武汉精英互联网企业技术峰会，北京首次落地！</title>
      <description>&lt;p&gt;互联网时代的到来，让每个人的梦想都有实现的可能。北上广深以外，武汉正在成为中国互联网的下一个极点。&lt;/p&gt;

&lt;p&gt;武汉走出了雷军和周鸿祎这样的大佬，斗鱼、盛天网络、卷皮等武汉的企业产品正在霸占手机屏幕。&lt;/p&gt;

&lt;p&gt;武汉拥有全国最多的高校和数量最多的大学生，它本就是一座年轻的古城，它有足够的潜力让一切都变成可能。&lt;/p&gt;

&lt;p&gt;京广线从武汉穿过，长江从武汉流过，三个小时内的高铁路程，能够到达全国绝大多数地方，这当然包括回家。&lt;/p&gt;

&lt;p&gt;4 月 8 日，简寻携手武汉一些互联网企业，向分散在各大城市的互联网人才展示武汉互联网发展的强势劲头，助力志愿到武汉发展的高端互联网人才找到更好的机会。&lt;/p&gt;

&lt;p&gt;或点击这里直接报名：&lt;a href="http://jianxunio.mikecrm.com/zhkwpQD" rel="nofollow" target="_blank"&gt;http://jianxunio.mikecrm.com/zhkwpQD&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;活动时间&lt;/p&gt;

&lt;p&gt;2017 年 4 月 8 日 13:00～2017 年 4 月 8 日 18:00&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;活动流程&lt;/strong&gt;&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;13:30 - 13:45 签到进场
13:45 - 14:00 开场介绍 - 何斌
14:00 - 14:30 盛天网络 - 技术总监 - 王刚 - 《分布式任务调度系统实战》
14:35 - 15:05 极验- CTO -黄胜蓝 - 《极意是如何用人工智能保障互联网验证安全》
15:10 - 15:35 ThoughtWorks -中国区咨询负责人 - 肖然 - 《技术驱动创新》
15:40 - 16:10 航班管家 - VP - 史册伟 - 《出行服务中的大数据》
16:05 - 16: 40 简寻 - 首席科学家 - 周华《 AI 在行业的落地实践》
16:45 - 17:00 美玉秀秀 - CEO - 黄锦 -《二线城市的技术氛围和技术社群》
17:00 - 17:30 互动环节 
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;strong&gt;嘉宾介绍&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src="https://l.ruby-china.com/photo/2017/6f53e2b2fb30cff81376046885107b2a.jpg!large" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;盛天网络 高级总监 —— 王刚&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;本科毕业于华中科技大学，硕士毕业于同济大学，计算机科学与技术专业；&lt;/p&gt;

&lt;p&gt;先后就职于搜狐、完美世界、湖北盛天网络技术股份有限公司，现任盛天网络项目中心高级总监；&lt;/p&gt;

&lt;p&gt;擅长 B/S 结构软件架构，关注移动互联网、大数据等前沿技术，重视编码规范、框架设计、持续集成。&lt;/p&gt;

&lt;p&gt;&lt;img src="https://l.ruby-china.com/photo/2017/4de80c6dba32e829c704a523b3581e86.jpg!large" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;航班管家 副总裁—— 史册伟&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;负责航班管家、高铁管家技术平台支撑工作，航班管家产品负责人。&lt;/p&gt;

&lt;p&gt;从互联网早期产品、运营商支撑系统到移动互联网产品，经历了中国互联网、通信和移动互联网高速发展的阶段，关注后台技术框架、高负载系统、大数据等技术方向，并努力将技术经验应用于产品管理中。&lt;/p&gt;

&lt;p&gt;&lt;img src="https://l.ruby-china.com/photo/2017/d0fb7211e41f71f09e1b3e301a2867c3.jpg!large" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;极验科技 CTO ——黄胜蓝&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;2013 年加入武汉极意网络科技有限公司，带领团队实现“行为式验证”安全模型，同时构建了高效、稳定的服务架构承载每天数十亿请求。&lt;/p&gt;

&lt;p&gt;对于技术发展有深刻见解，善于将适合的新技术融入公司技术架构中。&lt;/p&gt;

&lt;p&gt;&lt;img src="https://l.ruby-china.com/photo/2017/a0dbbfe424983020021ee761f610a22b.jpg!large" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;ThoughtWorks 中国区咨询负责人 —— 肖然&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;肖然，ThoughtWorks 中国区咨询负责人，计算机算法及复杂度博士研究生，大型 IT 组织精益治理、敏捷开发专家。&lt;/p&gt;

&lt;p&gt;在过去 5 年时间里带领 ThoughtWorks 咨询团队在 Lean Enterprise、Agile Development、Continuous Delivery、DevOps 等方面为 20 多家大中型企业提供了从战略规划到实践落地的长期创新服务，目前也是两家万人 IT 组织的首席敏捷转型顾问&lt;/p&gt;

&lt;p&gt;时间：2017 年 4 月 8 日 13:00-18:00
地点：北京朝阳来广营桥万众金服创业场&lt;/p&gt;

&lt;p&gt;报名网址： &lt;a href="http://jianxunio.mikecrm.com/zhkwpQD" rel="nofollow" target="_blank"&gt;http://jianxunio.mikecrm.com/zhkwpQD&lt;/a&gt;&lt;/p&gt;</description>
      <author>jialezhang</author>
      <pubDate>Thu, 23 Mar 2017 12:39:38 +0800</pubDate>
      <link>https://ruby-china.org/topics/32617</link>
      <guid>https://ruby-china.org/topics/32617</guid>
    </item>
    <item>
      <title>mongo 的图片的储存</title>
      <description>&lt;p&gt;最近需要做一个图片分享的东西，之前折腾了下 mongo 和 mongoid，觉得还不错，于是乎就想用 mongo 做项目了，貌似 mongo 对于大文件 (以前是 4M 以上，现在是 16M 以上),要用到 GridFs，现在自己配环境的时候用的是 passenger+nginx，貌似用 GridFs 时候需要用其编译 nginx，不太懂这个地方，是不是说我用 GridFs 就不能用 passenger 部署 rails app 了，只能用 unicorn 了，求大神普及 mongoid+carrierwave+gridfs+nginx+ 部署方面的知识。&lt;/p&gt;</description>
      <author>jialezhang</author>
      <pubDate>Wed, 15 Aug 2012 20:01:27 +0800</pubDate>
      <link>https://ruby-china.org/topics/4967</link>
      <guid>https://ruby-china.org/topics/4967</guid>
    </item>
    <item>
      <title>好吧,实在搞不出来.devise (2.1.2)+omniauth (1.1.0)</title>
      <description>&lt;p&gt;首先，插入图片了，界面很点丑，请大家见谅&lt;/p&gt;

&lt;p&gt;本想利用 devise+omniauth 设置第三方的认证，但是看几个教程和视频之后，发现要么是单独的 ominuth，要么不是用 devise 内置支持 omniauth 的那种方法，终于在 devise 的 github/wiki 里面找到一个，但是还是没太懂。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;devise 是怎么去管理认证这个过程的&lt;/strong&gt;
在 user.rb 中添加 devise:omniauthable 之后新增两个路由
&lt;img src="//l.ruby-china.com/photo/e08ba8e93a152c8088e00b307747df75.png" title="" alt=""&gt;
,我在申请的时候之这样填的
&lt;img src="//l.ruby-china.com/photo/8b0a122385e5f636e7be0686cd20652c.png" title="" alt=""&gt;
,这个时候访问/users/auth/github 之后显示 github 询问的画面，然后就返回
&lt;code&gt;No route matches [GET] "/users/auth/callback"&lt;/code&gt;
,当然我自己也知道这样写肯定找不到，但是不知道 CallbackUrl 该怎么去写才能正确的将东西交由/users/omniauht_callback_controller.rb 去处理
PS:敢问流程是不是这样
链接到 user_omniauth_authorize(:provider),相当在地址栏输入/users/auth/github   &lt;strong&gt;=====&amp;gt;&lt;/strong&gt;      /users/omniauht_callback_controller.rb   &lt;strong&gt;====&amp;gt;&lt;/strong&gt;用户 allowed 之后 &lt;strong&gt;====&amp;gt;&lt;/strong&gt; 返到我在申请的时候 callback 的地址上面 (这个时候我出现了报错，应该就是 callback-url 填错了，日志写的是
&lt;code&gt;(github) Authentication failure! invalid_credentials:)&lt;/code&gt;.
大神们，伸出手帮帮忙吧！&lt;/p&gt;

&lt;p&gt;参考过&lt;a href="https://github.com/plataformatec/devise/wiki/OmniAuth%3A-Overview" rel="nofollow" target="_blank"&gt;https://github.com/plataformatec/devise/wiki/OmniAuth%3A-Overview&lt;/a&gt;
&lt;a href="https://gist.github.com/993566" rel="nofollow" target="_blank"&gt;https://gist.github.com/993566&lt;/a&gt;&lt;/p&gt;</description>
      <author>jialezhang</author>
      <pubDate>Tue, 14 Aug 2012 16:16:01 +0800</pubDate>
      <link>https://ruby-china.org/topics/4934</link>
      <guid>https://ruby-china.org/topics/4934</guid>
    </item>
    <item>
      <title>no such file to load --mongo (Loaderror)</title>
      <description>&lt;p&gt;&lt;strong&gt;目的&lt;/strong&gt;:移动设备向服务器发送请求，然后我进行识别后在数据据里面提取数据返回.
&lt;strong&gt;环境&lt;/strong&gt;:ubuntu12.04+vps+ 数据库 (mongodb)+脚本语言 (ruby1.9.3)
&lt;strong&gt;问题&lt;/strong&gt;:ruby 文件不能正常的 reuiqre 各种 gem，目前只能 require 'cgi',
            比如&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="c1"&gt;#!/usr/bin/ruby&lt;/span&gt;
&lt;span class="nb"&gt;puts&lt;/span&gt; &lt;span class="s2"&gt;"Content-type:html/text"&lt;/span&gt;
&lt;span class="nb"&gt;puts&lt;/span&gt; &lt;span class="s2"&gt;""&lt;/span&gt;

&lt;span class="nb"&gt;require&lt;/span&gt; &lt;span class="s2"&gt;"cgi"&lt;/span&gt;
&lt;span class="nb"&gt;require&lt;/span&gt; &lt;span class="s2"&gt;"mongo"&lt;/span&gt;

&lt;span class="n"&gt;conn&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="no"&gt;Mongo&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="no"&gt;Connection&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;new&lt;/span&gt;
&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;conn&lt;/span&gt; 
   &lt;span class="nb"&gt;puts&lt;/span&gt; &lt;span class="s2"&gt;"suceess"&lt;/span&gt;
&lt;span class="k"&gt;end&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;然后查看服务器的 error.log 发现是&lt;strong&gt;no such file to load --mongo (Loaderror)&lt;/strong&gt;
在本地&lt;strong&gt;非&lt;/strong&gt;/var/www下面执行没有问题,irb里面也没有问题
求解&lt;/p&gt;</description>
      <author>jialezhang</author>
      <pubDate>Mon, 06 Aug 2012 16:36:09 +0800</pubDate>
      <link>https://ruby-china.org/topics/4766</link>
      <guid>https://ruby-china.org/topics/4766</guid>
    </item>
    <item>
      <title>rails 中的 css&amp;&amp;js</title>
      <description>&lt;p&gt;以前是照着书上的代码来的，没出什么大的问题，现在自己写，就不是很懂了。自己查到的是，每个 controller 有对应的 css&amp;amp;&amp;amp;js，但是有的 views 里面存在，controller 里面没有我改怎么去定义样式呢？有没有哪位大神可以详细的讲讲 rails 里面 css 和 js 的使用？以及他们和 rails 之间的配合是怎么样&lt;/p&gt;</description>
      <author>jialezhang</author>
      <pubDate>Fri, 03 Aug 2012 12:53:24 +0800</pubDate>
      <link>https://ruby-china.org/topics/4716</link>
      <guid>https://ruby-china.org/topics/4716</guid>
    </item>
    <item>
      <title>carrierwave 使用求解</title>
      <description>&lt;p&gt;1.&lt;code&gt;rails new nana&lt;/code&gt;
2.&lt;code&gt;cd nana&lt;/code&gt;=&amp;gt;&lt;code&gt;rails g scaffold post name:string content:text&lt;/code&gt;
3.在 Gemfile 里面添加了
  &lt;code&gt;gem 'carrierwave'&lt;/code&gt;
  &lt;code&gt;gem 'rmagick'&lt;/code&gt;
  &lt;code&gt;gem 'mime-types'&lt;/code&gt;
====&amp;gt;&lt;code&gt;bundle install&lt;/code&gt;
4.&lt;code&gt;rails g uploader image&lt;/code&gt;
5.修改 image_uplodaer.rb
&lt;code&gt;class AttachmentUploader &amp;lt; CarrierWave::Uploader::Base&lt;/code&gt;
  &lt;code&gt;include CarrierWave::RMagick&lt;/code&gt;
 &lt;code&gt;include CarrierWave::MimeTypes&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;storage :file&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;def store_dir&lt;/code&gt;
    &lt;code&gt;"uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"&lt;/code&gt;
&lt;code&gt;end&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;process :set_content_type&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;version :thumb, :if =&amp;gt; :image? do&lt;/code&gt;
&lt;code&gt;process :resize_to_fit =&amp;gt; [50, 50]&lt;/code&gt;
 &lt;code&gt;end&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;.....................&lt;/p&gt;

&lt;p&gt;&lt;code&gt;protected&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;def image?(new_file)&lt;/code&gt;
&lt;code&gt;new_file.content_type.include? 'image'&lt;/code&gt;
&lt;code&gt;end&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;end&lt;/code&gt;==============&amp;gt;抱歉暂时不会用区块
6.&lt;code&gt;rails g model attach image:string content_type:string&lt;/code&gt;
7.attach.rb ==&amp;gt;
  &lt;code&gt;mount_uploader :image, ImageUploader&lt;/code&gt;
  &lt;code&gt;belongs_to :post&lt;/code&gt;
8.post.rb==&amp;gt;
 &lt;code&gt;has_many :attach&lt;/code&gt;
9.views/posts/_form.html.erb==&amp;gt;
&lt;code&gt;&amp;lt;%= f.file.field :attach%&amp;gt;&lt;/code&gt;
10.修改下其他的东西，去创建时，报错
&lt;code&gt;ActiveModel::MassAssignmentSecurity::Error in PostsController#create&lt;/code&gt;
&lt;code&gt;Can't mass-assign protected attributes: attach&lt;/code&gt;
不解，我都声明了 belongs_to&amp;amp;&amp;amp;has_many 怎么还是传不了啊&lt;/p&gt;</description>
      <author>jialezhang</author>
      <pubDate>Tue, 31 Jul 2012 00:48:31 +0800</pubDate>
      <link>https://ruby-china.org/topics/4647</link>
      <guid>https://ruby-china.org/topics/4647</guid>
    </item>
    <item>
      <title>网站的图片应该存在哪里?</title>
      <description>&lt;p&gt;如果说一个网站主要是展示图片，gif,jpg,png 等格式的，部署在 vps 上面，我该把图片放在哪里才能让 vps 的流量变得小些呢？求&lt;strong&gt;经济实用&lt;/strong&gt;的方法&lt;/p&gt;</description>
      <author>jialezhang</author>
      <pubDate>Sat, 28 Jul 2012 16:29:50 +0800</pubDate>
      <link>https://ruby-china.org/topics/4616</link>
      <guid>https://ruby-china.org/topics/4616</guid>
    </item>
    <item>
      <title>nginx+passenger 403 forbidden 解决</title>
      <description>&lt;p&gt;直接说吧，passenger 安装的 nginx.
1.&lt;strong&gt;Ques:&lt;/strong&gt;安装途中会出现无法写入某个文件的问题
  &lt;strong&gt;Method:&lt;/strong&gt;修改你要写入文件夹的权限，使其可写入&lt;code&gt;sudo chmod -R 777 /xxx...xxx/nginx&lt;/code&gt;
2.&lt;strong&gt;Ques:&lt;/strong&gt;当你改好 nginx 的配置文件后，就是加&lt;code&gt;root  /PATH/TO/YOURAPP/public&lt;/code&gt;&lt;strong&gt;不是 public 的话 passenger 压根就不知道哪里去找 config 文件&lt;/strong&gt;,&lt;a href="http://www.modrails.com/documentation/Users%20guide%20Nginx.html#application_detection" rel="nofollow" target="_blank" title=""&gt;官方解释&lt;/a&gt;,删除了/path/to/yourapp/public 下面 inde.html 后，重启 nginx 后出现 403 forbidden
  &lt;strong&gt;查看 nginx 的/logs/errors.log&lt;/strong&gt;
  &lt;strong&gt;Method1:&lt;/strong&gt;log 里面有 permission denied 的话，就是你 nginx 的权限问题，修改你项目的读写权限，使用&lt;code&gt;sudo chmod 777&lt;/code&gt;(ps:你项目的目录应该是 Username，不是的话就用&lt;code&gt;chown Username /path//to/yourapp/&lt;/code&gt;)
  &lt;strong&gt;Method2:&lt;/strong&gt;log 里面只有 forbidden 的话，那就是和我一样悲剧的人了，握爪。这个时候看看你的 nginx.conf 文件，&lt;strong&gt;passenger_enbaled on;&lt;/strong&gt;这一行要放在 local/{}里面，和 root 一起&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;server{
   listen     1000;
   servername  localhost;
    rails_env    development;&amp;lt;=这个不写默认是 production
     location /{
         root  /path/to/yourapp/public;
         index  index.html  index.htm;
         passenger_enbled on;&amp;lt;=&lt;strong&gt;一定是和 root 在一个区块里面&lt;/strong&gt;
                }
        ....
          }&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;好了，配 nginx 的问题解决了，我很开心啦，哈哈。本来准备配完 mongodb 之类的再写片博客的，但是我卡在这个 passenger 问题上面很久了，问了很多的人，在此一一感谢啦
&lt;a href="/Rei" class="user-mention" title="@Rei"&gt;&lt;i&gt;@&lt;/i&gt;Rei&lt;/a&gt; &lt;a href="/lgn21st" class="user-mention" title="@lgn21st"&gt;&lt;i&gt;@&lt;/i&gt;lgn21st&lt;/a&gt; &lt;a href="/bwlinux" class="user-mention" title="@bwlinux"&gt;&lt;i&gt;@&lt;/i&gt;bwlinux&lt;/a&gt; &lt;a href="/zw963" class="user-mention" title="@zw963"&gt;&lt;i&gt;@&lt;/i&gt;zw963&lt;/a&gt; &lt;a href="/leekelby" class="user-mention" title="@leekelby"&gt;&lt;i&gt;@&lt;/i&gt;leekelby&lt;/a&gt; &lt;a href="/huacnlee" class="user-mention" title="@huacnlee"&gt;&lt;i&gt;@&lt;/i&gt;huacnlee&lt;/a&gt;,尤其是&lt;a href="/Rei" class="user-mention" title="@Rei"&gt;&lt;i&gt;@&lt;/i&gt;Rei&lt;/a&gt;耐心的回复了我很多白痴的邮件，很感谢&lt;/p&gt;

&lt;p&gt;写次帖子纪念的我的几天难过时光，希望和我有同样问题的人不再因为这个问题头疼&lt;/p&gt;</description>
      <author>jialezhang</author>
      <pubDate>Tue, 24 Jul 2012 14:51:17 +0800</pubDate>
      <link>https://ruby-china.org/topics/4523</link>
      <guid>https://ruby-china.org/topics/4523</guid>
    </item>
    <item>
      <title>Ubuntu 12.04 + Nginx + Passenger + Mongodb + Rails 环境搭配</title>
      <description>&lt;p&gt;最近要写一个“小动物 gif 图片分享”的网站，想在&lt;strong&gt;nginx+mongodb&lt;/strong&gt;下面开发，于是昨天进行了长达一天的配置，但是自己这方面很弱，于是看了无数的教程还是没有配置好，nginx 也只是在 passeger 里面使用源代码安装了，但是'/etc/init.d/nginx stop'还是执行不成功，而且 nignx 今天又华丽丽关不了了，悲催啊（使用'kilall -9 nignx'和'kill pid'掉进程也不行）,希望社区的有经验的大神们指导一下。我上课期间学习了下 rails 的基本知识，ruby 的基本知识。&lt;/p&gt;</description>
      <author>jialezhang</author>
      <pubDate>Sun, 22 Jul 2012 13:30:48 +0800</pubDate>
      <link>https://ruby-china.org/topics/4484</link>
      <guid>https://ruby-china.org/topics/4484</guid>
    </item>
    <item>
      <title>File.open 等若干 File 的操作</title>
      <description>&lt;p&gt;最近学习 ruby 的基本语言，在使用 ruby 的 File.open 读取文件的时候突然出问题了
代码如下&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="n"&gt;filename&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="no"&gt;ARGV&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;first&lt;/span&gt;

&lt;span class="n"&gt;prompt&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;"&amp;gt; "&lt;/span&gt;
&lt;span class="n"&gt;txt&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="no"&gt;File&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;open&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;filename&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="nb"&gt;puts&lt;/span&gt; &lt;span class="s2"&gt;"Here's your file: &lt;/span&gt;&lt;span class="si"&gt;#{&lt;/span&gt;&lt;span class="n"&gt;filename&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;
&lt;span class="nb"&gt;puts&lt;/span&gt; &lt;span class="n"&gt;txt&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;read&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;

&lt;span class="nb"&gt;puts&lt;/span&gt; &lt;span class="s2"&gt;"Type the filename again:"&lt;/span&gt;
&lt;span class="nb"&gt;print&lt;/span&gt; &lt;span class="n"&gt;prompt&lt;/span&gt;
&lt;span class="n"&gt;file_again&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="no"&gt;STDIN&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;gets&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;chomp&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;

&lt;span class="n"&gt;txt_again&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="no"&gt;File&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;open&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;file_again&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="nb"&gt;puts&lt;/span&gt; &lt;span class="n"&gt;txt_again&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;read&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;然后终端执行的时候报错&lt;/p&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;
some.rb:4:in &lt;span class="sb"&gt;`&lt;/span&gt;initialize&lt;span class="s1"&gt;': can'&lt;/span&gt;t convert nil into String &lt;span class="o"&gt;(&lt;/span&gt;TypeError&lt;span class="o"&gt;)&lt;/span&gt;
    from some.rb:4:in &lt;span class="sb"&gt;`&lt;/span&gt;open&lt;span class="s1"&gt;'
    from some.rb:4:in `&amp;lt;main&amp;gt;'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;请问是我的 ruby 没有安装好还是什么，求指教  &lt;/p&gt;</description>
      <author>jialezhang</author>
      <pubDate>Fri, 15 Jun 2012 00:26:59 +0800</pubDate>
      <link>https://ruby-china.org/topics/3820</link>
      <guid>https://ruby-china.org/topics/3820</guid>
    </item>
    <item>
      <title>新手求建议</title>
      <description>&lt;p&gt;最近在学习 rails(之前看过一点点 ruby),准备写出注册登录还有上传图片等功能，但是尝试了很久也没真正意义上自己写出个什么东西，希望有高手指点一下。我该怎么去学习 rails，现在很没效率的在看文档，然后照着上面练习，不知道怎么把这些东西和自己想做的东西联系再一起.
PS:刚刚开始学，不太想直接套使用一些插件实现，不过自己也不知道这个想法对不对，求指导  &lt;/p&gt;</description>
      <author>jialezhang</author>
      <pubDate>Thu, 29 Mar 2012 16:29:43 +0800</pubDate>
      <link>https://ruby-china.org/topics/2241</link>
      <guid>https://ruby-china.org/topics/2241</guid>
    </item>
  </channel>
</rss>
