<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>seabornlee (李小波)</title>
    <link>https://ruby-china.org/seabornlee</link>
    <description>程序员/技术教练/敏捷教练</description>
    <language>en-us</language>
    <item>
      <title>镜像构建特别慢，慢到超时，如何解决？</title>
      <description>&lt;p&gt;&lt;img src="https://l.ruby-china.com/photo/2020/3b2d5ada-6517-4f7a-8056-a409b292da32.png!large" title="" alt=""&gt;&lt;/p&gt;</description>
      <author>seabornlee</author>
      <pubDate>Sun, 13 Dec 2020 15:27:54 +0800</pubDate>
      <link>https://ruby-china.org/topics/40694</link>
      <guid>https://ruby-china.org/topics/40694</guid>
    </item>
    <item>
      <title>旧版本 Ruby China 直接升级到最新的 Homeland on Docker，数据如何迁移？</title>
      <description>&lt;p&gt;codingstyle.cn 在 2015 年使用 Ruby China 开源程序搭建，一直没有更新过代码。
这期间 Ruby China 开源程序更新了很多，现在想要升级到最新版本，已经参考 Homeland 文档搭建好，接下来要如何把数据迁移过来呢？&lt;/p&gt;</description>
      <author>seabornlee</author>
      <pubDate>Sat, 16 Feb 2019 08:21:53 +0800</pubDate>
      <link>https://ruby-china.org/topics/38115</link>
      <guid>https://ruby-china.org/topics/38115</guid>
    </item>
    <item>
      <title>[成都] 3.23 - 融核π第 4 期：舒适区与心流</title>
      <description>&lt;p&gt;&lt;img src="https://l.ruby-china.com/photo/2018/6f264e0c-252b-4136-9cea-e50e7eb35dc5.jpg!large" title="" alt=""&gt;
&lt;img src="https://l.ruby-china.com/photo/2018/71910d4f-9d9b-4ea1-bf37-7d457e40dd65.jpg!large" title="" alt=""&gt;
&lt;img src="https://l.ruby-china.com/photo/2018/87b30b85-8859-4e44-99cf-1ec8f365f80e.jpg!large" title="" alt=""&gt;
&lt;img src="https://l.ruby-china.com/photo/2018/40bc9c9e-debe-430f-8156-c399a34ff30b.jpg!large" title="" alt=""&gt;
&lt;img src="https://l.ruby-china.com/photo/2018/7e7ffc04-89be-45ec-bb6a-acdfac082286.jpg!large" title="" alt=""&gt;
&lt;img src="https://l.ruby-china.com/photo/2018/80726fff-b2b8-488d-9a08-597c439bd6bf.jpg!large" title="" alt=""&gt;
&lt;img src="https://l.ruby-china.com/photo/2018/f91b03ad-e887-4a7c-b118-5899d132081d.jpg!large" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.huodongxing.com/event/8432241743500?utm_source=%E5%8F%91%E7%8E%B0%E6%B4%BB%E5%8A%A8%E9%A1%B5&amp;amp;utm_medium=&amp;amp;utm_campaign=eventspage" rel="nofollow" target="_blank" title=""&gt;报名链接&lt;/a&gt;&lt;/p&gt;</description>
      <author>seabornlee</author>
      <pubDate>Thu, 22 Mar 2018 17:19:04 +0800</pubDate>
      <link>https://ruby-china.org/topics/35294</link>
      <guid>https://ruby-china.org/topics/35294</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;ul&gt;
&lt;li&gt;&lt;p&gt;一类是「技术专家」，通过编写底层基础设施提升应用开发效率，攻克技术难题；&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;一类是「应用程序员」（Application Developer），主要工作是理解业务需求并实现出来；&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;第三类是「技术领导」，他们不仅是个人贡献者，更要通过领导和培养他人提升整个团队的效率。&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;对三类人来说，对沟通表达能力的要求依次递增。技术专家在业务与技术间更偏向技术，主要的沟通对象是其他开发人员，对沟通表达能力要求一般。应用程序员开发业务功能，主要沟通对象包括产品经理，业务分析师，QA，甚至用户，对沟通表达能力要求中等。技术领导要通过演讲、培训、教练等技术做技术布道，团队管理，推行新的流程和实践，提升团队成员的能力，沟通表达能力应达到专家级别。&lt;/p&gt;
&lt;h2 id="「影响力」是任何人价值倍增的基础"&gt;「影响力」是任何人价值倍增的基础&lt;/h2&gt;
&lt;p&gt;如果把一个人比作一家公司，把工作成果比作「产品」，那么如何能获得更大的利润呢？&lt;/p&gt;

&lt;p&gt;答案是：要么&lt;strong&gt;卖的更多&lt;/strong&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;/p&gt;

&lt;p&gt;写作、交谈、演讲都是有效提升影响力的手段，而它们的基础就是沟通表达能力。&lt;/p&gt;
&lt;h2 id="别被蒙蔽了双眼"&gt;别被蒙蔽了双眼&lt;/h2&gt;
&lt;p&gt;有的程序员会举出一些特例来说明「就算不会沟通表达，也能成为技术大牛」，比如 Linux 和 Git 的创始人 - Linus。&lt;/p&gt;

&lt;p&gt;&lt;img src="https://upload-images.jianshu.io/upload_images/279826-6a3613c83b2f4bc3.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240" title="" alt="Linus"&gt;&lt;/p&gt;

&lt;p&gt;这其实是一种偏见，能出现在公众视野里的技术牛人，他们的技术很牛毋庸置疑，但他们一定在其他方面也很牛，就拿 Linus 来说，能吸引如此多程序员为他的项目贡献代码，说明他在影响他人方面的能力也是很强的。能让 Linux 成为企业服务器的首选，说明他在产品设计和营销方面的能力也是不可忽视的。&lt;/p&gt;

&lt;p&gt;世界上可能真的存在一些「纯」技术牛人，可是这样的人压根儿就不会进入公众视野。我们耳熟能详的这些技术牛人，其实他们在产品设计、营销、管理方面的能力也很强。之所以没有被正确认识，有两方面的原因：一方面因为他们的技术太强，相对而言其他方面就显得弱了一点；另一方面是媒体报道时，放大一个人的特点，才更有吸引力。&lt;/p&gt;
&lt;h2 id="问题背后真正的问题"&gt;问题背后真正的问题&lt;/h2&gt;
&lt;p&gt;条条大路通罗马，不管是「技术专家」，是「应用程序员」，还是「技术领导」，都有人做的风生水起，有人做的很悲催。任何一条路都能通往成功的彼岸，也都需要穿过荆棘丛林。看看行业里，公司里，团队里需要什么人才，结合自己的优势，就能找到自己的方向。&lt;/p&gt;

&lt;p&gt;其实大部分程序员真正关心的是：&lt;strong&gt;我要不要「现在」花时间去提升沟通表达能力？&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;毕竟一个人的时间是有限的，在某个时间点，到底是专注技术还是提升其他方面的能力，&lt;strong&gt;取决于在你当前的工作角色中，你的「瓶颈」是什么&lt;/strong&gt;。&lt;/p&gt;

&lt;p&gt;以我个人的经历为例：&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;前三年做应用开发，主要就负责开发业务需求，什么技术栈都要用，掌握了基本的前后端开发技术，以及和产品经理沟通的技能。然后在「神州数码」开始带团队，不仅自己能完成开发，还要让团队在一起能高效地开发，于是学习了「敏捷开发方法」和「工程实践」方面的能力，当我给用户演示系统的时候，发现自己不会演讲，于是成立「4US 学习小组」开始练习演讲。加入「ThoughtWorks」成为咨询师后，在「如何让团队交付更好的软件」上深挖，成为了 Scrum，TDD，重构，持续集成，结对编程方面的「专家」。创业做互联网产品「ShenzhenWare.com」，学到了技术之外的市场、用户、设计、运营等知识。加入「思沃学院」后，继续发展演讲、写作、培训、教练等技能。&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;现在我在技术、产品、管理、发展他人方面都有了积累，&lt;strong&gt;我可以选择 60 岁的时候还写代码，但我不止这一个选择&lt;/strong&gt;，我还可以做技术管理，做技术咨询培训，培训技术管理者，管理产品团队等。&lt;/p&gt;

&lt;p&gt;最近几年看到一些中年程序员被奉献了青春热血的公司逐出门外，重新回到市场上面对激烈的竞争，有的人不堪重负选择结束自己的生命。我感到非常惋惜，更加坚定地鼓励身边的程序员朋友，要在技术之外发展更多的技能，这样才有更多的选择。&lt;/p&gt;</description>
      <author>seabornlee</author>
      <pubDate>Thu, 22 Mar 2018 14:35:38 +0800</pubDate>
      <link>https://ruby-china.org/topics/35289</link>
      <guid>https://ruby-china.org/topics/35289</guid>
    </item>
    <item>
      <title>如何成为快乐高产的程序员</title>
      <description>&lt;blockquote&gt;
&lt;p&gt;阅读提示：本文篇幅较长，接近 1 万字，且有大量的链接，为了保证思维的连贯性，建议先通读一遍，再读链接的文章。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="前言"&gt;前言&lt;/h2&gt;
&lt;p&gt;身为 IT 中人，我和我身边的朋友们有以下这些痛点：&lt;/p&gt;

&lt;ul&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;工作与生活失衡，公司的工作量是按 200%~300% 来规划的，每天 15 个小时在公司，更少时间在家，回到家已经累成狗了。&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;/ul&gt;

&lt;p&gt;如果你也存在这些痛点，期望本文对你有所启发。&lt;/p&gt;

&lt;hr&gt;
&lt;h2 id="我的经历"&gt;我的经历&lt;/h2&gt;
&lt;p&gt;大约从上大学时起，我开始关注时间管理，这些年读过许多时间管理类书籍比如《搞定》系列，《小强升职记》，《奇特的一生》，《晨间日记的奇迹》，《高效能人士的七个习惯》，《暗时间》等等；尝试过许多方法：重要紧急四象限法，GTD，ZTD，番茄工作法，连续分段时间管理法（莫法特休息法），个人看板等；用过许多的工具：比如 Doit.im，Any.do，Things，滴答清单，CLEAR，Wunderlist，Omni Focus 等。道理懂得很多，却还是过不好自己这一生。
在实践多年后，我才发现，时间管理不是一个独立的模块，它和目标管理，效率管理，能量管理，注意力管理，情绪管理等紧密关联，形成一套「个人管理」的完整体系。网络上也有很多时间管理的原则，方法和技巧。而这篇文章挂时间管理之名，行个人管理之实，如果能让您跳出传统时间管理的限制，对个人管理有一个宏观的认识，甚至，如果本文分享的一些实践，能在您实现丰盈人生的过程中起到一些作用，我将感到十分荣幸。&lt;/p&gt;
&lt;h3 id="我之前的状态"&gt;我之前的状态&lt;/h3&gt;
&lt;p&gt;2015 - 2016 年，我在创业公司做技术合伙人，刚开始充满新鲜刺激，后面更多的是压力和焦虑，不知不觉就掉入了时间管理的陷阱，最糟糕的时候的状态是：&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;早上 8 点起床，跑步，吃早餐，9:30 出门，10:30 到公司，午饭时间不固定，也不一定休息，下午什么时候困了就趴一会儿，晚上 18:00 - 19:00 在公司附近吃晚饭，由于白天有太多「杂」事，晚上团队都回去了，正好继续写代码或学习，到 22:00 左右离开公司，22:30 到家，老婆通常会买好周黑鸭等我，到家孩子已经睡了，和老婆分享一下工作的趣事和糟心事，老婆分享一下带孩子的趣事和糟心事，收拾好差不多凌晨 1 点多入睡。&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;现在回头看简直是瞎忙，用忙碌来逃避思考。那 9 个月，长了好多白头发，后来体检下来，阳性结果和异常情况多了 6 项。&lt;/p&gt;
&lt;h3 id="现在的状态"&gt;现在的状态&lt;/h3&gt;
&lt;p&gt;我现在理想的一天是这样的：&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;5 点起床，唤醒身体，写晨间日记，冥想，工作和学习到 8 点。和爱人一起准备早餐，和孩子们一起用餐，收拾洗漱，9 点出门。9 点半到公司，专注地工作到 12 点。午餐和午休，14:00 开始工作和学习，到 18:00 离开公司。18:30 到家，吃晚饭。19:00 带孩子去公园玩，顺便锻炼身体。21:00 点回家，跟孩子们一起洗澡，讲故事，22:00 上床睡觉。&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;现在几乎实现了，通常误差在半小时左右。&lt;/p&gt;
&lt;h3 id="我的改变之路"&gt;我的改变之路&lt;/h3&gt;
&lt;p&gt;回头来看，我的时间管理大概经历了几个阶段：
&lt;strong&gt;时间记录&lt;/strong&gt;
首先要知道我的时间都花到了哪里，记录时间一段时间后，我发现除了用于分析外，还提高了我对时间的感知能力。不看表都能把时间猜的八九不离十。我当时使用的是一个付费 APP「时间块」。&lt;/p&gt;

&lt;p&gt;&lt;img src="http://upload-images.jianshu.io/upload_images/279826-60d20ffffb3a245b.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;规划时间&lt;/strong&gt;
记录一个月之后，对自己的时间花费就有了基本的认知，我就开始主动规划时间，哪个时间段干什么事情。我用 Excel 画了一个时间规划。按最理想的状态去规划。然后每天早上起来念一遍，暗示自己。&lt;/p&gt;

&lt;p&gt;&lt;img src="http://upload-images.jianshu.io/upload_images/279826-16231133af2338bd.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;培养习惯&lt;/strong&gt;
如果您想更多地了解习惯培养，可以先读一下我之前写的文章：&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://mp.weixin.qq.com/s/7rdmXeaSsZbf6cmFoHG5vw" rel="nofollow" target="_blank" title=""&gt;你不是意志力差，只是不懂习惯的力量&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://mp.weixin.qq.com/s/DiYLv2ONOnO8eJ8dim2X-Q" rel="nofollow" target="_blank" title=""&gt;培养习惯，我有三条心得&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://mp.weixin.qq.com/s/1DWtxRwHF9pTIs9I7R-cQw" rel="nofollow" target="_blank" title=""&gt;如何改掉你的坏毛病&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;最近，又有一点新体会，要培养拥抱变化的习惯。过去的 30 年，我一直用错误的方式在拿筷子，就是那种会用食指指着对面的人的拿法，我的家人曾经提醒过我很多次，我都不以为然，因为我认为只有老家才会在意这个，而我又很少回老家。直到上一次，西安的一位同事给我提反馈说我吃饭的时候指着他，我才意识到这可能是一个全球性的用餐礼仪，估计只要用筷子的地方都会在意这个，于是我决定要改变 - 学会正确的用筷子的姿势。我买来花生，开始刻意练习，把筷子放桌上，拿起，夹一颗花生放嘴里，放下筷子。一直重复这个动作，超出我期望的是，大约 15 天以后，我就可以熟练地用正确的姿势使用筷子了。这让我感到十分惊讶，30 年的习惯居然可以半个月说改就改了。于是，我冒出了一个想法，改变的能力是不是也可以刻意练习呢？于是我开始尝试用左手拿筷子，没想到 3 天以后我就可以正常进食了，现在我又开始用左手写字了，这是培养拥抱变化的习惯呢。&lt;/p&gt;

&lt;p&gt;有人说 21 天养成一个习惯，有人说平均要 60 天。其实这里面存在两个误区，第一个是习惯是有几种分类的，它们养成的时间差别巨大，据统计「行为习惯」大约需要 30 天，「身体习惯」大约需要 60 天，「思维习惯」大约需要 180 天。行为习惯比如拿筷子的姿势，用左手写字等。身体习惯，比如早睡早起，健康饮食。思维习惯比如结构化思考，正向思考等。
在培养习惯的过程中，我发现 30 天挑战是一个很有效的方式，30 天专注于一个目标。
这一年来，我完成了如下的 30 天挑战：&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://mp.weixin.qq.com/s/wC2ze51CxF-Diq0GaDSc1g" rel="nofollow" target="_blank" title=""&gt;早睡早起&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;跑步 5 公里&lt;/li&gt;
&lt;li&gt;读书 2 小时&lt;/li&gt;
&lt;li&gt;记录时间&lt;/li&gt;
&lt;li&gt;晨间仪式（&lt;a href="http://mp.weixin.qq.com/s/1esgc6vbFF6m6c2dtDpmjA" rel="nofollow" target="_blank" title=""&gt;晨间日记&lt;/a&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;/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;Sharp Eyes（一种训练眼睛以提高阅读速度的方法）&lt;/li&gt;
&lt;li&gt;Photo Reading - 影像阅读&lt;/li&gt;
&lt;li&gt;零秒思考&lt;/li&gt;
&lt;li&gt;结构化思考&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;通过 30 天挑战，培养习惯变得容易了，小伙伴们互相激励，遇到困难一起解决。也让我更能体会到哪些东西对我更有用，更有价值，哪些对我无用，应该放弃而不觉得可惜。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;刻意练习&lt;/strong&gt;
养成了早睡早起的习惯后，时间就多了起来，如果不能有效利用，白白浪费多可惜了，所以我用这些时间来学一些实用的技能。比如，视觉引导，幽默，写作等。&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://mp.weixin.qq.com/s/KaoU81IWUJH_kMaIB2UVLw" rel="nofollow" target="_blank" title=""&gt;是时候停止找捷径了，开始练习吧&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://mp.weixin.qq.com/s/xi-SYWekIcrJ1VuYCGHwiA" rel="nofollow" target="_blank" title=""&gt;30 天绘画练习，我经历了这三个阶段&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;学以致用&lt;/strong&gt;
学了东西一定要尽快投入使用，一方面可以检验是否有实用价值，值不值得继续学习，另一方面也可以通过使用获得成就感，强化学习动机。我学的各种技能都会立马用起来，比如杂耍球，我应用到演讲开场讲需求变化的本质，在培训中用来讲刻意练习，在家里用来活跃气氛。还有幽默技能和视觉技能也在工作和生活中频繁使用。&lt;/p&gt;

