<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="/rss.xsl" type="text/xsl"?>
<rss version="2.0">
  <channel>
    <title>IT瘾startup推荐</title>
    <link>https://itindex.net/tags/startup</link>
    <description>IT社区推荐资讯 - ITIndex.net</description>
    <language>zh</language>
    <copyright>https://itindex.net/</copyright>
    <generator>https://itindex.net/</generator>
    <docs>http://backend.userland.com/rss</docs>
    <image>
      <url>https://itindex.net/images/logo.gif</url>
      <title>IT社区推荐资讯 - ITIndex.net</title>
      <link>https://itindex.net/tags/startup</link>
    </image>
    <item>
      <title>我的招聘用人观</title>
      <link>https://itindex.net/detail/59742-%E6%8B%9B%E8%81%98</link>
      <description>&lt;p&gt;随着创业深入和公司发展，对人才选聘录用的理解日趋加深。周末梳理部分认知如下，仅供参考。&lt;/p&gt;
 &lt;ul&gt;
  &lt;li&gt;
   &lt;p&gt;我现在招创业团队早期员工看重的能力模型排序：诚实 &amp;gt; 自驱力/使命感/目标意识/野心 &amp;gt; 学习力（信息素养比重最高） &amp;gt; 职业度（执行力比重最高） &amp;gt; 经验。&lt;/p&gt;
&lt;/li&gt;
  &lt;li&gt;
   &lt;p&gt;冲着创始人名气前来投奔的，慎选录用。优孟得时皆贵客，英雄见惯亦常人。社会舞台多有面具，always keep real 者寡。越是对大佬抱有幻想，人设崩塌带来的期望落空感越显著。（所以我并不会对读完《增长黑客》慕名而来的 candidate 网开一面，反倒会抛出几个书中问题，检测读完是否消化）&lt;/p&gt;
&lt;/li&gt;
  &lt;li&gt;
   &lt;p&gt;英文好，大概率是综合素质高的相关性表现。在非母语国家、非科班出身者里，这意味着至少命中如下几条中的一条：1）智商高学习快，或起码努力；2）对同一种事物，能建立两套认知体系而并行不悖；3）日常有足够多使用场景，例如经常检索海外信息、阅读顶尖期刊杂志；4）家境优渥，能支持负担出国留学。这些任何一条都是加分项。&lt;/p&gt;
&lt;/li&gt;
  &lt;li&gt;
   &lt;p&gt;听马云侃侃而谈「一家公司最重要的是使命、愿景、价值观」，作为员工，觉得所言皆虚，作为老板，不能认同更多。这三要素是绑定人才的必备条件，而足够高的薪资并不是。&lt;/p&gt;
&lt;/li&gt;
  &lt;li&gt;
   &lt;p&gt;「Hire slow, fire fast.」简直至理名言。我曾经横跨四个月、当面接触三次最终吸纳的一位员工，整体素质理想。&lt;/p&gt;
&lt;/li&gt;
  &lt;li&gt;
   &lt;p&gt;「最高的工资给最优秀的人才，最优秀的人才创造最大的价值。」这是我毕业进盛大时，陈天桥让我印象极深的一句用人准则。但千万不要把这句话理解成：只要给足够高的工资，任何人都能自动进化成匹配得上这份工资的人才。绝大多数人缺乏这份使命感和自驱力，因此也无法意识才不配位的潜在危机。&lt;/p&gt;
&lt;/li&gt;
  &lt;li&gt;
   &lt;p&gt;善用兼职、实习生、管培生完成简单重复的机械劳动，这既是扎马步也是筛选器；把需要深度思考和创造力的事情留给正式员工（这些工作往往也更有成就感）。&lt;/p&gt;
&lt;/li&gt;
  &lt;li&gt;
   &lt;p&gt;要懂得恩威并施。只惩罚不奖励，就难以持续突破业绩；只奖励不惩罚，就容易不断突破底线。&lt;/p&gt;
&lt;/li&gt;
  &lt;li&gt;
   &lt;p&gt;招聘员工，其实就跟打炉石传说竞技场模式的组卡过程一样：同等费用（资历）下，挑选基础攻防（基本技能）和特殊能力（附加价值）最出挑的卡牌；不同费用下，要看基础攻防和特殊能力都落在上扬抛物线上的，也就是说，资历越老越考核复合增长率。&lt;/p&gt;
&lt;/li&gt;
  &lt;li&gt;
   &lt;p&gt;优先招聘意识到如下这条的员工：公司付给你的薪资里，已经包含了让你在业余时间升级认知、提升技能、采购效率工具、增强行业交流的部分。&lt;/p&gt;
&lt;/li&gt;
  &lt;li&gt;
   &lt;p&gt;审美是主观的，但绝对有高下之分，表面上是受周遭日常的潜移默化，深层次是受所处圈层的相互影响。尽量招审美水平一致者，既能保证沟通顺畅，又能创造舒服的办公环境。&lt;/p&gt;
&lt;/li&gt;
  &lt;li&gt;
   &lt;p&gt;从基层员工晋升领导，是从小绵羊变成牧羊犬的进化，势必经过幡然醒悟和自我鞭策为「badass」「bitch」的过程。善政未必得民心，暴政大概率出业绩。这在历史上被反复证明。&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt; &lt;a href="https://itindex.net/"  title="IT 资讯"&gt;&lt;img src="https://itindex.net/images/iconWarning.gif" title="IT 资讯" border="0"/&gt; &lt;/a&gt;</description>
      <category>// Zen business method recruit startup</category>
      <guid isPermaLink="true">https://itindex.net/detail/59742-%E6%8B%9B%E8%81%98</guid>
      <pubDate>Tue, 25 Jun 2019 12:41:16 CST</pubDate>
    </item>
    <item>
      <title>互联网人才的成长之路：写在创业 7 周年</title>
      <link>https://itindex.net/detail/59502-%E4%BA%92%E8%81%94%E7%BD%91-%E6%88%90%E9%95%BF-%E5%88%9B%E4%B8%9A</link>
      <description>&lt;h2&gt;  &lt;a href="http://blog.devtang.com/#&amp;#21069;&amp;#35328;" title="&amp;#21069;&amp;#35328;"&gt;&lt;/a&gt;前言&lt;/h2&gt; &lt;p&gt;在互联网行业工作快十年了，自己在猿辅导参与创业也马上 7 年了。自己始终想总结出互联网人才在成长上大的阶段，于是有了最近的这个心得。其实不一定对，但是也算是思考了很久，所以写出来供大家讨论交流。&lt;/p&gt;
 &lt;p&gt;不管是做产品、技术，还是做运营，市场，我把一个互联网人才的成长分为四级，每一级对应一类能力。&lt;/p&gt;
 &lt;h2&gt;  &lt;a href="http://blog.devtang.com/#&amp;#31532;&amp;#19968;&amp;#32423;&amp;#65306;&amp;#25191;&amp;#34892;&amp;#33021;&amp;#21147;" title="&amp;#31532;&amp;#19968;&amp;#32423;&amp;#65306;&amp;#25191;&amp;#34892;&amp;#33021;&amp;#21147;"&gt;&lt;/a&gt;第一级：执行能力&lt;/h2&gt; &lt;p&gt;我对执行能力的解释是：对于比较明确的工作目标和内容，通过对目标进行分析，对步骤进行拆解，以及投入自己的热情和努力，加上一定的沟通和协作，最终可以保质保量的完成工作目标。&lt;/p&gt;
 &lt;p&gt;刚毕业的同学，不管是做产品，还是做技术，还是做运营，都是做偏执行的事情。这个时候，工作其实是非常具体的，不会需要你花很大的精力来做规化。因为有偏资深的人把关，这个时候其实也相对容易完成目标。&lt;/p&gt;
 &lt;p&gt;但是，我个人觉得至少有 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;/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;所以，第一级能力，就挡住了 80% 的同学。&lt;/p&gt;
 &lt;p&gt;如果你做好了执行，恭喜你，你就是公司应届生里面那前 20% 绩效拿 A 的同学。你们可以获得超额的回报，并且可能获得晋升的机会。&lt;/p&gt;
 &lt;p&gt;但是，这仅仅是刚刚开始，让我们看看后面还有哪些能力需要积累。&lt;/p&gt;
 &lt;h2&gt;  &lt;a href="http://blog.devtang.com/#&amp;#31532;&amp;#20108;&amp;#32423;&amp;#65306;&amp;#36845;&amp;#20195;&amp;#30340;&amp;#33021;&amp;#21147;" title="&amp;#31532;&amp;#20108;&amp;#32423;&amp;#65306;&amp;#36845;&amp;#20195;&amp;#30340;&amp;#33021;&amp;#21147;"&gt;&lt;/a&gt;第二级：迭代的能力&lt;/h2&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;迭代能力做得好，首先应该例行化，一个人应该定期地做总结和反思。这就类似于 Scrum 将回顾会议（Retrospective Meeting）作为例行会议一样，让组织定期迭代。但是能够坚持按周、按月、按年总结反思的人还是偏少。最近一个朋友推荐《曾国藩传》，他说书里写道曾国藩按天为单位做自我反思总结，还把这些内容分享给周围的人，这就是人家牛逼的地方。&lt;/p&gt;
 &lt;p&gt;迭代能力做得好，也需要文档化。你应该用任何书面的方式把它记录下来，可以是纸质的，也可以是电子的（比如 Evernote 等）。《原则》、《卓有成效的管理者》等书里面都推荐了这个方法。因为文档化的内容，更方便做复盘和总结。文档化这件事情也很难坚持，因为相对来说比较枯燥。&lt;/p&gt;
 &lt;p&gt;举个例子：我现在觉得某支股票很厉害，买了一些它的股票。我如果把这些买下它的理由写下来。然后过了半年，假如这个股票跌了，那我就得看我当时的决策为什么不对。这相当于一条一条打自己的脸。如果没有文档化，这个事情就容易被糊弄过去，那我得到的总结就不够深刻了。&lt;/p&gt;
 &lt;p&gt;迭代能力之所以重要，是因为个人成长之路很多时候无法依赖于老师教，只能通过自我学习，而迭代总结就是最好的个体学习方式。&lt;/p&gt;
 &lt;h2&gt;  &lt;a href="http://blog.devtang.com/#&amp;#31532;&amp;#19977;&amp;#32423;&amp;#65306;&amp;#24320;&amp;#25918;&amp;#21644;&amp;#32452;&amp;#32455;&amp;#33021;&amp;#21147;" title="&amp;#31532;&amp;#19977;&amp;#32423;&amp;#65306;&amp;#24320;&amp;#25918;&amp;#21644;&amp;#32452;&amp;#32455;&amp;#33021;&amp;#21147;"&gt;&lt;/a&gt;第三级：开放和组织能力&lt;/h2&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;/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;p&gt;说完开放能力，再说说组织能力。&lt;/p&gt;
 &lt;p&gt;组织能力，是一种招聘和培养核心班子的能力。在之前的能力级别，都依赖于自己更多，而在这个级别，依赖于别人更多。不管是做决策还是做执行，本质上你离不开别人了。如果最大化你的价值和组织的价格，是需要学习的。优秀的人可以通过培养，招聘，授权，聚焦，管理非常多的人和事情。&lt;/p&gt;
 &lt;h2&gt;  &lt;a href="http://blog.devtang.com/#&amp;#31532;&amp;#22235;&amp;#32423;&amp;#65306;&amp;#25112;&amp;#30053;&amp;#33021;&amp;#21147;&amp;#12290;" title="&amp;#31532;&amp;#22235;&amp;#32423;&amp;#65306;&amp;#25112;&amp;#30053;&amp;#33021;&amp;#21147;&amp;#12290;"&gt;&lt;/a&gt;第四级：战略能力。&lt;/h2&gt; &lt;p&gt;战略能力是指：能够通过思考，产出高质量竞争策略的能力。所谓的高质量，就是从结果看能够产生商业竞争上的优势。&lt;/p&gt;
 &lt;p&gt;战略能力看起来简单，但实操无比困难。你得抵挡诱惑，决定做什么不做什么；你得构建有效的竞争手段；你得最终形成互城河。你的对手一点都不笨，你想得到的别人也想得到，你要假设面对的是一个完美对手。用最坏情况下，打明牌也能成功的方式来获胜。&lt;/p&gt;
 &lt;p&gt;也因为战略太重要了，所以初创公司的 CEO 值得拿超过 50% 的决策权和相关股份。当然，他也承担了企业最大的成败因素。因为战略错了，什么都错了。&lt;/p&gt;
 &lt;p&gt;我个人对战略能力的亲身实践非常少，但是我所在的猿辅导公司，从最初的从成人教育转到 K12 领域，到之后的专注在线直播课业务，都给我很强的感受：原来战略定得好可以这么厉害。我也希望在这方面能够持续学习提高。&lt;/p&gt;
 &lt;h2&gt;  &lt;a href="http://blog.devtang.com/#&amp;#23567;&amp;#32467;" title="&amp;#23567;&amp;#32467;"&gt;&lt;/a&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;li&gt;第四级：战略能力。&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt; &lt;a href="https://itindex.net/"  title="IT 资讯"&gt;&lt;img src="https://itindex.net/images/iconWarning.gif" title="IT 资讯" border="0"/&gt; &lt;/a&gt;</description>
      <category>summary startup</category>
      <guid isPermaLink="true">https://itindex.net/detail/59502-%E4%BA%92%E8%81%94%E7%BD%91-%E6%88%90%E9%95%BF-%E5%88%9B%E4%B8%9A</guid>
      <pubDate>Mon, 22 Apr 2019 22:40:12 CST</pubDate>
    </item>
    <item>
      <title>登录工程：现代Web应用中的身份验证技术</title>
      <link>https://itindex.net/detail/56916-%E7%99%BB%E5%BD%95-%E5%B7%A5%E7%A8%8B-%E7%8E%B0%E4%BB%A3</link>
      <description>&lt;div&gt;  &lt;p&gt;“登录工程”的前两篇文章分别介绍了   &lt;a href="http://insights.thoughtworkers.org/traditional-web-app-authentication/"&gt;《传统Web应用中的身份验证技术》&lt;/a&gt;，以及   &lt;a href="http://insights.thoughtworkers.org/project-of-login/"&gt;《现代Web应用中的典型身份验证需求》&lt;/a&gt;，接下来是时候介绍适应于现代Web应用中的身份验证实践了。&lt;/p&gt;  &lt;h3&gt;登录系统&lt;/h3&gt;  &lt;p&gt;首先，我们要为“登录”做一个简要的定义，令后续的讲述更准确。之前的两篇文章有意无意地混淆了“登录”与“身份验证”的说法，因为在本篇之前，不少“传统Web应用”都将对身份的识别看作整个登录的过程，很少出现像企业应用环境中那样复杂的情景和需求。但从之前的文章中我们看到，现代Web应用对身份验证相关的需求已经向复杂化发展了。&lt;/p&gt;  &lt;p&gt;我们有必要重新认识一下登录系统。登录指的是从识别用户身份，到允许用户访问其权限相应的资源的过程。举个例子，在网上买好了票之后去影院观影的过程就是一个典型的登录过程：我们先去取票机，输入验证码取票；接着拿到票去影厅检票进入。取票的过程即身份验证，它能够证明我们拥有这张票；而后面检票的过程，则是授权访问的过程。之所以要分成这两个过程，最直接的原因还是业务形态本身具有复杂性——如果观景过程是免费匿名的，也就免去了这些过程。&lt;/p&gt;  &lt;p&gt;   &lt;a href="http://insights.thoughtworkers.org/wp-content/uploads/2017/05/1-authentication.png"&gt;    &lt;img alt="" height="497" src="http://insights.thoughtworkers.org/wp-content/uploads/2017/05/1-authentication.png" width="836"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;在登录的过程中，“鉴权”与“授权”是两个最关键的过程。接下来要介绍的一些技术和实践，也包含在这两个方面中。虽然现代Web应用的登录需求比较复杂，但只要处理好了鉴权和授权两个方面，其余各个方面的问题也将迎刃而解。在现代Web应用的登录工程实践中，需要结合传统Web应用的典型实践，以及一些新的思路，才能既解决好登录需求，又能符合Web的轻量级架构思路。&lt;/p&gt;  &lt;h3&gt;解析常见的登录场景&lt;/h3&gt;  &lt;p&gt;在简单的Web系统中，典型的鉴权也就是要求用户输入并比对用户名和密码的过程，而授权则是确保会话Cookie存在。而在稍微复杂的Web系统中，则需要考虑多种鉴权方式，以及多种授权场景。上一篇文章中所述的“多种登录方式”和“双因子鉴权”就是多种鉴权方式的例子。有经验的人经常调侃说，只要理解了鉴权与授权，就能清晰地理解登录系统了。不光如此，这也是安全登录系统的基础所在。&lt;/p&gt;  &lt;p&gt;鉴权的形式丰富多彩，有传统的用户名密码对、客户端证书，有人们越来越熟悉的第三方登录、手机验证，以及新兴的扫码和指纹等方式，它们都能用于对用户的身份进行识别。在成功识别用户之后，在用户访问资源或执行操作之前，我们还需要对用户的操作进行授权。&lt;/p&gt;  &lt;p&gt;   &lt;a href="http://insights.thoughtworkers.org/wp-content/uploads/2017/05/2-authorization-1.jpg"&gt;    &lt;img alt="" height="394" src="http://insights.thoughtworkers.org/wp-content/uploads/2017/05/2-authorization-1-1024x577.jpg" width="700"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;在一些特别简单的情形中——用户一经识别，就可以无限制地访问资源、执行所有操作——系统直接对所有“已登录的人”放行。比如高速公路收费站，只要车辆有合法的号牌即可放行，不需要给驾驶员发一张用于指示“允许行驶的方向或时间”的票据。除了这类特别简单的情形之外，授权更多时候是比较复杂的工作。&lt;/p&gt;  &lt;p&gt;在单一的传统Web应用中，授权的过程通常由会话Cookie来完成——只要服务器发现浏览器携带了对应的Cookie，即允许用户访问资源、执行操作。而在浏览器之外，例如在Web API调用、移动应用和富 Web 应用等场景中，要提供安全又不失灵活的授权方式，就需要借助令牌技术。&lt;/p&gt;  &lt;h3&gt;令牌&lt;/h3&gt;  &lt;p&gt;令牌是一个在各种介绍登录技术的文章中常被提及的概念，也是现代Web应用系统中非常关键的技术。令牌是一个非常简单的概念，它指的是在用户通过身份验证之后，为用户分配的一个临时凭证。在系统内部，各个子系统只需要以统一的方式正确识别和处理这个凭证即可完成对用户的访问和操作进行授权。在上文所提到的例子中，电影票就是一个典型的令牌。影厅门口的工作人员只需要确认来客手持印有对应场次的电影票即视为合法访问，而不需要理会客户是从何种渠道取得了电影票（比如自行购买、朋友赠予等），电影票在本场次范围内可以持续使用（比如可以中场出去休息等）、过期作废。通过电影票这样一个简单的令牌机制，电影票的出售渠道可以丰富多样，检票人员的工作却仍然简单轻松。&lt;/p&gt;  &lt;p&gt;   &lt;a href="http://insights.thoughtworkers.org/wp-content/uploads/2017/05/3-token-1.jpg"&gt;    &lt;img alt="" height="467" src="http://insights.thoughtworkers.org/wp-content/uploads/2017/05/3-token-1-1024x683.jpg" width="700"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;从这个例子也可以看出令牌并非什么神奇的机制，只是一种很常见的做法。还记得第一篇文章中所述的“自包含的Cookie”吗？那实际上就是一个令牌而已，而且在令牌中写有关于有效性的内容——正如一个电影票上会写明场次与影厅编号一样。可见，在Web安全系统中引入令牌的做法，有着与传统场合一样的妙用。在安全系统中，令牌经常用于包含安全上下文信息，例如被识别的用户信息、令牌的颁发来源、令牌本身的有效期等。另外，在必要时可以由系统废止令牌，在它下次被使用用于访问、操作时，用户被禁止。&lt;/p&gt;  &lt;p&gt;由于令牌有这些特殊的妙用，因此安全行业对令牌标准的制定工作一直没有停止过。在现代化Web系统的演进过程中，流行的方式是选用基于Web技术的“简单”的技术来代替相对复杂、重量级的技术。典型地，比如使用JSON-RPC或REST接口代替了SOAP格式的服务调用，用微服务架构代替了SOA架构等等。而适用于Web技术的令牌标准就是Json Web Token（JWT），它规范了一种基于JSON的令牌的简单格式，可用于安全地封装安全上下文信息。&lt;/p&gt;  &lt;h3&gt;OAuth 2、Open ID Connect&lt;/h3&gt;  &lt;p&gt;令牌在广为使用的OAuth技术中被采用来完成授权的过程。OAuth是一种开放的授权模型，它规定了一种供资源拥有方与消费方之间简单又直观的交互方法，即从消费方向资源拥有方发起使用AccessToken（访问令牌）签名的HTTP请求。这种方式让消费方应用在无需（也无法）获得用户凭据的情况下，只要用户完成鉴权过程并同意消费方以自己的身份调用数据和操作，消费方就可以获得能够完成功能的访问令牌。OAuth简单的流程和自由的编程模型让它很好地满足了开放平台场景中授权第三方应用使用用户数据的需求。不少互联网公司建设开放平台，将它们的用户在其平台上的数据以 API 的形式开放给第三方应用来使用，从而让用户享受更丰富的服务。&lt;/p&gt;  &lt;p&gt;   &lt;a href="http://insights.thoughtworkers.org/wp-content/uploads/2017/05/4-OAuth.png"&gt;    &lt;img alt="" height="438" src="http://insights.thoughtworkers.org/wp-content/uploads/2017/05/4-OAuth.png" width="872"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;OAuth在各个开放平台的成功使用，令更多开发者了解到它，并被它简单明确的流程所吸引。此外，OAuth协议规定的是授权模型，并不规定访问令牌的数据格式，也不限制在整个登录过程中需要使用的鉴权方法。人们很快发现，只要对OAuth进行合适的利用即可将其用于各种自有系统中的场景。例如，将 Web 服务视作资源拥有方，而将富Web应用或者移动应用视作消费方应用，就与开放平台的场景完全吻合。&lt;/p&gt;  &lt;p&gt;另一个大量实践的场景是基于OAuth的单点登录。OAuth并没有对鉴权的部分做规定，也不要求在握手交互过程中包含用户的身份信息，因此它并不适合作为单点登录系统来使用。然而，由于OAuth的流程中隐含了鉴权的步骤，因而仍然有不少开发者将这一鉴权的步骤用作单点登录系统，这也俨然衍生成为一种实践模式。更有人将这个实践进行了标准化，它就是Open ID Connect——基于OAuth的身份上下文协议，通过它即可以JWT的形式安全地在多个应用中共享用户身份。接下来，只要让鉴权服务器支持较长的会话时间，就可以利用OAuth为多个业务系统提供单点登录功能了。&lt;/p&gt;  &lt;p&gt;   &lt;img alt="" height="420" src="http://insights.thoughtworkers.org/wp-content/uploads/2017/05/5-Open-ID-Connect-1024x615.png" width="700"&gt;&lt;/img&gt;&lt;/p&gt;  &lt;p&gt;我们还没有讨论OAuth对鉴权系统的影响。实际上，OAuth对鉴权系统没有影响，在它的框架内，只是假设已经存在了一种可用于识别用户的有效机制，而这种机制具体是怎么工作的，OAuth并不关心。因此我们既可以使用用户名密码（大多数开放平台提供商都是这种方式），也可以使用扫码登录来识别用户，更可以提供诸如“记住密码”，或者双因子验证等其他功能。&lt;/p&gt;  &lt;h3&gt;汇总&lt;/h3&gt;  &lt;p&gt;上面罗列了大量术语和解释，那么具体到一个典型的Web系统中，又应该如何对安全系统进行设计呢？综合这些技术，从端到云，从Web门户到内部服务，本文给出如下架构方案建议：&lt;/p&gt;  &lt;p&gt;推荐为整个应用的所有系统、子系统都部署全程的HTTPS，如果出于性能和成本考虑做不到，那么至少要保证在用户或设备直接访问的Web应用中全程使用HTTPS。&lt;/p&gt;  &lt;p&gt;用不同的系统分别用作身份和登录，以及业务服务。当用户登录成功之后，使用OpenID Connect向业务系统颁发JWT格式的访问令牌和身份信息。如果需要，登录系统可以提供多种登录方式，或者双因子登录等增强功能。作为安全令牌服务（STS），它还负责颁发、刷新、验证和取消令牌的操作。在身份验证的整个流程的每一个步骤，都使用OAuth及JWT中内置的机制来验证数据的来源方是可信的：登录系统要确保登录请求来自受认可的业务应用，而业务在获得令牌之后也需要验证令牌的有效性。&lt;/p&gt;  &lt;p&gt;在Web页面应用中，应该申请时效较短的令牌。将获取到的令牌向客户端页面中以httponly的方式写入会话Cookie，以用于后续请求的授权；在后绪请求到达时，验证请求中所携带的令牌，并延长其时效。基于JWT自包含的特性，辅以完备的签名认证，Web 应用无需额外地维护会话状态。&lt;/p&gt;  &lt;p&gt;   &lt;a href="http://insights.thoughtworkers.org/wp-content/uploads/2017/05/6-web.png"&gt;    &lt;img alt="" height="461" src="http://insights.thoughtworkers.org/wp-content/uploads/2017/05/6-web-1024x674.png" width="700"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;在富客户端Web应用（单页应用），或者移动端、客户端应用中，可按照应用业务形态申请时效较长的令牌，或者用较短时效的令牌、配合专用的刷新令牌使用。&lt;/p&gt;  &lt;p&gt;在Web应用的子系统之间，调用其他子服务时，可灵活使用“应用程序身份”（如果该服务完全不直接对用户提供调用），或者将用户传入的令牌直接传递到受调用的服务，以这种方式进行授权。各个业务系统可结合基于角色的访问控制（RBAC）开发自有专用权限系统。&lt;/p&gt;  &lt;p&gt;作为工程师，我们不免会考虑，既然登录系统的需求可能如此复杂，而大家面临的需求在很多时候又是如此类似，那么有没有什么现成（Out of Box）的解决方案呢？自然是有的。IdentityServer是一个完整的开发框架，提供了普通登录到OAuth和Open ID Connect的完整实现；Open AM是一个开源的单点登录与访问管理软件平台；而Microsoft Azure AD和AWS IAM则是公有云上的身份服务。几乎在各个层次都有现成的方案可用。使用现成的产品和服务，能够极大地缩减开发成本，尤其为创业团队快速构建产品和灵活变化提供更有力的保障。&lt;/p&gt;  &lt;p&gt;本文简单解释了登录过程中所涉及的基本原理，以及现代Web应用中用于身份验证的几种实用技术，希望为您在开发身份验证系统时提供帮助。现代Web应用的身份验证需求多变，应用本身的结构也比传统的Web应用更复杂，需要架构师在明确了登录系统的基本原理的基础之上，灵活利用各项技术的优势，恰到好处地解决问题。&lt;/p&gt;  &lt;p&gt;登录工程的系列文章到此就全部结束了，欢迎就文章内容提供反馈。&lt;/p&gt;  &lt;hr&gt;&lt;/hr&gt;  &lt;p&gt;   &lt;strong&gt;更多精彩洞见，请关注微信公众号：思特沃克&lt;/strong&gt;&lt;/p&gt;  &lt;div&gt;   &lt;div&gt;    &lt;a href="http://www.addtoany.com/add_to/wechat?linkurl=http%3A%2F%2Finsights.thoughtworkers.org%2Fweb-app-authentication%2F&amp;linkname=%E7%99%BB%E5%BD%95%E5%B7%A5%E7%A8%8B%EF%BC%9A%E7%8E%B0%E4%BB%A3Web%E5%BA%94%E7%94%A8%E4%B8%AD%E7%9A%84%E8%BA%AB%E4%BB%BD%E9%AA%8C%E8%AF%81%E6%8A%80%E6%9C%AF" rel="nofollow" target="_blank" title="WeChat"&gt;&lt;/a&gt;    &lt;a href="http://www.addtoany.com/add_to/sina_weibo?linkurl=http%3A%2F%2Finsights.thoughtworkers.org%2Fweb-app-authentication%2F&amp;linkname=%E7%99%BB%E5%BD%95%E5%B7%A5%E7%A8%8B%EF%BC%9A%E7%8E%B0%E4%BB%A3Web%E5%BA%94%E7%94%A8%E4%B8%AD%E7%9A%84%E8%BA%AB%E4%BB%BD%E9%AA%8C%E8%AF%81%E6%8A%80%E6%9C%AF" rel="nofollow" target="_blank" title="Sina Weibo"&gt;&lt;/a&gt;    &lt;a href="http://www.addtoany.com/add_to/evernote?linkurl=http%3A%2F%2Finsights.thoughtworkers.org%2Fweb-app-authentication%2F&amp;linkname=%E7%99%BB%E5%BD%95%E5%B7%A5%E7%A8%8B%EF%BC%9A%E7%8E%B0%E4%BB%A3Web%E5%BA%94%E7%94%A8%E4%B8%AD%E7%9A%84%E8%BA%AB%E4%BB%BD%E9%AA%8C%E8%AF%81%E6%8A%80%E6%9C%AF" rel="nofollow" target="_blank" title="Evernote"&gt;&lt;/a&gt;    &lt;a href="http://www.addtoany.com/add_to/pocket?linkurl=http%3A%2F%2Finsights.thoughtworkers.org%2Fweb-app-authentication%2F&amp;linkname=%E7%99%BB%E5%BD%95%E5%B7%A5%E7%A8%8B%EF%BC%9A%E7%8E%B0%E4%BB%A3Web%E5%BA%94%E7%94%A8%E4%B8%AD%E7%9A%84%E8%BA%AB%E4%BB%BD%E9%AA%8C%E8%AF%81%E6%8A%80%E6%9C%AF" rel="nofollow" target="_blank" title="Pocket"&gt;&lt;/a&gt;    &lt;a href="http://www.addtoany.com/add_to/instapaper?linkurl=http%3A%2F%2Finsights.thoughtworkers.org%2Fweb-app-authentication%2F&amp;linkname=%E7%99%BB%E5%BD%95%E5%B7%A5%E7%A8%8B%EF%BC%9A%E7%8E%B0%E4%BB%A3Web%E5%BA%94%E7%94%A8%E4%B8%AD%E7%9A%84%E8%BA%AB%E4%BB%BD%E9%AA%8C%E8%AF%81%E6%8A%80%E6%9C%AF" rel="nofollow" target="_blank" title="Instapaper"&gt;&lt;/a&gt;    &lt;a href="http://www.addtoany.com/add_to/email?linkurl=http%3A%2F%2Finsights.thoughtworkers.org%2Fweb-app-authentication%2F&amp;linkname=%E7%99%BB%E5%BD%95%E5%B7%A5%E7%A8%8B%EF%BC%9A%E7%8E%B0%E4%BB%A3Web%E5%BA%94%E7%94%A8%E4%B8%AD%E7%9A%84%E8%BA%AB%E4%BB%BD%E9%AA%8C%E8%AF%81%E6%8A%80%E6%9C%AF" rel="nofollow" target="_blank" title="Email"&gt;&lt;/a&gt;    &lt;a href="http://www.addtoany.com/add_to/baidu?linkurl=http%3A%2F%2Finsights.thoughtworkers.org%2Fweb-app-authentication%2F&amp;linkname=%E7%99%BB%E5%BD%95%E5%B7%A5%E7%A8%8B%EF%BC%9A%E7%8E%B0%E4%BB%A3Web%E5%BA%94%E7%94%A8%E4%B8%AD%E7%9A%84%E8%BA%AB%E4%BB%BD%E9%AA%8C%E8%AF%81%E6%8A%80%E6%9C%AF" rel="nofollow" target="_blank" title="Baidu"&gt;&lt;/a&gt;    &lt;a href="http://www.addtoany.com/add_to/linkedin?linkurl=http%3A%2F%2Finsights.thoughtworkers.org%2Fweb-app-authentication%2F&amp;linkname=%E7%99%BB%E5%BD%95%E5%B7%A5%E7%A8%8B%EF%BC%9A%E7%8E%B0%E4%BB%A3Web%E5%BA%94%E7%94%A8%E4%B8%AD%E7%9A%84%E8%BA%AB%E4%BB%BD%E9%AA%8C%E8%AF%81%E6%8A%80%E6%9C%AF" rel="nofollow" target="_blank" title="LinkedIn"&gt;&lt;/a&gt;    &lt;a href="http://www.addtoany.com/add_to/pinterest?linkurl=http%3A%2F%2Finsights.thoughtworkers.org%2Fweb-app-authentication%2F&amp;linkname=%E7%99%BB%E5%BD%95%E5%B7%A5%E7%A8%8B%EF%BC%9A%E7%8E%B0%E4%BB%A3Web%E5%BA%94%E7%94%A8%E4%B8%AD%E7%9A%84%E8%BA%AB%E4%BB%BD%E9%AA%8C%E8%AF%81%E6%8A%80%E6%9C%AF" rel="nofollow" target="_blank" title="Pinterest"&gt;&lt;/a&gt;    &lt;a href="https://www.addtoany.com/share"&gt;分享&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt; &lt;a href="https://itindex.net/"  title="IT 资讯"&gt;&lt;img src="https://itindex.net/images/iconWarning.gif" title="IT 资讯" border="0"/&gt; &lt;/a&gt;</description>
      <category>startup</category>
      <guid isPermaLink="true">https://itindex.net/detail/56916-%E7%99%BB%E5%BD%95-%E5%B7%A5%E7%A8%8B-%E7%8E%B0%E4%BB%A3</guid>
      <pubDate>Mon, 08 May 2017 08:00:00 CST</pubDate>
    </item>
    <item>
      <title>Java 文件句柄泄露问题解决小记</title>
      <link>https://itindex.net/detail/56688-java-%E6%96%87%E4%BB%B6-%E5%8F%A5%E6%9F%84</link>
      <description>&lt;div&gt;  &lt;blockquote&gt;   &lt;p&gt;维护    &lt;a href="https://ide.coding.net" rel="nofollow" target="_blank"&gt;WebIDE&lt;/a&gt;免不了要管理很多的文件， 自从我们线上系统增加了资源回收功能，便一直受一个问题困扰：后台线程解绑目录时偶尔报错，看症状因为是某些文件被占用了，目录不能解绑。但是由于系统中很多地方都有打开文件，各种包也存在复杂的的引用关系，在搜查几遍代码后并没有发现什么明显的异常。&lt;/p&gt;&lt;/blockquote&gt;  &lt;p&gt;由于这个功能清理的是既没在线又没有在离线列表中的磁盘绑定目录，那么很可能是文件句柄泄露了，还有一种原因可能是 JVM 延迟释放文件句柄，不过实际是什么原因还需要用数据说话。&lt;/p&gt;  &lt;p&gt;经过一番搜索，发一个工具叫 file-leak-detector， 可以监控什么线程在什么时候打开了哪儿的文件，看起来好酷，官网在这里：   &lt;br /&gt;   &lt;a href="http://file-leak-detector.kohsuke.org" rel="nofollow" target="_blank"&gt;http://file-leak-detector.kohsuke.org&lt;/a&gt;&lt;/p&gt;  &lt;h2&gt;使用方式&lt;/h2&gt;  &lt;h3&gt;监听 HTTP 端口方式启动&lt;/h3&gt;  &lt;p&gt;以 javaagent 方式启动一个 jar 文件，输出在 http 19999 端口。   &lt;br /&gt;   &lt;code&gt;$java -javaagent:./file-leak-detector-1.8-jar-with-dependencies.jar=http=19999 -jar ide-backend.jar&lt;/code&gt;   &lt;br /&gt;然后直接在浏览器访问刚刚启动时配置的 http端口：   &lt;br /&gt;   &lt;a href="https://dn-coding-net-production-pp.qbox.me/fc6fdcc0-bf03-499a-bb46-2834e6aa9ba9.png" rel="nofollow" target="_blank"&gt;    &lt;img alt="&amp;#22270;&amp;#29255;" src="https://dn-coding-net-production-pp.qbox.me/fc6fdcc0-bf03-499a-bb46-2834e6aa9ba9.png"&gt;&lt;/img&gt;&lt;/a&gt;   &lt;br /&gt;可以看到当前所有打开中的文件的堆栈信息。&lt;/p&gt;  &lt;h3&gt;配置参数启动&lt;/h3&gt;  &lt;p&gt;配置线程数量限制,在文件句柄持有数超过设定数值时输出所有文件打开时的堆栈信息到 System 的 err 日志中。   &lt;br /&gt;   &lt;code&gt;$ java -javaagent:path/to/file-leak-detector.jar=threshold=200 ...your usual Java args follows...&lt;/code&gt;&lt;/p&gt;  &lt;h3&gt;Attach 方式启动&lt;/h3&gt;  &lt;p&gt;启动后直接被加载到运行中的 JAVA 进程里。&lt;/p&gt;  &lt;pre&gt;   &lt;code&gt;$ java -jar path/to/file-leak-detector.jar 1500 threshold=200,strong&lt;/code&gt;&lt;/pre&gt;  &lt;p&gt;strong 代表的含义是把记录信息的应用变成强引用，防止被 GC 回收掉，不设置在内存不足时文件记录会丢失。&lt;/p&gt;  &lt;h2&gt;实际使用体验&lt;/h2&gt;  &lt;p&gt;首先我们在测试服务器上部署端口来监控，然后进行各种测试，最后确实找到几处未关闭的代码。&lt;/p&gt;  &lt;pre&gt;   &lt;code&gt;$java -javaagent:./file-leak-detector-1.8-jar-with-dependencies.jar=http=19999 -jar xxx.jar&lt;/code&gt;&lt;/pre&gt;  &lt;p&gt;不过有一点比较不爽，绑定的地址是固定的 localhost, 远程的就不能访问。&lt;/p&gt;  &lt;pre&gt;   &lt;code&gt;╭─tiangao@tgmbp  ~/git/tiangao  ‹master*›
╰─$ curl 192.168.31.227:19999
curl: (7) Failed to connect to 192.168.31.227 port 19999: Connection refused&lt;/code&gt;&lt;/pre&gt;  &lt;p&gt;这个先放一边，官网说还可以 attach 到正在运行的进程中，这点才是我们到线上监控所需要的，有些问题只有在线上才会出现。&lt;/p&gt;  &lt;p&gt;不过官网里并没有发现怎么挂到正在运行中的 java 程序并开启 http 端口输出，而且监听的端口只有 localhost。这就让我们感觉有点怪异，   &lt;br /&gt;也许有安全性的考量吧，只好去看看源码，才知道怎么个用法，为了更方便还改了下监听的 host，以便远程可以访问。&lt;/p&gt;  &lt;p&gt;   &lt;strong&gt;AgentMain.java&lt;/strong&gt;&lt;/p&gt;  &lt;pre&gt;   &lt;code&gt;private static void runHttpServer(int port) throws IOException {
    final ServerSocket ss = new ServerSocket();
    ss.bind(new InetSocketAddress(&amp;quot;0.0.0.0&amp;quot;, port));
    System.err.println(&amp;quot;Serving file leak stats on http://0.0.0.0:&amp;quot;+ss.getLocalPort()+&amp;quot;/ for stats&amp;quot;);
    ...
}&lt;/code&gt;&lt;/pre&gt;  &lt;p&gt;改之后使用如下所示:&lt;/p&gt;  &lt;pre&gt;   &lt;code&gt;root@staging-1:~# java -jar file-leak-detector-1.8-jar-with-dependencies.jar 612 http=19999
Connecting to 612
Activating file leak detector at /root/file-leak-detector-1.8-jar-with-dependencies.jar&lt;/code&gt;&lt;/pre&gt;  &lt;p&gt;   &lt;code&gt;612&lt;/code&gt;是 java 服务的进程号，19999 是监听的   &lt;code&gt;http&lt;/code&gt;端口号。&lt;/p&gt;  &lt;p&gt;执行后输出类似如下内容时即表示   &lt;code&gt;attach&lt;/code&gt;到进程成功。&lt;/p&gt;  &lt;pre&gt;   &lt;code&gt;╭─tiangao@tgmbp  ~/git/WebIDE-Backend/target  ‹master*›
╰─$ java -jar file-leak-detector-1.8-jar-with-dependencies.jar 93739
Connecting to 93739
Activating file leak detector at /Users/shitiangao/git/WebIDE-Backend/target/file-leak-detector-1.8-jar-with-dependencies.jar&lt;/code&gt;&lt;/pre&gt;  &lt;p&gt;然后通过地址加端口就可以访问,就可以显示进程在   &lt;code&gt;attach&lt;/code&gt;之后打开的文件以及相应堆栈信息。&lt;/p&gt;  &lt;pre&gt;   &lt;code&gt;3 descriptors are open
#1 /opt/coding-ide-home/ide-backend.jar by thread:qtp873134840-16 on Tue Nov 29 15:05:34 CST 2016
	at java.io.RandomAccessFile.&amp;lt;init&amp;gt;(RandomAccessFile.java:244)
	at org.springframework.boot.loader.data.RandomAccessDataFile$FilePool.acquire(RandomAccessDataFile.java:252)
	at org.springframework.boot.loader.data.RandomAccessDataFile$DataInputStream.doRead(RandomAccessDataFile.java:174)
	at org.springframework.boot.loader.data.RandomAccessDataFile$DataInputStream.read(RandomAccessDataFile.java:152)&lt;/code&gt;&lt;/pre&gt;  &lt;p&gt;如此改动测试后在本地好用，但是一到线上部署就报错了：&lt;/p&gt;  &lt;pre&gt;   &lt;code&gt;pid: 13546
Connecting to 13546
Exception in thread &amp;quot;main&amp;quot; java.lang.reflect.InvocationTargetException
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:497)
	at org.kohsuke.file_leak_detector.Main.run(Main.java:54)
	at org.kohsuke.file_leak_detector.Main.main(Main.java:39)
Caused by: com.sun.tools.attach.AttachNotSupportedException: Unable to open socket file: target process not responding or HotSpot VM not loaded
	at sun.tools.attach.LinuxVirtualMachine.&amp;lt;init&amp;gt;(LinuxVirtualMachine.java:106)
	at sun.tools.attach.LinuxAttachProvider.attachVirtualMachine(LinuxAttachProvider.java:63)
	at com.sun.tools.attach.VirtualMachine.attach(VirtualMachine.java:208)
	... 6 more&lt;/code&gt;&lt;/pre&gt;  &lt;p&gt;目测原因是 JVM 运行时反射加载不到类。&lt;/p&gt;  &lt;p&gt;第一感觉需要设置一下 JAVA_HOME, 然而结果证明并不是这个原因。&lt;/p&gt;  &lt;p&gt;万能的 google &amp;amp; stackoverflow 找到了解法：   &lt;br /&gt;   &lt;a href="http://stackoverflow.com/questions/5769877/attachnotsupportedexception-due-to-missing-java-pid-file-in-attach-api" rel="nofollow" target="_blank"&gt;java - AttachNotSupportedException due to missing java_pid file in Attach API&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;执行 attach 的用户需要和 Java 服务运行用户是同一个，另外 JAVA_HOME 环境变量还是需要的。&lt;/p&gt;  &lt;p&gt;终于成功了，接下来就是等待错误的再次发生，然后分析堆栈信息了。&lt;/p&gt;  &lt;p&gt;   &lt;strong&gt;    &lt;em&gt;如此好用的工具是让我们对其原理很好奇&lt;/em&gt;&lt;/strong&gt;。&lt;/p&gt;  &lt;h2&gt;工作原理&lt;/h2&gt;  &lt;p&gt;项目源码并不是太多，先看 main ：&lt;/p&gt;  &lt;pre&gt;   &lt;code&gt;public static void main(String[] args) throws Exception {
        Main main = new Main();
        CmdLineParser p = new CmdLineParser(main);
        try {
            p.parseArgument(args);
            main.run();
        } catch (CmdLineException e) {
            System.err.println(e.getMessage());
            System.err.println(&amp;quot;java -jar file-leak-detector.jar PID [OPTSTR]&amp;quot;);
            p.printUsage(System.err);
            System.err.println(&amp;quot;\nOptions:&amp;quot;);
            AgentMain.printOptions();
            System.exit(1);
        }
    }&lt;/code&gt;&lt;/pre&gt;  &lt;p&gt;来到 run() 方法，&lt;/p&gt;  &lt;pre&gt;   &lt;code&gt;public void run() throws Exception {
        Class api = loadAttachApi();

        System.out.println(&amp;quot;Connecting to &amp;quot;+pid);
        Object vm = api.getMethod(&amp;quot;attach&amp;quot;,String.class).invoke(null,pid);

        try {
            File agentJar = whichJar(getClass());
            System.out.println(&amp;quot;Activating file leak detector at &amp;quot;+agentJar);
            // load a specified agent onto the JVM
            api.getMethod(&amp;quot;loadAgent&amp;quot;,String.class,String.class).invoke(vm, agentJar.getPath(), options);
        } finally {
            api.getMethod(&amp;quot;detach&amp;quot;).invoke(vm);
        }
    }&lt;/code&gt;&lt;/pre&gt;  &lt;p&gt;通过   &lt;code&gt;loadAttachApi()&lt;/code&gt;得到   &lt;code&gt;VirtualMachine 类&lt;/code&gt;，然后再用反射获取   &lt;code&gt;attach()&lt;/code&gt;方法，紧接着执行   &lt;code&gt;attach()&lt;/code&gt;到指定进程 id 上，得到 vm 的实例后执行   &lt;code&gt;loadAgent()&lt;/code&gt;方法，第一个参数为   &lt;strong&gt;agentJar&lt;/strong&gt;包的路径，第二个   &lt;strong&gt;options&lt;/strong&gt;是附加参数。&lt;/p&gt;  &lt;p&gt;   &lt;code&gt;loadAttachApi()&lt;/code&gt;方法如下：&lt;/p&gt;  &lt;pre&gt;   &lt;code&gt;private Class loadAttachApi() throws MalformedURLException, ClassNotFoundException {
    File toolsJar = locateToolsJar();

    ClassLoader cl = wrapIntoClassLoader(toolsJar);
    try {
        return cl.loadClass(&amp;quot;com.sun.tools.attach.VirtualMachine&amp;quot;);
    } catch (ClassNotFoundException e) {
        throw new IllegalStateException(&amp;quot;Unable to find tools.jar at &amp;quot;+toolsJar+&amp;quot; --- you need to run this tool with a JDK&amp;quot;,e);
    }
}&lt;/code&gt;&lt;/pre&gt;  &lt;p&gt;问题来了，   &lt;code&gt;VirtualMachine&lt;/code&gt;是个什么功能的类？   &lt;code&gt;attach()&lt;/code&gt;   &lt;code&gt;loadAgent()&lt;/code&gt;又是什么作用呢？&lt;/p&gt;  &lt;p&gt;这个就涉及到 JVM 层面提供的功能，在这之前也没有研究过，只好看看大拿的研究。&lt;/p&gt;  &lt;p&gt;   &lt;a href="http://www.infoq.com/cn/articles/javaagent-illustrated" rel="nofollow" target="_blank"&gt;InfoQ JVM源码分析之javaagent原理完全解读&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;关键类 Instrument:&lt;/p&gt;  &lt;p&gt;   &lt;a href="http://docs.oracle.com/javase/7/docs/api/java/lang/instrument/package-summary.html" rel="nofollow" target="_blank"&gt;Package java.lang.instrument&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;   &lt;strong&gt;简单总结，JVM 暴露了一些动态操作已加载类型的接口，javaagnet 就是利用这些接口的一个实现，通过 agent 类的固定方法可以执行一些操作，比如对已经加载的类注入字节码，最常用的是用来监控运行时，进行一些疑难 bug 追踪。&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;此项目里 TransformerImpl 类就是字节码修改的实现类。&lt;/p&gt;  &lt;p&gt;关键源码：&lt;/p&gt;  &lt;pre&gt;   &lt;code&gt;instrumentation.addTransformer(new TransformerImpl(createSpec()),true);
        
instrumentation.retransformClasses(
        FileInputStream.class,
        FileOutputStream.class,
        RandomAccessFile.class,
        Class.forName(&amp;quot;java.net.PlainSocketImpl&amp;quot;),
        ZipFile.class);&lt;/code&gt;&lt;/pre&gt;  &lt;p&gt;可以看到注册的类有 FileInputStream、FileOutputStream、RandomAccessFile、ZipFile 和 PlainSocketImpl。&lt;/p&gt;  &lt;pre&gt;   &lt;code&gt;static List&amp;lt;ClassTransformSpec&amp;gt; createSpec() {
    return Arrays.asList(
        newSpec(FileOutputStream.class, &amp;quot;(Ljava/io/File;Z)V&amp;quot;),
        newSpec(FileInputStream.class, &amp;quot;(Ljava/io/File;)V&amp;quot;),
        newSpec(RandomAccessFile.class, &amp;quot;(Ljava/io/File;Ljava/lang/String;)V&amp;quot;),
        newSpec(ZipFile.class, &amp;quot;(Ljava/io/File;I)V&amp;quot;),

        /*
            java.net.Socket/ServerSocket uses SocketImpl, and this is where FileDescriptors
            are actually managed.

            SocketInputStream/SocketOutputStream does not maintain a separate FileDescritor.
            They just all piggy back on the same SocketImpl instance.
         */
        new ClassTransformSpec(&amp;quot;java/net/PlainSocketImpl&amp;quot;,
                // this is where a new file descriptor is allocated.
                // it&amp;apos;ll occupy a socket even before it gets connected
                new OpenSocketInterceptor(&amp;quot;create&amp;quot;, &amp;quot;(Z)V&amp;quot;),

                // When a socket is accepted, it goes to &amp;quot;accept(SocketImpl s)&amp;quot;
                // where &amp;apos;s&amp;apos; is the new socket and &amp;apos;this&amp;apos; is the server socket
                new AcceptInterceptor(&amp;quot;accept&amp;quot;,&amp;quot;(Ljava/net/SocketImpl;)V&amp;quot;),

                // file descriptor actually get closed in socketClose()
                // socketPreClose() appears to do something similar, but if you read the source code
                // of the native socketClose0() method, then you see that it actually doesn&amp;apos;t close
                // a file descriptor.
                new CloseInterceptor(&amp;quot;socketClose&amp;quot;)
        ),
        new ClassTransformSpec(&amp;quot;sun/nio/ch/SocketChannelImpl&amp;quot;,
                new OpenSocketInterceptor(&amp;quot;&amp;lt;init&amp;gt;&amp;quot;, &amp;quot;(Ljava/nio/channels/spi/SelectorProvider;)V&amp;quot;),
                new CloseInterceptor(&amp;quot;kill&amp;quot;)
        )
    );
}&lt;/code&gt;&lt;/pre&gt;  &lt;p&gt;   &lt;code&gt;ClassTransformSpec&lt;/code&gt;定义：   &lt;br /&gt;   &lt;code&gt;/** * Creates {    &lt;a href="http://itindex.net/u/link" rel="nofollow"&gt;@link&lt;/a&gt;ClassTransformSpec} that intercepts * a constructor and the close method. */ private static ClassTransformSpec newSpec(final Class c, String constructorDesc) { final String binName = c.getName().replace(&amp;apos;.&amp;apos;, &amp;apos;/&amp;apos;); return new ClassTransformSpec(binName, new ConstructorOpenInterceptor(constructorDesc, binName), new CloseInterceptor() ); }&lt;/code&gt;&lt;/p&gt;  &lt;p&gt;关键真相在这里，实现了一个方法拦截适配器，在注册类的某些方法执行后运行   &lt;code&gt;Listener&lt;/code&gt;类的   &lt;code&gt;open()&lt;/code&gt;方法来记录信息。&lt;/p&gt;  &lt;pre&gt;   &lt;code&gt;/**
     * Intercepts the this.open(...) call in the constructor.
     */
    private static class ConstructorOpenInterceptor extends MethodAppender {
        /**
         * Binary name of the class being transformed.
         */
        private final String binName;

        public ConstructorOpenInterceptor(String constructorDesc, String binName) {
            super(&amp;quot;&amp;lt;init&amp;gt;&amp;quot;, constructorDesc);
            this.binName = binName;
        }

        @Override
        public MethodVisitor newAdapter(MethodVisitor base, int access, String name, String desc, String signature, String[] exceptions) {
            final MethodVisitor b = super.newAdapter(base, access, name, desc, signature, exceptions);
            return new OpenInterceptionAdapter(b,access,desc) {
                @Override
                protected boolean toIntercept(String owner, String name) {
                    return owner.equals(binName) &amp;amp;&amp;amp; name.startsWith(&amp;quot;open&amp;quot;);
                }

                @Override
                protected Class&amp;lt;? extends Exception&amp;gt; getExpectedException() {
                    return FileNotFoundException.class;
                }
            };
        }

        protected void append(CodeGenerator g) {
            g.invokeAppStatic(Listener.class,&amp;quot;open&amp;quot;,
                    new Class[]{Object.class, File.class},
                    new int[]{0,1});
        }
    }
 ```
 
最后的 `append()` 方法可以说是整个流程中最核心的地方，`Listener#open()` 方法如下所示：

 ```
 public static synchronized void open(Object _this, File f) {
    put(_this, new Listener.FileRecord(f));
    Iterator i$ = ActivityListener.LIST.iterator();

    while(i$.hasNext()) {
        ActivityListener al = (ActivityListener)i$.next();
        al.open(_this, f);
    }
}&lt;/code&gt;&lt;/pre&gt;  &lt;p&gt;最后说 一下   &lt;strong&gt;    &lt;code&gt;Listener&lt;/code&gt;&lt;/strong&gt;这个类，这也是这个工具的一个关键的类实现，有许多静态方法，所有监控的打开的文件相关内容都在   &lt;code&gt;Listener&lt;/code&gt;中保存，内容输出的操作也在其中。&lt;/p&gt;  &lt;p&gt;这是类中的属性和方法:   &lt;br /&gt;   &lt;a href="https://dn-coding-net-production-pp.qbox.me/b34f6f31-d3fb-42eb-a3d5-535fdd45edfb.png" rel="nofollow" target="_blank"&gt;    &lt;img alt="&amp;#22270;&amp;#29255;" src="https://dn-coding-net-production-pp.qbox.me/b34f6f31-d3fb-42eb-a3d5-535fdd45edfb.png"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;TABLE 保存打开中的文件，默认是 weak 引用，内存不足时这个对象会被回收掉，以防止程序不会因为监控导致的内存不足而异常退出。   &lt;br /&gt;当参数 strong 存在时会 new 一个 LinkedHashMap, 让监控内容的容器不会被回收掉。&lt;/p&gt;  &lt;pre&gt;   &lt;code&gt;/**
 * Files that are currently open, keyed by the owner object (like {@link FileInputStream}.
 */
private static Map&amp;lt;Object,Record&amp;gt; TABLE = new WeakHashMap&amp;lt;Object,Record&amp;gt;();
 ```
 Record 中有三个字段，一个是用来保存堆栈信息的异常类型，一个是线程名，最后一个是时间。
 ```
/**
 * Remembers who/where/when opened a file.
 */
public static class Record {
    public final Exception stackTrace = new Exception();
    public final String threadName;
    public final long time;
    ...
}&lt;/code&gt;&lt;/pre&gt;  &lt;p&gt;到这里已经差不多了，其他细节实现也就不赘述了。&lt;/p&gt;  &lt;h2&gt;小结&lt;/h2&gt;  &lt;p&gt;   &lt;strong&gt;file-leak-detector&lt;/strong&gt;查找文件句柄泄露问题，就是用 JVM 提供的接口，以 agent 方式 attach 进正在运行的 JAVA 进程，修改   &lt;code&gt;FileStream&lt;/code&gt;等类型的字节码，在 open &amp;amp; close 文件时加入拦截操作，记录线程和堆栈，然后在 http 或者系统日志中输出记录。最后通过这些信息查找是哪里导致的问题，然后做针对性的修复。&lt;/p&gt;&lt;/div&gt;&lt;div&gt; &lt;a href="https://itindex.net/"  title="IT 资讯"&gt;&lt;img src="https://itindex.net/images/iconWarning.gif" title="IT 资讯" border="0"/&gt; &lt;/a&gt;</description>
      <category>startup</category>
      <guid isPermaLink="true">https://itindex.net/detail/56688-java-%E6%96%87%E4%BB%B6-%E5%8F%A5%E6%9F%84</guid>
      <pubDate>Thu, 16 Feb 2017 08:00:00 CST</pubDate>
    </item>
    <item>
      <title>Appium 在 Android UI 测试中的应用</title>
      <link>https://itindex.net/detail/56309-appium-android-ui</link>
      <description>&lt;div&gt;  &lt;h3&gt;Android 测试工具与 Appium 简介&lt;/h3&gt;  &lt;p&gt;Appium 是一个 C/S 架构的，支持 Android/iOS Native, Hybrid 和 Mobile Web Apps 的测试框架，与测试程序通过 Selenum Webdriver 协议通讯。Webdriver 的好处是通过 HTTP RPC 的方式调用 Server 上的过程，编写测试脚本不受语言的限制，无论是 Python, Java, NodeJS 均可以方便的编写测试。本文中将使用 Python 进行编程。&lt;/p&gt;  &lt;p&gt;起因是因为市场部的同事抛来如下需求：批量添加一些微信好友。直接抓取请求进行重放的方法是不靠谱的，微信与服务端的通讯均加密，Pass。考虑使用 xposed 等框架 hook 相关函数进行操作。但是 xposed 需要越狱，且开发复杂，Pass。后来想到了使用 UI 测试工具进行模拟操作，开发较为简单。&lt;/p&gt;  &lt;p&gt;Android UI 测试工具有很多种，如 Monkey, UIAutomator, Selendroid, Robotium 等。其中 UIAutomator, Monkey, Selendroid 均为非侵入式的 UI 测试，也就是不需要修改源代码，只要安装了目标程序就可以进行测试。Robotium 需要与源码一同编译测试。Appium 实际上就是一个测试工具的统一调度软件，将不同的非侵入式测试工具整合在一起，对外提供统一的 API。在 Android 2.3 以前的版本，Appium 会调用 Selendroid ，之后的版本会直接使用 UIAutomator，iOS 下使用 UIAutomation。Appium 还支持 FirefoxOS 的 UI 测试。&lt;/p&gt;  &lt;p&gt;   &lt;a href="https://dn-coding-net-public-image.qbox.me/5a743853-b8cb-4416-b966-86b2a76914d4.gif" rel="nofollow" target="_blank"&gt;    &lt;img alt="&amp;#22270;&amp;#29255;" src="https://dn-coding-net-public-image.qbox.me/5a743853-b8cb-4416-b966-86b2a76914d4.gif"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;  &lt;h3&gt;安装 Appium&lt;/h3&gt;  &lt;p&gt;官网给出了命令行下的安装方法。但实际上 Appium 有 GUI 版本，更适合在 Windows/MacOS 下使用。Windows 下需要安装 .NET Framework。&lt;/p&gt;  &lt;pre&gt;   &lt;code&gt;&amp;gt; brew install node      # get node.js
&amp;gt; npm install -g appium  # get appium
&amp;gt; npm install wd         # get appium client
&amp;gt; appium &amp;amp;               # start appium
&amp;gt; node your-appium-test.js&lt;/code&gt;&lt;/pre&gt;  &lt;p&gt;Appium 需要依赖 Android SDK 编译在手机端运行的两个插件，因此需要首先安装相应的 Android SDK 版本。这里直接使用了 Android Studio 中自带的 SDK Manager。在 SDK Manager 中选择和测试机相对应的 SDK Platform 和较新的 Build-tools，如果需要使用模拟器测试还要装对应的 ARM/x86 System Image，以及 Intel HAXM Installer，用于加速 x86 虚拟机。Appium 使用 adb 来与目标机器通讯，因此对于真机和模拟器操作几乎都是相同的，如何建立模拟器在此不再赘述。&lt;/p&gt;  &lt;p&gt;安装完成后需要在 Appium GUI 中配置 Android SDK 目录，随后选择 Android，点击 Launch 就可以启动 Appium Server。   &lt;br /&gt;   &lt;a href="https://dn-coding-net-public-image.qbox.me/45f42276-7c3a-4247-964a-d0892580da09.png" rel="nofollow" target="_blank"&gt;    &lt;img alt="&amp;#22270;&amp;#29255;" src="https://dn-coding-net-public-image.qbox.me/45f42276-7c3a-4247-964a-d0892580da09.png"&gt;&lt;/img&gt;&lt;/a&gt;   &lt;br /&gt;   &lt;a href="https://dn-coding-net-public-image.qbox.me/22b1cd49-148f-4b00-bf39-a09fa36c3f9f.png" rel="nofollow" target="_blank"&gt;    &lt;img alt="&amp;#22270;&amp;#29255;" src="https://dn-coding-net-public-image.qbox.me/22b1cd49-148f-4b00-bf39-a09fa36c3f9f.png"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Appium Server 默认会监听   &lt;a href="http://localhost:4723" rel="nofollow" target="_blank"&gt;http://localhost:4723&lt;/a&gt;，用于 RPC 通讯。下面我们就可以打开熟悉的编程环境，编写 UI 测试用例了。这里使用 Python 进行编写，需要先安装 Appium 的 Python Client ，然后再 python 中使用 appium.webclient 就可以连接 Appium server了。&lt;/p&gt;  &lt;pre&gt;   &lt;code&gt;pip install Appium-Python-Client&lt;/code&gt;&lt;/pre&gt;  &lt;h3&gt;使用 Appium 进行 UI 控制&lt;/h3&gt;  &lt;p&gt;根据注释修改相应属性后即可运行测试。手机需要打开 ADB 调试，执行完以下代码后，Appium 会在手机上安装 Appium Settings 和 Unlock 两个程序，随后微信会被启动。&lt;/p&gt;  &lt;pre&gt;   &lt;code&gt;from appium import webdriver
 
desired_caps = {}
desired_caps[&amp;apos;platformName&amp;apos;] = &amp;apos;Android&amp;apos;  #测试平台
desired_caps[&amp;apos;platformVersion&amp;apos;] = &amp;apos;5.1&amp;apos;   #平台版本
desired_caps[&amp;apos;deviceName&amp;apos;] = &amp;apos;m3_note&amp;apos;    #设备名称，多设备时需区分
desired_caps[&amp;apos;appPackage&amp;apos;] = &amp;apos;com.tencent.mm&amp;apos;  #app package名
desired_caps[&amp;apos;appActivity&amp;apos;] = &amp;apos;.ui.LauncherUI&amp;apos; #app默认Activity
dr = webdriver.Remote(&amp;apos;http://localhost:4723/wd/hub&amp;apos;, desired_caps) #启动Remote RPC&lt;/code&gt;&lt;/pre&gt;  &lt;p&gt;Selenum Webdriver 使用了一种类似于 JS 中的 DOM 模型的方法来选择页面中的元素。dr 为当前正在活动的 activity 对象，可以使用 findElementByXXX 的方法来获取 Activity 中的元素。所有 Element 后带 s 的函数，均获得所有匹配的元素，不带 s 的函数获得第一个匹配的元素。&lt;/p&gt;  &lt;h4&gt;查询函数&lt;/h4&gt;  &lt;h5&gt;1. findElement(s)ByName&lt;/h5&gt;  &lt;p&gt;在 Android 中基本没用。Android UI 没有 Name 这个属性。有说可以使用 text 值获取。但我并没有成功&lt;/p&gt;  &lt;h5&gt;2. findElement(s)ByClassName&lt;/h5&gt;  &lt;p&gt;通过类名来获取元素，用法如下：&lt;/p&gt;  &lt;pre&gt;   &lt;code&gt;item_list = dr.find_elements_by_class_name(&amp;quot;android.widget.LinearLayout&amp;quot;)
item_list[2].click()&lt;/code&gt;&lt;/pre&gt;  &lt;h5&gt;3. findElementById&lt;/h5&gt;  &lt;p&gt;通过 resource_id 来获取元素，每个 Activity 中都是唯一的，用法如下&lt;/p&gt;  &lt;pre&gt;   &lt;code&gt;t = dr.find_element_by_id(&amp;quot;com.tencent.mm:id/f7&amp;quot;)
t.send_keys(wechatId)&lt;/code&gt;&lt;/pre&gt;  &lt;h5&gt;4. findElement(s)ByAccessbiltiyId&lt;/h5&gt;  &lt;p&gt;在 Android 上 AccessbilityID 实际就是 contentDescription 。这个属性是为了方便视力受损人士使用手机所设置。开启 TTS 后系统会朗读相关控件的 contentDescription。&lt;/p&gt;  &lt;h5&gt;5. findElement(s)ByXPath&lt;/h5&gt;  &lt;p&gt;通过 XML Path 描述来寻找元素。我没有成功的获取到，可能是 XPath 写的有问题。&lt;/p&gt;  &lt;pre&gt;   &lt;code&gt;s = dr.find_element_by_xpath(&amp;quot;//android.widget.TextView[contains(@text,&amp;apos;搜索&amp;apos;)]&amp;quot;)
s.click()&lt;/code&gt;&lt;/pre&gt;  &lt;h5&gt;6. findElementByAndroidUIAutomator&lt;/h5&gt;  &lt;p&gt;通过 UIAutomator 的选择器来获取元素。因为 Appium 在 Android 上实际是调用的 UIAutomator，所以可以通过 UIAutomator 的选择器来选择元素。&lt;/p&gt;  &lt;pre&gt;   &lt;code&gt;el = dr.find_element_by_android_ui_automator(&amp;quot;new UiSelector().text(\&amp;quot;搜索\&amp;quot;)&amp;quot;)
el.click()&lt;/code&gt;&lt;/pre&gt;  &lt;h4&gt;操作函数&lt;/h4&gt;  &lt;p&gt;操作函数用于操作选定的元素，有很多，以下仅列举几个，更多的请查阅手册。&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;click&lt;/li&gt;   &lt;li&gt;send_keys&lt;/li&gt;   &lt;li&gt;clear&lt;/li&gt;&lt;/ol&gt;  &lt;p&gt;查询函数返回的元素对象可以像 JS 中的 dom 元素一样，继续使用查询函数来选定其子元素。用例如下。&lt;/p&gt;  &lt;pre&gt;   &lt;code&gt;search = dr.find_element_by_id(&amp;quot;com.tencent.mm:id/aqw&amp;quot;).find_element_by_class_name(&amp;quot;android.widget.RelativeLayout&amp;quot;)
search.click()&lt;/code&gt;&lt;/pre&gt;  &lt;h3&gt;如何确定查询规则&lt;/h3&gt;  &lt;p&gt;了解了相关的函数后，下面就应对 UI 进行定位了。如果是自己团队开发的程序，推荐让开发同学在所有的空间上都添加 resource_id 进行绝对定位。如果碰到没有谈价 resource_id 的元素，那就要使用别的办法进行定位了。&lt;/p&gt;  &lt;h4&gt;1. UI Automator Viewer&lt;/h4&gt;  &lt;p&gt;UI Automator Viewer 是 Android 官方的 UI 定位工具，位于 sdk/tools 下。运行后会打开 viewer 界面。点击获取按钮即可获取当前正在运行的 Activity 的 UI 结构。   &lt;br /&gt;   &lt;a href="https://dn-coding-net-public-image.qbox.me/c4940e58-bd3b-4c82-8f8c-92eb8fd9eff1.png" rel="nofollow" target="_blank"&gt;    &lt;img alt="&amp;#22270;&amp;#29255;" src="https://dn-coding-net-public-image.qbox.me/c4940e58-bd3b-4c82-8f8c-92eb8fd9eff1.png"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;  &lt;h4&gt;2. AppiumDriver getPageSource&lt;/h4&gt;  &lt;p&gt;AppiumDriver(Client) 可以很方便的获得当前正在运行的 Activity 的 UI 描述，随后可根据返回的 XML 文档来寻找元素。&lt;/p&gt;  &lt;pre&gt;   &lt;code&gt;print dr.page_source&lt;/code&gt;&lt;/pre&gt;  &lt;p&gt;   &lt;a href="https://dn-coding-net-public-image.qbox.me/dd9b98c3-c719-4a1d-9950-b7bd28bda04b.jpg" rel="nofollow" target="_blank"&gt;    &lt;img alt="&amp;#22270;&amp;#29255;" src="https://dn-coding-net-public-image.qbox.me/dd9b98c3-c719-4a1d-9950-b7bd28bda04b.jpg"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;确定元素位置后，即可根据前述的 Find 方法来查找/选择元素&lt;/p&gt;  &lt;h3&gt;编写完整的测试代码&lt;/h3&gt;  &lt;p&gt;正确的获取元素之后便可以获取元素相关的信息，随后使用各语言常用的测试框架编写测试即可，如 Java 的 JUnit，Nodejs 的 Mocha 等。&lt;/p&gt;  &lt;p&gt;这里我使用 Appium 主要是为了模拟用户点击添加微信好友，所以完整的程序并没有使用到测试框架。相关的 UI 元素获取/操作方法供大家参考。&lt;/p&gt;  &lt;pre&gt;   &lt;code&gt;# coding:utf-8
from appium import webdriver
from time import sleep


def addFriend(dr, id, dryRun=False):
    succ = False
    wechatId = str(id)
    dr.find_element_by_accessibility_id(r&amp;quot;更多功能按钮&amp;quot;).click()
    item_list = dr.find_elements_by_class_name(&amp;quot;android.widget.LinearLayout&amp;quot;)
    try:
        item_list[2].click()
    except:
        print &amp;quot;Error! in item list len&amp;quot;
        return succ
    el = dr.find_element_by_class_name(&amp;quot;android.widget.ListView&amp;quot;)
    item_list = el.find_elements_by_class_name(&amp;quot;android.widget.LinearLayout&amp;quot;)
    try:
        item_list[1].click()
    except:
        print &amp;quot;Error! in item list len&amp;quot;
        return succ
    t = dr.find_element_by_id(&amp;quot;com.tencent.mm:id/f7&amp;quot;)
    t.send_keys(wechatId)
    search = dr.find_element_by_id(&amp;quot;com.tencent.mm:id/aqw&amp;quot;).find_element_by_class_name(&amp;quot;android.widget.RelativeLayout&amp;quot;)
    search.click()
    try:
        freq = dr.find_element_by_id(&amp;apos;com.tencent.mm:id/aqq&amp;apos;)
        assert freq.text == u&amp;quot;操作过于频繁，请稍后再试。&amp;quot;
        print &amp;quot;Frequency too high! Sleep 300s&amp;quot;
        sleep(60)
        return succ
    except:
        pass

    try:
        dr.find_element_by_id(&amp;apos;com.tencent.mm:id/a8x&amp;apos;).click()
        addBtn = dr.find_element_by_id(&amp;apos;com.tencent.mm:id/eu&amp;apos;)
        if not dryRun:
            addBtn.click()
            succ = True
        print &amp;quot;Success Send Requests:&amp;quot; + wechatId
    except:
        print &amp;quot;No Such User Or Already a Friend:&amp;quot; + wechatId

    while True:
        try:
            dr.find_element_by_id(&amp;apos;com.tencent.mm:id/fb&amp;apos;).click()
        except:
            try:
                dr.find_element_by_id(&amp;apos;com.tencent.mm:id/f4&amp;apos;).click()
            except:
                break
    return True

def resetActivity(dr, desired_caps):
    dr.start_activity(desired_caps[&amp;apos;appPackage&amp;apos;], desired_caps[&amp;apos;appActivity&amp;apos;])

desired_caps = {}
desired_caps[&amp;apos;platformName&amp;apos;] = &amp;apos;Android&amp;apos;
desired_caps[&amp;apos;platformVersion&amp;apos;] = &amp;apos;5.1&amp;apos;
desired_caps[&amp;apos;deviceName&amp;apos;] = &amp;apos;m3_note&amp;apos;
desired_caps[&amp;apos;appPackage&amp;apos;] = &amp;apos;com.tencent.mm&amp;apos;
desired_caps[&amp;apos;appActivity&amp;apos;] = &amp;apos;.ui.LauncherUI&amp;apos;
print &amp;quot;Trying connect to phone...&amp;quot;
dr = {}
try:
    dr = webdriver.Remote(&amp;apos;http://localhost:4723/wd/hub&amp;apos;, desired_caps)
except Exception, e:
    print &amp;quot;Cannot Connect to phone :&amp;quot;, e
    exit()
print &amp;quot;Successfully connect to phone.&amp;quot;
print &amp;quot;Reading friend list...&amp;quot;
friendList = []
fp = open(&amp;quot;friends.txt&amp;quot;)
line = fp.readline().strip()
while line:
    friendList.append(line)
    line = fp.readline().strip()
print &amp;quot;Finish reading friends. Total: &amp;quot; + str(len(friendList))
print &amp;quot;Wait for Wechat&amp;apos;s splash screen....&amp;quot;
for i in range(0, 10):
    print 10 - i
    sleep(1)
succ_list = []
fail_list = []
for i in friendList:
    try:
        succ = addFriend(dr, i, dryRun=False)
        if succ:
            succ_list.append(i)
        else:
            fail_list.append(i)
    except:
        fail_list.append(i)
        resetActivity(dr, desired_caps)

print &amp;quot;Succeed List:&amp;quot;
print &amp;quot;\n&amp;quot;.join(succ_list)
print &amp;quot;Failed List:&amp;quot;
print &amp;quot;\n&amp;quot;.join(fail_list)

dr.close()&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div&gt; &lt;a href="https://itindex.net/"  title="IT 资讯"&gt;&lt;img src="https://itindex.net/images/iconWarning.gif" title="IT 资讯" border="0"/&gt; &lt;/a&gt;</description>
      <category>startup</category>
      <guid isPermaLink="true">https://itindex.net/detail/56309-appium-android-ui</guid>
      <pubDate>Tue, 06 Sep 2016 08:00:00 CST</pubDate>
    </item>
    <item>
      <title>七个对我最重要的职业建议（译文）</title>
      <link>https://itindex.net/detail/54359-%E8%81%8C%E4%B8%9A-%E8%AF%91%E6%96%87</link>
      <description>&lt;p&gt;Nicholas C. Zakas 是全世界最著名的 JavaScript 程序员之一。&lt;/p&gt;

         &lt;p&gt;两年前，他写了一篇  &lt;a href="https://www.nczonline.net/blog/2013/10/15/the-best-career-advice-ive-received/"&gt;长文&lt;/a&gt;，回顾自己的职业生涯，提到七个对他来说最重要的建议。&lt;/p&gt;

 &lt;p&gt;  &lt;img alt="" src="http://www.ruanyifeng.com/blogimg/asset/2015/bg2015091801.jpg" title=""&gt;&lt;/img&gt;&lt;/p&gt;

 &lt;p&gt;我读完很受启发，决定做一点摘录。你可以先读下面的精简版，再去读  &lt;a href="http://blog.jobbole.com/53812/"&gt;全文&lt;/a&gt;。&lt;/p&gt;

 &lt;p&gt;===============================&lt;/p&gt;

 &lt;h2&gt;七个对我最好的职业建议（精简版）&lt;/h2&gt;

 &lt;p&gt;作者：Nicholas C. Zakas&lt;/p&gt;

 &lt;p&gt;译者：阮一峰&lt;/p&gt;

 &lt;p&gt;原文网址：https://www.nczonline.net/blog/2013/10/15/the-best-career-advice-ive-received/&lt;/p&gt;

 &lt;h2&gt;一、不要别人点什么，就做什么&lt;/h2&gt;

 &lt;p&gt;我的第一份工作，只干了8个月，那家公司就倒闭了。我问经理，接下来我该怎么办，他说：&lt;/p&gt;

 &lt;blockquote&gt;
    &lt;p&gt;&amp;quot;小伙子，千万不要当一个被人点菜的厨师，别人点什么，你就烧什么。不要接受那样一份工作，别人下命令你该干什么，以及怎么干。你要去一个地方，那里的人肯定你对产品的想法，相信你的能力，放手让你去做。&amp;quot;&lt;/p&gt;
&lt;/blockquote&gt;

 &lt;p&gt;我从此明白，单单实现一个产品是不够的，你还必须参与决定怎么实现。好的工程师并不仅仅服从命令，而且还给出反馈，帮助产品的拥有者改进它。&lt;/p&gt;

 &lt;h2&gt;二、推销自己&lt;/h2&gt;

 &lt;p&gt;我进入雅虎公司以后，经理有一天跟我谈话，他觉得我还做得不够。&lt;/p&gt;

 &lt;blockquote&gt;
    &lt;p&gt;&amp;quot;你工作得很好，代码看上去不错，很少出Bug。但是，问题是别人都没看到这一点。为了让其他人相信你，你必须首先让别人知道你做了什么。你需要推销自己，引起别人的注意。&amp;quot;&lt;/p&gt;
&lt;/blockquote&gt;

 &lt;p&gt;我这才意识到，即使做出了很好的工作，别人都不知道，也没用。做一个角落里静静编码的工程师，并不可取。你的主管会支持你，但是他没法替你宣传。公司的其他人需要明白你的价值，最好的办法就是告诉别人你做了什么。一封简单的Email：&amp;quot;嗨，我完成了XXX，欢迎将你的想法告诉我&amp;quot;，就很管用。&lt;/p&gt;

 &lt;h2&gt;三、学会带领团队&lt;/h2&gt;

 &lt;p&gt;工作几年后，已经没人怀疑我的技术能力了，大家知道我能写出高质量的可靠代码。有一次，我问主管，怎么才能得到提升，他说：&lt;/p&gt;

 &lt;blockquote&gt;
    &lt;p&gt;&amp;quot;当你的技术能力过关以后，就要考验你与他人相处的能力了。&amp;quot;&lt;/p&gt;
&lt;/blockquote&gt;

 &lt;p&gt;于是，我看到了，自己缺乏的是领导能力，如何带领一个团队，有效地与其他人协同工作，取到更大的成果。&lt;/p&gt;

 &lt;h2&gt;四、生活才是最重要的&lt;/h2&gt;

 &lt;p&gt;有一段时间，我在雅虎公司很有挫折感，对公司的一些做法不认同，经常会对别人发火。我问一个同事，他怎么能对这种事情保持平静，他回答：&lt;/p&gt;

 &lt;blockquote&gt;
    &lt;p&gt;&amp;quot;你要想通，这一切并不重要。有人提交了烂代码，网站下线了，又怎么样？工作并不是你的整个生活。它们不是真正的问题，只是工作上的问题。真正重要的事情都发生在工作以外。我回到家，家里人正在等我，这才重要啊。&amp;quot;&lt;/p&gt;
&lt;/blockquote&gt;

 &lt;p&gt;从此，我就把工作和生活分开了，只把它当作&amp;quot;工作问题&amp;quot;看待。这样一来，我对工作就总能心平气和，与人交流也更顺利了。&lt;/p&gt;

 &lt;h2&gt;五、自己找到道路&lt;/h2&gt;

 &lt;p&gt;我被提升为主管以后，不知道该怎么做。我请教了上级，他回答：&lt;/p&gt;

 &lt;blockquote&gt;
    &lt;p&gt;&amp;quot;以前都是我们告诉你做什么，从现在开始，你必须自己回答这个问题了，我期待你来告诉我，什么事情需要做。&amp;quot;&lt;/p&gt;
&lt;/blockquote&gt;

 &lt;p&gt;很多工程师都没有完成这个转变，如果能够做到，可能就说明你成熟了，学会了取舍。你不可能把时间花在所有事情上面，必须找到一个重点。&lt;/p&gt;

 &lt;h2&gt;六、把自己当成主人&lt;/h2&gt;

 &lt;p&gt;我每天要开很多会，有些会议我根本无话可说。我对一个朋友说，我不知道自己为什么要参加这个会，也没有什么可以贡献，他说：&lt;/p&gt;

 &lt;blockquote&gt;
    &lt;p&gt;&amp;quot;不要再去开这样的会了。你参加一个会，那是因为你参与了某件事。如果不确定自己为什么要在场，就停下来问。如果这件事不需要你，就离开。不要从头到尾都静静地参加一个会，要把自己当成负责人，大家会相信你的。&amp;quot;&lt;/p&gt;
&lt;/blockquote&gt;

 &lt;p&gt;从那时起，我从没有一声不发地参加会议。我确保只参加那些需要我参加的会议。&lt;/p&gt;

 &lt;h2&gt;七、找到水平更高的人&lt;/h2&gt;

 &lt;p&gt;最后，让我从自己的经历出发，给我的读者一个建议。&lt;/p&gt;

 &lt;blockquote&gt;
    &lt;p&gt;&amp;quot;找到那些比你水平更高、更聪明的人，尽量和他们在一起，吃饭或者喝咖啡，向他们讨教，了解他们拥有的知识。你的职业，甚至你的生活，都会因此变得更好。&amp;quot;&lt;/p&gt;
&lt;/blockquote&gt;

 &lt;p&gt;（完）&lt;/p&gt;

         &lt;div&gt;  &lt;h3&gt;文档信息&lt;/h3&gt;
  &lt;ul&gt;
   &lt;li&gt;版权声明：自由转载-非商用-非衍生-保持署名（    &lt;a href="http://creativecommons.org/licenses/by-nc-nd/3.0/deed.zh"&gt;创意共享3.0许可证&lt;/a&gt;）&lt;/li&gt;
   &lt;li&gt;发表日期： 2015年9月18日&lt;/li&gt;
   &lt;li&gt;更多内容：     &lt;a href="http://www.ruanyifeng.com/blog/archives.html" target="_blank"&gt; 档案&lt;/a&gt;  » 
    &lt;a href="http://www.ruanyifeng.com/blog/startup/"&gt; 创业&lt;/a&gt; 
&lt;/li&gt;
   &lt;li&gt;购买文集：    &lt;a href="http://www.ruanyifeng.com/blog/2014/12/my-blog-book.html" target="_blank"&gt;     &lt;img src="data:image/png;base64,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"&gt;&lt;/img&gt; 《如何变得有思想》&lt;/a&gt;&lt;/li&gt;
   &lt;li&gt;社交媒体：    &lt;a href="https://twitter.com/ruanyf" target="_blank"&gt;     &lt;img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAk1JREFUeNqsVc9rE0EU/mZ3dhPNJl2bVIk/Km09aFBE8GLvnrwJXvwLxIsgCP4Fnit6E8Gb0IMHwUsL9SSNgiAoooJIpE1Joo1h82uT7IxvxmRN3Q32kAdvdrI773vfe+/bDTu9WioDcDAda3Ja8piepQ1avCkCeny0Y+R9KenKwOmHHLvPaKn7AtVOoO8dOWDCMpg+41gMQv5FNEJACgoE8MsPNLDBhgfoutMOsJDmWLmU037C4TApciljwQ/kHoohQxV06+wMXNvE7WINuaSpvdYVKLgWnl3O4zAxU3Z1IYVGT+B5qYWV9z2kbQaT/cOwTsxOUUYF+mB5Dkmi8HG3h2q9hxsFNwRTdvQgxxnXRrMvIdkEhllis/qtiWuLDm4WZnBlPoWnXz28LHdw0uGR7m9Wu3j0qYGEubfn4UlBfXO4gTZltRNMg9w9f0i7kNFxllsBlS0x75gYfxyWTBUjT2W5CSMSPBrQuG21+hiMDS8CeCzF8eSLp13uQ3Ab1IqMFZN8tFHPmgOBF99bYP8Be1Xp6t7OJszJgKpPSiZvaj7uf2hguz2IBQuozDvFH6RDBjuK9wdQDvt0nMpW+8efGyh5UcAeZb2+UcHbnz5Jx4wdlp4yJYU3kLiQtfBwOYeLc8nIwfXtNu69q2Oz4mMxbemYOOOjKarhvq51KUjg3GwiFPIuvcNF6pnSnWK0lOEabNLgQh1aJFAhlGB9rG110B2+oyRNPc0sZbRNFltmLKDKqj4Qrm1ojzOxDz2pyPQ0P7CK4c40/wJ+CzAAGYrXsvfFXR4AAAAASUVORK5CYII="&gt;&lt;/img&gt; twitter&lt;/a&gt;，    &lt;a href="http://weibo.com/ruanyf" target="_blank"&gt;     &lt;img src="data:image/png;base64,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"&gt;&lt;/img&gt; weibo&lt;/a&gt;&lt;/li&gt;
   &lt;li&gt;Feed订阅：     &lt;a href="http://www.ruanyifeng.com/feed.html" target="_blank"&gt;     &lt;img src="data:image/gif;base64,R0lGODlhFAAUANU2APV1GfmrePZ8IeR5VPq2ieNkLf7p3NpFJveCJ/NoFfibVPR1IexiJfvdzuZrNfXGuOhUEueTevaFOfzIpNxDGeZZJNU6IOubifiVTfOnid1aLuZpLOFSJf/28vJtIvGcefaLSd5kNu9iFv/z6//48//t4uFfLfNkCeJNGuGNc/rCof/+/PVxEeldI/V5KeKMbu9nIvB2OvzQtNxMKfOPXP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAADYALAAAAAAUABQAAAb/QJstEjKZCsjCZsl0pIS2QWXaYsA8noVWIEAgFoNhhWNyMESi7Jbr/aZCFdRnZJAFJCwAt+vlOkwtEBk1hDUkExJ6bQJaGyYMLTQTDSOFHQF8jAseSFYiJwkuAQ2FE1xaHjBIMDAgARguJwABJIQTLJswDEgeIgSEJQQILAqVNQEiui1HHgkBhTUGCiwYtR0xLS0VJhtaEgoEBoQkGCfPNSoQY9xaCwAsCBPALgmkJA4cZN0CAAgY/PJqEIDwgVAECjM0bOAnwcAKGQJclKhRgoGDDjUeUDigkN8vQiBOfByAglSDAxw3IBCgYEU0FyJoEPpA4UGNDjMsaHDQR8EdPVYOMmQYQGHAhQgHLIRIsWAlgASsGMRBMWMGBQtYZ7yIsoBRKkhjOMxAiXJGGCEpHGxIYsSIhrcaQmy1EQQAOw=="&gt;&lt;/img&gt;&lt;/a&gt;&lt;/li&gt;

&lt;/ul&gt;&lt;/div&gt;        
         &lt;div&gt;&lt;/div&gt;
    &lt;div&gt; &lt;a href="https://itindex.net/"  title="IT 资讯"&gt;&lt;img src="https://itindex.net/images/iconWarning.gif" title="IT 资讯" border="0"/&gt; &lt;/a&gt;</description>
      <category>Startup</category>
      <guid isPermaLink="true">https://itindex.net/detail/54359-%E8%81%8C%E4%B8%9A-%E8%AF%91%E6%96%87</guid>
      <pubDate>Fri, 18 Sep 2015 13:55:12 CST</pubDate>
    </item>
    <item>
      <title>谈谈12306.cn网站性能技术</title>
      <link>https://itindex.net/detail/56000-cn-%E7%BD%91%E7%AB%99-%E6%80%A7%E8%83%BD</link>
      <description>&lt;div&gt;  &lt;p&gt;12306.cn网站挂了，被全国人民骂了。我这两天也在思考这个事，我想以这个事来粗略地和大家讨论一下网站性能的问题。因为仓促，而且完全基于本人有限的经验和了解，所以，如果有什么问题还请大家一起讨论和指正。（这又是一篇长文，只讨论性能问题，不讨论那些UI，用户体验，或是是否把支付和购票下单环节分开的功能性的东西）&lt;/p&gt;  &lt;h3&gt;业务&lt;/h3&gt;  &lt;p&gt;任何技术都离不开业务需求，所以，要说明性能问题，首先还是想先说说业务问题。&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;    &lt;p&gt;其一， 有人可能把这个东西和QQ或是网游相比 。但我觉得这两者是不一样的，网游和QQ在线或是登录时访问的更多的是用户自己的数据，而订票系统访问的是中心的票量数据，这是不一样的。不要觉得网游或是QQ能行你就以为这是一样的。网游和QQ 的后端负载相对于电子商务的系统还是简单。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;  &lt;ul&gt;   &lt;li&gt;    &lt;p&gt;其二， 有人说春节期间订火车的这个事好像网站的秒杀活动 。的确很相似，但是如果你的思考不在表面的话，你会发现这也有些不一样。火车票这个事，一方面会伴随着大量的查询操作，更BT的是下单的时候需要对数据库很多的一致性的操作，一方面是从起点到终点各个分段票的一致性，另一方面，买的人路线、车次、时间选择有很多，会不停地改变下单方式。而秒杀，直接杀就好了，没有那么多查询和一致性的问题。另外，关于秒杀，完全可以做成只接受前N个用户的请求（完全不操作后端的任何数据， 仅仅只是对用户的下单操作log），这种业务，只需要在内存cache中放好可秒杀的数量，还可以把数据分布开来放，100商品，10台服务器一台放10个，无需在当时操作任何数据库。可以订单数够后，停止秒杀，然后批量写数据库。而且秒杀的商品不多。火车票这个不是像秒杀那么简单的，春运时间，几乎所有的票都是热门票，而且几乎是全国人民都来了，而且还有转车业务，多条线的库存都要做事务操作，你想想吧，这有多难。（淘宝的双十一也就3百万用户，而火车票瞬时有千万级别甚至是亿级别的）（ 更新：2014年1月11日 ：来了淘宝后，对淘宝的系统有了解，淘宝的秒杀活动，本质上是用输验证码并在CDN上把用户直接过滤掉了，比如：1千万个用户过滤了只剩2万个用户，这样数据库就顶得住了）&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;  &lt;ul&gt;   &lt;li&gt;    &lt;p&gt;其三， 有人拿这个系统和奥运会的票务系统比较 。我觉得还是不一样。虽然奥运会的票务系统当年也一上线就废了。但是奥运会用的是抽奖的方式，也就是说不存在先来先得的抢的方式，而且，是事后抽奖，事前只需要收信息，事前不需要保证数据一致性，没有锁，很容易水平扩展。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;  &lt;ul&gt;   &lt;li&gt;    &lt;p&gt;其四， 订票系统应该和电子商务的订单系统很相似 ，都是需要对库存进行：1）占住库存，2）支付（可选），3）扣除库存的操作。这个是需要有一致性的检查的，也就是在并发时需要对数据加锁的。B2C的电商基本上都会把这个事干成异步的，也就是说，你下的订单并不是马上处理的，而是延时处理的，只有成功处理了，系统才会给你一封确认邮件说是订单成功。我相信有很多朋友都收到认单不成功的邮件。 这就是说，数据一致性在并发下是一个瓶颈 。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;  &lt;ul&gt;   &lt;li&gt;    &lt;p&gt;其五， 铁路的票务业务很变态 ，其采用的是突然放票，而有的票又远远不够大家分，所以，大家才会有抢票这种有中国特色的业务的做法。于是当票放出来的时候，就会有几百万人甚至上千万人杀上去，查询，下单。几十分钟内，一个网站能接受几千万的访问量，这个是很恐怖的事情。 据说12306的高峰访问是10亿PV ，集中在早8点到10点，每秒PV在高峰时上千万。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;  &lt;p&gt;多说几句：&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;    &lt;p&gt;库存是B2C的恶梦，库存管理相当的复杂。不信，你可以问问所有传统和电务零售业的企业，看看他们管理库存是多么难的一件事。不然，就不会有那么多人在问凡客的库存问题了。（你还可以看看《乔布斯传》，你就知道为什么Tim会接任Apple的CEO了，最主要的原因是他搞定了苹果的库存周期问题）&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;  &lt;ul&gt;   &lt;li&gt;    &lt;p&gt;对于一个网站来说，浏览网页的高负载很容易搞定，查询的负载有一定的难度去处理，不过还是可以通过缓存查询结果来搞定，最难的就是下单的负载。因为要访问库存啊，对于下单，基本上是用异步来搞定的。去年双11节，淘宝的每小时的订单数大约在60万左右，京东一天也才能支持40万（居然比12306还差），亚马逊5年前一小时可支持70万订单量。可见，下订单的操作并没有我们相像的那么性能高。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;  &lt;ul&gt;   &lt;li&gt;    &lt;p&gt;淘宝要比B2C的网站要简单得多，因为没有仓库，所以，不存在像B2C这样有N个仓库对同一商品库存更新和查询的操作。下单的时候，B2C的 网站要去找一个仓库，又要离用户近，又要有库存，这需要很多计算。试想，你在北京买了一本书，北京的仓库没货了，就要从周边的仓库调，那就要去看看沈阳或 是西安的仓库有没有货，如果没有，又得看看江苏的仓库，等等。淘宝的就没有那么多事了，每个商户有自己的库存，库存就是一个数字，并且库存分到商户头上了，反而有利于性能扩展。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;  &lt;ul&gt;   &lt;li&gt;    &lt;p&gt;数据一致性才是真正的性能瓶颈。有 人说nginx可以搞定每秒10万的静态请求，我不怀疑。但这只是静态请求，理论值，只要带宽、I/O够强，服务器计算能力够，并支持的并发连接数顶得住10万TCP链接的建立 的话，那没有问题。但在数据一致性面前，这10万就完完全全成了一个可望不可及的理论值了。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;  &lt;p&gt;我说那么多，我只是想从业务上告诉大家，我们需要从业务上真正了解春运铁路订票这样业务的变态之处。&lt;/p&gt;  &lt;h2&gt;前端性能优化技术&lt;/h2&gt;  &lt;p&gt;要解决性能的问题，有很多种常用的方法，我在下面列举一下，我相信12306这个网站使用下面的这些技术会让其性能有质的飞跃。&lt;/p&gt;  &lt;h3&gt;一、前端负载均衡&lt;/h3&gt;  &lt;p&gt;通过DNS的负载均衡器（一般在路由器上根据路由的负载重定向）可以把用户的访问均匀地分散在多个Web服务器上。这样可以减少Web服务器的请求负载。因为http的请求都是短作业，所以，可以通过很简单的负载均衡器来完成这一功能。最好是有CDN网络让用户连接与其最近的服务器（CDN通常伴随着分布式存储）。（关于负载均衡更为详细的说明见“后端的负载均衡”）&lt;/p&gt;  &lt;h3&gt;二、减少前端链接数&lt;/h3&gt;  &lt;p&gt;我看了一下12306.cn，打开主页需要建60多个HTTP连接，车票预订页面则有70多个HTTP请求，现在的浏览器都是并发请求的（当然，浏览器的一个页面的并发数是有限的，但是你挡不住用户开多个页面，而且，后端服务器TCP链接在前端断开始，还不会马上释放或重要）。所以，只要有100万个用户，就有可能会有6000万个链接（访问第一次后有了浏览器端的cache，这个数会下来，就算只有20%也是百万级的链接数），太多了。一个登录查询页面就好了。把js打成一个文件，把css也打成一个文件，把图标也打成一个文件，用css分块展示。把链接数减到最低。&lt;/p&gt;  &lt;h3&gt;三、减少网页大小增加带宽&lt;/h3&gt;  &lt;p&gt;这个世界不是哪个公司都敢做图片服务的，因为图片太耗带宽了。现在宽带时代很难有人能体会到当拨号时代做个图页都不敢用图片的情形（现在在手机端浏览也是这个情形）。我查看了一下12306首页的需要下载的总文件大小大约在900KB左右，如果你访问过了，浏览器会帮你缓存很多，只需下载10K左右的文件。但是我们可以想像一个极端一点的案例，1百万用户同时访问，且都是第一次访问，每人下载量需要1M，如果需要在120秒内返回，那么就需要，1M * 1M /120 * 8 = 66Gbps的带宽。很惊人吧。所以，我估计在当天，12306的阻塞基本上应该是网络带宽，所以，你可能看到的是没有响应。后面随着浏览器的缓存帮助12306减少很多带宽占用，于是负载一下就到了后端，后端的数据处理瓶颈一下就出来。于是你会看到很多http 500之类的错误。这说明后端服务器垮了。&lt;/p&gt;  &lt;h3&gt;四、前端页面静态化&lt;/h3&gt;  &lt;p&gt;静态化一些不常变的页面和数据，并gzip一下。 还有一个变态的方法是把这些静态页面放在/dev/shm下，这个目录就是内存，直接从内存中把文件读出来返回，这样可以减少昂贵的磁盘I/O 。使用nginx的sendfile功能可以让这些静态文件直接在内核心态交换，可以极大增加性能。&lt;/p&gt;  &lt;h3&gt;五、优化查询&lt;/h3&gt;  &lt;p&gt;很多人查询都是在查一样的，完全可以用反向代理合并这些并发的相同的查询。这样的技术主要用查询结果缓存来实现，第一次查询走数据库获得数据，并把数据放到缓存，后面的查询统统直接访问高速缓存。为每个查询做Hash，使用NoSQL的技术可以完成这个优化。（这个技术也可以用做静态页面）&lt;/p&gt;  &lt;p&gt;对于火车票量的查询，个人觉得不要显示数字，就显示一个“有”或“无”就好了，这样可以大大简化系统复杂度，并提升性能。把查询对数据库的负载分出去，从而让数据库可以更好地为下单的人服务。&lt;/p&gt;  &lt;h3&gt;六、缓存的问题&lt;/h3&gt;  &lt;p&gt;缓存可以用来缓存动态页面，也可以用来缓存查询的数据。缓存通常有那么几个问题：&lt;/p&gt;  &lt;p&gt;1）缓存的更新。也叫缓存和数据库的同步。有这么几种方法，一是缓存time out，让缓存失效，重查，二是，由后端通知更新，一量后端发生变化，通知前端更新。前者实现起来比较简单，但实时性不高，后者实现起来比较复杂 ，但实时性高。&lt;/p&gt;  &lt;p&gt;2）缓存的换页。内存可能不够，所以，需要把一些不活跃的数据换出内存，这个和操作系统的内存换页和交换内存很相似。FIFO、LRU、LFU都是比较经典的换页算法。相关内容参看 Wikipeida的缓存算法 。&lt;/p&gt;  &lt;p&gt;3）缓存的重建和持久化。缓存在内存，系统总要维护，所以，缓存就会丢失，如果缓存没了，就需要重建，如果数据量很大，缓存重建的过程会很慢，这会影响生产环境，所以，缓存的持久化也是需要考虑的。&lt;/p&gt;  &lt;p&gt;诸多强大的NoSQL都很好支持了上述三大缓存的问题。&lt;/p&gt;  &lt;h2&gt;后端性能优化技术&lt;/h2&gt;  &lt;p&gt;前面讨论了前端性能的优化技术，于是前端可能就不是瓶颈问题了。那么性能问题就会到后端数据上来了。下面说几个后端常见的性能优化技术。&lt;/p&gt;  &lt;h3&gt;一、数据冗余&lt;/h3&gt;  &lt;p&gt;关于数据冗余，也就是说，把我们的数据库的数据冗余处理，也就是减少表连接这样的开销比较大的操作，但这样会牺牲数据的一致性。风险比较大。很多人把NoSQL用做数据，快是快了，因为数据冗余了，但这对数据一致性有大的风险。这需要根据不同的业务进行分析和处理。（注意：用关系型数据库很容易移植到NoSQL上，但是反过来从NoSQL到关系型就难了）&lt;/p&gt;  &lt;h3&gt;二、数据镜像&lt;/h3&gt;  &lt;p&gt;几乎所有主流的数据库都支持镜像，也就是replication。数据库的镜像带来的好处就是可以做负载均衡。把一台数据库的负载均分到多台上，同时又保证了数据一致性（Oracle的SCN）。最重要的是，这样还可以有高可用性，一台废了，还有另一台在服务。&lt;/p&gt;  &lt;p&gt;数据镜像的数据一致性可能是个复杂的问题，所以我们要在单条数据上进行数据分区，也就是说，把一个畅销商品的库存均分到不同的服务器上，如，一个畅销商品有1万的库存，我们可以设置10台服务器，每台服务器上有1000个库存，这就好像B2C的仓库一样。&lt;/p&gt;  &lt;h3&gt;三、数据分区&lt;/h3&gt;  &lt;p&gt;数据镜像不能解决的一个问题就是数据表里的记录太多，导致数据库操作太慢。所以，把数据分区。数据分区有很多种做法，一般来说有下面这几种：&lt;/p&gt;  &lt;p&gt;1）把数据把某种逻辑来分类。比如火车票的订票系统可以按各铁路局来分，可按各种车型分，可以按始发站分，可以按目的地分……，反正就是把一张表拆成多张有一样的字段但是不同种类的表，这样，这些表就可以存在不同的机器上以达到分担负载的目的。&lt;/p&gt;  &lt;p&gt;2）把数据按字段分，也就是竖着分表。比如把一些不经常改的数据放在一个表里，经常改的数据放在另外多个表里。把一张表变成1对1的关系，这样，你可以减少表的字段个数，同样可以提升一定的性能。另外，字段多会造成一条记录的存储会被放到不同的页表里，这对于读写性能都有问题。但这样一来会有很多复杂的控制。&lt;/p&gt;  &lt;p&gt;3）平均分表。因为第一种方法是并不一定平均分均，可能某个种类的数据还是很多。所以，也有采用平均分配的方式，通过主键ID的范围来分表。&lt;/p&gt;  &lt;p&gt;4）同一数据分区。这个在上面数据镜像提过。也就是把同一商品的库存值分到不同的服务器上，比如有10000个库存，可以分到10台服务器上，一台上有1000个库存。然后负载均衡。&lt;/p&gt;  &lt;p&gt;这三种分区都有好有坏。最常用的还是第一种。数据一旦分区，你就需要有一个或是多个调度来让你的前端程序知道去哪里找数据。 把火车票的数据分区，并放在各个省市，会对12306这个系统有非常有意义的质的性能的提高 。&lt;/p&gt;  &lt;h3&gt;四、后端系统负载均衡&lt;/h3&gt;  &lt;p&gt;前面说了数据分区，数据分区可以在一定程度上减轻负载，但是无法减轻热销商品的负载，对于火车票来说，可以认为是大城市的某些主干线上的车票。这就需要使用数据镜像来减轻负载。使用数据镜像，你必然要使用负载均衡，在后端，我们可能很难使用像路由器上的负载均衡器，因为那是均衡流量的，因为流量并不代表服务器的繁忙程度。因此，我们需要一个任务分配系统，其还能监控各个服务器的负载情况。&lt;/p&gt;  &lt;p&gt;任务分配服务器有一些难点：&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;    &lt;p&gt;负载情况比较复杂。什么叫忙？是CPU高？还是磁盘I/O高？还是内存使用高？还是并发高？还是内存换页率高？你可能需要全部都要考虑。这些信息要发送给那个任务分配器上，由任务分配器挑选一台负载最轻的服务器来处理。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;  &lt;ul&gt;   &lt;li&gt;    &lt;p&gt;任务分配服务器上需要对任务队列，不能丢任务啊，所以还需要持久化。并且可以以批量的方式把任务分配给计算服务器。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;  &lt;ul&gt;   &lt;li&gt;    &lt;p&gt;任务分配服务器死了怎么办？这里需要一些如Live-Standby或是failover等高可用性的技术。我们还需要注意那些持久化了的任务的队列如何转移到别的服务器上的问题。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;  &lt;p&gt;我看到有很多系统都用静态的方式来分配，有的用hash，有的就简单地轮流分析。这些都不够好，一个是不能完美地负载均衡，另一个静态的方法的致命缺陷是，如果有一台计算服务器死机了，或是我们需要加入新的服务器，对于我们的分配器来说，都需要知道的。另外，还要重算哈希（一致性hash可以部分解决这个问题）。&lt;/p&gt;  &lt;p&gt;还有一种方法是使用抢占式的方式进行负载均衡，由下游的计算服务器去任务服务器上拿任务。让这些计算服务器自己决定自己是否要任务。这样的好处是可以简化系统的复杂度，而且还可以任意实时地减少或增加计算服务器。但是唯一不好的就是，如果有一些任务只能在某种服务器上处理，这可能会引入一些复杂度。不过总体来说，这种方法可能是比较好的负载均衡。&lt;/p&gt;  &lt;h3&gt;五、异步、 throttle 和 批量处理&lt;/h3&gt;  &lt;p&gt;异步、throttle（节流阀） 和批量处理都需要对并发请求数做队列处理的。&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;    &lt;p&gt;异步在业务上一般来说就是收集请求，然后延时处理。在技术上就是可以把各个处理程序做成并行的，也就可以水平扩展了。但是异步的技术问题大概有这些，a）被调用方的结果返回，会涉及进程线程间通信的问题。b）如果程序需要回滚，回滚会有点复杂。c）异步通常都会伴随多线程多进程，并发的控制也相对麻烦一些。d）很多异步系统都用消息机制，消息的丢失和乱序也会是比较复杂的问题。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;  &lt;ul&gt;   &lt;li&gt;    &lt;p&gt;throttle 技术其实并不提升性能，这个技术主要是防止系统被超过自己不能处理的流量给搞垮了，这其实是个保护机制。使用throttle技术一般来说是对于一些自己无法控制的系统，比如，和你网站对接的银行系统。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;  &lt;ul&gt;   &lt;li&gt;    &lt;p&gt;批量处理的技术，是把一堆基本相同的请求批量处理。比如，大家同时购买同一个商品，没有必要你买一个我就写一次数据库，完全可以收集到一定数量的请求，一次操作。这个技术可以用作很多方面。比如节省网络带宽，我们都知道网络上的MTU（最大传输单元），以态网是1500字节，光纤可以达到4000多个字节，如果你的一个网络包没有放满这个MTU，那就是在浪费网络带宽，因为网卡的驱动程序只有一块一块地读效率才会高。因此，网络发包时，我们需要收集到足够多的信息后再做网络I/O，这也是一种批量处理的方式。批量处理的敌人是流量低，所以，批量处理的系统一般都会设置上两个阀值，一个是作业量，另一个是timeout，只要有一个条件满足，就会开始提交处理。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;  &lt;p&gt;所以，只要是异步，一般都会有throttle机制，一般都会有队列来排队，有队列，就会有持久化，而系统一般都会使用批量的方式来处理。&lt;/p&gt;  &lt;p&gt;云风同学设计的“排队系统” 就是这个技术。这和电子商务的订单系统很相似，就是说，我的系统收到了你的购票下单请求，但是我还没有真正处理，我的系统会跟据我自己的处理能力来throttle住这些大量的请求，并一点一点地处理。一旦处理完成，我就可以发邮件或短信告诉用户你来可以真正购票了。&lt;/p&gt;  &lt;p&gt;在这里，我想通过业务和用户需求方面讨论一下云风同学的这个排队系统，因为其从技术上看似解决了这个问题，但是从业务和用户需求上来说可能还是有一些值得我们去深入思考的地方：&lt;/p&gt;  &lt;p&gt;1） 队列的DoS攻击 。首先，我们思考一下，这个队是个单纯地排队的吗？这样做还不够好，因为这样我们不能杜绝黄牛，而且单纯的ticket_id很容易发生DoS攻击，比如，我发起N个 ticket_id，进入购票流程后，我不买，我就耗你半个小时，很容易我就可以让想买票的人几天都买不到票。有人说，用户应该要用身份证来排队， 这样在购买里就必需要用这个身份证来买，但这也还不能杜绝黄牛排队或是号贩子。因为他们可以注册N个帐号来排队，但就是不买。黄牛这些人这个时候只需要干一个事，把网站搞得正常人不能访问，让用户只能通过他们来买。&lt;/p&gt;  &lt;p&gt;2） 对列的一致性 ？对这个队列的操作是不是需要锁？只要有锁，性能一定上不去。试想，100万个人同时要求你来分配位置号，这个队列将会成为性能瓶颈。你一定没有数据库实现得性能好，所以，可能比现在还差。 抢数据库和抢队列本质上是一样的 。&lt;/p&gt;  &lt;p&gt;3） 队列的等待时间 。购票时间半小时够不够？多不多？要是那时用户正好不能上网呢？如果时间短了，用户不够时间操作也会抱怨，如果时间长了，后面在排队的那些人也会抱怨。这个方法可能在实际操作上会有很多问题。另外，半个小时太长了，这完全不现实，我们用15分钟来举例：有1千万用户，每一个时刻只能放进去1万个，这1万个用户需要15分钟完成所有操作，那么，这1千万用户全部处理完，需要1000*15m = 250小时，10天半，火车早开了。（我并非信口开河， 根据铁道部专家的说明 ：这几天，平均一天下单100万，所以，处理1000万的用户需要十天。这个计算可能有点简单了，我只是想说， 在这样低负载的系统下用排队可能都不能解决业务问题 ）&lt;/p&gt;  &lt;p&gt;4） 队列的分布式 。这个排队系统只有一个队列好吗？还不足够好。因为，如果你放进去的可以购票的人如果在买同一个车次的同样的类型的票（比如某动车卧铺），还是等于在抢票，也就是说系统的负载还是会有可能集中到其中某台服务器上。因此，最好的方法是根据用户的需求——提供出发地和目的地，来对用户进行排队。而这样一来，队列也就可以是多个，只要是多个队列，就可以水平扩展了。这样可以解决性能问题，但是没有解决用户长时间排队的问题。&lt;/p&gt;  &lt;p&gt;我觉得完全可以向网上购物学习。 在排队（下单）的时候，收集好用户的信息和想要买的票，并允许用户设置购票的优先级，比如，A车次卧铺买 不到就买 B车次的卧铺，如果还买不到就买硬座等等，然后用户把所需的钱先充值好，接下来就是系统完全自动地异步处理订单 。成功不成功都发短信或邮件通知用户。这样，系统不仅可以省去那半个小时的用户交互时间，自动化加快处理，还可以合并相同购票请求的人，进行批处理（减少数据库的操作次数）。 这种方法最妙的事是可以知道这些排队用户的需求，不但可以优化用户的队列，把用户分布到不同的队列，还可以像亚马逊的心愿单一样，通过一些计算就可以让铁道部做车次统筹安排和调整 （最后，排队系统（下单系统）还是要保存在数据库里的或做持久化，不能只放在内存中，不然机器一down，就等着被骂吧）。&lt;/p&gt;  &lt;p&gt;小结&lt;/p&gt;  &lt;p&gt;写了那么多，我小结一下：&lt;/p&gt;  &lt;p&gt;0） 无论你怎么设计，你的系统一定要能容易地水平扩展 。也就是说，你的整个数据流中，所有的环节都要能够水平扩展。这样，当你的系统有性能问题时，“加30倍的服务器”才不会被人讥笑。&lt;/p&gt;  &lt;p&gt;1） 上述的技术不是一朝一夕能搞定的，没有长期的积累，基本无望 。我们可以看到，无论你用哪种都会引发一些复杂性，设计总是在做一种权衡。&lt;/p&gt;  &lt;p&gt;2）集中式的卖票很难搞定，使用上述的技术可以让订票系统能有几佰倍的性能提升。而在 各个省市建分站，分开卖票，是能让现有系统性能有质的提升的最好方法 。&lt;/p&gt;  &lt;p&gt;3） 春运前夕抢票且票量供远小于求这种业务模式是相当变态的 ，让几千万甚至上亿的人在某个早晨的8点钟同时登录同时抢票的这种业务模式是变态中的变态。业务形态的变态决定了无论他们怎么办干一定会被骂。&lt;/p&gt;  &lt;p&gt;4） 为了那么一两个星期而搞那么大的系统 ，而其它时间都在闲着，有些可惜了，这也就是铁路才干得出来这样的事了。&lt;/p&gt;&lt;/div&gt;&lt;div&gt; &lt;a href="https://itindex.net/"  title="IT 资讯"&gt;&lt;img src="https://itindex.net/images/iconWarning.gif" title="IT 资讯" border="0"/&gt; &lt;/a&gt;</description>
      <category>startup</category>
      <guid isPermaLink="true">https://itindex.net/detail/56000-cn-%E7%BD%91%E7%AB%99-%E6%80%A7%E8%83%BD</guid>
      <pubDate>Fri, 30 Sep 2016 08:00:00 CST</pubDate>
    </item>
    <item>
      <title>技术行业的宏观趋势</title>
      <link>https://itindex.net/detail/56065-%E6%8A%80%E6%9C%AF-%E8%A1%8C%E4%B8%9A-%E5%AE%8F%E8%A7%82</link>
      <description>&lt;div&gt;  &lt;p&gt;我们每半年发布一次   &lt;a href="https://www.thoughtworks.com/cn/radar"&gt;技术雷达&lt;/a&gt;：它是所有我们认为横跨业界当下和将来的相关重要技术的快照。我们从世界各地召集了约20位最有资历的技术人来编写技术雷达，这也是一个用全球视角对比趋势和方向的绝佳机会。我们在技术雷达上总结出了主要的潮流，但这其中的奥妙足以再专门写一篇长文章。   &lt;strong&gt;在此，我们将关注于技术雷达中未能覆盖到的一些宏观趋势。&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;   &lt;a href="http://insights.thoughtworkers.org/wp-content/uploads/2016/10/1-macro-trends.png"&gt;    &lt;img alt="1-macro-trends" height="488" src="http://insights.thoughtworkers.org/wp-content/uploads/2016/10/1-macro-trends.png" width="975"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;  &lt;h3&gt;强大的团队和商业&lt;/h3&gt;  &lt;h4&gt;开拓新业务所需要的不仅仅是好软件。&lt;/h4&gt;  &lt;p&gt;开源软件现在出现了大爆炸式的集中发布，其中有一些公司公开了那些你可能认为是专属或有竞争优势的软件。比如，   &lt;a href="https://www.tensorflow.org/"&gt;谷歌的TensorFlow深度学习工具包&lt;/a&gt;和   &lt;a href="https://netflix.github.io/"&gt;Netflix的整体产品栈&lt;/a&gt;。&lt;/p&gt;  &lt;p&gt;乍一想这似乎是个糟糕的主意：竞争对手可能用这些代码一步登先，然后进行竞争。但Google真正的’秘密武器’不是软件，而是软件中的数据。对于Netflix，其云规模不（再）是竞争性优势，真正的优势在于他们的原始内容、有许可的交易和品牌力量。&lt;/p&gt;  &lt;p&gt;这些都是著名的利用软件与技术促使企业变强变大的例子，但这不是企业成功的真正原因。我们看到很多赢家通过关注“   &lt;a href="https://www.thoughtworks.com/insights/blog/project-vs-product"&gt;产品思维&lt;/a&gt;”来创建优秀的体验，同时吸引和保留优秀的员工来打造他们的产品。在这种情况下，开源软件更多的被用于招聘和增加名誉，公司即便将软件免费赠送，也可以保持自己的市场领导地位。&lt;/p&gt;  &lt;p&gt;   &lt;a href="http://insights.thoughtworkers.org/wp-content/uploads/2016/10/2-team.png"&gt;    &lt;img alt="2-team" height="488" src="http://insights.thoughtworkers.org/wp-content/uploads/2016/10/2-team.png" width="975"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;  &lt;h4&gt;自治团队赢得全栈控制权。&lt;/h4&gt;  &lt;p&gt;在过去的几年里，我们看到了“   &lt;a href="https://www.safaribooksonline.com/library/view/programming-amazon-ec2/9781449303617/ch01s03.html"&gt;谁创建，谁运行&lt;/a&gt;”的敏捷团队的崛起：由同一批人来创建、发布软件，并为之做产品支持。我们是这种方式的拥护者，最起码做产品支持能够让人   &lt;a href="http://johnpwood.net/2010/01/28/know-thy-customer-why-developers-should-do-customer-support/"&gt;成为一个更优秀的开发者&lt;/a&gt;。&lt;/p&gt;  &lt;p&gt;这种趋势在逐渐扩大，我们能够看到团队的控制权越来越深入，选择PaaS，然后在此基础上部署、运行他们的（通常是基于云的）负载以及运行测试工具、监控工具和安全工具。这是一个好的趋势，但最终，企业环境中需要一些标准化。我们喜欢   &lt;a href="https://labs.spotify.com/2014/03/27/spotify-engineering-culture-part-1/"&gt;Spotify的方式&lt;/a&gt;：   &lt;strong&gt;允许团队创新，然后寻求最佳解决方案——这是一个处在创新和高效之间不错的平衡。&lt;/strong&gt;&lt;/p&gt;  &lt;h4&gt;开源是高尚的副产品。&lt;/h4&gt;  &lt;p&gt;开源软件中的创新比以往发生得都更加迅速。之前我们提到了Google和Netflix发布开源代码库，但是如果你在搜索引擎中敲入“开源”+公司名称，你很有可能找到满满   &lt;a href="https://code.facebook.com/projects/"&gt;一页&lt;/a&gt;都在讲述该   &lt;a href="https://github.com/spotify"&gt;公司&lt;/a&gt;对于   &lt;a href="https://square.github.io/"&gt;开源软件&lt;/a&gt;   &lt;a href="https://uber.github.io/"&gt;贡献&lt;/a&gt;的   &lt;a href="https://engineering.twitter.com/opensource"&gt;页面&lt;/a&gt;。公司投资于开源软件有两大原因。&lt;/p&gt;  &lt;p&gt;   &lt;strong&gt;第一个是获取有天赋的人&lt;/strong&gt;：随着技术越来越强力地驱动着商业和社会，能否寻找最具天赋的人才是成功的关键要素。但是作为一个技术人员，搞清楚自己是否真的想要为某个公司工作是困难的——面试过程和实际工作之间有巨大的差异。开源软件能够帮助候选人通过查看该公司产生的代码质量，来对一个组织获得更深的理解，也能帮助公司为潜在新成员展示其技术文化。   &lt;strong&gt;第二个是将之作为文化声明。&lt;/strong&gt;很多技术人员相信分享和重用的力量，为开源软件做贡献是一个公司展示与此哲学一致性的方式。&lt;/p&gt;  &lt;h3&gt;平台和生态系统提升生产力&lt;/h3&gt;  &lt;h4&gt;开发者们主要通过代码来沟通。&lt;/h4&gt;  &lt;p&gt;讨论技术问题最好的方式通常是代码交流。   &lt;a href="http://agilemanifesto.org/"&gt;敏捷宣言&lt;/a&gt;的原则之一是   &lt;strong&gt;“可工作的软件”优于“理论或观点”&lt;/strong&gt;，而开源软件就反映了这一点。&lt;/p&gt;  &lt;p&gt;不同于试图用长篇大论解释所有技术问题的细节，开发者们通常会写一部分或全部代码，使用Github的代码社交功能来轻松讨论、接受或拒绝建议。直接通过代码来讨论，通常会带来更加高效的讨论，我们也逐渐看到这种技术在企业上下文中被采用。企业正在采用一种“内部开源”的模型，在这样模型下，源代码可以随时被分享出来并用于协作。但企业应该在面临风险时，忽略这种趋势。&lt;/p&gt;  &lt;p&gt;   &lt;a href="http://insights.thoughtworkers.org/wp-content/uploads/2016/10/3-paas.png"&gt;    &lt;img alt="3-paas" height="488" src="http://insights.thoughtworkers.org/wp-content/uploads/2016/10/3-paas.png" width="975"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;  &lt;h4&gt;每个人都应该使用PaaS，但这个选择并不是永恒不变的。&lt;/h4&gt;  &lt;p&gt;能够参与到从“数据中心里放的一堆堆服务器”到“按需索求的虚拟基础设施”的业界革命的过程一向都是激动人心的，   &lt;strong&gt;ThoughtWorks也一直处在譬如DevOps和持续交付等运动的领导前沿。&lt;/strong&gt;客户常常要求我们使用云策略帮助他们，而我们今天的建议通常是“你需要采用PaaS”。&lt;/p&gt;  &lt;p&gt;很多组织已经欣然接受了IaaS并且创造了复杂的基于“   &lt;a href="http://blog.takipi.com/deployment-management-tools-chef-vs-puppet-vs-ansible-vs-saltstack-vs-fabric/"&gt;chuppet&lt;/a&gt;’的、领域特定的、通常由一些胶水代码和shell脚本搭起来的PaaS。尽管这些土生土长的平台已经够用了，但我们认为现有的PaaS产品更加成熟、值得一用。&lt;/p&gt;  &lt;p&gt;PaaS可供选择的范围很大，从高度结构化的选项比如Cloud foundry和OpenShift，到无结构的以容器为中心的选项例如Mesos和Kubernets。我们不认为这些平台是万灵药。很有可能你会需要深入到IaaS底层来满足你的结果（比如配置复杂的网络）或者它们会降低你的灵活性（比如使之很难使用某个服务定位库）。但是一个PaaS，如果实现得当，能够为大多数企业级开发选购带来巨大的生产力。我们曾见证过，仅仅是利用将平台标准化、取得高效的部署、运行app，就产生了两倍生产力的爆发。   &lt;strong&gt;和要求20个团队自己搞明白部署策略相比，PaaS是绝对的规则变革者。&lt;/strong&gt;&lt;/p&gt;  &lt;h3&gt;Docker，Docker，Docker。&lt;/h3&gt;  &lt;p&gt;如果缺少了Docker,那整个技术行业的概述都不是完整的。这个容器化现象已经吸引了所有人的关注力，不管是开发者、测试者还是产品运营专家。Docker首先使包装一个应用或组件到容器里变得十分容易，在这基础之上，它还可以管理容器的各个生命周期。&lt;/p&gt;  &lt;p&gt;Docker对于开发场景十分适用，比如从在同一个笔记本上运行多个微服务，到利用Docker镜像作为规模和管理单元来跨数据中心管理大型产品负载。我们认为最有趣的是围绕着Docker的高能源生态系统。现在的确有和Docker相竞争的工具，但是Docker在人们脑海中的占有率和其投资有着重要的意义，而且很有可能，在可预见的未来它会变成架构设计、开发策略和产品PaaS平台的底层基础。&lt;/p&gt;  &lt;h4&gt;Swift生态系统发展逐渐加速。&lt;/h4&gt;  &lt;p&gt;我们编写此次雷达时，讨论了很多   &lt;a href="https://www.thoughtworks.com/radar/languages-and-frameworks/swift"&gt;Swift&lt;/a&gt;工具、库和框架，尽管它们不是每一个都光彩夺目。在诸如Microsoft的.Net, Ruby on Rails, Scala和Clojure等已沿用多年的平台基础上，开发者们在用Swift重新创造他们最中意的软件。这是Swift平台逐渐接近成熟的好兆头，而且它也是iOS开发的不错的选择。特别地，我们会质疑任何使用Objective-C为起点来开发新的项目。&lt;/p&gt;  &lt;p&gt;   &lt;a href="http://insights.thoughtworkers.org/wp-content/uploads/2016/10/4-swift.png"&gt;    &lt;img alt="4-swift" height="488" src="http://insights.thoughtworkers.org/wp-content/uploads/2016/10/4-swift.png" width="975"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;  &lt;h3&gt;基于“计算组织体”的创新持续加速&lt;/h3&gt;  &lt;p&gt;底层技术——IoT, VR, 和Blockchain——给提供我们重要的组件块&lt;/p&gt;  &lt;p&gt;当我们评估新的技术趋势时，观察其下支撑的工程学和物理学是非常有指导性的。比如说，物联网，就是由于底层的工程，诸如电池、高性能低功耗芯片、无处不在的网络连接的进步而变为可能的。这些智能的、相互连接的设备会带来诸多优势，首当其冲就是在那些能显著改善效用和节能的工业和商业环境下。消费者物联网依然停留在浅显的、小把戏的程度，在接下来几年里需要解决重要的安全和隐私问题。虚拟现实在譬如Oculus Rift和HTC Vive平台上的应用越来越广泛，   &lt;a href="https://www.thoughtworks.com/radar/techniques/vr-beyond-gaming"&gt;超越游戏范畴的VR&lt;/a&gt;会随着我们逐步采用这个新组件块而变成一个增长领域。至于blockchain，我们预期在未来6~18个月中有   &lt;a href="https://www.thoughtworks.com/insights/blog/blockchain-grown-ups-cutting-through-hype"&gt;比较缓慢的增长&lt;/a&gt;，但在超分布式信任和不可改总账之下，存在着我们可以用于建立商业、经济甚至社会的新能力。&lt;/p&gt;  &lt;p&gt;当今时代显然是科技工作的黄金时代。在接下来的六个月里，我们期待能够看到这些趋势持续带给我们生产力上的增长，使团队和商业变得更加有力，并带给我们前所未有的全新想法和模式。我们也想要听听你的想法，在评论区告诉我们你心中最重要的行业趋势，以及未来我们可能见证要发生的事情吧！&lt;/p&gt;  &lt;hr&gt;&lt;/hr&gt;  &lt;p&gt;你想看到的洞见，都在这里&lt;/p&gt;  &lt;p&gt;   &lt;a href="http://insights.thoughtworkers.org/wp-content/uploads/2016/10/wechat.jpg"&gt;    &lt;img alt="wechat" height="250" src="http://insights.thoughtworkers.org/wp-content/uploads/2016/10/wechat.jpg" width="250"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;  &lt;div&gt;   &lt;div&gt;    &lt;a href="http://www.addtoany.com/add_to/wechat?linkurl=http%3A%2F%2Finsights.thoughtworkers.org%2Fmacro-trends-technology-industry%2F&amp;linkname=%E6%8A%80%E6%9C%AF%E8%A1%8C%E4%B8%9A%E7%9A%84%E5%AE%8F%E8%A7%82%E8%B6%8B%E5%8A%BF" rel="nofollow" target="_blank" title="WeChat"&gt;     &lt;img alt="WeChat" height="16" src="http://insights.thoughtworkers.org/wp-content/plugins/add-to-any/icons/wechat.png" width="16"&gt;&lt;/img&gt;&lt;/a&gt;    &lt;a href="http://www.addtoany.com/add_to/sina_weibo?linkurl=http%3A%2F%2Finsights.thoughtworkers.org%2Fmacro-trends-technology-industry%2F&amp;linkname=%E6%8A%80%E6%9C%AF%E8%A1%8C%E4%B8%9A%E7%9A%84%E5%AE%8F%E8%A7%82%E8%B6%8B%E5%8A%BF" rel="nofollow" target="_blank" title="Sina Weibo"&gt;     &lt;img alt="Sina Weibo" height="16" src="http://insights.thoughtworkers.org/wp-content/plugins/add-to-any/icons/sina_weibo.png" width="16"&gt;&lt;/img&gt;&lt;/a&gt;    &lt;a href="http://www.addtoany.com/add_to/evernote?linkurl=http%3A%2F%2Finsights.thoughtworkers.org%2Fmacro-trends-technology-industry%2F&amp;linkname=%E6%8A%80%E6%9C%AF%E8%A1%8C%E4%B8%9A%E7%9A%84%E5%AE%8F%E8%A7%82%E8%B6%8B%E5%8A%BF" rel="nofollow" target="_blank" title="Evernote"&gt;     &lt;img alt="Evernote" height="16" src="http://insights.thoughtworkers.org/wp-content/plugins/add-to-any/icons/evernote.png" width="16"&gt;&lt;/img&gt;&lt;/a&gt;    &lt;a href="http://www.addtoany.com/add_to/pocket?linkurl=http%3A%2F%2Finsights.thoughtworkers.org%2Fmacro-trends-technology-industry%2F&amp;linkname=%E6%8A%80%E6%9C%AF%E8%A1%8C%E4%B8%9A%E7%9A%84%E5%AE%8F%E8%A7%82%E8%B6%8B%E5%8A%BF" rel="nofollow" target="_blank" title="Pocket"&gt;     &lt;img alt="Pocket" height="16" src="http://insights.thoughtworkers.org/wp-content/plugins/add-to-any/icons/pocket.png" width="16"&gt;&lt;/img&gt;&lt;/a&gt;    &lt;a href="http://www.addtoany.com/add_to/instapaper?linkurl=http%3A%2F%2Finsights.thoughtworkers.org%2Fmacro-trends-technology-industry%2F&amp;linkname=%E6%8A%80%E6%9C%AF%E8%A1%8C%E4%B8%9A%E7%9A%84%E5%AE%8F%E8%A7%82%E8%B6%8B%E5%8A%BF" rel="nofollow" target="_blank" title="Instapaper"&gt;     &lt;img alt="Instapaper" height="16" src="http://insights.thoughtworkers.org/wp-content/plugins/add-to-any/icons/instapaper.png" width="16"&gt;&lt;/img&gt;&lt;/a&gt;    &lt;a href="http://www.addtoany.com/add_to/email?linkurl=http%3A%2F%2Finsights.thoughtworkers.org%2Fmacro-trends-technology-industry%2F&amp;linkname=%E6%8A%80%E6%9C%AF%E8%A1%8C%E4%B8%9A%E7%9A%84%E5%AE%8F%E8%A7%82%E8%B6%8B%E5%8A%BF" rel="nofollow" target="_blank" title="Email"&gt;     &lt;img alt="Email" height="16" src="http://insights.thoughtworkers.org/wp-content/plugins/add-to-any/icons/email.png" width="16"&gt;&lt;/img&gt;&lt;/a&gt;    &lt;a href="http://www.addtoany.com/add_to/baidu?linkurl=http%3A%2F%2Finsights.thoughtworkers.org%2Fmacro-trends-technology-industry%2F&amp;linkname=%E6%8A%80%E6%9C%AF%E8%A1%8C%E4%B8%9A%E7%9A%84%E5%AE%8F%E8%A7%82%E8%B6%8B%E5%8A%BF" rel="nofollow" target="_blank" title="Baidu"&gt;     &lt;img alt="Baidu" height="16" src="http://insights.thoughtworkers.org/wp-content/plugins/add-to-any/icons/baidu.png" width="16"&gt;&lt;/img&gt;&lt;/a&gt;    &lt;a href="http://www.addtoany.com/add_to/linkedin?linkurl=http%3A%2F%2Finsights.thoughtworkers.org%2Fmacro-trends-technology-industry%2F&amp;linkname=%E6%8A%80%E6%9C%AF%E8%A1%8C%E4%B8%9A%E7%9A%84%E5%AE%8F%E8%A7%82%E8%B6%8B%E5%8A%BF" rel="nofollow" target="_blank" title="LinkedIn"&gt;     &lt;img alt="LinkedIn" height="16" src="http://insights.thoughtworkers.org/wp-content/plugins/add-to-any/icons/linkedin.png" width="16"&gt;&lt;/img&gt;&lt;/a&gt;    &lt;a href="http://www.addtoany.com/add_to/pinterest?linkurl=http%3A%2F%2Finsights.thoughtworkers.org%2Fmacro-trends-technology-industry%2F&amp;linkname=%E6%8A%80%E6%9C%AF%E8%A1%8C%E4%B8%9A%E7%9A%84%E5%AE%8F%E8%A7%82%E8%B6%8B%E5%8A%BF" rel="nofollow" target="_blank" title="Pinterest"&gt;     &lt;img alt="Pinterest" height="16" src="http://insights.thoughtworkers.org/wp-content/plugins/add-to-any/icons/pinterest.png" width="16"&gt;&lt;/img&gt;&lt;/a&gt;    &lt;a href="https://www.addtoany.com/share"&gt;分享&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt; &lt;a href="https://itindex.net/"  title="IT 资讯"&gt;&lt;img src="https://itindex.net/images/iconWarning.gif" title="IT 资讯" border="0"/&gt; &lt;/a&gt;</description>
      <category>startup</category>
      <guid isPermaLink="true">https://itindex.net/detail/56065-%E6%8A%80%E6%9C%AF-%E8%A1%8C%E4%B8%9A-%E5%AE%8F%E8%A7%82</guid>
      <pubDate>Mon, 17 Oct 2016 08:00:00 CST</pubDate>
    </item>
    <item>
      <title>品读：与今日头条反向而行</title>
      <link>https://itindex.net/detail/50509-%E4%BB%8A%E6%97%A5%E5%A4%B4%E6%9D%A1</link>
      <description>&lt;p&gt;  &lt;a href="http://cn.technode.com/files/2014/07/14.jpg"&gt;   &lt;img alt="1" height="497" src="http://cn.technode.com/files/2014/07/14-1024x728.jpg" width="700"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
 &lt;p&gt;尽管个性化阅读软件“  &lt;a href="http://www.toutiao.com/"&gt;今日头条&lt;/a&gt;”此前面临来自《新京报》、搜狐等合作媒体以及国家版权局的压力，但作为一家新闻资讯推荐公司，北京旭宁信息技术有限公司CEO徐屾屾认为，“从其产品来说，今日头条推荐的新闻还是很准确。”&lt;/p&gt;
 &lt;p&gt;徐屾屾的团队一起合作了很多年，这是一个有多年开发经验的老团队。2009年初，他们做的第一款手机应用Daily Finance iPhone App就成为美国最受欢迎的金融应用，之后又连续做了4款游戏。这些产品都在全球下载榜上长期保持不错的成绩。之后，这个团队开始做开发外包，开发了不少知名的产品，业务一直做得顺风顺水。2012年初，他们停止了外包业务，开始专注于产品研发。&lt;/p&gt;
 &lt;p&gt;“  &lt;a href="http://www.pento.cn/"&gt;品读&lt;/a&gt;”是徐屾屾的团队开发的一款全新理念的个性化阅读类产品，这款产品的iPad，iPhone及网站版已经上线，并且推出了相应的浏览器插件。&lt;/p&gt;
 &lt;p&gt;尽管都主推个性化阅读，但品读的推荐机制并非完全基于类似今日头条所用的“大数据”。在徐屾屾看来，机器推荐可以算出用户的兴趣，但很难算出内容本身的品质。&lt;/p&gt;
 &lt;p&gt;品读更像是一个基于内容的Zaker跟Pocket的合体。品读的内容主要来自用户收集，部分来自合作媒体。&lt;/p&gt;
 &lt;p&gt;品读的文章被聚合在一个个代表不同主题的本子里，它们由用户创建，由用户整理。用户在品读里可以按照兴趣阅读这些本子，同时可以使用品读在移动端、PC端将喜欢的文章收集到本子里，创建新的本子，而品读会将这其中的精品按照大家的阅读兴趣推荐给用户。&lt;/p&gt;
 &lt;p&gt;基于移动端的阅读需求很大。根据CNNIC发布的第34次《中国互联网络发展状况统计报告》，从2013年12月到2014 年 6 月，网络新闻用户规模超过5亿，使用率达到79.6%。时下最为热门的手机资讯软件  &lt;a href="http://cn.technode.com/post/2014-06-03/toutiao-zhangyiming/"&gt;今日头条发布的数据显示&lt;/a&gt;，其日活跃用户有1300多万，月度活跃用户4000万，下载并启动过手机的累计激活数据是1.2亿。&lt;/p&gt;
 &lt;p&gt;  &lt;a href="http://cn.technode.com/files/2014/07/31.jpg"&gt;   &lt;img alt="3" height="466" src="http://cn.technode.com/files/2014/07/31-1024x683.jpg" width="700"&gt;&lt;/img&gt;&lt;/a&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;品读的用户年龄分布很广泛，从17、18岁到40多岁都有。用户创建的本子从情感类美文到中国文字字体研究应用尽有。有一个名为“蒸汽博客”的本子，主要是收集蒸汽朋克的内容，这位本子的主人是一位文身师。&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;今日头条已经做得很好了，你为什么还要做一个？&lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt;跟今日头条提供新闻不同，品读上提供的新闻很少。我们希望给用户提供能沉淀下来的内容。坚持看10年新闻可能也不会有太大收获。我们的产品相当于一个内容众包版的Flipboard。&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;你的内容主要来自用户收集，用户真的有收集的欲望吗？&lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt;这其实是还原了一种古老的需求。以前收集剪报，只是现在放到手机、电脑上且能分享。&lt;/p&gt;
 &lt;p&gt;除了从网上收集之外，PC版的品读还提供博客功能，供用户发布自己原创的内容。用户可以通过这些资讯结识自己最想认识的人。在没有社交功能的情况下，用户的收集不会产生价值。&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;你的盈利模式是怎样的？&lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt;品读的盈利模式跟今日头条、Flipboard一样，瞄准的是广告主。不过，品读提供的广告方式可能不只是目前普遍的横幅模式。我更希望能切入主题类广告，这类广告占据广告界利润的最大比例。&lt;/p&gt;
 &lt;p&gt;  &lt;a href="http://cn.technode.com/files/2014/07/6.jpg"&gt;   &lt;img alt="6" height="466" src="http://cn.technode.com/files/2014/07/6-1024x683.jpg" width="700"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;采访手记&lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt;品读从今年6月上线至今，已得到了大量用户的认可。徐屾屾介绍，“每个人的兴趣都有很多，因此一个用户可能就有几个不同兴趣点的本子。”&lt;/p&gt;
 &lt;p&gt;让用户订阅其他用户的本子，除了为用户提供精品内容以外，这也是激励用户收集本子的一个动力。一些用户在用过一段时间Pocket之后，便再也不会点开也很少分享。徐屾屾认为，这正是因为Pocket只利于收集，不利于分享传播，在没有社交功能的情况下，用户的收集不会产生价值。&lt;/p&gt;
 &lt;p&gt;徐屾屾自己就是一个典型的用户案例。他在品读上建立了一个关于科技新闻的本子，在演示如何使用本子收集资讯时，他突然说了一句：“不能随便收集，这体现我的品味。”&lt;/p&gt;
 &lt;p&gt; &lt;/p&gt;
 &lt;p&gt;本文   &lt;a href="http://cn.technode.com/post/2014-07-25/pindu/" rel="nofollow"&gt;品读：与今日头条反向而行&lt;/a&gt; 来自   &lt;a href="http://cn.technode.com" rel="nofollow"&gt;动点科技&lt;/a&gt;.&lt;/p&gt;
&lt;div&gt; &lt;a href="https://itindex.net/"  title="IT 资讯"&gt;&lt;img src="https://itindex.net/images/iconWarning.gif" title="IT 资讯" border="0"/&gt; &lt;/a&gt;</description>
      <category>Startup Daily 新闻 个性化阅读 品读</category>
      <guid isPermaLink="true">https://itindex.net/detail/50509-%E4%BB%8A%E6%97%A5%E5%A4%B4%E6%9D%A1</guid>
      <pubDate>Fri, 25 Jul 2014 10:54:38 CST</pubDate>
    </item>
    <item>
      <title>HBuilder ：免费html5移动应用开发平台</title>
      <link>https://itindex.net/detail/49957-hbuilder-%E5%85%8D%E8%B4%B9-html5</link>
      <description>&lt;p&gt;  &lt;a href="http://cn.technode.com/files/2014/06/HBuilder.png"&gt;   &lt;img alt="HBuilder" height="356" src="http://cn.technode.com/files/2014/06/HBuilder.png" width="580"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;a href="http://www.dcloud.net.cn/" target="_blank"&gt;HBuilder&lt;/a&gt;是一个工作环境（IDE），可以加速html5新应用的开发，这是在中国的首个同类产品，在该产品背后的开发团队Dcloud，相信这是全球同类产品当中表现最好的一个。&lt;/p&gt;
 &lt;p&gt;公司已经找出某种方式来促进html5移动应用在中国的表现。它们跟原生应用已经差不多好了，同样在低端的安卓设备上也可以表现很好，而低端安卓机占领中国智能手机市场的一大部分，也将会是不远的将来市场的主要驱动力量。&lt;/p&gt;
 &lt;p&gt;不像是世界上大多数其它产品，HBuilder 是免费的，也不准备对应用开发相关的任何服务针对开发者收费。团队有一个更大的计划。&lt;/p&gt;
 &lt;p&gt;这个几个人的团队Dcloud从2013年初开始建造这个工具。这是从商业软件解决方案开发者数字天堂分拆出来的团队。公司创始人王安曾是其总经理，但公司并不支持他们为html5移动应用增进体验创造开发工具的想法。王安最终辞去总经理职务，成为了Dcloud的CEO，但仍然保留在董事会当中的席位。&lt;/p&gt;
 &lt;p&gt;大家都对html5感到兴奋，这允许网页版的程序也可以做得很复杂，而且在技术方面的问题也已经出现很长一段时间。今天，随着各种各样的互联网服务提供商看到，来自智能移动设备越来越多的流量是被本地原生应用所占据，这类科技企业总想让网页版来一个流量的逆袭。&lt;/p&gt;
 &lt;p&gt;浏览器提供商发现，用户并不需要打开移动浏览器才能消费内容；搜索引擎没有办法索引原生应用内的内容，但原生内容却成为了移动应用的主流。现在，像谷歌这样的搜索引擎都鼓励开发者，把它们应用内的内容变得可以索引。&lt;/p&gt;
 &lt;p&gt;在中国领先的搜索提供商百度，发布了名为轻应用的方案，鼓励开发者将内容做得对搜索引擎更友好，并且可以在百度移动客户端当中访问。中国的手机浏览器制造商uc也开发了一个类似的计划，用户可以首先打开浏览器，然后再进入提交到那里的网页应用当中。有一些中国公司实际上已经从uc的方案当中获益，因为uc开发了针对pc的浏览器。&lt;/p&gt;
 &lt;p&gt;已经看到盈利的奇虎360，是通过免费的安全互联网产品和浏览器来赚钱的，他们决定开发网页游戏平台，而不是客户端游戏。大多数中国游戏分发者长期使用端游来赚钱，端游需要用户花时间和精力下载客户端。奇虎的用户只需要打开浏览器当中这些网页游戏的图标，就可以开始了。奇虎可能做了正确的选择。基于html5的网页游戏很快就会在中国起飞了。&lt;/p&gt;
 &lt;p&gt;现在很多科技公司，就像上面提到的搜索引擎和浏览器制造商，都希望基于网页的移动内容，有着htm15驱动的复杂功能，可以转换目前以原生应用为主的移动互联网，进入更新的竞争局面。&lt;/p&gt;
 &lt;p&gt;Dcloud也希望这样的事情能够发生。HBuilder是他们的核心产品，可以吸引开发者，CEO说，现在已经有差不多两万人进入。接下来公司会围绕它建立一个生态系统，提供针对开发者的网页论坛等服务。最终公司会接管应用分发，希望创造新的应用程序分发的方式，就像奇虎曾经做过的那样，从这里再获得营收。&lt;/p&gt;
 &lt;p&gt;有一些投资者已经觉得这种想法很靠谱。公司获得了来自CSDN老总，已经成为天使投资者的蒋涛的融资，同时还有一位原来facebook员工转向的天使投资者Harry Wang，以及另外一家中国科技公司。（译：dio）&lt;/p&gt;
 &lt;p&gt;  &lt;a href="http://technode.com/2014/06/04/hbuilder-making-html5-mobile-apps-booming/" target="_blank"&gt;HBuilder: to Make HTML5 Mobile Apps Booming in China&lt;/a&gt;&lt;/p&gt;
 &lt;p&gt;本文   &lt;a href="http://cn.technode.com/post/2014-06-10/hbuilder-making-html5-mobile-apps-booming/" rel="nofollow"&gt;HBuilder ：免费html5移动应用开发平台&lt;/a&gt; 来自   &lt;a href="http://cn.technode.com" rel="nofollow"&gt;动点科技&lt;/a&gt;.&lt;/p&gt;&lt;div&gt; &lt;a href="https://itindex.net/"  title="IT 资讯"&gt;&lt;img src="https://itindex.net/images/iconWarning.gif" title="IT 资讯" border="0"/&gt; &lt;/a&gt;</description>
      <category>Startup Daily hbuilder</category>
      <guid isPermaLink="true">https://itindex.net/detail/49957-hbuilder-%E5%85%8D%E8%B4%B9-html5</guid>
      <pubDate>Tue, 10 Jun 2014 08:00:13 CST</pubDate>
    </item>
    <item>
      <title>谈谈创业公司的技术选型－－朴素的技术观</title>
      <link>https://itindex.net/detail/40948-%E5%88%9B%E4%B8%9A%E5%85%AC%E5%8F%B8-%E6%8A%80%E6%9C%AF-%E6%8A%80%E6%9C%AF</link>
      <description>&lt;a href="http://www.54chen.com"&gt;  &lt;img border="0" src="http://www.54chen.com/wp-content/themes/54chen2011/images/54chen-logo.gif"&gt;&lt;/img&gt;&lt;/a&gt; &lt;br /&gt;以下内容由 &lt;a href="http://www.54chen.com"&gt;[五四陈科学院]&lt;/a&gt;提供 &lt;br /&gt; &lt;p&gt;  &lt;img alt="&amp;#21019;&amp;#19994;&amp;#20844;&amp;#21496;&amp;#25216;&amp;#26415;&amp;#36873;&amp;#22411;" src="http://img03.taobaocdn.com/imgextra/i3/T13gR3Xa4cXXcFX9c3_050845.jpg"&gt;&lt;/img&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;创业公司的定义&lt;/strong&gt;  &lt;br /&gt;
把服务器数量在千台以内（如果存在服务端），或者业务没有爆发过或者是长时间没有爆发过的公司，叫做创业公司。&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;朴素技术观的定义&lt;/strong&gt;  &lt;br /&gt;
有很多看上去很美好的技术，背后都有很多对应的很残酷的事实，在一个创业公司许多选择给你，你可以使用当前最炫的技术，也可以使用团队最擅长的技术。朴素世界观，是指所有选择使用团队最擅长技术的一种观念。&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;语言&lt;/strong&gt;  &lt;br /&gt;
语言之争是最没品了，这里不争哪种语言好哪种语言坏。  &lt;br /&gt;
这里有一个办法来选择语言：所有团队成员的简历中，出现最多的一种语言为标准。  &lt;br /&gt;
例外情况：团队成员中有一位大拿，是某门语言的泰斗，不说在国际上，在国内也要有领头羊的成绩。印象中在创业中大量使用GO语言的许式伟大侠是例外中最典型的一个，不过看看人家的成绩，已经把GO摸的一清二楚了。&lt;/p&gt;
 &lt;p&gt;反例：太多。&lt;/p&gt;
 &lt;p&gt;以下条件满足可开启反例模式：  &lt;br /&gt;
1.至少一人完全理解整个语言的语法  &lt;br /&gt;
2.至少一人完全理解语言精髓  &lt;br /&gt;
3.至少一人完全掌握此语言常见debug工具  &lt;br /&gt;
4.至少一人在一个规模较小应用成功使用&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;存储&lt;/strong&gt;  &lt;br /&gt;
这里主要讲服务器的存储。  &lt;br /&gt;
如何选择：mysql+memcached至少在twitter、renren.com、taobao、qq、sina、baidu......等公司大量使用，如果你团队成员一个都不是来自这些公司，那大胆地用吧，用死也用不出什么毛病来。当然了，十分需要在业务爆发时找到一位可靠的mysql dba，这里要提一下人人网的创始员工DBA刘启荣大侠，引用一句前老板的话：×××无出启荣之右也。  &lt;br /&gt;
反例：此处省去创业团队名字，有史可考。当年KV十分火爆，某兄弟对cassandra十分感冒，于是在整个系统初期设计时全部使用了这玩意。后来，开始市场宣传的时候，这玩意儿就是不行了，一行人接连多夜赶制回mysql。&lt;/p&gt;
 &lt;p&gt;以下条件满足可开启反例模式：  &lt;br /&gt;
1.使用cassandra要理解全篇dynamo文档所写，完全掌握RWN，完全熟知虚拟分区作用，清晰知道cassandra在分区上偷工减料所带来的影响。  &lt;br /&gt;
2.团队成员里有一个人完全理解了这个要使用的东西的源代码。这里要提一下张宴大侠，他长年研究tt代码，在使用上已经很有一手，所以有他在的地方，用tt完全没有问题。如果国内有一个人冒出来说自己对cassandra代码长年研究，我一定不相信，因为这些项目代码行数已经超过一个人快速理解的能力，当你看完的时候，新的版本又出来了。  &lt;br /&gt;
3.很多单独的解决方案，因为代码量不大，完全可以从零开始花人力搞定它，像redis，在新浪被用得很多，到了你的创业公司，不一定可以搞定，因为什么呢，你需要一个完整的人先摸透它的习性。摸透了习性的小项目，完全可以先在小项目上使用。&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;框架与分工&lt;/strong&gt;  &lt;br /&gt;
框架的作用在于更加利于分工。  &lt;br /&gt;
以服务端为例，java如果你选择了人人网切切王开源的rose框架的话，spring的好处一应俱全，而且因为其天生的restful的好处，最小粒度可以以api为分工。这样，在一个团队内部，任何人完全可以修改任何人的代码，因为是使用同一个框架，同一种思路，写出来的代码不会是完全两样的。php如果你选择的ZF之类的，以controller为单位的MVC模型一下子就定义了你的项目，同样也可以做到成员随意维护任意模块。&lt;/p&gt;
 &lt;p&gt;如何选择：框架的选择只看历史。如果历史上有框架可选，那一定是选择验证过的。如果没有，那尽可能地花时间提炼框架。  &lt;br /&gt;
反例：框架似乎人类写代码的常规总结行为，即便再烂的项目，在局部去看也一定会有一些框架性的代码存在。反例要说说discuz1.0以前的代码，感觉完全是应届生所为，想到哪里写到哪里，和放牛一样，维护基本上不可能。&lt;/p&gt;
 &lt;p&gt;以下条件满足可开启反例模式：  &lt;br /&gt;
1.android等客户端开发暂时还没有特别好的框架性的东西，不过android本身就是一个大框架，业务代码的框架需要自己提炼。  &lt;br /&gt;
2.非常非常小的项目，瞬间写完要上线。  &lt;br /&gt;
3.项目只用一次。  &lt;br /&gt;
4.救火。&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;大项目与小项目&lt;/strong&gt;  &lt;br /&gt;
反例：从超级大公司出来的工程师，特别是企业开发的同学，特别喜欢一个超级大的项目，把所有的功能都包括在里面。所有人一起，天天折腾这个trunk，动不动的我踩着你的脚了，你压着我的手了。  &lt;br /&gt;
正例：换到互联网模式，所有项目能拆则拆，越扁平越好，每个部分有一个指定的master，主要负责此项目的稳定。这实际在开源界早就这样干了。实际操作中，只要能够找到一个合适的master，就可以拆。&lt;/p&gt;
 &lt;p&gt;没有任何条件可以开启反例模式。&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;流程与管理&lt;/strong&gt;  &lt;br /&gt;
这个标题太大，分小来说。主要包括代码版本管理、依赖管理、代码制度、项目发布流程。这里没有反例，只讲经验。&lt;/p&gt;
 &lt;p&gt;版本管理：目前大多数人还在使用svn，但是git真的非常非常好用。pro git book只需要一个晚上的仔细阅读，就一定可以学会。实际学习成本很低了，一个创业团队，这点学习能力都没有的人，赶紧离开你的团队吧。  &lt;br /&gt;
依赖管理：java大多已经使用maven，老早的ant带一堆jar包的形式已经落后了，赶紧换。php的依赖管理一直都很弱，不过有人参考ruby搞了一个composer，可以试试，也许可以帮助改进。  &lt;br /&gt;
代码制度：什么样的代码才可以checkin/merge master？一般的标准为：跑过所有的unit test、master维护者或者团队成员review通过。  &lt;br /&gt;
项目发布流程：项目立项到项目上线，划分N个小阶段，实施scrum或者变体的scrum，但是一个原则就是任何一个阶段的不确定，都会在后面的阶段里放大，小步快跑才是正确的节奏，有时候宁愿不要一些功能，也一定要先发出来。&lt;/p&gt;
 &lt;br /&gt; &lt;br /&gt;想快点找到作者也可以到Twitter上留言:  &lt;a href="https://www.twitter.com/54chen" target="_blank"&gt;@54chen&lt;/a&gt; &lt;br /&gt;或者你懒得带梯子上墙，请到新浪微博： &lt;a href="http://t.sina.com.cn/54chen" target="_blank"&gt;@54chen&lt;/a&gt;&lt;div&gt; &lt;a href="https://itindex.net/"  title="IT 资讯"&gt;&lt;img src="https://itindex.net/images/iconWarning.gif" title="IT 资讯" border="0"/&gt; &lt;/a&gt;</description>
      <category>资料文档 startup</category>
      <guid isPermaLink="true">https://itindex.net/detail/40948-%E5%88%9B%E4%B8%9A%E5%85%AC%E5%8F%B8-%E6%8A%80%E6%9C%AF-%E6%8A%80%E6%9C%AF</guid>
      <pubDate>Tue, 04 Dec 2012 09:07:20 CST</pubDate>
    </item>
    <item>
      <title>产品快速迭代就叫”精益创业”了吗？不！听听500 Startups创始合伙人Dave的看法</title>
      <link>https://itindex.net/detail/44290-%E4%BA%A7%E5%93%81-%E8%BF%AD%E4%BB%A3-%E7%B2%BE%E7%9B%8A%E5%88%9B%E4%B8%9A</link>
      <description>&lt;p&gt;  &lt;a href="http://www.pingwest.com/dave-of-500-startups-talked-about-lean-startup/111-3/" rel="attachment wp-att-16691"&gt;   &lt;img alt="111" height="334" src="http://pwtest.qiniudn.com/wp-content/uploads/2013/05/1111.jpg" width="500"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
 &lt;p&gt;Lean Startup（精益创业）已经成为创业者，尤其是科技领域的传业者非常推崇的一种创业方式，可是很多人对它的理解仍然停留在“产品的快速迭代”层面上。事实上，它远远不止如此。硅谷知名孵化器500 Startups的创始合伙人Dave McClure在这周来到了北京，和我们也做了一个短暂的交流，来听听看看他是怎么阐释Lean Startup的。&lt;/p&gt;
 &lt;p&gt;Dave认为，Lean Startup有几个要点需要特别注意，包括：&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;1、添加功能并不意味着获得进展&lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt;Dave说，现在的创业者提到Lean Startup都有一个误区，以为就是推出产品后，不停地添加新功能，这个版本加一个新按钮，那个版本加一个新特性，但事实上，不仅仅是功能，市场营销、客户获取等方面，同样都可以应用到Lean Startup法则，而且，要注重每一次改变带来的效应。&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;2、和客户多交流，以解决问题&lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt;在这点上，Dave和  &lt;a href="http://www.pingwest.com/steve-blanks-advice-on-building-business-model/" target="_blank"&gt;Steve Blank提到的&lt;/a&gt;一致，就是关起门来写代码是不行的，要走出去，多和你的客户交流，以获得真实的数据支持下一步的开发。&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;3、快速迭代，但是要建立反馈回路（feedback loop）&lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt;Dave支持快速、频繁的迭代，但是，他强调一点在迭代过程中一定要形成一个“环”，也即是说，每次的迭代背后，要快速收集反馈，然后利用收集到的数据为产品和市场决策的再次迭代提供支撑，以此来形成一个闭环。&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;4、保持产品简单并可快速行动&lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt;不要让产品太复杂，要让它处于这样一个状态：当你一个有了新的方向时，可以迅速实施。&lt;/p&gt;
 &lt;p&gt;Dave尤其强调了市场、用户获取和商业模式的重要。他说，Lean Startup绝不仅仅意味着产品功能的优化，“  &lt;strong&gt;一个可扩展的、并能让你实现收支平衡甚至盈利的用户规模是让你们能够存活下来、并获取风险投资的最重要的事。&lt;/strong&gt;”&lt;/p&gt;
 &lt;p&gt;“功能、用户和钱，哪个最重要？用户第一，钱第二（也许对于部分to B业务不适用），但是功能是放在最后的。”Dave说。&lt;/p&gt;
 &lt;p&gt;除去产品本身外，在创业切入的角度和最终的退出上，Dave认为也可以用同样的方式来思考。&lt;/p&gt;
 &lt;p&gt;他说，现在的创业项目确实有很多是基于技术的，但是更多的企业只是基于互联网的分销或者营销方式，所以用互联网的方式去入侵传统行业反而有更大的机会。&lt;/p&gt;
 &lt;blockquote&gt;  &lt;p&gt;“不必都想着去做Instagram，而是去尝试做做点餐外送的服务，我喜欢那些项目。线下的商家就像恐龙一样，他们完全不懂，如果你们（互联网创业者们）去做这些事，一定可以把他们吓出屎来。”&lt;/p&gt;&lt;/blockquote&gt;
 &lt;p&gt;同样，他对于小额退出（Small Exit）评价很高。他认为，不一定非要把IPO或者十亿估值作为最终的目标，事实上，千万美元级别的收购就可以保障创业者们的生活，这对于创业者、投资人和收购公司来说，是一个三赢的决定。&lt;/p&gt;
 &lt;p&gt;那么从投资人的角度来说，一个好的创业公司应该符合哪些条件呢？Dave说，  &lt;strong&gt;产品要能解决特定目标用户群的需求；资金利用率高，可以用低于100万美元的启动资金来进行运营；最好是基于互联网的分销方式——比如搜索、社交、移动等，同时商业模式清晰。&lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt;此外，拥有以下特质还可以为创业者加分，那就是小型但是可以测量的用户或者早期营收；精简但是职能齐全的团队（至少要有工程师、设计师、市场营销人员）；获得投资之前可运转的模型或此前的成功经历等。&lt;/p&gt;
 &lt;p&gt;Dave还称，现在科技创业已经比之前要简单得多，这可以体现在创业成本、获取用户和退出等多个方面：&lt;/p&gt;
 &lt;p&gt;比方说，创业需要的资金更少了，服务器、软件和带宽上花费大幅减少，而Kick Starter、Angel List等新型融资方式的出现为解决资金问题提供了不少便利；&lt;/p&gt;
 &lt;p&gt;其次，获取用户的成本的大大降低。现在有这么多一亿用户的大平台，创业公司在接入这些平台后，就可以更容易地接触到用户。&lt;/p&gt;
 &lt;p&gt;此外，尽管十亿美元级别的IPO不多，但是，低于一亿美元的小额收购已经大量出现。大量“小额投资”（Little Bets）出现，如加速器、天使投资人等，还有像YC和500 Startups一样，会提供融资、协作、导师和分销等资源。&lt;/p&gt;
 &lt;p&gt;“这些不仅让成功变得没那么难，更重要的是，让失败的过程变得快速，而且成本变得很低。”Dave说。&lt;/p&gt; &lt;img border="0" height="0" src="http://www1.feedsky.com/t1/740711311/pingwest/feedsky/s.gif?r=http://www.pingwest.com/dave-of-500-startups-talked-about-lean-startup/" width="0"&gt;&lt;/img&gt;&lt;div&gt; &lt;a href="https://itindex.net/"  title="IT 资讯"&gt;&lt;img src="https://itindex.net/images/iconWarning.gif" title="IT 资讯" border="0"/&gt; &lt;/a&gt;</description>
      <category>Dave Mclure Lean Startup 500 Startups 态度</category>
      <guid isPermaLink="true">https://itindex.net/detail/44290-%E4%BA%A7%E5%93%81-%E8%BF%AD%E4%BB%A3-%E7%B2%BE%E7%9B%8A%E5%88%9B%E4%B8%9A</guid>
      <pubDate>Fri, 31 May 2013 17:16:53 CST</pubDate>
    </item>
    <item>
      <title>Facebook的标语</title>
      <link>https://itindex.net/detail/35723-facebook-%E6%A0%87%E8%AF%AD</link>
      <description>&lt;p&gt;  &lt;a href="http://www.facebook.com/"&gt;Facebook&lt;/a&gt;即将  &lt;a href="http://finance.sina.com.cn/roll/20120202/133811299031.shtml"&gt;上市&lt;/a&gt;，一时之间成为全球新闻热点。&lt;/p&gt; &lt;p&gt;为了不错过商机，有人将Facebook内部的标语做成  &lt;a href="http://hacker-gallery.goodsie.com"&gt;海报&lt;/a&gt;，每张20美元，放到网上卖。&lt;/p&gt;

 &lt;p&gt;  &lt;a href="http://www.lucidpathconsulting.com/2012/01/7-business-lessons-from-facebooks-culture-history/"&gt;据说&lt;/a&gt;，从扎克伯格创业初期，这些标语就贴在Facebook的办公室，作为行动准则，激励员工。&lt;/p&gt;

 &lt;p&gt;虽然这些标语很简单，但是我发现，它们真的具有警醒的效果，能指导你做出正确的事。我正在考虑，将这些标语的链接放到我的首页，每天看一遍。&lt;/p&gt;

 &lt;p&gt;虽然我把它们译成了中文，但只有看英文，才能感受到里面全部的含义。&lt;/p&gt;

 &lt;p&gt;1.&lt;/p&gt;

 &lt;p&gt;  &lt;strong&gt;Done is better than perfect.&lt;/strong&gt;&lt;/p&gt;

 &lt;p&gt;比完美更重要的是完成。&lt;/p&gt;

 &lt;p&gt;  &lt;img src="http://image.beekka.com/blog/201202/bg2012020201.jpg"&gt;&lt;/img&gt;&lt;/p&gt;

 &lt;p&gt;2.&lt;/p&gt;

 &lt;p&gt;  &lt;strong&gt;Code wins arguments.&lt;/strong&gt;&lt;/p&gt;

 &lt;p&gt;代码赢得争论。&lt;/p&gt;

 &lt;p&gt;  &lt;img src="http://image.beekka.com/blog/201202/bg2012020202.jpg"&gt;&lt;/img&gt;&lt;/p&gt;

 &lt;p&gt;3.&lt;/p&gt;

 &lt;p&gt;  &lt;strong&gt;Move fast and break things.&lt;/strong&gt;&lt;/p&gt;

 &lt;p&gt;快速行动，破除陈规。&lt;/p&gt;

 &lt;p&gt;  &lt;img src="http://image.beekka.com/blog/201202/bg2012020203.jpg"&gt;&lt;/img&gt;&lt;/p&gt;

 &lt;p&gt;4.&lt;/p&gt;

 &lt;p&gt;  &lt;strong&gt;Stay focused and keep shipping.&lt;/strong&gt;&lt;/p&gt;

 &lt;p&gt;保持专注，持续发布。&lt;/p&gt;

 &lt;p&gt;  &lt;img src="http://image.beekka.com/blog/201202/bg2012020204.jpg"&gt;&lt;/img&gt;&lt;/p&gt;

 &lt;p&gt;（完）&lt;/p&gt; &lt;div&gt;  &lt;h3&gt;文档信息&lt;/h3&gt;
  &lt;ul&gt;
   &lt;li&gt;版权声明：自由转载-非商用-非衍生-保持署名 |     &lt;a href="http://creativecommons.org/licenses/by-nc-nd/3.0/deed.zh"&gt;Creative Commons BY-NC-ND 3.0&lt;/a&gt;&lt;/li&gt;
   &lt;li&gt;原文网址：    &lt;a href="http://www.ruanyifeng.com/blog/2012/02/facebook_slogans.html"&gt;http://www.ruanyifeng.com/blog/2012/02/facebook_slogans.html&lt;/a&gt;&lt;/li&gt;
   &lt;li&gt;最后修改时间：2012年2月 3日 22:10&lt;/li&gt;
   &lt;li&gt;付费支持：    &lt;a href="https://mai.alipay.com/p.htm?id=2012010602227616" target="_blank"&gt;     &lt;img alt="&amp;#25903;&amp;#20184;&amp;#23453;&amp;#25285;&amp;#20445;&amp;#20132;&amp;#26131;" src="http://www.ruanyifeng.com/blog/images/rmb_32.png"&gt;&lt;/img&gt;&lt;/a&gt; |     &lt;a href="https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&amp;business=yifeng.ruan@gmail.com&amp;currency_code=USD&amp;amount=2.99&amp;return=http://www.ruanyifeng.com/thank.html&amp;item_name=Ruan%20YiFeng's%20Blog&amp;undefined_quantity=1&amp;no_note=0" target="_blank"&gt;     &lt;img alt="paypal" src="http://www.ruanyifeng.com/blog/images/dollar_32.png"&gt;&lt;/img&gt;&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt; &lt;div&gt;  &lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;div&gt; &lt;a href="https://itindex.net/"  title="IT 资讯"&gt;&lt;img src="https://itindex.net/images/iconWarning.gif" title="IT 资讯" border="0"/&gt; &lt;/a&gt;</description>
      <category>Startup</category>
      <guid isPermaLink="true">https://itindex.net/detail/35723-facebook-%E6%A0%87%E8%AF%AD</guid>
      <pubDate>Fri, 03 Feb 2012 14:40:47 CST</pubDate>
    </item>
    <item>
      <title>创业公司成功Pivot的秘密</title>
      <link>https://itindex.net/detail/34997-%E5%88%9B%E4%B8%9A%E5%85%AC%E5%8F%B8-%E6%88%90%E5%8A%9F-pivot</link>
      <description>&lt;p&gt;&lt;a href="http://www.36kr.com/p/71722.html/jamesaltucher" rel="attachment wp-att-71818"&gt;&lt;img title="JamesAltucher" src="http://img02.36krcnd.com/wp-content/uploads/2011/12/JamesAltucher.jpg" alt="" width="193" height="250"&gt;&lt;/a&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;编者按：&lt;a href="http://jamesaltucher.com/" rel="external nofollow"&gt;James Altucher&lt;/a&gt;是一位投资人、作者、程序员兼创业人士。同时也是资产管理公司Formula Capital的总经理，曾写过6本关于投资的书。此人经常会写一些经验类的文章给创业者和投资人，文风幽默犀利（不及阿灵顿）。另推荐两篇他的文章《&lt;a href="http://www.36kr.com/p/62671.html"&gt;如何成为世界上最好的创业者&lt;/a&gt;》和《&lt;a href="http://www.36kr.com/p/58338.html"&gt;创业者如何创造自己的好运&lt;/a&gt;》。&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;或许大部分人都知道，Google当年并不被人看好，甚至布林和佩奇曾想以100万美元的价格卖给雅虎。但被雅虎拒绝，后来Google花了四年的时间才找到一个有效的商业模式，最后终于成就了今天的Google。&lt;/p&gt;&lt;p&gt;但下面的事情可能就没多少人知道了。比如现在炙手可热的Groupon，当年并不叫Groupon，而是“&lt;a href="http://techcrunch.com/2007/11/13/whats-the-point/" rel="external nofollow"&gt;thePoint.com&lt;/a&gt;”。他们的工作主要是为慈善机构募捐，但当时因为慈善真的很难做，所以他们顺带着向别人兜售一些其他的东西。结果，就成了现在这个市值近百亿的团购公司。&lt;/p&gt;&lt;p&gt;像这样的例子还有更多，Yelp在成为点评网站之前是提供邮件推荐服务的。Twitter刚开始时是一个将电话转成播客的网站（当时叫Odeo），后来又变成了短信转发和传播的Twttr（估计140字就是从那时候延续下来的吧），再后来才是现在的Twitter。&lt;/p&gt;&lt;p&gt;以上的创业公司都经过了成功的&lt;a href="http://www.36kr.com/p/23748.html"&gt;Pivot&lt;/a&gt;，在这种“转变”背后可能是迫不得已、意外，当然也有可能是顺理成章。但如论如何，这不是随便就能实现的。当你在创业过程中出现困境、诱惑或分歧，如何辨别哪些是玻璃而哪些是钻石，或者如何寻求有效的Pivot，这就需要创业者进行一些准备和习惯转变了。&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;strong&gt;习惯放弃自己的东西。&lt;/strong&gt;在你“改变世界”之前，需要不断的努力。而最重要的是，那些努力真的是“不断的”。当你看不到希望的时候，你就会发现你做的东西简直一文不值。所以，你要习惯改变，把你做的那些没人要的东西扔掉，即使它花费了你大量的心血。&lt;/li&gt;&lt;li&gt;&lt;strong&gt;经济局势真的不重要。&lt;/strong&gt;当Groupon在2008年11月开始起家的时候，正值美国经济进入大萧条，但Groupon最后仍然成功了。所以在你开始创业的时候，要先把电视关掉。&lt;/li&gt;&lt;li&gt;&lt;strong&gt;你并不知道未来什么会成功。&lt;/strong&gt;当你做一个有趣的语音播客时，或许人们并不感兴趣，他们可能对那个可以转发短信的功能异常感兴趣。因此不要尝试着用那些“用户是SB”的话来为自己辩解，去掉那个无用的语音播客，围绕着短信分享功能做一些尝试。或许有一天你就成为了下一个Jack Dorsey。&lt;/li&gt;&lt;li&gt;&lt;strong&gt;你必需接受不断的辱骂&lt;/strong&gt;（原文是kiss a ton of ass）。在你创业之前，你想象不到会有多少侮辱和讽刺。每一个用户都想对你所做的指指点点，甚至会经常把你骂得狗血喷头。习惯它吧，这是创业过程中必不可缺的&lt;a href="http://www.36kr.com/p/63090.html"&gt;洗礼&lt;/a&gt;，但你要分得清楚哪些是辱骂，哪些是真诚的建议。&lt;/li&gt;&lt;li&gt;&lt;strong&gt;不停的走动，至少要走10万公里。&lt;/strong&gt;在创业初期，每个人都要见面、沟通、谈话、开会。在那些数不清的谈话和会议中，可能只有1%是真正有意义的，剩下的99%都是没用的东西。但假如你必须开会，那就把会议室的椅子拿掉，至少这样可以让时间短一些。&lt;/li&gt;&lt;li&gt;&lt;strong&gt;要想从你的客户那里追回应得的报酬，有时必须用点狠招甚至撕破脸面。&lt;/strong&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;你的网站永远跟不上时代。&lt;/strong&gt;不要以为建好一个很漂亮的网站就大功告成了，随着时间的发展，你的网站会越来越落后。所以，要想吸引你的客户，你就要不停地（注意，是不停地！）完善你的网站。&lt;/li&gt;&lt;li&gt;&lt;strong&gt;不要总想着我现在就有三个新功能可以添加到网站上，这根本没有任何意义。&lt;/strong&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;因为你的投资者甚至会想到六种功能，当然这也没有意义。&lt;/strong&gt;投资人想知道的是为什么你想的这些功能在来见他们之前不添加上去？如果你现在不能马上回答他们，那估计他们就要采取法律手段来拿回他们投给你的钱了……&lt;/li&gt;&lt;li&gt;&lt;strong&gt;而且，最重要的是：投资人有律师，而你没有。&lt;/strong&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;在有些事情上，不要和你的员工搞在一起，比如去夜店鬼混。&lt;/strong&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;你或许经常会有你周围的竞争对手都比你强的感觉。&lt;/strong&gt;事实上，确实如此。所以当那些投资人在周一例会之前打电话让你再说一遍你为什么比别人强的时候，你必须撒谎才能骗过这些投资人。&lt;/li&gt;&lt;li&gt;&lt;strong&gt;真正赢得一个客户是把他们的钱安全的放进自己的口袋了，否则不要说你有多少客户。&lt;/strong&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;只有当你意识到当前的形势糟糕的你无法处理的时候，才可以去寻求公关公司的帮助。&lt;/strong&gt;而公关人员将会在你大出血之后，才帮你缝合伤口。所以，在你的产品上线的时候，不要进行任何宣传，即使是&lt;a href="http://www.36kr.com/"&gt;36氪&lt;/a&gt;（原文是&lt;a href="http://techcrunch.com/2011/12/24/secrets-of-the-accidental-entrepreneur/?utm_source=feedburner&amp;amp;utm_medium=feed&amp;amp;utm_campaign=Feed%3A+Techcrunch+%28TechCrunch%29" rel="external nofollow"&gt;TechCrunch&lt;/a&gt;）也不行，因为如果你没有强大的服务器和足够的维护经验的话，可能刚上线就被超出预期的用户量给搞当机了（这种例子已经很多了）。另外，优秀的CEO不但自己能搞定危机事件，在必要的时候还要能搞定公关公司。&lt;/li&gt;&lt;li&gt;&lt;strong&gt;在镜子面前练习和你想要雇用的人谈话&lt;/strong&gt;：“我们给你的报酬虽然不丰厚，但我们有在未来上市的计划，但目前&lt;a href="http://www.36kr.com/p/25646.html"&gt;员工的期权计划&lt;/a&gt;还没有做好。”然后看看镜子里的你能不能把镜子外的你说服。当然，这意味着你将要开始做或者已经在做员工期权计划了。&lt;/li&gt;&lt;li&gt;&lt;strong&gt;然后对着镜子练习说：“是的，”&lt;/strong&gt;假设你所有的客户都在镜子里，“对，我们在三天内就能完成这个工作。”或者说“好的，第四天早上你可以给我打电话。”&lt;/li&gt;&lt;li&gt;&lt;strong&gt;当你获得融资的时候，你肯定会遇到这样的问题：&lt;/strong&gt;“&lt;a href="http://www.36kr.com/p/63082.html"&gt;假如腾讯（原文是Google）进来了，你该怎么办？&lt;/a&gt;”这是个很有意思的问题，它就像是在说：“当你必死无疑的时候，你该怎么办？”但是，不知为什么，那些聪明绝顶的投资人都会问这样的问题。没办法，它就是发生了。当然，不管怎样，最后你还是要严肃的说：“我们曾经遇到过这样的问题，虽然有部分的损失，但我们还是幸运的挺过来了。”&lt;/li&gt;&lt;li&gt;&lt;strong&gt;好吧，再来一个镜子练习。&lt;/strong&gt;（可能你的镜子不愿再看到你了，因为如果你是创业者的话，通常会长的很丑。）你要对着镜子说：“如果你选择我们的服务，你的业务量会增加三倍。”这可能需要你练习一下嘴部肌肉。现在就练吧，直到嘴巴失去知觉就可以了。当然，如果你觉得一句话太难，你可以先说“三～倍”，对，一个字一个字的说：“三～倍！”&lt;/li&gt;&lt;li&gt;&lt;strong&gt;如果你在凌晨3点失眠的话，那就想想&lt;a href="http://www.36kr.com/p/65965.html"&gt;明年的这个时候&lt;/a&gt;你还有没有钱发工资。&lt;/strong&gt;在这种焦虑的情况下睡着是非常有效的，相信我！至少做梦没钱发工资要比醒着想它好多了。&lt;/li&gt;&lt;li&gt;&lt;strong&gt;如果你对你的员工有一些和工作无关的想法时，那你就不得不开除她（他）了。&lt;/strong&gt;因为被开除之后的性骚扰就不叫“性骚扰”了。（开玩笑，真正的原因是这不会影响你的创业，至少不会过多影响。）&lt;/li&gt;&lt;li&gt;&lt;strong&gt;打电话给你的伙伴说：&lt;/strong&gt;“我已经开始厌恶这个公司了。我希望我能卖掉它然后开始做其他的5个完美的idea。”当然，可能这种做法确实是正确的。想想你这个公司能不能转变成你那5个idea中的一个。可能有一个已经有效果了，只是你们还因为某种原因而死守着你们所谓的“原则”。如果你无法每天写出10个让公司变得更好的idea，那说明你们已经开始在走下坡路了。&lt;/li&gt;&lt;li&gt;&lt;strong&gt;最后记住：&lt;a href="http://www.36kr.com/p/31008.html"&gt;失败&lt;/a&gt;很正常。&lt;/strong&gt;我们都犯过错误，我们对朋友、投资人、爱人的希望都曾破灭过。如果你坦然接受了，这其实没什么。但是要准备好东山再起。不要感到羞愧，不断的尝试，直到你已经无法再从这样的失败中获得什么经验了。（你认为这已经成为了一种工作了吗？&lt;strong&gt;如果你真的这么想的话，那么恭喜你，你已经成为一个创业者了。&lt;/strong&gt;）&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;如果经历了以上的所有情况之后，你还能保持一个健康的身体和清醒的头脑的话，那就意味着你已经准备好开始你的事业了。&lt;/p&gt; &lt;address&gt;注：由于原文过长，所以仅选取要点编译，并有适当修改。如想阅读原文，请移步&lt;a href="http://techcrunch.com/2011/12/24/secrets-of-the-accidental-entrepreneur/?utm_source=feedburner&amp;amp;utm_medium=feed&amp;amp;utm_campaign=Feed%3A+Techcrunch+%28TechCrunch%29" rel="external nofollow"&gt;这里&lt;/a&gt;。&lt;/address&gt;&lt;div&gt;除非注明，本站文章均为原创或编译，转载请注明： 文章来自&lt;a rel="bookmark" title="创业公司成功Pivot的秘密" href="http://www.36kr.com/p/71722.html"&gt;36氪&lt;/a&gt;&lt;/div&gt;&lt;img width="1" height="1" src="http://feed.36kr.com/c/33346/f/566026/s/1b4629cd/mf.gif" border="0"&gt;&lt;br&gt;&lt;br&gt;&lt;a href="http://da.feedsportal.com/r/121585727698/u/31/f/566026/c/33346/s/1b4629cd/a2.htm"&gt;&lt;img src="http://da.feedsportal.com/r/121585727698/u/31/f/566026/c/33346/s/1b4629cd/a2.img" border="0"&gt;&lt;/a&gt;&lt;div&gt; &lt;a href="https://itindex.net/"  title="IT 资讯"&gt;&lt;img src="https://itindex.net/images/iconWarning.gif" title="IT 资讯" border="0"/&gt; &lt;/a&gt;</description>
      <category>James Altucher 评论 startup</category>
      <guid isPermaLink="true">https://itindex.net/detail/34997-%E5%88%9B%E4%B8%9A%E5%85%AC%E5%8F%B8-%E6%88%90%E5%8A%9F-pivot</guid>
      <pubDate>Mon, 26 Dec 2011 21:08:58 CST</pubDate>
    </item>
    <item>
      <title>iDaily的诞生</title>
      <link>https://itindex.net/detail/34842-idaily</link>
      <description>&lt;p&gt;1.&lt;/p&gt;

 &lt;p&gt;我知道沈一鸣（网名&amp;quot;且听枫吟&amp;quot;、lancelot23），是因为他的网站  &lt;a href="http://www.leica.org.cn/"&gt;&amp;quot;Leica中文摄影杂志&amp;quot;&lt;/a&gt;。那时是2006年。&lt;/p&gt;
         &lt;p&gt;  &lt;img src="http://image.beekka.com/blog/201112/bg2011122712.jpg"&gt;&lt;/img&gt;&lt;/p&gt;

 &lt;p&gt;后来，我们有一些通信，才发现居然是校友。我的母校是财经类高校，以培养会计师和财税官吏而闻名，能遇到做互联网的校友，真是让人吃惊。&lt;/p&gt;

 &lt;p&gt;2.&lt;/p&gt;

 &lt;p&gt;进校的第一个月，他就觉得崇尚实用的校园气氛，与自己理想主义的气质格格不入。从大一下学期开始，他就决定放弃大学学业，寻找自己的道路。&lt;/p&gt;

 &lt;p&gt;开始的时候，他靠给新闻媒体写稿子挣钱。在这个过程中，慢慢意识到新媒体的潜力。2008年，他负责推出了现代传播集团旗下的网络杂志  &lt;a href="http://m.metroer.com/"&gt;《良品杂志》&lt;/a&gt;。这个项目的口碑相当好，广告效益也不错，从此奠定了他专做都市白领阅读市场的方向。&lt;/p&gt;

 &lt;p&gt;  &lt;img src="http://image.beekka.com/blog/201112/bg2011122713.jpg"&gt;&lt;/img&gt;&lt;/p&gt;

 &lt;p&gt;2010年，他又负责推出了iPhone平台的新闻类App  &lt;a href="http://iweek.ly/"&gt;《周末画报·iWeekly》&lt;/a&gt;。这个项目以精美的制作、大幅的彩照、时尚的文章，一炮走红。一鸣说，他本来预计2010年底的用户数为10万，结果上线第一个月，用户数就到了20万，年底的时候冲到了200万。与用户数一起上升的，还有良好的广告收入。正是这个项目，坚定了他专做iOS平台的决心。&lt;/p&gt;

 &lt;p&gt;  &lt;img src="http://image.beekka.com/blog/201112/bg2011122714.jpg"&gt;&lt;/img&gt;&lt;/p&gt;

 &lt;p&gt;2011年9月，因为与投资方发生矛盾，一鸣和他的团队脱离了原公司，开始了自己创业。我今天想讲的故事，就从这里开始，因为上周三晚上，我和一鸣见了面，聊了很长时间，有一些东西值得分享。&lt;/p&gt;

 &lt;p&gt;3.&lt;/p&gt;

 &lt;p&gt;他的创业从零开始，必须尽快拿出自己的产品，创造收入。那么，三个多月过去了，他拿出了什么产品？&lt;/p&gt;

 &lt;p&gt;9月，新版的  &lt;a href="http://iphoto.ly/"&gt;《中文摄影杂志》&lt;/a&gt;发布。&lt;/p&gt;

 &lt;p&gt;  &lt;img src="http://image.beekka.com/blog/201112/bg2011122708.jpg"&gt;&lt;/img&gt;&lt;/p&gt;

 &lt;p&gt;9月，新版的  &lt;a href="http://itunes.apple.com/cn/app//id421383404?mt=8"&gt;《iMoney·全球汇率转换》&lt;/a&gt;发布。&lt;/p&gt;

 &lt;p&gt;  &lt;img src="http://image.beekka.com/blog/201112/bg2011122707.jpg"&gt;&lt;/img&gt;&lt;/p&gt;

 &lt;p&gt;10月，  &lt;a href="http://itunes.apple.com/cn/app//id474384318?mt=8"&gt;《每日星座运程·NowNow 闹闹的女巫店》&lt;/a&gt;发布。&lt;/p&gt;

 &lt;p&gt;  &lt;img src="http://image.beekka.com/blog/201112/bg2011122709.jpg"&gt;&lt;/img&gt;&lt;/p&gt;

 &lt;p&gt;10月，新版的  &lt;a href="http://itunes.apple.com/cn/app//id416445790?mt=8"&gt;《倒数日》&lt;/a&gt;发布。&lt;/p&gt;

 &lt;p&gt;  &lt;img src="http://image.beekka.com/blog/201112/bg2011122706.jpg"&gt;&lt;/img&gt;&lt;/p&gt;

 &lt;p&gt;12月，  &lt;a href="http://itunes.apple.com/cn/app//id483486123?mt=8"&gt;《每日壁纸杂志》&lt;/a&gt;发布。&lt;/p&gt;

 &lt;p&gt;  &lt;img src="http://image.beekka.com/blog/201112/bg2011122710.jpg"&gt;&lt;/img&gt;&lt;/p&gt;

 &lt;p&gt;12月，  &lt;a href="http://itunes.apple.com/cn/app//id488528128?mt=8"&gt;《iDaily·每日环球视野》&lt;/a&gt;发布。&lt;/p&gt;

 &lt;p&gt;  &lt;img src="http://image.beekka.com/blog/201112/bg2011122701.jpg"&gt;&lt;/img&gt;&lt;/p&gt;

 &lt;p&gt;这就是他们在100天内取得的成果。所有产品，全部进入中国区免费App排行榜前10名，其中好几个到过榜首，累计用户数已经达到200万，明年有望冲击500万。&lt;/p&gt;

 &lt;p&gt;我非常惊叹他们的执行力。一鸣说，目前的开发速度是，每个月推一个App，争取明年年中进行整合。他向我展示了几个正在开发中的项目。&lt;/p&gt;

 &lt;p&gt;4.&lt;/p&gt;

 &lt;p&gt;见面的那一天，正赶上他们的新项目  &lt;a href="http://itunes.apple.com/app/id488528128"&gt;iDaily&lt;/a&gt;在应用商店上架。一鸣对这个项目寄予厚望，希望把它打造成一个新媒体平台。目前，iDaily每天会提供1到2张新闻图片，每张的尺寸是前所未有的3000像素，所有的细节一览无遗，可以提供震撼性的看图体验。配合每张照片还会有若干篇新闻背景资料和Google地图，基本上就是，我们想象中的网络时代读新闻的方式。&lt;/p&gt;

 &lt;p&gt;  &lt;img src="http://image.beekka.com/blog/201112/bg2011122703.jpg"&gt;&lt;/img&gt;&lt;/p&gt;

 &lt;p&gt;它的商业模式是这样的：所有应用一律免费，依靠优秀的内容争取大量的装机用户，然后通过出售广告盈利。比如，iDaily的新闻照片，都是从美联社和法新社买来的，每一张都价格不菲，一个月下来，购买图片就要花掉一大笔钱，但是这样保证了读者可以看到别处看不到的照片，尤其对白领和高端读者会有吸引力，从而提升了广告价值，保证广告可以精确到达它的目标受众。&lt;/p&gt;

 &lt;p&gt;我觉得，这种商业模式的探索，比他的那些App软件意义更大。如果这种模式行得通，整个新媒体的生态都将被改变。好消息是，目前他们已经做到收支平衡了，而且还有重量级的国际摄影器材厂商决定在《中文摄影杂志》上面投放广告。&lt;/p&gt;

 &lt;p&gt;5.&lt;/p&gt;

 &lt;p&gt;  &lt;img src="http://image.beekka.com/blog/201112/bg2011122715.jpg"&gt;&lt;/img&gt;&lt;/p&gt;

 &lt;p&gt;那天晚上，一鸣还带着我参观了他的公司  &lt;a href="http://clover.ly/"&gt;Clover.ly&lt;/a&gt;（四叶新媒体）。那是建国中路的一幢高层商住楼，房间很小，整个团队七八个人，对着墙一坐，就没有多少空间剩下了。虽然拥挤，但是房间布置得非常简洁、精致、温馨，很有家的感觉。书架上堆满了设计类书籍和摄影图册，墙上的白板贴着新产品的界面构思图，给我感觉是一个非常团结、有朝气、决心和战斗力的创业团队。&lt;/p&gt;

 &lt;p&gt;告别他以后，走在回家路上，我心情很不平静。一鸣是85年出生的，他的年龄与他的老成完全不相符，从他已经取得的成绩和正在做的事情来看，将来还有巨大的提升空间，可能会成为中文互联网界的重量级人物。另一方面，他的经历也说明了，互联网时代可以为我们带来多少机会！只要你做了，拿出产品，这个时代就会为你敞开。&lt;/p&gt;

 &lt;p&gt;（完）   &lt;br /&gt;
&lt;/p&gt;
         &lt;div&gt;  &lt;h3&gt;文档信息&lt;/h3&gt;
  &lt;ul&gt;
   &lt;li&gt;版权声明：自由转载-非商用-非衍生-保持署名 |     &lt;a href="http://creativecommons.org/licenses/by-nc-nd/3.0/deed.zh"&gt;Creative Commons BY-NC-ND 3.0&lt;/a&gt;&lt;/li&gt;
   &lt;li&gt;原文网址：    &lt;a href="http://www.ruanyifeng.com/blog/2011/12/idaily.html"&gt;http://www.ruanyifeng.com/blog/2011/12/idaily.html&lt;/a&gt;&lt;/li&gt;
   &lt;li&gt;最后修改时间：2011年12月28日 00:23&lt;/li&gt;
   &lt;li&gt;付费支持（    &lt;a href="http://www.ruanyifeng.com/blog/2011/05/my_google_adsense_is_disabled.html" target="_blank"&gt;说明&lt;/a&gt;）：    &lt;a href="https://mai.alipay.com/p.htm?id=2011101500701706" target="_blank"&gt;     &lt;img alt="&amp;#25903;&amp;#20184;&amp;#23453;&amp;#25285;&amp;#20445;&amp;#20132;&amp;#26131;" src="http://www.ruanyifeng.com/blog/images/rmb_32.png"&gt;&lt;/img&gt;&lt;/a&gt; |     &lt;a href="https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&amp;business=yifeng.ruan@gmail.com&amp;currency_code=USD&amp;amount=2.99&amp;return=http://www.ruanyifeng.com/thank.html&amp;item_name=Ruan%20YiFeng's%20Blog&amp;undefined_quantity=1&amp;no_note=0" target="_blank"&gt;     &lt;img alt="paypal" src="http://www.ruanyifeng.com/blog/images/dollar_32.png"&gt;&lt;/img&gt;&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;
         &lt;div&gt;  &lt;p&gt;&lt;/p&gt;&lt;/div&gt; &lt;img border="0" height="0" src="http://www1.feedsky.com/t1/591035515/ruanyf/feedsky/s.gif?r=http://www.ruanyifeng.com/blog/2011/12/idaily.html" width="0"&gt;&lt;/img&gt;&lt;div&gt; &lt;a href="https://itindex.net/"  title="IT 资讯"&gt;&lt;img src="https://itindex.net/images/iconWarning.gif" title="IT 资讯" border="0"/&gt; &lt;/a&gt;</description>
      <category>Startup</category>
      <guid isPermaLink="true">https://itindex.net/detail/34842-idaily</guid>
      <pubDate>Wed, 28 Dec 2011 00:23:35 CST</pubDate>
    </item>
    <item>
      <title>痛苦造就性格（也许还造就产品）</title>
      <link>https://itindex.net/detail/34293-%E7%97%9B%E8%8B%A6-%E6%80%A7%E6%A0%BC-%E4%BA%A7%E5%93%81</link>
      <description>&lt;p&gt;如果你知道&lt;a href="http://www.techcrunch.com/"&gt;TechCrunch&lt;/a&gt;，那么你可能知道&lt;a href="http://en.wikipedia.org/wiki/Michael_Arrington"&gt;Michael Arrington&lt;/a&gt;。&lt;/p&gt;&lt;p&gt;他是一个律师，自称对"Web 2.0"更有兴趣，因此创办了个人网志TechCrunch，专门报道硅谷的创业公司和风险资本家。&lt;/p&gt;

&lt;p&gt;虽然不少人认为TechCrunch缺乏可读性，但是它可能是世界上订阅人数最多的科技类网志，2010年9月被AOL以2500万美元收购。有了这笔钱，Michael Arrington就改行当上了风险资本家。&lt;/p&gt;

&lt;p&gt;&lt;img src="http://image.beekka.com/blog/201112/bg2011120501.jpg"&gt;&lt;/p&gt;

&lt;p&gt;一周前，他发表了一篇文章，评论了网络游戏公司Zynga的劳资矛盾。文章的题目叫做&lt;a href="http://uncrunched.com/2011/11/27/startups-are-hard-so-work-more-cry-less-and-quit-all-the-whining/"&gt;《创业是艰难的：多工作，少喊累，别发牢骚》&lt;/a&gt;（ "Startups Are Hard. So Work More, Cry Less, And Quit All The Whining"）。&lt;/p&gt;

&lt;p&gt;这篇文章引用了程序员&lt;a href="http://www.jwz.org"&gt;Jamie Zawinski&lt;/a&gt;写于1994年的&lt;a href="http://www.jwz.org/gruntle/nscpdorm.html"&gt;日记&lt;/a&gt;（详见后文），得出了这么一个观点：&lt;/p&gt;

&lt;blockquote&gt;

&lt;p&gt;"If you work at a startup and you think you're working too hard and sacrificing too much, find a job somewhere else that will cater to your needs."&lt;/p&gt;

&lt;p&gt;"如果你在创业公司工作，觉得工作得很累，牺牲太多，那么换个地方，找一份更合适你的工作吧。"&lt;/p&gt;

&lt;/blockquote&gt;

&lt;p&gt;言下之意，软件业就是一个很累的地方，要想成功，就必须拼命，哪怕放弃正常生活和休闲，也在所不惜，否则你失败就是活该。&lt;/p&gt;

&lt;p&gt;第二天，Jamie Zawinski发表&lt;a href="http://www.jwz.org/blog/2011/11/watch-a-vc-use-my-name-to-sell-a-con/"&gt;回应&lt;/a&gt;，严厉批评了Michael Arrington。&lt;/p&gt;

&lt;blockquote&gt;

&lt;p&gt;"He's using my words to try and back up that thesis.&lt;/p&gt;

&lt;p&gt;他用我的话，支持这种观点。&lt;/p&gt;

&lt;p&gt;I hate this, because it's not true, and it's disingenuous.&lt;/p&gt;

&lt;p&gt;我很反感，因为这不是事实，而是诡辩。&lt;/p&gt;

&lt;p&gt;What is true is that for a VC's business model to work, it's necessary for you to give up your life in order for him to become richer.&lt;/p&gt;

&lt;p&gt;事实是，风险资本家的商业模式需要这种宣传。只有你放弃你的生活，才能使他变得更富有。&lt;/p&gt;

&lt;p&gt;He's telling you the story of, "If you bust your ass and don't sleep, you'll get rich" because the only way that people in his line of work get richer is if young, poorly-socialized, naive geniuses believe that story! Without those coat-tails to ride, VCs might have to work for a living. Once that kid burns out, they'll just slot a new one in.&lt;/p&gt;

&lt;p&gt;他鼓吹，如果你忙得一刻不停，不休息不睡觉，你就会致富。因为干他那一行的人致富的唯一方法，就是那些年轻的、不擅于社交的、天真的程序员相信他那一套鬼话！没有这些垫背，风险资本家可能就必须自己动手谋生了。一旦那些孩子们失去利用价值，他们就接着去骗下一批人。"&lt;/p&gt;

&lt;/blockquote&gt;

&lt;p&gt;别信风险资本家的鬼话，真正值得追求的生活是这样的：&lt;/p&gt;

&lt;blockquote&gt;

&lt;p&gt;"I recommend that you do what you love because you love doing it. If that means long hours, fantastic. If that means leaving the office by 6pm every day for your underwater basket-weaving class, also fantastic.&lt;/p&gt;

&lt;p&gt;我的建议是，你去做那些你喜欢做的事，只要喜欢就行。如果这意味着长时间工作，那很好。如果这意味着每天6点钟准时下班，参加潜水培训班，那也很好。"&lt;/p&gt;

&lt;/blockquote&gt;

&lt;p&gt;===================================&lt;/p&gt;

&lt;p&gt;看了他的这篇回应，我的第一个感觉是，当年那个特立独行、不羁放纵的Jamie Zawinski又回来了。&lt;/p&gt;

&lt;p&gt;&lt;img src="http://image.beekka.com/blog/201112/bg2011120502.jpg"&gt;&lt;/p&gt;

&lt;p&gt;他是一个非常传奇的人，高中都没有毕业，却是世界上最好的程序员之一，Netscape公司的主力程序员，划时代产品"网景浏览器"的主要开发者。&lt;/p&gt;

&lt;p&gt;他在公司里就是一身摇滚明星的打扮，留长发、穿皮夹克、戴金属饰品，非常有个性。当微软公司不正当竞争，将IE与Windows捆绑在一起，击败Netscape的时候，他就公开发誓，终身不使用微软公司的任何产品，也不授权任何人将他的代码用于Windows平台。他是Mozilla这个名字的创造者，也是第一个提议将"网景浏览器"开源的人。当同事们决定彻底放弃以前的代码，重头编写一个全新的浏览器，他心灰意冷，辞职离开，在旧金山买下一家酒吧，不再编程，改当一个小店主，从此退出江湖。&lt;/p&gt;

&lt;p&gt;我知道他的故事，是因为纪录片&lt;a href="http://www.ruanyifeng.com/blog/2009/09/code_rush.html"&gt;《Code Rush》&lt;/a&gt;。我强烈推荐这部作品，那是1998年一个摄制组在Netscape公司整整跟拍一年的结果。你不仅可以从中了解"网景浏览器"衰落的那一段历史，还可以看到硅谷程序员的日常生活。&lt;/p&gt;

&lt;p&gt;==================================&lt;/p&gt;

&lt;p&gt;回到Michael Arrington的文章，我最大的收获是得知Jamie Zawinski还写过日记。&lt;/p&gt;

&lt;p&gt;我把他的这份&lt;a href="http://www.jwz.org/gruntle/nscpdorm.html"&gt;日记&lt;/a&gt;读了一遍，感触非常多。日记的名称叫做"the netscape dorm."，直译过来就是《睡在Netscape的日子》，记录了1994年Netscape刚成立时的情景：小公司，没有产品，急需证明自己，必须赶在资金用完之前写出代码。那些日记是创业公司的真实写照，以及一个非常孤独、拼命工作的程序员的内心独白。&lt;/p&gt;

&lt;p&gt;编程是一种非常单调枯燥的工作，长时间、全身心、独自一人地与机器打交道，人际交往和日常生活难免会受到影响。这份日记告诉我们，一个优秀程序员怎么看待这些事情：为什么要这么做？值得吗？乐趣在哪里呢？......&lt;/p&gt;

&lt;p&gt;日记的开头，有这样一段话，一下子就打动我了。&lt;/p&gt;

&lt;blockquote&gt;

&lt;p&gt;&lt;strong&gt;"Time always softens the pain and makes things look like more fun than they really were.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;时间总是淡化痛苦，让一切变得比实际情况更轻松。&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;But who said everything has to be fun?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;但是谁说生活一定是轻松的？&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pain builds character. (Sometimes it builds products, too.)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;痛苦造就性格。（也许还造就产品。）"&lt;/strong&gt;&lt;/p&gt;

&lt;/blockquote&gt;

&lt;p&gt;我反复看着这段话，心里只有一个愿望。如果经受的这些痛苦无法避免，那么我希望它们是值得的，最终带来想要的结果，一切皆有所偿。&lt;/p&gt;

&lt;p&gt;下面是我翻译的他的部分日记。&lt;/p&gt;

&lt;p&gt;=====================================&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Jamie Zawinski日记（节选）&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;阮一峰 译&lt;/p&gt;

&lt;p&gt;&lt;img src="http://image.beekka.com/blog/201112/bg2011120503.jpg"&gt;&lt;/p&gt;

&lt;p&gt;(Image credit: &lt;a href="http://www.flickr.com/photos/m-joedicke/4783650995/"&gt;m.joedicke&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1994年6月26日，星期二，凌晨四点&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;我已经在Mosaic工作一个半月了。睡眠很少，不常回家。&lt;/p&gt;

&lt;p&gt;今天一整天，Lou和Rob都在玩遥控汽车。这真让人恼火，因为其他所有人都忙得不可开交，他们却在那里玩耍。我走到Chouck旁边，问他"你生气吗？"他张开双臂，板着脸，说"我的火气有这么大"。我点点头，走回自己的办公桌。&lt;/p&gt;

&lt;p&gt;十分钟后，他走过来问："你是因为自己也生气，还是因为你想看看，我是否容易被激怒？"我说我也生气，但是可能程度比他稍稍轻一点。&lt;/p&gt;

&lt;p&gt;大约凌晨四点，Lou收拾东西，准备离开办公室了。他跟我说，Marc把他叫进办公室，问他是不是无事可干。我心里也是这么想的，就说"是这样吗？"他说，这些天来彻底筋疲力尽，真的需要放松。我完全理解他的感受，但是我说最好在办公室以外的地方放松，而不是工作时当着其他人的面这样做。&lt;/p&gt;

&lt;p&gt;Marc要我去写Unix客户端，配合SGI公司与Irix 5.3一起发布。这意味着巨大的工作量，时间却不到两个月。我还一点代码都没写，甚至没有把握，这个产品是否可行，任务就已经来到了我的面前。所有部件散落一地，我脑海中却还没有整体的概念。Marc可以很轻易地把这个任务强加给我，但是我不愿意冒失败的风险。这个项目的影响太大了，太多的人在等着我们出丑......&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1994年6月28日，星期四，晚上十一点&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;昨天，我又在干活的时候睡着了。缩在办公桌底下，盖着毯子，从中午11点睡到下午1点半，2个半小时。然后突然惊醒，想起来开会要迟到了。我们在会上要讨论如何在可怕的8位空间的条件下，生成彩色图案。不过，迟到就迟到了，可以找别的时间讨论。如果你因为长时间工作、极度疲劳而迟到，大概不会有人因此指责你。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1994年8月5日，星期天，凌晨5点&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;我回家了。距离上一次入睡，已经39个小时了。我现在还不觉得累，正处在第二次或者第三次也许第十八次回光返照。我回家只是因为担心，如果再待在办公室，可能又要在那里睡了。我不想连续在那里熬夜，因为现在真的必须洗个澡。昨天太热了，我和Lou玩air hockey太投入，汗流浃背。&lt;/p&gt;

&lt;p&gt;哦，我一定是累了。打开电视机，觉得MTV画面动得太快了，完全无法理解。&lt;/p&gt;

&lt;p&gt;过去一个星期，我一直喉咙痛和咳嗽。但是，我没有采取任何措施，因为没时间。我觉得，自己纯粹靠意志力，在抵御感冒的进攻。&lt;/p&gt;

&lt;p&gt;我上一次起床还是在星期五，大概下午三点到了公司，已经有一吨的电子邮件等着我，全部与工作有关。下午四点还有全体大会，开会前每个人都在找我。我感到自己真的被击溃压倒了。我的意思是，其实我只离开了办公室7个小时！不过，会议很振奋人心，一份OEM合同已经达成（我忘了与哪家公司），可以安装60万个客户端。不错啊，我真觉得市场部的那些人有两下子！以前我从没有这种感觉，太疯狂了。&lt;/p&gt;

&lt;p&gt;60万个用户！我写过的所有软件的用户数字，从来没有到达过这个级别。真是骇人啊！&lt;/p&gt;

&lt;p&gt;我的手最近伤了。我希望，不断的打字不会废掉我的手腕。如果我不能打字，我的人生就完了。我的右手一直在抖，中间两根手指的最后一个关节在疼，好像淤青得很厉害。我猜想是时候了，该去问问公司提供的医疗保险怎么用。如果医生不说"停止大量打字"，我就该笑死了。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1994年8月11日，星期四，凌晨二点&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;几个月来第一次，我见到了Ian。他的第一句话就是，"哇，你看上去一团糟。" 他说我有点神情恍惚、浑身痉挛。可是，我自我感觉还不错啊！昨晚，睡了一个完整的觉，其他的事情也都正常。我只是没有正常的生活，看不到任何一个与工作无关的朋友，我正在浪费自己只有一次的青春。我应该离开办公室，去做一些更好玩更积极的事情。等我的精神和肉体都衰老的时候，就做不动这些事情了。但是，现实是我守在荧光灯下，往计算机里输入一个个比特位，只有其他与我一样的怪人才会对这种事情感兴趣。我看着一张最新的电影排片表，发现一部也没有听说过。怎么会这样？我真是吓坏了。&lt;/p&gt;

&lt;p&gt;我在药店里买了一些腕部护套，这几天都戴着它们打字。我觉得没什么用，我的中指疼得不算严重，但食指的情况很差。这份工作摧垮了我的身体，这是不值得的。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1994年8月26日，星期五，凌晨一点&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;我重读了过去几个月的日记，很多部分根本连不起来！完全是只言片语，一个个不连贯的词，各种随机的超现实意向，我自己也理解不了，只记得打字时的情景。这是不是我在梦里写下的？我希望，人际交往之中，我留给别人的不是这种印象。我很想知道，我的代码看上去什么样！不过还好，它们至少还能运行。&lt;/p&gt;

&lt;p&gt;晚上9:30，我离开办公室，因为Eric和Susan打电话约我一起看电影。我已经工作了31个小时，其中零零星星合计睡了4个小时。我还在等编译结果出来，但是他们已经替我买了10点半的电影票，我还怎么拒绝呢？我说："我太累了，但是你们是对的，我需要看场电影。" &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1994年8月28日，星期天&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Mozilla已经有点像一个产品了，也许我们最终可以活下来。今天我到办公室的时候，大家都坐着看影碟Repo Man。我完全认同他们，花掉几个小时看电影，我没有产生任何负罪感。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1994年10月12日，星期三，上午十一点&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;今天，我们将发布Mozilla 0.9。我刚刚结束在6种不同的Unix平台上的编译。上午9点，我们发现了一些灾难性的bug，然后立刻修正。现在我正在重新编译所有的二进制文件。它们应该在一个半小时后完成，然后再过不到一个小时，出现在我们的FTP上。&lt;/p&gt;

&lt;p&gt;毫无疑问，这太疯狂了。&lt;/p&gt;

&lt;p&gt;下午六点，所有人都有一种缓期执行的感觉，因为发布时间推迟到了今天午夜。大家开始测试我在下午1:50分新编译出来的文件。这时我开始去睡觉。&lt;/p&gt;

&lt;p&gt;午夜，我们终于把这该死的程序放上了FTP，200万人立刻尝试下载，这时我们甚至还没发布软件上线的消息。我们终于完成了，我想从此所有人都可以幸福生活了。&lt;/p&gt;

&lt;p&gt;我们坐在会议室里，将显示器与一台大电视机连在一起。在黑暗里，我们看着FTP的下载日志快速向下滚动。jg即兴写了一个脚本，每当一次下载成功，电脑就发出一声加农炮的声音。我们听着这声音，坐在黑暗里庆祝。&lt;/p&gt;

&lt;p&gt;接着，我就回家了。我想如果现在就走，应该不至于在路上因过度疲劳而发生车祸，否则今晚我又只能蜷缩在办公桌下睡觉了。&lt;/p&gt;

&lt;p&gt;（完）&lt;br&gt;
&lt;/p&gt;&lt;div style="color:#556677;line-height:160%;padding:0.3em 0.5em;border:1px solid #d3d3d3;margin:1em;background-color:#aad2f0;border-radius:10px"&gt;&lt;h3&gt;文档信息&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;版权声明：自由转载-非商用-非衍生-保持署名 | &lt;a href="http://creativecommons.org/licenses/by-nc-nd/3.0/deed.zh"&gt;Creative Commons BY-NC-ND 3.0&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;原文网址：&lt;a href="http://www.ruanyifeng.com/blog/2011/12/pain_builds_character.html"&gt;http://www.ruanyifeng.com/blog/2011/12/pain_builds_character.html&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;最后修改时间：2011年12月 6日 22:13&lt;/li&gt;
&lt;li&gt;付费支持（&lt;a href="http://www.ruanyifeng.com/blog/2011/05/my_google_adsense_is_disabled.html" style="text-decoration:underline"&gt;说明&lt;/a&gt;）：&lt;a href="https://mai.alipay.com/p.htm?id=2011101500701706"&gt;&lt;img src="http://www.ruanyifeng.com/blog/images/rmb_32.png" alt="支付宝担保交易" style="border:none;vertical-align:middle"&gt;&lt;/a&gt; | &lt;a href="https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&amp;amp;business=yifeng.ruan@gmail.com&amp;amp;currency_code=USD&amp;amp;amount=2.99&amp;amp;return=http://www.ruanyifeng.com/thank.html&amp;amp;item_name=Ruan%20YiFeng&amp;#39;s%20Blog&amp;amp;undefined_quantity=1&amp;amp;no_note=0"&gt;&lt;img src="http://www.ruanyifeng.com/blog/images/dollar_32.png" alt="paypal" style="border:none;vertical-align:middle"&gt;&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;&lt;div style="color:#556677;line-height:160%;padding:0.3em 0.5em;margin:1em;border-radius:10px"&gt;&lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;div&gt; &lt;a href="https://itindex.net/"  title="IT 资讯"&gt;&lt;img src="https://itindex.net/images/iconWarning.gif" title="IT 资讯" border="0"/&gt; &lt;/a&gt;</description>
      <category>Startup</category>
      <guid isPermaLink="true">https://itindex.net/detail/34293-%E7%97%9B%E8%8B%A6-%E6%80%A7%E6%A0%BC-%E4%BA%A7%E5%93%81</guid>
      <pubDate>Tue, 06 Dec 2011 01:49:12 CST</pubDate>
    </item>
    <item>
      <title>天使湾创业之夏Demo Day见闻</title>
      <link>https://itindex.net/detail/33891-%E5%A4%A9%E4%BD%BF%E6%B9%BE-%E5%88%9B%E4%B8%9A-demo</link>
      <description>&lt;p&gt;今年5月，我对&lt;a href="http://www.tisiwi.com"&gt;天使湾创投&lt;/a&gt;的庞小伟，做过一个&lt;a href="http://www.ruanyifeng.com/blog/2011/05/pang_xiaowei.html"&gt;访谈&lt;/a&gt;。&lt;/p&gt;&lt;p&gt;当时，他正在筹备&lt;a href="http://www.tisiwi.com/blog/?p=320"&gt;"创业之夏"&lt;/a&gt;活动，准备模仿美国的&lt;a href="http://www.ruanyifeng.com/blog/2010/12/paul_graham_the_disruptor_in_the_valley.html"&gt;Y Combinator&lt;/a&gt;，资助15个创业团队，在杭州集中开发3个月。现在，3个月过去了，"创业之夏"已经结束，到了15个创业团队拿出Demo的时候了。&lt;/p&gt;

&lt;p&gt;昨天，就是天使湾举办的Demo Day，让创业团队与风险投资家直接见面，展示自己取得了怎样的成果。非常感谢庞兄，邀请我观摩这个活动。&lt;/p&gt;

&lt;p&gt;下面就是我昨天在杭州的见闻。&lt;/p&gt;

&lt;p&gt;===========================================&lt;/p&gt;

&lt;p&gt;&lt;img src="http://image.beekka.com/blog/201111/bg2011110604.jpg"&gt;&lt;/p&gt;

&lt;p&gt;会场在西湖南麓、凤凰山下的万松书院内，要从万松岭路进去，这是一条幽静的小马路。&lt;/p&gt;

&lt;p&gt;&lt;img src="http://image.beekka.com/blog/201111/bg2011110603.jpg"&gt;&lt;/p&gt;

&lt;p&gt;万松书院是明清两代杭州最大的文人读书讲学的场所，现在成了公园。大门口是一个大型浮雕，传说梁山伯和祝英台在此相遇。&lt;/p&gt;

&lt;p&gt;&lt;img src="http://image.beekka.com/blog/201111/bg2011110601.jpg"&gt;&lt;/p&gt;

&lt;p&gt;从大门进去，沿着台阶往山上走，然后右拐100米，就到了正谊堂。&lt;/p&gt;

&lt;p&gt;&lt;img src="http://image.beekka.com/blog/201111/bg2011110602.jpg"&gt;&lt;/p&gt;

&lt;p&gt;这座小楼是2009年重建的，远看像是古建筑，底下还有石砌平台，其实是一个现代化的讲课、开会的场所。&lt;/p&gt;

&lt;p&gt;&lt;img src="http://image.beekka.com/blog/201111/bg2011110605.jpg"&gt;&lt;/p&gt;

&lt;p&gt;会场内已经架设了投影，这是庞小伟正在发言。&lt;/p&gt;

&lt;p&gt;接下来的两个多小时，就是15个创业团队的项目展示，我先说一下我的感想。&lt;/p&gt;

&lt;blockquote&gt;

&lt;p&gt;　　（1）所有的团队都非常年轻，大部分人都是85年后出生，还有几个90后团队。但是，所有人在开发上都很成熟，至少没有一个产品让我觉得幼稚，这表明中国互联网开发的新生力量非常强大，未来可期。&lt;/p&gt;

&lt;p&gt;　　（2）每个团队有8分钟的展示时间，实事求是地说，我觉得有些团队的展示不是很理想，听了以后，抓不住重点，不知道产品和团队的卖点在哪里。建议这些年轻的朋友，多向乔布斯和奥巴马学习公开讲演的技巧。&lt;/p&gt;

&lt;p&gt;　　（3）15个产品当中，有6、7个是纯粹的手机App（应用程序），剩下来的项目也全部打算开发手机端。几乎所有人都把手机应用，当做自己项目的重点。虽然我也认同移动互联网的广阔未来，但是太关注手机端，会不会是一种局限，我个人觉得有一个好的API（应用程序接口）意义可能更大一些。&lt;/p&gt;

&lt;p&gt;　　（4）这些产品大部分都是针对个人的生活需求，针对企业商业需求的产品太少。&lt;/p&gt;

&lt;p&gt;　　（5）从创意到成品，三个月的时间，还是太短了。大部分项目的完成度不高，有好几个只是刚刚能够在本机上运行，只能做到让你看懂他的想法，距离真正可以上线的Demo还要一段时间。不过，所有团队都拿出了自己的作品，这一点很不容易。&lt;/p&gt;

&lt;p&gt;　　（6）最后一点感想，是关于我自己的。我发现，我与风险投资家（尤其是不懂技术的风险投资家）沟通起来很不顺畅，共同语言比较少，聊了一会就找不到话题了，远不如我与工程师聊天那样自如。我还是不适应这种社交场合。&lt;/p&gt;

&lt;/blockquote&gt;

&lt;p&gt;=============================================&lt;/p&gt;

&lt;p&gt;接着，我就来介绍一下这15个项目（按昨天的出场顺序）。&lt;/p&gt;

&lt;p&gt;我只介绍项目的基本情况，不做评论，也不涉及开发团队，因为我对他们本人都不熟悉。我根据的是自己对产品的理解，可能不是很准确。一些项目的网站还没有完成，也就不提供网址了。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. 会云&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;网址：&lt;a href="http://www.confone.com"&gt;http://www.confone.com&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.confone.com"&gt;&lt;img src="http://image.beekka.com/blog/201111/bg2011110606.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;【简介】&lt;/p&gt;

&lt;p&gt;会议管理工具。&lt;/p&gt;

&lt;p&gt;会议组合者可以在网站上，注册一个会议，然后这个会议就有一个自己的主页（&lt;a href="http://www.confone.com/conference/info_schedule.php?url=tisiwidday"&gt;示例&lt;/a&gt;）。通过这个主页，你可以邀请会议参加者、发布会议消息和FAQ、增加参会人员的互动等等。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. 乐帮&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;网址：&lt;a href="http://whohelp.me/"&gt;http://whohelp.me/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://whohelp.me/"&gt;&lt;img src="http://image.beekka.com/blog/201111/bg2011110607.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;【简介】&lt;/p&gt;

&lt;p&gt;基于LBS的移动帮助应用。&lt;/p&gt;

&lt;p&gt;生活中，我们经常遇到麻烦事，比如电脑蓝屏了、下雨没带伞、宠物走丢了......这时，你会希望身边有人可以帮你。"乐帮"使你可以向3000米以内的其他用户求援，他们打开手机，看到周围有哪些需要帮助的事情，再决定是否给你发短信或打电话。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. 木耳&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src="http://image.beekka.com/blog/201111/bg2011110608.png"&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;strong&gt;4. 百里挑一&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;网址：&lt;a href="http://www.bailty.com"&gt;http://www.bailty.com&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.bailty.com"&gt;&lt;img src="http://image.beekka.com/blog/201111/bg2011110609.png"&gt;&lt;/a&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;strong&gt;5. 错落&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;网址：&lt;a href="http://cuoluo.com"&gt;http://cuoluo.com&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://cuoluo.com"&gt;&lt;img src="http://image.beekka.com/blog/201111/bg2011110610.png"&gt;&lt;/a&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;strong&gt;6. 有鱼&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;网址：&lt;a href="http://youyur.com/"&gt;http://youyur.com/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://youyur.com/"&gt;&lt;img src="http://image.beekka.com/blog/201111/bg2011110611.png"&gt;&lt;/a&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;strong&gt;7. 觅乎&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;网址：&lt;a href="http://www.miihuu.com"&gt;http://www.miihuu.com&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.miihuu.com"&gt;&lt;img src="http://image.beekka.com/blog/201111/bg2011110612.png"&gt;&lt;/a&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;strong&gt;8. 聚朋&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;网址：&lt;a href="http://www.juupoo.com"&gt;http://www.juupoo.com&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.juupoo.com"&gt;&lt;img src="http://image.beekka.com/blog/201111/bg2011110613.png"&gt;&lt;/a&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;strong&gt;9. 52赫兹&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;网址：&lt;a href="http://www.52hz.com/"&gt;http://www.52hz.com/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.52hz.com/"&gt;&lt;img src="http://image.beekka.com/blog/201111/bg2011110614.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;【简介】&lt;/p&gt;

&lt;p&gt;网页推荐引擎。&lt;/p&gt;

&lt;p&gt;根据用户收藏的网页，向他推荐个性化的相关网页，与美国网站&lt;a href="http://www.stumbleupon.com/"&gt;StumbleUpon&lt;/a&gt;类似。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;10. Timap&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;网址：&lt;a href="http://timap.me/"&gt;http://timap.me/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://timap.me/"&gt;&lt;img src="http://image.beekka.com/blog/201111/bg2011110615.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;【简介】&lt;/p&gt;

&lt;p&gt;基于LBS的日程管理工具。&lt;/p&gt;

&lt;p&gt;用户可以用自然语言输入日程（比如"明天下午1点与张先生在xx饭馆吃饭"），Timap会自动分析语义，得到时间、地点（结合用户的当前位置）、事项，并向用户推荐最优日常安排。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;11. 小恩爱&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;网址：&lt;a href="http://www.xiaoenai.com"&gt;http://www.xiaoenai.com&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.xiaoenai.com"&gt;&lt;img src="http://image.beekka.com/blog/201111/bg2011110616.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;【简介】&lt;/p&gt;

&lt;p&gt;情侣应用。&lt;/p&gt;

&lt;p&gt;"小恩爱"必须情侣两人共同使用，供双方进行各种特殊沟通。留言的时候，可以设置规则（比如，男生收信后，倒计时8小时才能打开）；女生还可以向男生出选择题（"我最喜欢以下哪一种口味的冰激凌？"），并设置奖励和惩罚。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;12. 琥珀&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src="http://image.beekka.com/blog/201111/bg2011110617.jpg"&gt;&lt;/p&gt;

&lt;p&gt;【简介】&lt;/p&gt;

&lt;p&gt;基于LBS的校园社交应用。&lt;/p&gt;

&lt;p&gt;主要是四大功能：发送匿名情书；实时抓拍并分享校园八卦；校园雷达，3D显示校园各个位置最新发生的事件；校园密友，显示你关注的人现在的动态。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;13. 饭有引力&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;网址：&lt;a href="http://www.fanyor.com/"&gt;http://www.fanyor.com/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.fanyor.com/"&gt;&lt;img src="http://image.beekka.com/blog/201111/bg2011110618.jpg"&gt;&lt;/a&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;strong&gt;14. 同行&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;网址：&lt;a href="http://itongxing.com/"&gt;http://itongxing.com/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://itongxing.com/"&gt;&lt;img src="http://image.beekka.com/blog/201111/bg2011110619.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;【简介】&lt;/p&gt;

&lt;p&gt;基于LBS的拼车应用。&lt;/p&gt;

&lt;p&gt;当你想在附近找人拼车、或找到想搭你的车的人，"同行"会告诉你有没有这样的人，你也可以发出这样的消息，"同行"会帮你自动推送到周围的用户，并转发到社交网站上。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;15. 马蹄&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src="http://image.beekka.com/blog/201111/bg2011110620.png"&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;p&gt;如果你是投资者，对上述项目感兴趣的话，可以通过天使湾&lt;a href="http://www.tisiwi.com/blog/?page_id=16"&gt;联系&lt;/a&gt;开发者。&lt;/p&gt;

&lt;p&gt;如果你是普通用户，欢迎积极使用这些产品，为创业团队提供鼓励和建议。&lt;/p&gt;

&lt;p&gt;如果你是创业者，欢迎向天使湾&lt;a href="http://www.tisiwi.com/dashboard/new"&gt;申请风投&lt;/a&gt;，也欢迎在11月底报名参加明年3月~5月举办的第二期创业训练营。&lt;/p&gt;

&lt;p&gt;（完）&lt;br&gt;
&lt;/p&gt;&lt;div style="color:#556677;line-height:160%;padding:0.3em 0.5em;border:1px solid #d3d3d3;margin:1em;background-color:#AAD2F0;border-radius:10px"&gt;&lt;h3&gt;文档信息&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;版权声明：自由转载-非商用-非衍生-保持署名 | &lt;a href="http://creativecommons.org/licenses/by-nc-nd/3.0/deed.zh"&gt;Creative Commons BY-NC-ND 3.0&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;原文网址：&lt;a href="http://www.ruanyifeng.com/blog/2011/11/tisiwi_demo_day.html"&gt;http://www.ruanyifeng.com/blog/2011/11/tisiwi_demo_day.html&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;最后修改时间：2011年11月 9日 10:45&lt;/li&gt;
&lt;li&gt;付费支持（&lt;a href="http://www.ruanyifeng.com/blog/2011/05/my_google_adsense_is_disabled.html" style="text-decoration:underline"&gt;说明&lt;/a&gt;）：&lt;a href="https://mai.alipay.com/p.htm?id=2011101500701706"&gt;&lt;img src="http://www.ruanyifeng.com/blog/images/rmb_32.png" alt="支付宝担保交易" style="border:none;vertical-align:middle"&gt;&lt;/a&gt; | &lt;a href="https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&amp;amp;business=yifeng.ruan@gmail.com&amp;amp;currency_code=USD&amp;amp;amount=2.99&amp;amp;return=http://www.ruanyifeng.com/thank.html&amp;amp;item_name=Ruan%20YiFeng&amp;#39;s%20Blog&amp;amp;undefined_quantity=1&amp;amp;no_note=0"&gt;&lt;img src="http://www.ruanyifeng.com/blog/images/dollar_32.png" alt="paypal" style="border:none;vertical-align:middle"&gt;&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;&lt;div style="color:#556677;line-height:160%;padding:0.3em 0.5em;margin:1em;border-radius:10px"&gt;&lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;div&gt; &lt;a href="https://itindex.net/"  title="IT 资讯"&gt;&lt;img src="https://itindex.net/images/iconWarning.gif" title="IT 资讯" border="0"/&gt; &lt;/a&gt;</description>
      <category>Startup</category>
      <guid isPermaLink="true">https://itindex.net/detail/33891-%E5%A4%A9%E4%BD%BF%E6%B9%BE-%E5%88%9B%E4%B8%9A-demo</guid>
      <pubDate>Sun, 06 Nov 2011 15:27:19 CST</pubDate>
    </item>
    <item>
      <title>面试时，如何向公司提问？</title>
      <link>https://itindex.net/detail/39289-%E9%9D%A2%E8%AF%95-%E5%85%AC%E5%8F%B8</link>
      <description>&lt;p&gt;以前，我写过一篇  &lt;a href="http://www.ruanyifeng.com/blog/2010/12/how_to_interview_a_programmer.html"&gt;《如何面试程序员》&lt;/a&gt;，探讨公司如何向应聘者提问。&lt;/p&gt; &lt;p&gt;今天，我看到硅谷招聘经理  &lt;a href="http://voltsteve.blogspot.com/2011/12/assessing-company-questions-you-need-to.html"&gt;Steve Buckley&lt;/a&gt;的一篇文章，正好探讨了同一件事的另一面：应聘者如何向公司提问。&lt;/p&gt;

 &lt;p&gt;  &lt;img src="http://image.beekka.com/blog/201208/bg2012081701.jpg"&gt;&lt;/img&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;img src="http://image.beekka.com/blog/201208/bg2012081702.jpg"&gt;&lt;/img&gt;&lt;/p&gt;

 &lt;p&gt;有一些注意点，你需要知道：&lt;/p&gt;

 &lt;blockquote&gt;

  &lt;p&gt;　　1. 面试之前，一定要做准备，多了解公司的情况。&lt;/p&gt;

  &lt;p&gt;　　2. 你提出的问题，应该围绕&amp;quot;这份工作是否合适我&amp;quot;这个中心点，其他与应聘关系不大的问题，不宜多问。&lt;/p&gt;

  &lt;p&gt;　　3. 提问的时候，要自然放松，不要害羞，就把它当作普通的聊天。你要表现出对公司的真诚兴趣。&lt;/p&gt;

  &lt;p&gt;　　4. 提问要直接了当，不要绕圈子。提出问题之后，你要保持安静，让面试官多说话。&lt;/p&gt;

  &lt;p&gt;　　5. 面试官回答的时候，你可以做笔记，或者事先询问能不能做。笔记必须简短，你的大部分时间，要用来全神贯注倾听面试官的回答，并与其有眼神的交流。&lt;/p&gt;

  &lt;p&gt;　　6. 面试结束后一周内，最好打一个电话或发一封邮件，了解公司对你的反馈意见。即使面试失败，你不妨也问一下原因，这会有助于你以后的面试。&lt;/p&gt;

&lt;/blockquote&gt;

 &lt;p&gt;下面是一些你可以问的典型问题。&lt;/p&gt;

 &lt;p&gt;  &lt;strong&gt;问题一：你们为什么要招聘这个职位？&lt;/strong&gt;&lt;/p&gt;

 &lt;p&gt;Q1: Why are you currently recruiting for this position?&lt;/p&gt;

 &lt;p&gt;这个问题会使得面试官开始谈论当前的项目，或者谈论前一位离职人员。无论哪种情况，都会让你了解，一些与你最密切相关的公司情况。&lt;/p&gt;

 &lt;p&gt;  &lt;strong&gt;问题二：你们的新员工多吗？&lt;/strong&gt;&lt;/p&gt;

 &lt;p&gt;Q2: Do you have many new staffs?&lt;/p&gt;

 &lt;p&gt;这个问题起一个过渡作用，使得谈话导向公司内部的情况。但是，它本身也能说明一些问题。如果公司成立已经超过四年，又没有新项目，但是新员工却很多，这往往说明公司文化不是很健康。&lt;/p&gt;

 &lt;p&gt;  &lt;strong&gt;问题三：你们公司（团队）目前面临的最大挑战是什么？&lt;/strong&gt;&lt;/p&gt;

 &lt;p&gt;Q3: What are the biggest challenges your team are facing right now?&lt;/p&gt;

 &lt;p&gt;如果面试官开始谈论一些具体的技术问题，这很好；如果他的回答是项目时间紧迫，或者需要更多的资金，那你就要小心一点了，公司管理上面可能有问题。&lt;/p&gt;

 &lt;p&gt;  &lt;strong&gt;问题四：什么新技术（编程语言）是你们未来希望采用的？&lt;/strong&gt;&lt;/p&gt;

 &lt;p&gt;Q4: What technologies/languages would you like to see your team adapt to that aren&amp;apos;t currently being utilised?&lt;/p&gt;

 &lt;p&gt;如果你申请的是技术职位，面试官恰巧又是技术负责人，那么这个问题将会非常合适。你会对公司的技术路线有所了解和准备，一旦入职，就能更好地适应公司的需要。&lt;/p&gt;

 &lt;p&gt;  &lt;strong&gt;问题五：在业务方面，有没有什么地方是你们不满意的，未来想要改进的？&lt;/strong&gt;&lt;/p&gt;

 &lt;p&gt;Q5: Few companies, if any, are 100% satisfied with the way their business is operating. If you could simply flick a switch to fix it, what one thing would you change?&lt;/p&gt;

 &lt;p&gt;很少有公司，会百分之百满意自身的现状，即使那些状况很良好的公司也是如此。这个问题可以让你对公司管理层的关注重点和担忧之处，有所了解。&lt;/p&gt;

 &lt;p&gt;  &lt;strong&gt;问题六：我申请的这个职位，对公司的业务有何影响？&lt;/strong&gt;&lt;/p&gt;

 &lt;p&gt;Q6: If you struggle to fill the position I have applied for, what impact would that have on the business?&lt;/p&gt;

 &lt;p&gt;这个问题会让你了解自己在公司的角色，以及你的岗位对公司是否重要。&lt;/p&gt;

 &lt;p&gt;（完）  &lt;br /&gt;
&lt;/p&gt; &lt;div&gt;  &lt;h3&gt;文档信息&lt;/h3&gt;
  &lt;ul&gt;
   &lt;li&gt;版权声明：自由转载-非商用-非衍生-保持署名 |     &lt;a href="http://creativecommons.org/licenses/by-nc-nd/3.0/deed.zh"&gt;Creative Commons BY-NC-ND 3.0&lt;/a&gt;&lt;/li&gt;
   &lt;li&gt;原文网址：    &lt;a href="http://www.ruanyifeng.com/blog/2012/08/questions_you_need_to_ask_in_an_interview.html"&gt;http://www.ruanyifeng.com/blog/2012/08/questions_you_need_to_ask_in_an_interview.html&lt;/a&gt;&lt;/li&gt;
   &lt;li&gt;最后修改时间：2012年8月17日 23:24&lt;/li&gt;
   &lt;li&gt;付费支持：    &lt;a href="https://me.alipay.com/ruanyf" target="_blank"&gt;     &lt;img alt="&amp;#20154;&amp;#27665;&amp;#24065; - &amp;#25903;&amp;#20184;&amp;#23453;" src="http://www.ruanyifeng.com/blog/images/rmb_32.png" title="&amp;#20154;&amp;#27665;&amp;#24065;"&gt;&lt;/img&gt;&lt;/a&gt; |     &lt;a href="https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&amp;business=yifeng.ruan@gmail.com&amp;currency_code=USD&amp;amount=0.99&amp;return=http://www.ruanyifeng.com/thank.html&amp;item_name=Ruan%20YiFeng's%20Blog&amp;undefined_quantity=1&amp;no_note=0" target="_blank"&gt;     &lt;img alt="&amp;#32654;&amp;#20803; - paypal" src="http://www.ruanyifeng.com/blog/images/dollar_32.png" title="&amp;#32654;&amp;#20803;"&gt;&lt;/img&gt;&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt; &lt;div&gt;&lt;/div&gt;&lt;div&gt; &lt;a href="https://itindex.net/"  title="IT 资讯"&gt;&lt;img src="https://itindex.net/images/iconWarning.gif" title="IT 资讯" border="0"/&gt; &lt;/a&gt;</description>
      <category>Startup</category>
      <guid isPermaLink="true">https://itindex.net/detail/39289-%E9%9D%A2%E8%AF%95-%E5%85%AC%E5%8F%B8</guid>
      <pubDate>Fri, 17 Aug 2012 14:43:32 CST</pubDate>
    </item>
    <item>
      <title>Orbeus：挖掘图像识别技术的商业潜能</title>
      <link>https://itindex.net/detail/39474-orbeus-%E5%9B%BE%E5%83%8F-%E6%8A%80%E6%9C%AF</link>
      <description>&lt;p&gt;  &lt;a href="http://www.ifanr.com/144699/orbe-us" rel="attachment wp-att-144891"&gt;   &lt;img alt="" height="375" src="http://cdn.ifanr.cn/wp-content/uploads/2012/08/orbe.us-.jpg" title="orbe.us" width="600"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
 &lt;p&gt;计算机想要更深入的了解你，这是因为它们想要提供更好的服务，或者说推送更加精准的广告。它们需要更加智能，除了理解你发出的抽象文字，还要理解你上传的各种图片。因此，Facebook 收购了 Face.com，Google 开发了  &lt;a href="http://www.ifanr.com/news/143713"&gt;图像识别系统&lt;/a&gt;。不过，一家新的初创公司 Orbeus 已经有了成形的产品。&lt;/p&gt;
 &lt;p&gt;提到初创公司孵化器，大家首先可能想到 Y Combinator。不过 Orbeus 并不是来自 Y Combinator，而是来自 Chicago Excelerate Labs，一家专注于芝加哥地区初创公司的孵化器。根据   &lt;a href="http://gigaom.com/2012/08/29/5-startups-that-stood-out-at-excelerates-demo-day/"&gt;GigaOM 的报道&lt;/a&gt;，在每年一次的演示会上，Orbeus 展示了他们开发的图像识别技术。看起来，他们比 Facebook/Google 等大公司走的还要远，因为那不只是将图片和名称联系起来，而是要挖掘图片中的各种信息，并且据此推送广告。&lt;/p&gt;
 &lt;p&gt;Orbeus 由 MIT 和波士顿大学的几个科学家创立。公司的 CEO 和联合创始人 Xing Meng 在演示中说，计算机能够和人类一样阅读，但是不能一样观察，而 Orbeus 将使计算机的观察能力超过人类。&lt;/p&gt;
 &lt;p&gt;对于 Orbeus 的技术，  &lt;a href="http://www.fastcompany.com/3000905/orbeus-trains-machines-recognize-faces-emotions-broccoli"&gt;FastCompany&lt;/a&gt; 进行了更加深入的报道。通过 Orbeus 的图像识别技术，计算机能够探测人物的性别、表情，识别产品、Logo。随着日益增长的数据库，Orbeus 的机器学习算法会更加准确。这种技术除了对在线分享带来重大影响，还会很大程度改变广告或内容推送的不精确性。Xing Meng 说，“每次你将图片上传到该服务，我们能够从中了解你的品味或者通用的模式，基于图片的情景，推送令人感兴趣的广告或者内容”。&lt;/p&gt;
 &lt;p&gt;除了人脸识别之外，Orbeus 还能识别场景或者物品。根据公司 CEO 的说法，Orbeus 能够识别出具体的物品。比如，当 Orbeus 看到饮食中有许多绿色的时候，不是仅把它当做蔬菜，而是能够辨认出它是花椰菜。不过情景模式的识别可能有些困难，比如分辨卧室和起居室。&lt;/p&gt;
 &lt;p&gt;这和广告有什么关系呢？显然，当他们知道你喜欢吃什么的时候，就能够投放更加精准的广告。对此，公司的 CEO Meng 举了一个例子，他们将图像识别技术测试了公司的其它创始人，发现他上传的 50% 的饮食图片都是蔬菜，但是 Facebook 仍然给他推送牛排餐厅的广告。&lt;/p&gt;
 &lt;p&gt;目前 Orbeus 处在起步阶段，技术仍未完善。FastCompany 网站进行了一些测试（如果有兴趣，你可以  &lt;a href="http://rekognition.com/demo/"&gt;自己去试一下&lt;/a&gt;），发现在识别上会有错误。比如它认为 Scott Fostall 的年龄是 22 岁，但其实他已经 40 多岁了。或许因为 Scott Forstall 面相年轻？不过将梅赛德斯的 Logo 辨识为 31 岁的女性，就有些古怪了。当然，其它的测试还比较准确。&lt;/p&gt;
 &lt;p&gt;Orbeus 的技术看起来的确有不小的潜能，它也开放了 API，允许第三方将这种技术整合到应用中。不过，Orbeus 的发展也有不小的挑战存在。首先，这种技术恐怕会带来人们对隐私的关注。当 Facebook 收购 face.com 的时候，就曾引起了人们的担忧。虽然做为一个初创公司，Orbeus 暂时不会受到那样的关注，但随着它的发展，这个问题可能会突出。另外，将技术商业化的过程也并非易事，需要大量的合作者，比如第三方开发者、广告商、社交网络等各方面的支持，可以想象的是，Facebook/Google 这样的大公司迟早会跟进，而他们在这些方面的优势更加突出。&lt;/p&gt;
 &lt;p&gt;
  &lt;a href="http://www.ifanr.com"&gt;爱范儿 · Beats of Bits&lt;/a&gt; |
  &lt;a href="http://www.ifanr.com/144699"&gt;原文链接&lt;/a&gt; ·
  &lt;a href="http://www.ifanr.com/144699#comments"&gt;9 热评&lt;/a&gt; ·
  &lt;a href="http://www.weibo.com/ifanr"&gt;新浪微博&lt;/a&gt; ·
  &lt;a href="http://www.ifanr.com/feed"&gt;订阅全文&lt;/a&gt; ·
  &lt;a href="https://www.ifanr.com/weixin"&gt;微信订阅&lt;/a&gt; ·
  &lt;a href="http://bbs.ifanr.com/"&gt;加入爱范社区！&lt;/a&gt; 
&lt;/p&gt;

 &lt;br /&gt;
 &lt;div&gt;
&lt;/div&gt; 	 &lt;div&gt;
		  &lt;div&gt;    &lt;a href="http://www.ifanr.com/author/merlin" target="_blank"&gt;    &lt;img height="50" src="http://cdn.ifanr.cn/wp-content/uploads/avatar/427.jpg" width="50"&gt;&lt;/img&gt;&lt;/a&gt;
			   &lt;div&gt;
				    &lt;div&gt;
					     &lt;div&gt;      &lt;strong&gt;       &lt;a href="http://www.ifanr.com/author/merlin" target="_blank"&gt;积木&lt;/a&gt;&lt;/strong&gt;&lt;/div&gt;
					     &lt;div&gt;Life would be so much easier if we only had the source code&lt;/div&gt;
				&lt;/div&gt;
			&lt;/div&gt;
		&lt;/div&gt;
		  &lt;div&gt;
			   &lt;div&gt;
																			    &lt;a href="mailto:jimmerlin@gmail.com" target="_blank"&gt;邮箱&lt;/a&gt;

							
																			    &lt;a href="http://twitter.com/jimmerlin" target="_blank"&gt;Twitter&lt;/a&gt;

							
																			    &lt;a href="http://facebook.com/jimmerlin" target="_blank"&gt;Facebook&lt;/a&gt;

							
																			    &lt;a href="http://weibo.com/jimmerlin" target="_blank"&gt;新浪微博&lt;/a&gt;

							
																			    &lt;a href="https://plus.google.com/112637572621202585213" target="_blank"&gt;Google+&lt;/a&gt;

							
							&lt;/div&gt;
		&lt;/div&gt;
	&lt;/div&gt;
&lt;div&gt; &lt;a href="https://itindex.net/"  title="IT 资讯"&gt;&lt;img src="https://itindex.net/images/iconWarning.gif" title="IT 资讯" border="0"/&gt; &lt;/a&gt;</description>
      <category>前缀分类 应用 image recognition，图像识别，Orbeus，Startup</category>
      <guid isPermaLink="true">https://itindex.net/detail/39474-orbeus-%E5%9B%BE%E5%83%8F-%E6%8A%80%E6%9C%AF</guid>
      <pubDate>Fri, 31 Aug 2012 11:30:40 CST</pubDate>
    </item>
    <item>
      <title>不要自称为程序员</title>
      <link>https://itindex.net/detail/33580-%E7%A8%8B%E5%BA%8F%E5%91%98</link>
      <description>&lt;p&gt;每年都有无数年轻程序员，加入软件行业。&lt;/p&gt;&lt;p&gt;他们在学校里学过编程，但是对这个行业的现实一无所知。&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.kalzumeus.com/2011/10/28/dont-call-yourself-a-programmer/"&gt;Patrick McKenzie&lt;/a&gt;是美国一家小软件公司的老板，他写了一篇长文，介绍这个行业的一些实际情况。我看了以后很感慨，有些地方很受启发。我选择了一部分，翻译如下。&lt;/p&gt;

&lt;p&gt;==================================&lt;/p&gt;

&lt;p&gt;&lt;img src="http://image.beekka.com/blog/201110/bg2011103101.jpg"&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;一、90%的编程工作来自内部软件&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;（90% of programming jobs are in creating Line of Business software）&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;p&gt;&lt;strong&gt;二、别人雇你的目的，是让你创造利润，不是让你编程&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;（Engineers are hired to create business value, not to program things） &lt;/p&gt;

&lt;p&gt;商业公司最关心的（或者说唯一在乎的）事情，就是增加收入、降低成本。因此，它们实际上需要的不是程序员，而是能够帮助它们增加收入、降低成本的人。&lt;/p&gt;

&lt;p&gt;开发优美的软件，解决技术难题，编写没有bug的代码，这些都不是商业公司的目的。它们雇佣你，是为了让你帮它们完成某个可以增加收入、降低成本的项目，而不是因为你是geek。&lt;/p&gt;

&lt;p&gt;你个人对于公司的唯一价值，就在于你能多大程度上为它们增加收入、降低成本。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;三、不要自称为程序员&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;（Don't call yourself a programmer）&lt;/p&gt;

&lt;p&gt;很多公司的经理不懂计算机，在他们心目中，"程序员"就是一群高成本的劳动力，只会在一台复杂的机器上干一些难懂的事情。&lt;/p&gt;

&lt;p&gt;如果你自称为"程序员"，当公司需要压缩成本的时候，某些经理首先就会想到解雇你。有一家公司叫Salesforce，口号是"没有软件"，意思就是如果经理们购买了他们的服务，就不再需要别的软件管理销售业务了，也就是说，不再需要自己雇佣程序员了。&lt;/p&gt;

&lt;p&gt;正确的做法是，你应该把自己描述成与增加收入、降低成本有关系的人，比如"xx产品的开发者"或"改进者"。有一个Google Adsense程序员的自我介绍，是这样写的："Google公司97%的收入，与我的代码有关。"&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;四、不要限定自己&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;（You are not defined by your chosen software stack）&lt;/p&gt;

&lt;p&gt;年轻学生经常会问，应该选择哪种语言或平台？学会Java，是不是比学会.NET容易找工作？&lt;/p&gt;

&lt;p&gt;过分强调某一种语言或平台，都是不必要的。如果你把自己限定为Java程序员或.NET程序员，你就已经输了，因为首先你不应该自称为程序员（理由见上一点），其次这种限定使得你自动被排除在世界上大多数编程工作之外。&lt;/p&gt;

&lt;p&gt;现实生活中，学会一种新语言，只需要几个星期，然后再过半年到一年，你就会变成老手。那时，根本没人在乎你以前用什么语言。 &lt;/p&gt;

&lt;p&gt;天才程序员是很少的，可是需要天才程序员的工作机会却很多很多，大多数场合都是需求远远大于供给。这意味着，即使你不是天才程序员，只要你是一个优秀工程师，那些招聘公司也会立刻录用你，因为它们知道招聘到天才程序员的机会微乎其微。（重复一遍，所谓"优秀工程师"，就是你的履历上有一连串增加收入、降低成本的记录。）&lt;/p&gt;

&lt;p&gt;某些公司的人事部门，会根据某个关键词（比如Java或.NET）过滤简历。虽然这样的公司根本不值得去，但是如果你真的想过这一关，也很容易：投入几个晚上和周末，在你当前的项目中设法用到这个关键词，然后再把它写进简历就行了。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;五、如何提高求职时的谈判能力？&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;（How do I become better at negotiation?）&lt;/p&gt;

&lt;p&gt;（1）记住你不是在求职，不是在展示编程技巧，而是在推销某种商业需求（增加收入或降低成本）的解决方案。&lt;/p&gt;

&lt;p&gt;（2）面试时，要有自信，要平等的对话。你要的是一个互利的录用合同，不要每次对方提出要求，你都说Yes。&lt;/p&gt;

&lt;p&gt;（3）雇主可能会问"你的上一份工资是多少"，他们其实在说"给我一个理由，压低你的报酬"。你要想好如何适当地回答这个问题。&lt;/p&gt;

&lt;p&gt;（4）要还价。这里不仅仅指钱，还指其它你关心的方面。如果你无法要求更高的薪水，那就试着要求更多的假期。&lt;/p&gt;

&lt;p&gt;（5）在对方决定录用你以后，才开始讨论薪水。因为那时，他们已经在你身上，投入了大量的时间和金钱，产生了一定的成本，此时他们可能觉得一些小问题已经不值得再纠缠了，比如每年的工资增加几千元。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;六、创业公司是否适合应届毕业生？&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;（Are startups great for your career as a fresh graduate?）&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;strong&gt;七、在创业公司工作是否值得推荐？&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;（So would you recommend working at a startup?  ）&lt;/p&gt;

&lt;p&gt;选择创业公司，就是选择一条职业道路，而不是选择一种生活方式。可惜很多人把这两者颠倒了，他们推荐创业公司，实际上是在推荐一种你感兴趣的生活方式。&lt;/p&gt;

&lt;p&gt;如果你确实喜欢这种生活方式，老实说，你在大公司里也可以得到它们。在许许多多大公司里，你都有机会钻研最新的技术，而且还能5点半准时回家照顾孩子。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;八、沟通技能是最重要的职业技能&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;（Your most important professional skill is communication）&lt;/p&gt;

&lt;p&gt;前面说过，工程师被雇佣，不是因为会编程，而是因为能够创造商业价值。所以，你让人们相信你能创造价值，这是帮助你找到工作的最重要的能力。这种能力与你真的能创造多少价值，实际上联系不是很紧密。&lt;/p&gt;

&lt;p&gt;我认识的一些最优秀的程序员，往往拙于表达。因此，别人不是不想与他们一起工作，就是低估了他们的价值。相反地，如果你看上去很会编程，并且很善于表达，别人就会真的这样看待你。&lt;/p&gt;

&lt;p&gt;（完）&lt;/p&gt;&lt;div style="color:#556677;line-height:160%;padding:0.3em 0.5em;border:1px solid #d3d3d3;margin:1em;background-color:#AAD2F0;border-radius:10px"&gt;&lt;h3&gt;文档信息&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;版权声明：自由转载-非商用-非衍生-保持署名 | &lt;a href="http://creativecommons.org/licenses/by-nc-nd/3.0/deed.zh"&gt;Creative Commons BY-NC-ND 3.0&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;原文网址：&lt;a href="http://www.ruanyifeng.com/blog/2011/10/dont_call_yourself_a_programmer.html"&gt;http://www.ruanyifeng.com/blog/2011/10/dont_call_yourself_a_programmer.html&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;最后修改时间：2011年10月31日 19:41&lt;/li&gt;
&lt;li&gt;付费支持（&lt;a href="http://www.ruanyifeng.com/blog/2011/05/my_google_adsense_is_disabled.html" style="text-decoration:underline"&gt;说明&lt;/a&gt;）：&lt;a href="https://mai.alipay.com/p.htm?id=2011101500701706"&gt;&lt;img src="http://www.ruanyifeng.com/blog/images/rmb_32.png" alt="支付宝担保交易" style="border:none;vertical-align:middle"&gt;&lt;/a&gt; | &lt;a href="https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&amp;amp;business=yifeng.ruan@gmail.com&amp;amp;currency_code=USD&amp;amp;amount=2.99&amp;amp;return=http://www.ruanyifeng.com/thank.html&amp;amp;item_name=Ruan%20YiFeng&amp;#39;s%20Blog&amp;amp;undefined_quantity=1&amp;amp;no_note=0"&gt;&lt;img src="http://www.ruanyifeng.com/blog/images/dollar_32.png" alt="paypal" style="border:none;vertical-align:middle"&gt;&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;&lt;div style="color:#556677;line-height:160%;padding:0.3em 0.5em;margin:1em;border-radius:10px"&gt;&lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;div&gt; &lt;a href="https://itindex.net/"  title="IT 资讯"&gt;&lt;img src="https://itindex.net/images/iconWarning.gif" title="IT 资讯" border="0"/&gt; &lt;/a&gt;</description>
      <category>Startup</category>
      <guid isPermaLink="true">https://itindex.net/detail/33580-%E7%A8%8B%E5%BA%8F%E5%91%98</guid>
      <pubDate>Mon, 31 Oct 2011 19:41:55 CST</pubDate>
    </item>
    <item>
      <title>华尔街日报引发争论：为什么创业公司难筹钱？</title>
      <link>https://itindex.net/detail/28659-%E5%8D%8E%E5%B0%94%E8%A1%97-%E6%97%A5%E6%8A%A5-%E4%BA%89%E8%AE%BA</link>
      <description>&lt;p style="text-align:center"&gt;&lt;img style="border-bottom:0px;border-left:0px;margin:2px auto 0px;padding-left:0px;padding-right:0px;float:none;border-top:0px;border-right:0px;padding-top:0px" border="0" alt="20111012172316" src="http://www.ifanr.com/wp-content/uploads/2011/10/20111012172316.jpg" width="553" height="369"&gt;&lt;/p&gt;
&lt;p&gt;华尔街日报今天发表了一篇名为&lt;a href="http://online.wsj.com/article_email/SB10001424052970204450804576625043573078086-lMyQjAxMTAxMDEwMjExNDIyWj.html"&gt;《互联网创业公司遭遇现金危机》&lt;/a&gt;的文章，说现在硅谷的互联网初创公司已经显得过剩，一些体质不太好的公司即将迎来“缺血”的状态。&lt;/p&gt;
&lt;p&gt;从去年到今年，互联网投资热潮一直高涨，除了 Facebook 这种巨头经常传出天文数字般的融资消息之外，数以千家小公司也进入“不差钱”的春天，投资人攥着大把的现金找项目仿佛成为常态。&lt;/p&gt;
&lt;p&gt;但是根据华尔街日报的观察，最近几周的形势发生了逆转。投资者不断削减融资预算，越来越多的小公司嗷嗷待哺，创业者必须降低自己的身价才能获得资金。&lt;/p&gt;
&lt;p&gt;硅谷小公司的平均估值已经由 600-800 万下降到了 300-500 万。&lt;/p&gt;
&lt;p&gt; &lt;span&gt;&lt;/span&gt;
&lt;p&gt;华尔街日报的报道就像一根火柴，点燃了 Twitter 和 Quora 上的讨论热情。各种投资人变成了两派，争论现在是“好时代”还是“坏时代”。&lt;a href="http://online.wsj.com/search/term.html?KEYWORDS=PUI-WING+TAM&amp;amp;bylinesearch=true"&gt;PUI-WING TAM&lt;/a&gt; 把 2011 年拿来跟 1999 年相比，并列举出 NVCA （美国风投协会）的数据：第三季度的筹资额降至八年来最低点。&lt;/p&gt;
&lt;p style="text-align:center"&gt;&lt;img style="border-bottom:0px;border-left:0px;margin:2px auto 0px;padding-left:0px;padding-right:0px;float:none;border-top:0px;border-right:0px;padding-top:0px" border="0" alt="rdn_4e939762c474b" src="http://www.ifanr.com/wp-content/uploads/2011/10/rdn_4e939762c474b.jpg" width="285" height="340"&gt;&lt;/p&gt;
&lt;p&gt;上面这张表显示：52 家风险投资公司共募集 17.2 亿美元，比最高峰的时候下降了 53%。&lt;/p&gt;
&lt;p&gt;但是，关于“为什么难筹钱？”的争论，并没有得到一个明确的结论，是因为“互联网的成长高峰已经到尽头”，还是因为“华尔街恐惧互联网”？&lt;/p&gt;
&lt;p&gt;“创业者现在更热衷于抛售自己的项目，只要价格合理即可。”希望这种状态不要持续太久。&lt;/p&gt;
	&lt;div style="border:1px solid #ccc;font-size:14px;margin:27px auto;font-family:Arial"&gt;
		&lt;div style="overflow:hidden"&gt; &lt;a href="http://www.ifanr.com/author/zhangh109" style="color:#000;text-decoration:none"&gt;&lt;img src="http://www.ifanr.com/wp-content/uploads/avatar/314.jpg" width="50" height="50" style="display:block;float:left;padding:0;margin:15px"&gt;&lt;/a&gt;
			&lt;div style="text-align:left;line-height:23px;margin-left:80px"&gt;
				&lt;div style="padding:10px 10px 10px 0"&gt;
					&lt;div style="margin:0;font-size:14px"&gt;&lt;strong&gt;&lt;a href="http://www.ifanr.com/author/zhangh109" style="color:#000;text-decoration:none"&gt;张恒&lt;/a&gt;&lt;/strong&gt;&lt;/div&gt;
					&lt;div style="font-size:13px;line-height:20px"&gt;先后在华为技术和炬力集成做码农和 PM，并在华强北摆弄过手机档口。致力移动互联网，LBS，垂直社区，新媒体观察，致力于 iSeed 访谈的推动和建设。&lt;/div&gt;
				&lt;/div&gt;
			&lt;/div&gt;
		&lt;/div&gt;
		&lt;div style="text-align:right;border-top:1px dotted #ccc;padding:2px 10px;font-size:12px"&gt;
			&lt;div&gt;
								&lt;a href="mailto:zhangh109@gmail.com" style="margin-right:14px;text-decoration:none"&gt;邮箱&lt;/a&gt;				&lt;a href="http://www.twitter.com/zhangh109" style="margin-right:14px;text-decoration:none"&gt;Twitter&lt;/a&gt;				&lt;a href="http://www.facebook.com/zhangh109" style="margin-right:14px;text-decoration:none"&gt;Facebook&lt;/a&gt;				&lt;a href="http://www.zhihu.com/people/zhangh109" style="margin-right:14px;text-decoration:none"&gt;知乎&lt;/a&gt;			&lt;/div&gt;
		&lt;/div&gt;
	&lt;/div&gt;
&lt;p&gt;&lt;small&gt;© 张恒 for &lt;a href="http://www.ifanr.com"&gt;爱范儿 · Beats of Bits&lt;/a&gt; |
&lt;a href="http://www.ifanr.com/57002"&gt;原文链接&lt;/a&gt; ·
&lt;a href="http://www.ifanr.com/57002#comments"&gt;2 热评&lt;/a&gt; ·
&lt;a href="http://www.weibo.com/ifanr"&gt;新浪微博&lt;/a&gt; ·
&lt;a href="http://www.ifanr.com/feed"&gt;订阅全文&lt;/a&gt; ·
&lt;a href="https://plus.google.com/114725869543399343504/"&gt;Google+&lt;/a&gt; ·
&lt;a href="http://live.ifanr.com/"&gt;#ifanrlive&lt;/a&gt; ·
&lt;a href="http://bbs.ifanr.com/"&gt;加入爱范社区！&lt;/a&gt; 
&lt;/small&gt;&lt;/p&gt;

&lt;div style="text-align:right;border-top:1px dotted #ccc"&gt;
&lt;/div&gt; 
&lt;br&gt;
原创的新鲜趣味，@乐活制造，&lt;a href="http://ifanr.in/inmaker"&gt;点击关注&lt;/a&gt; 。&lt;/p&gt;&lt;div&gt; &lt;a href="https://itindex.net/"  title="IT 资讯"&gt;&lt;img src="https://itindex.net/images/iconWarning.gif" title="IT 资讯" border="0"/&gt; &lt;/a&gt;</description>
      <category>业界趋势/Trend 公司 前缀分类 Startup</category>
      <guid isPermaLink="true">https://itindex.net/detail/28659-%E5%8D%8E%E5%B0%94%E8%A1%97-%E6%97%A5%E6%8A%A5-%E4%BA%89%E8%AE%BA</guid>
      <pubDate>Thu, 13 Oct 2011 19:52:51 CST</pubDate>
    </item>
    <item>
      <title>从0到1亿美元 ---- PopCap创始人John Vechey自述</title>
      <link>https://itindex.net/detail/19698-%E7%BE%8E%E5%85%83-popcap-%E5%88%9B%E5%A7%8B%E4%BA%BA</link>
      <description>&lt;p&gt;著名游戏&lt;a href="http://en.wikipedia.org/wiki/Plants_vs._Zombies"&gt;"植物大战僵尸"&lt;/a&gt;，是&lt;a href="http://www.popcap.com/"&gt;PopCap&lt;/a&gt;软件公司的作品。&lt;/p&gt;&lt;p&gt;这家公司今年的收入，有望达到1亿美元。可是10年前，它刚刚成立的时候，只是一个辍学生与两个好友开的软件工作室。&lt;/p&gt;

&lt;p&gt;它如何做到从0到1亿美元的飞跃？下面就是创始人非常诚恳的自述，我看了以后实在难忘，就把它译了出来。&lt;/p&gt;

&lt;p&gt;========================================&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;PopCap创始人John Vechey自述&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;译者：阮一峰&lt;/p&gt;

&lt;p&gt;原文网址：&lt;a href="http://www.inc.com/magazine/20101001/how-i-did-it-john-vechey-founder-of-popcap.html"&gt;inc.com&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;br&gt;
1. &lt;/p&gt;

&lt;p&gt;&lt;img src="http://image.beekka.com/blog/201010/bg2010102401.jpg"&gt;&lt;/p&gt;

&lt;p&gt;我在威斯康辛州长大。我爸是炼钢工人，他深受嬉皮士运动的影响，把朋友、家庭、女人看得比钱重要，所以他从不接受全职工作，只在需要钱的时候才干一些兼职。&lt;/p&gt;

&lt;p&gt;2.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://image.beekka.com/blog/201010/bg2010102402.jpg"&gt;&lt;/p&gt;

&lt;p&gt;我很小的时候，父母就离婚了。我跟着我妈，后来一共有7个继父。那时家里非常穷，我看见别人有好吃的就很羡慕。课余时间我都在打工，所以我的青少年时代几乎没有课外活动。&lt;/p&gt;

&lt;p&gt;3.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://image.beekka.com/blog/201010/bg2010102403.jpg"&gt;&lt;/p&gt;

&lt;p&gt;1996年，我进了普渡大学。虽然我还没有自己的电脑，但我想成为程序员，所以就选修了编程课。那门课所有考试的第一名，总是一个叫做Brian Fiete的人，我就去问他，愿不愿意一起编个游戏。这就是我们的第一个游戏ARC的由来。&lt;/p&gt;

&lt;p&gt;4.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://image.beekka.com/blog/201010/bg2010102404.jpg"&gt;&lt;/p&gt;

&lt;p&gt;ARC是一个彩弹游戏，放上网以后，吸引了许多人玩。开发游戏需要大量时间，而我的大学GPA（绩点）只有1.67，所以我就退学了，全身心投入开发工作。有一次网上聊天，一个叫做Jason Kapalka的人要求加入我们，他后来成了PopCap的第三个创始人。那是1997年的事。&lt;/p&gt;

&lt;p&gt;5. &lt;/p&gt;

&lt;p&gt;&lt;img src="http://image.beekka.com/blog/201010/bg2010102405.jpg"&gt;&lt;/p&gt;

&lt;p&gt;Jason Kapalka说服一家游戏公司，向我们购买ARC运营许可证，价格是45000美元。那一年，我只有19岁，突然有这么一笔钱，感觉像百万富翁一样。后来，我们又把ARC的所有权卖给了Sierra游戏公司，又拿到了10万美元，我们三个就开始成立自己的公司了。&lt;/p&gt;

&lt;p&gt;6.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://image.beekka.com/blog/201010/bg2010102406.jpg"&gt;&lt;/p&gt;

&lt;p&gt;最初，我们只打算为别人开发游戏，没想过直接以自己的品牌向玩家推出游戏。我们第一个开发出来的游戏，被代理商拒绝了。然后，我们就做了Bejeweled（钻石迷情）。那个游戏的诞生纯属偶然，我回老家的时候，看见人们在网上玩一种纸牌游戏，觉得很有意思，就发Email告诉Brian Fiete，他第二天就写出了游戏的原型，而Jason Kapalka在第三天找来了许多钻石图案，第四天Bejeweled的第一版就成型了。&lt;/p&gt;

&lt;p&gt;7.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://image.beekka.com/blog/201010/bg2010102407.jpg"&gt;&lt;/p&gt;

&lt;p&gt;我们带着Bejeweled去找游戏网站，Yahoo表示没兴趣代理，Microsoft表示可以把它放到MSN上，但是条件很苛刻，出于无奈，我们还是接受了。结果，它在MSN上大受欢迎，一天有6万个人来玩，可是我们的报酬仅仅是每月1500美元。&lt;/p&gt;

&lt;p&gt;8.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://image.beekka.com/blog/201010/bg2010102408.jpg"&gt;&lt;/p&gt;

&lt;p&gt;到了2000年，用户要求获得Bejeweled的可下载版本，因为那时大家都是拨号上网，网费很贵，而且上网时电话打不进来。于是，我不得不说服Yahoo（它也开始代理Bejeweled了）和MSN，在继续提供免费的线上版本的同时，允许我们推出售价20美元的功能更强的可下载版本，所获得的利润，我们与销售网站对半分。我们从此有了一种新的商业模式。&lt;/p&gt;

&lt;p&gt;9.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://image.beekka.com/blog/201010/bg2010102409.jpg"&gt;&lt;/p&gt;

&lt;p&gt;2001年，Bejeweled上线销售的第一个月，我们赚到了35000美元，第二个月40000美元。我们知道，这种状况不会持续很久，不过这些钱已经足够了。我和Brian拿着钱去阿根廷度假了，我们在那里天天喝酒，一连过了4个月。直到Yahoo聘请我们开发新游戏时，才重新回到美国。&lt;/p&gt;

&lt;p&gt;10.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://image.beekka.com/blog/201010/bg2010102410.jpg"&gt;&lt;/p&gt;

&lt;p&gt;我们决定，我们开发的游戏一定要非常有趣、容易上手、能够吸引全家老小。果然，此后开发的35款游戏都赚到了钱。2004年，我们有15个雇员，有人愿意出6000万美元收购我们，我们拒绝了。我们找到David Roberts担任CEO，他曾经为Apple和 Adobe工作。我们告诉他，他的任务就是做大销售额，游戏创意方面的事情，他不用管。&lt;/p&gt;

&lt;p&gt;11.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://image.beekka.com/blog/201010/bg2010102411.jpg"&gt;&lt;/p&gt;

&lt;p&gt;David Roberts上任以后，改变的第一件事，就是让同一款游戏可以长期产生收入，而不是像我们以前那样，通过不断开发新游戏获得收入。如今，单单Bejeweled的收入就占到总收入的30%以上，因为我们让它可以在所有平台上运行：PC/Mac、 Xbox、PlayStation、Wii、DS、PalmPilot、iPhone、iPad等等。&lt;/p&gt;

&lt;p&gt;12.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://image.beekka.com/blog/201010/bg2010102412.jpg"&gt;&lt;/p&gt;

&lt;p&gt;2006年开始，我们用了三年时间，不断完善《植物大战僵尸》这款新游戏，最后获得了巨大成功。我们始终有一个信念，那就是一定要做出顶尖游戏，那样才能赚到大钱，如果一个游戏只是勉强可玩，那就一分钱也赚不到。&lt;/p&gt;

&lt;p&gt;（完）&lt;/p&gt;&lt;p&gt;&lt;iframe src="http://feedads.g.doubleclick.net/~ah/f/ejnc7ur4lnr9i3473l340ugd1o/300/250?ca=1&amp;amp;fh=280#http%3A%2F%2Fwww.ruanyifeng.com%2Fblog%2F2010%2F10%2Fhow_john_vechey_the_founder_of_popcap_did_it.html" width="100%" height="280" frameborder="0" scrolling="no" marginwidth="0" marginheight="0"&gt;&lt;/iframe&gt;&lt;/p&gt;&lt;div&gt; &lt;a href="https://itindex.net/"  title="IT 资讯"&gt;&lt;img src="https://itindex.net/images/iconWarning.gif" title="IT 资讯" border="0"/&gt; &lt;/a&gt;</description>
      <category>Startup</category>
      <guid isPermaLink="true">https://itindex.net/detail/19698-%E7%BE%8E%E5%85%83-popcap-%E5%88%9B%E5%A7%8B%E4%BA%BA</guid>
      <pubDate>Sun, 24 Oct 2010 22:43:06 CST</pubDate>
    </item>
    <item>
      <title>製造「意外」</title>
      <link>https://itindex.net/detail/19375-%E6%84%8F%E5%A4%96</link>
      <description>&lt;div align="right" style="float:right;padding:0px 0px 5px 10px"&gt;&lt;a name="fb_share"&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div style="float:right"&gt;
			&lt;a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fmrjamie.cc%2F2011%2F09%2F02%2Frandom-projects%2F"&gt;&lt;br&gt;
				&lt;img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fmrjamie.cc%2F2011%2F09%2F02%2Frandom-projects%2F&amp;amp;source=MrJamieLin&amp;amp;style=normal&amp;amp;service=bit.ly&amp;amp;service_api=jamie%3AR_5cb7b5a5e9ecbd076bd959c2c7cd789f&amp;amp;space=10&amp;amp;b=2" height="61" width="50"&gt;&lt;br&gt;
			&lt;/a&gt;
		&lt;/div&gt;
&lt;p&gt;&lt;img title="Explore" src="http://mrjamie.cc/wp-content/uploads/2011/09/1721982928_0e9601818d_b-550x412.jpg" alt="" width="550" height="412"&gt;&lt;/p&gt;
&lt;p&gt;昨天早上在宏碁基金會主辦的&lt;a href="http://longterm.me.ntu.edu.tw/"&gt;龍騰微笑競賽&lt;/a&gt;當 mentor，跟入選這一屆決賽的 15 個學生團隊分享我這 12 年來的經驗，然後回答了他們很多關於創業的問題。其中關心指數第一名的還是「如何面對失敗」，這個題目我已經寫了很多，包括：「&lt;a href="http://mrjamie.cc/2011/01/28/dealing-with-failure/"&gt;失敗了，怎麼辦&lt;/a&gt;」、「&lt;a href="http://mrjamie.cc/2011/07/09/mythbuster-failure/"&gt;我們要避免失敗&lt;/a&gt;」和「&lt;a href="http://mrjamie.cc/2011/07/21/success-failure/"&gt;成功與失敗&lt;/a&gt;」等等，今天就不繼續深究。&lt;/p&gt;
&lt;p&gt;我想聊的是第二多人關心的，那就是如何從失敗中逐漸找到成功。這個題目我其實也&lt;a href="http://mrjamie.cc/2011/05/27/you-dont-know-until-you-try-it/"&gt;寫了&lt;/a&gt; &lt;a href="http://mrjamie.cc/2011/06/02/keep-working-on-it/"&gt;不少&lt;/a&gt;，不過昨天晚上突然想到，講了那麼多，這件事情根本就可以用很簡單的四個字說完，那就是：&lt;/p&gt;
&lt;h2&gt;製造意外&lt;/h2&gt;
&lt;p&gt;邏輯很簡單，如果你去觀察，大多數的成功都是在追求 A 方向時，不小心找到了 B 市場 — 例如威而鋼，當初本來是要研發來治療心臟病的，想不到臨床實驗證明，吃了之後心臟病沒有好，反倒有了神奇的副作用。類似的故事在創業史上&lt;a href="http://mrjamie.cc/2010/10/29/pivot/"&gt;一而再&lt;/a&gt;、&lt;a href="http://mrjamie.cc/2011/07/09/mythbuster-failure/"&gt;再而三&lt;/a&gt;的發生，我想這足夠證明「成功」，在大多數的情況下是沒辦法製造的。既然是這樣，那我們何不乾脆放棄，反過來製造通往成功的那個東西，也就是那些「意外」。&lt;/p&gt;
&lt;h2&gt;什麼意思？&lt;/h2&gt;
&lt;p&gt;我的觀察發現，在做一個產品嘗試時，尤其是第一次創業的團隊，他們往往會過度專注在要讓「這個」產品成功，把所有的心力都投注在上面，接著就陷入了「線性思考」的毛病。他們的眼睛、耳朵漸漸關了起來，於是看不到市場給的其他信號，這時候，本來有可能出現的「意外」就因此消失了。這其實跟之前寫到的「&lt;a href="http://mrjamie.cc/2011/04/12/lucky-people/"&gt;幸運的人&lt;/a&gt;」症狀很像，太專注於一個目標，你就變成了不幸的人。&lt;/p&gt;
&lt;h2&gt;怎麼改善？&lt;/h2&gt;
&lt;p&gt;而要改善這個情況，提升成功的機率，那我們就應該改成「製造意外」的模式。首先，你必須要多方嘗試，在能力的範圍內，每一個 idea 都給它一些機會，做很多小嘗試，而不要太早陷入一個長期的大產品裡面。再來，你必須要保持警覺，在每個小嘗試的過程中收集所有有用的信號，來幫助你找到那些可能的意外。也就是說如果做一個六個月的大產品會讓你有一次的機會碰到意外，那做 24 個一星期的小產品，就會讓你有 24 次機會碰到意外，期望值當場就增加了很多倍。&lt;/p&gt;
&lt;p&gt;而即使你已經找到 &lt;a href="http://mrjamie.cc/tag/product-market-fit/"&gt;Product-Market Fit&lt;/a&gt;，進入成熟的規模化的階段，你還是可以給你的團隊一些自由的時間去發現意外，提升效率。例如 &lt;a href="http://engineering.slideshare.net/2011/08/the-importance-of-silly-projects/"&gt;Slideshare 工程師&lt;/a&gt;寫了一個午餐機器人，意外發現這讓大家少浪費許多時間思考去哪裡吃飯。在辦公室內裝了一個「程式碼佈署鈴聲」，意外發現這可以有效的減少溝通的毛病，接著想到可以用來通知大家有用戶付費，作為激勵士氣的好工具。&lt;/p&gt;
&lt;p&gt;也就是說，各位創業者，從今天開始，別再一味的追求成功了，在那之前，讓我們先製造更多意外吧！&lt;/p&gt;
&lt;p&gt;意外發生密度最高的地方 — &lt;a href="http://appworks.tw/incubator/"&gt;第四屆 appWorks 育成計畫&lt;/a&gt;歡迎你的加入。&lt;/p&gt;
&lt;p&gt;&lt;em&gt;(image via &lt;a href="http://www.flickr.com/photos/dunechaser/1721982928/"&gt;dunechaser&lt;/a&gt;, cc license)&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;相關文章&lt;/p&gt;&lt;ul&gt;&lt;li&gt;August 1, 2011 -- &lt;a href="http://mrjamie.cc/2011/08/01/venture-capital-lean-startup/" title="創投為什麼要教 Lean Startup？"&gt;創投為什麼要教 Lean Startup？&lt;/a&gt;&lt;/li&gt;&lt;li&gt;July 27, 2011 -- &lt;a href="http://mrjamie.cc/2011/07/27/scale-later/" title="什麼時候 Scale？"&gt;什麼時候 Scale？&lt;/a&gt;&lt;/li&gt;&lt;li&gt;June 17, 2011 -- &lt;a href="http://mrjamie.cc/2011/06/17/a-players-write-the-playbook/" title="王偉忠才是真正的 A 咖"&gt;王偉忠才是真正的 A 咖&lt;/a&gt;&lt;/li&gt;&lt;li&gt;May 30, 2011 -- &lt;a href="http://mrjamie.cc/2011/05/30/startup-genome/" title="14 組成功創業的 DNA"&gt;14 組成功創業的 DNA&lt;/a&gt;&lt;/li&gt;&lt;li&gt;April 27, 2011 -- &lt;a href="http://mrjamie.cc/2011/04/27/ltv-cpa/" title="網路創業最重要的公式：LTV &amp;gt; CPA"&gt;網路創業最重要的公式：LTV &amp;gt; CPA&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;iframe src="http://feedads.g.doubleclick.net/~ah/f/ccr9i1h6n4hqm90llp6i8d89ts/300/250?ca=1&amp;amp;fh=280#http%3A%2F%2Fmrjamie.cc%2F2011%2F09%2F02%2Frandom-projects%2F" width="100%" height="280" frameborder="0" scrolling="no" marginwidth="0" marginheight="0"&gt;&lt;/iframe&gt;&lt;/p&gt;&lt;div&gt;
&lt;a href="http://feeds.feedburner.com/~ff/MrJamie?a=-NaOK4F778w:mwKEHAXUvVU:H3Oshjl2qLQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MrJamie?i=-NaOK4F778w:mwKEHAXUvVU:H3Oshjl2qLQ" border="0"&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MrJamie?a=-NaOK4F778w:mwKEHAXUvVU:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MrJamie?d=qj6IDK7rITs" border="0"&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MrJamie?a=-NaOK4F778w:mwKEHAXUvVU:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MrJamie?d=yIl2AUoC8zA" border="0"&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MrJamie?a=-NaOK4F778w:mwKEHAXUvVU:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MrJamie?i=-NaOK4F778w:mwKEHAXUvVU:V_sGLiPBpWU" border="0"&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MrJamie?a=-NaOK4F778w:mwKEHAXUvVU:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MrJamie?i=-NaOK4F778w:mwKEHAXUvVU:gIN9vFwOqvQ" border="0"&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MrJamie/~4/-NaOK4F778w" height="1" width="1"&gt;&lt;div&gt; &lt;a href="https://itindex.net/"  title="IT 资讯"&gt;&lt;img src="https://itindex.net/images/iconWarning.gif" title="IT 资讯" border="0"/&gt; &lt;/a&gt;</description>
      <category>創業資源 Lean Startup MVP PMF Product Market Fit</category>
      <guid isPermaLink="true">https://itindex.net/detail/19375-%E6%84%8F%E5%A4%96</guid>
      <pubDate>Sat, 03 Sep 2011 09:39:15 CST</pubDate>
    </item>
    <item>
      <title>为什么 Stack Overflow 会如此成功？</title>
      <link>https://itindex.net/detail/19811-stack-overflow-%E6%88%90%E5%8A%9F</link>
      <description>&lt;p&gt;by &lt;a href="http://www.dbanotes.net"&gt;Fenng&lt;/a&gt;@&lt;a href="http://www.dbanotes.net/"&gt;dbanotes.net&lt;/a&gt; 

&lt;p&gt;最近问答类网站相当的热门。说起问答(Question &amp;amp; Answer)网站，很多人会第一反应想起 &lt;a href="http://www.quora.com/"&gt;Quora&lt;/a&gt; ，实际上，这类网站中 Quora 并非做的最好的(但或许是借了 Facebook 的风头)，最为成功的要数 &lt;a href="http://stackoverflow.com/"&gt;Stack Overflow&lt;/a&gt; 。更为准确的说，是 &lt;a href="http://stackexchange.com/"&gt;Stack Exchange Network&lt;/a&gt;，Stack Overflow 现在只是 Stack Exchange network 的子站点而已。&lt;/p&gt;

&lt;p&gt;Stack Overflow  由 Jeff Atwood 和 Joel Spolsky 这两个非常著名的 Blogger 在 2008 年月创建，7月小范围的进行 Beta 测试，直到 9 月份才开始公开的 Beta 测试。&lt;a href="http://www.joelonsoftware.com/"&gt;Joel Spolsky&lt;/a&gt; 大家应该熟悉，国内已经引进了他的数本大作，影响力最大的应该是《软件随想录》，此外，Joel 还拥有 Fog Creek  这家运转得不错的软件公司；Jeff Atwood 是著名技术技术 Blog &lt;a href="http://www.codinghorror.com/"&gt;Coding Horror&lt;/a&gt; 的作者。有趣的是，这两个人过去还 &lt;a href="http://www.codinghorror.com/blog/2006/09/has-joel-spolsky-jumped-the-shark.html"&gt;打过嘴仗&lt;/a&gt;。Stack Overflow 面向编程人员群体，在其推出一年之后，又推出了面向系统管理员的 &lt;a href="http://www.serverfault.com/"&gt;Server Fault &lt;/a&gt;，2009 年8月正式面向一般计算机用户的 &lt;a href="http://superuser.com/"&gt;Super User&lt;/a&gt;。用这个方式不断进行横向扩展，到现在为止， 旗下已经有 43 个问答站点，甚至包括英语和烹调这样的主题。到2010年年末，Stack Overflow 单个站点在 Alexa 的 &lt;a href="http://www.alexa.com/siteinfo/stackoverflow.com"&gt;Rank 是 160&lt;/a&gt; ，月度独立访客超过 1600 万，每月Page View 超过 7200 万 (&lt;a href="http://www.joelonsoftware.com/items/2011/01/24.html"&gt;refer&lt;/a&gt;)。Stack Exchange Network 在 2010 年 5 月接受了来自 Union Square Ventures 的 600 万美元的投资，在 2010 年扩大并完善了整个团队，从三个全职工程师发展到了 20 多人的队伍，搬进了 7500 平房英尺的豪华装修的办公室（当然每个人都坐着1000美元一把的椅子）。从各项指标来看，同样作为 Startup，Quora 距离 Stack Overflow 的还差得很远，虽然拿到了更多的钱、吸引了更多眼球。&lt;/p&gt;

&lt;p&gt;&lt;img alt="StackOverflow_vs_quora.png" src="http://www.dbanotes.net/Images/StackOverflow_vs_quora.png" width="400" height="220"&gt;&lt;/p&gt;

&lt;p&gt;Stack Overflow 为什么会如此成功？&lt;/p&gt;

&lt;p&gt;你当然可以说是众包(Crowdsourcing)的功劳，但哪一个成功的社区能少了众包的功劳呢？如果实际一点说，不可或缺的因素我想是两个&lt;strong&gt;创始人的技术和社区基因&lt;/strong&gt;。作为两个著名的 Blogger，没有人会质疑 Joel 和 Jeff 在 目标用户(开发人员)需求的精准把握。何况在上线前后，Jeff 通过技术社群又进行了大量的调研和反馈（Joel 倒是似乎第一次做 Web 项目，Fog Creek 主要是软件开发)。此前市场上已经有 &lt;a href="http://www.experts-exchange.com/"&gt;Experts-Exchange&lt;/a&gt; 之类的老牌产品，Stack Overflow 则反其道而行之(Anti-Experts-Exchange)，作为技术人员，你一定遇到过搜索技术问题到了 Experts-Exchange 网站，但是你发现问题下面并没有合适的解答，仅仅有人提问，但是没有有效的激励回答者则是没有价值的。Stack Overflow 参考 Reddit 等网站的用户激励机制，关注问题质量，其做法是通过威望值(Reputation Point) 与徽章(Badge) 建立起信任评价体系，并且做到对参与者的有效激励。我是否说过技术人员都是"好面子"的？没有，那么现在记住这句话吧。&lt;/p&gt;

&lt;p&gt;此外，&lt;strong&gt;秉承独特的设计理念&lt;/strong&gt;。Stack Overflow 绝对没有多余的或是跟风的功能(比如一些不必要的 Social Network 特性)。如果看过 Joel 的书或是订阅他的 Blog，你应该知道他是个相当偏执的家伙，尤其是在产品设计方面，他认为对的事情绝不会妥协，参见他在《软件随想录》中的《别给用户太多选择》以及《用软件搭建社区》等章节。我不知道究竟团队在功能设计上是怎么分工的，但 Joel 一定是毫无质疑的植入自己的设计理念。另外要补充的是，Stack Overflow 重新将"标签"化腐朽为神奇，也是相当值得称道的。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;横向的业务扩展模式&lt;/strong&gt;。与 Quora 综合性的问答不同的是，Stack Exchange network 采取攻其一点，再进攻其余的方式。在面向开发人员的 Stack Overflow 获得验证并且成功之后，向类似话题领域扩展；然后与不同团队进行合作，逐渐引入更多的主题（比如 Ubuntu、面向物理学的话题等等）。最后，如果把几十个话题合起来，恰好是一个庞大的 -- 论坛。Stack Overflow是否重新"改造"了论坛这个古老的交流模式？&lt;/p&gt;

&lt;p&gt;技术？是个关键因素，但不是主要因素。作为 Startup，罕见的使用微软了技术体系进行开发，但也用开源软件。观察 Stack Overflow 所用的技术方案，会觉得是个大杂烩，除了 C# 、ASP.net 、SQL Server 等，也有 HAproxy、Redis 这些解决方案。 据 Joel 说，效率和成本也还不错。扩展模式上则首选 "Scale Up", 总之，就是有点特别。但是，用户体验相当好，这个是最难模仿的一个地方(另一个是运营套路)。&lt;/p&gt;

&lt;p&gt;或许，Stack Overflow 的成功因素不止这些，你认为呢？&lt;/p&gt;

&lt;p&gt;补充，来自霍炬 (@virushuo) 的观点：首先工具本身非要重要。有足够好和专注的工具。其次，种子用户非常重要。So，小范围测试的时候奠定了基础，之后始终按照这个确定的方向积累。&lt;/p&gt;

&lt;p&gt;补充， Joel 的&lt;a href="http://gigaom.com/2011/02/16/stack-overflow-rides-experts-and-order-to-qa-success/"&gt;说法&lt;/a&gt;是"push for high-quality content and its decision to segment the service into well defined verticals"。&lt;/p&gt;

&lt;p&gt;延伸参考：&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;&lt;a href="http://highscalability.com/stack-overflow-architecture"&gt;Stack Overflow Architecture&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href="http://news.ycombinator.com/item?id=706999"&gt;Stack Overflow 架构(评论)&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href="http://blog.serverfault.com/post/stack-exchanges-architecture-in-bullet-points/"&gt;Stack Exchange's Architecture in Bullet Points&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;--EOF--&lt;/p&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;strong&gt;最近文章|Recent Articles&lt;/strong&gt;&lt;/p&gt;
   &lt;ul&gt;
    
      &lt;li&gt;&lt;a href="http://www.dbanotes.net/review/Big_Companys_Human_Resource_Paradox.html"&gt;大公司为什么总是缺人?&lt;/a&gt;&lt;/li&gt;
    
      &lt;li&gt;&lt;a href="http://www.dbanotes.net/startup/What_do_you_want_from_big_company.html"&gt;技术人加入一家公司之后应该得到什么？&lt;/a&gt;&lt;/li&gt;
    
      &lt;li&gt;&lt;a href="http://www.dbanotes.net/web/Web_font.html"&gt;关于页面字体&lt;/a&gt;&lt;/li&gt;
    
      &lt;li&gt;&lt;a href="http://www.dbanotes.net/sitelog/dba_notes_iphone_app.html"&gt;DBA Notes 也有 iPhone App 了 ? &lt;/a&gt;&lt;/li&gt;
    
   &lt;/ul&gt;
&lt;p&gt;本站赞助商：&lt;a href="http://www.douban.com/"&gt;豆瓣网(Douban.com)&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt; 评论数(40)|&lt;a href="http://www.dbanotes.net/startup/stack_overflow_success.html#comments" title="Comment on: 为什么 Stack Overflow 会如此成功？"&gt;添加评论&lt;/a&gt;&lt;/strong&gt; | 最近作者还说了什么? Follow &lt;a href="http://www.twitter.com/fenng"&gt;Fenng@Twitter&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;DBA Notes 理念: 用简约的技术取得最大的收益...&lt;/p&gt;



&lt;div name="ClickComments"&gt;&lt;/div&gt;

&lt;div&gt;
&lt;a href="http://feeds.feedburner.com/~ff/webarch?a=HLqDpqCMGFs:uhu9GzYEOaM:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/webarch?d=yIl2AUoC8zA" border="0"&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/webarch?a=HLqDpqCMGFs:uhu9GzYEOaM:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/webarch?d=qj6IDK7rITs" border="0"&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/webarch?a=HLqDpqCMGFs:uhu9GzYEOaM:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/webarch?i=HLqDpqCMGFs:uhu9GzYEOaM:F7zBnMyn0Lo" border="0"&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/webarch?a=HLqDpqCMGFs:uhu9GzYEOaM:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/webarch?i=HLqDpqCMGFs:uhu9GzYEOaM:V_sGLiPBpWU" border="0"&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/webarch?a=HLqDpqCMGFs:uhu9GzYEOaM:mqyYa2mfVbY"&gt;&lt;img src="http://feeds.feedburner.com/~ff/webarch?d=mqyYa2mfVbY" border="0"&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/webarch?a=HLqDpqCMGFs:uhu9GzYEOaM:I9og5sOYxJI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/webarch?d=I9og5sOYxJI" border="0"&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/webarch?a=HLqDpqCMGFs:uhu9GzYEOaM:bcOpcFrp8Mo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/webarch?d=bcOpcFrp8Mo" border="0"&gt;&lt;/a&gt;
&lt;/div&gt;&lt;div&gt; &lt;a href="https://itindex.net/"  title="IT 资讯"&gt;&lt;img src="https://itindex.net/images/iconWarning.gif" title="IT 资讯" border="0"/&gt; &lt;/a&gt;</description>
      <category>Startup Startup</category>
      <guid isPermaLink="true">https://itindex.net/detail/19811-stack-overflow-%E6%88%90%E5%8A%9F</guid>
      <pubDate>Wed, 16 Feb 2011 15:13:51 CST</pubDate>
    </item>
    <item>
      <title>用户是上帝</title>
      <link>https://itindex.net/detail/17574-%E7%94%A8%E6%88%B7-%E4%B8%8A%E5%B8%9D</link>
      <description>&lt;p&gt;by &lt;a href="http://www.dbanotes.net"&gt;Fenng&lt;/a&gt;@&lt;a href="http://www.dbanotes.net/"&gt;dbanotes.net&lt;/a&gt; 

&lt;p&gt;因为今天在微博上抱怨支付宝在Mac下控件的问题，又想起了「用户是上帝」这句话。恐怕每个人都听过这句话，也有很多人、很多公司将这句话写入公司章程，写在墙上，甚至挂在嘴边，但是很少有人真的把这句话放在心里。&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;p&gt;「仁慈的主啊，请您宽恕我们这些无知的罪人吧」&lt;/p&gt;

&lt;p&gt;--EOF--&lt;br&gt;
&lt;/p&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;strong&gt;最近文章|Recent Articles&lt;/strong&gt;&lt;/p&gt;
   &lt;ul&gt;
    
      &lt;li&gt;&lt;a href="http://www.dbanotes.net/mylife/Driver_and_Killer.html"&gt;学车记&lt;/a&gt;&lt;/li&gt;
    
      &lt;li&gt;&lt;a href="http://www.dbanotes.net/review/On_Top_of_Tides.html"&gt;『浪潮之巅』&lt;/a&gt;&lt;/li&gt;
    
      &lt;li&gt;&lt;a href="http://www.dbanotes.net/review/Big_Companys_Human_Resource_Paradox.html"&gt;大公司为什么总是缺人?&lt;/a&gt;&lt;/li&gt;
    
      &lt;li&gt;&lt;a href="http://www.dbanotes.net/startup/What_do_you_want_from_big_company.html"&gt;技术人加入一家公司之后应该得到什么？&lt;/a&gt;&lt;/li&gt;
    
   &lt;/ul&gt;
&lt;p&gt;本站赞助商：&lt;a href="http://www.douban.com/"&gt;豆瓣网(Douban.com)&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt; 评论数(4)|&lt;a href="http://www.dbanotes.net/startup/Users_is_God.html#comments" title="Comment on: 用户是上帝"&gt;添加评论&lt;/a&gt;&lt;/strong&gt; | 最近作者还说了什么? Follow &lt;a href="http://www.twitter.com/fenng"&gt;Fenng@Twitter&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;DBA Notes 理念: 用简约的技术取得最大的收益...&lt;/p&gt;



&lt;div name="ClickComments"&gt;&lt;/div&gt;

&lt;div&gt;
&lt;a href="http://feeds.feedburner.com/~ff/webarch?a=MtDfgkZ2ZPI:zzNHqkCHnh8:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/webarch?d=yIl2AUoC8zA" border="0"&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/webarch?a=MtDfgkZ2ZPI:zzNHqkCHnh8:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/webarch?d=qj6IDK7rITs" border="0"&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/webarch?a=MtDfgkZ2ZPI:zzNHqkCHnh8:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/webarch?i=MtDfgkZ2ZPI:zzNHqkCHnh8:F7zBnMyn0Lo" border="0"&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/webarch?a=MtDfgkZ2ZPI:zzNHqkCHnh8:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/webarch?i=MtDfgkZ2ZPI:zzNHqkCHnh8:V_sGLiPBpWU" border="0"&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/webarch?a=MtDfgkZ2ZPI:zzNHqkCHnh8:mqyYa2mfVbY"&gt;&lt;img src="http://feeds.feedburner.com/~ff/webarch?d=mqyYa2mfVbY" border="0"&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/webarch?a=MtDfgkZ2ZPI:zzNHqkCHnh8:I9og5sOYxJI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/webarch?d=I9og5sOYxJI" border="0"&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/webarch?a=MtDfgkZ2ZPI:zzNHqkCHnh8:bcOpcFrp8Mo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/webarch?d=bcOpcFrp8Mo" border="0"&gt;&lt;/a&gt;
&lt;/div&gt;&lt;div&gt; &lt;a href="https://itindex.net/"  title="IT 资讯"&gt;&lt;img src="https://itindex.net/images/iconWarning.gif" title="IT 资讯" border="0"/&gt; &lt;/a&gt;</description>
      <category>Startup Startup</category>
      <guid isPermaLink="true">https://itindex.net/detail/17574-%E7%94%A8%E6%88%B7-%E4%B8%8A%E5%B8%9D</guid>
      <pubDate>Sun, 04 Sep 2011 20:20:48 CST</pubDate>
    </item>
    <item>
      <title>创业的噪音，企业家的信念</title>
      <link>https://itindex.net/detail/17504-%E5%88%9B%E4%B8%9A-%E5%99%AA%E9%9F%B3-%E4%BC%81%E4%B8%9A%E5%AE%B6</link>
      <description>&lt;p style="text-align:center"&gt;&lt;a href="http://www.ifanr.com/wp-content/uploads/2011/09/sw.jpg"&gt;&lt;/a&gt;&lt;a rel="attachment wp-att-51569" href="http://www.ifanr.com/51548/020_caterina_fake"&gt;&lt;img title="020_caterina_fake" src="http://www.ifanr.com/wp-content/uploads/2011/09/020_caterina_fake.jpg" alt="" width="600" height="350"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Caterina Fake 是 Flickr 和 Hunch 的联合创始人。上周六她写了一篇题为《Make Things》的博客，内容发人深省，引发创业者、投资人广泛的讨论。到底 Caterina 说了什么？&lt;/p&gt;
&lt;p&gt;实际上，这篇《&lt;a href="http://caterina.net/wp-archives/98"&gt;Make Things&lt;/a&gt;》是对 Caterina 和她的朋友 Anil Dash 讨论之后的感想，而讨论的源头是 Dinner Winer &lt;a href="http://dashes.com/anil/2011/09/the-goal.html"&gt;评论&lt;/a&gt; Michael Arrington 离开 TechCrunch 中的一句话：&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;我试过离开硅谷，尽力写出我梦想的软件，来解决各种问题。我从来没有暴富过，某种程度上，我喜欢钱——但我更喜欢用技术的力量来制作美妙的东西。它是完全个人主义的，没有办法逃避。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Dinner  是老一辈创业者，他曾经是早年大名鼎鼎的软件公司 VisiCrop 的雇员，曾为制定 RSS、Blog、podcasting  等网络标准贡献力量，还曾创立两个公司，Living Videotext、Userland Software。当 Anil Dash  看到这段话后，他觉得“现在已经很难与新一代企业家去探讨这样的价值观，他们中没有什么好的榜样”。&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Caterina 同意 Anil 的看法。她发现最近业界满是各种创业团队的研讨、不乏宏论、到处都是“人格魅力”和各种“噪音”。这些团队都知道所有硅谷的天使，还熟知 Facebook 的内部文化和所作所为，对 Zynga 的收购有多角度的看法，也知道如何打电话给 Andrew Mason，这一切都令她非常惊讶，因为这些创业者的年纪不过 20 多。但是，她却听不到这些团队谈论自己所真正热爱的，所追求的。&lt;/p&gt;
&lt;p&gt;作为 Hunch 和 Flickr 的联合创始人，她贴在桌子上是来自 Freeman Dyson 的一句话：“为他人创造优良的工具，乐在其中”。对她来说，收音机、BBS、个人网站、Usenet、Entropy8、线上杂志、Blog、Excel、线上社区、Amazon、Salon、eBay、O’Reilly 出版物、Google、Friendster、Alamut、NQPAOFU、Metafiter、Blogger、Moveable Type、Google Maps、Flickr、Gmail、Last.fm、iPhone、vimeo、iPad、Kickstarter 等等美妙的创造都是启示，是带领她创新、创造的真正源泉。&lt;/p&gt;
&lt;p&gt;Caterina 暗示，现在的创业者，听到的噪音太多，对财富的渴望多于对创造的喜爱，偏离了企业家精神的轨道。而正如 Tim O’Reilly &lt;a href="http://radar.oreilly.com/2009/01/work-on-stuff-that-matters-fir.html"&gt;指出&lt;/a&gt;的，世界上伟大的公司，都必然有伟大的信念。Google 的信念是“整理全世界的信息”；微软的信念是“每家每户都拥有的电脑”；苹果的信念是“ 为推动人类进步的想法而制造工具，为世界贡献力量”。企业家精神是基于对伟大信念的追求。&lt;/p&gt;
&lt;p&gt;什么是真正的企业家精神，哪些人才是伟大的创业者？&lt;/p&gt;
&lt;p&gt;Caterina Fake 引用了 John Holt 一段话：&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;领导者不是和大家所想的那种被一大群人围着的人。领导者是那些根本不理会外界，只会按自己坚定信念做事的人，他们甚至不关心是否有人跟随。领导品质并不是那种吸引“随从”的魅力，而是那种自信和独立的气质（enable them to do without them）。它至少包括：勇气，韧性，耐心，幽默，世故，聪明，决断。敏锐的现实触觉，和当事情越来越糟糕时，保持冷静和清醒头脑的那种能力。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;是这些有着坚定信念的人，坚持了最核心的东西，而不是那些旁支细节和各种诱惑和“噪音”，从而真正获得成功吗？在《Make Things》下面，Humby 有这样的评论：&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;创业就和独立电影一样。很多人认为是器材成就了好电影，比如好的音乐，灯光，高投入产出比。其实根本这些都没有意义，如果你不能说一个好故事，这些都没有任何意义。真正关键的是故事，你所列出来的这些东西都能讲非常好的故事（即有很大价值）。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;为何我们会这样有共鸣？这篇文章也让我想到乔布斯。&lt;/p&gt;
&lt;p&gt;要的啊，我们喜欢的，是“热爱和信念”，创造一个最好东西的信念，那种真正对他们所做事情的热爱。只有这样的人，才能真正 Make things，让我们的生活在各种各样的美好事物中。&lt;/p&gt;
&lt;p&gt;pic via &lt;a href="http://images.businessweek.com/ss/10/02/0225_angel_investors/21.htm"&gt;Buinessweek&lt;/a&gt;&lt;/p&gt;
	&lt;div style="border:1px solid #ccc;font-size:14px;margin:27px auto;font-family:Arial"&gt;
		&lt;div style="overflow:hidden"&gt; &lt;a href="http://www.ifanr.com/author/yibie/" style="color:#000;text-decoration:none"&gt;&lt;img src="http://www.ifanr.com/wp-content/uploads/avatar/243.jpg" width="50" height="50" style="display:block;float:left;padding:0;margin:15px"&gt;&lt;/a&gt;
			&lt;div style="text-align:left;line-height:23px;margin-left:80px"&gt;
				&lt;div style="padding:10px 10px 10px 0"&gt;
					&lt;div style="margin:0;font-size:14px"&gt;&lt;strong&gt;&lt;a href="http://www.ifanr.com/author/yibie/" style="color:#000;text-decoration:none"&gt;陈一斌&lt;/a&gt;&lt;/strong&gt;&lt;/div&gt;
					&lt;div style="font-size:13px;line-height:20px"&gt;组织过软件汉化，写过时间管理文章，研究过个人知识管理。关注科技的发展，创投资讯、移动互联网。&lt;/div&gt;
				&lt;/div&gt;
			&lt;/div&gt;
		&lt;/div&gt;
		&lt;div style="text-align:right;border-top:1px dotted #ccc;padding:2px 10px;font-size:12px"&gt;
			&lt;div&gt;
								&lt;a href="mailto:gunshotbox@gmail.com" style="margin-right:14px;text-decoration:none"&gt;邮箱&lt;/a&gt;				&lt;a href="http://twitter.com/yibie" style="margin-right:14px;text-decoration:none"&gt;Twitter&lt;/a&gt;				&lt;a href="http://www.facebook.com/yibie" style="margin-right:14px;text-decoration:none"&gt;Facebook&lt;/a&gt;				&lt;a href="http://weibo.com/yibie" style="margin-right:14px;text-decoration:none"&gt;新浪微博&lt;/a&gt;			&lt;/div&gt;
		&lt;/div&gt;
	&lt;/div&gt;
&lt;p&gt;&lt;small&gt;© 陈一斌 for &lt;a href="http://www.ifanr.com"&gt;爱范儿 · Beats of Bits&lt;/a&gt; |
&lt;a href="http://www.ifanr.com/51548"&gt;原文链接&lt;/a&gt; ·
&lt;a href="http://www.ifanr.com/51548#comments"&gt;19 热评&lt;/a&gt; ·
&lt;a href="http://www.weibo.com/ifanr"&gt;新浪微博&lt;/a&gt; ·
&lt;a href="http://www.ifanr.com/feed"&gt;订阅全文&lt;/a&gt; ·
&lt;a href="https://plus.google.com/114725869543399343504/"&gt;Google+&lt;/a&gt; ·
&lt;a href="http://live.ifanr.com/"&gt;#ifanrlive&lt;/a&gt; 
&lt;/small&gt;&lt;/p&gt;

&lt;div style="text-align:right;border-top:1px dotted #ccc"&gt;
&lt;/div&gt; 
&lt;br&gt;
ifanr.com &lt;a href="https://spreadsheets.google.com/spreadsheet/viewform?hl=zh_CN&amp;amp;formkey=dGRCTFNhN0owRGYyQUlua3hzR3RhZnc6MA#gid=0"&gt;寻找好编辑，点击申请&lt;/a&gt;  ，加入我们！&lt;div&gt; &lt;a href="https://itindex.net/"  title="IT 资讯"&gt;&lt;img src="https://itindex.net/images/iconWarning.gif" title="IT 资讯" border="0"/&gt; &lt;/a&gt;</description>
      <category>业界趋势/Trend 前缀分类 观点 caterina Startup</category>
      <guid isPermaLink="true">https://itindex.net/detail/17504-%E5%88%9B%E4%B8%9A-%E5%99%AA%E9%9F%B3-%E4%BC%81%E4%B8%9A%E5%AE%B6</guid>
      <pubDate>Tue, 06 Sep 2011 08:24:07 CST</pubDate>
    </item>
    <item>
      <title>音樂也可以這樣玩：DJ + Social = turntable.fm</title>
      <link>https://itindex.net/detail/20463-dj-social-turntable</link>
      <description>&lt;p&gt;Turntable，原義是唱盤，但今天不是聊唱片，而是美國一個新興的音樂服務。&lt;/p&gt;
&lt;p style="text-align:center"&gt;&lt;img title="turntable.fm" src="http://farm7.static.flickr.com/6207/6139657662_508d87b8ec_o.png" alt="" width="530" height="251"&gt;&lt;/p&gt;
&lt;p&gt;說實在話，跟”聽音樂”有關的服務、 startup ，在美國已多不勝數，最基本的就是 iTunes、Pandora 跟 Spotify。但 Turntable.fm 硬是玩出另外一種新花樣，吸引了不少人的眼球。&lt;/p&gt;
&lt;p&gt;講到聽音樂，大家最直覺想到的應該就是 “打開 ipod/隨身聽，聽你買的歌曲”。是的，這是音樂消費的大宗模式，但卻不是唯一，真實生活裡面消費音樂的方式其實還有很多種：譬如假日跟三五好有去 KTV 歡唱、譬如聽音樂性電台，譬如去 Live house 看歌手演唱，譬如打開 MTV 電視台。&lt;/p&gt;
&lt;p&gt;在 iTunes 已經站穩線上音樂商店角色的現在，許多 startup 已經開始轉往各種延伸性的音樂服務（說真的如果你不是微軟、Amazon 這種大咖，強碰 iTunes 也沒什麼意思） 。而我今天要談的 turntable 鎖定的是：DJ 扮演。&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;抱歉，太久沒寫文章文筆有點乾，寫不出激昂感－－－其實它比純粹的 DJ 扮演有趣得多了，真的。Turntable 很巧妙的在裡面加入了 social 的規則，讓它變項成了一種 DJ 之間的競賽遊戲。而你知我知大家知，只要變成競賽性質－－那可是會讓大家花大把時間投入下去玩的。&lt;/p&gt;
&lt;p style="text-align:center"&gt;&lt;img title="Turntable" src="http://farm7.static.flickr.com/6064/6139106281_47eab9000c.jpg" alt="" width="500" height="397"&gt;&lt;/p&gt;
&lt;p style="text-align:center"&gt;turntable.fm 首頁，選個你喜歡的 DJ Roon 吧&lt;/p&gt;
&lt;p&gt;第一眼看到 turntable 的時候，感覺很像進到&lt;span style="text-decoration:line-through"&gt;戲谷麻將選牌桌&lt;/span&gt;… 啊不是，總之趕快選個你喜歡的音樂類型，進去聽音樂…。&lt;/p&gt;
&lt;p style="text-align:center"&gt;&lt;img title="Tuntable DJ Room" src="http://farm7.static.flickr.com/6072/6139106325_252609f648_o.png" alt="" width="526" height="507"&gt;&lt;/p&gt;
&lt;p style="text-align:center"&gt;Turntable 的 DJ Room&lt;/p&gt;
&lt;p&gt;這就是 turntable 的 DJ Room 主畫面，人物全部都是可愛的卡通圖案（類似南方公園那樣頭大身體小的畫風）。台上是 DJ ，台下是聽眾，是的你也是裡面一員。&lt;/p&gt;
&lt;p&gt;重頭戲來了，這個東西怎麼玩？首先，一個房間最多有 5 個 DJ，每個人都可以報名當DJ，只要先搶到 DJ 空位就行。5 個 DJ 輪流播歌一首歌。你可以先準備好一個 songlist（可以自己上傳 mp3 或從線上音樂庫搜尋） ，輪到你的時候，系統會自動播放 songlist 上的第一首歌，播完就輪下一個人，以此遞推。&lt;/p&gt;
&lt;p&gt;不只有 DJ 功能，turntable.fm 的聽眾也有許多功能可以玩，比如它有線上聊天室；跟 iTunes 連結，讓你聽到喜歡的音樂就可以立刻買；也可以立刻轉推到 FB 或 Twitter。更重要的，聽眾有評分功能：每一首歌大家都能投票，評分結果會直接秀在畫面上，而分數太低的歌會立刻被卡歌、輪下一個人。&lt;/p&gt;
&lt;p&gt;看到這裡大家應該都慢慢有個底這個服務有趣在哪裡了吧？就在於這個輪流播歌跟評分制。&lt;/p&gt;
&lt;p&gt;我記得以前曾有幾次去 KTV ，朋友加了一個規則：每個人按座位順時鐘順序點歌，一次只能點一首歌來唱，而且只有那個人能唱。說也奇怪，本來亂哄哄的 KTV 包廂，突然有了一種好像在參加星光大道的競賽感；因為你必須要等好久才能唱一首歌，因此那一首歌你就會特別認真唱；又因為特別認真唱、特別投入，所以更在意自己的表現、還有跟別人相比如何，是不是歌挑得太芭樂、唱得不夠讓人驚艷….。&lt;/p&gt;
&lt;p&gt;turntable.fm 有趣的地方也在這裡。加了輪流播歌這個規則之後，DJ 之間就會自動互相比較，再加上聽眾可以評分，分數太低還會被卡歌，當然吸引了許多喜愛音樂的樂迷來此相互較境。久而久之，聽眾也因為這些 DJ 而來，每個 room 會慢慢形成一種各自的… cult 。&lt;/p&gt;
&lt;p style="text-align:center"&gt;&lt;img title="turntable.fm room playlist" src="http://farm7.static.flickr.com/6085/6139657688_07519ce9fa_o.png" alt="" width="529" height="418"&gt;&lt;/p&gt;
&lt;p style="text-align:center"&gt;當前的音樂播放列表，可以看到每首歌評分結果。&lt;/p&gt;
&lt;p&gt;這服務目前只有桌機版，但後天 Techcrunch Disrupt 上它應該會正式發表 iphone app。（ &lt;a href="http://techcrunch.com/2011/09/07/turntable-fm-iphone-app/"&gt;TechCrunch 貼了截圖出來&lt;/a&gt;，結果 turntable 的人在底下留言說，你把截圖都爆了出來，這樣我們在 techcrunch disrupt 上要發表什麼～～～）&lt;/p&gt;
&lt;p&gt;我玩了幾回，不得不說 Turntable 的定位很有趣也很聰明。它強調的不是 “個人音樂收藏”，而是”和一群人聽音樂的感覺”。這的確是目前眾多音樂服務裡面缺少的… 是的，social 的元素。不禁想起，Mark Zuckerberg 說過，社交（social）不是一個你要加上去的功能，而是一個你要重新思考你產品設計的基本概念。turntable.fm 的確是個很好的例子。&lt;/p&gt;
&lt;p&gt;對了，應該是因為線上音樂版權的緣故，這東西目前只有美國境內可以用。（啊，我把這個貼最後一行，會不會有很多人想罵我？）也許你需要美國的 vpn 才能夠玩。&lt;/p&gt;
&lt;p&gt;明天會去 techcrunch disrupt，有什麼有趣的再跟大家網路上分享。&lt;br&gt;
&lt;div&gt;
&lt;table border="0" cellpadding="0" cellspacing="0"&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="http://plurktop.mmdays.com/replurkdetail/?link=f625739327e47c97e9aa3b2d8fdf0d27" title="看看其他人討論內容"&gt;&lt;img src="http://plurktop.mmdays.com/images/replurk_1.png" style="border:0"&gt;&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="http://plurk.com/?qulaifier=shares&amp;amp;status=http%3A%2F%2Fmmdays.com%2F2011%2F09%2F12%2Fturntable-fm%2F+%28%E9%9F%B3%E6%A8%82%E4%B9%9F%E5%8F%AF%E4%BB%A5%E9%80%99%E6%A8%A3%E7%8E%A9%EF%BC%9ADJ+%2B+Social+%3D+turntable.fm%29+-+%E8%BD%89%E5%99%97%E6%8E%92%E8%A1%8C%E6%A6%9C+http%3A%2F%2Fplurktop.mmdays.com%2Freplurk" title="推到噗浪"&gt;&lt;img style="border:0" src="http://plurktop.mmdays.com/images/replurk_2.png"&gt;&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p&gt;&lt;br&gt;&lt;a href="http://www.facebook.com/MMDays"&gt;加入MMDays在facebook的粉絲團 隨時閱讀最新文章&lt;/a&gt;&lt;br&gt;&lt;/p&gt;
&lt;img src="http://feeds.feedburner.com/~r/mmdays/~4/tex6MJXhzXs" height="1" width="1"&gt;&lt;/p&gt;&lt;div&gt; &lt;a href="https://itindex.net/"  title="IT 资讯"&gt;&lt;img src="https://itindex.net/images/iconWarning.gif" title="IT 资讯" border="0"/&gt; &lt;/a&gt;</description>
      <category>Mr. Friday 專欄 音樂 Music startup</category>
      <guid isPermaLink="true">https://itindex.net/detail/20463-dj-social-turntable</guid>
      <pubDate>Mon, 12 Sep 2011 15:51:58 CST</pubDate>
    </item>
    <item>
      <title>創業 = 大公司的相反</title>
      <link>https://itindex.net/detail/20950-%E5%85%AC%E5%8F%B8</link>
      <description>&lt;div align="right" style="float:right;padding:0px 0px 5px 10px"&gt;&lt;a name="fb_share"&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div style="float:right"&gt;
			&lt;a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fmrjamie.cc%2F2011%2F09%2F14%2Fnot-a-miniature-company%2F"&gt;&lt;br&gt;
				&lt;img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fmrjamie.cc%2F2011%2F09%2F14%2Fnot-a-miniature-company%2F&amp;amp;source=MrJamieLin&amp;amp;style=normal&amp;amp;service=bit.ly&amp;amp;service_api=jamie%3AR_5cb7b5a5e9ecbd076bd959c2c7cd789f&amp;amp;space=10&amp;amp;b=2" height="61" width="50"&gt;&lt;br&gt;
			&lt;/a&gt;
		&lt;/div&gt;
&lt;p&gt;&lt;img title="Garrett Lisi’s Office" src="http://mrjamie.cc/wp-content/uploads/2011/09/2852506512_6c4992279f_o-550x437.jpg" alt="" width="550" height="437"&gt;&lt;/p&gt;
&lt;p&gt;昨天因為 &lt;a href="http://www.jtv.com.tw/AppStar/"&gt;App Star 節目&lt;/a&gt;的邀請，回到母校台大去演講。會前、會後，有許多對創業有興趣的學弟妹跑來找我聊天，其中不少問題圍繞在如何「開始」，是不是要先寫一本&lt;a href="http://mrjamie.cc/2010/12/16/business-plans/"&gt;厚厚的商業計畫&lt;/a&gt;、&lt;a href="http://mrjamie.cc/2011/06/24/what-do-investors-want/"&gt;募一大筆資金&lt;/a&gt;、建一個「完整」的團隊，還是要先&lt;a href="http://mrjamie.cc/2011/06/09/code-documentation-fluency/"&gt;打下深厚程式基礎&lt;/a&gt;？是不是應該去企業上上班，學學他們的管理方式？&lt;/p&gt;
&lt;p&gt;我突然有一種感覺，原來「創業」這件事情這麼難解釋，是因為我們都活在一個「大公司」的世界，所有人對於「生意」的想像，都是來自這些大傢伙們行為 — 大企業的組織、大企業的架構、大企業的流程、大企業的邏輯…&lt;/p&gt;
&lt;h2&gt;問題是，創業根本不是那樣&lt;/h2&gt;
&lt;p&gt;為什麼？簡單的說，如果大公司的邏輯放諸四海皆準、到處都可以成立，那大家都不用創業了，這世界早就被他們填滿。問題是，每天都有人成功開創新公司、新領域、新產業，為什麼？就是因為大公司的邏輯，在創業世界往往是行不同的。&lt;/p&gt;
&lt;p&gt;或者讓我這麼說：&lt;/p&gt;
&lt;h2&gt;新創公司 ≠ 大公司的縮小版&lt;/h2&gt;
&lt;p&gt;大公司在做的事情，是「執行」已經找到的商業模式，就好像連鎖餐廳的廚師照著食譜做菜一樣。所以架構、流程、嚴密的成本管理是重點，因為在食譜不變的情況之下，這些管理方法才會幫助企業產生出最多的利潤。問題是身為一個新創公司，你根本連消費者想吃什麼都還不知道，哪裡來的食譜。&lt;/p&gt;
&lt;p&gt;所以身為一個 startup，你的重點是如何快速的找到這個食譜，也就是你的「商業模式」。既然如此，你當然不能做大公司在做的事情，你應該做它的相反。人家「充分授權」，你就應該「事必躬親」。人家謀定而後動，你就應該動而後謀變。人家找廣告代理，你就應該自己經營行銷、社群媒體。人家注重 reporting system，你就應該注重效率。人家組織完整，你就應該要力求精簡 — 剛好我的「異父異母」雙胞胎哥哥 Mark Suster 今天也寫一篇&lt;a href="http://www.bothsidesofthetable.com/2011/09/12/why-your-startup-doesnt-need-a-coo/?utm_source=feedburner&amp;amp;utm_medium=feed&amp;amp;utm_campaign=Feed%3A+BothSidesOfTheTable+%28Both+Sides+of+the+Table%29"&gt;為什麼你不需要 COO&lt;/a&gt;。&lt;/p&gt;
&lt;p&gt;記住，創業就是在&lt;a href="http://mrjamie.cc/2010/07/20/make-something-people-want/"&gt;找到那個消費者想吃的東西&lt;/a&gt;，接著再做出你自己的食譜。在那發生之前，你千萬不能像大公司，你甚至不應該遵守任何規矩、任何管理學的教條。Remember, good entrepreneurs &lt;a href="http://mrjamie.cc/2011/05/14/hack-everything/"&gt;hack, everything&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;想跟其他一流「廚師」一起開發食譜、嘗試新菜色？&lt;a href="http://appworks.tw/incubator/"&gt;第四屆 appWorks 育成計畫&lt;/a&gt;，熱烈徵求團隊中。&lt;/p&gt;
&lt;p&gt;&lt;em&gt;(image via &lt;a href="http://www.flickr.com/photos/jurvetson/2852506512/"&gt;jurvetson&lt;/a&gt;, cc license)&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;相關文章&lt;/p&gt;&lt;ul&gt;&lt;li&gt;August 21, 2011 -- &lt;a href="http://mrjamie.cc/2011/08/21/zynga-ipo/" title="IPO 市場，Zynga 來了！"&gt;IPO 市場，Zynga 來了！&lt;/a&gt;&lt;/li&gt;&lt;li&gt;August 17, 2011 -- &lt;a href="http://mrjamie.cc/2011/08/17/coffee-meetings/" title="成功創業的秘訣：每年至少喝 50 次咖啡"&gt;成功創業的秘訣：每年至少喝 50 次咖啡&lt;/a&gt;&lt;/li&gt;&lt;li&gt;July 26, 2011 -- &lt;a href="http://mrjamie.cc/2011/07/26/silicon-valley-culture/" title="矽谷為什麼是矽谷？"&gt;矽谷為什麼是矽谷？&lt;/a&gt;&lt;/li&gt;&lt;li&gt;July 25, 2011 -- &lt;a href="http://mrjamie.cc/2011/07/25/face-the-music/" title="音樂的出路"&gt;音樂的出路&lt;/a&gt;&lt;/li&gt;&lt;li&gt;June 2, 2011 -- &lt;a href="http://mrjamie.cc/2011/06/02/keep-working-on-it/" title="沒有奇蹟，只有累積"&gt;沒有奇蹟，只有累積&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;iframe src="http://feedads.g.doubleclick.net/~ah/f/ccr9i1h6n4hqm90llp6i8d89ts/300/250?ca=1&amp;amp;fh=280#http%3A%2F%2Fmrjamie.cc%2F2011%2F09%2F14%2Fnot-a-miniature-company%2F" width="100%" height="280" frameborder="0" scrolling="no" marginwidth="0" marginheight="0"&gt;&lt;/iframe&gt;&lt;/p&gt;&lt;div&gt;
&lt;a href="http://feeds.feedburner.com/~ff/MrJamie?a=SQzzV4_3YPQ:GJspvpv1KPw:H3Oshjl2qLQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MrJamie?i=SQzzV4_3YPQ:GJspvpv1KPw:H3Oshjl2qLQ" border="0"&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MrJamie?a=SQzzV4_3YPQ:GJspvpv1KPw:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MrJamie?d=qj6IDK7rITs" border="0"&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MrJamie?a=SQzzV4_3YPQ:GJspvpv1KPw:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MrJamie?d=yIl2AUoC8zA" border="0"&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MrJamie?a=SQzzV4_3YPQ:GJspvpv1KPw:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MrJamie?i=SQzzV4_3YPQ:GJspvpv1KPw:V_sGLiPBpWU" border="0"&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MrJamie?a=SQzzV4_3YPQ:GJspvpv1KPw:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MrJamie?i=SQzzV4_3YPQ:GJspvpv1KPw:gIN9vFwOqvQ" border="0"&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MrJamie/~4/SQzzV4_3YPQ" height="1" width="1"&gt;&lt;div&gt; &lt;a href="https://itindex.net/"  title="IT 资讯"&gt;&lt;img src="https://itindex.net/images/iconWarning.gif" title="IT 资讯" border="0"/&gt; &lt;/a&gt;</description>
      <category>創業須知 business model Mark Suster startup</category>
      <guid isPermaLink="true">https://itindex.net/detail/20950-%E5%85%AC%E5%8F%B8</guid>
      <pubDate>Wed, 14 Sep 2011 07:56:48 CST</pubDate>
    </item>
    <item>
      <title>Marc Andreessen：软件正在吞噬整个世界</title>
      <link>https://itindex.net/detail/14737-marc-andreessen-%E8%BD%AF%E4%BB%B6</link>
      <description>&lt;h5&gt;&lt;img style="margin-right:8px" src="http://www.ifanr.com/wp-content/uploads/2011/08/Marc_Andreessen.jpg" border="0" alt="Marc_Andreessen" width="317" height="350" align="left"&gt;&lt;/h5&gt;
&lt;h5&gt;Marc Andreessen ，这位硅谷著名的工程师，投资人和专栏作家，是第一个泛用浏览器 Mosaic 的作者以及 Netscape 公司的创始人，同时也是 Facebook ，eBay 和惠普（HP）的董事会成员。最近，他在华尔街日报上发表了一篇名为《&lt;a href="http://online.wsj.com/article/SB10001424053111903480904576512250915629460.html"&gt;软件正在吞噬整个世界&lt;/a&gt;》的文章，引发了广泛的关注。他以投资者和技术专家的双重身份，解读了科技行业的大环境，并得出结论——“这是个绝佳的机会，我要把资金投进来。”&lt;/h5&gt;
&lt;h3&gt;资本市场并不喜欢技术公司&lt;/h3&gt;
&lt;p&gt;如今的资本市场，并不热衷于技术公司。拿苹果公司来说，上周曾一度超越石油大亨成为美国市值最高的公司，但它的市盈率（P/E）却只有 15.2。即便如此低的市盈率，市场上还是经常有人会有说泡沫来了。&lt;/p&gt;
&lt;p&gt;因为 10 年前的“.com”泡沫实在深入人心，Webvan（曾经估值 12 亿美元）和 Pets.com 都让人失望。所以只要硅谷涌现出新的互联网巨头，例如 Facebook 和 Twitter ，就能听到：“新的泡沫又来了吗？”&lt;/p&gt;
&lt;p&gt;但是 Marc Andreessen 坚信，这批互联网公司有着高增长高收益的特点，绝对不能简单地用泡沫来下判断。他自己投资了 Facebook， Groupon，Skype， Twitter，Zynga 和 Foursquare ，几乎全部是软件和互联网公司。&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;门槛已经很低很低&lt;/h3&gt;
&lt;p&gt;六十年前的计算机革命，四十年前的微处理器技术，二十年前的互联网技术，科技已经改变了生产状态，这可以让软件在更广阔的范围内应用起来。&lt;/p&gt;
&lt;p&gt;“当我在创办 Netscape 时，那是十年前的事儿，也许只有五千万宽带用户，现在已经有了二十亿。而且在未来十年，预计有五十亿用户通过手机访问互联网。我的伙伴  Ben Horowitz 是世界上第一家云计算公司 Loudcloud 的  CEO ，创办时间是 2000 年。那时候每位客户每月要在互联网基础服务上投入 15 万美元。而现在呢？在亚马逊（Amazon）的云服务上，每月投入 1500 美元就足够了。”&lt;/p&gt;
&lt;p&gt;极其低廉的价格，是软件和互联网创业公司得以生存的土壤。我们在 1990 年所期盼的事情，终于在这里实现。&lt;/p&gt;
&lt;h3&gt;世界的现状&lt;/h3&gt;
&lt;p&gt;环顾四周吧：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;世界上最大的图书商是软件公司：Amazon&lt;/li&gt;
&lt;li&gt;世界上最大的音乐商店也是软件公司：iTunes, Spotify 和 Pandora&lt;/li&gt;
&lt;li&gt;世界上增长最快的娱乐公司也是软件公司：Zynga &lt;/li&gt;
&lt;li&gt;世界上最好的制片商也是软件公司：Pixar&lt;/li&gt;
&lt;li&gt;世界上增长最快的电信公司也是软件公司：Skype&lt;/li&gt;
&lt;li&gt;世界上最大的营销平台也是软件公司：Google&lt;/li&gt;
&lt;li&gt;世界上最大的猎头公司也是软件公司：LinkedIn&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;相反，传统的娱乐巨头如 EA 和任天堂已经停止了增长甚至开始萎缩。即便是在物理世界里，软件也大举侵蚀各条产业链。汽车需要软件控制发动机，控制导航仪，控制安全系统，提供娱乐。一名普通汽车爱好者可以用扳手修理汽车的日子早就过去了，更不用说修理未来的混合动力车。&lt;/p&gt;
&lt;h3&gt;面临的问题&lt;/h3&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;Marc Andreessen 对软件和互联网行业的投资仍然会持续，这个机会不容错过。身处在浪潮之中的你会怎么办？&lt;/p&gt;
&lt;p&gt;via &lt;a href="http://online.wsj.com/article/SB10001424053111903480904576512250915629460.html"&gt;wsj&lt;/a&gt;&lt;/p&gt;
	&lt;div style="border:1px solid #ccc;font-size:14px;margin:27px auto;font-family:Arial"&gt;
		&lt;div style="overflow:hidden"&gt; &lt;a href="http://www.ifanr.com/author/zhangh109/" style="color:#000;text-decoration:none"&gt;&lt;img src="http://www.ifanr.com/wp-content/uploads/avatar/314.jpg" width="50" height="50" style="display:block;float:left;padding:0;margin:15px"&gt;&lt;/a&gt;
			&lt;div style="text-align:left;line-height:23px;margin-left:80px"&gt;
				&lt;div style="padding:10px 10px 10px 0"&gt;
					&lt;div style="margin:0;font-size:14px"&gt;&lt;strong&gt;&lt;a href="http://www.ifanr.com/author/zhangh109/" style="color:#000;text-decoration:none"&gt;张恒&lt;/a&gt;&lt;/strong&gt;&lt;/div&gt;
					&lt;div style="font-size:13px;line-height:20px"&gt;先后在华为技术和炬力集成做码农和 PM，并在华强北摆弄过手机档口。致力移动互联网，LBS，垂直社区，新媒体观察，致力于 iSeed 访谈的推动和建设。&lt;/div&gt;
				&lt;/div&gt;
			&lt;/div&gt;
		&lt;/div&gt;
		&lt;div style="text-align:right;border-top:1px dotted #ccc;padding:2px 10px;font-size:12px"&gt;
			&lt;div&gt;
								&lt;a href="mailto:zhangh109@gmail.com" style="margin-right:14px;text-decoration:none"&gt;邮箱&lt;/a&gt;				&lt;a href="http://www.twitter.com/zhangh109" style="margin-right:14px;text-decoration:none"&gt;Twitter&lt;/a&gt;				&lt;a href="http://www.facebook.com/zhangh109" style="margin-right:14px;text-decoration:none"&gt;Facebook&lt;/a&gt;				&lt;a href="http://www.zhihu.com/people/zhangh109" style="margin-right:14px;text-decoration:none"&gt;知乎&lt;/a&gt;			&lt;/div&gt;
		&lt;/div&gt;
	&lt;/div&gt;
&lt;p&gt;&lt;small&gt;© 张恒 for &lt;a href="http://www.ifanr.com"&gt;爱范儿 · Beats of Bits&lt;/a&gt; |
&lt;a href="http://www.ifanr.com/50025"&gt;原文链接&lt;/a&gt; ·
&lt;a href="http://www.ifanr.com/50025#comments"&gt;One comment&lt;/a&gt; ·
&lt;a href="http://www.weibo.com/ifanr"&gt;新浪微博&lt;/a&gt; ·
&lt;a href="http://www.ifanr.com/feed"&gt;订阅全文&lt;/a&gt; ·
&lt;a href="https://plus.google.com/114725869543399343504/"&gt;Google+&lt;/a&gt; ·
&lt;a href="http://live.ifanr.com/"&gt;#ifanrlive&lt;/a&gt; 
&lt;/small&gt;&lt;/p&gt;
&lt;div style="text-align:right;border-top:1px dotted #ccc"&gt;
&lt;/div&gt; 

需要 Google+ 邀请？请[ &lt;a href="http://goo.gl/qNFzT"&gt;点击申请&lt;/a&gt; 
 ] 并填写您的邮件地址，enjoy～&lt;div&gt; &lt;a href="https://itindex.net/"  title="IT 资讯"&gt;&lt;img src="https://itindex.net/images/iconWarning.gif" title="IT 资讯" border="0"/&gt; &lt;/a&gt;</description>
      <category>业界趋势/Trend 前缀分类 观点 software Startup</category>
      <guid isPermaLink="true">https://itindex.net/detail/14737-marc-andreessen-%E8%BD%AF%E4%BB%B6</guid>
      <pubDate>Sun, 21 Aug 2011 16:12:02 CST</pubDate>
    </item>
    <item>
      <title>Booktrack，让阅读走向“有声电影”时代</title>
      <link>https://itindex.net/detail/15351-booktrack-%E9%98%85%E8%AF%BB-%E6%9C%89%E5%A3%B0%E7%94%B5%E5%BD%B1</link>
      <description>&lt;p style="text-align:center"&gt;&lt;a rel="attachment wp-att-50728" href="http://www.ifanr.com/50725/booktrackscreen"&gt;&lt;img title="booktrackscreen" src="http://www.ifanr.com/wp-content/uploads/2011/08/booktrackscreen.png" alt="" width="600" height="368"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;5 月份，一家初创企业受到各个方面的关注，有几个原因：&lt;/p&gt;
&lt;p&gt;在 Facebook 创立早期就进行投资的 Peter Thiel，以及 Facebook 的全球创意总监 Mark ‘Arcy 都站在这家初创企业的背后。 这家初创企业将联合几个产业，从作家出版到音乐到教育。创始人投入到这项技术之中已经超过 2 年。这家企业的产品将成为全新的媒介。&lt;/p&gt;
&lt;p&gt;综合以上几个因素，这是一家创意和产品得到大投资者认可的初创企业。&lt;a href="http://www.booktrack.com/"&gt;Booktrack&lt;/a&gt;，是这家企业的名字，也是产品的名字。在公司官网的“About”页面中，他们第一行简介，便如此介绍：&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;Booktrack 通过为电子书创造同步配乐的方式增强读者的想象力和参与感，在讲述故事的进化上扮演新的角色，成为出版业中的“第一个”。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;因此 Booktrack 想要做的就是给阅读电子书的人一个不同的阅读体验。Paul Cameron，公司的联合创始人和 CEO，说“（如今）难以想象电影没有配乐。而直到今天，还没有一个科技让电子书也拥有配乐和音效。”“成千上万在公交、地铁里面挤着的人们听着和书籍内容不搭调的音乐来阅读——比如阅读一个开朗的故事听着悲伤的歌。现在他们可以享受电影一般的声音体验，从根本上改变他们的阅读体验。”&lt;/p&gt;
&lt;p&gt;说到底，Booktrack，是给“Book（书）”加上“Track（背景音乐）”，而这个背景音乐不是随便一首歌，而是专门为这本书量身定做的配乐和音效，让人在阅读的时候，通过视觉和听觉，有身临其境的感受。然而，Booktrack 通过怎样的方式实现？看视频：&lt;/p&gt;
&lt;p style="text-align:center"&gt;
&lt;iframe src="http://reader.googleusercontent.com/reader/embediframe?src=http://player.youku.com/player.php/sid/XMjk4NTQwMzM2/v.swf&amp;amp;width=480&amp;amp;height=400" width="480" height="400"&gt;&lt;/iframe&gt;
&lt;/p&gt;
&lt;p&gt;Booktrack 的创意的确没人想到过，有人想过给自己的电子书加入动画，加入视频，加入 3D 效果，或者是干脆把书本直接念出来，但没有人想过要给电子书专门配乐，就像制作电影一样，这也许会改变人们对“有声书”的定义，将来说不定会出现一批“配乐书”。&lt;/p&gt;
&lt;p&gt;除了投资者以外，Booktrack 还和行业中的企业成为战略伙伴，比如音乐公司 Sony/ATV。&lt;/p&gt;
&lt;p&gt;现在 Booktrack 已经推出了第一本“配乐书”，&lt;a href="http://itunes.apple.com/us/app/the-power-six-w-booktrack/id455841488?mt=8"&gt;《The Power of Six》&lt;/a&gt;，在 App Store 上架。未来他们将制作更多的“配乐书”，比如《彼得·潘》、《罗密欧与朱丽叶》、《傲慢与偏见》等。目前，每本“配乐书”的定价颇高，分别为 9.99 和 12.99 美元。&lt;/p&gt;
&lt;p&gt;“配乐书”是个不错的创意，希望改进人们普遍的阅读体验，就好像上个世纪五六十年代“无声电影”到“有声电影”的转变一样。但好想法不代表一切，还必须搭配好的产品、极具针对性的营销策略和“乔布斯般的说服力”才能获得市场的认可。&lt;/p&gt;
&lt;p&gt;Via &lt;a href="http://www.businessinsider.com/so-this-is-what-peter-theil-has-been-up-to-2011-5"&gt;BusinessInsider&lt;/a&gt;&lt;br&gt;&lt;/p&gt;
	&lt;div style="border:1px solid #ccc;font-size:14px;margin:27px auto;font-family:Arial"&gt;
		&lt;div style="overflow:hidden"&gt; &lt;a href="http://www.ifanr.com/author/yibie/" style="color:#000;text-decoration:none"&gt;&lt;img src="http://www.ifanr.com/wp-content/uploads/avatar/243.jpg" width="50" height="50" style="display:block;float:left;padding:0;margin:15px"&gt;&lt;/a&gt;
			&lt;div style="text-align:left;line-height:23px;margin-left:80px"&gt;
				&lt;div style="padding:10px 10px 10px 0"&gt;
					&lt;div style="margin:0;font-size:14px"&gt;&lt;strong&gt;&lt;a href="http://www.ifanr.com/author/yibie/" style="color:#000;text-decoration:none"&gt;陈一斌&lt;/a&gt;&lt;/strong&gt;&lt;/div&gt;
					&lt;div style="font-size:13px;line-height:20px"&gt;组织过软件汉化，写过时间管理文章，研究过个人知识管理。关注科技的发展，创投资讯、移动互联网。&lt;/div&gt;
				&lt;/div&gt;
			&lt;/div&gt;
		&lt;/div&gt;
		&lt;div style="text-align:right;border-top:1px dotted #ccc;padding:2px 10px;font-size:12px"&gt;
			&lt;div&gt;
								&lt;a href="mailto:gunshotbox@gmail.com" style="margin-right:14px;text-decoration:none"&gt;邮箱&lt;/a&gt;				&lt;a href="http://twitter.com/yibie" style="margin-right:14px;text-decoration:none"&gt;Twitter&lt;/a&gt;				&lt;a href="http://www.facebook.com/yibie" style="margin-right:14px;text-decoration:none"&gt;Facebook&lt;/a&gt;				&lt;a href="http://weibo.com/yibie" style="margin-right:14px;text-decoration:none"&gt;新浪微博&lt;/a&gt;			&lt;/div&gt;
		&lt;/div&gt;
	&lt;/div&gt;
&lt;p&gt;&lt;small&gt;© 陈一斌 for &lt;a href="http://www.ifanr.com"&gt;爱范儿 · Beats of Bits&lt;/a&gt; |
&lt;a href="http://www.ifanr.com/50725"&gt;原文链接&lt;/a&gt; ·
&lt;a href="http://www.ifanr.com/50725#comments"&gt;6 热评&lt;/a&gt; ·
&lt;a href="http://www.weibo.com/ifanr"&gt;新浪微博&lt;/a&gt; ·
&lt;a href="http://www.ifanr.com/feed"&gt;订阅全文&lt;/a&gt; ·
&lt;a href="https://plus.google.com/114725869543399343504/"&gt;Google+&lt;/a&gt; ·
&lt;a href="http://live.ifanr.com/"&gt;#ifanrlive&lt;/a&gt; 
&lt;/small&gt;&lt;/p&gt;

&lt;div style="text-align:right;border-top:1px dotted #ccc"&gt;
&lt;/div&gt; 

爱范论坛，沉静讨论～ &lt;a href="http://goo.gl/OmGaX"&gt;马上点击访问&lt;/a&gt;  ，enjoy～&lt;div&gt; &lt;a href="https://itindex.net/"  title="IT 资讯"&gt;&lt;img src="https://itindex.net/images/iconWarning.gif" title="IT 资讯" border="0"/&gt; &lt;/a&gt;</description>
      <category>公司 Booktrack Startup</category>
      <guid isPermaLink="true">https://itindex.net/detail/15351-booktrack-%E9%98%85%E8%AF%BB-%E6%9C%89%E5%A3%B0%E7%94%B5%E5%BD%B1</guid>
      <pubDate>Fri, 26 Aug 2011 17:30:22 CST</pubDate>
    </item>
  </channel>
</rss>