&lt;p&gt;&lt;img src="http://upload-images.jianshu.io/upload_images/279826-bbed60b792236c18.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src="http://upload-images.jianshu.io/upload_images/279826-543c9b82e4e375d9.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240" title="" alt=""&gt;&lt;/p&gt;
&lt;h2 id="认知升级"&gt;认知升级&lt;/h2&gt;&lt;h3 id="从时间管理上升到个人管理"&gt;从时间管理上升到个人管理&lt;/h3&gt;
&lt;p&gt;重要紧急四象限的一个重要基础 - 有清晰的目标。没有目标，怎么判断哪个任务更重要？所以就无法尽早处理好重要的事情，直到所有事情都变成紧急的事情，陷入不停救火的境地。
你可能会早上起来了，时间多起来，但不知道干什么，又用无聊的事情来填充，或者被更多低价值的工作填满，虽然能做更多了，但并没有让你对生活更满意，慢慢便放弃了早起的习惯。如果没有对目标的一个全景图，很容易迷失在每天繁琐的事务上。&lt;/p&gt;

&lt;p&gt;个人管理和企业管理非常相似，也需要有自己的使命，愿景和价值观。&lt;/p&gt;
&lt;h4 id="使命"&gt;使命&lt;/h4&gt;
&lt;blockquote&gt;
&lt;p&gt;身体力行地影响他人做出积极性的改变。&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;我非常幸运，浑浑噩噩活了 30 年，在而立之年找到了我的使命。说说我是如何找到的，希望对您有所启发。
首先我用《优势识别器》识别出我的五大优势主题，然后从程序员转换跑道成了创业者；几个月后我又做了优势职业测试，结果是教师和激励师，于是又换道到培养者（培训师、教练）。在外界的反馈中，不断强化对我所做工作的认同。&lt;/p&gt;

&lt;p&gt;&lt;img src="http://upload-images.jianshu.io/upload_images/279826-71f29345e96bb814.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;后来去参加培训师培训，看到一句话：影响他人作出积极性的改变。我就把它修给了一下，加上「身体力行地」，把它当成我的使命，每天早上通过书写暗示潜意识，不断强化。现在，连我自己都信了~
如果你认为学了编程就要一辈子写代码，就大错特错了。编程只是一项技能，一项人人都可以学会的技能，我热爱编程，我想一辈子写代码，但我并不想一辈子只写代码。&lt;/p&gt;

&lt;p&gt;上海的耳东陈同学就是这样一个例子：&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;我在做完【优势利用度】的测评之后得知自己的优势是 creator &amp;amp; teacher ,于是开始思考如何发挥自己的优势，我开始尝试做公司新员工和实习生的培养工作，设计了一系列相关的分享，做了一个公司内部的有价值资料导航，在做这些事情的时候会发现自己很投入，很快乐，能够充分利用自己的优势，与别人建立连接，得到了大家的认可，很有成就感。&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;除了在公司做一名职业程序员，你有没有想过你还可以做咨询，培训，教练，售前，独立开发者，创业家等等...
在一个领域做到顶尖是极难的，但在两个领域做到不错就要有趣且容易的多。比如 GitChat 里有一位爱发红包的听众，曾经是一名程序员，现在是一名创业者，做电商工具，不仅给自己用，还做服务，据说自己的店铺月营业额两三百万。&lt;a href="https://laravel-china.org/topics/3748/hangzhou13k-25k-taobao-sellers-recruit-php-full-siege-lion-2-apprentice" rel="nofollow" target="_blank" title=""&gt;More...&lt;/a&gt;
还有程序员去做跨境电商，也是做得风生水起~&lt;/p&gt;
&lt;h4 id="价值观/原则"&gt;价值观/原则&lt;/h4&gt;
&lt;p&gt;我们每天都会面临大量的决策，原则可以帮助我们极大提高效率。我讲一个故事：&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;在一次公司的毕业生培训上，领导要做一个演讲，但时间快到了，领导堵车了还在路上，大约需要 10 几分钟，这时负责组织的两位小伙伴就在商量，是等呢还是等呢？两个人拿不定注意，征求我的意见是，我说做这个决策很简单，我有两个原则：一是不要惩罚守规则的人；二是培训应当以学员为中心。惩罚守规则的人？听起来很荒唐，但我保证你的公司里每天都在发生，比如开会，早到的要等着迟到的，人到齐了才开始，是不是？第二天原则是说以学员为重，将领导的的演讲和下一个演讲调换一下，哪怕领导来了得多等半小时。当然，如果你的原则是：领导高于一切，因为领导单位时间内创造的价值更大。那就让大家等者，牺牲学员的时间，节省领导的时间。&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;价值观本身就没有高低对错，但只有拥有价值观和原则，才能更好更快地做出决策。&lt;/p&gt;
&lt;h4 id="愿景"&gt;愿景&lt;/h4&gt;
&lt;blockquote&gt;
&lt;p&gt;我是一名专业的培养者，我灵活运用培训，教练，咨询，引导，辅导等技术，身体力行地影响他人做出积极的改变！
我生活高效，规律且健康！
我打通了输入输出，持续地成长和变现！&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;这个是我的愿景，同样每天早上通过书写暗示自己。用第一人称一般现在时，更加容易被潜意识接收到。还有一个技巧是：假装是，直到真的是。标签对人的行为有很大的影响，曾有个实验对比了两组人，一组直接让捐赠骨髓，大部分人不愿意，另一组先献血，再邀请捐赠骨髓，大部分人都同意了，解释是因为献血后就有了「捐赠者」这个标签，就应该做捐赠的事。我没有考证实验是否严谨，据我个人经验，当我假装自己是一个自律的人，表现得自律，身边的人都认为我是自律的人时，我确实更加自律了。&lt;/p&gt;
&lt;h4 id="目标"&gt;目标&lt;/h4&gt;
&lt;p&gt;对应愿景，我订立了三年目标：&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;成为专业的培养者，可以教授培训，教练，引导课程&lt;/li&gt;
&lt;li&gt;保持身体健康，体重 125 斤，体脂 10%，能做二级的街头健身动作&lt;/li&gt;
&lt;li&gt;年入百万，其中 50% 来自睡后收入&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;所以我现在学习和实践培训，教练，引导等技术，运动，写作都是为了这几个目标服务的。
我不要做燃烧自己点亮别人的蜡烛，我认为做一个文化商人并不可耻，我们作为知识工作者，值得拥有更好的生活，不是吗？
同时，作为一名培养者，「有钱」也能增加非职权影响力。想想同样一句话，从乞丐嘴里说出来，和从马云嘴里说出来，哪个更能让人信服？&lt;/p&gt;
&lt;h4 id="项目"&gt;项目&lt;/h4&gt;
&lt;p&gt;为了实现这些目标，我要在一段时间内专注在一件事情上，这就是项目。围绕这些目标，我建立了暑期特训营，公开课，企业内训，公众号，社区等项目。在建立项目时我会认真思考这个项目实现什么目标，以及项目之间的优先级关系。&lt;/p&gt;
&lt;h4 id="任务"&gt;任务&lt;/h4&gt;
&lt;p&gt;任务是我每天处理的具体的事务，有可能是领导安排的紧急的工作，可能是陌生人的请求，可能是老婆让我取快递。在建立任务时我会看它属于哪个项目，这样就能保证做是每一件事都是为目标服务的。&lt;/p&gt;

&lt;p&gt;###什么是成功？###
什么样的人生是成功的人生？我把这个问题转换为：什么样的一天是成功的一天？&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;怀着对新的一天的期待愉快地起床，怀着对一天工作满满的成就感心满意足地上床，就是成功的一天。&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;而我相信「你怎样过一天，就怎样过一生」，只要生命中大部分的每一天都是成功的，那我就认为这一生也是成功的了。&lt;/p&gt;
&lt;h3 id="工作是人生最幸福的事"&gt;工作是人生最幸福的事&lt;/h3&gt;
&lt;p&gt;稻盛和夫在《干法》里提到：「工作是人生最幸福的事」。当初我读到的时候，我心里是拒绝的，当时我心里想的是，万恶的资本家当然希望我们都心甘情愿地为他们工作。直到后来我意识到：&lt;strong&gt;工作不等于上班&lt;/strong&gt;。工作除了能带给我们稳定的收入，更重要的是给我们极大的成就感。我清晰地记得在休陪产假的那段时间多么的空虚无聊，多么想回到工作岗位上创造价值。而现在，我所有的工作都是围绕使命「影响他人做出积极性的改变」，这让我对每一天都充满期待。&lt;/p&gt;
&lt;h3 id="工作和生活的平衡"&gt;工作和生活的平衡&lt;/h3&gt;
&lt;p&gt;所谓工作和生活平衡，往往让人进入一个误区，就是在生活和工作中间找到一个平衡点，然后就可以万事大吉。其实在每一刻，确实存在这样一个点，但在生命长河中，这个点却是动态变化的，如果生活在左，工作在右，那中间不是一条直线，而是一条左右波动的曲线。家里刚有孩子的时候，当然将更多精力投入到家庭中；刚换了新的工作后，当然要把更多精力投入到工作中。如果一直在纠结要保持所谓的平衡，就会平添很多痛苦。&lt;/p&gt;
&lt;h2 id="原则"&gt;原则&lt;/h2&gt;
&lt;p&gt;我在这里想分享我认为最重要的三条个人管理原则，我在每日反思时，重新审视前一天所做的一切是不是符合这些原则。&lt;/p&gt;
&lt;h3 id="主动而不是响应"&gt;主动而不是响应&lt;/h3&gt;
&lt;p&gt;我们每天被很多事情打乱原本的计划，响应各种邮件和消息。
通过时间记录，很容易发现，我们一天可能会响应老板，同事，家人，网友，快递员等。原本计划的美好的一天，被各种事情切割成了碎片时间。
为什么要响应呢？
一是高估了自己的重要性，当我像孙连城一样认识到宇宙之浩大，自己之渺小，在人类数百万年的长河中，我这一生的短短几十年就像一粒沙子一样渺小时。我认识到自己并没有那么重要，于是我开始「懒政」，我在工作时不开即时消息，不开邮件通知，手机进入免打扰模式。事实证明，一年下来，并没有什么了不起的事情发生。当然，为了以防万一，我将老婆和老板的电话加入了手机通讯录的收藏夹，这样他们是可以直接打通我的电话的，其他人打的话会自动提示「通话中」，然后显示一个未接来电。
二是对产出不够自信，其实最难的是过自己这一关，所以才会想要更快地响应外界的请求。当我应用了一系列工作实践后（你将在后面看到它们），我才拥有了这样的信心。&lt;/p&gt;

&lt;p&gt;响应式工作的可怕之处在于，它会带来虚假的成就感，在「触发器 - 惯常行为 - 奖励」的习惯回路中，很快就会变成一个习惯。而且我们的这种习惯也会影响外界与我们的交互方式，因为在他们的习惯回路中：有一件事情要处理，联系你，你马上处理了，减少了他们的压力。这也会给他们养成有任何事情立即找你的习惯。从而老板、同事、家人、网友甚至快递员都会在每时每刻毫不内疚地打扰你。
当我采取了主动工作的原则后，我不再在第一时间回复邮件和消息，也不会在第一时间回复同事的请求，这些事情对他们来说优先级很高（然而并没有他们声称的那么高），在我这里的优先级却佷低，我会用自己固定的节奏去处理这些请求。久而久之，他们找我得不到立即处理，于是就换找别人了。
你可能会想，那这样的话，你的老板和同事甚至家人，会不会觉得你不可靠呢？确实，目标感强的人有时候会让身边的人不舒服，没关系，因为我的目标并不是让别人舒服。而且因为采取了一系列的实践（你将在后面看到它们），他们最终会认识到，这种交互模式实际上是双赢的。&lt;/p&gt;
&lt;h3 id="二八原则"&gt;二八原则&lt;/h3&gt;
&lt;p&gt;专注在 20% 能创造 80% 价值的工作，我会注意以下几点：&lt;/p&gt;

&lt;ul&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;/ul&gt;

&lt;p&gt;在家庭中，&lt;a href="http://mp.weixin.qq.com/s/gWaAP4UAGxJgA3EbcwCdxw" rel="nofollow" target="_blank" title=""&gt;爱的五种语言&lt;/a&gt;就是对二八原则的应用，用对方喜欢而不是自己喜欢的方式来爱对方，才能事半功倍。&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;网上有大量关于专注和多任务的讨论，这些讨论就像豆腐脑应该吃甜的还是咸的一样毫无意义 - 当然是吃咸的~ 开个玩笑。我认为，脱离具体情境谈方法都是不科学的，对于需要占用大量认知资源的工作，一次只做一件。比如阅读，听书（如果我一边走路一边听书，就跟没听过一样）。对于不需要占用大量认知资源的工作，可以并行处理，比如推着孩子在公园里散步，一边走一边和老婆聊天。&lt;/p&gt;
&lt;h3 id="拖延是朋友"&gt;拖延是朋友&lt;/h3&gt;
&lt;p&gt;很多人多年以来一直奋战在战拖一线。而我认为，存在即是合理。比如说懒惰，如果人不懒惰的话，就不会发明汽车和电梯，对吧？
那么，人为什么会拖延呢？我觉得拖延是一个信号，说明显性意识和潜意识的目标是不一致的，所以我通过冥想和书写暗示的方式去对齐目标。
我一直拖延的事，可能就是我不感兴趣的，不为我的目标服务的事。我大可放弃它不做，比如去年我一时冲动接了一个翻译的项目，后来实在痛苦，不断拖延，我干脆就坦诚地和编辑沟通，换了另一位译者。这起码为我节省了几百个小时的时间，难道不应该谢谢我的拖延这位朋友吗？&lt;/p&gt;
&lt;h2 id="实践"&gt;实践&lt;/h2&gt;
&lt;p&gt;有了以上原则，可以帮我快速做出决策，但真正要落地执行，还需要很多具体的实践。&lt;/p&gt;
&lt;h3 id="工作"&gt;工作&lt;/h3&gt;&lt;h4 id="可视化工作成果"&gt;可视化工作成果&lt;/h4&gt;
&lt;p&gt;将工作成果可视化出来，不仅可以给自己更大的成就感，也会给团队，给领导增加对你的信任。开发了多少故事点，有多少用户使用，客户的表扬信，培训的学员反馈，培训的现场报道等都可以可视化工作成果。注意要可视化的是成果，而不是有多么努力，加了多少班。&lt;/p&gt;
&lt;h4 id="专注"&gt;专注&lt;/h4&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;使用降噪耳机&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;冥想练习被证明是有效的提升专注度的方法，我的体会是，冥想并不是减少走神的次数，而是提升觉察力，让我更快地意识到自己走神了，从而迅速回到主题上。&lt;/p&gt;

&lt;p&gt;利用 Deadline 的压力，也是提高专注程度的方法。在临近截止日期的时候心无旁骛，进入心流状态，效率暴涨，成就感满满。相信你一定有过类似的体验，我现在就是用这种状态在写这篇文章~&lt;/p&gt;

&lt;p&gt;每天开始工作之前，我有一个仪式，通过完成这个仪式，消除潜在的干扰源，更快地进入专注状态：&lt;/p&gt;

&lt;p&gt;&lt;img src="http://upload-images.jianshu.io/upload_images/279826-eacd4d16b6c5f2c7.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;番茄工作法也是有效提升专注度的手段，我用了很长时间，现在没有用任何软件，凭身体的感觉，差不多 1 个小时一个休息一次。&lt;/p&gt;
&lt;h4 id="零秒思考"&gt;零秒思考&lt;/h4&gt;
&lt;p&gt;我们的大脑其实思考的速度非常快，很多时候我们说要思考一下，其实只是先放着不管，等快到了截止日期才真正去思考。零秒思考的方法是利用潜意识进行快速思考，做法很简单，就是写好一个问题，给自己倒计时一分钟来思考，列出关键点。第一次看到时我是抱着怀疑态度的，但试了几个问题我就发现答案很靠谱，因为最重要的东西都会在第一时间跳出来。我在工作和生活大量使用这个方法，比如做计划，准备演讲，列文章提纲等。&lt;/p&gt;

&lt;p&gt;&lt;img src="http://upload-images.jianshu.io/upload_images/279826-1bf4a6f86e5da9f4.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240" title="" alt=""&gt;&lt;/p&gt;
&lt;h4 id="莫法特休息法"&gt;莫法特休息法&lt;/h4&gt;
&lt;p&gt;同一项工作做的时间长了，效率就会降低，一两个小时之后，做另外一项工作，给大脑一些新鲜的刺激。据说莫法特的书房里有三张书桌，分别是三个不同的项目，在一张上工作累了，休息一下，就进入另一张开始工作。脑力工作者需要的休息并不是睡很多觉，而是换脑子，体力工作者每天消耗了大量体力，才需要用睡觉的方式来补充体力。
我会把写作，沟通，写代码，课程设计，填报销，处理邮件等工作穿插进行。&lt;/p&gt;
&lt;h3 id="健康"&gt;健康&lt;/h3&gt;
&lt;p&gt;&lt;img src="http://upload-images.jianshu.io/upload_images/279826-ad2bac89c846d0cd.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;一直以为从《21 天精通 C++》到《颈椎康复指南》是个玩笑，直到去年团队的一位同事因为颈椎问题严重到必须休假治疗，我也感觉到久坐后后背和脖子特别难受，一度影响到工作状态。于是我增加了跑步、瑜伽等运动的时间。几个月下来，基本不影响工作了。如何在繁忙的工作和生活中保持身体健康呢？我有如下实践：&lt;/p&gt;
&lt;h4 id="亲子即健身"&gt;亲子即健身&lt;/h4&gt;
&lt;p&gt;在去公园遛娃的时候，顺带做引体向上，俯卧撑，仰卧起坐等动作。在家里我会让儿子们坐到我的背上做负重平板撑。&lt;/p&gt;
&lt;h4 id="社交即健身"&gt;社交即健身&lt;/h4&gt;
&lt;p&gt;和朋友约跑是我的一大爱好，找到志同道合的小伙伴，一边跑步一边交流跑步经验，工作生活的近况。&lt;/p&gt;

&lt;p&gt;&lt;img src="http://upload-images.jianshu.io/upload_images/279826-318e2e4c7e2b40c9.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240" title="" alt=""&gt;&lt;/p&gt;
&lt;h4 id="工作即健身"&gt;工作即健身&lt;/h4&gt;
&lt;p&gt;大部分公司都有简易的健身器材，工作累了就去锻炼一下，既能醒脑有能强身。当然，因为做了前面提到的那些工作实践，所以不怕被人说不务正业，工作量不饱和等。&lt;/p&gt;

&lt;p&gt;&lt;img src="http://upload-images.jianshu.io/upload_images/279826-8b9e9fa40a7eb019.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240" title="" alt=""&gt;&lt;/p&gt;
&lt;h4 id="通勤即健身"&gt;通勤即健身&lt;/h4&gt;
&lt;p&gt;我家离公司步行在 30 分钟左右，我基本是用快走的方式健身，在路上不带耳机，减少输入，还经常会冒出很好的想法。
公司在 7 楼，我一般都是走楼梯上去，有时甚至跑上去，有一次七楼刚出来被同事叫住，说电梯关门的时候看到我，没想到一开门又看到我~&lt;/p&gt;
&lt;h3 id="饮食"&gt;饮食&lt;/h3&gt;
&lt;p&gt;如何保持高的睡眠质量，同时我对吃肉和蔬菜是毫不留情的。&lt;/p&gt;
&lt;h4 id="吃好早餐"&gt;吃好早餐&lt;/h4&gt;
&lt;p&gt;人在肚子饿的状态，身体会自动降低对热量的消耗。而相对于脂肪而言，肌肉消耗的热量更多，所以身体会优先分解肌肉，而这就进入了恶性循环，更加降低了基础代谢率。所以如果你想减脂增肌，一定不能饿肚子。丰富的早餐可以除了可以带来极大的幸福感，还能减少午餐的摄入量，让下午更清醒，更有效率。&lt;/p&gt;
&lt;h4 id="晚餐清淡，不吃夜宵"&gt;晚餐清淡，不吃夜宵&lt;/h4&gt;
&lt;p&gt;吃夜宵会增加肠胃蠕动，影响睡眠质量。&lt;/p&gt;
&lt;h4 id="不喝酒和饮料"&gt;不喝酒和饮料&lt;/h4&gt;
&lt;p&gt;酒精和刺激性饮料都会影响睡眠质量，我连普通饮料都不喝，因为不利于嗓子保护。虽然有时候在社交场合只吃肉不喝酒显得有点另类，但我相信人们是因为我的价值而欣赏我，而不是我的酒量。&lt;/p&gt;
&lt;h3 id="家庭"&gt;家庭&lt;/h3&gt;&lt;h4 id="融入彼此的圈子"&gt;融入彼此的圈子&lt;/h4&gt;
&lt;p&gt;和爱人培养更多的共同语言，让交流变得更有效，比如一起读一本书，交流心得。一起做手工皂，一起做早餐，一起买菜，甚至一起洗漱。两个人的共同经历越多，共同会议和共同语言也越多。我们一起约朋友吃饭，一起参加大会演讲，一起参加视觉引导，一起参加黑客马拉松，一起顶着寒风去静滩… 这样做，无形中就增加了很多彼此陪伴的时间，从而节省出需要单独陪伴做感情交流的时间？你 Get 到了吗？&lt;/p&gt;

&lt;p&gt;&lt;img src="http://upload-images.jianshu.io/upload_images/279826-716983d736251f24.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240" title="" alt=""&gt;&lt;/p&gt;
&lt;h4 id="事务即亲子"&gt;事务即亲子&lt;/h4&gt;
&lt;p&gt;除了爱人，还有对孩子的陪伴和教育。我将其融入到生活中的每一件事里，比如洗澡的时候，我会用两个手指模拟外星生物走独木桥，不小心掉水里，培养他们的想象力。让他们参与调奶，培养精心动作，带着他们去取快递，进门出门就培养了礼貌的习惯。&lt;/p&gt;
&lt;h3 id="学习"&gt;学习&lt;/h3&gt;&lt;h4 id="无动机不学习"&gt;无动机不学习&lt;/h4&gt;
&lt;p&gt;学习包含三个维度，动机、内容和交互。我认为最重要的是动机，信息时代海量信息可以即刻获取，各种先进的技术也增强了学习的体验和便利性。唯有动机是最难的，大部分人不是因为兴趣，而是因为焦虑而学习，为了学习而学习，学完记不住，记住了做不到，不能学以致用。我的方式是输出倒逼输入，先找个目标，比如承诺一个演讲，培训，文章等，再去学习，这样效率和效果都会好很多。那种走在路上有事没事就用「得到」听本书刷虚拟的成就感的方式并不适合我。&lt;/p&gt;

&lt;p&gt;更多的学习方法可以看这篇文章：&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://mp.weixin.qq.com/s/KBoi0O5gRoxeSSPL29_bcQ" rel="nofollow" target="_blank" title=""&gt;如何培养终身学习者&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://mp.weixin.qq.com/s/O9CcPOi1n9kCipT6bBj5sQ" rel="nofollow" target="_blank" title=""&gt;离开了老师，我是这样高效学习的&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://mp.weixin.qq.com/s/p0PqTUItqG5QeXYm8CfAEg" rel="nofollow" target="_blank" title=""&gt;如何不停向自己学习&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="走过的弯路"&gt;走过的弯路&lt;/h2&gt;
&lt;p&gt;现在回顾，在我实践时间管理的过程中，也走了很多的弯路，在此与您分享。&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;之前做时间记录，工作的内容只记了「工作」这个分类，没有具体到做的事情，大部分的精力放到了业余时间的优化上。直到最近我才开始用柳比歇夫的「时间记录法」，对工作花费的时间进行分析，让我看到了巨大的提升空间。
德鲁克在《二十一世纪的管理挑战》中提出知识工作者最难以管理，很多企业采用结果到导向的方式进行宏观管理，但作为知识工作者，我们自己应该对自己进行微观管理，才能提高生产力。&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;曾在去年 10 月尝试过了解到个人助理服务，当时觉得真人个人助理还挺新奇的，不过当时浅尝辄止。直到最近重读《每周工作 4 小时》，里边提到一个节省时间的技巧是外包。我才又开始尝试，昨天让助理帮我预订了出差的机票和酒店，还有想吃的水果，刚开始用需要输入一些信息，久了有了默契，就可以一键完成很多事情：比如「给家里买 50 元的时令水果」，给「我和老婆各充值 100 元话费」等。还有之前大量写文章的时候，一大痛点就是要发布到公众号，简书，知乎专栏，头条号等多个平台，这些事情都是重复且耗时的，我准备找解决方案，将其外包出去。最近在尝试的有 VAhut，助理来也。通过分析自己的时间使用情况，将最好的精力放在 20% 最有价值的工作上，另外的 80% 进行精简或外包。将会极大地提供价值创造的速度。&lt;/p&gt;
&lt;h2 id="推荐书籍"&gt;推荐书籍&lt;/h2&gt;
&lt;p&gt;这一年多在学习和实践个人管理的过程中，读了几十本相关的书籍，挑选我认为最有帮助的一部分分享给大家：
&lt;strong&gt;学习类&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;好好学习&lt;/li&gt;
&lt;li&gt;学习之道&lt;/li&gt;
&lt;li&gt;这样读书就够了&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;时间管理类&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;每周工作 4 小时&lt;/li&gt;
&lt;li&gt;每天最重要的两小时&lt;/li&gt;
&lt;li&gt;最重要的事情只有一件&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;习惯培养&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;习惯的力量&lt;/li&gt;
&lt;li&gt;刻意练习&lt;/li&gt;
&lt;li&gt;练习的心态&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;家庭&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;爱的五种语言&lt;/li&gt;
&lt;li&gt;斯托纳夫人的自然教育&lt;/li&gt;
&lt;li&gt;非暴力沟通&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;励志类&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;富兰克林自传&lt;/li&gt;
&lt;li&gt;奇特的一生&lt;/li&gt;
&lt;li&gt;书都不会读，你还想成功&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;
&lt;h2 id="后记"&gt;后记&lt;/h2&gt;
&lt;p&gt;本文较长，感谢您耐心读到最后。我先分享了我从糟糕的状态转变到良好状态的经历，然后是对时间管理的认识要上升到个人管理。之后是我认为很重要的一些原则，以及这些原则在工作，生活中应用的一些实践。最后是我走过的一些弯路以及推荐的基本书籍。
我没有直接回答文章开头的痛点该如何解决，因为每个人的具体情况不一样，我希望您看完本文，能够有所启发，找到自己的答案。如果还是很困惑，我感到非常抱歉，期望您能留言与我交流。&lt;/p&gt;</description>
      <author>seabornlee</author>
      <pubDate>Fri, 07 Jul 2017 12:01:38 +0800</pubDate>
      <link>https://ruby-china.org/topics/33419</link>
      <guid>https://ruby-china.org/topics/33419</guid>
    </item>
    <item>
      <title>[武汉] 2017.05.13 - Coding Dojo 代码道场</title>
      <description>&lt;h2 id="什么是 Coding Dojo？"&gt;什么是 Coding Dojo？&lt;/h2&gt;
&lt;p&gt;Coding Dojo 是一个集体学习活动。一些程序员（通常是 15-20 人）在一起编程解决一个程序问题。一边编程，一边互相学习。
每个人可以从 Coding Dojo 中学到：解决问题的思路、编程技巧、面向对象设计、演进式设计、结对编程、测试驱动开发、持续集成等等。
即使从别人犯的错误中，我们也能够学到很多。&lt;/p&gt;

&lt;p&gt;报名链接：&lt;a href="https://codingstyle.cn/topics/247" rel="nofollow" target="_blank"&gt;https://codingstyle.cn/topics/247&lt;/a&gt;&lt;/p&gt;</description>
      <author>seabornlee</author>
      <pubDate>Thu, 11 May 2017 11:16:29 +0800</pubDate>
      <link>https://ruby-china.org/topics/32972</link>
      <guid>https://ruby-china.org/topics/32972</guid>
    </item>
    <item>
      <title>如何组织程序员集体学习活动 Code Retreat (一)</title>
      <description>&lt;p&gt;&lt;img src="http://upload-images.jianshu.io/upload_images/279826-f8ce416562574a01.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240" title="" alt="Code Retreat"&gt;&lt;/p&gt;

&lt;p&gt;原文链接：&lt;a href="http://www.jianshu.com/p/d7f2d96eed82" rel="nofollow" target="_blank"&gt;http://www.jianshu.com/p/d7f2d96eed82&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;写到一半发现已经很长了，考虑到大家的阅读体验，我把文章拆成两篇。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="Code Retreat 是什么"&gt;Code Retreat 是什么&lt;/h2&gt;
&lt;p&gt;Code Retreat，又叫代码静修，代码精修。
对&lt;strong&gt;想要编写出更好的代码&lt;/strong&gt;，和&lt;strong&gt;更优雅地编写代码&lt;/strong&gt;的程序员来说，Code Retreat 是最棒的&lt;strong&gt;集体学习活动&lt;/strong&gt;。
它通过&lt;strong&gt;结对编程并频繁轮换搭档&lt;/strong&gt;的形式，极大地&lt;strong&gt;开阔程序员的眼界和思维&lt;/strong&gt;。
不同于 Hackthon（黑客马拉松），Code Retreat 通常&lt;strong&gt;为期一天&lt;/strong&gt;，不以完成题目为目标，每一个小时都会删除全部代码，找个新搭档，&lt;strong&gt;针对一个目标进行练习&lt;/strong&gt;。&lt;/p&gt;
&lt;h2 id="为什么我要写这个"&gt;为什么我要写这个&lt;/h2&gt;
&lt;p&gt;从 2012 年在北京第一次参加 Code Retreat 开始，这几年，我在深圳和成都组织了 5 次 Code Retreat 活动。每一次都让我非常震撼，并且参加的人也觉得很有收获，他们在结束后最常问的问题是：「下一次活动什么时候啊？」
第一次在深圳组织的时候，我像无头苍蝇一样，到处找场地，找赞助，查资料，宣传，手忙脚乱。
担心报名的人不多，担心活动当天下雨，担心大家没学到东西，担心控制不好现场...
到现在，我已经轻车熟路，可以在一周以内，不费力气地组织一场 Code Retreat。
我想把我的经验写出来，让更多的人可以开始，在自己公司内部、在社区，组织 Code Retreat 活动。&lt;/p&gt;
&lt;h2 id="如何组织"&gt;如何组织&lt;/h2&gt;
&lt;p&gt;最早，我们参加的是 Global Day of Code Retreat（全球代码静修日，简称 GDCR），在每年的 11 月，全球多个国家和城市同步举行，有数千名程序员参加。
2015 年，我们觉得一年一次不过瘾，于是在姚若舟的牵头下，中国区的组织者们一起准备搞一个 Chinese Day of Code Retreat，后来又有其他国家的组织者参与进来，于是变成了 APAC Day of Code Retreat，在 6 月举行，这样程序员们就可以每半年参加一次。
上周末，我在成都组织了一场 Code Retreat，既不是 GDCR，也不是 ADCR，就是一场普通的社区活动。
&lt;strong&gt;你可以随时随地组织一场 Code Retreat，没有人会阻拦你。&lt;/strong&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;接下来，我从活动的前中后三个阶段来描述，在这三个阶段分别需要做些什么。&lt;/p&gt;
&lt;h3 id="活动前"&gt;活动前&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;怎么挑个好日子&lt;/strong&gt;
首先需要确认活动的日期，你需要查看一下，当天是否是公共节假日，或者是否有其它社区活动。还有别忘了查看一下天气预报。
如果当天是公共假期，也有其它活动，并且当天天气并不怎么样，那么，这就是最适合举行 Code Retreat 的日子。
&lt;strong&gt;只有这样，你才能找到真正热爱编程，追求匠艺的程序员一起来玩。&lt;/strong&gt;
我在深圳组织的时候，就经常和深圳敏捷部落，珠三角技术沙龙，GDG 等社区活动同一天进行，就是要强迫兴趣广泛的程序员们，做出一个拷问内心的选择。我是不是太邪恶了？
当然，如果你是第一次组织，并且是以推广软件匠艺为目的，就最好选一个，普通的周末，没有其它社区活动，且阳光明媚的日子。
最好再查一下「程序员老黄历」：&lt;/p&gt;

&lt;p&gt;&lt;img src="http://upload-images.jianshu.io/upload_images/279826-1d25ddd8563145c3.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240" title="" alt="程序员老黄历"&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;怎么找场地&lt;/strong&gt;
Code Retreat 并不需要很大的场地，能容纳 10 几个人的会议室就可以。
这些年参与和主办过很多活动，提供过场地的公司有：腾讯、迅雷、锦会、中兴通讯、金斧子、ThoughtWorks 等。
为什么他们要提供场地呢？仅仅是出于支持公益活动吗？非也。我总结了如下几点：&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;大企业看重雇主品牌。比如，上周的活动在 ThoughtWorks 举行，回顾的时候有个参会者就感叹说：「有个好的工作环境非常重要」。（啊，看这软广打的，按惯例 ThoughtWorks 应该给我几万的广告费~）&lt;/li&gt;
&lt;li&gt;创业公司看重宣传和招聘。锦会是个联合办公空间，当时刚开业，需要更多曝光。金斧子是专注互联网理财的创业公司，正在飞速发展，对工程师的需求很大。&lt;/li&gt;
&lt;li&gt;传统公司看重氛围。中兴通讯更多的是看重，将对代码精益求精的态度和积极学习的氛围，带入到公司内部。&lt;/li&gt;
&lt;li&gt;企业大学看重形式。迅雷当时在搞迅雷学院，更多的是多了解一种培养人的方式。&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;再次感谢以上帮助过「软件匠艺社区」的企业，祝没上市的早日上市，已上市的基业长青！
也感谢这些企业里给我提供帮助的朋友们：军少，贺鹏飞，范堃，黄泽武、张晔，王拓，海侠。希望以后还有更多的合作~&lt;/p&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;投影（VGA，HDMI）&lt;/li&gt;
&lt;li&gt;白板&lt;/li&gt;
&lt;li&gt;空调&lt;/li&gt;
&lt;li&gt;空气净化器（深圳除外。妈蛋，好怀念深圳~）&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;宣传报名&lt;/strong&gt;
确认了时间地点，接下来做什么？
首先要做一个报名表单，推荐用金数据：&lt;/p&gt;

&lt;p&gt;&lt;img src="http://upload-images.jianshu.io/upload_images/279826-4192901456d71cec.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240" title="" alt="报名表单"&gt;&lt;/p&gt;

&lt;p&gt;有了报名表单，接下来就该去宣传了，你也不想一个人独守空房是吧~
2013 年第一次在深圳组织的时候，不到一周的时间，我加了各种 QQ 群，对，那时候流行 QQ，Java，C#，Ruby，Python，JavaScript 等。当时最有意思的是，QQ 群里一个人说：「周末还 TM 写代码，屌丝注定孤独一生。」
除了 QQ 群，还可以到开源中国、V2EX、RubyChina 等社区去宣传。
当然，也可以把活动发布到「MeetUp.com」，「活动行」等自带流量的活动平台，虽然我没试过。&lt;/p&gt;

&lt;p&gt;做了几年社区，现在也有一点影响力了（臭表脸的说），宣传报名也简单多了。这次活动，我在 CodingStyle.cn 上发了个帖，在朋友圈转了一下，就有 1000 多阅读，20 多人报名。不信自己去看&lt;a href="https://codingstyle.cn/topics/230" rel="nofollow" target="_blank" title=""&gt;#活动报名 #成都 2 月 18 日，Code Retreat Day - 代码静修日&lt;/a&gt;
这次我也忘记了一点，&lt;strong&gt;报名后最好加个微信群&lt;/strong&gt;，方便后续沟通。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;题目选择&lt;/strong&gt;
GDCR 的题目是 Game of Life，一直没换过，官方的解释是：&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Code Retreat 的题目既不能太难也不能太简单，太难的话大家就会一心专注解题，忽略了练习目标，太容易的话大家会觉得无趣。一直没找到可以替换的题目，所以就一直用这个。&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;我也尝试过用 Tennis Kata，确实不如 Game of Life 好。&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;写到这里，奋笔疾书了 90 分钟了，已经快两千字了。
关于活动当天如何组织，明天再跟大家分享，喜欢请点赞，没人点赞就不写了~
如果等不及，可以先看看&lt;a href="https://codingstyle.cn/topics/node7" rel="nofollow" target="_blank" title=""&gt;以往的活动回顾&lt;/a&gt;。&lt;/p&gt;</description>
      <author>seabornlee</author>
      <pubDate>Thu, 23 Feb 2017 21:47:05 +0800</pubDate>
      <link>https://ruby-china.org/topics/32370</link>
      <guid>https://ruby-china.org/topics/32370</guid>
    </item>
    <item>
      <title>[上海] 编程基本功之「任务分解」</title>
      <description>&lt;h2 id="主题：任务分解"&gt;主题：任务分解&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;合理的任务分解是程序正确性的保障，也是提高效率的有效途径。
本主题将分享一种独特的程序表示方法，用于提高设计效率，沟通效率，减少代码返工。
合理的任务分解配合 TDD，将极大提高开发效率。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="时间："&gt;时间：&lt;/h2&gt;
&lt;p&gt;2016-10-24（周一）20:00 - 21:30&lt;/p&gt;
&lt;h2 id="费用："&gt;费用：&lt;/h2&gt;
&lt;p&gt;0&lt;/p&gt;
&lt;h2 id="受众："&gt;受众：&lt;/h2&gt;
&lt;p&gt;中高级程序员&lt;/p&gt;
&lt;h2 id="方式："&gt;方式：&lt;/h2&gt;
&lt;p&gt;讲授与练习结合&lt;/p&gt;
&lt;h2 id="地址："&gt;地址：&lt;/h2&gt;
&lt;p&gt;浦东新区银宵路 39 弄 1 号楼 2601 室 ODD-E 办公室&lt;/p&gt;
&lt;h2 id="讲师介绍："&gt;讲师介绍：&lt;/h2&gt;&lt;h3 id="李小波（Seaborn Lee）"&gt;李小波（Seaborn Lee）&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;ThoughtWorks 培训师，全栈工程师，敏捷教练&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;他擅长使用 Java，JavaScript，Android，Ruby on Rails 开发产品，熟悉产品开发方法，Growth Hacking 技术。&lt;/p&gt;

&lt;p&gt;他在 ThoughtWorks 思沃学院团队担任培训师，负责公司社招新员工培训和「暑期特训营」等工作。
他曾在 ThoughtWorks 担任咨询师，帮助「顺丰、华为、我来贷」等企业导入敏捷框架，提升工程实践水平。
他曾在 &lt;a href="http://shenzhenware.com" rel="nofollow" target="_blank" title=""&gt;「深圳湾创客创业社区」&lt;/a&gt; 担任 CTO，带领团队开发社区产品，负责敏捷流程、工程实践和组织文化的建立。
他曾在「神州数码」担任团队 Leader，带领团队摸索和实践敏捷方法。&lt;/p&gt;

&lt;p&gt;2012 年起，他以组织者和讲师身份参与过北京，深圳，广州，珠海「敏捷之旅」活动，是中国敏捷社区活跃推动者。
曾参与组织 2013/2014 Scrum Gathering 北京、上海大会。曾组织 2014 精创周末深圳站活动。
他于 2013 起在深圳组织多场 Code Retreat，Coding Dojo 等活动。
他成立了「深圳软件匠艺小组」并组织了多场技术分享活动，于 2015 年成立了&lt;a href="https://codingstyle.cn" rel="nofollow" target="_blank" title=""&gt;「中国软件匠艺社区」&lt;/a&gt;，极力在全国范围内传播匠艺精神。&lt;/p&gt;

&lt;p&gt;个人博客：&lt;a href="http://www.seabornlee.cn" rel="nofollow" target="_blank"&gt;http://www.seabornlee.cn&lt;/a&gt;
LinkedIn：&lt;a href="https://www.linkedin.com/in/seaborn-lee-99238938" rel="nofollow" target="_blank"&gt;https://www.linkedin.com/in/seaborn-lee-99238938&lt;/a&gt;
Github：&lt;a href="https://github.com/hkliya" rel="nofollow" target="_blank"&gt;https://github.com/hkliya&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="报名方式："&gt;报名方式：&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://jinshuju.net/f/4CaNYp" rel="nofollow" target="_blank" title=""&gt;填写报名表&lt;/a&gt;&lt;/p&gt;</description>
      <author>seabornlee</author>
      <pubDate>Mon, 24 Oct 2016 10:12:08 +0800</pubDate>
      <link>https://ruby-china.org/topics/31416</link>
      <guid>https://ruby-china.org/topics/31416</guid>
    </item>
    <item>
      <title>程序员如何写简历和面试</title>
      <description>&lt;p&gt;我求职面试的经验不多，在创业期间，倒是积累了一些招聘面试的经验。&lt;/p&gt;

&lt;p&gt;面试，相亲，销售的过程都很类似，抽象一下，它们的本质是什么？
我认为是：&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;展示自我和挖掘对方需求的过程。&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;
&lt;h2 id="简历"&gt;简历&lt;/h2&gt;&lt;h3 id="为什么要写简历？"&gt;为什么要写简历？&lt;/h3&gt;
&lt;p&gt;如果有人要给你介绍对象，你是直接约见面呢还是先看一下 Ta 的简介？
你当然也不希望刚一见面就发现对方不是你的菜，既浪费时间，又很尴尬。
所以简历呢，它&lt;strong&gt;除了吸引适合你的公司，也能过滤掉不适合你的公司&lt;/strong&gt;。
尤其是当你的职业竞争力上来之后，你会不堪其扰。
我认为简历的第一原则就是&lt;strong&gt;表现真实的自己&lt;/strong&gt;。&lt;/p&gt;
&lt;h3 id="照片"&gt;照片&lt;/h3&gt;&lt;h4 id="要不要放照片？"&gt;要不要放照片？&lt;/h4&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;你的照片能否给你加分？&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;反正我是还蛮关心未来同事长什么样子的。&lt;/p&gt;
&lt;h4 id="放证件照还是生活照？"&gt;放证件照还是生活照？&lt;/h4&gt;
&lt;p&gt;程序员不同于「保险顾问」，「投资顾问」之类的专业人士，我认为放生活照更有亲和力，但不要太夸张的那种。
比如这损 sai：&lt;/p&gt;

&lt;p&gt;￼￼&lt;img src="https://l.ruby-china.com/photo/2016/0837c59d96052b01a7e5876183052203.png!large" title="" alt=""&gt;&lt;/p&gt;
&lt;h3 id="博客，GitHub 地址能加分？"&gt;博客，GitHub 地址能加分？&lt;/h3&gt;
&lt;p&gt;如果你博客上都是一些生活吐槽，流水账似的日记...
如果你的 GitHub 上是自己都不忍直视的代码...&lt;/p&gt;

&lt;p&gt;我见过很多这样的简历，嗯，节省了双方的时间。&lt;/p&gt;
&lt;h3 id="技能"&gt;技能&lt;/h3&gt;
&lt;p&gt;想想你应聘的职位一天是怎么工作的，需要用到哪些工具，技术，思想。如果想不到的话，去看看 JD（Job Description）吧。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;精通，掌握，熟练，了解 到底怎么写？&lt;/strong&gt;
我建议不要写精通，因为精通通常意味着「无知者无畏」。
「掌握」和「熟练」之间的区别是什么？我们都区分不清楚，面试官可能也是晕的，不如就只写其中一种。
所以，总结一下：&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;从上到下掌握程度递减&lt;/li&gt;
&lt;li&gt;包含：思想（OO、TDD），语言（JS、Java），框架（Express、React），工具（Git、Linux），不同类的不要放到一行&lt;/li&gt;
&lt;li&gt;只分「掌握 | 熟练」和「了解」两级&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="项目经验"&gt;项目经验&lt;/h3&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;你干了什么？&lt;/li&gt;
&lt;li&gt;你收获了什么？&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="自我评价"&gt;自我评价&lt;/h3&gt;
&lt;p&gt;￼&lt;img src="https://l.ruby-china.com/photo/2016/924b86e204dc06a8edf41c6a9c5a5b4d.png!large" title="" alt=""&gt;&lt;/p&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;九型人格&lt;/li&gt;
&lt;li&gt;&lt;a href="http://baike.baidu.com/link?url=WoefFPtwRyMJQU6fO3E4UVjXgPXh-1nub0oJkphYc0XxlcnKaoSYkuHILpLZIz3jhT3XQ_fiWrUwzqAnnmRoZK" rel="nofollow" target="_blank" title=""&gt;DISC&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;《优势识别器》&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;所以在写自我评价时，&lt;strong&gt;要扬长避短，突出适合目标职位的特质，也要丑话说在前头，避免浪费双方时间&lt;/strong&gt;。&lt;/p&gt;
&lt;h3 id="细节"&gt;细节&lt;/h3&gt;
&lt;p&gt;自从追求 Clean Code 之后，我对文字也有了比较高的追求，我认为细节可以暴露性格和习惯。
有一些是个人偏好，仅供参考：&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;注意大小写：App，HTML，JavaScript&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;/ul&gt;
&lt;h2 id="面试"&gt;面试&lt;/h2&gt;&lt;h3 id="自我介绍"&gt;自我介绍&lt;/h3&gt;
&lt;p&gt;为什么要做自我介绍？不都写着呢吗（面试官你瞎啊）？
￼&lt;img src="https://l.ruby-china.com/photo/2016/9a78f6203e10afbf40498ea1d44de4bd.png!large" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;想象一下，面试官拿着你的简历说：你稍等，我先看一下你的简历。
喂，作为面试官，这样不是显得我很没有准备吗？一边看还得一边想提什么问题，好累啊！
两个人坐在那里不说话，一个还呆若木鸡，很尴尬的好吗？
￼&lt;img src="https://l.ruby-china.com/photo/2016/8c498136a54dcb049949b887672d3d36.png!large" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;面试官心理压力也很大啊，也害怕冷场，所以必须要有人先说话，对不对？
所以，你不做自我介绍，难道要我做吗？&lt;/p&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;设计声音&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;参考文章：&lt;a href="http://mp.weixin.qq.com/s?__biz=MzA4MDU0MTE5MQ==&amp;amp;mid=401785720&amp;amp;idx=2&amp;amp;sn=355c48e648ed1dcc9c4247b8b8979159&amp;amp;scene=19#wechat_redirect" rel="nofollow" target="_blank" title=""&gt;个人介绍 写法&lt;/a&gt;&lt;/p&gt;
&lt;h3 id="如何应对提问"&gt;如何应对提问&lt;/h3&gt;
&lt;p&gt;首先你要知道，对方提问的目的不是难倒你，然后暗暗鄙视你，从而获得成就感。当然我是说大多数心理正常的面试官。
&lt;strong&gt;面试官问问题是为了挖掘信息，以便于确认是否和岗位需求匹配。&lt;/strong&gt;
所以千万不要&lt;strong&gt;不懂装懂&lt;/strong&gt;，要实话实说，不会就告诉他你为什么不会，哪块比较会。面试官是很愿意跟你聊你会的东西的，一方面是三人行必有我师，另一方面是你能会一样，再学会另一样只是时间问题。
现在技术日新月异，很多企业招聘时都&lt;strong&gt;看重学习能力高于现有水平&lt;/strong&gt;。&lt;/p&gt;
&lt;h4 id="他问我对 XXX 了解多少，好像对我的回答不太满意，我不太清楚他什么意图，你知道吗？"&gt;他问我对 XXX 了解多少，好像对我的回答不太满意，我不太清楚他什么意图，你知道吗？&lt;/h4&gt;
&lt;p&gt;他问的是你哎，我啷个知道？我又不是女巫...&lt;/p&gt;

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

&lt;p&gt;不清楚对方意图怎么办，问他？真的好吗？他会不会不喜欢？
悄悄告诉你，我做面试官就喜欢故意挖坑不说清楚，看对方会不会主动沟通确认。
你想想，领导给你布置个活儿，你不明白也不问，做出来的结果相差十万八千里。你要是做领导，你喜欢这种员工吗？&lt;/p&gt;
&lt;h4 id="你认为自己最大的缺点是什么？"&gt;你认为自己最大的缺点是什么？&lt;/h4&gt;
&lt;p&gt;我缺点就是「懒」，难道真的要告诉他吗？
谁说「懒」一定是缺点啊：&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;我懒，懒得跳槽（我忠诚度很高啊）...&lt;/li&gt;
&lt;li&gt;我懒，不喜欢重复枯燥的事情（我写了 101 个自动化脚本）...&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;如果你真这样说，我只能说：&lt;/p&gt;

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

&lt;p&gt;你要深刻剖析自己，说一些真正的缺点，不过不要说对这个岗位至关重要的。
然后再补充你的改进计划，表明你已经在行动了。
当然，前提是：
￼&lt;img src="https://l.ruby-china.com/photo/2016/eb2971ccdbece484b17956b953681af5.png!large" title="" alt=""&gt;&lt;/p&gt;
&lt;h3 id="如何提问"&gt;如何提问&lt;/h3&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;有可能他很关心朋友圈刚发的照片是不是有人点赞了...&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;总之，他想结束谈话了。那是问还是不问呢？
你要&lt;strong&gt;看他是不是很着急&lt;/strong&gt;，如果不是急到马上就要尿出来的话，还是问一下吧，我建议你的问题要体现以下其中一样：&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;对公司的兴趣&lt;/li&gt;
&lt;li&gt;对面试官的兴趣&lt;/li&gt;
&lt;li&gt;你思考的深度&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;记住，&lt;strong&gt;这个时候面试官的脑子也不怎么转了，不要问太难回答的问题。&lt;/strong&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;以上，就是我的些许经验，希望对你有用。
期待看到你的想法！&lt;/p&gt;</description>
      <author>seabornlee</author>
      <pubDate>Mon, 12 Sep 2016 12:03:14 +0800</pubDate>
      <link>https://ruby-china.org/topics/31041</link>
      <guid>https://ruby-china.org/topics/31041</guid>
    </item>
    <item>
      <title>闯过这 54 关，点亮你的 Git 技能树 (四)</title>
      <description>&lt;p&gt;这是一个系列文章，介绍学习 Git 的一个小游戏 - githug，如果你是第一次看到，请先阅读：
&lt;a href="https://www.codingstyle.cn/topics/51" rel="nofollow" target="_blank" title=""&gt;闯过这 54 关，点亮你的 Git 技能树&lt;/a&gt;
&lt;a href="https://codingstyle.cn/topics/57" rel="nofollow" target="_blank" title=""&gt;闯过这 54 关，点亮你的 Git 技能树（一）&lt;/a&gt;
&lt;a href="https://codingstyle.cn/topics/67" rel="nofollow" target="_blank" title=""&gt;闯过这 54 关，点亮你的 Git 技能树（二）&lt;/a&gt;
&lt;a href="https://codingstyle.cn/topics/73" rel="nofollow" target="_blank" title=""&gt;闯过这 54 关，点亮你的 Git 技能树（三）&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;今天我将带大家完成第 31 - 40 关，如对任何命令使用有疑问请看第一篇里的推荐教程。&lt;/p&gt;
&lt;h2 id="第三十一关"&gt;第三十一关&lt;/h2&gt;
&lt;p&gt;&lt;img src="https://codingstyle-cn.b0.upaiyun.com/photo/2016/5d8a76c8b5165d89a9eac2188bda23e6.png" title="" alt=""&gt;
当准备做的事情有可能会破坏其它东西时，为了不影响其他同事的开发工作，我们通常会拉一个分支出来，在分支上去做修改。
&lt;img src="https://codingstyle-cn.b0.upaiyun.com/photo/2016/987f46546794b191bee3ff9a0e68b6cc.png" title="" alt=""&gt;&lt;/p&gt;
&lt;h2 id="第三十二关"&gt;第三十二关&lt;/h2&gt;
&lt;p&gt;上一条命令只是创建了一个新的分支，并没有 &lt;code&gt;checkout&lt;/code&gt; 过去，习惯做法通常是直接 &lt;code&gt;git checkout -b xxx&lt;/code&gt;，创建并 &lt;code&gt;checkout&lt;/code&gt; 到新的分支。
如果使用 oh-my-zsh 的 git 插件的话，可以用 &lt;code&gt;gbc&lt;/code&gt;，意思是：&lt;code&gt;git branch create&lt;/code&gt;。
&lt;img src="https://codingstyle-cn.b0.upaiyun.com/photo/2016/d1e3dd2019aa136fb1899c62654adc27.png" title="" alt=""&gt;&lt;/p&gt;
&lt;h2 id="第三十三关"&gt;第三十三关&lt;/h2&gt;
&lt;p&gt;版本 1.2 存在 bug，这里我们需要切换到 1.2 的代码以定位问题。Checkout tag 和分支没有什么区别。
&lt;img src="https://codingstyle-cn.b0.upaiyun.com/photo/2016/0ce3a0a22ed09b40f723d0d79d91882b.png" title="" alt=""&gt;&lt;/p&gt;
&lt;h2 id="第三十四关"&gt;第三十四关&lt;/h2&gt;
&lt;p&gt;但当存在同名的 tag 和分支时，git 不知道我们究竟是要 checkout 到 tag 还是到分支，它认为分支的优先级更高。
这时就要显式地告诉 git 我们是要切换到 tag。
&lt;img src="https://codingstyle-cn.b0.upaiyun.com/photo/2016/5bf9149ccde69537e6da81700e036ddd.png" title="" alt=""&gt;&lt;/p&gt;
&lt;h2 id="第三十五关"&gt;第三十五关&lt;/h2&gt;
&lt;p&gt;有时忘记开新的分支，就修改并提交了代码。开分支的时候默认是基于最新的一次提交的，但我们也可以指定参数使其基于任一次提交。
&lt;img src="https://codingstyle-cn.b0.upaiyun.com/photo/2016/f87823e72210d902f045bf74451b19a0.png" title="" alt=""&gt;&lt;/p&gt;
&lt;h2 id="第三十六关"&gt;第三十六关&lt;/h2&gt;
&lt;p&gt;分支开太多就不好管理，不管使用哪种分支模型，只有很少的分支会长期存在，大部分分支都是临时的，在代码合并后就会删除掉。
&lt;img src="https://codingstyle-cn.b0.upaiyun.com/photo/2016/84701bc6a81973be92a6c1a5e07ad99c.png" title="" alt=""&gt;&lt;/p&gt;
&lt;h2 id="第三十七关"&gt;第三十七关&lt;/h2&gt;
&lt;p&gt;有时候在特性分支上提交了代码，但还不能并入主干，却又希望和别的同事分享（比如需要他们帮做 Code Review），那就需要把分支 push 到远程仓库中去。
&lt;img src="https://codingstyle-cn.b0.upaiyun.com/photo/2016/00485233b79e5cf1bd24ac95dd563a6f.png" title="" alt=""&gt;&lt;/p&gt;
&lt;h2 id="第三十八关"&gt;第三十八关&lt;/h2&gt;
&lt;p&gt;将另一个分支并入当前工作分支。
&lt;img src="https://codingstyle-cn.b0.upaiyun.com/photo/2016/39bb6284b09d6cbd8c876da1d833fc35.png" title="" alt=""&gt;&lt;/p&gt;
&lt;h2 id="第三十九关"&gt;第三十九关&lt;/h2&gt;
&lt;p&gt;当远程仓库有更新，但我们并不想合并到本地仓库，只想把代码拿下来看看，我们会用到 fetch 命令。
&lt;img src="https://codingstyle-cn.b0.upaiyun.com/photo/2016/294795a056dab9bbd0846eda99a3edad.png" title="" alt=""&gt;&lt;/p&gt;
&lt;h2 id="第四十关"&gt;第四十关&lt;/h2&gt;
&lt;p&gt;Rebase 这里如果不理解，请看第一篇里的推荐教程。
&lt;img src="https://codingstyle-cn.b0.upaiyun.com/photo/2016/5d369eb86433eb1cd957160fd3b4219a.png" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;今天就到这里了，明天（下次）再见！
如果想第一时间得到更新，请关注 &lt;a href="https://codingstyle.cn" rel="nofollow" target="_blank" title=""&gt;CodingStyle.cn&lt;/a&gt;！&lt;/p&gt;</description>
      <author>seabornlee</author>
      <pubDate>Fri, 20 May 2016 13:46:10 +0800</pubDate>
      <link>https://ruby-china.org/topics/30075</link>
      <guid>https://ruby-china.org/topics/30075</guid>
    </item>
    <item>
      <title>[有偿求助] Rails MissingTemplate error</title>
      <description>&lt;p&gt;每天都会收到多次如下的异常通知：&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;An ActionView::MissingTemplate occurred in pages#home:

 Missing template pages/home, application/home with {:locale=&amp;gt;[:zh], :formats=&amp;gt;["*/*;"], :variants=&amp;gt;[], :handlers=&amp;gt;[:erb, :builder, :raw, :ruby, :coffee, :arb, :haml, :jbuilder]}. Searched in:
 * "/home/railsu/shenzhenware/releases/1280/app/views"
 * "/home/railsu/shenzhenware/shared/bundle/ruby/2.2.0/gems/mailboxer-0.12.5/app/views"
 * "/home/railsu/shenzhenware/shared/bundle/ruby/2.2.0/gems/china_city-0.0.4/app/views"
 * "/home/railsu/shenzhenware/shared/bundle/ruby/2.2.0/bundler/gems/activeadmin-7aef260921d4/app/views"
 * "/home/railsu/shenzhenware/shared/bundle/ruby/2.2.0/gems/kaminari-0.16.1/app/views"
 * "/home/railsu/shenzhenware/shared/bundle/ruby/2.2.0/gems/devise_invitable-1.3.6/app/views"
 * "/home/railsu/shenzhenware/shared/bundle/ruby/2.2.0/gems/devise-3.4.1/app/views"




-------------------------------
Request:
-------------------------------

 * URL        : http://www.shenzhenware.com/
 * HTTP Method: GET
 * IP address : 218.17.230.230
 * Parameters : {"controller"=&amp;gt;"pages", "action"=&amp;gt;"home"}
 * Timestamp  : 2016-02-18 10:03:24 +0800
 * Server : iZ947qrvfrmZ
 * Rails root : /home/railsu/shenzhenware/releases/1280
 * Process: 24916

-------------------------------
Session:
-------------------------------

 * session id: "039a91ab3ec91c8de4b616caa1ab79ab"
 * data: #&amp;lt;ActionDispatch::Request::Session:0x00000005ba39c0 ...&amp;gt;

-------------------------------
Environment:
-------------------------------

 * HTTP_ACCEPT                                    : */*;
 * HTTP_ACCEPT_LANGUAGE                           : zh-CN,zh;q=0.8,en;q=0.6
 * HTTP_CACHE_CONTROL                             : max-age=0
 * HTTP_HOST                                      : www.shenzhenware.com
 * HTTP_USER_AGENT                                : Mozilla/5.0 (Windows; U; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727; BIDUBrowser 7.6)
 * HTTP_VERSION                                   : HTTP/1.1
 * ORIGINAL_FULLPATH                              : /
 * ORIGINAL_SCRIPT_NAME                           : 
 * PASSENGER_CONNECT_PASSWORD                     : [FILTERED]
 * PATH_INFO                                      : /
 * QUERY_STRING                                   : 
 * REMOTE_ADDR                                    : 218.17.230.230
 * REMOTE_PORT                                    : 12832
 * REQUEST_METHOD                                 : GET
 * REQUEST_URI                                    : /
 * ROUTES_11006260_SCRIPT_NAME                    : 
 * SCRIPT_NAME                                    : 
 * SERVER_NAME                                    : www.shenzhenware.com
 * SERVER_PORT                                    : 80
 * SERVER_PROTOCOL                                : HTTP/1.1
 * SERVER_SOFTWARE                                : nginx/1.8.0 Phusion_Passenger/5.0.20
 * action_controller.instance                     : #&amp;lt;PagesController:0x00000005b9e380&amp;gt;
 * action_dispatch.backtrace_cleaner              : #&amp;lt;Rails::BacktraceCleaner:0x000000024025c0&amp;gt;
 * action_dispatch.cookies                        : #&amp;lt;ActionDispatch::Cookies::CookieJar:0x00000005b91db0&amp;gt;
 * action_dispatch.cookies_digest                 : 
 * action_dispatch.cookies_serializer             : json
 * action_dispatch.encrypted_cookie_salt          : encrypted cookie
 * action_dispatch.encrypted_signed_cookie_salt   : signed encrypted cookie
 * action_dispatch.http_auth_salt                 : http authentication
 * action_dispatch.key_generator                  : #&amp;lt;ActiveSupport::CachingKeyGenerator:0x00000003cb76d8&amp;gt;
 * action_dispatch.logger                         : #&amp;lt;ActiveSupport::Logger:0x00000003930e88&amp;gt;
 * action_dispatch.parameter_filter               : [:password]
 * action_dispatch.redirect_filter                : []
 * action_dispatch.remote_ip                      : 218.17.230.230
 * action_dispatch.request.accepts                : [#&amp;lt;Mime::Type:0x00000005b9c288 @synonyms=[], @symbol=nil, @string="*/*;"&amp;gt;]
 * action_dispatch.request.content_type           : 
 * action_dispatch.request.formats                : [#&amp;lt;Mime::Type:0x00000005b9c288 @synonyms=[], @symbol=nil, @string="*/*;"&amp;gt;]
 * action_dispatch.request.parameters             : {"controller"=&amp;gt;"pages", "action"=&amp;gt;"home"}
 * action_dispatch.request.path_parameters        : {:controller=&amp;gt;"pages", :action=&amp;gt;"home"}
 * action_dispatch.request.query_parameters       : {}
 * action_dispatch.request.request_parameters     : {}
 * action_dispatch.request.unsigned_session_cookie: {"session_id"=&amp;gt;"039a91ab3ec91c8de4b616caa1ab79ab"}
 * action_dispatch.request_id                     : f7b35495-05b9-4f05-a92c-1e4a04252911
 * action_dispatch.routes                         : #&amp;lt;ActionDispatch::Routing::RouteSet:0x000000014fe268&amp;gt;
 * action_dispatch.secret_key_base                : ***
 * action_dispatch.secret_token                   : 
 * action_dispatch.show_detailed_exceptions       : false
 * action_dispatch.show_exceptions                : true
 * action_dispatch.signed_cookie_salt             : signed cookie
 * newrelic.transaction_started                   : true
 * rack.errors                                    : #&amp;lt;IO:0x0000000067d4f0&amp;gt;
 * rack.hijack                                    : #&amp;lt;Proc:0x00000005bc4850@/home/railsu/.rvm/gems/ruby-2.2.3/gems/passenger-5.0.20/src/ruby_supportlib/phusion_passenger/rack/thread_handler_extension.rb:81 (lambda)&amp;gt;
 * rack.hijack?                                   : true
 * rack.input                                     : #&amp;lt;PhusionPassenger::Utils::TeeInput:0x00000005bc4c60&amp;gt;
 * rack.multiprocess                              : true
 * rack.multithread                               : false
 * rack.request.cookie_hash                       : {}
 * rack.request.query_hash                        : {}
 * rack.request.query_string                      : 
 * rack.run_once                                  : false
 * rack.session                                   : #&amp;lt;ActionDispatch::Request::Session:0x00000005ba39c0&amp;gt;
 * rack.session.options                           : #&amp;lt;ActionDispatch::Request::Session::Options:0x00000005ba3920&amp;gt;
 * rack.url_scheme                                : http
 * rack.version                                   : [1, 2]
 * warden                                         : Warden::Proxy:48043960 @config={:default_scope=&amp;gt;:user, :scope_defaults=&amp;gt;{}, :default_strategies=&amp;gt;{:user=&amp;gt;[:rememberable, :database_authenticatable]}, :intercept_401=&amp;gt;false, :failure_app=&amp;gt;#&amp;lt;Devise::Delegator:0x00000006b19530&amp;gt;}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;尝试过升级 Rails 版本，没有解决。
已困扰多时，高手给看看，若能解决问题，重谢！&lt;/p&gt;</description>
      <author>seabornlee</author>
      <pubDate>Fri, 19 Feb 2016 10:39:39 +0800</pubDate>
      <link>https://ruby-china.org/topics/29025</link>
      <guid>https://ruby-china.org/topics/29025</guid>
    </item>
    <item>
      <title>Ruby China 如何启用 https？</title>
      <description>&lt;p&gt;大家好，&lt;/p&gt;

&lt;p&gt;我 fork 的 Ruby China 在启用 https 后遇到一点问题。
&lt;a href="https://codingstyle.cn" rel="nofollow" target="_blank" title=""&gt;https://codingstyle.cn&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;我修改了下改配置：&lt;/p&gt;

&lt;p&gt;config/environments/production.rb&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;config.force_ssl = true
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;config/config.yml&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;https: true
upload_url: "https://codingstyle-cn.b0.upaiyun.com"
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;首页生成的 js 和  css 链接还是 http 的，导致浏览器阻止自动加载。
&lt;img src="https://l.ruby-china.com/photo/2016/89393a3bf9f633bed2722591a068a538.png" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;欢迎支招，万分感激！&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;刚刚访问发现又没问题了，什么都没做过啊~&lt;/p&gt;

&lt;p&gt;但还是有一些资源是 http 的，不能自动加载。
&lt;img src="https://l.ruby-china.com/photo/2016/152862e940587deef597f870fa7678d9.png" title="" alt=""&gt;&lt;/p&gt;</description>
      <author>seabornlee</author>
      <pubDate>Sun, 03 Jan 2016 10:35:05 +0800</pubDate>
      <link>https://ruby-china.org/topics/28593</link>
      <guid>https://ruby-china.org/topics/28593</guid>
    </item>
    <item>
      <title>闯过这 54 关，点亮你的 Git 技能树</title>
      <description>&lt;p&gt;&lt;img src="http://codingstyle-cn.b0.upaiyun.com/photo/2015/ca27c97075a1e30342a26ea914bd9aed.png" title="" alt=""&gt;&lt;/p&gt;
&lt;h2 id="开篇"&gt;开篇&lt;/h2&gt;
&lt;p&gt;如今，Git 大行其道，颇有一统天下之势。
如果你的技能树上 Git 和 Github 的图标还没有点亮的话，你都不好意思说你是程序员。
别说互联网企业，我接触到的许多传统企业都在从 SVN，Clear Case 等迁移到 Git 上，甚至大厂还会有一个团队去定制适合自己企业的 Git 服务器。&lt;/p&gt;

&lt;p&gt;很多人简历上写的「精通 Git 与 Github」，但如果你问他熟悉到什么程度的话，回答通常是「就是会用常用的 &lt;code&gt;add&lt;/code&gt;，&lt;code&gt;commit&lt;/code&gt;，&lt;code&gt;push&lt;/code&gt; 操作」。&lt;/p&gt;

&lt;p&gt;但工作中我们会遇到一些更加复杂的场景：&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;* 忽略某些文件
* 创建，删除分支
* 找到最后修改某行代码的人
* commit 后发现里边包含一个不应该提交的文件
* commit 后发现少提交了一些文件
* 一个文件中的多次有改动，怎么做到只提交其中的一部分？
* 怎样整理提交记录使其更加整洁？
* 快速定位是哪一次提交引入了 bug
* ...
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;作为一线程序员，我们要如何快速学习 Git 以发挥其最大威力呢？&lt;/p&gt;

&lt;p&gt;今天我就要向大家介绍一个工具，准确说应该是「游戏」，名字叫&lt;a href="https://github.com/Gazler/githug" rel="nofollow" target="_blank" title=""&gt;「githug」&lt;/a&gt;，它把平常可能遇到的一些场景都实例化，变成一个一个的关卡，一共有 55 个关卡：&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;#1: init
#2: config
#3: add
#4: commit
#5: clone
#6: clone_to_folder
#7: ignore
#8: include
#9: status
#10: number_of_files_committed
#11: rm
#12: rm_cached
#13: stash
#14: rename
#15: restructure
#16: log
#17: tag
#18: push_tags
#19: commit_amend
#20: commit_in_future
#21: reset
#22: reset_soft
#23: checkout_file
#24: remote
#25: remote_url
#26: pull
#27: remote_add
#28: push
#29: diff
#30: blame
#31: branch
#32: checkout
#33: checkout_tag
#34: checkout_tag_over_branch
#35: branch_at
#36: delete_branch
#37: push_branch
#38: merge
#39: fetch
#40: rebase
#41: repack
#42: cherry-pick
#43: grep
#44: rename_commit
#45: squash
#46: merge_squash
#47: reorder
#48: bisect
#49: stage_lines
#50: find_old_branch
#51: revert
#52: restore
#53: conflict
#54: submodule
#55: contribute
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id="安装"&gt;安装&lt;/h2&gt;
&lt;p&gt;首先我们需要来安装这个游戏，&lt;code&gt;githug&lt;/code&gt; 是用 Ruby 编写的，可通过如下命令安装：
&lt;code&gt;gem install githug&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;如果遇到权限问题，请加上&lt;code&gt;sudo&lt;/code&gt;：
&lt;code&gt;sudo gem install githug&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;安装成功后，在 Terminal 里进入你常用的目录，输入&lt;code&gt;githug&lt;/code&gt;，会提示游戏目录不存在，是否要创建一个，输入&lt;code&gt;y&lt;/code&gt;然后回车：
&lt;img src="http://codingstyle-cn.b0.upaiyun.com/photo/2015/8382bc7aa8c54340e2af44eada2942de.png" title="" alt=""&gt;
根据提示&lt;code&gt;cd git_hug&lt;/code&gt; 进入游戏目录，准备开始游戏。&lt;/p&gt;
&lt;h2 id="基本命令"&gt;基本命令&lt;/h2&gt;
&lt;p&gt;在开始前我们还需要了解游戏的一些基本操作：&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;play - 默认命令，检查是否过关&lt;/li&gt;
&lt;li&gt;hint - 显示过关提示&lt;/li&gt;
&lt;li&gt;reset - 重启本关，或者重启到指定的某关&lt;/li&gt;
&lt;li&gt;levels - 显示关卡列表&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;来试一下，&lt;code&gt;githug reset&lt;/code&gt;：
&lt;img src="http://codingstyle-cn.b0.upaiyun.com/photo/2015/0dd2f290ffa3d9d332663652f7e2a3de.png" title="" alt=""&gt;&lt;/p&gt;
&lt;h2 id="示例"&gt;示例&lt;/h2&gt;
&lt;p&gt;我以第一关为例子给大家演示一下玩法。&lt;/p&gt;

&lt;p&gt;第一关的名称是：&lt;code&gt;init&lt;/code&gt;，提示是：「一个新目录 git_hug 被创建了，请把它初始化为一个空仓库」。
假设现在我不知道该怎么过关，我可以查看过关提示：
&lt;img src="http://codingstyle-cn.b0.upaiyun.com/photo/2015/d353432d63653c8f5904d6a8fbe1fcee.png" title="" alt=""&gt;
指示是：「你可以输入 &lt;code&gt;git&lt;/code&gt; 命令来查看 &lt;code&gt;git&lt;/code&gt; 命令列表」。
&lt;img src="http://codingstyle-cn.b0.upaiyun.com/photo/2015/1dec22641d98b2ecd72c56703db68804.png" title="" alt=""&gt;
看最后一行，原来用 &lt;code&gt;git init&lt;/code&gt; 就可以初始化一个空仓库，接着输入 &lt;code&gt;githug&lt;/code&gt; 进行过关检测：
&lt;img src="http://codingstyle-cn.b0.upaiyun.com/photo/2015/94b84a9793eaf1a705bd22d3fc6b6696.png" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;太棒了！顺利进入第二关！&lt;/p&gt;

&lt;p&gt;怎么样？明白了吗？后面的 54 关就靠你自己了哦！&lt;/p&gt;
&lt;h2 id="友情提示"&gt;友情提示&lt;/h2&gt;
&lt;p&gt;在闯关过程中，尽量使用 &lt;code&gt;githug hint&lt;/code&gt;，&lt;code&gt;git help subcommand&lt;/code&gt; 获取帮助，也可以根据下面的两个教程来系统学习。
&lt;a href="http://backlogtool.com/git-guide/cn/" rel="nofollow" target="_blank" title=""&gt;猴子都能懂的 git 入门&lt;/a&gt;
&lt;a href="http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000" rel="nofollow" target="_blank" title=""&gt;廖雪峰的 git 教程&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;为保大家都能顺利通关，学到所有的知识点，接下来我会写过关攻略，详细介绍每一关的玩法。
并且我不会直接给答案，而是演示整个过关的过程。&lt;/p&gt;

&lt;p&gt;祝你好运！我们明天见。&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;更新：
&lt;a href="https://codingstyle.cn/topics/57" rel="nofollow" target="_blank" title=""&gt;闯过这 54 关，点亮你的 Git 技能树（一）&lt;/a&gt;
&lt;a href="https://codingstyle.cn/topics/67" rel="nofollow" target="_blank" title=""&gt;闯过这 54 关，点亮你的 Git 技能树（二）&lt;/a&gt;
&lt;a href="https://codingstyle.cn/topics/73" rel="nofollow" target="_blank" title=""&gt;闯过这 54 关，点亮你的 Git 技能树（三）&lt;/a&gt;&lt;/p&gt;</description>
      <author>seabornlee</author>
      <pubDate>Wed, 30 Dec 2015 08:20:24 +0800</pubDate>
      <link>https://ruby-china.org/topics/28561</link>
      <guid>https://ruby-china.org/topics/28561</guid>
    </item>
    <item>
      <title>通过「刻意练习」，你才能成为顶尖的程序员</title>
      <description>&lt;p&gt;作家格拉德威尔在《异类》一书中指出：&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;人们眼中的天才之所以卓越非凡，并非天资超人一等，而是付出了持续不断的努力。1 万小时的锤炼是任何人从平凡变成超凡的必要条件。&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;他将此称为「一万小时定律」。&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;要成为某个领域的专家，需要 10000 小时，按比例计算就是：如果每天工作八个小时，一周工作五天，那么成为一个领域的专家至少需要五年。这就是一万小时定律。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="如何打破无休止的加班？"&gt;如何打破无休止的加班？&lt;/h2&gt;
&lt;p&gt;在中国，IT 行业普遍加班严重，先不说行业特征与企业文化。
就我最近面试的经验来看，很多程序员的开发效率实在是低到不忍直视。&lt;/p&gt;

&lt;p&gt;所以「效率」是一个导致加班的重要因素。
如果你效率高，但迫于企业有加班的文化，你完全可以用加班的时间来学习一些新的技术，进一步提高自己的效率。&lt;/p&gt;

&lt;p&gt;效率低会引起下图的怪圈：
&lt;img src="http://codingstyle-cn.b0.upaiyun.com/photo/2015/f9937b6468269b1a642f936260355427.png" title="" alt=""&gt;
效率低 -&amp;gt; 无法按时完成工作 -&amp;gt; 加班 -&amp;gt; 没有时间练习 -&amp;gt; 效率越来越低。&lt;/p&gt;

&lt;p&gt;要打破怪圈，有效的办法就是「刻意练习」，从此进入一个正向循环：
&lt;img src="http://codingstyle-cn.b0.upaiyun.com/photo/2015/8eca10f78add82331efb1001220e5e59.png" title="" alt=""&gt;
效率高 -&amp;gt; 提前完成工作 -&amp;gt; 练习提升 -&amp;gt; 效率越来越高。&lt;/p&gt;
&lt;h2 id="别把工作当练习"&gt;别把工作当练习&lt;/h2&gt;
&lt;p&gt;演员在台上的表演算是练习吗？球员在比赛场上算练习吗？不算。
那么对程序员而言，工作上做项目算刻意练习吗？&lt;/p&gt;

&lt;p&gt;我以前以「能边学边做」为荣，API、语法之类的没必要看，反正我们有 Google 和 Stack Overflow 嘛。
直到我参加了 Hackthon 之后改变了这个观点。在极短的时间内，要把一个创新的想法，用技术手段实现出来。
这个时候如果你还在查某个接口应该怎么用，某个语法应该怎么写，能竞争得过别人吗？&lt;/p&gt;

&lt;p&gt;现实工作中何尝不是如此？商业竞争如此激烈，假设你要做个推荐系统，你是找做过的来做，还是边学边做？&lt;/p&gt;

&lt;p&gt;所以我认为练习应当发生在工作之外，一旦上了战场，不是你死就是我活。&lt;/p&gt;
&lt;h2 id="怎样练习才有效？"&gt;怎样练习才有效？&lt;/h2&gt;
&lt;p&gt;并不是所有的练习都是有效的，没找准地方，只是在浪费时间。
比如，我用吉他弹一首曲子时，某个小节老是弹不好，我就会单独把这一个小节拿出来重复练习，而不是把整首曲子一遍一遍地重复练。
&lt;img src="http://codingstyle-cn.b0.upaiyun.com/photo/2015/43585382d403d3096ddb2afab334b004.png" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;专家研究表明，只有在「学习区」练习才最有成效。
我们应当走出舒适区，多在学习区练习，将其变成舒适区；
接触恐慌区，将其慢慢变成学习区。&lt;/p&gt;

&lt;p&gt;这样才能避免原地踏步，持续提高。&lt;/p&gt;
&lt;h2 id="程序员怎么练习"&gt;程序员怎么练习&lt;/h2&gt;&lt;h3 id="走出自己的舒适区"&gt;走出自己的舒适区&lt;/h3&gt;
&lt;p&gt;首先要走出自己的舒适区，接触一些不熟悉的技术领域。比如后端很熟悉了，去写写前端试试。Web 很熟悉了，去写移动端试试。
业务开发很熟悉了，去研究一下搜索，推荐系统，大数据试试。OO 很熟悉了，玩 FP 试试。
老守着自己会的那点儿东西，总有一天会坐吃山空。&lt;/p&gt;
&lt;h3 id="发现自己的不足"&gt;发现自己的不足&lt;/h3&gt;
&lt;p&gt;有以下方式：&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;录视频&lt;/li&gt;
&lt;li&gt;Code Review&lt;/li&gt;
&lt;li&gt;结对编程&lt;/li&gt;
&lt;li&gt;参加编程道场&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;没有对比，很难发现自己的不足，所以把自己的代码和编码过程展示出来，一定会发现许多可以改进的地方。&lt;/p&gt;

&lt;p&gt;只有菜鸟才会觉得自己特别牛，因为物以类聚，他的圈子里全是菜鸟。
你越牛，接触的圈子也越牛，你越会觉得自己渺小。&lt;/p&gt;
&lt;h3 id="程序员练什么？"&gt;程序员练什么？&lt;/h3&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;编程范式&lt;/li&gt;
&lt;li&gt;编辑器&lt;/li&gt;
&lt;li&gt;快捷键&lt;/li&gt;
&lt;li&gt;TDD&lt;/li&gt;
&lt;li&gt;Clean Code&lt;/li&gt;
&lt;li&gt;重构&lt;/li&gt;
&lt;li&gt;...&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="没时间不是借口"&gt;没时间不是借口&lt;/h3&gt;
&lt;p&gt;我第一次组织 Code Retreat 的时候，到 QQ 群里宣传活动，结果得到的是嘲讽：&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;周末还在写代码，肯定是屌丝。&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;很多人没有时间练习，却有大把的时间打 LOL，大把时间在群里吹水，大把时间讨论楼市股市。
当然，人都有选择自己生活方式的权利，并没有谁对谁错。&lt;/p&gt;

&lt;p&gt;说这么多，只是希望真正热爱编程的同学们知道，只有通过刻意练习，才有可能成为顶尖的程序员！
在 &lt;a href="http://codingstyle.cn" rel="nofollow" target="_blank" title=""&gt;CodingStyle.cn&lt;/a&gt; 这个社区里，我们会组织 Code Review，Code Retreat，Coding Dojo。
希望我们一起成长，成为顶尖的程序员！&lt;/p&gt;</description>
      <author>seabornlee</author>
      <pubDate>Mon, 28 Dec 2015 19:09:09 +0800</pubDate>
      <link>https://ruby-china.org/topics/28553</link>
      <guid>https://ruby-china.org/topics/28553</guid>
    </item>
    <item>
      <title>[深圳] 深圳湾社区招聘 Ruby/Android/iOS 各 3 名 (10 - 30 K)</title>
      <description>&lt;h2 id="我们是谁？"&gt;我们是谁？&lt;/h2&gt;
&lt;p&gt;深圳湾（&lt;a href="http://www.shenzhenware.com" rel="nofollow" target="_blank" title=""&gt;ShenzhenWare&lt;/a&gt;）是国内最有影响力的新硬件社区，是硬件创业者的虚拟加速器。
深圳湾致力于打造以硬件创业者为核心的垂直媒体与社交平台，构建以共享经济为基础的资源撮合与对接体系，推动硬件生态圈的繁荣。&lt;/p&gt;
&lt;h2 id="我们提供什么？"&gt;我们提供什么？&lt;/h2&gt;
&lt;p&gt;有竞争力的薪酬，五险一金
丰厚的项目奖金
弹性工作时间，团队自己约定
每月各种大小活动
超时晚餐、交通费报销交通住宿补贴、吃不完的新鲜水果
轻松的团队氛围
扁平的架构
足够的成长空间
高速发展的公司和行业&lt;/p&gt;

&lt;p&gt;我们需要...&lt;/p&gt;
&lt;h2 id="Ruby 工程师 10-30 K"&gt;Ruby 工程师 10-30 K&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;  熟悉 Rails 4&lt;/li&gt;
&lt;li&gt;  Ruby 基础扎实&lt;/li&gt;
&lt;li&gt;  熟悉 API 开发&lt;/li&gt;
&lt;li&gt;  熟悉 HTML / JavaScript / CSS / Coffee Script&lt;/li&gt;
&lt;li&gt;  熟悉 RSpec，Capybara&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="我们的工程师是这样一群人，希望你也是（必须符合 5 条以上）："&gt;我们的工程师是这样一群人，希望你也是（必须符合 5 条以上）：&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;  全栈，哪里需要就去哪里（Web、Android、iOS）&lt;/li&gt;
&lt;li&gt;  有业余项目（不含外包）&lt;/li&gt;
&lt;li&gt;  熟悉 Git 和 Github&lt;/li&gt;
&lt;li&gt;  喜欢使用「快捷键」多过「鼠标」&lt;/li&gt;
&lt;li&gt;  喜欢使用「Shell」多过「GUI」&lt;/li&gt;
&lt;li&gt;  喜欢「当面沟通」多过「文档」&lt;/li&gt;
&lt;li&gt;  用「Google」不用「Baidu」&lt;/li&gt;
&lt;li&gt;  追求效率，讨厌加班给领导看&lt;/li&gt;
&lt;li&gt;  喜欢自主工作，不喜欢监管&lt;/li&gt;
&lt;li&gt;  有代码洁癖&lt;/li&gt;
&lt;li&gt;  喜欢把玩 App&lt;/li&gt;
&lt;li&gt;  什么都写在脸上，心里不爽不说出来就吃不好睡不香&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;  Github 上有项目&lt;/li&gt;
&lt;li&gt;  熟悉 Scrum，TDD，CI，Refactor，Pair Programming 等实践&lt;/li&gt;
&lt;li&gt;  在技术会议上做过分享&lt;/li&gt;
&lt;li&gt;  写博客&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;  工程师文化&lt;/li&gt;
&lt;li&gt;  敏捷开发实践&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;面试请带电脑，我们一起来写一段代码，因为自己的电脑用的最顺手&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;另外，我们还需要..&lt;/p&gt;
&lt;h2 id="Android 工程师 10 - 25K"&gt;Android 工程师 10 - 25K&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;  熟练使用 Android Studio「快捷键」进行编程&lt;/li&gt;
&lt;li&gt;  熟悉 HTTP/JSON&lt;/li&gt;
&lt;li&gt;  熟悉常用的开源库，可以快速搭建应用&lt;/li&gt;
&lt;li&gt;  了解 Robolectric, Appium 或其它测试框架&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="iOS 工程师 10 - 25K"&gt;iOS 工程师 10 - 25K&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;  精通 Objective-C、Mac OS、Xcode&lt;/li&gt;
&lt;li&gt;  熟悉 iOS 框架和常用的 Library&lt;/li&gt;
&lt;li&gt;  熟悉 Swift&lt;/li&gt;
&lt;li&gt;  精通 iOS SDK 中的 UI、网络、数据库、XML/JSON 解析等开发技术&lt;/li&gt;
&lt;li&gt;  有完整的 iOS 项目经验，至少参加过一个完整的商业级手机应用技术框架搭建、关键技术选型工作&lt;/li&gt;
&lt;li&gt;  熟悉各种主流手机特性，深刻理解手机客户端软件及服务端开发特点&lt;/li&gt;
&lt;li&gt;  精通常用软件架构模式，熟悉各种算法与数据结构，多线程，网络编程（Socket、http/web service）等&lt;/li&gt;
&lt;li&gt;  了解测试框架&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;地址：深圳南山软件产业基地 4A 1102
联系方式：
Wechat: seabornlee
Email: &lt;a href="mailto:seabornlee@shenzhenware.com" title=""&gt;seabornlee#shenzhenware.com&lt;/a&gt;&lt;/p&gt;</description>
      <author>seabornlee</author>
      <pubDate>Thu, 26 Nov 2015 12:21:35 +0800</pubDate>
      <link>https://ruby-china.org/topics/28199</link>
      <guid>https://ruby-china.org/topics/28199</guid>
    </item>
    <item>
      <title>[深圳][2015年5月10日] 软件匠艺小组技术训练营 - 玩转 GitHub</title>
      <description>&lt;p&gt;&lt;a href="https://ruby-china.org/topics/24805" title=""&gt;上期活动回顾&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.jinshuju.net/f/xC0Um4" rel="nofollow" target="_blank" title=""&gt;猛击此处报名&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="活动详情"&gt;活动详情&lt;/h2&gt;
&lt;p&gt;你知道 Git 怎么念吗？&lt;/p&gt;

&lt;p&gt;你知道 Git 和 Github 是什么关系吗？&lt;/p&gt;

&lt;p&gt;你知道如何用 Git 提高开发协作效率吗？&lt;/p&gt;

&lt;p&gt;你知道如何用 Git 让你的生活变的更美好吗？&lt;/p&gt;

&lt;p&gt;Git 训练营系列活动将一一为你解答，帮你从 0 到 1。&lt;/p&gt;
&lt;h2 id="内容"&gt;内容&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;复习 git 知识&lt;/li&gt;
&lt;li&gt;学习使用 GitHub 进行团队协作&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="讲师介绍："&gt;讲师介绍：&lt;/h2&gt;
&lt;p&gt;&lt;a href="http://seabornlee.cn" rel="nofollow" target="_blank" title=""&gt;Seaborn Lee&lt;/a&gt;，ThoughtWorks 咨询师。全栈工程师，技术教练，CSM，奶爸。擅长 Java，JavaScript，Android，Ruby on Rails 应用开发。敏捷社区推动者，曾以组织者和讲师身份参与过 Agile tour，Scrum Gathering，精创周末等活动。软件匠艺推动者，热爱引导 Code Retreat，Coding Dojo 等活动。
工作之余喜欢阅读、写作、运动、演讲、组织社区活动、参与开源。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;受众：&lt;/strong&gt; Git 未入门或初学者&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;时间：&lt;/strong&gt; 2015 年 5 月 10 日 (周日) 14:00 - 18:00&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;截止报名时间：&lt;/strong&gt; 2015 年 5 月 7 日 12:00(周四)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;准备：&lt;/strong&gt; 尽量带电脑并提前安装好 Git, Githug(一款 git 的游戏，可能需要翻墙)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;地点：&lt;/strong&gt; 西丽留仙洞中兴工业园研一楼大厅集合&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;费用：&lt;/strong&gt; 免费&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;人数：&lt;/strong&gt; 30 人&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;赞助商：&lt;/strong&gt; 场地 - 中兴，礼品 - Coding.net&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;联系人：18926475513 小陈&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.jinshuju.net/f/xC0Um4" rel="nofollow" target="_blank" title=""&gt;猛击此处报名&lt;/a&gt;&lt;/p&gt;</description>
      <author>seabornlee</author>
      <pubDate>Wed, 06 May 2015 22:16:53 +0800</pubDate>
      <link>https://ruby-china.org/topics/25465</link>
      <guid>https://ruby-china.org/topics/25465</guid>
    </item>
    <item>
      <title>深圳软件匠艺小组技术训练营 - Git 入门 - 活动回顾</title>
      <description>&lt;p&gt;&lt;img src="http://ww3.sinaimg.cn/mw690/61412e43gw1eqfnp1stx6j219c0y014o.jpg" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;先写流程，免得一会我忘了当时发生过什么。其实我觉得后面扯蛋的部分更有意思。&lt;/p&gt;
&lt;h2 id="流程"&gt;流程&lt;/h2&gt;
&lt;p&gt;&lt;img src="http://ww3.sinaimg.cn/large/61412e43gw1eqfxftb9xgj20w40h2405.jpg" title="" alt=""&gt;
这次活动大约 15 分钟的理论讲解，然后全是游戏和练习的时间。我信奉的两点原则指导着整个活动的流程设计：&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;learn by doing&lt;/li&gt;
&lt;li&gt;教是最好的学&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;其实所有的规则都是在现场即兴制定的。 
&lt;img src="http://ww4.sinaimg.cn/large/61412e43gw1eqfyb798ubj20dr0a674n.jpg" title="" alt=""&gt;&lt;/p&gt;
&lt;h3 id="三人成行"&gt;三人成行&lt;/h3&gt;
&lt;p&gt;因为现场有 8 台 Mac 机器，安装 githug 只需一条命令：&lt;code&gt;gem install githug&lt;/code&gt;。而 Windows 就要麻烦许多，所以分成 8 组，每组 3 人。&lt;/p&gt;
&lt;h3 id="过第5关"&gt;过第 5 关&lt;/h3&gt;
&lt;p&gt;是游戏必须要有目标，而之所以选择 5 关，是因为想快速获得反馈，验证规则是否合理。&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;因为现场大约有 1/3 的人有一些使用 Git 的经验，完全是为了目睹我的风采（或者逃避家庭的束缚？）而来的。更有甚者如 Adam，别人还在安装游戏的时候，他就几乎要通关的节奏。为了避免出现个人英雄，保证所有人都有所收获，必须 3 人轮流操作。&lt;/p&gt;
&lt;h3 id="输的组做10个俯卧撑"&gt;输的组做 10 个俯卧撑&lt;/h3&gt;
&lt;blockquote&gt;
&lt;p&gt;咨询要给客户带来从灵魂和肉体上的升华。&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;本着以上原则，选择了俯卧撑这项普及率极高，最不挑场地的运动。&lt;/p&gt;
&lt;h3 id="赢家解答提问"&gt;赢家解答提问&lt;/h3&gt;
&lt;p&gt;输家可以对赢家提问，包括组员名字和前 5 关中使用到的 Git 知识。&lt;/p&gt;

&lt;p&gt;我引导大家准备好后就举起双手，等到所有人都举起双手后一起猛拍到桌子上，游戏就开始了。几分钟后就有一组完成了目标。但这时其他组是继续玩直到都通过第 5 关还是停下来呢，规则中并没有约定，我就默认让大家继续玩了，直到大部分队伍都达成了目标。同时规则还存在其它几个 Bug，于是我又打了 3 个补丁：
&lt;img src="http://ww3.sinaimg.cn/large/61412e43gw1eqfywfum5aj20do09f74j.jpg" title="" alt=""&gt;
第一条是为了让知识得到传递，同时多交几个朋友。
第二条让游戏有一个明确的结束时间。
第三条最后没有用上，15 分钟结束后没有一组敢出来接受挑战。其实这是我期望看到的，然后我又给大家 15 分钟的时间，让大家去把组里没搞明白的同学教会，通过教去整理自己的思路。这时会发现你虽然能过关，但可能对知识点还是一知半解的，能发现自己的漏洞。最后还是没组出来接受挑战，全体做了 10 个俯卧撑。&lt;/p&gt;

&lt;p&gt;因为看到大家都很有激情，便不再设置那么多规则，让大家自由地玩下去。遇到问题再帮忙解决一下，也不是直接给答案，而是先尝试&lt;code&gt;githug hint&lt;/code&gt;，再 Google 之或者&lt;code&gt;git help xxx&lt;/code&gt;。然后遇到另一组问同样的问题，我便要求之前接受我帮助的组员去帮助他们，同样要求不能直接给答案。&lt;/p&gt;
&lt;h2 id="扯蛋"&gt;扯蛋&lt;/h2&gt;&lt;h3 id="没有人注意到我新get的keynote技能"&gt;没有人注意到我新 get 的 keynote 技能&lt;/h3&gt;
&lt;p&gt;证明了好的东西应该是很自然的，自然到不会被人注意到。&lt;/p&gt;
&lt;h3 id="得到20多人的注意力不容易"&gt;得到 20 多人的注意力不容易&lt;/h3&gt;
&lt;p&gt;大家很容易沉迷到游戏当中不能自拨，自动过滤了我的说话。我尝试&lt;code&gt;压低声音&lt;/code&gt;和&lt;code&gt;挨组提问&lt;/code&gt;的方式，还是比较有效的。&lt;/p&gt;
&lt;h3 id="俯卧撑"&gt;俯卧撑&lt;/h3&gt;
&lt;p&gt;在这里我要黑一下车老师。在做俯卧撑的时候我被车老师鄙视了，说：你做的那也叫俯卧撑啊，看我给你做一个标准的示范。看完后我说：你那种做法容易，我会做，我这种比较难，你试试。结果车老师果然一下就趴到地上了。
车老师做的是下面这种，主要锻炼胸和肱二头肌：
&lt;img src="http://ww4.sinaimg.cn/large/61412e43gw1eqfxxa3avcg208z062djf.gif" title="" alt=""&gt;
我做的是下面这种，主要锻炼背和肱三头肌：
&lt;img src="http://ww3.sinaimg.cn/large/61412e43gw1eqfy083hvpg20c10640ss.gif" title="" alt=""&gt;
区别是下去时你的手肘往两边还是往后（贴着身子），第二种比较难，不信你试试。&lt;/p&gt;
&lt;h3 id="信心"&gt;信心&lt;/h3&gt;
&lt;p&gt;虽然这次活动是早有预谋，但准备的时间确实是有史以来最短的。因为有信心，所以不着急。
信心来自于两个地方：&lt;/p&gt;

&lt;p&gt;一是迅雷的鹏飞，与他合作了这么多次，每一次都很靠谱，不仅提供场地，还有矿泉水，还有周到的现场服务，在这里说声感谢！&lt;/p&gt;

&lt;p&gt;二是参会者，因为在深圳做过敏捷之旅，GDCR，精创周末等活动，已经积累了不少的参会者，而这次活动预期是 30 人以内，所以一点都不担心。&lt;/p&gt;

&lt;p&gt;周三确认了场地，周五凌晨才做好金数据报名页面，只简单在朋友圈发了一条消息，很多朋友转发，最终报名 29 人。实到 24 人。其中有大约 1/3 是去年 GDCR 的参会者，我想信这就是口碑的力量。&lt;/p&gt;

&lt;p&gt;活动时间与“百公里徒步”和“源创会”冲突，也导致一些朋友不能来参加。不过也许以后我会专挑与其它活动冲突的时间，这样有两个好处：
一是吸引真正热爱技术的人；
二是能逼着自己提高活动质量，增加吸引力。&lt;/p&gt;
&lt;h3 id="新鲜血液"&gt;新鲜血液&lt;/h3&gt;
&lt;p&gt;社区要运转起来，需要有热情的人持续投入时间和精力。所以这次有意培养新人，我找到了 Vernon，记得第一次见他就觉得他很有热情，果然一拍即合。这次他给力地完成了包括宣传页面制作，宣传，资料收集等任务，俨然看到一颗社区新星冉冉升起。放心吧 Vernon，哥带你装 13 带你飞，明年去大连吃海鲜。&lt;/p&gt;

&lt;p&gt;最后，如果你想赞助场地或食物，欢迎与我联系。&lt;code&gt;seabornlee.cn#gmail.com&lt;/code&gt;
如果你觉得有趣，请到&lt;a href="http://events.farbox.com/post/index" rel="nofollow" target="_blank" title=""&gt;“深圳软件匠艺小组官网”&lt;/a&gt;了解更多信息。&lt;/p&gt;

&lt;hr&gt;
&lt;h3 id="相关资料"&gt;相关资料&lt;/h3&gt;
&lt;p&gt;&lt;a href="https://github.com/Gazler/githug" rel="nofollow" target="_blank" title=""&gt;githug&lt;/a&gt;
&lt;a href="http://rogerdudler.github.io/git-guide/index.zh.html" rel="nofollow" target="_blank" title=""&gt;git guide&lt;/a&gt;&lt;/p&gt;</description>
      <author>seabornlee</author>
      <pubDate>Tue, 24 Mar 2015 08:08:31 +0800</pubDate>
      <link>https://ruby-china.org/topics/24805</link>
      <guid>https://ruby-china.org/topics/24805</guid>
    </item>
    <item>
      <title>我如何读书</title>
      <description>&lt;p&gt;￼&lt;img src="https://l.ruby-china.com/photo/2015/5908ccbb2c6ad83203dc4ee36c32eabd.png" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;有的人为了装 13 而读书，显然，我不是这样的人。
我靠写博客装 13。&lt;/p&gt;
&lt;h2 id="为什么读书"&gt;为什么读书&lt;/h2&gt;
&lt;p&gt;读书对我来说并不是特别轻松的事，尽管我看过很多“快速阅读”的理论，做过很多训练，但并没有炼成一目十行的本事，还是改不了逐字阅读的习惯。
所以相对于读书，我更喜欢通过听演讲，参加在线课程的方式来学习。
读书对我而言，主要有两点作用，拓展知识面和提高能力。&lt;/p&gt;
&lt;h3 id="拓展知识面"&gt;拓展知识面&lt;/h3&gt;
&lt;blockquote&gt;
&lt;p&gt;智慧意味着自知无知。&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;想像在知识的海洋中，有一个球。球内是你已经掌握的知识，球外是无限的你不知道你不知道的知识。对，我没有敲错。球的表面是你知道你不知道的知识。
你知道的越多，你的球越大，球的表面积也越大。也就是说，你知道的越多，你知道你不知道的就越多。
所以很多读到博士的人觉得自己很无知。
差点把自己绕晕了，回到主题。这类书包括历史、传记、人文、科学等。&lt;/p&gt;
&lt;h3 id="提高技能"&gt;提高技能&lt;/h3&gt;
&lt;p&gt;但大多数时候，我读书是为了提高技能，更好的工作和生活。比如编程、管理、咨询、引导、肓儿等。
这类书通常很实用，学完马上就可以应用到工作和生活中。比如：
读过《咨询的奥秘》，我就可以跟客户讲：“铺得越广，摊得越薄”的“树霉酱定律”，要求以百米的速度跑完全程马拉松显然是不科学的。
读过《Fun Retrospectives》，我就能引导团队以更有趣的方式做&lt;a href="http://www.seabornlee.cn/post/thoughtworks/retrospective" rel="nofollow" target="_blank" title=""&gt;回顾会议&lt;/a&gt;。
读过《Coding dojo handbook》我就能引导 Coding Dojo。
诸如此类。读过之后马上就能进行应用，用实践来检验理论，将知识转化为能力。&lt;/p&gt;
&lt;h3 id="娱乐"&gt;娱乐&lt;/h3&gt;
&lt;p&gt;我不愿意读小说，因为一读就停不下来，加上我读书很慢，小说通常都很长。所以我读过一些小说，但从来没有读完过，因为当我意识到我沉迷其中时，我会毫不犹豫地删掉它。
比起小说，我更愿意通过电影来娱乐。只因为它独立且短小。&lt;/p&gt;
&lt;h2 id="读什么书？"&gt;读什么书？&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;你读书这么慢，就不要什么书都读了。&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;因为读书慢，所以我更愿意多花一些时间在挑书上，读到不好的书也赶紧扔掉。&lt;/p&gt;
&lt;h3 id="行业经典"&gt;行业经典&lt;/h3&gt;
&lt;blockquote&gt;
&lt;p&gt;你不是读书少，是经典读的少。&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;不知道什么时候看到过这句话，如醍醐灌顶。从此我将“经典”列为读书列表的最高优先级。
比如：《代码大全》，《SICP》，《重构》，《你的灯亮着吗》等。&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;多看阅读里每天会有限免图书，我也会去刷一下，但感兴趣的不多。通常只是下载，放在读书列表最后面。&lt;/p&gt;
&lt;h2 id="怎么得到书"&gt;怎么得到书&lt;/h2&gt;
&lt;p&gt;对于我这种 Homeless 来讲，纸质书绝对是搬家时的一大痛，也因此每次搬家都会清掉很多旧书。所以我偏爱电子书。&lt;/p&gt;
&lt;h3 id="电子书"&gt;电子书&lt;/h3&gt;
&lt;p&gt;对于中文书，我首先会在“多看”进行搜索，很便宜且阅读体验好。“多看”上找不到我再尝试到 Kindle 商店去找。
英文书通常可以直接在国外网站进行购买，比如&lt;a href="https://leanpub.com" rel="nofollow" target="_blank" title=""&gt;Leanpub&lt;/a&gt;和&lt;a href="https://pragprog.com/" rel="nofollow" target="_blank" title=""&gt;Pragmatic Bookshelf&lt;/a&gt;。&lt;/p&gt;
&lt;h3 id="纸质书"&gt;纸质书&lt;/h3&gt;
&lt;p&gt;实在找不到电子书，我就上“京东”或者“Amazon”买纸质书，因为送货快，我可以在热情没有削减时就拿到手开始阅读。&lt;/p&gt;
&lt;h2 id="怎么读"&gt;怎么读&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;书拿到手了，最重要的是去读它，而不是把收藏当成是学习。&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;记得上大学时，上网还是很贵的，一寝室凑钱买上网卡，只能晚上人齐了才能拨号上网。在那样的条件下，在线学习是非常奢侈的，所以通常都是采用“Read it later”的方式，晚上下载，等白天看，可是白天上课又没时间看，晚上又继续下载。就在这样一种环境下养成了囤积的毛病，在硬盘里囤积了无数的电子书和视频教程。现在还是不能停药，在 Pocket、微信、微博里收藏了许多的文章。但我强迫自己在年底最后一天一定要全部清理掉，该读的读，该删的删。&lt;/p&gt;

&lt;p&gt;经典的《How to read a book》讲了读各种书的方法，这本书对我的阅读习惯影响颇深。在这里不讨论具体的方法，说一下我遵循的几个原则：&lt;/p&gt;
&lt;h3 id="不逼自己读"&gt;不逼自己读&lt;/h3&gt;
&lt;p&gt;尽管读的是经典或者同行推荐的好书，但并不一定就适合我，或者适合现阶段的我。所以当读一本书让我痛苦时，我会把它暂时放下，或换一本更加基础的，或待以后有一些阅历之后再读。比如：《管理 3.0》是一本好书，但在我还是一个纯纯的安静的 Developer 的时候，读起来是索然无味的。待开始领导团队，遇到过一些实际问题之后，便能与作者产生共鸣，读起来就很享受。&lt;/p&gt;
&lt;h3 id="不以读完为目标"&gt;不以读完为目标&lt;/h3&gt;
&lt;p&gt;每次搬家的时候，我老婆总是望书兴叹：“买这么多书，你有几本是读完了的？”
我总是反问她，为什么我要把每一本书都读完？
把书从头到尾读完，就像从 A 到 Z 背单词一样无聊。我认为那是应试教育养成的恶习。
而且现在的图书，作者在写作时都力求章节间相对独立，为的就是方便大家选择感兴趣的部分进行阅读。&lt;/p&gt;

&lt;p&gt;在《这样读书就够了》一书中，作者的观点深得我心，不应以读完为目标，而应该重视如何将书中的知识应用到工作中，学会一点便不亏了，学会两点就赚大发了。&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;在开始读一本书之前，我通常会问自己几个问题，带着问题去读，能帮助我更加专注。
比如对于《共创式教练》一书，在翻开之前我就列出如下几个问题：&lt;/p&gt;

&lt;ul&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;/ul&gt;

&lt;p&gt;在读的过程中，可能又会提出新的问题，没关系，加到列表里，一个一个去“问”作者。&lt;/p&gt;
&lt;h3 id="设置WIP"&gt;设置 WIP&lt;/h3&gt;
&lt;p&gt;多任务是低效的。所以我通常会限制自己最多同时读两本书。两种不同类型的书交替阅读可以换换脑子，&lt;/p&gt;
&lt;h3 id="设置Dead line"&gt;设置 Dead line&lt;/h3&gt;
&lt;p&gt;虽然不逼自己读无趣的书，但人天生是有惰性的，虽然我很想读，但我的注意力可能会被“朋友圈”的各种新鲜事吸引。
所以我必须给当前在读的书设置一个 Dead line，并且给自己一些激励，比如读完（并非逐页读完）一本书后奖励自己买一个 iOS 小游戏玩玩。&lt;/p&gt;
&lt;h2 id="实践与分享"&gt;实践与分享&lt;/h2&gt;
&lt;p&gt;通过阅读，我获得了作者的知识和经验，但必须要我亲自实践后才能将其转化为我的能力和经验。比如我通过《Test Driven Development by Example》学习 TDD，然后在工作中去应用，再在社区去分享自己的经验。&lt;/p&gt;

&lt;p&gt;我认为读书并不是最好的学习方式，因为你不能和作者互动，不能获得作者最新的想法。我更喜欢面对面的交流，知识是最新的，而且可以很好地互动。所以我非常愿意通过社区活动与人分享。这样听我分享的人便走了一条捷径。&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;del&gt;书山有路勤为径，学海无涯苦作舟&lt;/del&gt;。&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;我认为学习不应该是辛苦或痛苦的，而是&lt;strong&gt;&lt;em&gt;一个满足自己好奇心和求知欲的极富成就感的快乐的过程&lt;/em&gt;&lt;/strong&gt;。
我读书少，你不要骗我，我才不相信什么：《苦才是人生》。人生苦短，干嘛非要和自己死磕，去学那些不感兴趣的，学起来辛苦和痛苦的东西？
我更喜欢用《优势识别器》识别出优势，在有天赋的领域快乐地学习，事半功倍地成长。&lt;/p&gt;

&lt;p&gt;原文在我个人博客：&lt;a href="http://www.seabornlee.cn/post/du-shu/wo-ru-he-du-shu" rel="nofollow" target="_blank"&gt;http://www.seabornlee.cn/post/du-shu/wo-ru-he-du-shu&lt;/a&gt;&lt;/p&gt;</description>
      <author>seabornlee</author>
      <pubDate>Thu, 12 Mar 2015 08:30:56 +0800</pubDate>
      <link>https://ruby-china.org/topics/24606</link>
      <guid>https://ruby-china.org/topics/24606</guid>
    </item>
    <item>
      <title>升级 Yosemite 的常见问题解决办法</title>
      <description>&lt;p&gt;前两天 Apple 终于发布了稳定版的 Yosemite，相信大家等了这么久，都第一时间开始升级了吧。
最近总看到有朋友在问一些升级的问题，因为我早在 Beta 版的时候就已经升级，经历过一些问题，写出来希望能对大家有些帮助。&lt;/p&gt;
&lt;h3 id="耐心等待“最后x分钟”"&gt;耐心等待“最后 x 分钟”&lt;/h3&gt;
&lt;p&gt;我在第一次升级的时候，一路都很顺畅，直到最后显示还需要“2 分钟”，然后我等了超过 1 小时，于是我认为升级已经失败，便强行重启了，导致系统无法正常启动，只能重新来过。花了很多时间后，最后终于知道问题在哪里，在升级过程中，可以按&lt;code&gt;CMD+L&lt;/code&gt;打开 Log 窗口，你能看到其实升级程序一直在运行，只不过在处理 HomeBrew 安装的程序，因为我是 Home Brew 重度用户，这块需要很长时间，唯一能做的就是耐心等待，出去跑一个半程马拉松再回来也许是个好选择。&lt;/p&gt;
&lt;h3 id="修改plist文件才能运行Java应用"&gt;修改 plist 文件才能运行 Java 应用&lt;/h3&gt;
&lt;p&gt;升级后你会发现 Eclipse，IntelliJ 等应用都不能启动了，你会看到如下的错误。&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;To open "IntelliJ IDEA" you need to install the legacy Java SE 6 runtime.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;img src="https://l.ruby-china.com/photo/2014/efcd0a4c173d6f252257f86a55541397.png" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;这是因为系统升级后 JVM 升级到了&lt;code&gt;1.7&lt;/code&gt;，而应用指定了依赖&lt;code&gt;1.6*&lt;/code&gt;的版本。
这时你有两种选择：
1 下载安装 JDK6 并指定 JAVA_HOME
2 修改 plist 文件，指定依赖的 JVM 为 1.7*&lt;/p&gt;

&lt;p&gt;第一种的好处是一次就能解决全部应用的问题，第二种需要逐个应用去修改。
这里重点说一下第二种办法，以 IntelliJ IDEA 为例：
1 用文本编辑器打开&lt;code&gt;/Applications/IntelliJ IDEA 13.app/Contents/Info.plist&lt;/code&gt;
2 搜索&lt;code&gt;JVMVersion&lt;/code&gt;，将其值改为&lt;code&gt;1.7*&lt;/code&gt;
3 再次运行应用即可看到应用成功运行&lt;/p&gt;

&lt;p&gt;&lt;img src="https://l.ruby-china.com/photo/2014/baad881f196a873ffff9d5777f009c4b.gif" title="" alt=""&gt;&lt;/p&gt;
&lt;h3 id="HAX is not working"&gt;HAX is not working&lt;/h3&gt;
&lt;p&gt;如果你使用 Android Emulator，你可能会发现，启动时显示："HAX is not working...."
这时你只需在 Terminal 中执行：&lt;code&gt;sudo nvram boot-args="kext-dev-mode=1"&lt;/code&gt; ，然后重启即可。&lt;/p&gt;
&lt;h3 id="Postgresql无法连接"&gt;Postgresql 无法连接&lt;/h3&gt;
&lt;p&gt;升级后你可能会发现无法连接 Postgresql 始终无法连接，重新安装也能解决。经过试验，将数据目录删除重建即可。
&lt;code&gt;initdb -D /usr/local/pgsql/data&lt;/code&gt;。&lt;/p&gt;
&lt;h3 id="设置Handoff功能"&gt;设置 Handoff 功能&lt;/h3&gt;
&lt;p&gt;升级完后第一时间就开始尝试 Handoff，结果却让人非常失望，但经过一番研究之后终于成功启用了此功能。
首先除了 Mac OS 要是 Yosemite 外，手机必须是 iOS8。
然后需要以下几步：
1 Yosemite 和 iOS 上的 iCloud 登录同一个 Apple ID；
2 Mac 和 iOS 上都要打开蓝牙，无需配对；
3 打开 Yosemite 的&lt;code&gt;System Preferences-&amp;gt;General&lt;/code&gt;，勾选“Allow Handoff between this Mac and your iCloud devices”
4 打开 iOS 的&lt;code&gt;Settings-&amp;gt;General-&amp;gt;Handoff &amp;amp; Suggested App&lt;/code&gt;，启用 Handoff。&lt;/p&gt;

&lt;p&gt;完毕，这时你在手机上打开 Safari，你的 Mac 的 Dock 最左边就会多出一个浏览器图标，你在 Mac 上的 Safari 打开一个网页，手机的锁屏界面也会显示一个 Safari 图标。更多有趣的功能请自行搜索。&lt;/p&gt;
&lt;h3 id="在Mac上打电话"&gt;在 Mac 上打电话&lt;/h3&gt;
&lt;p&gt;相信大家都对发布会上演示的使用 Mac 打电话期待已久，这个也不是升完级就能直接使用的。需要进行简单的设置：
1 打开 iOS 的&lt;code&gt;Settings-&amp;gt;FaceTime&lt;/code&gt;，启用&lt;code&gt;iPhone Cellular Calls&lt;/code&gt;；
2 打开 Yosemite 上的 FaceTime 的设置，勾选&lt;code&gt;iPhone Cellular Calls&lt;/code&gt;。&lt;/p&gt;

&lt;p&gt;一开始我错误地认为这个功能是 Handoff 中的一部分，但其实它们没有半毛钱关系，而且也无需蓝牙连接，无需 3G，只要手机与电脑在同一 Wifi 下即可。另外，收发短信的功能据说要等升了 iOS 8.1 后才能用。&lt;/p&gt;

&lt;p&gt;就这么多，不用谢，请叫我雷锋。&lt;/p&gt;</description>
      <author>seabornlee</author>
      <pubDate>Sun, 19 Oct 2014 22:12:31 +0800</pubDate>
      <link>https://ruby-china.org/topics/22120</link>
      <guid>https://ruby-china.org/topics/22120</guid>
    </item>
    <item>
      <title>[深圳][2014年6月28日] 精创周末深圳站</title>
      <description>&lt;p&gt;时间：2014 年 06 月 28 日 13:30-17:30
地点：深圳市南山科技园科技中二路软件园 11 栋 7 楼咖啡吧（迅雷网络技术有限公司）
费用：免费
规模：60 人
受众：产品经理，开发人员，Tech Lead
联系人：&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;李小波（ThoughtWorks）：13311130852&lt;/li&gt;
&lt;li&gt;朱克锋（盒子支付）：13728662450&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;日程安排&lt;/strong&gt;：&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;13:30 - 13:45 开场&lt;/li&gt;
&lt;li&gt;13:45 - 14:45 演讲一：精益创业中的用户研究策略&lt;/li&gt;
&lt;li&gt;14:45 - 15:45 演讲二：Coding Style&lt;/li&gt;
&lt;li&gt;16:00 - 17:30 代码道场 &amp;amp; Fishbowl&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="话题介绍："&gt;话题介绍：&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;精益创业中的用户研究策略&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;讲师：朱晨&lt;/p&gt;

&lt;p&gt;ThoughtWorks 用户体验设计师，专注于实践精益体验设计，将精益创业的理念融入到设计思维中去实践可落地的创新产品。曾就职于腾讯、支付宝任交互设计师。&lt;/p&gt;

&lt;p&gt;内容简介：&lt;/p&gt;

&lt;p&gt;产品的起源或来自于原创的点子，有的来自于 Copy to China。产品创新度越高，就越容易面临偏离用户需求的风险。在产品成长过程中，需要频繁地保持与真实用户的接触，通过持续地进行用户研究来验证对用户的猜想、探索未来的发展方向。我们通过实践总结了一套行之有效的用户研究策略，可以帮你在打造产品过程中选择合理的用户卷入时机。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;程序员如何成长&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;讲师：李小波&lt;/p&gt;

&lt;p&gt;ThoughtWorks 程序员。热爱编码，写过 Java EE、Android、Web app、Ruby on Rails。崇尚开源，是多个开源项目的贡献者。工具控，追求简洁与高效的工作方式。喜欢影响别人，擅长打造有激情的团队。社区活动组织者与讲师，组织过 Agile Tour、Scrum Gathering、Global Day of CodeRetreat。&lt;/p&gt;

&lt;p&gt;内容简介：&lt;/p&gt;

&lt;p&gt;“Code Style 关注最终的代码，而 Coding Style 关注编码的过程。”
我们提 Code Style 已经很多年了，大家都已经对代码质量有了足够的重视，我们也有 Lint 类的静态分析工具，有 Code Review、Pair Programming 类的实践来保证交付的代码符合规范。但是，我们不能仅停留于能写出好的代码。达到同样的产出，不同的程序员花费的时间相差 10 倍以上，写代码的过程是否优雅与舒适、是否高效将是我们追求的下一个目标。本次我将分享如何提高自己的编码效率，改进自己的 Coding Style。&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;代码道场是一个学习的空间。一些程序员（通常是 15-20 人）在一起编程解决一个问题。一边编程，一边互相学习。每个人可以从代码道场中学到：解决问题的思路、编程技巧、面向对象设计、演进式设计、结对编程、测试驱动开发、持续集成、git、IDE、编辑器等等。即使从别人犯的错误中，我们也能够学到很多。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Fishbowl&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;引导者：朱克锋&lt;/p&gt;

&lt;p&gt;盒子支付高级软件工程师，部门经理，致力于移动支付，关注敏捷，组织多次敏捷活动。热爱技术，拥有多项发明专利。组织过敏捷之旅、Scrum Gathering、Global Day of CodeRetreat。&lt;/p&gt;

&lt;p&gt;内容简介：&lt;/p&gt;

&lt;p&gt;Fishbowl 是一种新型的非会议活动形式。秉持没有专家的理念，所有参与者平等交流，互相分享与学习。&lt;/p&gt;

&lt;p&gt;具体形式是：首先，引导者从所有参与者那里收集话题，形成一个列表。台上放 5 把椅子，只有坐在这些椅子上的人才能参与讨论。这 5 把椅子只坐 4 个人，剩下的一个位置留给观众中想参与讨论的人。在讨论过程中，如果观众中有人有话要说，直接坐上去，这时另外 4 人中必须有且只有 1 人离开，回到观众席中。引导者负责计时，每 5 分钟后，由所有观众进行投票，选择是否继续当前话题，若不继续，则选择列表中的下一个话题开始讨论，重新开始计时。参考百科：&lt;a href="http://en.wikipedia.org/wiki/Fishbowl_conversation)" rel="nofollow" target="_blank"&gt;http://en.wikipedia.org/wiki/Fishbowl_conversation)&lt;/a&gt;(&lt;/p&gt;
&lt;h3 id="活动背景："&gt;活动背景：&lt;/h3&gt;
&lt;p&gt;敏捷驴友汇 - 精创周末活动将在 6 月 28 日第一次全国联合上演，无论你在哪里，都无需费劲旅途周折参加活动。感谢全国组织者鼎力支持，最强跨省讲师阵容，超过 14 个城市参与，精彩不容错过~&lt;/p&gt;

&lt;p&gt;目前参与的城市有：北京、上海、西安、大连、太原、青岛、天津、南京、成都、福州、厦门、深圳、长沙、郑州。快快告诉你的童鞋、盆友，广发微博、微信圈，6 月 28 日精创与敏友们不见不散！&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;本次活动由“敏捷驴友汇”主办，迅雷公司协办。&lt;/strong&gt; 
报名链接：&lt;a href="https://jinshuju.net/f/CVcWq2" rel="nofollow" target="_blank" title=""&gt;https://jinshuju.net/f/CVcWq2&lt;/a&gt;&lt;/p&gt;</description>
      <author>seabornlee</author>
      <pubDate>Wed, 25 Jun 2014 09:56:19 +0800</pubDate>
      <link>https://ruby-china.org/topics/20149</link>
      <guid>https://ruby-china.org/topics/20149</guid>
    </item>
  </channel>
</rss>
