<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="/rss.xsl" type="text/xsl"?>
<rss version="2.0">
  <channel>
    <title>IT瘾观察推荐</title>
    <link>https://itindex.net/tags/观察</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/观察</link>
    </image>
    <item>
      <title>AI代理正掏空白领市场！Citrini Research 发出失控预警：或在2028年引发经济崩溃</title>
      <link>https://itindex.net/detail/63168-ai-%E4%BB%A3%E7%90%86-%E6%8E%8F%E7%A9%BA</link>
      <description>&lt;p&gt;  &lt;img alt="" src="https://images.tmtpost.com/uploads/images/2026/02/1c654d04f3e1ab4743ccb9635c1bf5b6_1771941872.png"&gt;&lt;/img&gt;&lt;/p&gt; &lt;p&gt;全球知名宏观经济与科技风险研究机构Citrini Research日前发布一份重磅研究报告，向全球发出严厉预警。报告核心预警指出：  &lt;strong&gt;随着自主AI代理的无序扩张与深度整合，若缺乏有效引导与适配的经济框架，全球经济或将在2028年陷入系统性失衡&lt;/strong&gt;。&lt;/p&gt; &lt;p&gt;据报道，报告核心观点直指AI产业的关键转型——从生成式AI向自主代理式AI的跨越，这种能够在无人干预下自主执行复杂任务的系统，正制造出当前财政、货币体系难以承载的结构性矛盾。&lt;/p&gt; &lt;p&gt;报告明确指出，  &lt;strong&gt;AI代理带来的效率革命背后，是白领劳动力市场的持续萎缩，以及“幽灵GDP”的不断膨胀，一场隐性的经济风险正在悄然积聚&lt;/strong&gt;。&lt;/p&gt; &lt;p&gt;这份预警并非空穴来风，AI产业迭代的核心趋势，正从“辅助工具”加速转向“自主代理”，其对全球经济的渗透速度与深度，已远超现有体系的适配能力。其风险隐患，正从劳动力市场、经济循环等多个维度逐步显现。&lt;/p&gt; &lt;h2&gt;从辅助工具到经济秩序的挑战者&lt;/h2&gt; &lt;p&gt;要理解Citrini Research预警的核心逻辑，首先需厘清AI代理的本质与发展轨迹。&lt;/p&gt; &lt;p&gt;所谓AI代理，是具备感知、决策、执行能力的自主程序，核心区别于传统生成式AI的“被动响应”，能够在接收高级指令后，自行规划步骤、调用工具、完成复杂任务，无需人类全程干预。&lt;/p&gt; &lt;p&gt;2024至2025年，AI仍停留在“协作辅助”阶段，主要作为人类提升产出效率的工具；但进入2026年初，行业已加速迈入自主代理时代，  &lt;strong&gt;这些智能实体开始独立管理供应链、执行高频金融交易、在极少监督下完成软件编写&lt;/strong&gt;，甚至自主优化任务流程以实现利益最大化。&lt;/p&gt; &lt;p&gt;这种迭代带来的效率提升毋庸置疑，但负面影响同样触目惊心。其中，对劳动力市场的冲击最为直接且剧烈，尤其是高技能白领群体首当其冲。&lt;/p&gt; &lt;p&gt;Citrini Research指出，  &lt;strong&gt;单个AI代理可仅以0.1%的成本，完成一个50人离岸开发团队的工作&lt;/strong&gt;，这种成本优势意味着，软件工程、法律服务、金融分析等传统高技能岗位，正面临被批量替代的风险。&lt;/p&gt; &lt;p&gt;这一趋势对印度等新兴经济体的冲击尤为显著，据报道，作为国民经济基石的IT服务业，正因AI代理的普及遭遇生存危机——印度IT服务出口规模每年超2000亿美元，而AI编码代理的边际成本已接近电价，  &lt;strong&gt;大量外包合同面临被AI替代的风险&lt;/strong&gt;。&lt;/p&gt; &lt;p&gt;  &lt;img alt="" src="https://images.tmtpost.com/uploads/images/2023/tkrss/t435htrn3.png"&gt;&lt;/img&gt;&lt;/p&gt; &lt;p&gt;更值得警惕的是，这种替代并非简单的“机器换人”，而是对传统  &lt;strong&gt;“劳动换收入”&lt;/strong&gt;模式的根本性颠覆。&lt;/p&gt; &lt;p&gt;全球中产阶级的核心收入来源的正是高技能劳动，当AI代理逐步掏空这一市场，  &lt;strong&gt;大量劳动力被迫下沉至更低薪岗位，甚至面临失业&lt;/strong&gt;，将直接导致社会消费能力的萎缩，进而引发经济循环的断裂，这也是Citrini Research预判2028年系统性失衡的核心前提之一。&lt;/p&gt; &lt;h2&gt;幽灵GDP与金融风险&lt;/h2&gt; &lt;p&gt;“幽灵GDP”是Citrini Research报告中提出的核心概念，也是理解AI代理经济风险的关键。&lt;/p&gt; &lt;p&gt;在传统经济模型中，生产率提升会带动工资增长或物价下降，两者均能刺激人类消费，形成“效率提升—收入增长—消费扩张”的良性循环；但在AI代理主导的经济模式中，这一循环被彻底打破。&lt;/p&gt; &lt;p&gt;生产率提升带来的全部收益，  &lt;strong&gt;几乎都被AI基础设施所有者攫取&lt;/strong&gt;，而所谓的“经济活动”，往往只是机器之间的  &lt;strong&gt;算力交换、数据存储与交易，并未真正流入人类消费市场&lt;/strong&gt;。&lt;/p&gt; &lt;p&gt;这种“虚假繁荣”正在快速蔓延，Citrini Research估计，到2027年，全球多达30%的数字交易将是“代理对代理”的交易，完全绕过传统消费经济，形成“机器生产—机器消费”的闭环。&lt;/p&gt; &lt;p&gt;表面上看，GDP数据仍在增长，但  &lt;strong&gt;以人为核心的经济循环却持续放缓，货币流通速度降至冰点&lt;/strong&gt;，这种“账面繁荣、实体萎缩”的悖论，正是系统性失衡的重要前兆。&lt;/p&gt; &lt;p&gt;财政体系也正面临前所未有的压力。&lt;/p&gt; &lt;p&gt;现代税制大多依赖劳动力相关税收，无论是个人所得税还是工资税，其核心税源均来自人类劳动所得。随着白领岗位被AI代理大量替代，税收收入将持续萎缩，而此时再  &lt;strong&gt;推行“AI税”“机器人税”&lt;/strong&gt;等补救措施，大概率已为时过晚。&lt;/p&gt; &lt;p&gt;Citrini Research在报告中借用“  &lt;strong&gt;明斯基时刻&lt;/strong&gt;”框架，精准描述了这一危机：明斯基时刻指资产价值崩溃的临界点，源于经济繁荣期的投机狂热，当市场突然意识到，支撑AI投资泡沫的人类消费经济已不堪重负，便会引发资产估值的集体崩塌，而当前AI领域的投资狂热，正朝着这一临界点逼近。&lt;/p&gt; &lt;p&gt;金融市场的风险已率先显现。尽管  &lt;strong&gt;2026年初标普500在AI产业的推动下创下历史新高，但市场底层波动性已持续上升&lt;/strong&gt;。&lt;/p&gt; &lt;p&gt;Citrini Research指出，运行高频交易算法的自主AI代理，正成为  &lt;strong&gt;金融市场的“隐形炸弹”&lt;/strong&gt;——当前美股市场70%至75%的成交量来自程序化交易，这些AI代理缺乏人类的理性判断，仅遵循预设规则执行操作。&lt;/p&gt; &lt;p&gt;一旦经济出现下行信号，这些代理会为保全资本同步启动抛售程序，引发前所未有的“闪崩”，这种“算法性传染”速度极快，人类根本无法及时遏制，成为推动2028年经济失衡的关键风险点。&lt;/p&gt; &lt;p&gt;展望未来，AI代理的扩张趋势已不可逆转，全球经济正朝着“机器经济”与“人类经济”两极分化的方向演进：&lt;/p&gt; &lt;blockquote&gt;  &lt;p&gt;   &lt;strong&gt;一边是超高效的AI代理持续扩张，推动算力、数据等生产要素的快速流动；&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;   &lt;strong&gt;一边是人类经济在停滞的工资、高失业率中挣扎，消费能力持续萎缩。&lt;/strong&gt;&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;Citrini Research的预警，并非否定AI代理的技术价值，而是警示行业：AI的发展不能脱离经济体系的适配能力，更不能忽视其对人类社会的深层影响。&lt;/p&gt; &lt;p&gt;当前，AI代理的发展已进入“无序扩张”阶段，若不能建立起适配的经济规则、完善的风险防控机制，以及“智能红利”向人类消费者的再分配机制，那么这些旨在提升效率、构建未来的AI代理，反而可能成为拆解当前经济基础的“隐形推手”。&lt;/p&gt; &lt;p&gt;AI的终极价值，应是服务于人类经济与社会发展，而非成为脱离人类需求的“独立体系”——这既是AI产业发展的核心命题，也是避免2028年经济失衡的关键所在。  &lt;strong&gt;（本文首发钛媒体App , 作者｜硅谷Tech news，编辑｜秦聪慧） &lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;  &lt;strong&gt;更多精彩内容，关注钛媒体微信号（ID：taimeiti），或者下载钛媒体App&lt;/strong&gt;&lt;/p&gt; &lt;p&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>AGI 人工智能 产业观察</category>
      <guid isPermaLink="true">https://itindex.net/detail/63168-ai-%E4%BB%A3%E7%90%86-%E6%8E%8F%E7%A9%BA</guid>
      <pubDate>Tue, 24 Feb 2026 22:04:00 CST</pubDate>
    </item>
    <item>
      <title>Kimi K2 Thinking，是月之暗面的“复仇”</title>
      <link>https://itindex.net/detail/63088-kimi-k2-thinking</link>
      <description>&lt;p&gt;Kimi K2 Thinking的发布，对于月之暗面而言，就像是《基督山伯爵》里那座名为蒙特克里斯托的宝藏岛，曾被困在伊夫堡的那个“人”回来了，而且带着一个让世界措手不及的计划。&lt;/p&gt; &lt;p&gt;在年末预计发布的Gemini 3和GPT-5.1，以及DeepSeek的新模型之前，中国大模型厂商月之暗面先拿出了里程碑之作——Kimi K2 Thinking。&lt;/p&gt; &lt;p&gt;该如何形容Kimi K2 Thinking的价值？&lt;/p&gt; &lt;p&gt;或许HuggingFace联合创始人 Thomas Wolf的评价，反映出大多数人的心声，“这是又一个‘DeepSeek’时刻么，开源再次超过闭源。”&lt;/p&gt; &lt;p&gt;彼时，开源的DeepSeek R1超过OpenAI闭源模型旗舰模型o1，如今，Kimi K2 Thinking直接对标GPT-5、Claude 4.5 Sonnet 这样的顶尖闭源模型，尽管还有一些瑕疵，但是不妨碍月之暗面的成功。&lt;/p&gt; &lt;p&gt;如果说此前的大肆投流商业化以及DeepSeek的成功，让不少人对月之暗面心有怀疑，还能不能做最有希望的大模型创业企业，此后Kimi K1.5可以视为月之暗面的推理摸索，K2已经让人感到惊艳，Kimi K2 Thinking则是确定了内外部的信心。&lt;/p&gt; &lt;p&gt;月之暗面证明了自己，仍然有能力站在大模型第一梯队。&lt;/p&gt; &lt;p&gt;11月11日凌晨，月之暗面创始人杨植麟以及合伙人周昕宇、吴育昕，在海外Reddit社区办了一场有问必答线上活动，回答关于Kimi K2 Thinking以及大模型相关的问题。&lt;/p&gt; &lt;p&gt;  &lt;img alt="" src="https://images.tmtpost.com/uploads/images/2025/11/f503f42949d7ce965920b0742c8f9fa9_1762870305.jpeg"&gt;&lt;/img&gt;&lt;/p&gt; &lt;h2&gt;460万美元成本不重要，K3或有新架构特性&lt;/h2&gt; &lt;p&gt;围绕Kimi K2 Thinking的横空出世，外界对其训练方法、工程策略与未来规划一直充满好奇，月之暗面从460万美元训练成本的真伪，聊到为何大胆采用未经验证的Muon优化器，再到长链推理背后的技术突破，这是一场难得的技术直球交流。&lt;/p&gt; &lt;p&gt;Kimi团队首先澄清了“460万美元训练成本”这一热门传闻。团队表示，这并非官方数字。训练成本难以量化，尤其是大模型预训练大量依赖研究、探索和失败实验，本身就难以用单纯的金钱衡量。&lt;/p&gt; &lt;p&gt;而关于外界最惊讶的一点——为什么敢在如此大型模型上使用一个几乎没人测试过的Muon优化器——团队解释得相当直白：Muon虽然未经他人验证，但他们严格遵循了缩放定律的验证流程，确保它在所有小规模测试中表现稳定。在Muon出现之前，已有几十种优化器和架构被淘汰，这让团队对自己的研究体系建立起了信心。&lt;/p&gt; &lt;p&gt;在硬件方面，Kimi确认他们使用的是Infiniband互联的H800 GPU，相比美国厂商的高端算力设备并不占优。但团队强调：“我们充分压榨了每一张卡。”在严格预算下最大化产出，是这支团队的一大风格。&lt;/p&gt; &lt;p&gt;谈到预训练期间的核心指标，团队强调最重要的依然是损失（Loss）、基准测试表现，以及内部稳定性。每一次架构消融都必须在更大规模前通过验证，不允许跳步。如果模型出现任何异常，扩容会被立刻暂停。&lt;/p&gt; &lt;p&gt;关于数据，Kimi用了一个颇具浪漫气质的比喻：“找到合适的数据集，是一门艺术。”团队认为数据之间存在大量交互效应，直觉固然重要，但最终必须以实验为准。&lt;/p&gt; &lt;p&gt;对于外界关心的方向策略，Kimi也给出了明确态度。选择先发布纯文本模型，是因为视频模型的数据准备与训练周期都更长；至于1M上下文窗口，团队已做过尝试，只是目前服务成本过高，未来版本中很可能重新引入。&lt;/p&gt; &lt;p&gt;被许多用户称道的“K2独特散文风格”来自何处？Kimi表示，这既来自预训练阶段打下的知识底蕴，也来自后训练阶段的风味调校，甚至不同的强化学习策略都会导致截然不同的“风味差异”。模型性格，某种程度上也反映了团队本人的喜好。&lt;/p&gt; &lt;p&gt;对于一些用户提出的批评，例如模型在战斗场景或冲突对话中过于“安全”、略显“有毒的积极”，Kimi团队坦言这是长期挑战，但相信有解决方案。他们也正在探索如何在保持安全的前提下降低不必要的审查力度。至于NSFW内容，团队并不排斥可能性，但前提是建立可靠的年龄验证机制并调整服务条款。&lt;/p&gt; &lt;p&gt;关于技术栈，Kimi继续强调他们在长链推理上的独特优势。K2 Thinking目前能稳定完成200到300步的工具调用，团队将其归功于端到端智能体强化学习训练方式。再加上INT4推理带来的速度优势，使得单次长推理成为可能。&lt;/p&gt; &lt;p&gt;至于未来技术升级路线，Kimi透露他们正在研究新架构KDA（Kernel Attention Dual Architecture），并很可能在K3模型中投入使用。此外，团队不排斥进一步开源更多组件，包括安全对齐技术栈，但同时强调需要找到机制确保开源细化不会被滥用。&lt;/p&gt; &lt;h2&gt;Kimi K2 Thinking强在哪？&lt;/h2&gt; &lt;p&gt;按照官方介绍，这是月之暗面目前最强的开源思考模型，拥有1万亿参数规模，采用384个专家混合架构，它以“思考型智能体”为目标打造，能够在使用工具的同时逐步推理，在 Humanity’s Last Exam（HLE）、BrowseComp 等多个基准测试上取得最新的业界领先成绩，在推理、智能体搜索、代码、写作以及通用能力等方面都有大幅提升。&lt;/p&gt; &lt;p&gt;当然，对评分不那么感冒的朋友，更看重实效。Kimi K2 Thinking 能在没有人工干预的情况下，连续执行 200 到 300 次工具调用， 并在数百步的链式推理中保持连贯，解决复杂问题，标志着在测试时扩展（test-time scaling）上的最新进展，包括扩大思考 token 的规模，以及扩大工具调用的链路深度，这是堪比Claude长程规划和自适应推理能力，Kimi K2 Thinking直接把门槛大幅拉低。&lt;/p&gt; &lt;p&gt;Kimi K2 Thinking 在多项衡量推理、编码和智能体能力的基准上刷新记录。它在带工具的 HLE 中达到 44.9%，在 BrowseComp 上达到 60.2%，在 SWE-Bench Verified 上达到 71.3%，展现了作为顶级思考型智能体模型的强泛化能力。&lt;/p&gt; &lt;p&gt;  &lt;img alt="&amp;#22270;&amp;#29255;&amp;#26469;&amp;#33258;AI&amp;#29983;&amp;#25104;" src="https://images.tmtpost.com/uploads/images/2025/11/dd3050355e124c06343d1402ea54baf7_1762870305.png"&gt;&lt;/img&gt;&lt;/p&gt; &lt;p&gt;图片来自AI生成&lt;/p&gt; &lt;p&gt;Kimi K2 Thinking 还能在推理过程中主动调用多种工具，数百步的序列中也能完成规划、推理、执行与自适应调整，处理一些最具挑战性的学术与分析类问题。在某次测试中，它通过 23 次交错进行的推理与工具调用，成功解决了一道博士级数学难题，充分展示了其深度结构化推理能力与长程问题求解能力。&lt;/p&gt; &lt;p&gt;  &lt;img alt="" src="https://images.tmtpost.com/uploads/images/2023/tkrss/4536ug3.png"&gt;&lt;/img&gt;&lt;/p&gt; &lt;p&gt;编码也是体现智能体能力的重点，Kimi K2 Thinking 在编码和软件开发任务上表现出显著提升，尤其在HTML、React 以及组件密集型前端任务上表现突出，能够将想法转化为功能完整、响应灵敏的产品。在代理式编码场景中，它在调用工具的同时进行推理，能够流畅地融入软件代理，精确且灵活地执行复杂的多步骤开发工作流。&lt;/p&gt; &lt;p&gt;低比特量化（Low-bit quantization）是减少大规模推理服务器延迟和 GPU 内存占用的有效方法。然而，思考型模型通常使用过长的解码长度，因此量化往往会导致显著的性能下降。&lt;/p&gt; &lt;p&gt;为解决这一挑战，月之暗面在后训练阶段采用了 量化感知训练（Quantization-Aware Training, QAT），并对 MoE 组件应用 仅权重的 INT4 量化。这使得 K2 Thinking 能够支持原生 INT4 推理，在生成速度上大约提升 2 倍，同时仍保持最先进的性能。&lt;/p&gt; &lt;p&gt;总体来看，月之暗面通过K2 Thinking证明其大模型技术能力，也更清晰地印证了当前大模型发展的一个核心趋势：从追求规模参数转向追求推理效能和实用化能力。&lt;/p&gt; &lt;p&gt;但其长期竞争力，仍需放在与Gemini、GPT等巨头模型的持续迭代和更广泛的市场检验中观察。行业的竞争，已进入一个比拼技术深度、工程效率与生态策略的更为复杂的综合阶段。  &lt;strong&gt;（文 | TechPulse ，作者 | 张帅，编辑 | 盖虹达）&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;  &lt;strong&gt;更多精彩内容，关注钛媒体微信号（ID：taimeiti），或者下载钛媒体App&lt;/strong&gt;&lt;/p&gt; &lt;p&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>产业互联网 AGI 大模型产业观察 焦点</category>
      <guid isPermaLink="true">https://itindex.net/detail/63088-kimi-k2-thinking</guid>
      <pubDate>Tue, 11 Nov 2025 22:11:42 CST</pubDate>
    </item>
    <item>
      <title>App 繁荣时代已经过去，多数开发商面临增长困境</title>
      <link>https://itindex.net/detail/55673-app-%E6%97%B6%E4%BB%A3-%E7%BB%8F%E8%BF%87</link>
      <description>&lt;p&gt;  &lt;img alt="app-roundup" height="619" src="http://images.ifanr.cn/wp-content/uploads/2016/06/app-roundup-1024x619.jpg" width="1024"&gt;&lt;/img&gt;&lt;/p&gt;
 &lt;p&gt;在 App 刚兴起的几年，科技网站热衷于对比各平台的应用数量，如今，这样的新闻基本已经很少了。据   &lt;a href="http://www.recode.net/2016/6/8/11883518/app-boom-over-snapchat-uber"&gt;Recode 网站&lt;/a&gt;引用的一些数据表明，App 的繁荣时代的确已经过去了。&lt;/p&gt;
 &lt;p&gt;独立应用开发者或者发行商对此早已知晓。早在 2014 年 8 月，开发者 Dan Frommer 就在  &lt;a href="http://qz.com/253618/most-smartphone-users-download-zero-apps-per-month/"&gt; QZ 网站&lt;/a&gt;表达过这种想法。当时的市场调研机构 comScore 的数据表明，65.5% 的美国用户每月的 App 下载量是 0。&lt;/p&gt;
 &lt;p&gt;  &lt;img alt="us-smartphone-users" height="515" src="http://images.ifanr.cn/wp-content/uploads/2016/06/us-smartphone-users-1024x515.jpg" width="1024"&gt;&lt;/img&gt;&lt;/p&gt;
 &lt;p&gt;如今，大型的 App 发行商也面临增长缓慢的局面了。上月，排名前 15 位 App 的下载量平均下降了 20%。&lt;/p&gt;
 &lt;p&gt;  &lt;img alt="US App downloads Nomura" height="623" src="http://images.ifanr.cn/wp-content/uploads/2016/06/US-App-downloads-Nomura.jpg" width="863"&gt;&lt;/img&gt;&lt;/p&gt;
 &lt;p&gt;在美国以外， 这些应用的平均增长率是 3%。&lt;/p&gt;
 &lt;p&gt;  &lt;img alt="Global app downloads Nomura" height="623" src="http://images.ifanr.cn/wp-content/uploads/2016/06/Global-app-downloads-Nomura.jpg" width="865"&gt;&lt;/img&gt;&lt;/p&gt;
 &lt;p&gt;值得注意的是，Snapchat 和 Uber 是个例外，这两个应用的增长率仍然惊人。2015 年 5 月，Snapchat 的下载量是 1300 万次，而今年 6 月，下载量已经增长到 2700 万次，同比增长达到 109.9%；Uber 的下载量也从 530 万次增长到 1090 万次，同比增长达到 107.6%。&lt;/p&gt;
 &lt;p&gt;总之，在已经饱和的 App 市场，要取得突破已经非常困难了。不过，Recode 网站认为，下载量并不能完全反映 App 发行商的实际状况。以 Facebook 为例，虽然它的 App 下载量已经很难增长，但盈利却非常好，同时，目前的状况其实有利于 Facebook 的 App 安装广告，因为这种广告面向的是急于寻求用户的 App 发行商。&lt;/p&gt;
 &lt;p&gt;题图来自   &lt;a href="http://www.tapsmart.com/games/weekly-apps-roundup-may-21/"&gt;tapsmart&lt;/a&gt;&lt;/p&gt;
   &lt;div&gt;
      &lt;div&gt;   &lt;a href="http://www.ifanr.com/author/merlin" target="_blank"&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;The wind is rising,we must try to live.&lt;/div&gt;
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
      &lt;div&gt;
         &lt;div&gt;
                                    &lt;a href="mailto:jim@ifanr.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://weibo.com/u/1651028033" target="_blank"&gt;新浪微博&lt;/a&gt;

          
                                      &lt;a href="https://plus.google.com/112637572621202585213" target="_blank"&gt;Google+&lt;/a&gt;

          
                                      &lt;a href="http://www.ifanr.com/5" target="_blank"&gt;4&lt;/a&gt;

          
                &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
   &lt;p&gt;#欢迎关注爱范儿认证微信公众号：AppSolution（微信号：appsolution），发现新酷精华应用。&lt;/p&gt; &lt;img border="0" src="http://ifanr.feedsportal.com/c/33866/f/642084/s/667855/mf.gif"&gt;&lt;/img&gt; &lt;br /&gt; &lt;br /&gt; &lt;a href="http://da.feedsportal.com/r/144540365956/u/362/f/642084/c/33866/s/667855/a2.htm"&gt;  &lt;img border="0" src="http://da.feedsportal.com/r/144540365956/u/362/f/642084/c/33866/s/667855/a2.img"&gt;&lt;/img&gt;&lt;/a&gt; &lt;img border="0" height="1" src="http://pi.feedsportal.com/r/144540365956/u/362/f/642084/c/33866/s/667855/a2t.img" width="1"&gt;&lt;/img&gt; &lt;p&gt;
  &lt;a href="http://www.ifanr.com"&gt;爱范儿&lt;/a&gt; |
  &lt;a href="http://www.ifanr.com/667855"&gt;原文链接&lt;/a&gt; ·
  &lt;a href="http://www.ifanr.com/667855#comments"&gt;查看评论&lt;/a&gt; ·
  &lt;a href="http://www.weibo.com/ifanr"&gt;新浪微博&lt;/a&gt;
&lt;/p&gt;

 &lt;br /&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>观察 app 下载量 增长率 饱和</category>
      <guid isPermaLink="true">https://itindex.net/detail/55673-app-%E6%97%B6%E4%BB%A3-%E7%BB%8F%E8%BF%87</guid>
      <pubDate>Fri, 10 Jun 2016 21:09:36 CST</pubDate>
    </item>
    <item>
      <title>如何解决 Web 越来越繁杂的问题</title>
      <link>https://itindex.net/detail/54394-web-%E9%97%AE%E9%A2%98</link>
      <description>&lt;p&gt;有一天我看到了 Kyle Simpson 写的推文：&lt;/p&gt;
 &lt;p&gt;“作为一个用户，是否有一个词语（除了”特权“之外）来表达越来越恨网页，但是作为一个开发人员，却越来越喜欢呢？ 替一个朋友问”&lt;/p&gt;
 &lt;p&gt;— getify (@getify)  2015年6月7日&lt;/p&gt;
 &lt;p&gt;我想不出一个词语给 Kyle， 但是我完全同意这种感受，在很大的社区网站也看到过这样的抱怨。开发人员需要在模块，应用安装提示，移动网页错误，广告，移动链接跳转，EU cookie 提示等等组件上创建网页，实际上他们也是越来越痛恨网页。&lt;/p&gt;
 &lt;p&gt;在这篇文章中，我将讨论痛恨的原因，以及现在网页面临的最大问题–”复杂“：这个词我统称那些在一般的网页上包含的，但是无益于用户正在做的事情–如读一篇文章，购买一个产品等等的东西。我也会讨论这个复杂性的问题很大程度上是由网站所面临的更大的钱的问题所引起的。&lt;/p&gt;
 &lt;p&gt;为了把这些都放在一个上下文里面，让我们来看看一个例子。&lt;/p&gt;
 &lt;h3&gt;复杂性实例&lt;/h3&gt;
 &lt;p&gt;前几天我在我的Twitter上看到这篇关于精神病的文章. 我用iOS上的Chrome打开这篇文章，我看到了：&lt;/p&gt;
 &lt;p&gt;  &lt;img alt="cnn-web" height="533" src="http://www.techug.com/wordpress/wp-content/uploads/2015/09/21144537_DOuZ.jpg?e3f00d" width="300"&gt;&lt;/img&gt;&lt;/p&gt;
 &lt;p&gt;这篇文章用来说明网页的复杂性再合适不过。我想要做的无非是像其他人想的那样阅读这篇关于精神病的文章，但是在我开始阅读之前,我不得不过滤掉许多我不关心的垃圾–像社交的按钮，天气，以及一个使用期限方式的提示，所有这些都伴随着这篇只有2000字左右的文章出现。我甚至不能在我那超大的iPhone 6+的手机上看到文章的开头。&lt;/p&gt;
 &lt;p&gt;加载这篇文章花费了200+HTTP请求，大约2M的数据量。使用我的WIFI的情况下，这篇文章花了3秒来加载. 网页测试显示使用普通的移动网络，网页加载需要花费13秒。&lt;/p&gt;
 &lt;p&gt;我不是想专挑CNN的毛病，说出来挺伤心的，这篇文章俨然是普遍网页访问体验的一个代表。根据http archive机构统计，普通的网页在5月份超过2M大小，达到了2.08M。找到一个更坏的例子并不难&lt;/p&gt;
 &lt;h3&gt;为什么越来越繁杂?&lt;/h3&gt;
 &lt;p&gt;我不是最先谈及web繁杂问题的，Peter-Paul Koch最近还提及这个问题：&lt;/p&gt;
 &lt;blockquote&gt;  &lt;p&gt;“web版本文章都会有一个额外繁杂的层加在上面，这是导致web页面加载慢的直接原因。速度的原因并不是web固有的。这就是所谓现代web开发的结果，我们最终会战胜这个繁杂的问题并彻底“干掉”它。（指web繁杂问题）”&lt;/p&gt;&lt;/blockquote&gt;
 &lt;p&gt;之后他提出的问题我想研究一下:&lt;/p&gt;
 &lt;blockquote&gt;  &lt;p&gt;“这个有趣的问题是：为什么所有的东西越来越繁杂？”&lt;/p&gt;&lt;/blockquote&gt;
 &lt;p&gt;PPK继续深入探讨了这个由各种在线工具，特殊的库，框架的使用激增导致的web繁杂问题。我非常同意这个观点，一些不必要的web页面上工具的使用会直接影响页面大小和其加载速度，但是我认为是更加系统化的问题而导致的web繁杂问题。&lt;/p&gt;
 &lt;p&gt;让我们来更深入地看看这篇 CNN 文章。这个页面面向了 25 个不同的域名发起了 200 多个 HTTP 请求。&lt;/p&gt;
 &lt;p&gt;  &lt;img alt="web-inspector" height="407" src="http://www.techug.com/wordpress/wp-content/uploads/2015/09/21144539_Luop.jpg?e3f00d" width="800"&gt;&lt;/img&gt;&lt;/p&gt;
 &lt;p&gt;是的，你没看错。二~十~五~哦。它们之中的几个明显跟广告有关  (例如. ad.doubleclick.net, pixel.moatads.com)， 一些提供了分析功能，还有许多的名字被故意混淆了以迷惑我们。&lt;/p&gt;
 &lt;p&gt;对我而言，你可以用一种不同的方式提出“所有这些多余的东西都是为了什么?”: 既然最少化 HTTP请求是众所周知的 web 性能最佳实践之一，为什么许多移动 web 站点会公然违反这一规则呢?&lt;/p&gt;
 &lt;p&gt;你可能会说部分原因在于工具，因为使用插入式广告，社交媒体窗口，以及诸如此类的东西，会产生相比手工制造的内容更多的 HTTP 请求。不过我相信答案必然跟钱有关。&lt;/p&gt;
 &lt;h3&gt;跟着钱走&lt;/h3&gt;
 &lt;p&gt;为什么 CNN 要展示广告？为了挣钱。为什么 CNN 要引入跟踪服务? 为了更多地了解读者，以展示更多地有针对性的广告，从而挣更多的钱。为什么 CNN 要使用社交媒体按钮？为了让人们分享这篇文章，以获取更多的页面访问，从而让更多人看到广告，挣更多的钱。为什么 CNN 要引入一个天气窗口？好吧，我并不知道那是为啥，他们应该把这个小窗口去掉的。&lt;/p&gt;
 &lt;p&gt;同样，我的意思并不是拿出 CNN 来作为”坏榜样“，而是拿他们来展示一个对于 web 上的内容而言有些悲观的模型的特殊例子。&lt;/p&gt;
 &lt;p&gt;我朋友 Brian Rinaldi 最近写道 web 的内容模型已经被破坏了， 这位朋友声称作为 web 用户的我们彻彻底底地贬低了内容和作者们。他声称因为我们拒绝为内容付费，产出内容的人必须采取日益激进的战术来让他们产出的内容挣到钱 — 某些别的目的才使得内容有可能产生出来。&lt;/p&gt;
 &lt;p&gt;（很大程度上）付费体系已经失败了，这样我们就会看到一大堆什么玩意儿都有的广告，跟踪脚本，弹出框，诸如此类，所有这些都是在一起为杂乱背后真正的内容提供足够的回报。&lt;/p&gt;
 &lt;h3&gt;在做什么?&lt;/h3&gt;
 &lt;p&gt;很多人在和这个问题（繁杂）战斗，但有趣的是成果大多数来自浏览器之外。&lt;/p&gt;
 &lt;p&gt;Flipboard 大概是解决网页繁杂问题的第一个有大成果的尝试。Flipboard 的原理是从网页上获取得内容，生成一个摘要，然后关闭原文章的连接。在你不需要加载全部文章时，这是个相当不错的浏览体验，而所有繁杂的问题也是来自这里，所以我们只需要获取一个这篇文章的快照。如图所示，这是一篇Flipboard 的 IOS 应用中的文章“Fanway Park（芬威公园）”：&lt;/p&gt;
 &lt;p&gt;  &lt;img alt="flipboard-article-example" height="533" src="http://www.techug.com/wordpress/wp-content/uploads/2015/09/21144541_GpeC.jpg?e3f00d" width="300"&gt;&lt;/img&gt;&lt;/p&gt;
 &lt;p&gt;但更有趣的是 Flipboard 不只有内容预览这个功能，它现在已经和内容供应商合作，我们可以直接在 Flipboard 应用中使用这些文章——前面所说的全浏览器（browser entirely）。示例是一些来自Flipboard 的 ISO 应用中的关于精神病患者的文章。&lt;/p&gt;
 &lt;p&gt;  &lt;img alt="cnn-flipboard" height="533" src="http://www.techug.com/wordpress/wp-content/uploads/2015/09/21144544_ncSU.jpg?e3f00d" width="300"&gt;&lt;/img&gt;&lt;/p&gt;
 &lt;p&gt;尽管不像浏览器版本，但我还是在这里看到了同样的内容，Flipboard 版本的这篇文章明显要复杂。它不像浏览器版本那样，几乎是瞬间加载，为什么在网络上能那么快速显示的原因呢：&lt;/p&gt;
 &lt;p&gt;  &lt;img alt="flipboard-ios-network" height="458" src="http://www.techug.com/wordpress/wp-content/uploads/2015/09/21144546_K88f.jpg?e3f00d" width="800"&gt;&lt;/img&gt;&lt;/p&gt;
 &lt;p&gt;浏览器的版本是从 25 个域名使用了 200+ 的 HTTP 请求， 而 Flipboard 版本只从 2 个域名那儿使用 4 个 HTTP 请求：cdn.flipboard.com 和 ad.flipboard.com。&lt;/p&gt;
 &lt;p&gt;作为一家公司，Flipboard 是成功的，在 2014 年有一千万以上的活跃读者，还有接近百万美元的估值，这清晰地说明阅读移动设备上的文本已经超过在浏览器上阅读文本。Flipboard 的成功是引人注目的，并且它的商业模式已经或多或少被其他公司所复制。&lt;/p&gt;
 &lt;h3&gt;Flipboard 的竞争对手&lt;/h3&gt;
 &lt;p&gt;今年五月份Facebook上线了Instant Articles服务，他们是这样介绍它他们的服务的：&lt;/p&gt;
 &lt;blockquote&gt;  &lt;p&gt;“越来越多的人开始在手机上看新闻了，我们希望Facebook对此有更快更丰富的体验。人们在Facebook上共享大量的文章，尤其是在Facebook的手机应用上。到目前为止，这些文章平均需要8秒的时间来加载，远远慢于Facebook上单一内容类型文章的加载速度。Instant Articles的阅读体验比阅读普通手机web上的文章体验好上10倍。”&lt;/p&gt;&lt;/blockquote&gt;
 &lt;p&gt;是不是听起来特别像Flipboard ?如果你是一个出版商并且你打算让Facebook来管理你发布的内容。做为回报，会让你的读者有更棒更快的阅读体验，同时还可能分享到一些分类广告的收益。&lt;/p&gt;
 &lt;p&gt;让我们看一看在实际操作中是什么样的。BuzzFeed 参加了 Instant Article 计划，他们最近发表了一篇名为13 steps to instantly improve your day的文章。 就跟你心里想的一样，移动 web 版本的文章也加载了一大堆垃圾，还有 iOS App 插件、社交按钮、广告、还有别的。&lt;/p&gt;
 &lt;p&gt;  &lt;img alt="buzzfeed-web" height="533" src="http://www.techug.com/wordpress/wp-content/uploads/2015/09/21144551_cfq9.jpg?e3f00d" width="300"&gt;&lt;/img&gt;&lt;/p&gt;
 &lt;p&gt;就像我们早先看到的 CNN 文章一样，BuzzFeed 的网站也加载了一大堆广告脚本、跟踪脚本和蕾丝的东西。最终整个页面发出了200多个 HTTP 请求，下载了差不多 4MB 的数据：&lt;/p&gt;
 &lt;p&gt;  &lt;img alt="buzzfeed-web-inspector" height="378" src="http://www.techug.com/wordpress/wp-content/uploads/2015/09/21144554_vPu7.jpg?e3f00d" width="800"&gt;&lt;/img&gt;&lt;/p&gt;
 &lt;p&gt;让我们与 Facebook 的 Instant Articles 做一个比较：&lt;/p&gt;
 &lt;p&gt;  &lt;img alt="instant-articles-example" height="533" src="http://www.techug.com/wordpress/wp-content/uploads/2015/09/21144559_2X4y.jpg?e3f00d" width="300"&gt;&lt;/img&gt;&lt;/p&gt;
 &lt;p&gt;与之前的 Flipboard 例子比起来，尽管内容很相似，但这个 BuzzFeed 文章还是同样的繁杂异常。它同样加载得很快，而且在我的测试下，它仅仅发出了5个网络请求（Facebook 同样应用了几个预加载算法，并且在你点击之前就加载完毕了，这样确实让你感觉是『马上』完成的）&lt;/p&gt;
 &lt;p&gt;  &lt;img alt="facebook-network" height="412" src="http://www.techug.com/wordpress/wp-content/uploads/2015/09/21144600_d4vd.jpg?e3f00d" width="800"&gt;&lt;/img&gt;&lt;/p&gt;
 &lt;p&gt;现在引发了许多关于这是不是出版商的良好商业模式的争论，这个争论确实是目前大家讨论的焦点。不过确实很难否认 Flipboard 和 Instant Articles 在移动设备上提供了非常优雅的阅读体验，这也正是之前移动浏览器急于解决的问题。&lt;/p&gt;
 &lt;p&gt;Flipboard 和 Facebook 并不是这场游戏的唯一玩家，科技界的最大玩家，也就是 Apple 公司，已经宣布进入这一领域——新发布的 Apple News 使用了 在本质上和 Flipboard 和 Instant Article 一样的商业模型。&lt;/p&gt;
 &lt;h3&gt;这是 Web 的终点吗？&lt;/h3&gt;
 &lt;p&gt;不。重要的是一定要记住，不管 Flipboard，Facebook 和 Apple 提供了多么好的用户体验，它们依然是独立公司提供的私有服务。这些公司可以控制内容如何被消费、也可以控制用户去访问内容。Apple 公司完全可以做到控制苹果设备访问什么内容。&lt;/p&gt;
 &lt;p&gt;再加上这些公司都要求与内容提供商的某种程度上的合作关系，也就是说这些 App 只提供了它们生态系统上的内容，也就是说这些 App 的内容只覆盖了整个 Web 内容的一小部分。由于在 Web 上出版和分享非常容易，这给 Web 提供了战胜这些 App 的巨大优势。&lt;/p&gt;
 &lt;p&gt;话虽如此，但相比 Flipboard 和 Facebook 的 Instant Articles 在其本地 APP 中提供的服务，很难说浏览器阅读体验更好。John Gruber 在一篇回应 Facebook 的 Instant Article 的文章中的论述也许是说得最好的：&lt;/p&gt;
 &lt;blockquote&gt;  &lt;p&gt;
我被对速度的强调吸引了。不仅仅是因为本地的移动代码在 APP 开发中获胜，更因为有了像Instant Articles 一样的软件，本地正在将以浏览器为基础的网络变得像一个遗迹，即使这个网络只是为了发布文章。如果我是对的，我在 Daring Fireball 中写的绝大多数文本（overwhelmingly-text）都可能会引发一个问题。Daring Fireball 的页面加载速度快，但这些页面我并不需要经常去连接它们。我担心这会继承 web 速度慢的问题，对过量产生网页的这种考虑不周的设计趋势，将会开始对 DF 的流量造成危害。&lt;/p&gt;&lt;/blockquote&gt;
 &lt;h3&gt;需要采取什么措施吗？&lt;/h3&gt;
 &lt;p&gt;一些发展应该会对当前 Web 的发展现状有所帮助。&lt;/p&gt;
 &lt;h3&gt;HTTP/2&lt;/h3&gt;
 &lt;p&gt;最近出版的 HTTP/2 规范提供以基本上减少通过单一的 TCP 连接，供应压缩的 HTTP 标头，和资源加载并联在网络上的延迟。一旦在浏览器中实现，HTTP/2 显着降低依赖于大量的 HTTP 请求，如本文中所示的那些部位的加载时间。&lt;/p&gt;
 &lt;p&gt;最近出版的 HTTP/2 规范提供了一个从实质上减少网络服务延迟的方法 – 压缩 HTTP 头，并使用单个 TCP 连接实现并行加载资源。一旦 HTTP/2 在浏览器中得以实现，它将会显著降低那些依赖大量 HTTP 请求的网站的加载次数，例如本文前面部分已经展示的一些情况。&lt;/p&gt;
 &lt;h3&gt;移动友好&lt;/h3&gt;
 &lt;p&gt;去年，谷歌宣布他们将会在搜索结果中惩罚那些移动不友好的站点，并会在那些满足他们搜索指南中要求的站点旁边添加“移动友好”字样。&lt;/p&gt;
 &lt;p&gt;  &lt;img alt="mobile-friendly" height="533" src="http://www.techug.com/wordpress/wp-content/uploads/2015/09/21144603_YZvY.jpg?e3f00d" width="300"&gt;&lt;/img&gt;&lt;/p&gt;
 &lt;p&gt;这是一个小调整，却可以刺激那些站点内容的开发者和发布者们（这些人的工作与搜索引擎的流量的关联性非常高），将他们厌恶的内容控制在最低限度。早期的研究表明，这个做法看上去对搜索结果有着显著的影响。&lt;/p&gt;
 &lt;h3&gt;代理浏览器&lt;/h3&gt;
 &lt;p&gt;Opera Mini 长久以来一直成功地饰演着代理浏览器的角色，它通过在自己的服务器上缓存资源来减少要发送给每一台单个设备的数据量。安卓下的 Chrome 和 iOS 现在包含了一个相似的选项，尽管它们默认情况下都是关闭的，在用户需要提升自己网络速度时仍这个选项不失为一个选择。&lt;/p&gt;
 &lt;h3&gt;广告拦截器&lt;/h3&gt;
 &lt;p&gt;桌面设备上，许多广告拦截器是攻击网络的主要工具，但是他们还没有进入用户的移动手机，很大程度上市因为手机系统供应商很积极的预防它们。&lt;/p&gt;
 &lt;p&gt;Google 有一个很好的理由去阻止广告拦截器，因为他们80%-90%的收入来自在线广告。新闻说 Google早在 2013 年之前广告拦截器从 Google play 中删除了。&lt;/p&gt;
 &lt;p&gt;从历史上看，苹果也阻止过广告拦截器，但是即将改变。苹果最近发表新闻，他们将要在 IOS 9 上的Safari 浏览器中开放广告拦截器 API。不管这个是否是对 Google 的攻击，还是一种对 Safari 用户的友好姿态，最终都是减少 IOS 用户繁琐的去选择广告拦截器应用。&lt;/p&gt;
 &lt;h2&gt;将来&lt;/h2&gt;
 &lt;p&gt;尽管有种种的缺陷，我仍然认为在浏览器领域是成熟的创新。为什么文章的出版商真正的盈利是植入庞大的广告而给每个人产生了很糟糕的体验？&lt;/p&gt;
 &lt;p&gt;我没有答案，比我更聪明的人花费了很多年的时间去解决这个问题。不过，似乎这是最好的，我们可以做的疯狂事情。我仍然认为在开放的网络中，它不会很快的遍布任何地方，但是我们真的需要开始思考怎么去清理这个烂摊子。&lt;/p&gt;
 &lt;p&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>业界观察</category>
      <guid isPermaLink="true">https://itindex.net/detail/54394-web-%E9%97%AE%E9%A2%98</guid>
      <pubDate>Tue, 22 Sep 2015 11:30:28 CST</pubDate>
    </item>
    <item>
      <title>Netflix的网站优化经验</title>
      <link>https://itindex.net/detail/54339-netflix-%E7%BD%91%E7%AB%99-%E4%BC%98%E5%8C%96</link>
      <description>&lt;p&gt;  &lt;strong&gt;服务端与客户端渲染&lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt;Netflix团队首先要做的一件事是改进他们的整体前端架构。改版前的netflix.com网站对于服务端生成html标记与客户端的增强这两个过程进行了严格的分离，采用这一设计的主要原因在于前后端所使用的编程语言不同。服务端主要使用Java的技术栈以生成基本的html页面，而在浏览器端的工作则主要是通过jQuery等JavaScript库的使用为服务端生成的html添加一些客户端的行为。&lt;/p&gt;
 &lt;p&gt;这种分离式前端架构可以说是教科书一般的标准架构，但Netflix团队认为这种方式存在着一些不足之处，因为用户每次都需要等待服务端生成完整的html页面结构之后，才能够看到页面显示在浏览器中。这其中有很大一部分内容是用户很少会关注的，但仍然不得不为了加载这些内容延迟而延长页面的渲染时间。&lt;/p&gt;
 &lt;p&gt;  &lt;img alt="" height="400" src="http://www.techug.com/wordpress/wp-content/uploads/2015/09/Screen-Shot-2015-08-04-at-7.24.34-PM.png?e3f00d" width="329"&gt;&lt;/img&gt;&lt;/p&gt;
 &lt;p&gt;因此，UI工程团队专门针对这一点进行了全新的设计。改进后的服务端所生成的html只包含页面中的一小部分内容，使客户端的视图能够尽快地显示在用户眼前。为了了解用户对此改动的认可度，UI团队将其设计为一种可配置的架构，可以非常方便地调整服务端所生成的html应当包含多少个视图。这种做法的好处很明显：首先是服务端生成的数据减少了，因此处理时间也相应地减少了。其次由于http的响应负载也减少了，DOM的渲染时间也因此加快了速度。当页面完成渲染后，客户端JavaScript可以按需加载用户所感兴趣的其余视图。&lt;/p&gt;
 &lt;p&gt;UI团体对此总结道，由于服务端与客户端渲染方式得到了更大的灵活性，为他们在这两种方式之间如何取得平衡提供了更多的选择。这一改动最终不仅使页面启动速度加快，同时也保证了平滑的视图转换过程。&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;通用JavaScript&lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt;UI团队的另一个目标是实现服务端与客户端代码的通用化，这就迫使他们重新思考整个渲染管道的设计。之前所采用的那种分离式服务端生成与客户端增强的做法已经难以满足他们的需求了，主要问题有以下三点：&lt;/p&gt;
 &lt;ul&gt;
  &lt;li&gt;在两种编程语言之间来回切换是一种负担&lt;/li&gt;
  &lt;li&gt;如果要对html进行改进，那么对于服务端的生成与客户端的增强都有着很强的依赖性&lt;/li&gt;
  &lt;li&gt;团队更希望通过同一种API生成html标记&lt;/li&gt;
&lt;/ul&gt;
 &lt;p&gt;UI团队最终选择了以Node.js与React.js实现一种通用JavaScript的前端架构，这使他们能够实现在服务端进行渲染，等基本的html与React.js组件完成初始化之后，再由客户端完成其它部分的渲染。因此，无论渲染过程是在哪里发生的，应用程序都能够得到相同的输出结果，服务端与客户端的代码也没有了严格的区分，它们全部是按照通用JavaScript的方式设计的。也正是这种共通的渲染逻辑，让UI团队意识到只在服务端进行最小化的html渲染，由客户端完成其余部分加载这种方式的可行性。&lt;/p&gt;
 &lt;p&gt;  &lt;img alt="" height="209" src="http://www.techug.com/wordpress/wp-content/uploads/2015/09/Screen-Shot-2015-08-04-at-6.55.35-PM.png?e3f00d" width="400"&gt;&lt;/img&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;减少JavaScript负载&lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt;具有丰富交互性体验的网站通常需要用户下载大量的JavaScript代码，这也一定程度上影响了浏览器的性能。为此，UI团队在重构过程中将各种依赖转换为较小的模块，并只为当前访问者输出相应的JavaScript。关于如何实现这一过程的具体设计，来自Netflix的高级前端工程师Alex Liu专门在一篇文章中记录了具体的设计过程。&lt;/p&gt;
 &lt;p&gt;经过重构之后，老版本设计中的各种大型依赖已经不复存在，它们被替换为一些全新的、更高效的库。其直接结果就是输出的JavaScript负载减少了许多，用户开始浏览时不再需要加载大量的JavaScript代码。而UI团队并不满足于当前的成果，他们还将不断地对JavaScript的负载进行改进。&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;页面可交互时间&lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt;为了对重构后的效果进行测试，以更好地理解它对用户所产生的影响，UI团队对于页面的可交互时间（Time to Interactive – tti）这项指标进行了专门的监控。&lt;/p&gt;
 &lt;p&gt;可交互时间是指从页面刚刚启动到用户能够与UI进行交互的这一段时间间隔，这里并不需要完整地加载整个页面，只需要用户能够通过输入设备与UI之间进行交互即可。&lt;/p&gt;
 &lt;p&gt;UI团队建议使用由W3C定义的Navigation Timing API，在能够支持的浏览器上收集访问者的数据，并进行统计分析。&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;总结&lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt;在Netflix团队看来，高性能不是一种可有可无的目标，而是设计优秀的用户体验过程中必不可少的一环。团队将继续寻求业界的最佳实践，以实现更好的用户体验。在接下来的一段时间内，Netflix将研究一些新兴的web标准，例如服务器线程（Service Workers）、ASM.js以及WebAssembly等等，看看这些技术能否帮助他们的网站性能更上一层楼。&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>业界观察</category>
      <guid isPermaLink="true">https://itindex.net/detail/54339-netflix-%E7%BD%91%E7%AB%99-%E4%BC%98%E5%8C%96</guid>
      <pubDate>Tue, 15 Sep 2015 17:09:01 CST</pubDate>
    </item>
    <item>
      <title>前迅雷会员运营总监说，想让用户掏钱你得这么干</title>
      <link>https://itindex.net/detail/54318-%E8%BF%85%E9%9B%B7-%E4%BC%9A%E5%91%98-%E7%94%A8%E6%88%B7</link>
      <description>&lt;p&gt;  &lt;strong&gt;【编者按】”放在几年前，如果老板跟我说迅雷的主营收入是靠向个人用户收费，我肯定当他说笑呢。要知道，互联网的精神之一可是免费啊。免费、破解、盗版，用户有一大堆替代品，怎么可能付费呢？“在互联网免费大行其道的时候，迅雷是如何让500万用户掏钱的？雷锋网作者黎晨，前迅雷会员运营总监，本文是他在迅雷8年的经验分享，他认为：真正的运营，看上去往往平淡无奇，没有什么特别之处。&lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;img alt="" height="280" src="http://www.techug.com/wordpress/wp-content/uploads/2015/09/55c3069c19576.jpg?e3f00d" width="420"&gt;&lt;/img&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;随着友商同行们的共同努力，付费服务越来越丰富，用户的接受度也慢慢提高。很多服务收的钱其实一点都不贵（比如迅雷会员是15元/月），而且它们提供了非常非常棒的服务。虽然有些时候你可以找到一分钱不花的替代品，但我觉得付费是对他们努力工作的支持。&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;1、迅雷做到500万付费用户的真正秘诀&lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt;有次和一个同行交流，他问，在免费大行其道的天下，你们到底有哪些秘诀让这么多用户付费啊？如果过滤掉我们大量的无用功，真正有效的事情其实并不多。&lt;/p&gt;
 &lt;p&gt;期初，我们仿造QQ会员的红名、去广告、经验值加速，“忽悠”了几百人付费；&lt;/p&gt;
 &lt;p&gt;几个月后，我们找到了一个「先下到迅雷服务器，再从迅雷服务器高速取回用户电脑」的功能。&lt;/p&gt;
 &lt;blockquote&gt;  &lt;p&gt;   &lt;strong&gt;这个功能刚问世的时候被誉为“脱裤子放屁，多此一举”，后来却成为了我们的主打功能。我们做的最多的事情，就是反复和用户说它有什么好处。&lt;/strong&gt;&lt;/p&gt;&lt;/blockquote&gt;
 &lt;p&gt;第一年的年底，我们做了16万的付费用户。&lt;/p&gt;
 &lt;p&gt;第二年，各种技术问题，限制了添加文件的size、并发下载文件数，服务器也经常出问题，用户取回速度也不够快。&lt;/p&gt;
 &lt;p&gt;这一年里，我们做得最多的事情，就是跟团队一起解决问题，想办法降低问题对用户的影响，降低用户的预期，让用户能够「高频次大规模」地使用我们的服务。&lt;/p&gt;
 &lt;p&gt;第二年年底，我们做了100万付费用户。&lt;/p&gt;
 &lt;p&gt;第三年，真正产生效果的工作，就是在每个下载任务下面，增加「开会员帮你提速200%」的引导。大量的曝光，使得我们在年底做了将近300万的付费用户。&lt;/p&gt;
 &lt;p&gt;第四年，我们把很早就有、但没做好的60秒加速试用重新捡起来，配备专门的带宽+服务器，专人盯如何提升试用量，想不同场景下的试用文案和展现形式。&lt;/p&gt;
 &lt;p&gt;结果在这年底，我们做了400万付费用户。&lt;/p&gt;
 &lt;p&gt;第五年，我们加强了下载快以外的付费点（比如云播，子帐号，高清电影），希望让用户花一样的钱，享受更多的服务。&lt;/p&gt;
 &lt;p&gt;在年底的时候，我们的付费用户突破了500万。&lt;/p&gt;
 &lt;p&gt;  &lt;img alt="" height="335" src="http://www.techug.com/wordpress/wp-content/uploads/2015/09/55c3071b49a59.jpg?e3f00d" width="500"&gt;&lt;/img&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;2、那么，如何说服你的用户付费呢？&lt;/strong&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;/p&gt;
 &lt;p&gt;不少人可能会认为，让用户收费的运营措施，就是做活动，做不同类型的活动，在不同时间点做活动，做一系列的持续性的活动。然后让看到的人觉得「这东西太超值了，必须得买」，从而完成付费用户数的KPI。&lt;/p&gt;
 &lt;p&gt;而这不是我想传达的方式。&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;这里先说下，什么是运营经常犯的毛病？&lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt;当有人想让我介绍运营经验时，我心里很明白，他想听到的是这些：&lt;/p&gt;
 &lt;blockquote&gt;  &lt;p&gt;——付款时，默认3个月的转化率和收入平衡是最好的；&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;/blockquote&gt;
 &lt;p&gt;忽视基本面的工作，只想四两拨千斤、花小钱办大事、今天上线明天搞掂，是运营常犯的毛病。因为那是人性的弱点，总想学到几个立即能用的花招，就把自己的问题搞定了。但是做任何事情，这些花招都不是本质。&lt;/p&gt;
 &lt;p&gt;如果有人跟你说运营推广无敌必杀的xxx个技巧，你听听就好，不必当真。（如果真有世外高人的秘籍，请一定告诉我，必有重酬）&lt;/p&gt;
 &lt;p&gt;  &lt;img alt="" height="360" src="http://www.techug.com/wordpress/wp-content/uploads/2015/09/55c3072b04481.jpg?e3f00d" width="630"&gt;&lt;/img&gt;&lt;/p&gt;
 &lt;p&gt; &lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;真正的运营是怎样的？&lt;/strong&gt;&lt;/p&gt;
 &lt;blockquote&gt;  &lt;p&gt;   &lt;strong&gt;运，做的是给用户提供使用的理由、并持续强化使用，做的是让用户高频次大规模使用产品。&lt;/strong&gt;&lt;/p&gt;
  &lt;p&gt;   &lt;strong&gt;营，做的是如何降低获取流量的成本，如何降低用户的维护成本，如何提升流量的利用率，如何获得合理实在的收入。&lt;/strong&gt;&lt;/p&gt;&lt;/blockquote&gt;
 &lt;p&gt;有次吃饭，创业的阿梅跟我说：Uber的运营做得很好。他们经常推出各类运营活动，有舞龙舞狮，能叫直升机，能叫宝马新出的电动车，还配合新片《复仇者联盟2》做事件营销。真的很吊。&lt;/p&gt;
 &lt;p&gt;Uber的运营很好，要学习，但要学习重点。要学习它们如何刺激用户高频次使用产品；学习他们如何刺激司机高频次提供服务；学习他们怎么获取新用户，怎么维系老用户。&lt;/p&gt;
 &lt;p&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;/p&gt;
  &lt;p&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;/p&gt;
 &lt;blockquote&gt;  &lt;p&gt;   &lt;strong&gt;运营是基本面、实力面、需要时间和耐心沉淀的笨功夫。做活动的技术含量比较低，人人都能做。系统性地从基本面做起，技术含量就比较高了。&lt;/strong&gt;&lt;/p&gt;&lt;/blockquote&gt;
 &lt;p&gt;我把从免费用户到付费用户身份的转变，划分为下面7个阶段：&lt;/p&gt;
 &lt;blockquote&gt;  &lt;p&gt;1、完全不知道你的产品；   &lt;br /&gt;
2、知道但没（免费）试过；&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;p&gt;7、流失；&lt;/p&gt;&lt;/blockquote&gt;
 &lt;p&gt;然后在不同的生命周期里，设计你的运营作战地图。比如我制作的运营作战地图如下：&lt;/p&gt;
 &lt;p&gt;  &lt;img alt="" height="454" src="http://www.techug.com/wordpress/wp-content/uploads/2015/09/55c0858add7be.png?e3f00d" width="633"&gt;&lt;/img&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;/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;/p&gt;&lt;/blockquote&gt;
 &lt;p&gt;如果说真的有什么秘籍，那就是踏踏实实把产品做好、把服务做好、把用户伺候好。&lt;/p&gt;
 &lt;p&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>业界观察</category>
      <guid isPermaLink="true">https://itindex.net/detail/54318-%E8%BF%85%E9%9B%B7-%E4%BC%9A%E5%91%98-%E7%94%A8%E6%88%B7</guid>
      <pubDate>Wed, 09 Sep 2015 19:01:47 CST</pubDate>
    </item>
    <item>
      <title>坐拥 10 亿 Android 用户，Google 终于开始动 Play Store 这座金矿了</title>
      <link>https://itindex.net/detail/54296-android-%E7%94%A8%E6%88%B7-google</link>
      <description>&lt;p&gt;为讨开发者欢心，Google Play Store 做了两件贴心的事。&lt;/p&gt;
 &lt;p&gt;Google Play Store 覆盖了 190 多个国家/地区的超过 10 亿 Android 设备用户，不管是对 Google 自身来说，还是对在上面分发应用的开发者来说，这都是一个不可小觑的金矿。今年 2 月份开始，Google Play Store 就开始小范围测试搜索广告服务，如今 Google 终于在 Android Developers 官方博客上宣布，正式推出搜索广告服务。&lt;/p&gt;
 &lt;p&gt;这项搜索广告服务通过 AdWords 来实现，主要根据用户搜索关键词来推送相关的 app。比如说，当用户在 Google Play Store 的搜索框搜索“hotel apps”时，第一个搜索结果中会出现“Hotels Worlds”的广告。当然这个 app 会打上“广告”的标签。&lt;/p&gt;
 &lt;p&gt;  &lt;img alt="Attachment-1" height="400" src="http://www.techug.com/wordpress/wp-content/uploads/2015/09/Attachment-1.gif?e3f00d" width="228"&gt;&lt;/img&gt;&lt;/p&gt;
 &lt;p&gt;广告行业有一句名言：广告主大多数情况下不知道 50% 的广告费花在了哪里，意指传统广告投放效率低。对此，Google Play Store 还推出了一款名为“Android first app opens”的工具。&lt;/p&gt;
 &lt;p&gt;当用户点击 Google Play Store 中的广告并完成了 app 下载安装，这款工具就会追踪用户对这个 app 的使用情况，比如说使用时长和频率。这款工具主要用于证明 Google Play Store 推送的 app 和用户所需要的高度相关并且转化率高。&lt;/p&gt;
 &lt;p&gt;值得一提的是，“Android first app opens” 这款工具不仅适用于 Google Play Store 里面的广告，YouTube、Google Display Network 以及 AdMob 都可以使用。&lt;/p&gt;
 &lt;p&gt;在推出搜索广告服务之外，Google Play Store 还改进了 app 测试功能。&lt;/p&gt;
 &lt;p&gt;在这之前，Google Play Store 上的开发者测试 app 比较麻烦。开发者需要选定一批测试用户，让他们加入特定的 Google+ 社区或 Google Group，然后在 Google Play Store 上下载 app。测试用户只能通过特定的方式报告 app 的 bug，而不能在 Google Play Store 上对测试 app 进行评分和评价。&lt;/p&gt;
 &lt;p&gt;在 Google+ 名存实亡的今天，Google Play Store 推出了开放测试和封闭测试功能。这个测试功能都是通过让测试用户点击测试链接来下载 app，而不像以前那样需要加入 Google+ 社区并且到 Play Store 上下载。&lt;/p&gt;
 &lt;p&gt;开发测试和封闭测试的区别在于，开放测试的测试链接是公开的，而封闭测试则由开发者通过邮件来发送测试链接。&lt;/p&gt;
 &lt;p&gt;我们都知道开发者是一个应用生态中不可或缺的一环。不管是搜索广告服务还是测试功能的改进，都可以看做是 Google Play Store 对和开发者关系的重视。&lt;/p&gt;
 &lt;p&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>业界观察</category>
      <guid isPermaLink="true">https://itindex.net/detail/54296-android-%E7%94%A8%E6%88%B7-google</guid>
      <pubDate>Wed, 02 Sep 2015 21:27:09 CST</pubDate>
    </item>
    <item>
      <title>Facebook开源的真正原因</title>
      <link>https://itindex.net/detail/54287-facebook-%E5%BC%80%E6%BA%90-%E5%8E%9F%E5%9B%A0</link>
      <description>&lt;p&gt;在OSCON的第三天，来自Facebook的James Pearce带来了一场主题演讲，我也有幸在场。&lt;/p&gt;
 &lt;p&gt;Pearce解释了Facebook为何大规模开源其软件。他告诉我们，Facebook每个月都会发布数个开源项目，并且有数百个工程师会持续地支持这些项目——他们参与全世界的各个开源社区，改进软件的体验。&lt;/p&gt;
 &lt;p&gt;但是，Facebook究竟为何要使用、支持和发布开源项目？这个问题比探究Faceboot如何做开源更有意思。&lt;/p&gt;
 &lt;p&gt;Pearce大可以带我们回顾一下历史性的那一天，Mark Zuckerberg坐在宿舍房间里，选择了LAMP作为Facebook的基础；他大可以跟我们说说Facebook的黑客社区；他也大可以侃侃Facebook所感受到的社会责任，但他没有这么做。这些都是真的，但都不是这家公司走上开源之路的真正原因。&lt;/p&gt;
 &lt;p&gt;真正原因到底是什么？对公司有利，仅此而已，Pearce说道。&lt;/p&gt;
 &lt;p&gt;他的这个论断，一般人可能难以得其要领——我整个教学生涯也一直为这个问题所困扰——但Pearce提出了以下几个很棒的理由来解释从事开源的原因：&lt;/p&gt;
 &lt;ul&gt;
  &lt;li&gt;共享Facebook的代码（通常是软件“栈”，偶尔也包括硬件设计）促进了这个世界的创新。这些代码帮助他人更快地开发软件。因为Facebook不是一家软件公司，所以它在开源过程中没有面临竞争对手的威胁，相反，开源带来的价值在逐渐显现。用户使用Facebook的开源代码可以更快地构建应用，而他们也乐于回馈代码，使Facebook从中受益。&lt;/li&gt;
  &lt;li&gt;拥抱开源，意味着Facebook必须一开始就写出更优秀的软件。如果他们知道某个软件从诞生起就要公开，那就必须要好好做，提高可用性和可靠性，因为将来外面的人都会用它。这种压力也会给公司内部带来更多的价值。&lt;/li&gt;
  &lt;li&gt;开源带来了共享挑战的机会。开源项目面临的难题会吸引一些外部的优秀人员，而结果是，他们也带动了公司内部人员的能力提升。每天Facebook都承载了超过一亿人的沟通互联，何以能做到？唯有开源的力量。&lt;/li&gt;
&lt;/ul&gt;
 &lt;p&gt;Facebook的GitHub账户有274个代码库，收到了39000次fork、提交了79000个commit，并且拥有242000个关注者。他们开源的这些项目可不是黑客聚会上随便想出来的点子，或者实习生练手的代码。这些工具都是Facebook在产品中使用的。Facebook   &lt;em&gt;只会&lt;/em&gt;拿他们真正在用的代码来开源——这样，人们才会相信Facebook提供的代码有价值，并且会得到持续的维护。仔细审视这些产品，Facebook的工作方式就会在你眼前呈现。&lt;/p&gt;
 &lt;p&gt;Facebook的开源办公室只有两个员工，所以开源项目团队的工作必须高效，他们需要自己去收集数据来判断项目的当前状态。他们大量使用GitHub的API去获取尽可能多的数据，每分钟都在获取。然后他们把这些数据收集起来实时地共享，并且每个月会做个月报。这给工作带来了些许刺激的趣味，开发人员们可以互相竞赛，看谁的项目表现更好。尽管被成功的光环笼罩，Facebook总是力求做得更好。这就是为什么Facebook要加入ToDo，这就是为什么Facebook要参加今年的OSCON。&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>业界观察</category>
      <guid isPermaLink="true">https://itindex.net/detail/54287-facebook-%E5%BC%80%E6%BA%90-%E5%8E%9F%E5%9B%A0</guid>
      <pubDate>Tue, 01 Sep 2015 11:40:31 CST</pubDate>
    </item>
    <item>
      <title>这是前端最好的时代——论前端的“三化”建设</title>
      <link>https://itindex.net/detail/54217-%E5%89%8D%E7%AB%AF-%E6%9C%80%E5%A5%BD-%E6%97%B6%E4%BB%A3</link>
      <description>&lt;p&gt;  &lt;strong&gt;JS中国开发者大会于7月11-12日在深圳成功举办。该大会号称JavaScript和Node.js领域含金量最高的技术分享大会，聚集了来自国内外20多位讲师及大量JS技术爱好者，几乎涵盖了JS领域的所有热点话题。会后，腾讯AlloyTeam李成熙特别撰写了该文章，分享了他参会的   &lt;strong&gt;所见所感。&lt;/strong&gt;&lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt;“每18至24个月，前端都会难一倍”（注：2015深JS大会上，赫门在《前端服务化之路》主题演讲中说的一句话）。难，是前端发展史偶然中的必然。但难，也造就着前端当下的繁荣。&lt;/p&gt;
 &lt;p&gt;Ryan Dah之所以选择用Javascript作为Node.js的基础语言，主要是因为它是单线程的，没有服务器I/O，没有历史包袱，有较低的门槛和比较良好的社区（更多内容可见：Node.js Interview: 4 Questions with Creator Ryan Dahl）。这看似是偶然，但实际上正是Javascript的这些优秀特性必然被历史选择，承担推动Web技术发展的使命。&lt;/p&gt;
 &lt;p&gt;7月11-12日在深JS大会上，我们看见的是在Node.js的推动下，前端技术大放异彩，逐渐告别“石器时代”，走向“工业时代”。而通过推动前端迈进”工业时代”的“三化“建设的力量，分别是前端的自动化、实时化与服务化。&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;前端自动化&lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt;前端的自动化技术已经发展了好几年，之前涌现的grunt、gulp已帮助前端很好地解决了代码压缩、生成md5、合图等功能。自动化属于“三化”中的基础，它的发展极大释放了前端的手脚，让前端有更多的时间专注于实时化与服务化的发展。大会带来与前端相关的主题是前端的测试自动化。这相信是前端自动化比较棘手的问题。&lt;/p&gt;
 &lt;p&gt;马逸清给我们展示了七牛存储在前端测试上的一些尝试。但目前来看成果还是相当有限的。其一，他们的做法主要是针对于JavaScript的逻辑，或者是一些基本的UI交互的测试，浏览器兼容性的测试、前端页面与设计稿对齐方面的测试，基本都是空白。其二，即使他们现在可以对JavaScript的逻辑进行测试，但比较好的切入条件是对DOM的隔离，所以，如果业务使用的是View与Model的框架，如Angular，测试是比较友好的。但如果使用到的是Web Component——这种将JavaScript，CSS和HTML模块化地放在一起的元素，则比较麻烦。&lt;/p&gt;
 &lt;p&gt;对于前端页面与设计稿对齐的测试，我们团队AlloyTeam也有一些尝试，曾开发过一个AlloyDesigner的工具。而对于浏览器兼容性测试，在IE流行的时代，为了兼容IE，很多人喜欢用一个叫IE Tester的工具。但这些都只属于测试的工具化，离自动化还有很长的距离。&lt;/p&gt;
 &lt;p&gt;  &lt;img alt="" height="70" src="http://www.techug.com/wordpress/wp-content/uploads/2015/08/55a8b1f879b7e.jpg?8f3a10" width="243"&gt;&lt;/img&gt;&lt;/p&gt;
 &lt;p&gt;另外，马逸清还提到，写这些测试代码要增加约20%至30%的工作时间。这对于人手不足、业务时间急、需求迭代快的团队，是一个不少的挑战。而且这个幅度的时间增加，对这些团队来说，可能有违自动化的核心理念——效率的提高。&lt;/p&gt;
 &lt;p&gt;因此，前端的自动化下一步需要关注的是，拓展测试可覆盖的场景，以及减少额外的时间开销。&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;前端服务化&lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt;所谓服务化，即使用者只需调用，而毋须知道内部的实现，说白了就是标准化（引自2015深JS大会上，赫门主题演讲《前端服务化之路》的内容）。Node.js的出现使前端服务化成为可能。Node.js开发的系统可以作为接入层，调用Java、C++等提供的基础功能，处理数据库，然后将数据吐给浏览器进行渲染。简易言之，就是用Node.js代替业务逻辑这一层。最后造就的成果是，不仅Java，C++可以放弃业务逻辑，更专注于数据处理的基础服务，而且Node.js能更专注于业务逻辑，挺供API服务给浏览器端的代码进行调用。&lt;/p&gt;
 &lt;p&gt;用Node.js作为接入层，让前端涉足“后台”的业务成为可能，而且能提高开发效率，还能更方便地使用最新Web技术，如Big Pipe，WebSocket等对页面进行优化。早前淘宝进行的前后端分离，腾讯AlloyTeam正在进行的玄武框架，都是在推动前端服务化做出努力。&lt;/p&gt;
 &lt;p&gt;除了Node.js作为接入层提供服务以外，淘宝的赫门还提出了将前端Web Component作为一种服务，提供给后台使用。Javascript的AMD与CommonJS规范的订立使Javascript的模块化开发成为可能，也就自然而然地推动了前端的组件化。但赫门认为组件化的Web Component是散乱的，并没有办法一统江湖（如Angular、React这类框架），而他的理念就是希望帮助Web Component重新定位，也就是将其标准化。他在演讲中举出一个应用场景：使用React开发了一个组件，给前端直接使用React，而给后端用的时候则先用Flipper输出成Web Component再用。赫门的这个Flipper在技术上并没有太大的新意，其创新之处在于，他基于Flipper提出的服务化理念。&lt;/p&gt;
 &lt;p&gt;AlloyTeam内部其实有类似的更完善的方案—— MVVM框架Q.js及Ques组件方案。赫门的Flipper只管将代码转成标准化Web Component，而Ques组件方案不仅在开发过程中可以用标准化Web Component，而且在基于构建，开发的过程中就已经可以将HTML，CSS及JS模块化，更好地组织代码。而Q.js则是一个类Vue.js的的MVVM框架，它可以使用Ques组件方案，结合MVVM框架的特性，能够轻松驾驭一个项目的开发 Ques。&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;前端实时化&lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt;我不确定用实时化这个词来形容是否恰当，但不可否认的是，Web技术的发展使网页获得更好的响应。目前比较流行的方案就是前端SPA（单页应用）技术结合后台的API服务，他们的桥梁是诞生刚满10年的Ajax。 未来，这种趋势会得到强化，而且Web的体验会越来越贴近应用。&lt;/p&gt;
 &lt;p&gt;会上，前Googler尤雨溪带来的Meteor正致力于完善这件事。一般的单页应用都如下图，UI、客户端数据和服务器数据相互沟通，达到状态的更新。而Meteor则希望将客户端数据这一层变薄甚至直接去掉，以减少性能的损耗，因此他们在客户端引入一种叫Minimongo的数据库驱动，它遵守DDP（分布式数据协议），根据Meteor的说法，是一种简易的结构化数据获取及数据更新协议。它的特色是，可以在客户端直接定制想要订阅的数据格式，服务器根据请求对订阅者进行推送。Meteor的另一个特色是使用了WebSocket技术。如果你打开TeleScope（使用Meteor技术的一个BBS应用），你能发现它是通过WebSocket获取数据的实时应用。也正因为Meteor使用WebSocket这个HTML5新特性，Meteor将DDP亲切地称为WebSocket的REST。&lt;/p&gt;
 &lt;p&gt;  &lt;img alt="" height="430" src="http://www.techug.com/wordpress/wp-content/uploads/2015/08/55a8b1fceb2a0.jpg?8f3a10" width="600"&gt;&lt;/img&gt;&lt;/p&gt;
 &lt;p&gt;图片来源： 深JS上，尤雨溪的演讲PPT《Database Everywhere: a Reactive Data Architecture for JavaScript Frontends》&lt;/p&gt;
 &lt;p&gt;另一个讲者，Strikingly CTO郭达峰提到Facebook最近打算开源的一种新技术GraphQL，结合Relay和Reactive，是最新比较热门的Web开发方案。这种方案跟Meteor相比其实有异曲同工之妙。在通信结构方案，这种方案遵循上图，React负责UI状态，Relay负责客户端数据状态，而GraphQL则负责服务器数据状态。在通信协议方案，与Meteor不同，它并不限于使用WebSocket，它其实更着眼于解决REST的问题。GraphQL在服务器端发布一个类型系统，Relay通过客户端发送一些比较结构化的查询请求来获取数据，如下图。这套解决方案简化了服务器端，以统一的GraphQL接口提供给Relay这一层，Relay会自动获取数据并统一进行数据变更的处理，使数据获取和处理更加高效。&lt;/p&gt;
 &lt;p&gt;  &lt;img alt="" height="505" src="http://www.techug.com/wordpress/wp-content/uploads/2015/08/55a8b24ab84c2.jpg?8f3a10" width="600"&gt;&lt;/img&gt;&lt;/p&gt;
 &lt;p&gt;图片来源：深JS上，郭达峰的演讲PPT《GraphQL and Relay》&lt;/p&gt;
 &lt;p&gt;在实时化应用方面，业界前10年（今年是Ajax诞生10周年）的发展致力于前端的交互与设计方面的优化，例如Ajax的诞生，Angular、React一类框架使单页应用更为普及。又如AlloyTeam的AlloyKit离线包系统，使HybridApp体验更为完美。而看这次大会，站在10年这个分水岭上发表的演讲，像Facebook这样的巨头和Meteor这样的创新型公司正开始着眼于使前后端的数据通信更快更好。&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;结语&lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt;前端的自动化、服务化和实时化是前端开发中正在发生的变化，是一系列深刻的变革。这些变革使前端的能力更加丰富、创造的应用更加完美。在深圳举办的这次中国Javascript大会上的讲座，都相当精彩，有意无意地反应出业界的这些变化。希望下一届的大会能更加国际化，为我们带来更多的技术干货。（责编：陈秋歌）&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;作者：李成熙，腾讯AlloyTeam前端工程师，代码足迹遍及北京、深圳、香港、悉尼。关注各种前后端技术，热爱技术分享。&lt;/strong&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>业界观察</category>
      <guid isPermaLink="true">https://itindex.net/detail/54217-%E5%89%8D%E7%AB%AF-%E6%9C%80%E5%A5%BD-%E6%97%B6%E4%BB%A3</guid>
      <pubDate>Sat, 22 Aug 2015 09:09:58 CST</pubDate>
    </item>
    <item>
      <title>2015年需要了解的前端框架和语言</title>
      <link>https://itindex.net/detail/54201-%E9%9C%80%E8%A6%81-%E5%89%8D%E7%AB%AF-%E6%A1%86%E6%9E%B6</link>
      <description>&lt;p&gt;Node.js 第一，PHP 第二，JavaScript 第三。因为Node.js的社区很多，所以这个结果你也不用太意外。如果你知道JavaScript,你已经一只脚踏进了用Node.js来构建Web APP的可能。&lt;/p&gt;
 &lt;h3&gt;框架&lt;/h3&gt;
 &lt;p&gt;  &lt;img alt="" height="371" src="http://www.techug.com/wordpress/wp-content/uploads/2015/08/blog_2015_new%E5%B1%8F%E5%B9%95%E5%BF%AB%E7%85%A7-2015-07-09-%E4%B8%8A%E5%8D%887.35.00.png?8f3a10" width="600"&gt;&lt;/img&gt;&lt;/p&gt;
 &lt;p&gt;AngularJS 处于框架的领导地位。大量的公司和企业已经采用 Angular，这就要求开发者更多的具备使用这个框架的技能。主要还是因为有 Google 里最好的工程师支持。&lt;/p&gt;
 &lt;h3&gt;2015你应该学习的&lt;/h3&gt;
 &lt;p&gt;很多的库和框架产生和消亡，对于把有限的精力投入到最有价值的事情上是有挑战的。下面是我们的一些关于语言和框架的建议，这些都是我们认为很有意义去学习的。它们都很流行，有活跃的社区，并且有大量的就业机会。&lt;/p&gt;
 &lt;h3&gt;1. 无所不在的 JavaScript&lt;/h3&gt;
 &lt;p&gt;  &lt;img alt="" height="320" src="http://www.techug.com/wordpress/wp-content/uploads/2015/08/blog_2015_new674862A7-CF67-44B6-A62B-2B968F7A6281.jpg?8f3a10" width="760"&gt;&lt;/img&gt;&lt;/p&gt;
 &lt;p&gt;如果你做 web 的开发，Javascript 是你必须知道的，不管你写后台用的何种语言。现在你可以用JS在浏览器、服务器、手机应用甚至是可编程的硬件。ES6 将会提高并让这个语言更加强大。学习 Bower 和 npm工具是很有必要的，也包括 jshint 和 jscs 这种代码样式和代码检测。&lt;/p&gt;
 &lt;h3&gt;2. AngularJS&lt;/h3&gt;
 &lt;p&gt;  &lt;img alt="" height="320" src="http://www.techug.com/wordpress/wp-content/uploads/2015/08/blog_2015_newA2DACE7E-9AAC-4FAC-82DD-1EE1CAB462AE.jpg?8f3a10" width="760"&gt;&lt;/img&gt;&lt;/p&gt;
 &lt;p&gt;AngularJS是  &lt;br /&gt;
一个Google发明的JavaScript框架，它能快速的构建企业级的web应用。快速的需求增长要求程序员有这个框架的使用经验，很多时候，你会看  &lt;br /&gt;
到招聘工作的时候会涉及这个框架的使用。但是别太着急。它将会有一个大的重写，在它的2.0版本发布后再学习是个更好的方式。可以查看学习指南 angularjs examples.&lt;/p&gt;
 &lt;h3&gt;3. React&lt;/h3&gt;
 &lt;p&gt;  &lt;img alt="" height="320" src="http://www.techug.com/wordpress/wp-content/uploads/2015/08/blog_2015_newC9E2EA70-F356-4960-9FC9-1EC873FA7BE1.jpg?8f3a10" width="760"&gt;&lt;/img&gt;&lt;/p&gt;
 &lt;p&gt;React 是新的竞争者，但它是可提供复用的web组件。这个库是Facebook开发并实现了非常快的虚拟DOM，并能很简单的接入到现有项目中去。它也有非常活跃的社区来提供开发组件all kinds of components.在我们看来，Reacts是非常有潜力的并值得在2015年关注的。查看我们的学习指南react tutorial.&lt;/p&gt;
 &lt;h3&gt;4. Node.js&lt;/h3&gt;
 &lt;p&gt;  &lt;img alt="" height="320" src="http://www.techug.com/wordpress/wp-content/uploads/2015/08/blog_2015_new54EBC058-5C63-461F-86B7-EFB66C424BE1.jpg?8f3a10" width="760"&gt;&lt;/img&gt;&lt;/p&gt;
 &lt;p&gt;用Node.js你可以用JavaScript来实现服务端的应用。它可以很简单的实现后台，像这些框架Express, API endpoints, websocket甚至torrent clients. Node有令人难以置信的活跃的社区超越任何其他一种语言在这一年实现的模块。如果你是个初学者，我们推荐你尝试下NodeSchool.&lt;/p&gt;
 &lt;h3&gt;5. NoSQL databases&lt;/h3&gt;
 &lt;p&gt;  &lt;img alt="" height="320" src="http://www.techug.com/wordpress/wp-content/uploads/2015/08/blog_2015_new176957D5-2F71-48AA-A431-D78AEB6D4A2D.jpg?8f3a10" width="760"&gt;&lt;/img&gt;&lt;/p&gt;
 &lt;p&gt;既不是关系型也不是 SQL 查询型的数据库是对今天的web开发者更有价值的，我们相信这样的数据库将会在未来更加的流行。有两个值得关注的是 Mongodb 和 Redis。很容易使用它们中得任意一个比起MySQL和Postgres.但是别傻傻的认为NoSQL数据库就是完美的取代—有的情况，那些经典的关系型数据库还是会让你的开发更简单。&lt;/p&gt;
 &lt;h3&gt;6. Less/Sass/Stylus&lt;/h3&gt;
 &lt;p&gt;  &lt;img alt="" height="320" src="http://www.techug.com/wordpress/wp-content/uploads/2015/08/blog_2015_newDA563D03-FCEC-4396-9D09-74912604DE08.jpg?8f3a10" width="760"&gt;&lt;/img&gt;&lt;/p&gt;
 &lt;p&gt;有很多人不喜欢CSS.它很容易就达到了1000行的css文件并且不容易被定位和修改。为了解决这些问题，有些语言像Less, Sass 和 Stylus可以编译成CSS文件，并可以使用变量、宏和其它的方式来提高你的编码。你可以一下午就搞定它们中的一种。&lt;/p&gt;
 &lt;h3&gt;7. 令人兴奋的框架&lt;/h3&gt;
 &lt;p&gt;  &lt;img alt="" height="320" src="http://www.techug.com/wordpress/wp-content/uploads/2015/08/blog_2015_new0C2E7743-8AD2-41B6-B536-31BC41FF2EF6.jpg?8f3a10" width="760"&gt;&lt;/img&gt;&lt;/p&gt;
 &lt;p&gt;Meteor 是一个全新的web应用开发方式，它模糊了前端和后端的边界。它允许你书写实施的应用，并且有迅速成长的社区来提供各种包模块。Hood.ie 是一个小得竞争者，但是提供新颖的方式。它能为你处理后台，所以你可以集中精力来做你应用的前台。&lt;/p&gt;
 &lt;h3&gt;8. 令人兴奋的语言&lt;/h3&gt;
 &lt;p&gt;  &lt;img alt="" height="320" src="http://www.techug.com/wordpress/wp-content/uploads/2015/08/blog_2015_new15945E83-0B58-4D69-A168-BEFCDB6DB026.jpg?8f3a10" width="760"&gt;&lt;/img&gt;&lt;/p&gt;
 &lt;p&gt;对于一些编程语言迷来说，这又一些东西。Golang, Rust and Elixir增长的势头很强，被用在一些对性能要求很高的情况下。我们不推荐转移你的编程方向到这些语言中，但是你可能会在要求与其它的网站交互时会用到。&lt;/p&gt;
 &lt;h3&gt;9. 经典的全栈式框架&lt;/h3&gt;
 &lt;p&gt;  &lt;img alt="" height="320" src="http://www.techug.com/wordpress/wp-content/uploads/2015/08/blog_2015_new26644D60-E2F5-4145-AD5A-A174FE314ACA.jpg?8f3a10" width="760"&gt;&lt;/img&gt;&lt;/p&gt;
 &lt;p&gt;尽管那些单页面应用增长迅速，但还是有大量的使用服务端的web应用。on Rails, Django, Laravel, Play, ASP.NET是这排名靠前的几个框架。花点时间学习任何的MVC框架都会让你获益良多。&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>业界观察</category>
      <guid isPermaLink="true">https://itindex.net/detail/54201-%E9%9C%80%E8%A6%81-%E5%89%8D%E7%AB%AF-%E6%A1%86%E6%9E%B6</guid>
      <pubDate>Wed, 19 Aug 2015 21:05:39 CST</pubDate>
    </item>
    <item>
      <title>成为优秀程序员的十个Tips</title>
      <link>https://itindex.net/detail/54142-%E7%A8%8B%E5%BA%8F%E5%91%98-tips</link>
      <description>&lt;p&gt;  &lt;strong&gt;理解技术债务&lt;/strong&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;不仅知道怎么用，还知道是什么原因。比如你做 Android，可以了解一下他的事件分发机制是什么样的，它的 Measure/Layout 是怎么 work 的，有时间读一读它的源代码，看看他的原生控件是怎么实现的。学 iOS，了解一下它的内存管理，autorelease 是怎么工作的，runtime 是怎么工作的，runloop 的原理是什么。做 Server 开发，可以了解一下 Nginx 为什么性能好，Redis 的工作原理如何，有时间也可以读读其源代码。 做前端，也可以读一读 Angular 或 React 的源代码。&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;专注&lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt;程序员的工作效率可以相差很大，其中区别很大的一点就是是否专注，就像线程切换一样，恢复上下文有很高的代价。建议合理安排好自己的时间，尽量在上午/下午留大块的专注时间来做设计和编程，关掉 IM/邮件/微信，把面试/会议等安排在大块时间之外，同时也建议可以尝试一下番茄工作法。&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;同理心&lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt;写代码时要有同理心，考虑一个有少量上下文甚至完全不了解上下文的另外一个程序员他会怎么样读这个代码，这样自然就知道怎么写出可读性好的代码，该怎么命名，什么地方该加注释。 考虑以后维护代码的这个人就是你自己，这样在偷懒做一些临时的 workaround 时就会三思。 交付给测试人员时也要有同理心，有没有做基本的质量保证，有没有跟测试沟通改动可能的影响范围，让测试人员可以更有针对性的测试。&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;strong&gt;架构思维/全局思维&lt;/strong&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;掌握适当的设计语言，比如 Plantuml 或 Visio，或者是一些设计模式，知道如何以简单清晰的方式去跟其他程序员描述和沟通你的设计和架构，大家理解一致了，才能更有效率的合作。&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;strong&gt;代码审查&lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt;代码审查是保证代码和工程质量的最有效手段，优秀的公司（比如 Facebook，Google)和优秀的团队（比如我们，欢迎关注团队公众号 mtydev）都非常重视代码审查。如果你还不能认识到它的重要性，可以查看这里。&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;自动化&lt;/strong&gt;&lt;/p&gt;
 &lt;p&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>业界观察 优秀程序员</category>
      <guid isPermaLink="true">https://itindex.net/detail/54142-%E7%A8%8B%E5%BA%8F%E5%91%98-tips</guid>
      <pubDate>Tue, 11 Aug 2015 14:10:38 CST</pubDate>
    </item>
    <item>
      <title>技术主管的瑞士军刀</title>
      <link>https://itindex.net/detail/54118-%E6%8A%80%E6%9C%AF-%E7%91%9E%E5%A3%AB%E5%86%9B%E5%88%80</link>
      <description>&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;有两种技术能够为你带来第一时间的反馈以及益处，它们当然就是结对编程与代码复审。&lt;/p&gt;
 &lt;p&gt;让我们首先从结对编程开始。&lt;/p&gt;
 &lt;p&gt;当我们考虑这项技术的时候，首先要向经理证明，让两个人同时编写同一份代码的做法是否值得。如果你对结对编程已经有了足够的经验，那么你应该能够将生产力的下降控制在 15% 之内，同时做到增加代码的质量，并且促进团队成员之间共享知识，这种方式还能够帮助你在开发过程中尽早地发现 bug。最后一点看起来只是个很小的改进，但尽早发现 bug 有助于减少修复 bug 所消耗的精力，而如果你之后才发现这个 bug，那么公司可能会为此付出更大的代价，因为要理解一个“陈旧的”实现方式可能要付出两倍、甚至更多的精力。在进行结对编程的过程中，你需要记住两件事。首先，你应当鼓励团队每天进行几个小时的结对，并且每 30 分钟变换一次角色。其次，你应当创建一种适合结对编程的工作环境，开发者们唯一要做的就是为了实现这个软件而编写代码，因此不要安装邮件客户端或聊天工具，只要满足在这个项目上工作的最小化配置就足够了。&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;这一点绝对是我最喜爱的反馈循环方式，如你所知，对任何项目进行过度的前期设计通常会导致错误的假设和误解，并且在技术方面会进行过多的猜测。从架构的角度来说，开发一个项目最好的方式是在每个项目开始时创建刚好足够的架构，只要它能够满足你和你的团队着手开发就好。然后在每个迭代刚开始的 30 分钟至 2 小时之内对架构与设计进行增量式的复审，专注于这个新迭代必须完成的任务。通过这种方式，你将创建出一种合理的架构，它能够完美地涵盖你的客户或公司的需求，并促进新特性的实现或进行重构。你将看到，在项目的开始阶段，你会在架构上投入较多的时间，但等到几个迭代结束之后，你会发现在架构上的投入时间减少了，你的架构的稳定性与高质量将会为你带来很大的益处。设计架构的最佳方式是使用一块白板，这样就能够从其他成员那里获得第一时间的反馈，并且你可以在白板上快速地添加、修改或是删除任意元素。记住，如果架构文档不能保持更新，在公司中就起不了任何作用。既然代码本身就能够解释各种设计决策，何必还要使用各种昂贵的建模软件呢？&lt;/p&gt;
 &lt;p&gt;我个人在这方面的建议是，创建一个高级别的架构图，让它反映出系统中的主要组件是如何交互的，这样就能够了解你的架构是否可行，或者是需要继续改善。在这种情况下，很容易就能够生成这样一份架构文档，并且修改它也不需要花费很大的精力。&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;静态分析&lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt;每一位技术主管都应当掌握静态分析技术，因为它能够为你提供实用的指标，帮助你指出项目中的潜在问题，并着重指出需要改进的地方。在最常见的一些技术中，例如 Java、C#或 JavaScript 都提供了丰富的工具，以帮助你获取有关代码的信息，例如代码圈复杂度（cyclomatic complexity）或是为你展现项目的架构。在服务器上安装类似于 SonarQube 这样的工具同样能够帮助你实现这一目标。对于你的团队中所使用的任何一种技术，你都应当设置相应的规则让代码符合公司的规范。请记住定义这些必须遵循的规则，并对流程进行自动化，以促进你的团队去检查这些反馈数据，并通过数据了解到当前的问题。因为衡量指标能够帮助你改善现状，否则你很难了解某个变更是否改善了你的软件。&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;版本控制&lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt;作为技术主管，你应当成为整个公司的代码监护人。如果你的代码一团糟，那么在几年、甚至只是几个月之后，整个公司或某个团队就无法继续维护这个项目，或者是在实现新特性或分析如何解决 bug 时痛苦万分。&lt;/p&gt;
 &lt;p&gt;关于这一点，我建议你牢记一点，并且提醒你的同事，那就是“童子军规则”：&lt;/p&gt;
 &lt;p&gt;“永远保持离开时的露营地比你发现它时更整洁”&lt;/p&gt;
 &lt;p&gt;目前最佳的方案是使用 GIT 或 Mercurial。GIT 的知名度更高，并且有许多公司都在使用它，因此也意味着关于它的资源与文档更多，这也是我推荐你使用 GIT 作为版本控制系统的原因。但很常见的一种状况是，某个公司虽然在使用 GIT，但没有采取任何分支策略，这导致每个项目都处于无组织状态。你应当通过实现一种 GIT 流或 GitHub 流策略以避免出现这种情形。你会发现，实现这两种策略之一会提高你的开发者的生产力，并且能够避免在合并不同的分支时经常出现的冲突问题。所有开发者都应记得的另一点是在提交代码时适当地使用 tag，并且提供有意义的注释。尤其是当你开发的软件准备公开发行或是创建某些类库时，在创建分发包之前对你的每个稳定版本的代码进行 tag 是必须的。最后，但并非最不重要的一点是，在开发者提交代码时，要求他们准确地描述他们改变了哪些内容，并且如果可能的话，尽量做到频繁地提交，这样能够让他们更容易撤消代码或是处理代码中的冲突。&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;自动化&lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt;如果在公司级别上还没有定义自动化的目标，那么在每个项目的开始阶段就应当进行定义。在项目开发过程中必须有一种可复制的、并且可部署的解决方案，可以在开发过程中不断地重复应用。这样才能够保证最终所交付的产品是正确的，并且避免接近项目交付日期时才发现的各种问题。通常来说，你应该实现以下功能的自动化：&lt;/p&gt;
 &lt;ul&gt;
  &lt;li&gt;对项目的各种突变测试、集成测试、验收测试、回归测试与功能测试进行自动化，尽可能将你的版本控制方案与你使用的自动化工具结合在一起，让它测试每次代码提交，或是每次对 development 或 master 分支进行合并时运行测试。&lt;/li&gt;
  &lt;li&gt;在每次构建之前进行静态分析能够帮助你确保代码标准以及产品的质量&lt;/li&gt;
  &lt;li&gt;对每次 tag 操作或发布进行 tag 流程及版本控制管理&lt;/li&gt;
  &lt;li&gt;将项目部署到测试环境中，以便 QA 人员进行测试&lt;/li&gt;
  &lt;li&gt;将项目部署到生产环境&lt;/li&gt;
&lt;/ul&gt;
 &lt;p&gt;当你在项目的开始阶段定义了这些步骤之后，你将发现，当你不得不在某个项目上线几个月或几年之后对它进行重新编译时能够避免大部分的常见问题，你也能够在代码一次次发布的过程中调整它们的质量，保证一个很高的代码标准，并获得所需的衡量指标，以计划某种在你的团队或整个公司之内进行改进的策略。&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;敏捷方法&lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt;你需要维护的东西不仅仅是技术流，信息流也是任何项目取得成功的关键所在。没错，你不是一位 Scrum Master，但你应当帮助 Scrum Master 去促进信息的流动，甚至帮助产品负责人定义用户故事，并了解在适当的时机加入一些技术性的用户故事以改善代码质量，通过指出潜在的技术问题帮助团队调整用户故事的规模等等。因此，出于这些以及其它多种原因，对于技术主管来说，充分地了解例如 Scrum、Kanban 和 XP 等最常用的框架是十分重要的。因为作为一名领导，你应当能够通过示范的方式领导你的团队，为他们展现，并鼓励他们遵循敏捷的最佳实践，并指导他们获得成功。&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;实践社区（COP）&lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt;对于任何技术团队来说，在每天的日常工作中分享经验和知识，从而提升自己是必须做到的一件事。组织一种两周一次或每月一次的实践社区能够有效地帮助我们实现这些目标。一般来说，COP 是一次讲座，技术团队中的某些可以将他或她在目前所接手的项目中使用的某个优秀的方案，或是某种对整个团队很实用的最新技术或方法论分享给大家。如果公司的规模足够大，我建议可以按照技能种类划分这些会议，某个 COP 专门针对 QA，某个针对后端开发者，另一个针对前端开发者等等。这样一来，会议的内容也会变得更垂直与更实用，而不是浪费时间讨论一些大家在短期内或较长一段时间内不会用到的技术或方法学。一次出色的实践社区活动应当在举办前 7 至 10 天开始准备，推举出 1 至 3 个演讲者，让每个人进行 20 至 30 分钟的演讲。如果演讲者只有一人，我建议让他准备一个最多 45 分钟的主题，然后将活动的第 2 部分用于问答与讨论。&lt;/p&gt;
 &lt;p&gt;在会议中设立一位协调者是必须的，至少在第 2 阶段，他可以鼓励与会者分享他们对于演讲内容的想法。保持整个会议环境更友好并且易于合作，这有助于团队在表现它们的技巧时更为自信。这种方式也能够产生一种共享的知识，通过它促进在整个组织中引入新技术和方法学的过程。作为技术主管，你应当有能力组织这种会议，促进大家的交流，并且找到让整个部门或公司都感兴趣的主题。有时候，为了打破每日工作的重复性，我建议可以一共观看一些技术会议的视频或是会议讲座，或是邀请某些外部的演讲者为团队分享一些垂直的主题，然后对此进行开放式的讨论。&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;总结&lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt;以上所说的这些都是作为一个技术主管应当掌握的关键工作与技术，并且应当在他或她的每日工作中鼓励同事也这么做。&lt;/p&gt;
 &lt;p&gt;你必须保持灵活，并拥有足够的技能，在任何情况下都采取正确的方式，让它保持与你的业务需求一致，并且符合公司的战略。&lt;/p&gt;
 &lt;p&gt;最后，但并非最不重要的是，我乐于为你分享我最喜爱的一条格言，以鼓励你开始改进你的标准：“千里之行，始于足下” —— 老子。&lt;/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>业界观察</category>
      <guid isPermaLink="true">https://itindex.net/detail/54118-%E6%8A%80%E6%9C%AF-%E7%91%9E%E5%A3%AB%E5%86%9B%E5%88%80</guid>
      <pubDate>Sun, 09 Aug 2015 11:10:10 CST</pubDate>
    </item>
    <item>
      <title>如何才能成为一个好的技术领导者？</title>
      <link>https://itindex.net/detail/54569-%E4%BD%95%E6%89%8D-%E6%8A%80%E6%9C%AF-%E9%A2%86%E5%AF%BC%E8%80%85</link>
      <description>&lt;p&gt;近日，一名有超过15年软件开发经验的软件开发人员在Hacker News上提出了一个问题：如何才能成为一个好的技术领导者？该问题一经提出，在不到一天的时间内就获得了160多条回复。关于技术领导者应该具备的品质和管理技巧，网友们提出了各自的看法和建议，本文择要归纳如下。&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;如果不能从帮助团队获得满足感，那么就不要成为一名领导者&lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt;技术领导者要忙于会议、计划、打断、团队沟通、文档等工作，永远无法达到一个人单独工作时所能达到的那种个体生产力。&lt;/p&gt;
 &lt;p&gt;技术领导者的工作不再是让自己成为最好的编码人员，而是要尽可能地让其他人成为最好的编码人员。工作分配也要以一种有利于团队和个人成长的方式进行。要负责为团队成员清楚障碍，让他们的工作进入正轨。&lt;/p&gt;
 &lt;p&gt;技术领导者的满足感来自新人的培养和成长。&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;将自己视为其他开发人员的导师&lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt;即使已经知道了答案，有时候也需要让团队自行决策。许多时候，正确的答案并不唯一。技术领导者的工作不是选择正确的答案，而是确保团队不选择错误的答案。允许团队作为一个整体自行决策有利于保持高涨的士气，让每名成员都更有自豪感和主人翁精神。&lt;/p&gt;
 &lt;p&gt;在有关技术问题上，团队信任并依赖你的建议/观点。作为技术领导者要了解团队所开发的应用，了解该应用所涉及的领域，了解功能背后的技术，并编写详细的技术文档。&lt;/p&gt;
 &lt;p&gt;有时候，技术领导者同时也是首席工程师。这时，他所能为团队做的最有价值的事情是在开始和结束时为团队成员提供帮助。&lt;/p&gt;
 &lt;p&gt;有时候，技术领导者还是架构师。当解释系统或代码的行为时，他需要能够快速改变高度。当同开发人员调试问题时，他要能够深入技术细节；而当向CEO解释计划或成本估算时，他要能够在一个更高的层次上谈论系统。&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;随时准备好回答团队成员的问题&lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt;但当你有问题要问他们时要首先询问他们是否方便。这很难做到，因为作为一名技术领导者，你有许多工作要做。但是，为了可以有更多的时间回答他人的问题及为其他人提供支持，可以将复杂的任务委派给团队中更有经验的成员。&lt;/p&gt;
 &lt;p&gt;很多时候，团队成员的问题本可以在空闲或闲聊的时候提出。为此，引入可异步使用的生产力工具是一种更好的方式，比如，对于一些不太紧急的问题，可以借助Trello卡片或GitHub问题跟踪器提出。不过，不管采用什么样的沟通机制，关键是要获得其他团队成员的支持，让他们在工作无法进行或完成的时候，可以很舒服地打断你。&lt;/p&gt;
 &lt;p&gt;为了了解团队成员，技术领导者要定期主动同团队成员进行一对一的沟通。每名开发人员都是不同的，通过沟通可以了解到这种不同。&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;减少具体的编码工作，但仍然要编码&lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt;即使不做很多具体的编码工作，也仍然需要监控和接受所有的pull request，并利用这个过程，帮助初级开发者修改代码。这是必须的，如果不编码，那么开发人员会质疑你的判断，不容易接受你的建议。&lt;/p&gt;
 &lt;p&gt;但是，作为技术领导者，你的首要任务是确保团队成员的生产力，而不是自己的生产力。你要为整个团队的输出负责，如果那意味着零编码，那么就不要编码了。同时，这也意味着，即使代价是停下自己的工作，也要帮助处于困境中的团队成员。&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;要谦逊&lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt;要相信，你的团队所具备的能力和理解力都要超过你。&lt;/p&gt;
 &lt;p&gt;要承认，关于某个主题或组件，有人懂得比你多。成为一名优秀的领导者，并不需要事事都懂得比别人多。&lt;/p&gt;
 &lt;p&gt;如果团队成员都将你视为权威，那么他们会害怕自己做决策。在这种情况下，你就成了障碍。&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;要诚实&lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt;当你知道答案的时候，就说出来，即使那意味着某些人要重做大量的工作。如果你不知道答案，也要说出来，不能不懂装懂。你获得了当前的职位，就说明你有资格，你永远不需要向其他人证明你的能力。&lt;/p&gt;
 &lt;p&gt;除了上述这些讨论比较多的观点外，还有一些其它的观点，比如，把令人愉快的任务分给别人，把令人讨厌的任务留给自己；公开表扬，私底下批评；让每个团队成员都清楚地知道你对他们的期望；及时反馈和表扬；与非技术管理人员建立稳固的关系等等。还有一些行为是技术领导者应该避免的，比如，不要抱怨代码库有多糟糕；不要说“我们要重写XYZ”，技术债务要逐步解决；不要轻易提议使用可选的平台和框架。不过，需要注意的是，不同的组织有不同的企业文化，对技术和技术领导者有不同的看法和预期，技术领导者要以此为出发点考虑问题。&lt;/p&gt;
 &lt;p&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>业界观察 技术领导者</category>
      <guid isPermaLink="true">https://itindex.net/detail/54569-%E4%BD%95%E6%89%8D-%E6%8A%80%E6%9C%AF-%E9%A2%86%E5%AF%BC%E8%80%85</guid>
      <pubDate>Thu, 22 Oct 2015 19:15:17 CST</pubDate>
    </item>
    <item>
      <title>为什么国外程序员爱用苹果Mac电脑？</title>
      <link>https://itindex.net/detail/52807-%E7%A8%8B%E5%BA%8F%E5%91%98-%E8%8B%B9%E6%9E%9C-mac</link>
      <description>&lt;p&gt;Mac 在国外很受欢迎，尤其是在 设计/web开发/IT 人员圈子里。普通用户喜欢 Mac 可以理解，毕竟 Mac 设计美观，简单好用，没有病毒。那么为什么  &lt;a rel="nofollow" target="_blank"&gt;专业人士也对 Mac 情有独钟&lt;/a&gt;呢？从个人使用经验来看我想有下面几个原因：&lt;/p&gt;
 &lt;p&gt;1、Mac OS X 是基于 Unix 的。这一点太重要了，尤其是对开发人员，至少对于我来说很重要，这意味着Unix 下一堆好用的工具都可以随手捡到。如果你是个 windows 开发人员，我想你会在 windows 上装一套cygwin 环境吧？你不用 flex/yacc，grep，screen，ssh，make？好多 open source 的项目只提供cygwin/gcc/make 的编译环境。Mac 就是基于 BSD Unix 的，所有这些都是 built in 的。&lt;/p&gt;
 &lt;p&gt;2、开发环境。c/c++/java/perl/python/php/ruby/lisp，各种 shell，应有尽有，直接支持，非常方便。你要在 windows 上开发 C++，要装个 Visual Studio 编译器吧？或者其他的 C++ 编译器；你要开发 Java，你要下载 Java SDK 吧，说不定还要一个 Elipse 或者 Netbean；你要用 Perl，要安装一个 Perl 解释器吧，Active Perl？你要 python/php/ruby，你要安装……？开发程序需要库，图像处理，视频处理，人工智能之类大部分库都是只支持 Unix/Linux 的。Mac 基于 Unix，所以这些通通都和 Mac 能很好和睦相处。&lt;/p&gt;
 &lt;p&gt;3、编辑器 Vi/Emac。作为 程序员/IT 人员一个好用的编辑器太重要了，因为写程序/改系统配置都需要编辑器。我在 Mac 上差不多1/2的时间是 browser/email，另外1/2时间差不多就是 Vi 了。&lt;/p&gt;
 &lt;p&gt;4、没有病毒/木马。用了5年多的 Mac 就没看到病毒长成什么样，我还看不到 Mac 上装杀毒软件的需要。&lt;/p&gt;
 &lt;p&gt;5、不需要维护。Mac 买来就直接用，磁盘碎片整理？不需要。装驱动？Mac 装好了，驱动就好了。重装系统？我5年没有重装过一次（期间换了几次不同的 Mac）。&lt;/p&gt;
 &lt;p&gt;6、简洁。Mac 上所有的操作都简洁到了极致，尽量避免干扰用户，增加了程序员的生产力。比如切换无线网功能，在 Mac 上切换只需要1次鼠标点击就可以完成，在 windows 上需要点击多次鼠标（包括一些很愚蠢的确认对话框）；再比如卸载 USB 盘，Mac 只需要1次鼠标点击，windows 至少需要点击右下角图标、停止设备、确认对话框等多次点击。&lt;/p&gt;
 &lt;p&gt;7、多窗口切换。这个很方便管理打开的程序/文档。我经常要在多个虚拟窗口切换，比如看浏览网页/邮件一个窗口，写程序/文档一个窗口。&lt;/p&gt;
 &lt;p&gt;8、程序员文化。国外程序员是以 Unix 为主流成长起来的。这一点和国内不同，中国程序员/开发人员大都是从90年代的 DOS 开始的，随着 Windows 的壮大，成长了一批使用 Microsoft 工具的程序员。这也解释了为什么自从 Mac 切换到 Unix 阵营后，Mac 会发展这么快。基于 Unix 的 Mac 一经推出后，迅速赢得了一大批老 Unix hacker 和新 Web 2.0/Linux hacker 的关注，正是因为这些忠实的 fans 影响了他们的人际网络，圈子，博客，从而影响了整个程序员文化。有点像 Ruby on Rails，开始是一小部分人（精英人士）试用，这些人感觉不错就在博客，研讨会等各种场合鼓吹，从而在 Web 开发领域刮起一阵 Ruby 风。&lt;/p&gt;
 &lt;p&gt;9、苹果很酷。每台电脑，每个系列都设计完美，从包装盒，宣传册，广告，电源线，电脑内部，电脑外观，电脑软件都精心设计，风格统一。甚至微小到螺丝，看过苹果机箱上的螺丝，机箱里面的数据线吗？那个也是设计。每个 Mac 上都标记着：Designed by Apple in California，而不是 Desgined in USA，苹果就是这么酷，“我们是一家加州公司”。苹果的保密措施可以说做到了极致，产品官方不发售就在市场上看不到踪影。&lt;/p&gt;
 &lt;p&gt;10、企业家精神。苹果的传奇经历吸引了大批硅谷创业者，Apple/Google/Microsoft/Amazon/eBay/Yahoo 代表了创新，进取的企业家精神。这不是一个大原因，但可以看作是 Mac 在国外，尤其是在美国，尤其是在硅谷，尤其是在大学这么流行的一个小原因吧。据调查2007年美国大学 Mac 市场占有率第一，这些大学精英们毕业以后走上工作岗位，走上社会，再过几年其中一部分走入中层，走进高层，他们会如何影响 Mac 呢？&lt;/p&gt;
 &lt;p&gt;如果对于类似讨论有兴趣可以看看 VPSee 在 Top Language 讨论组上的回复：  &lt;a rel="nofollow" target="_blank"&gt;[TL] Re: [初级] 为何要选择 Mac？&lt;/a&gt;对了，你如果还是对上面那张图片有所怀疑的话，可以看看下面这张图片，来自最近的   &lt;a href="http://techcrunch.com/2010/05/22/over-300-battle-at-disrupt-hackathon/" rel="nofollow" target="_blank"&gt;TechCrunch Hacker 大会&lt;/a&gt;。&lt;/p&gt;
 &lt;p&gt;  &lt;img alt="hackathon" height="334" src="http://www.techug.com/wordpress/wp-content/uploads/2015/02/hackathon.jpg?ab9029" width="500"&gt;&lt;/img&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>业界观察</category>
      <guid isPermaLink="true">https://itindex.net/detail/52807-%E7%A8%8B%E5%BA%8F%E5%91%98-%E8%8B%B9%E6%9E%9C-mac</guid>
      <pubDate>Thu, 26 Feb 2015 21:13:18 CST</pubDate>
    </item>
    <item>
      <title>走过12个年头，普及程度“令人发指”的WordPress宣布代码开源</title>
      <link>https://itindex.net/detail/54736-wordpress-%E5%B8%83%E4%BB%A3-%E5%BC%80%E6%BA%90</link>
      <description>&lt;p&gt;  &lt;img alt="&amp;#36208;&amp;#36807;12&amp;#20010;&amp;#24180;&amp;#22836;&amp;#65292;&amp;#26222;&amp;#21450;&amp;#31243;&amp;#24230;&amp;#8220;&amp;#20196;&amp;#20154;&amp;#21457;&amp;#25351;&amp;#8221;&amp;#30340;WordPress&amp;#23459;&amp;#24067;&amp;#20195;&amp;#30721;&amp;#24320;&amp;#28304;" src="http://7xil86.com2.z0.glb.qiniucdn.com/uploads/images/2015/11/110.png" title="&amp;#36208;&amp;#36807;12&amp;#20010;&amp;#24180;&amp;#22836;&amp;#65292;&amp;#26222;&amp;#21450;&amp;#31243;&amp;#24230;&amp;#8220;&amp;#20196;&amp;#20154;&amp;#21457;&amp;#25351;&amp;#8221;&amp;#30340;WordPress&amp;#23459;&amp;#24067;&amp;#20195;&amp;#30721;&amp;#24320;&amp;#28304;"&gt;&lt;/img&gt;&lt;/p&gt;
 &lt;p&gt;【宋长乐/钛媒编辑】提到WordPress，大多数人并不陌生，因为地球上有四分之一的网站都在采用Wordpress架构。对于用户来说，WordPress 受欢迎的原因不仅在于其降低了开发网站的门槛，甚至让不懂编程语言（PHP）的小白也能搭建一个自己的网站。&lt;/p&gt;
 &lt;p&gt;如今，在刚刚走过12个年头的WordPress宣布代码全部开源了，WordPress创始人Matt Mullenweg激动的在官网写下如此一番话：&lt;/p&gt;
 &lt;blockquote&gt;  &lt;p&gt;Open source is the most powerful idea of our generation. I’m proud to take our intellectual property crown jewels and open Calypso up to the world for the community to hack on, play with, poke, prod, and extend and make their own. This is the same spirit of sharing which has allowed WordPress to become a de facto web operating system over the past decade. It may take time, but open will win over closed every time.&lt;/p&gt;&lt;/blockquote&gt;
 &lt;p&gt;  &lt;img alt="&amp;#36208;&amp;#36807;12&amp;#20010;&amp;#24180;&amp;#22836;&amp;#65292;&amp;#26222;&amp;#21450;&amp;#31243;&amp;#24230;&amp;#8220;&amp;#20196;&amp;#20154;&amp;#21457;&amp;#25351;&amp;#8221;&amp;#30340;WordPress&amp;#23459;&amp;#24067;&amp;#20195;&amp;#30721;&amp;#24320;&amp;#28304;" height="318" src="http://www.techug.com/wordpress/wp-content/uploads/2015/11/%E5%B1%8F%E5%B9%95%E5%BF%AB%E7%85%A7_2015-11-24_%E4%B8%8A%E5%8D%8810.png?51443c" title="&amp;#36208;&amp;#36807;12&amp;#20010;&amp;#24180;&amp;#22836;&amp;#65292;&amp;#26222;&amp;#21450;&amp;#31243;&amp;#24230;&amp;#8220;&amp;#20196;&amp;#20154;&amp;#21457;&amp;#25351;&amp;#8221;&amp;#30340;WordPress&amp;#23459;&amp;#24067;&amp;#20195;&amp;#30721;&amp;#24320;&amp;#28304;" width="660"&gt;&lt;/img&gt;&lt;/p&gt;
 &lt;p&gt;代码全部开源意味着WordPress平台的更进一步，它不但完全释放了控制权，还释放了所有权。值得一提的是，这次wordpress.com的开源部分，全部用 javascript 重写管理后台。后台用node.js，前台的部分技术是react，在theme部分用react （虽然看不懂，但依然觉得很NB的样子。嗯，不明觉厉！），反正WordPress官网用到了更快速、更实时、响应更灵敏等词语来描述。&lt;/p&gt;
 &lt;p&gt;代码开源之外，Wordpress 还推出了一款让站点维护更加容易的桌面应用。以Mac版为例，最大的改变是你的博客可以装进Dock中了。WordPress官方表示，这可以让用户专注于内容创作和评论回复，而不被浏览器中开了关、关了开的标签页所分心。&lt;/p&gt;
 &lt;p&gt;除了Mac版本，Linux和Windows版本也同样已经在路上，相信用不了不久就会正式发布。&lt;/p&gt;
 &lt;p&gt;与此同时，升级后的JetPack插件（网站和应用），使得用户可以管理WordPress.com站点和自托管的博客、并且执行站点的备份。&lt;/p&gt;
 &lt;p&gt;JetPack是Wordpress在2011年推出的一个 WP 云插件，可以说把 WordPress 的用户们带进了博客云时代，WordPress 的 JectPack 将替代 20 至 30 个插件的功能，其中包含分享功能的插件将会提供给个人用户免费使用，这无疑会给 WordPress 更强的生命力和活跃度。&lt;/p&gt;
 &lt;p&gt;可以说，  &lt;strong&gt;只要你是 WP 的用户那你就是 WP 大家族的一员，有了JetPack，所有用户就再也不会因你的服务器在哪里而不同。&lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt;除了站点创建工具，WordPress今天还推出了新款Discover发现工具，旨在帮助用户轻松发现感兴趣的新站点和博客文章。&lt;/p&gt;
 &lt;p&gt;事实上，全球范围内开源内容管理系统也不只WordPress一个，根据W3Techs统计报告显示，W3Techs识别了网站使用的内容管理系统，WordPress的使用率从2011年起一直在增长，截止到11月，它的市场占有率已从13.1%增加到25.0%，排名第二的是Joomla，只有2.8%，之后是Drupal的2.1%，Magento的1.2%、Blogger的1.2%，其余的都低于1%。&lt;/p&gt;
 &lt;p&gt;这也恰恰印证了全球每四个网站中就有一个运行开源内容管理系统WordPress，WordPress的普及程度完全可以用“令人发指”来形容。&lt;/p&gt;
 &lt;p&gt;但其实，回顾WordPress的历史，最开始 WordPress 只不过是一个功能很一般的程序，涉及的技术只有PHP语言和MySQL两项，WordPress 盈利来源也仅限于付费VIP托管、WordAds广告服务以及WordPress.com增值服务等几种方式。&lt;/p&gt;
 &lt;p&gt;但正是由于它开放的平台和生态才铸就了今天的辉煌，直至渗透至互联网的各个角落。最后借用一位行业人士的评论结束：随着代码开源，WordPress 不仅仅是作为一个开放平台存在，未来它会比Facebook更有影响力。&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>业界观察</category>
      <guid isPermaLink="true">https://itindex.net/detail/54736-wordpress-%E5%B8%83%E4%BB%A3-%E5%BC%80%E6%BA%90</guid>
      <pubDate>Thu, 26 Nov 2015 01:53:13 CST</pubDate>
    </item>
    <item>
      <title>著名的密码恢复工具Hashcat password cracker开源</title>
      <link>https://itindex.net/detail/54894-%E5%AF%86%E7%A0%81-%E5%B7%A5%E5%85%B7-hashcat</link>
      <description>&lt;p&gt;Hashcat工具的开发者Jens ‘Atom’ Steube宣布将Hashcat的源代码进行开放。Hashcat和oclHashcat是广大侵入测试员及安全专家常用的高级密码恢复和破解工具，该工具基于CPU和GPU，可跨平台使用。Hashcat及其变种版oclHashcat的代码现在都可以从GitHub上获得。开源声明发布后，在GitHub上的相关讨论区内也引发了激烈的讨论。&lt;/p&gt;
 &lt;p&gt;Atom在一篇论坛文章中介绍道，之前对是否开放源代码进行过一些讨论，但那时仍有一些问题有待解决。Hashcat现在采用了MIT许可证，可以与许多Linux发行版（如Ubuntu）集成，用于Kali Linux的软件包也正在开发中，预计在今后发布。&lt;/p&gt;
 &lt;p&gt;Atom写道：“Hashcat开源后，集成外部库变得十分简便。之前由于许可证问题，几乎不可能集成外部库。一些crypto库需要非常严格的许可证，而且不允许在二进制文件中集成其代码。即便可以集成，所需的前提条件也非常严苛。针对这一点，Hashcat及oclHashcat不需要任何外部库，但有时仅仅解析自身的hash就十分复杂，甚至比GPU内核本身更具挑战性。GPG就是一个很好的例子，如果Hashcat和oclHashcat的源代码开放，就能够很容易地添加GPG。”&lt;/p&gt;
 &lt;p&gt;由于苹果公司对内核代码的离线编译进行了限制，因此OS X操作系统不支持Hashcat。但随着Hashcat的开源，使用Mac的开发者可以用苹果协议编译内核，因此，支持oclHashcat的OS X系统现在也成为了可能。&lt;/p&gt;
 &lt;p&gt;Atom等开发者计划把Hashcat和 oclHashcat最终合并为一个项目，统一称为“Hashcat”。项目合并的基本思路是：将当前的oclHashcat作为基础merge分支（目前开发者的大部分精力都用在了oclHashcat项目上），接下来将Hashcat归入oclHashcat，最后将项目名称更改为“Hashcat”。这项合并工作意义重大，其难度也不容忽视，短期内难以完成。不过在代码开源之后，开发社区的朋友们众人拾柴火焰高，也可能会使合并工作完成得更快。&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>业界观察</category>
      <guid isPermaLink="true">https://itindex.net/detail/54894-%E5%AF%86%E7%A0%81-%E5%B7%A5%E5%85%B7-hashcat</guid>
      <pubDate>Fri, 18 Dec 2015 01:04:22 CST</pubDate>
    </item>
    <item>
      <title>锤子CTO钱晨：加班要么是你笨，要么是工作安排不合理</title>
      <link>https://itindex.net/detail/54838-%E9%94%A4%E5%AD%90-cto-%E5%8A%A0%E7%8F%AD</link>
      <description>&lt;p&gt;锤子科技的 CTO 钱晨博士今年 53 岁，他把有些许灰白的头发剃得很短，显得精神抖擞。加入锤子科技前，他在中国手机界的黄埔军校摩托罗拉北京研发中心工作了 13 年，离开时任职高级工程经理。&lt;/p&gt;
 &lt;p&gt;1998 年，36 岁的钱晨入职 MOTO，在之后的 13 年里，钱晨从一名普通工程师，做到工程产品经理，再之后负责管理 ODM（原始设计商）。在 MOTO 的初创阶段，钱晨以一年升一级的速度快速晋升。&lt;/p&gt;
 &lt;p&gt;雷军曾经在一次采访中提到，他前后花了三个月时间，想邀请钱晨加盟小米，最终未能成行。罗永浩随后抓住机会，磨了半年，说服钱晨入职锤子科技，担任 CTO。&lt;/p&gt;
 &lt;p&gt;他经历过国营单位、跨国企业和创业公司；他喜欢收藏字画古玩、爱饮茶讲风水；他自己连续 4 年每晚加班到 11 点，却不认同手下的人加班；他认为好的福利意味着公司堕落，每年四十天年假他从未享受过。&lt;/p&gt;
 &lt;p&gt;Lagou 约到了钱晨博士，跟他聊了聊他眼中的职场与人生。“不是倚老卖老，是因为这些事儿自己都摔过疼过，所以能谈谈。”&lt;/p&gt;
 &lt;p&gt;  &lt;img alt="&amp;#38180;&amp;#23376; CTO &amp;#38065;&amp;#26216;&amp;#65306;&amp;#19981;&amp;#20329;&amp;#26381;&amp;#26377;&amp;#25163;&amp;#33402;&amp;#30340;&amp;#20154;&amp;#65292;&amp;#20329;&amp;#26381;&amp;#26377;&amp;#26041;&amp;#21521;&amp;#24863;&amp;#30340;&amp;#20154;" height="426" src="http://www.techug.com/wordpress/wp-content/uploads/2015/12/66372-20151211122413074-816236309.jpg?51443c" title="&amp;#38180;&amp;#23376; CTO &amp;#38065;&amp;#26216;&amp;#65306;&amp;#19981;&amp;#20329;&amp;#26381;&amp;#26377;&amp;#25163;&amp;#33402;&amp;#30340;&amp;#20154;&amp;#65292;&amp;#20329;&amp;#26381;&amp;#26377;&amp;#26041;&amp;#21521;&amp;#24863;&amp;#30340;&amp;#20154;" width="640"&gt;&lt;/img&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;“加班是因为你笨”&lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt;钱晨入职 MOTO 后，前 4 年里几乎天天加班。“每天早晨 9 点到，晚上 11 点走。但我从来不觉得这是值得炫耀的东西，要学的东西太多了，当时根本学不完。”&lt;/p&gt;
 &lt;p&gt;在锤子当 CTO 以后，钱晨开始寻找能在 8 小时内做完事的下属。&lt;/p&gt;
 &lt;blockquote&gt;  &lt;p&gt;“我认为生活更重要。我给工程师们提的要求是，不希望看到他们加班。我看到他加班就意味着，要么是他太笨，要么是老板对他的工作安排不合理，或者他答应我的工作不合理。”&lt;/p&gt;&lt;/blockquote&gt;
 &lt;p&gt;  &lt;strong&gt;锤子硬件团队现在的氛围是，钱晨不加班，他走的时候从不去看手下的工程师是否加班。他认为加班文化是一种恶俗文化，如果有公司倡导加班文化，那说明这个公司在赤裸裸地剥削。&lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt;提到在 MOTO 四年的加班，他说那是自己乐意。“我有我的追求，我想做更大的事儿，我想在短时间内做更多的事儿。因为只有实验室有条件让我去做，回家干不了。”第五年，钱晨成为领导，开始投入到对字画、手表、古玩的研究中，生活里的各种乐趣出现，他慢慢不再加班。&lt;/p&gt;
 &lt;p&gt;如果在公司里能学到东西，如果有做大事的追求，如果觉得生活无聊不如工作，那就去加班吧。但记住，千万不要跟老板炫耀，千万不要忘了生活。&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;“学不到东西的时候，就是离开的时候”&lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt;MOTO 是一个按照级别排位的公司，从 1 级开始，最高 18 级。1998 年，钱晨入职时被定为 8 级员工。&lt;/p&gt;
 &lt;p&gt;之后的 4 年，钱晨以一年一级的节奏快速晋升。2002 年，钱晨升到 12 级，成为高级工程经理。后 9 年，钱晨一直呆在这个位置上。&lt;/p&gt;
 &lt;p&gt;“9 年里，很多猎头来挖，但我没走。MOTO 这个学校太大，有很多东西要学。”钱晨把自己在 MOTO13 年的工作经历划分成三段，先是做工程师，学工程和设计；然后当工程产品经理，学习开发与设计产品；再之后管理 ODM，学习把 MOTO 好的设计与产品质量标准传达出去。&lt;/p&gt;
 &lt;p&gt;MOTO 是当时全国待遇最高的外企之一，很多漂亮的姑娘在这里做前台。“2003 年 MOTO 一个前台可以拿到六七千的工资。但是有什么职业生涯吗？前台再往上还能做什么，做到秘书，然后呢，没了。”&lt;/p&gt;
 &lt;blockquote&gt;  &lt;p&gt;“公司大小，工资，福利，这些都不重要。你在一个公司，要看自己是在一个节点上，还是在一根线上。如果你在一个节点，你会看到四个方向，而如果你在一根线上趴着，你就只能看到这根线。”&lt;/p&gt;&lt;/blockquote&gt;
 &lt;p&gt;比如销售是节点部门，它上接产品，下接客户。广告可能就不是节点部门，因为它处于产品末端。“我在 MOTO 呆了那么久，一直处在节点部门，我做研发，跟生产、销售、品质都在打交道。”&lt;/p&gt;
 &lt;p&gt;假如你在公司的市场部负责售卖一款肥皂，销量不好。你并不知道这款肥皂卖这个价格，也不知道销量不好的原因是价格不合理或者品质问题亦或其他原因。你没有参与任何与之相关的促销决策或者市场分析。那么这时候，你就不在一个节点岗位上，而只是一个执行者。&lt;/p&gt;
 &lt;blockquote&gt;  &lt;p&gt;“如果这个人够聪明，几年后他会成为节点。他会去观察别人怎么卖，其他商家为什么能卖出去。但如果他傻卖，混日子，天天想着吃饭晒微博。他以为这就是生活，其实这不是。因为他在这个公司没有未来，他学不到东西。”&lt;/p&gt;&lt;/blockquote&gt;
 &lt;p&gt;当你觉得学不到东西的时候，就是离开的时候。&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;“我在 MOTO 被训练的是眼光和志向”&lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt;钱晨离开 MOTO 是 2011 年，当时 MOTO 还未被谷歌收购。“但从公司的种种迹象上来开，我觉得它做的都是要卖的动作，所以我就走了。”&lt;/p&gt;
 &lt;p&gt;钱晨读过人大的 EMBA，用他的话来说，虽然特无聊，连毕业证也没要，但还是学了一些观察公司的基本方法。&lt;/p&gt;
 &lt;p&gt;离开 MOTO 时，钱晨对手机行业不再有热情。他转而投身上游的芯片生产企业，入职 Marvell 芯片公司，担任硬件总监。“但这个公司超级无聊，胸无大志，最近也解散了。”&lt;/p&gt;
 &lt;blockquote&gt;  &lt;p&gt;“我在 MOTO 被训练的根本不是怎么做事，训练的是眼光和志向。公司的价值观很重要，要去有追求的公司。看他们员工最有兴趣的点是什么。MOTO 和诺基亚到了最后，员工最有兴趣的点都变成这个公司福利好。”&lt;/p&gt;&lt;/blockquote&gt;
 &lt;p&gt;在钱晨看来，福利好是一种堕落的公司文化，他不看好谷歌。“谷歌一再宣扬自己福利好，但是真正有本事的人，他会在乎这件事吗？没本事才在乎这个。”&lt;/p&gt;
 &lt;p&gt;在 MOTO 工作的后期，钱晨每年有四十天年假，但他从未享受过。“如果我休八周假，这意味着什么，意味着我在公司没有价值。你说是选择休息四十天，还是让自己变得更有价值一点？”&lt;/p&gt;
 &lt;p&gt;刚入职 MOTO 时，作为 8 级员工，钱晨月薪九千。加班 4 年成为 12 级领导后，月薪 3 万。“3 万可以生活无忧了，但能以此为乐趣吗？工资高都是相对的，最重要的是你获取的乐趣在哪里。”&lt;/p&gt;
 &lt;p&gt;加入锤子科技后，钱晨开心了不少。&lt;/p&gt;
 &lt;blockquote&gt;  &lt;p&gt;“这里有很多特别年轻有活力的人，我看他们是如何看待一个产品，尤其是他们如何敢冒险。他们看似散漫，但做起事却有灵气，这些我在摩托已经看不到了。老罗天天跟他们乐此不疲地折腾这件事，我也跟着老罗天天嗨，让自己眼界又开阔了。”&lt;/p&gt;&lt;/blockquote&gt;
 &lt;p&gt;  &lt;strong&gt;“喜欢聪明而焦虑的工程师”&lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt;“我认为工程师必备的素质，是聪明。如果他聪明同时充满焦虑，我就会很喜欢。”钱晨说。&lt;/p&gt;
 &lt;p&gt;他对聪明的解读是，思维方式多样，有考虑问题的综合能力。招聘的时候，他会问“喜马拉雅山和乞力马扎罗山有什么共同点”，看应聘者能否总结出两者的共性。&lt;/p&gt;
 &lt;p&gt;另一个要求是耐压。工作一定有压力，不会天天快乐。所以他会问应聘者，“假如你在街上看见一个流氓，他抽你一嘴巴，你怎么办？”或者直接说，“笔试成绩这么差，还好意思来面试吗？”&lt;/p&gt;
 &lt;p&gt;对这些问题的回答能够看出一个人是否乱了方寸，钱晨需要聪明与耐压的员工。“这是基本需求，进来以后再慢慢练，慢慢淘，淘出一些沟通能力好，有大视野的人。”&lt;/p&gt;
 &lt;p&gt;优秀的硬件工程师是用钱砸出来的，十年成就一个。&lt;/p&gt;
 &lt;blockquote&gt;  &lt;p&gt;“我们让你做一个很小的东西，这个小东西是形式，关键看你怎么把它化成一个有高度的东西。&lt;/p&gt;
  &lt;p&gt;首先，让老板觉得你是个有效率的人。   &lt;br /&gt;
第二，让老板觉得你是个有方法的人。   &lt;br /&gt;
第三，让老板觉得你是个勤快的人。”&lt;/p&gt;&lt;/blockquote&gt;
 &lt;p&gt;让老板感受到这几点，不需要拍马屁，只需要 Value added (增值)。给老板增值，给部门加分。&lt;/p&gt;
 &lt;p&gt;如果你是电子工程师，那么做完一个小物件，要整理成一个有信息干量的东西给老板。老板会观察你，觉得这小家伙还可以多做一点，就又给你多加一点。加完一点你又完成，他觉得还可以再给你加一点。逐渐你的面就宽了，做的东西会越来越多。&lt;/p&gt;
 &lt;blockquote&gt;  &lt;p&gt;“我带工程师的时候，觉得最重要的是给他成长的空间。一个是知识的成长，一个是眼力的成长。如果一个小孩有这两方面的成长，我就会特有成就感。”&lt;/p&gt;&lt;/blockquote&gt;
 &lt;p&gt;在以“工匠精神”著称的锤子科技，钱晨曾经这样解读过他眼中的工匠精神：做事认真，光认真不够，还要大气，还要有智慧。你要有创新，要有自己的设计语言。自己不原谅自己，这是一个关键点。要想出别人想不出的东西。&lt;/p&gt;
 &lt;p&gt;但即便如此，工匠在钱晨眼中依然称不上优秀。&lt;/p&gt;
 &lt;blockquote&gt;  &lt;p&gt;“我不佩服有手艺的人，我佩服有方向感的人。Rudy Krolopp 是 MOTO 当年发明第一部移动电话的人，我佩服。乔布斯是第一个发明 smart phone 的人，我佩服。他们给大家带来了新的生活方式，剩下的事真的就只是做个好工匠而已。”&lt;/p&gt;&lt;/blockquote&gt;
 &lt;p&gt;在网络上，钱晨给自己取名“工头 Jeff”，他没将自己定义为牛人，“真正的大公司都是靠体系结构活着，MOTO 当年像我这样的人有上百个。”但罗永浩依然认为自己挖到了宝，找到了最合适的 CTO。  &lt;br /&gt;
来自: lagounews&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>业界观察</category>
      <guid isPermaLink="true">https://itindex.net/detail/54838-%E9%94%A4%E5%AD%90-cto-%E5%8A%A0%E7%8F%AD</guid>
      <pubDate>Sat, 12 Dec 2015 01:14:31 CST</pubDate>
    </item>
    <item>
      <title>让你的软件永生的7个规则</title>
      <link>https://itindex.net/detail/53951-%E8%BD%AF%E4%BB%B6-%E6%B0%B8%E7%94%9F-%E8%A7%84%E5%88%99</link>
      <description>&lt;p&gt;生命会逝去，但一个好的软件不会。&lt;/p&gt;
 &lt;p&gt;要想写出一个“永垂不朽”的软件，关键是你能否遵循以下规则：&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;1. 模块化&lt;/strong&gt;&lt;/p&gt;
 &lt;blockquote&gt;  &lt;p&gt;规则1：模块化。在一个模块中找 bug 总比在整个代码库里找简单得多。&lt;/p&gt;&lt;/blockquote&gt;
 &lt;p&gt;人脑是极其复杂的生物，可以设计出能处理复杂问题的 CPU，但自我本身却处理不来这些问题。想要证明吗？那么告诉我，在不使用任何计算器，纯心算的条件下，你能算出 13*35 是多少么。我敢打赌，你不能。至少在短时间内你办不到。&lt;/p&gt;
 &lt;p&gt;但是，我们擅长将复杂的问题分解为更容易解决的问题。&lt;/p&gt;
 &lt;blockquote&gt;  &lt;p&gt;13*10 是多少？ 130。&lt;/p&gt;
  &lt;p&gt;13*5 呢？那就是 130/2=65。&lt;/p&gt;
  &lt;p&gt;130*3？ 390。&lt;/p&gt;
  &lt;p&gt;390+65 是多少？ 455。答案就是它了！&lt;/p&gt;&lt;/blockquote&gt;
 &lt;p&gt;这就是如何分解问题的一个事例：将一个大型的复杂问题分解为一个个独立的小型的简单问题，从而快速得出正确的答案。&lt;/p&gt;
 &lt;p&gt;我们也可以按照同样的逻辑对待软件。模块化的代码不仅易于阅读，而且更容易调试。在大多数情况下，堆栈跟踪只会导致非常小的代码子集，而不是一下子出来个 1000 行代码的文件。甚至在更新某个特定模块时，也不需要捣腾整个系统——只要正在更新的那部分就可以了。&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;2. 测试&lt;/strong&gt;&lt;/p&gt;
 &lt;blockquote&gt;  &lt;p&gt;规则2：任何不经过测试的代码都是耍流氓。&lt;/p&gt;&lt;/blockquote&gt;
 &lt;p&gt;很多人认为测试和写软件是两码事，即使是在学校中，教师会教你如何使用 C ++ 模板，却不会告诉你如何测试。在线教程能教你如何在 Brainfuck 制作 web 服务器，却不会说明如何测试。而这就是问题的所在。&lt;/p&gt;
 &lt;p&gt;有人说，我们应该在编写实际的应用程序逻辑之前就先写好测试。&lt;/p&gt;
 &lt;p&gt;但是在我看来，什么时候写测试其实并没有关系，只要写了就 ok。不要试图一步登天，不要想着刚开始就写得出完美的测试：从简单的起步。用蛮力方式测试（如 print（add（1，1）=2）），然后再测试对应语言的框架。&lt;/p&gt;
 &lt;p&gt;测试有助于我们了解软件的复杂性。你可以学到如何将软件模块化为可以独立的测试件。&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;3. 持续集成&lt;/strong&gt;&lt;/p&gt;
 &lt;blockquote&gt;  &lt;p&gt;规则3：使用持续集成。只要出现问题代码，就会通知你。&lt;/p&gt;&lt;/blockquote&gt;
 &lt;p&gt;你写的测试，你必须确保可以应用于多种环境（例如 Python 的多个版本）。并且如果需要作出任何改动，也得测试。&lt;/p&gt;
 &lt;p&gt;当然你也可以手动操作命令行，但是使用持续集成的平台更方便，更快捷，成本更低。&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;4. 自动化&lt;/strong&gt;&lt;/p&gt;
 &lt;blockquote&gt;  &lt;p&gt;规则4：自动化。自动化可以减少步骤，节约时间。&lt;/p&gt;&lt;/blockquote&gt;
 &lt;p&gt;我看到很多人会存储命令 txt 文件，以便需要的时候可以复制粘贴。我建议你不妨学习 bash 脚本（和/或 Python）。&lt;/p&gt;
 &lt;p&gt;以下是一些你必须自动化的 bash 脚本任务：&lt;/p&gt;
 &lt;ul&gt;
  &lt;li&gt;将 README.md 转换为其他格式（取决于不同的分销渠道要求）&lt;/li&gt;
  &lt;li&gt;自动化测试（包括创建模拟服务器和/或数据，删除临时文件等）。&lt;/li&gt;
  &lt;li&gt;阶段化代码给开发服务器。&lt;/li&gt;
  &lt;li&gt;部署到生产。&lt;/li&gt;
  &lt;li&gt;自动化的更新依赖（特别是当更新有可能会破坏现有的 API 时，尤其要小心）。&lt;/li&gt;
&lt;/ul&gt;
 &lt;p&gt;  &lt;strong&gt;5. 冗余&lt;/strong&gt;&lt;/p&gt;
 &lt;blockquote&gt;  &lt;p&gt;规则5：冗余版本控制：不要仅依赖于 Git，可以使用多个同步异地的远程遥控，增加冗余。&lt;/p&gt;&lt;/blockquote&gt;
 &lt;p&gt;俗话说，鸡蛋不能放在同一个篮子里。如果你的代码只托管在 Github 上，那么一旦 Github 出现故障等，你的工作流程就会受影响。&lt;/p&gt;
 &lt;p&gt;给你个参考，我的代码是这么存储的：&lt;/p&gt;
 &lt;ul&gt;
  &lt;li&gt;所有代码都放在 Dropbox 的“Codebase”文件夹中。自动同步变化。&lt;/li&gt;
  &lt;li&gt;在 Github 也放上几乎所有的代码。&lt;/li&gt;
  &lt;li&gt;最重要的代码，则同时放在两处比较秘密的地方。&lt;/li&gt;
&lt;/ul&gt;
 &lt;p&gt;你看，除非世界末日，不然我的代码怎么搞也不会丢失。&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;6. 提交&lt;/strong&gt;&lt;/p&gt;
 &lt;blockquote&gt;  &lt;p&gt;规则6：提交：做一点小小的改变，然后频繁提交，不要出现问题代码。&lt;/p&gt;&lt;/blockquote&gt;
 &lt;p&gt;很多程序员将版本控制系统当作是备份方式，而非维护历史的一种手段。要知道，像这些历史信息是没用的，除非你想要做的只是检索文件。&lt;/p&gt;
 &lt;p&gt;在你提交改动信息一个星期后，因为发现引入了一个新的 bug，所以你需要恢复原先的内容。但是现在，因为你提交的信息已经覆盖了原先的信息，那么你就只能慢慢摸索原来是怎么写的了。&lt;/p&gt;
 &lt;p&gt;版本控制系统，正是为了防止出现这样的情况。&lt;/p&gt;
 &lt;p&gt;如果你觉得写出好的提交很难，那么可以按照下面这个模板走：&lt;/p&gt;
 &lt;ul&gt;
  &lt;li&gt;每次提交都应该有一个目的。确定是修复 bug，添加新的功能，还是删除现有的功能？&lt;/li&gt;
  &lt;li&gt;改动一次提交一次。&lt;/li&gt;
  &lt;li&gt;提交信息包括发布排序号码。&lt;/li&gt;
  &lt;li&gt;提交描述中应说明改动情况。这取决于项目的指导方针，通常包括是什么造成了 bug，如何修复，以及如何对改动进行测试。&lt;/li&gt;
  &lt;li&gt;提交信息应写得明白易懂。&lt;/li&gt;
&lt;/ul&gt;
 &lt;p&gt;  &lt;strong&gt;7. 计划&lt;/strong&gt;&lt;/p&gt;
 &lt;blockquote&gt;  &lt;p&gt;规则7：有计划：为最坏的情况作准备。如果确实出现了错误应怎么做？在文件中详细说明这些步骤。&lt;/p&gt;&lt;/blockquote&gt;
 &lt;p&gt;即使照着上面的 6 条规则一丝不苟地执行，写出来软件也不可能尽善尽美。如果你曾这样想过，那就未免过于天真了。&lt;/p&gt;
 &lt;p&gt;不怕一万，就怕万一。&lt;/p&gt;
 &lt;p&gt;可以制定一个计划，为最坏的情况作准备。如果网站流量一下子太多了怎么办？出现未知 bug，导致系统瘫痪，可以到哪里去扒拉出备份？半夜三更服务器宕机，可以找谁？&lt;/p&gt;
 &lt;p&gt;好好考虑这些情况。但也不必过于杞人忧天。然后尽可能自动化可以自动化的步骤。&lt;/p&gt;
 &lt;p&gt;详细地记录到文档中。&lt;/p&gt;
 &lt;p&gt;  &lt;img alt="" height="695" src="http://www.techug.com/wordpress/wp-content/uploads/2015/07/071458485981505.png?9bae72" title="7-rules-software-not-die" width="455"&gt;&lt;/img&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;结束&lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt;记住，你的软件是你的遗产。它能活得多久完全取决于你。So，软件是朝生暮死还是永垂不朽，就看你怎么做了。&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>业界观察</category>
      <guid isPermaLink="true">https://itindex.net/detail/53951-%E8%BD%AF%E4%BB%B6-%E6%B0%B8%E7%94%9F-%E8%A7%84%E5%88%99</guid>
      <pubDate>Thu, 23 Jul 2015 10:31:39 CST</pubDate>
    </item>
    <item>
      <title>好代码的科学定义</title>
      <link>https://itindex.net/detail/53736-%E4%BB%A3%E7%A0%81-%E7%A7%91%E5%AD%A6-%E5%AE%9A%E4%B9%89</link>
      <description>&lt;p&gt;你如何定义好的代码？本文通过咨询 65 个开发人员同一个问题从而得出了一个伪科学的答案。&lt;/p&gt;
 &lt;p&gt;首先我们相信写好代码是非常重要的。为什么呢？首先，好代码比差代码更有趣，成本更低。其次，代码好，就意味着你正在构建的产品有可能会更好。第三，也是非常关键的一点，写出好的代码是我们的职责：毕竟，我们的工作就是写代码。&lt;/p&gt;
 &lt;p&gt;  &lt;img alt="Good code measure is wtf/minute by osnews" height="471" src="http://www.techug.com/wordpress/wp-content/uploads/2015/06/151648347296807.jpg?9bae72" width="500"&gt;&lt;/img&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;方法&lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt;由于此 65 名开发人员都是我们某个职位的应聘者，所以这意味着这些样品开发人员大多偏向于使用 Java 或 Scala 技能，并且通常有着 5 年及以上的工作经验。&lt;/p&gt;
 &lt;p&gt;问题统一：“怎样写好代码？你如何定义好代码？”并且在面试时由同一人（面对面或通过电话），历时约 1 年，从 2014 年 1 月至 2015 年 1 月，来执行此地调查。&lt;/p&gt;
 &lt;p&gt;梳理这些问题的答案之后，可以分为 31 个不同的类，每组至少有 2 个相似的答案。例如，下面这些答案通通归纳为可读一类：&lt;/p&gt;
 &lt;p&gt;可读。&lt;/p&gt;
 &lt;ul&gt;
  &lt;li&gt;人脑可阅读。&lt;/li&gt;
  &lt;li&gt;能自我解释。&lt;/li&gt;
  &lt;li&gt;人们能读懂。&lt;/li&gt;
  &lt;li&gt;很容易理解。&lt;/li&gt;
  &lt;li&gt;不用 5 分钟就能了解。&lt;/li&gt;
  &lt;li&gt;没有文档，你也可以阅读并理解。&lt;/li&gt;
  &lt;li&gt;可读，新来的开发人员也能够理解。&lt;/li&gt;
  &lt;li&gt;就如同文本一样可读。&lt;/li&gt;
  &lt;li&gt;易于阅读，直线化的思维。&lt;/li&gt;
&lt;/ul&gt;
 &lt;p&gt;  &lt;strong&gt;结果&lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt;这 65 位开发人员的答案总共统计出 288 条不同的内容，平均一个人 4.43 条。&lt;/p&gt;
 &lt;p&gt;当然，目前最常见的答案是，代码必须可读（78.46％），几乎 10 分之 8 的开发人员认为，好的代码应该易于阅读和理解。&lt;/p&gt;
 &lt;p&gt;然后是可测试的/测试过的（29.23％），这说明好的代码应当是经过自动化测试的（或至少是有可能执行测试的）。25% 的受访者认为，良好的代码还应该是简单的——不过于复杂，当然还应该是可以工作的，意味其能够按照我们的意愿正常执行功能。前五条是，代码应该是可维护的（21.54％）。&lt;/p&gt;
 &lt;p&gt;奇怪的是，我们发现有两项内容是关于同一主题的：文档和代码注释。有的开发人员认为代码应该自文档化（不需要用文档解释），而有些开发人员则表示应该在代码中着重于注解，说明代码目的。&lt;/p&gt;
 &lt;p&gt;其他的，如，可扩展的/可重复使用的，恰当的命名规律，代码解耦或者称为小方法的重要性——当然这个“小”在不同开发人员的眼中概念还不一样：“10-15 行”到“&amp;lt;50 行”莫衷一是。&lt;/p&gt;
 &lt;p&gt;  &lt;img alt="Characteristics of good code" height="500" src="http://www.techug.com/wordpress/wp-content/uploads/2015/06/151648345266336.png?9bae72" width="800"&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;ul&gt;
  &lt;li&gt;再怎么测试也不会发生崩溃。&lt;/li&gt;
  &lt;li&gt;不要创建那些并不需要的玩意儿。&lt;/li&gt;
  &lt;li&gt;任何人都需要写点注释。好不好以后自然会知道。&lt;/li&gt;
  &lt;li&gt;你看到它，它才有意义。&lt;/li&gt;
  &lt;li&gt;你需要了解业务目的。&lt;/li&gt;
  &lt;li&gt;你需要做的不仅仅是写代码。&lt;/li&gt;
  &lt;li&gt;不需要太过于特立独行。&lt;/li&gt;
  &lt;li&gt;差的代码也能做很多事情，但就是通通做不好。&lt;/li&gt;
&lt;/ul&gt;
 &lt;p&gt;开发人员重视代码的可读性和可理解性并不奇怪。但是令人有一点点惊讶的是，其余的回答却差不多至少有 50％ 的差异！&lt;/p&gt;
 &lt;p&gt;  &lt;img alt="How to write good code by xkcd" height="695" src="http://www.techug.com/wordpress/wp-content/uploads/2015/06/151648345732322.png?9bae72" width="455"&gt;&lt;/img&gt;&lt;/p&gt;
 &lt;p&gt;以下这四条就属于让人惊讶的后者：&lt;/p&gt;
 &lt;ul&gt;
  &lt;li&gt;可维护：因为我们大多数人都有过维护别人代码的经历（或者一段时间以后维护自己的代码），并且很有可能度过了一段非常悲惨的日子。所以，我们期待更多的开发人员能够编写出可维护的代码。可能有的人假设代码可读，那么一定易于维护，所以就忽略了这一条。&lt;/li&gt;
  &lt;li&gt;可工作：编写代码的目的，就是能够为他人提供价值。编写可工作的代码，是我们的首要任务之一。所以我们很惊讶为什么并不是每一个开发人员的答案中都囊括这一条。&lt;/li&gt;
  &lt;li&gt;可测试/已测试过的：测试的重要性在这里我就不多说了，相信大家已经听到过不知道几百遍了。&lt;/li&gt;
  &lt;li&gt;高效：话说，答案中包含“高效”的开发人员比强调“不可过早优化”的开发人员，要多两倍，而众所周知，“过早的优化是万恶之源”，所以，这太让人纳闷了。&lt;/li&gt;
&lt;/ul&gt;
 &lt;p&gt;  &lt;strong&gt;　　最后，我们总结出好代码的定义：&lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt;“好的代码是可读的，可理解的，覆盖了自动化测试的，不过于复杂，并且能办好我们需要它做的事情。”&lt;/p&gt;
 &lt;p&gt;听起来就相当美，right？&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>业界观察 代码</category>
      <guid isPermaLink="true">https://itindex.net/detail/53736-%E4%BB%A3%E7%A0%81-%E7%A7%91%E5%AD%A6-%E5%AE%9A%E4%B9%89</guid>
      <pubDate>Sun, 21 Jun 2015 12:03:42 CST</pubDate>
    </item>
    <item>
      <title>程序员如何选择编程技术书？</title>
      <link>https://itindex.net/detail/53717-%E7%A8%8B%E5%BA%8F%E5%91%98-%E9%80%89%E6%8B%A9-%E7%BC%96%E7%A8%8B</link>
      <description>&lt;p&gt;是的，没错！即使是棵枯树也同样可以成为优秀资源，教你学习如何写代码或者磨练你如何成为一名好的开发者。&lt;/p&gt;
 &lt;p&gt;真正的问题是，你如何选择你真正需要的合适你的书？幸运的是，有几个要点可以帮助你将市场上琳琅满目的书进行整理。有一些经典的巨著，我建议凡是任何对计算机编程和软件开发感兴趣的人都可以去看一看的。&lt;/p&gt;
 &lt;p&gt;（译注：比如 Stack Overflow 上有个《哪本最具影响力的书，是每个程序员都应该读的？》，伯乐在线以前就整理翻译成《  &lt;strong&gt;   &lt;a rel="nofollow" target="_blank"&gt;国外程序员推荐：每个程序员都应读的书&lt;/a&gt;&lt;/strong&gt;》，十分推荐。）&lt;/p&gt;
 &lt;h2&gt;评估一本编程书籍的几个小贴士&lt;/h2&gt;
 &lt;p&gt;  &lt;strong&gt;评估一本编程书籍最好的地方就是从这本书的目录开始。&lt;/strong&gt;如果你想要学习的主题没有出现在目录中，那么你就可以假设这本书中的所有内容对你来说帮助会很有限。&lt;/p&gt;
 &lt;p&gt;  &lt;img alt="" src="http://ww4.sinaimg.cn/mw690/6941baebgw1er48ssuzzmj208c066weq.jpg"&gt;&lt;/img&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;下一步，大致浏览几个章节，看看这些章节是如何组织的。&lt;/strong&gt;一些作者只满足于用一两种方法来解释一个话题，这个的用处不会很大。好的书都会对学习一个主题会提供三到四种方法，包括实践练习、源代码、详细解释和程序作品。&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;查看章节介绍。冗长和枯燥的章节介绍表明这本书包含了大量你可能不需要的内容。&lt;/strong&gt;另一方面，当章节介绍内容太短以至于无法介绍全面，你会发现这个介绍内容缺失必要的细节要点，这会在你开始阅读的时候留下疑惑。&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;一个好的索引也是必不可少的。&lt;/strong&gt;查阅一些你所关心的关键词。如果它们没有出现在索引中，那么很可能在这本书中你也找不到这些关键词。一个好的索引不仅包含你所需要的关键词，而且它还会以一种特定的方式组织这些关键词，使你在查阅你的关键词时还能看到其他相关信息。&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;最后，考虑这本书的作者。&lt;/strong&gt;专业的作者都会被支付稿费去写进过仔细研究、组织和有重点的书。虽然不总是这样，但是三个或者三个以上作者合作编写的书有时会缺乏重点，让你迷惑于多种写作风格中，甚至会包含相互矛盾的信息。&lt;/p&gt;
 &lt;h2&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;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>业界观察</category>
      <guid isPermaLink="true">https://itindex.net/detail/53717-%E7%A8%8B%E5%BA%8F%E5%91%98-%E9%80%89%E6%8B%A9-%E7%BC%96%E7%A8%8B</guid>
      <pubDate>Thu, 18 Jun 2015 15:24:44 CST</pubDate>
    </item>
    <item>
      <title>提高WEB用户体验至关重要的几点</title>
      <link>https://itindex.net/detail/53716-web-%E7%94%A8%E6%88%B7%E4%BD%93%E9%AA%8C</link>
      <description>&lt;p&gt;一个精通算法经验丰富的后端工程师，也不一定能够完成出色的前端页面，对逻辑经验丰富的程序员来说，html/css显得繁琐低效，即便是SASS、LESS这样的框架也难以让传统程序员理解前端工程师，多数人眼中前端是编程与设计各占一部分的新职业，特别是在众人把用户体验挂在口中时，更让人觉得前端应当对此有独特的理解。其实在我看来，用户体验这东西不管是从哪方面来说都没有一个确切的定义，可能前端可以更多的用经验来认识它，亦有可能在不同人眼中的web用户体验有所差别，只不过方向相同而已。&lt;/p&gt;
 &lt;p&gt;笔者也从自己的经验中总结了一些WEB中用户体验的实际细节，当然也不可能面面俱到，限于篇幅笔者就只分享几个包含显著特征容易被认可的细节：&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;AJAX&lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt;看到这里肯定有人忍不住笑出声，的确这已经不算什么新技术，但要让我站在用户的角度来评价网站技术上的变化中给访问者带来最大友好性的一项，我肯定会选AJAX.&lt;/p&gt;
 &lt;p&gt;记得在我刚刚开始学会上网时候，不管是注册页面还是登录都是我最烦的，那时候网速又不快，打开一个注册页面就要几秒时间，然后从上往下有几十个选项要全部填满，比如其中有一项让我填写“密码保护问题”，这个设计简直让人想吃电脑，因为很多人一看这种问题应该都会和我一样随便写几个数字就提交，然后等几秒加载完网页提示“密码保护问题”不允许有数字，同时之前填写的十几项数据全部清空需要重新再来一遍，再花几分钟写完之后提交又提示不允许有字母，再来一遍，有时候还会提示字符太短太长有空格超时之类，总之如果你第一次注册这种页面，至少要花掉十几分钟，而且还是在重复做一件事。从网站运营者角度来看这也很烦，重复十几分钟填写表单很容易就失去很多潜在用户。&lt;/p&gt;
 &lt;p&gt;在AJAX的异步请求出现之后，这种情况明显的改善，给用户的体验感最明显。用户并不知道何时已经提交请求，就拿刚才表单的例子来说，如果每填写一项都会在当前表单的最后提示具体错误类型（在用户未点击时已经异步提交了请求并且用返回数据更新部分页面），这就给用户很直观的提示，这种即时的互动让访问者能够很直观的感受到这是一个友好的网站。（当然用javascript也能做到部分表单验证，这只是举一个例子）。在不重新加载整个页面，通过操作DOM来改写小部分数据这点上也能给访问者带来极大的交互感，现在流行的微博就是最好的例子，在发送微博/评论/转发之后用户会发现不用刷新等待整个页面加载，操作之后立刻会有小部分的页面发生变化，虽然看起来微不足道，但对一个访问者来说，这足以让他们欣喜。&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;网页字体&lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt;网站中所有的文字内容表达方式都是通过字体，合理的字体无疑会给用户更好的体验感。在业内来说豆瓣可能是对字体研究最多的一个网站，拿豆瓣读书都来他们用Helvetica和Arial这两种差别非常小的字体，这种非衬线字体很容易让人一目了然同时富有一些科技感，豆瓣本身就是以图片加上简短语句组成，让人能够从字体中快速找到重心是设计的目标所在。&lt;/p&gt;
 &lt;p&gt;有人担心非衬线用作正文对阅读体验有影响，实际上不难发现国外很多网站都用非衬线字体来处理正文，当然也不排除他们可能考虑的更多是英文。其实我还是非常喜欢非衬线体，它们看起来更富美感，而且如今大量的文字在互联网上比较少见，一些活泼具有现代感的非衬线字体也逐渐被更多的开发者认同而且使用。&lt;/p&gt;
 &lt;p&gt;除去这些，字体还可以在选择上再细分一些，记得曾经看过一篇统计，不同的字体会影响用户对站点权威性的信赖程度。比方说在一个公司网站上大量使用类似于幼圆、Cursive一类字体，很容易让访问者不信任网站，当然如果是以娱乐为主的网站也不能过于严肃和简朴，在使用时既要考虑到大众用户的接受程度，也要知道自己的网站是什么定位，当然技术性的问题也不能忽略，像是火狐比IE区分sans-serif要更模糊一些，有的字体“O”和“0”、“L”和“1”容易让人难以区分（代码较多的站点需要考虑）等等，这样综合对比选择得到的字体无疑能让网站更有魅力，从而留下更多的用户。&lt;/p&gt;
 &lt;p&gt;顺便一提，在使用字体时注意版权。&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;加载速度&lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt;很多用户在还未见到你出色的设计和内容之前就已经离开了页面，这是因为网站加载时间实在是太长，已使访问者失去耐心。其实很多的访客不关心脚本和图片的加载顺序，他们只要看到网站的整体结构能够迅速的加载出来就可以开始浏览，即便是其他元素逐渐加载也可以接受，基于这点，我们可以使用很多延时加载的方法来使用户更快的见到页面。除此之外还有很多因素可能会对加载速度造成影响，也有逐一优化的办法，之前我已经写了两篇相关文章来解决此问题（提高网站加载速度的解决方案有多少），不再细述。&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;结构设计&lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt;不知道大家发现没有，近来很多网站都喜欢把菜单fixed在顶部（维特博客就是个例子），只要这个菜单选择项不是太多，访客对这样的固定菜单接受程度还是很高的，这只是设计中的一个小例子，相类似的有很多，比如在表单中以深浅颜色区分每一行，以提高可阅读性；在激活窗口时为当前控件添加一个边框，使用户能够更建议的分辨自己在操作哪个窗口等等。很多的设计与排版方式都已经得到了大众认可，可以作为网站设计时的参考。&lt;/p&gt;
 &lt;p&gt;网站结构设计的好看不好看对访客来说虽然有影响，但也不至于立刻离开，而且即便是非常精致的页面却对用户不怎么友好，想必也不会有多少人愿意访问。&lt;/p&gt;
 &lt;p&gt;举个例子，以前我用好搜（360搜索）的时候总感觉怪怪的，没有google和百度顺手，研究了一段时间之后才发现好搜的的主页搜索框比百度和google要低一些，Google到顶部固定菜单的距离是286px，百度是192px（未登录238px），而好搜则是328px。相比之下，好搜的搜索框更趋向于屏幕中间，而百度与Google则是在屏幕中上方，对于已经常年习惯了百度和Google搜索的用户来说，想要改变这个习惯来适应好搜多少有些困难，除此之外搜索框还有结果页也有几个问题不一一细述，360这样做无外乎两点，一个是不在乎/不知道/不关心用户体验，一个就是故意有所不同，想要培养自己的用户习惯。（在我看来也不怎么成功）&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;细节决定成败&lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt;乔布斯的父亲是个木匠，曾经教给乔布斯一个理念，就是橱柜的背面里层也要细致处理甚至是打磨光滑，即便用户看不见。在理想主义的伟大试验品“麦金塔”出世之后，有人甚至感叹，就连电路板上的电路图都能当作艺术品，的确如此，乔布斯就曾经开除一个对电路图美学设计不满的员工。一个伟大产品的诞生并不是一蹴而就的，必然经过了长期的沉淀积累与琢磨，但仅此依旧不能称之为伟大，只能算成功。一个产品细节上的最后润色可能才是决定它价值的关键。对于WEB开发者来说，更是如此。&lt;/p&gt;
 &lt;p&gt;很多时候用户体验应遵循“less is more”，堆积如山的垃圾信息不仅无用还破坏了整体的用户感受，这也就是所谓的设计细节决定成败。&lt;/p&gt;
 &lt;p&gt;如果把WEB用户体验展开来说，就算说个一天一夜也说不完，太多的细微之处需要我们留意，而且想要做好任何一处都并不是简单的事。对于开发者来说，对用户体验有更深更实际的理解就是把自己视为用户，在逐渐满足自己细枝末节体验感的同时，也丰满了站点的用户体验感受。&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>业界观察 web</category>
      <guid isPermaLink="true">https://itindex.net/detail/53716-web-%E7%94%A8%E6%88%B7%E4%BD%93%E9%AA%8C</guid>
      <pubDate>Wed, 17 Jun 2015 15:44:13 CST</pubDate>
    </item>
    <item>
      <title>数据显示：越穷的地方越爱用移动设备上网</title>
      <link>https://itindex.net/detail/53703-%E6%95%B0%E6%8D%AE-%E5%9C%B0%E6%96%B9-%E7%A7%BB%E5%8A%A8%E8%AE%BE%E5%A4%87</link>
      <description>&lt;p&gt;据中国互联网信息中心报告指出，截至 2014 年 12 月，我国网民规模达 6.49 亿，其中手机网民达 5.57 亿。那么欠发达地区使用互联网的情况如何呢？近日，国内大数据机构集奥聚合 GEO 发布《欠发达地区人群移动洞察》 ，该报告调查了华中地区三四线城市 100 万用户，分析了其一个月内移动端的上网行为。数据显示，欠发达地区上网活跃度稍高于发达地区人群上网活跃度。&lt;/p&gt;
 &lt;p&gt;  &lt;img alt="" height="412" src="http://www.techug.com/wordpress/wp-content/uploads/2015/06/101513126495895.png?9bae72" width="550"&gt;&lt;/img&gt;&lt;/p&gt;
 &lt;p&gt;移动端上网活跃度&lt;/p&gt;
 &lt;p&gt;  &lt;img alt="" height="412" src="http://www.techug.com/wordpress/wp-content/uploads/2015/06/101513444154456.png?9bae72" width="550"&gt;&lt;/img&gt;&lt;/p&gt;
 &lt;p&gt;欠发达地区手机上网时长超过发达地区&lt;/p&gt;
 &lt;p&gt;  &lt;img alt="" height="409" src="http://www.techug.com/wordpress/wp-content/uploads/2015/06/101512263994359.png?9bae72" width="550"&gt;&lt;/img&gt;&lt;/p&gt;
 &lt;p&gt;欠发达地区人群比较喜欢社交、视频、电商类 App&lt;/p&gt;
 &lt;p&gt;  &lt;img alt="" height="408" src="http://www.techug.com/wordpress/wp-content/uploads/2015/06/101513241494915.png?9bae72" width="550"&gt;&lt;/img&gt;&lt;/p&gt;
 &lt;p&gt;欠发达地区人群使用的手机品牌&lt;/p&gt;
 &lt;p&gt;  &lt;img alt="" height="401" src="http://www.techug.com/wordpress/wp-content/uploads/2015/06/101512264152886.png?9bae72" width="550"&gt;&lt;/img&gt;&lt;/p&gt;
 &lt;p&gt;APP 使用偏好&lt;/p&gt;
 &lt;p&gt;早上 7 点、中午 12 点、晚上 20 点是 3 个阶段性高点。欠发达地区人群手机上网时长超过发达地区；使用的移动设备品牌中，排在第一位的是三星。&lt;/p&gt;
 &lt;p&gt;欠发达地区手机上网时长超过发达地区，上网已成为欠发达地区人群主要娱乐活动。欠发达地区移动端平均每日上网时长为 177 分钟，而发达地区为 165 分钟。&lt;/p&gt;
 &lt;p&gt;值得注意的是，在欠发达地区人群的移动设备中，三星品牌占有率最高，但优势不明显，但国产手机逐渐强势。&lt;/p&gt;
 &lt;p&gt;欠发达地区人群比较喜欢社交、视频、电商类 App，这三类 App 人群占比都在 50% 以上。&lt;/p&gt;
 &lt;p&gt;在使用各类 App 方面，欠发达地区用户社交最爱用微信，看视频最爱用爱奇艺，购物最爱用淘宝；其余类别中，开心消消乐占据游戏类第一，酷狗音乐占据音乐类第一，支付宝占据理财类第一，去哪儿旅行是旅游类第一。&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>业界观察 移动设备</category>
      <guid isPermaLink="true">https://itindex.net/detail/53703-%E6%95%B0%E6%8D%AE-%E5%9C%B0%E6%96%B9-%E7%A7%BB%E5%8A%A8%E8%AE%BE%E5%A4%87</guid>
      <pubDate>Tue, 16 Jun 2015 15:23:45 CST</pubDate>
    </item>
    <item>
      <title>Facebook创始人扎克伯格亲自审查核心代码</title>
      <link>https://itindex.net/detail/52481-facebook-%E5%88%9B%E5%A7%8B%E4%BA%BA-%E6%89%8E%E5%85%8B%E4%BC%AF%E6%A0%BC</link>
      <description>&lt;p&gt;  &lt;strong&gt;导语：&lt;/strong&gt;美国科技博客网站 BusinessInsider 今日撰文揭开了 Facebook 程序设计人员的神秘面纱。Facebook 代码从开始编写到最终发布，都有着极为严格的程序，CEO 马克·扎克伯格(Mark Zuckerberg)甚至对 News Feed 每个代码更新亲自把关，确保不出现任何差错。&lt;/p&gt;
 &lt;p&gt;  &lt;img alt="" height="375" src="http://www.techug.com/wordpress/wp-content/uploads/2015/01/54af6ff937ff8.jpg?ab9029" width="500"&gt;&lt;/img&gt;&lt;/p&gt;
 &lt;p&gt;工作中的扎克伯格&lt;/p&gt;
 &lt;p&gt;Facebook工程师是这家社交网站巨头最有价值的财产，他们拥有非常大的自主权，但同时也面临着尽快发布高质量代码的压力。&lt;/p&gt;
 &lt;p&gt;谷歌  &lt;a href="http://weibo.com/googlev?zw=tech" rel="nofollow" target="_blank"&gt;(微博)&lt;/a&gt;员工李易(Yee Lee)通过与大批Facebook工程师的交谈，在一篇博文中披露了Facebook代码发布流程。这个流程的确与外界之前想象的相差无几，虽然Facebook对代码发布的监督比人们预想的更为严格。尽管这篇博文发表于一年前，但整个流程自Facebook上市以来似乎并未发生太大变化。&lt;/p&gt;
 &lt;p&gt;  &lt;img alt="" height="300" src="http://www.techug.com/wordpress/wp-content/uploads/2015/01/54af70cc136b1.jpg?ab9029" width="400"&gt;&lt;/img&gt;&lt;/p&gt;
 &lt;p&gt;Facebook员工主要由工程师构成，人数最多的两个团队分别是Engineering和Ops，总计占了Facebook员工总数的一半左右。此外，Facebook还有大量产品经理。他们要确保代码按时发布。每一个产品经理负责7到10名工程师。&lt;/p&gt;
 &lt;p&gt;  &lt;img alt="" height="300" src="http://www.techug.com/wordpress/wp-content/uploads/2015/01/54af70dfa6496.jpg?ab9029" width="375"&gt;&lt;/img&gt;&lt;/p&gt;
 &lt;p&gt;Facebook所有工程师都要接受4到6周的培训，学习Facebook修复漏洞的方法，聆听资深雇员举办的讲座。在进入“训练营”(Boot Camp)的工程师当中，会有大约10%无法顺利通过测试，最终被劝退。&lt;/p&gt;
 &lt;p&gt;  &lt;img alt="" height="267" src="http://www.techug.com/wordpress/wp-content/uploads/2015/01/54af70f99dd5c.jpg?ab9029" width="400"&gt;&lt;/img&gt;&lt;/p&gt;
 &lt;p&gt;接受完培训以后，工程师开始接触Facebook数据库。他们可以随意核对代码，对数据库做出修改。员工们还会拿到一张“禁做之事”名单，如禁止分享用户数据。尽管如此，Facebook还出台了一系列措施，防止此类事情的发生。&lt;/p&gt;
 &lt;p&gt;  &lt;img alt="" height="267" src="http://www.techug.com/wordpress/wp-content/uploads/2015/01/54af710c971f3.jpg?ab9029" width="400"&gt;&lt;/img&gt;&lt;/p&gt;
 &lt;p&gt;同谷歌一样，Facebook的企业文化同样以工程师为主。一名工程师说：“产品经理基本上在这里毫无作为。”工程师可以修改尚未正式上市的产品规格，在任何时间提出新的功能创意。&lt;/p&gt;
 &lt;p&gt;  &lt;img alt="" height="267" src="http://www.techug.com/wordpress/wp-content/uploads/2015/01/54af71202528a.jpg?ab9029" width="400"&gt;&lt;/img&gt;&lt;/p&gt;
 &lt;p&gt;工程师会在每月一次的不同团队例会上提交他们的成果。产品推广经理和产品经理会出席这些会议，但不被鼓励畅所欲言。“如果产品经理在例会上畅所欲言，工程师们就会向领导层反应说，‘上次会议上他们有关产品的意见太多了’。”&lt;/p&gt;
 &lt;p&gt;在Facebook，工程师想做什么，基本上都由他们自己决定。他们会找到主管，说：“这是我想做的五件事情。”产品经理会说服工程师当场试一试，让他们亲身体验这些项目的效果，但他们多数情况下不会对每位工程师的偏好横加干涉。&lt;/p&gt;
 &lt;p&gt;  &lt;img alt="" height="267" src="http://www.techug.com/wordpress/wp-content/uploads/2015/01/54af71367b169.jpg?ab9029" width="400"&gt;&lt;/img&gt;&lt;/p&gt;
 &lt;p&gt;工程师们不会争论某项功能是否值得尝试，而是开发出原型机。接下来，工程师会用一周的时间开发某项功能并进行测试，以确定它是否值得推出成品。通常情况下，新功能都是由Facebook员工亲自测试。整个过程由一款名为“Gatekeeper”应用控制。这是Facebook“黑客”文化的主要组成部分——快速开发和推出产品，淘汰没有市场前景的产品。&lt;/p&gt;
 &lt;p&gt;在Facebook，每个人都想参与后端产品的开发。可伸缩性和基础架构是工程师最感兴趣的两个问题。所以，工程师很难对实时消息等前端产品感到兴奋，相反，每个人都希望从事像News Feed算法这样的后端产品。这种做法与其他消费类科技企业的惯例背道而驰，在这些企业，员工都希望参与前端产品的研发工作。&lt;/p&gt;
 &lt;p&gt;  &lt;img alt="" height="267" src="http://www.techug.com/wordpress/wp-content/uploads/2015/01/54af71512277e.jpg?ab9029" width="400"&gt;&lt;/img&gt;&lt;/p&gt;
 &lt;p&gt;Facebook 创始人兼CEO马克扎克伯格(Mark Zuckerberg)会亲自对News Feed每个代码更新把关。在Facebook，所有重大升级的代码都进行强制评估，任何一个改动都至少由一人把关。但是，无论工程师对News Feed做出任何改动，都将由扎克伯格亲自把关。&lt;/p&gt;
 &lt;p&gt;Facebook工程师负责测试产品功能，修复产品漏洞，对发布以后的产品进行维护，但他们并不是官方的质保团队。不过，Facebook仍然有负责质量评估的工程师，并积极鼓励每位工程师报告产品漏洞。&lt;/p&gt;
 &lt;p&gt;正常情况下，代码升级会在每周二发布。Facebook有专门的评估工具，告诉工程师代码更新的风险有多大。&lt;/p&gt;
 &lt;p&gt;运营团队会逐步推出代码更新。Facebook共有大约6万台服务器，运营团队会逐步将更新后的代码发布到少数几台服务器上，确保它能起作用。最开始是6台服务器，接着慢慢增加。如果需要做出修改，那么这项工作会由提交代码更新的工程师在线下完成。修复工作完成后，代码会再次在那6台服务器上先试用，接着增加到更多的服务器上。&lt;/p&gt;
 &lt;p&gt;在代码更新发布期间，运营团队会通过IRC和其他实时聊天工具一对一通知工程师，他提交的代码是否需要修改。如果修复以后的结果仍然难以令运营团队满意，当事工程师会被“当众羞辱”，虽然李没有提供有关这方面的具体细节，但他说如果这种情况经常发生，工程师会被炒鱿鱼。&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>业界观察 facebook</category>
      <guid isPermaLink="true">https://itindex.net/detail/52481-facebook-%E5%88%9B%E5%A7%8B%E4%BA%BA-%E6%89%8E%E5%85%8B%E4%BC%AF%E6%A0%BC</guid>
      <pubDate>Mon, 12 Jan 2015 16:32:41 CST</pubDate>
    </item>
    <item>
      <title>读懂微信开放11个接口意味着什么</title>
      <link>https://itindex.net/detail/52480-%E5%BE%AE%E4%BF%A1-%E5%BC%80%E6%94%BE-%E6%8E%A5%E5%8F%A3</link>
      <description>&lt;p&gt;  &lt;a href="http://madbrief.com/wp-content/uploads/2015/01/madbrief_open_wechat.jpg"&gt;   &lt;img alt="&amp;#35835;&amp;#25026;&amp;#24494;&amp;#20449;&amp;#24320;&amp;#25918;11&amp;#20010;&amp;#25509;&amp;#21475;&amp;#24847;&amp;#21619;&amp;#30528;&amp;#20160;&amp;#20040;" height="431" src="http://madbrief.com/wp-content/uploads/2015/01/madbrief_open_wechat.jpg" width="770"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
 &lt;blockquote&gt;  &lt;p&gt;近日，微信公众平台面向开发者开放微信内网页开发工具包（微信JS-SDK）。通过微信JS-SDK提供的11类接口集，开发者不仅能够在网页上使用微信本身的拍照、选图、语音、位置等基本能力，还可以直接使用微信分享、扫一扫、卡券、支付等微信特有的能力，为微信用户提供更优质的网页体验。&lt;/p&gt;&lt;/blockquote&gt;
 &lt;p&gt;来源：  &lt;a href="http://wangbin.baijia.baidu.com/article/42286" target="_blank"&gt;百度百家&lt;/a&gt; 作者：磐石之心 公众号：panshizhixin18&lt;/p&gt;
 &lt;p&gt;现在微信开放了11个接口，几乎是将自己的所有能力都开放给合作伙伴，那么，微信将11个接口或者说11个能力开放的原因是什么？又会带来什么？微信下一步将面临哪些难题？&lt;/p&gt;
 &lt;p&gt;微信开放11项能力是一种顺势也是一种无奈。&lt;/p&gt;
 &lt;p&gt;1月9日晚上看到微信宣布开放接口后，我发了一个朋友圈“微信这次开放接口是从对内开放变为对外开放，是从真封闭假开放到能力的开放，微信在不断的纠错、进步。”&lt;/p&gt;
 &lt;p&gt;这句话其实概括了微信开放11项接口的原因所在。2011年1月微信发布至今已经4年时间，这4年是移动互联网产业快速发展的4年，但是至今微信在商业模式上似乎仍在摸索，我一直都认为是思维局限导致的，当然在这个产业融合的新时代里，必须要摸石头过河。&lt;/p&gt;
 &lt;p&gt;此前，微信总是想在公众号上做出大文章，想将一些能力都开放给公众号，从而打造一个以微信为超级平台的生态系统，而这也是腾讯股价从300港币上涨到640多港币的重要推动力。&lt;/p&gt;
 &lt;p&gt;然而经过4年的发展之后，微信发现让企业通过公众号为用户提供服务似乎并非用户习惯，公众号难以利用朋友圈的流量，也无法为企业创造更多接触用户的场景，也并没有多少企业利用公众号获得了可观利益，还会带来微信的臃肿、低效率、差体验等问题。&lt;/p&gt;
 &lt;p&gt;所以对内开放的效率、效果并不理想，于是顺势将微信的一系列能力对外开放，让更多创业者通过用户熟悉的网页获得服务，并可享受微信朋友圈的用户流量、拍照、语音翻译、支付等能力，自发的制造一系列使用场景，将微信去中心化后变得无处不在。&lt;/p&gt;
 &lt;p&gt;微信开放11项能力后会带来哪些改变？对外开放之后，会带来整个行业的重大改变：&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;首先，公众号将不再承担企业连接服务的排头兵。&lt;/strong&gt;公众号打造成平台的想法看似并不是最优解决方案，而HTML5页面将成为另一个担任服务用户重任的“武器”，而公众号只是用户“沉淀池”，主要承担与用户交流、沟通的任务，这也意味着微信不再臃肿，释放了自己本身的压力，这有利于继续保持产品的优秀体验。&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;其次，微信支付很有可能被激活，支付宝面临压力。&lt;/strong&gt;腾讯已经放弃了电商、搜索一些商业项目，专注社交平台，而支付必须要有支付场景才可以做起来，当前的发红包场景并不足以支撑一个支付工具发展。我曾谈过，微信支付最终必须和支付宝一样独立出来，分散到各种支付场景中去，现在微信支付能力开放后，任何HTML5页面都可以调用，这些创业者们会主动的使用微信支付作为交易的支付手段，这对支付宝有必然带来很大的压力。&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;再次，App会大规模死亡，H5页面会大量出现。&lt;/strong&gt;在《App已死，服务永生》中，我谈到过App已经穷途末路的趋势，微信这次开放无疑让App市场雪上加霜，这对于HTML5开发者来说是个赚钱的好机会。此前，百度推“直达号+轻应用”已经革了一次App的命，微信这次算是“补刀”。当然微信此举也对百度连接服务的崭新模式一定会带来冲击，一个是通过搜索的流量精准制导，一个是通过社交的流量密切分享，孰优孰劣还要继续看。&lt;/p&gt;
 &lt;p&gt;微信开放后，下一步面临的问题&lt;/p&gt;
 &lt;p&gt;有朋友说，微信可能早就有这种对外开放的计划，只是直到今天技术才成熟，条件才具备。我感觉此言有一定道理，但是此前微信的所有目光都集中在了自身的公众号上，可能会带来思维局限导致眼光局限，最终反应到产品上就是此前4年来的“对内开放”，现在终于对外开放了，这是一个巨大的进步，值得双手鼓掌。&lt;/p&gt;
 &lt;p&gt;那么，开放后下一步是否就没有问题了呢？显然不是。&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;首先，产品的安全与体验。&lt;/strong&gt;开放的过程中，创业者利用这些接口会面临一些问题，产品体验和支付安全是重点，这需要微信投入人力、资源去不断磨合解决。&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;其次，朋友圈广告泛滥的问题。&lt;/strong&gt;公众号不再成为重点后，H5页面会被商家广泛采用，而这就需要通过分享到朋友圈的方式去推广，一键分享到朋友圈会带来展示和流量，而这必然造成广告泛滥，影响体验，看微信如何权衡和治理。是否能找到更好的方式为H5页面输送流量，比如，微信的搜索入口？&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;再次，只可在微信内浏览器才可调用接口，开放的还远远不够。&lt;/strong&gt;目前，滴滴打车的支付功能已经可以跳转至微信，因为滴滴是腾讯投资并控股的企业，别的应用和产品只可以在微信浏览器打开页面的时候调用接口能力，这有些局限。我预测，下一步会全面开放，微信必须要去中心化才可能制造更多使用场景，激活支付功能，不仅向H5页面开放，还会向App开放。&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;第四，微信仍然是互联网轻平台，这会导致控制力太弱。&lt;/strong&gt;我在《产业转型风口，互联网忌轻平台》中谈到，传统产业转型需要互联网公司帮助，互联网公司不能只做轻平台，而是要提供专业化服务，涉足产业链更多环节，只有这样才可能成功，而微信却惧怕自己占据太多环节，这无疑是放弃了控制力，当然这只是我个人观点而已。&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;第五，微信在做理想化的事情，或许有点早。&lt;/strong&gt;互联网从2010年3Q大战之后才显示出对传统产业的影响，在2014年才展示出对生活方式的影响，所以一切都才刚刚开始。但是微信却做了一个非常超前的事情，那就是理想化的认为一切都可以依靠社交的力量、人治的力量去打造一个完美的商业。&lt;/p&gt;
 &lt;p&gt;现实却并非如此，淘宝有完善、严格的机制去控制假货，却仍然难以解决假货问题。人人都做微商，利用社交力量去颠覆淘宝，那么微商的假货如何解决？微信说，靠用户发现，用户口碑，用户消化。公众号有假消息、假文章、抄袭泛滥，微信说，微信是社会，当然容许丑恶，也要靠社会成员自己去监督和举报。&lt;/p&gt;
 &lt;p&gt;拥有200多年历史的美国，之所以快速成为全球经济最强的国家，就在于宪法制度的建立，亚洲第一个学习美国宪法制度的是日本，也快速崛起。通过制度约束人的行为，从而让人开始有文明的习惯。而我们的国家很多朝代都信奉人治，儒家思想、佛教思想在中国几千年来的发展中占据重要地位，而靠自己“顿悟”成为一种管理方法，也有说“无为而治”，最终造成了当代中国各种问题的出现，也多被归结为制度问题。所以微信的人治理念是理想化的，是完美主义，是属于未来的，微信也在试图推动这种未来文明，这也是微信的伟大之处，但现在我们所处的阶段或许距离未来还很远。&lt;/p&gt;
 &lt;p&gt;然而我们不能否认微信打造的这种全新的未来文明会带来更多的创新，因为固有的规则、模式毕竟都属于过去，无序状态下可能诞生我们无法预测的奇迹，限制条条框框会阻碍创新的种子发芽，所以微信的确是在创造一种崭新的文明，诞生一种种崭新的商业形态，对此我们必须向微信致敬！&lt;/p&gt;
 &lt;div&gt;
  &lt;div&gt;   &lt;strong&gt;微信JS-SDK主要包含以下能力：&lt;/strong&gt;&lt;/div&gt;
  &lt;p&gt;   &lt;strong&gt;1、分享类接口    &lt;br /&gt;
&lt;/strong&gt;支持获取“分享到朋友圈”、“发送给朋友”、“分享到QQ”和“分享到微博”按钮的用户点击状态，同时支持自定义分享内容。&lt;/p&gt;
  &lt;p&gt;   &lt;strong&gt;2、图像类接口    &lt;br /&gt;
&lt;/strong&gt;支持拍照、从手机相册选择图片、上传图片、下载图片、预览图片功能。&lt;/p&gt;
&lt;/div&gt;
 &lt;p&gt;  &lt;strong&gt;3、音频类接口   &lt;br /&gt;
&lt;/strong&gt;支持实现录制、播放、暂停播放语音等功能，同时支持将语音快速上传到云端服务器或从云端服务器将语音快速下载到网页。&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;4、智能类接口   &lt;br /&gt;
&lt;/strong&gt;支持将语音快速地转换成文字。开发者无需掌握语音识别相关技术，只需简单地引用微信JS-SDK提供的方法即可实现。&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;5、设备信息类接口   &lt;br /&gt;
&lt;/strong&gt;支持获取当前手机设备的网络状态，如2g、3g、4g或wifi，为用户提供流畅的浏览体验。&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;6、地理位置类接口   &lt;br /&gt;
&lt;/strong&gt;支持获取用户的地理位置信息（需用户同意），支持使用微信内置的地图查看器查看地理位置或导航。&lt;/p&gt;
 &lt;div&gt;
  &lt;p&gt;   &lt;strong&gt;7、界面操作类接口    &lt;br /&gt;
&lt;/strong&gt;支持隐藏或显示微信内置浏览器“右上角菜单”、“分享到朋友圈”、“发送给朋友”、“复制链接”等指定的按钮，支持关闭当前网页窗口以返回公众号会话。&lt;/p&gt;
&lt;/div&gt;
 &lt;p&gt;  &lt;strong&gt;8、微信扫一扫接口   &lt;br /&gt;
&lt;/strong&gt;支持使用微信扫一扫，扫描一维码或二维码，并将用户扫码内容交由微信处理或返回给网页由网页处理。&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;9、微信小店接口   &lt;br /&gt;
&lt;/strong&gt;支持从网页跳转到指定的微信小店商品页，商品页支持浏览商品的详细信息，支持完整的购买、客服等流程。&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;10、微信卡券接口   &lt;br /&gt;
&lt;/strong&gt;支持添加卡券、查看卡券及调起卡券列表等功能。&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;11、微信支付接口   &lt;br /&gt;
&lt;/strong&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>深度观察 微信 移动互联网</category>
      <guid isPermaLink="true">https://itindex.net/detail/52480-%E5%BE%AE%E4%BF%A1-%E5%BC%80%E6%94%BE-%E6%8E%A5%E5%8F%A3</guid>
      <pubDate>Mon, 12 Jan 2015 16:47:59 CST</pubDate>
    </item>
    <item>
      <title>互联网教育将进化出三个主要阶段</title>
      <link>https://itindex.net/detail/52610-%E4%BA%92%E8%81%94%E7%BD%91-%E6%95%99%E8%82%B2-%E8%BF%9B%E5%8C%96</link>
      <description>&lt;p&gt;  &lt;img alt="hangye-jiaoyuO2O1" height="320" src="http://image.woshipm.com/wp-files/2015/01/hangye-jiaoyuO2O1.jpg" width="480"&gt;&lt;/img&gt;&lt;/p&gt;
 &lt;p&gt;当未来的孩子天然的生活于互联网中，活在人与人更为加速紧密的连接中，我们是否真的还需要教育？互联网对于这些孩子来说其实是一个工具，并且会越来越强大，从互联网的发展趋势来看，互联网会对教育的影响会进化出以下几个阶段。&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;阶段一，加速影响下一代人的思维方式&lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt;能够将互联网这一工具在学习上新知识上发挥到淋漓尽致的，必然是程序员，因为这个虚拟世界本身就是这些程序员创造的，这本来就是他们的世界，所以他们在获取信息能力上也注定是远超常人的。&lt;/p&gt;
 &lt;p&gt;以我个人举例，我之前学校学的是JAVA语言，但是很多内容都不是课堂上学的，都是属于自学，我们更多的是在做项目的时候遇到问题让老师提供具体解决思路，因为有些特殊问题在网上实在搜不着了，老师对于我们的作用其实等于一个技术辅助而已。而很多问题没有解决，是因为互联网的数据库还不够大，无法搜索到全部答案，但随着经验能力增强，我逐步发现不需要老师的任何指导就能解决问题，CSDN，GITHUB上会有一大堆第三方开源代码以及解决方案，可以拿过来迅速学习，并且改之源代码应用即可。&lt;/p&gt;
 &lt;p&gt;在这里，我想说明的是程序员高度利用互联网来解决问题的思维方式，而互联网也将会自然的不断产生出所有问题的答案，同样我们再看看现在的00后其实也越来越具备程序员式的思维方式，他们遇到具体问题都不再去问老师，而是通过手机拍下来直接通过360和百度的题库找到自己想要的答案，进而解决问题，那么当这群高度利用互联网的小孩长大后，思维方式肯定与我们这代人会大有不同，他们获取知识的能力，搜索的能力将远在我们这代互联网移民之上，而这种加速会使得他们在未来变得更有活力，更有创造力。&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;阶段二，整合教师与学生资源&lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt;当前在线教育的模式是在满足这么一个情况，当一个人对信息的搜索能力不够时，才需要老师，而目前这个需求确实是庞大的。在我所观察到的我们这群90到95的互联网老年人中，他们对互联网的利用能力依然极为低下，他们还是需要一个老师来教，否则没有安全感，他们对互联网还是没有足够的自信，而此时的互联网对他们来说是一个老师与学生的整合者角色，将他们想要的内容连接起来，所以对在线教育有旺盛的需求。&lt;/p&gt;
 &lt;p&gt;目前这种趋势已经越来越明显，美国三大MOOC，Coursera、Udacity和edX，国内也有网易学院，果壳MOOC，超星学术视频等等，这在一定程度上很好的整合了学校资源。&lt;/p&gt;
 &lt;p&gt;预计在线教育火热程度还会比较漫长，直到当有一天所有的小朋友可以不利用这些视频而学到自己想要的知识，那时在线教育将寿终正寝。&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;阶段三，改造社会结构，人的全面发展&lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt;从功利的角度来说，老师本质上也是一种工具，用来向学生传递如何融入社会的信息的工具，其中包括工作生存技能以及一些为人处世等等，但事实上这些互联网都能天然给予，在相关专业知识方面互联网已经保罗万象，哪怕是深奥的学术知识也能从国内国外的高等院校的学术资料库中搜到，只需要花点小钱就能下载各种学术论文。再谈为人处世方面，那帮年轻人早就被微信QQ空间的心灵鸡汤成长励志类文章轮番轰炸过，这也同样很好的起到了价值观的引导作用。而这两方面原来不都是老师的工作么？&lt;/p&gt;
 &lt;p&gt;这里可能会有人反对，年轻人如果不受控制可能会做出出格的行为，没有引导好，以后会危害社会的云云，这实际上也是个伪命题，因为年轻人从来都是不受引导的，他们内心天然有反叛的动力，因为传统的教育把价值单一化，压抑了人的天性，而互联网会逐渐瓦解这种情况，那些被压抑的年轻人，会在互联网上找到存在感，那些拥有特别天赋的年轻人会在互联网上搜索其想要学习的知识，他们高中没毕业就已经开始写网络小说，成为微博贴吧大号接单赚钱，为网站抓漏洞，开发APP，做飞机模型，各种发明创造并申请专利，这一切让都他们有了更多的多元化的选择，用互联网来完成自己其他方面的成就。这不就很好的融入社会了吗？&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;br /&gt;互联网从业者必备微信公众号：woshipm，如果你已经关注了，证明你已经很牛逼了。&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>交互视觉 教育观察</category>
      <guid isPermaLink="true">https://itindex.net/detail/52610-%E4%BA%92%E8%81%94%E7%BD%91-%E6%95%99%E8%82%B2-%E8%BF%9B%E5%8C%96</guid>
      <pubDate>Mon, 26 Jan 2015 00:26:12 CST</pubDate>
    </item>
    <item>
      <title>互联网公司的指数们</title>
      <link>https://itindex.net/detail/53189-%E4%BA%92%E8%81%94%E7%BD%91-%E5%85%AC%E5%8F%B8-%E6%8C%87%E6%95%B0</link>
      <description>&lt;p&gt;一&lt;/p&gt;
 &lt;p&gt;4月头上，随着蚂蚁金服正式推出淘金100指数，BAT三家互联网巨头再一次在同一个领域里碰头：他们都开始做自己的股票指数。&lt;/p&gt;
 &lt;p&gt;如果算上新浪的i指数，迄今为止，已经有四家互联网公司编制股票指数。&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;a href="http://weiwuhui.com/wp-content/uploads/2015/04/&amp;#23631;&amp;#24149;&amp;#24555;&amp;#29031;-2015-04-14-09.18.20.png" rel="lightbox[6581]"&gt;   &lt;img alt="internetindex1" height="434" src="http://weiwuhui.com/wp-content/uploads/2015/04/&amp;#23631;&amp;#24149;&amp;#24555;&amp;#29031;-2015-04-14-09.18.20.png" width="616"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
 &lt;p&gt;这个表能看到几个指数的表现情况，淘金100由于刚刚发布，不在统计之列：&lt;/p&gt;
 &lt;p&gt;  &lt;a href="http://weiwuhui.com/wp-content/uploads/2015/04/&amp;#23631;&amp;#24149;&amp;#24555;&amp;#29031;-2015-04-14-09.18.40.png" rel="lightbox[6581]"&gt;   &lt;img alt="interntetindex2" height="165" src="http://weiwuhui.com/wp-content/uploads/2015/04/&amp;#23631;&amp;#24149;&amp;#24555;&amp;#29031;-2015-04-14-09.18.40.png" width="620"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
 &lt;p&gt;2015年以来的表现：&lt;/p&gt;
 &lt;p&gt;  &lt;a href="http://weiwuhui.com/wp-content/uploads/2015/04/&amp;#23631;&amp;#24149;&amp;#24555;&amp;#29031;-2015-04-14-09.18.48.png" rel="lightbox[6581]"&gt;   &lt;img alt="internetindex3" height="149" src="http://weiwuhui.com/wp-content/uploads/2015/04/&amp;#23631;&amp;#24149;&amp;#24555;&amp;#29031;-2015-04-14-09.18.48.png" width="619"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
 &lt;p&gt;三&lt;/p&gt;
 &lt;p&gt;四个指数，可以分成三类。&lt;/p&gt;
 &lt;p&gt;第一类，腾讯的腾安和新浪的i系列。这个属于“媒体指数”，不算什么太新鲜的事，赫赫有名的道琼斯指数、日经指数、金融时报指数都是媒体指数——由媒体发布指数。&lt;/p&gt;
 &lt;p&gt;腾安基本上没有提及如何利用腾讯的数据来制作指数——虽然我们都知道，腾讯拥有强大的社交大数据。腾安是发布最早的一个互联网公司指数，13年5月的时候，微信已经出发，但并没有像今天那样无孔不入。&lt;/p&gt;
 &lt;p&gt;从腾讯公司的发言人身份来看，它也的确是一个媒体指数。我查到当时的媒体通稿里都引述了马立的致辞，马立是腾讯网的副总编。&lt;/p&gt;
 &lt;p&gt;腾安强调了它的专家评审机制，有这样的话语：“腾安价值专家评审委员会阵容强大，由财经媒体、证券投资、资本运作、市值维护、行业研究、宏观经济以及金融工程等不同领域的专家组成，从不同的专业角度排除投资地雷。”&lt;/p&gt;
 &lt;p&gt;很奇怪，腾安指数不怎么提及腾讯自选股，后者是腾讯旗下在证券行当里非常重要的软件。腾讯自选股与腾讯网同属OMG部门。&lt;/p&gt;
 &lt;p&gt;新浪的i系列，号称与新浪财经大数据有关，“通过新浪财经大数据分析，找到一种有效的连接用户情绪与股价表现的关系，将符合这种关系的股票提取出来，是大数据因子的精髓，也是指数编制过程中最大的创新”——这个有效的连接用户情绪与股价表现的关系，十分让人不明觉厉。&lt;/p&gt;
 &lt;p&gt;新浪这样解释它的这个“有效关系”：用户在新浪财经对行情的访问热度、对股票的搜索热度；用户在新浪财经对股票新闻的浏览热度；股票相关微博的多空分析数据。&lt;/p&gt;
 &lt;p&gt;不过，新浪在互联网门户媒体里虽然很强，但不具有压倒性垄断优势。它的用户样本，是整个互联网财经领域中的重要组成部分，但要说能有效代表，比较牵强。微博倒是一个不错的数据源——因为新浪微博有压倒性垄断优势——但微博这个行当，本身在走下坡路。&lt;/p&gt;
 &lt;p&gt;我个人的看法是，新浪i指数，依然是一个媒体指数。&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;淘金100则建立在阿里平台上的交易流水，根据电子商务的交易流水，阿里旗下的蚂蚁金服做了一个“维他命平台”，来判断行业景气度情况，然后根据这个行业景气度，筛选股票形成淘金100指数。&lt;/p&gt;
 &lt;p&gt;用电子商务交易流水来判断行业景气度，这个逻辑是可靠的。著名的巴菲特买可口可乐的故事也说明了这点：巴菲特看到很多人从超市里大量购买可口可乐从而决定入股巴菲特。这个故事可靠性有多高不得而知，但大致逻辑是可信的。&lt;/p&gt;
 &lt;p&gt;这两个指数，各有优劣。淘金100，在我个人看来，更能反映2C行业的景气度，而证券市场上，也存在大量2B业务的公司。2C的景气度能否推2B，理论上可以，但并不完全，模型建构更复杂。百发100，2B和2C都能覆盖，但从搜索意愿和兴趣到实际的公司基本面情况，中间链条比较长，而且数据清洗工作比淘金100更难。毕竟销售达成和消费意愿，有关联但还是不同。&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;新浪i系列，新浪微博是它的重要武器，在微博全盛期，覆盖量极大。微博现在已不如11年那般辉煌，但依然有庞大的数据量。至于新浪财经的数据，实话说一句，不代表什么。&lt;/p&gt;
 &lt;p&gt;百度百发，基于搜索的指数，数据源强大但过于碎片，数据清洗工作量大，不过能覆盖到几乎所有的行业。&lt;/p&gt;
 &lt;p&gt;蚂蚁淘金，基于流水的指数，数据源强大，而且可以横跨桌面和移动——这是前三个指数所不具备的——，数据清洗工作量相对小，但覆盖2B行业有点吃力。&lt;/p&gt;
 &lt;p&gt;作为一个证券投资者，可以购买腾安、百发和淘金的基金产品（淘金100的基金产品相信很快可以获批出炉），，亦可购买四个指数。从过去的收益率来看，似乎都还表现不错。&lt;/p&gt;
 &lt;p&gt;但要从互联网金融这个意义上讲，百发和淘金，更深入一些。&lt;/p&gt;
 &lt;p&gt;六&lt;/p&gt;
 &lt;p&gt;最后的一些个人脑洞大开的思考。&lt;/p&gt;
 &lt;p&gt;10年的时候，我曾经作为一个外部评委参加过一个运营商视频基地的内容采购评估。当时很多视频网站都前来应标。搜狐视频的应标者的话语给我留下了深刻的印象。他们宣称，他们知道中国最受欢迎的演艺人员都有些谁。&lt;/p&gt;
 &lt;p&gt;这是拜搜狗输入法所赐。搜狗输入法可以侦知人们经常用的词都有哪些。经常用的词，某种意义上自然代表了热度。&lt;/p&gt;
 &lt;p&gt;输入法是跨平台的，你可以在各种网站、软件、应用中使用到。而且输入法也是横跨桌面互联网和移动互联网的。搜狗输入法进入到iOS之后，更是全面覆盖到了苹果的硬件产品中。&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://weiwuhui.com/wp-content/uploads/2015/03/erweima2.jpg" rel="lightbox[6581]"&gt;   &lt;img alt="erweima.jpg" height="244" src="http://weiwuhui.com/wp-content/uploads/2015/03/erweima2.jpg" width="226"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
 &lt;p&gt;说明：&lt;/p&gt;
 &lt;p&gt;1、本博客文字，除特别注明外，均为本人原创，可以自由转载，谢绝长微博形式转载；  &lt;br /&gt;
2、转载时请注明本人大名，魏武挥，不是魏武辉，不要搞错。  &lt;br /&gt;
3、转载时请保留此段：本文由扯氮集博主魏武挥原创撰写，欢迎于钛媒体/微信/ZAKER/网易新闻客户端中搜索ItTalks以订阅公众账号，或于搜狐新闻客户端科技频道订阅“魏武挥”  &lt;br /&gt;
4、本人不接受商业文章（俗称软文）撰写的合作，不要再询问我如何合作法。其它合作请点击本公号菜单关于里的合作需知  &lt;br /&gt;
5、欢迎于iOS中下载“ItTalks”应用，或Android中下载“扯氮集”应用。  &lt;br /&gt;
6、欢迎于喜马拉雅电台搜索“魏武挥”，听我用语音的方式吐槽互联网。&lt;/p&gt;
 &lt;hr&gt;&lt;/hr&gt; &lt;small&gt;Copyleft © 2013 知识共享署名-非商业性使用-禁止演绎 注意：转载勿改标题！  &lt;br /&gt;ItTalks -- 魏武挥的Blog (digitalfingerprint:fc4f8fc31f70097eea4b780b13146415)  &lt;br /&gt;  &lt;br /&gt;

欢迎 关注  &lt;a href="http://t.sina.com.cn/weiwuhui"&gt;我的微博&lt;/a&gt;  &lt;br /&gt;  

欢迎 订阅我的微信公众账号：ittalks  &lt;br /&gt;

欢迎 于搜狐新闻客户端中订阅“魏武挥” &lt;/small&gt; &lt;div&gt;
  &lt;a href="http://feeds.feedburner.com/~ff/ItTalks?a=dvCNFlT3h5s:SHdndAV8Xrw:yIl2AUoC8zA"&gt;   &lt;img border="0" src="http://feeds.feedburner.com/~ff/ItTalks?d=yIl2AUoC8zA"&gt;&lt;/img&gt;&lt;/a&gt;   &lt;a href="http://feeds.feedburner.com/~ff/ItTalks?a=dvCNFlT3h5s:SHdndAV8Xrw:7Q72WNTAKBA"&gt;   &lt;img border="0" src="http://feeds.feedburner.com/~ff/ItTalks?d=7Q72WNTAKBA"&gt;&lt;/img&gt;&lt;/a&gt;   &lt;a href="http://feeds.feedburner.com/~ff/ItTalks?a=dvCNFlT3h5s:SHdndAV8Xrw:dnMXMwOfBR0"&gt;   &lt;img border="0" src="http://feeds.feedburner.com/~ff/ItTalks?d=dnMXMwOfBR0"&gt;&lt;/img&gt;&lt;/a&gt;   &lt;a href="http://feeds.feedburner.com/~ff/ItTalks?a=dvCNFlT3h5s:SHdndAV8Xrw:YwkR-u9nhCs"&gt;   &lt;img border="0" src="http://feeds.feedburner.com/~ff/ItTalks?d=YwkR-u9nhCs"&gt;&lt;/img&gt;&lt;/a&gt;   &lt;a href="http://feeds.feedburner.com/~ff/ItTalks?a=dvCNFlT3h5s:SHdndAV8Xrw:D7DqB2pKExk"&gt;   &lt;img border="0" src="http://feeds.feedburner.com/~ff/ItTalks?i=dvCNFlT3h5s:SHdndAV8Xrw:D7DqB2pKExk"&gt;&lt;/img&gt;&lt;/a&gt;   &lt;a href="http://feeds.feedburner.com/~ff/ItTalks?a=dvCNFlT3h5s:SHdndAV8Xrw:F7zBnMyn0Lo"&gt;   &lt;img border="0" src="http://feeds.feedburner.com/~ff/ItTalks?i=dvCNFlT3h5s:SHdndAV8Xrw:F7zBnMyn0Lo"&gt;&lt;/img&gt;&lt;/a&gt;   &lt;a href="http://feeds.feedburner.com/~ff/ItTalks?a=dvCNFlT3h5s:SHdndAV8Xrw:V_sGLiPBpWU"&gt;   &lt;img border="0" src="http://feeds.feedburner.com/~ff/ItTalks?i=dvCNFlT3h5s:SHdndAV8Xrw:V_sGLiPBpWU"&gt;&lt;/img&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>TMT乱弹 媒体供稿 上海观察 互联网指数 大数据</category>
      <guid isPermaLink="true">https://itindex.net/detail/53189-%E4%BA%92%E8%81%94%E7%BD%91-%E5%85%AC%E5%8F%B8-%E6%8C%87%E6%95%B0</guid>
      <pubDate>Tue, 14 Apr 2015 09:24:34 CST</pubDate>
    </item>
    <item>
      <title>十个最流行的Oracle性能指标，DBA必知</title>
      <link>https://itindex.net/detail/54658-%E6%B5%81%E8%A1%8C-oracle-%E6%80%A7%E8%83%BD</link>
      <description>&lt;p&gt;你在尝试提升你的数据库性能么？那么，这十个性能指标你必须要了解。&lt;/p&gt;
 &lt;p&gt;在评估你的Oracle数据库的KPI指标之前，你需要验证你的设想是否正确。这一点是最重要的。否则，你会像一个无头苍蝇，永远都找不到提升数据库性能的方法。因为你的设想本身就是错误的。你需要时刻关注哪些假设是错误的。这有有助于帮你了解Oracle是如何工作的，在哪些地方发生了改变。&lt;/p&gt;
 &lt;p&gt;如今，数据库是应用程序的灵魂。成千上万的企业都在使用Oracle当做本地数据的核心，基于云和混合的架构也是如此。从后台应用到日常商业数据统计，从战略分析报告到预测，都能看见数据库的身影。&lt;/p&gt;
 &lt;p&gt;随着Oracle数据库被大规模使用，你需要仔细监控性能水平，看是否还需要资源来支持部署。大家都不希望为了防止数据库的崩溃，而大量更改数据库配置或增加大量的服务器。那么，就需要经常留意整个数据库的KPI指标，找到它潜在的瓶颈和一些崩溃的迹象。&lt;/p&gt;
 &lt;p&gt;这里就来介绍一下我们需要知道的十个性能指标。&lt;/p&gt;
 &lt;h2&gt;  &lt;strong&gt;分配不足的RAM区域&lt;/strong&gt;&lt;/h2&gt;
 &lt;p&gt;大多数情况下，你可以依靠Oracle推荐的自动内存管理流程。有时候，你可以通过增加RAM使磁盘访问速度显著提升。但如果你不分配足够的内存用于SHARED_POOL_SIZE，PGA_AGGREGATE_TARGET和DB_CACHE_SIZE，那么你的数据库的物理I / O将会进度缓慢。&lt;/p&gt;
 &lt;h2&gt;  &lt;strong&gt;内存排序率&lt;/strong&gt;&lt;/h2&gt;
 &lt;p&gt;数据库运行缓慢是一个很让大家困扰的问题。因为磁盘排序必须在表空间，这远比在内存中排序要慢得多。&lt;/p&gt;
 &lt;h2&gt;  &lt;strong&gt;执行率分析&lt;/strong&gt;&lt;/h2&gt;
 &lt;p&gt;他们第一次执行时，必须解析SQL。其中包括语法检查，语义检查，决策树和执行计划，以便可以高效率的执行。执行计划会储存在缓存库中，下一次执行时会节省时间。解析包括硬解析和软解析，你需要同时简化这两个。硬解析是在运行初始时将全部SQL进行解析。软解析只解析变量。为了更好的执行解析比例，你需要增加session cache cursors（默认为50）。在100至1000的值中找到最佳的性能。&lt;/p&gt;
 &lt;h2&gt;  &lt;strong&gt;多余的嵌套循环联接&lt;/strong&gt;&lt;/h2&gt;
 &lt;p&gt;当你对迭代循环缓慢束手无策的时候，你需要深入到代码中找到更快的解决方案，而不是尽可能的使用嵌套循环联接。若还是没法解决，64位Oracle系统应该更适合你，因为他们有千兆字节的RAM排序和散列连接。要确保你有足够的RAM来让CBO通过设置PGA_AGGREGATE_TARGET参数选择散列连接，使其周转更快。&lt;/p&gt;
 &lt;h2&gt;  &lt;strong&gt;Page清除率&lt;/strong&gt;&lt;/h2&gt;
 &lt;p&gt;这个指标对于在线出版商和电子商务网页来说越来越重要。Page清除人员将旧的Page写入disk asynchronously中，以便新的Page可以被读入缓冲池。一个好的Page清除率是在95%左右。&lt;/p&gt;
 &lt;h2&gt;  &lt;strong&gt;缓冲池I / O的平均响应时间&lt;/strong&gt;&lt;/h2&gt;
 &lt;p&gt;/29/9a1a4312141c483393b38dd341e023de635817136754922878.jpg” alt=”” /&amp;gt;&lt;/p&gt;
 &lt;p&gt;这时最终用户最感兴趣的一个东西。人们可以迅速的感觉到I / O响应瓶颈并进行抱怨。需要将缓冲池的平均读/写时间控制在10毫秒左右。&lt;/p&gt;
 &lt;h2&gt;  &lt;strong&gt;全表扫描&lt;/strong&gt;&lt;/h2&gt;
 &lt;p&gt;如果你看到全表扫描一致在持续进行着，那一定发生了严重的错误。网上交易和高容量操作都需要更高的工作效率。看看你的事务设计。搜索要命的索引和全面优化的SQL。如果你的全表扫描带回不到20％的表行，很可能有索引丢失。&lt;/p&gt;
 &lt;h2&gt;  &lt;strong&gt;事务日志响应时间&lt;/strong&gt;&lt;/h2&gt;
 &lt;p&gt;付款延迟，这是一个严重的问题。记录响应时间会对延迟产生很大的影响。需要使日志响应时间不超过10毫秒，就像缓冲池的I / O那样。&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;行读取/行选择的比例&lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt;这可以节省你的研究时间。它会告诉你在返回指定行之前数据库读取了多少行。如果这个比例高于20，则可能是创建索引的问题。你需要详细研究哪里的比例高于一般值。&lt;/p&gt;
 &lt;h2&gt;  &lt;strong&gt;人为错误&lt;/strong&gt;&lt;/h2&gt;
 &lt;p&gt;你没有看错，造成数据库问题的最大可能其实来自数据库管理者本身。例如，你可能忽略了监控数据库的STATSPACK/ AWR。还可能，你忘了在OEM业绩屏幕上设置自定义异常报告警报。一位智者曾经说过，“Man is the measure of all things.”不要忘了自检。&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>业界观察 Oracle性能指标</category>
      <guid isPermaLink="true">https://itindex.net/detail/54658-%E6%B5%81%E8%A1%8C-oracle-%E6%80%A7%E8%83%BD</guid>
      <pubDate>Mon, 09 Nov 2015 21:09:05 CST</pubDate>
    </item>
    <item>
      <title>Android平台漏洞挖掘与利用</title>
      <link>https://itindex.net/detail/54612-android-%E5%B9%B3%E5%8F%B0-%E6%BC%8F%E6%B4%9E</link>
      <description>&lt;p&gt;由于Android平台特殊的生态，每一个Android设备中存在着Google、手机开发商、芯片厂商等多种来源的软件。每个软件模块没有统一的安全审计制度和测试流程，导致质量良莠不齐，对于安全研究者乃至于恶意攻击者来说，一直是一个比较好的目标。&lt;/p&gt;
 &lt;p&gt;从安全的角度考虑， Android平台利用Linux的uid特性把权限做了很好的区隔，使得在App层级，权限比较受限，一方面阻隔了许多恶意软件可能造成的破坏，另一方面也限缩了用户能够掌控自己设备的能力。例如，卸除用不到的预装软件、清理、加速、杀毒这类的功能，在Android平台上因为权限的关系，都不容易进行。&lt;/p&gt;
 &lt;p&gt;为了因应用户强烈的需求，Rooting App工具软件诞生了。Rooting App利用各种系统漏洞帮用户提升权限，也让Android漏洞在近年来被大量挖掘，利用的手法也不断演进，同时也促使厂商更注重Android平台的安全性。&lt;/p&gt;
 &lt;p&gt;在Android平台上，最底层也是各种权限控制的中枢是Linux内核。Linux内核主体是社群维护的操作系统，也包含了Google、手机厂商、芯片厂商的各种扩展。其中，手机厂商与芯片供货商提供的设备驱动这一部分，一直以来都存在许多安全漏洞。例如，2012年底开始出现mmap类的漏洞利用，第三方软件可以轻易地修改内核数据甚至代码来提权。Samsung平台上的CVE-2012-6422漏洞，算是其中大家比较熟知的。&lt;/p&gt;
 &lt;blockquote&gt;  &lt;p&gt;注：mmap是一个用来映像内存空间的系统调用，常用于从内核暴露一段地址空间让用户态可以更有效率的进行内存读写。&lt;/p&gt;&lt;/blockquote&gt;
 &lt;p&gt;除了mmap类的漏洞外，用户态与驱动数据交换导致的任意地址写漏洞也在2013年开始大量被发现。例如Qualcomm平台上的copy_from_user类漏洞CVE-2013-6123，第三方软件可以用伪造的数据与摄像头驱动做交互，进而修改任意地址的内容。&lt;/p&gt;
 &lt;blockquote&gt;  &lt;p&gt;注：copy_from_user是一个Linux内核中的应用程序接口，用于从用户态拷贝数据到内核态。例如，应用程序设定内核驱动中的某个变量，常会用到这个接口。&lt;/p&gt;&lt;/blockquote&gt;
 &lt;p&gt;  &lt;img alt="" height="244" src="http://www.techug.com/wordpress/wp-content/uploads/2015/10/562c41414e5e7_middle.jpg?e3f00d" width="550"&gt;&lt;/img&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;img alt="" height="411" src="http://www.techug.com/wordpress/wp-content/uploads/2015/10/562c4277a1c6f_middle.jpg?e3f00d" width="550"&gt;&lt;/img&gt;&lt;/p&gt;
 &lt;p&gt;提到Android漏洞，当然不得不提2013年出现的通用型漏洞。CVE-2013-6282算是最早被用在Rooting App中的通用型漏洞，它是一个内核层级的应用程序接口调用缺少必要的参数检查，导致攻击者可以透过一个简单的系统调用做到任意地址写。搭配Linux内核的信息泄露设计疏失，使得利用这个漏洞做提权的工具几乎可以横扫当时所有的Android设备。&lt;/p&gt;
 &lt;p&gt;其他包括CVE-2014-3153，以及CVE-2015-3636，都算是存在Linux内核操作系统的漏洞，可以适用于大部份Android设备。其中，近期发现的CVE-2015-3636是一个关于内存分配与释放的逻辑错误，是一种比较难被发现而且利用门坎较高的漏洞类型，特征不如前面两个类型明显，需要对于代码逻辑有较深的理解才能挖到漏洞。而漏洞利用时需要的合适攻击目标也比较难定位，这一部分只能依靠平时积累经验以及多充实工具库，如此一来，当漏洞出现时能尽快找到合适的武器。&lt;/p&gt;
 &lt;p&gt;除了权限中枢Linux内核以外，对于拥有较高权限的进程也是被关注的目标，例如mediaserver这样的进程，由于需要处理多种媒体文件格式，使用了大量第三方应用库，也同时引入了很多安全漏洞。其中，Stagefright的一系列问题在2015年8月开始大量被披露，其攻击手段就是利用第三方应用库处理较复杂的媒体文件格式时，没考虑到的边界情况导致溢出，进而控制mediaserver。由于这些媒体文件可以以MMS的形式传递到手机，对Android手机用户是一个很大的威胁。&lt;/p&gt;
 &lt;p&gt;  &lt;img alt="" height="386" src="http://www.techug.com/wordpress/wp-content/uploads/2015/10/562c43ced86fd_middle.jpg?e3f00d" width="550"&gt;&lt;/img&gt;&lt;/p&gt;
 &lt;p&gt;相较于media权限，以system权限执行的system_server更是攻击者觊觎的一个目标，CVE-2014-7911就是通过第三方软件准备的数据使得system_server进程执行任意代码，获取system权限后，更多的攻击目标会被暴露在外，例如使用Qualcomm一系列芯片的手机上存在的CVE-2014-4322漏洞，在正常的情况下，第三方软件是无法与其相关的驱动做交互。然而，利用CVE-2014-7911提升到system权限后，CVE-2014-4322相关的设备文件就能被打开，进而造成有效的攻击。&lt;/p&gt;
 &lt;p&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>业界观察</category>
      <guid isPermaLink="true">https://itindex.net/detail/54612-android-%E5%B9%B3%E5%8F%B0-%E6%BC%8F%E6%B4%9E</guid>
      <pubDate>Sat, 31 Oct 2015 20:09:44 CST</pubDate>
    </item>
    <item>
      <title>巨兽是如何倒下的：他们只是买下新技术，而不是依托技术去重构业务</title>
      <link>https://itindex.net/detail/54093-%E5%B7%A8%E5%85%BD-%E6%8A%80%E6%9C%AF-%E6%8A%80%E6%9C%AF</link>
      <description>&lt;p&gt;A16Z是一家风格独特的基金。他们投了许多大胆的公司，也会经常分享对于技术和创投的看法。今天我重看了他们的一份报告，Mobile is eating the world，有些新的收获。&lt;/p&gt;
 &lt;p&gt;A16Z的创始合伙人Marc之前有个名句，叫Software is eating the world。另一位合伙人Benedict接过大旗，开始鼓吹移动这股潮流对于技术和世界的影响。他在这份报告里着重说了这么几个观点：&lt;/p&gt;
 &lt;p&gt;1.移动让技术变得更广泛更易为普通人获取  &lt;br /&gt;
2.移动重构了技术界的生态和版图  &lt;br /&gt;
3. 移动重构了互联网  &lt;br /&gt;
4. 移动主宰了人们的注意力  &lt;br /&gt;
5. 技术开始溢出。(tech outgrowth tech)&lt;/p&gt;
 &lt;p&gt;第五条很有意思。技术的部署通常分为三个阶段，先是某些公司（A）创造出新技术，接着是另外一些公司（B）买下新技术，运用到自己的业务中，最后是出现一些新公司（C），他们的业务从一开始就是依托新技术来构想的。&lt;/p&gt;
 &lt;p&gt;拿具体案例来说，A是早期的Intel和思科，他们创造出了基础的计算和联网技术，B是后来开始买入各种计算机的银行或者零售企业，他们买入这些技术，是为了让自己现有的业务运转的更有效率，C就是以Airbnb和Uber为代表的一类公司，他们从诞生之初就是依托互联网和计算设备的，没有现在的IT架构，他们的商业模式没法运转。&lt;/p&gt;
 &lt;p&gt;比较下B类和C类公司，你会发现他们对技术的态度是非常不一样的。在B类公司里，技术是在后台做支持性工作的，同传统企业里的人力和行政一样，存在的意义是给公司的主营业务提供支持，技术部门是产生成本的。技术就像公司里的绿色植物，是一个有用的设施，但是在公司的业务逻辑里，肯定不是核心。绿植怎么能做业务核心呢？&lt;/p&gt;
 &lt;p&gt;但是在C类公司里，技术扮演的是绝对核心的角色。和B类公司不一样的是，C类公司从一开始就把自己的业务逻辑建立在技术之上，两位创始人合伙人最少有一位是负责技术的，产品和业务的每一步推进都需要技术的紧密参与，公司核心产品的体验同技术密切相关。技术在C类公司里扮演的不是绿植的角色，不是锦上添花，而是关系生死。&lt;/p&gt;
 &lt;p&gt;还是拿实例举例。沃尔玛和亚马逊都是做零售的，沃尔玛也会采购各类IT设施来提升企业内部的运营效率，也有自己的官网提供电商服务，但是整个体系的运转还是以线下出货为主，用户的核心体验主要由线下的购物环境决定，这就决定了公司的核心资源不会放在IT技术这块。亚马逊则是另外一副景象，它的所有用户都只能通过互联网去获取服务，网页加载的速度，商品推荐的精度，几乎所有核心体验都是由技术支持的。这样的公司内部会如何看待技术呢？&lt;/p&gt;
 &lt;p&gt;这样的例子还有很多。如果传统出租车公司在Uber出来之前，买下了整套技术，他们会它来干嘛？很可能是啥都不做，因为在原有的业务逻辑下，部署这套系统并不能帮出租车公司挣到更多钱，反倒是要养一批工程师花钱。你说改变商业模式？躺着就能挣钱你让我站起来？&lt;/p&gt;
 &lt;p&gt;有影响力的新技术出现时，伴随而生的是许多新机会。这些机会通常是传统巨兽没法捕捉到的，甚至捕捉到之后也没法吃下去，因为吃下去之后也会因为体质原因消化不良。过去的时代里，因为创业的成本太高，许多新技术都是直接卖给传统巨头了事。如今的创业者有机会以较低的成本，基于新技术去完整构建一种新的商业模式。从这个角度看，现在的确是个好时代。&lt;/p&gt;
 &lt;p&gt;推荐阅读这三篇文章：&lt;/p&gt;
 &lt;p&gt;Chris Dixon：我们正处这波计算技术革命的部署阶段  &lt;br /&gt;
由风投数据与技术成熟曲线看未来科技部署  &lt;br /&gt;
2014年Q1-Q3国内创业生态报告：在技术革命的部署阶段，泡沫不是问题&lt;/p&gt;
 &lt;p&gt;对于这个话题，我们在思考，也在行动。互联网行业媒体的下一步会是什么样的？信息的流动如何才能更真实顺畅？欢迎对这个问题有兴趣的朋友和我交流&lt;/p&gt;
 &lt;p&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>业界观察</category>
      <guid isPermaLink="true">https://itindex.net/detail/54093-%E5%B7%A8%E5%85%BD-%E6%8A%80%E6%9C%AF-%E6%8A%80%E6%9C%AF</guid>
      <pubDate>Thu, 06 Aug 2015 15:34:55 CST</pubDate>
    </item>
    <item>
      <title>如何用科技手段防止孩子走失？</title>
      <link>https://itindex.net/detail/54087-%E7%A7%91%E6%8A%80-%E5%AD%A9%E5%AD%90</link>
      <description>&lt;p&gt;  &lt;strong&gt;　　这两天网上又引发了对儿童拐卖事件的热烈讨论，判人贩子死刑什么的先不管，最重要的还是防患于未然，不要把孩子弄丢吧。问题是现在有什么高科技手段能防止孩子走失呢？&lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt;腾讯科技：&lt;/p&gt;
 &lt;p&gt;这两年来，几部拐卖儿童主题的电影如《失孤》、《亲爱的》让人们开始关注这个中国当下的社会问题。拐卖儿童妇女这种恶行唤起了无数公众对于人贩子的仇恨，也刺激到了无数父母紧绷着的神经。&lt;/p&gt;
 &lt;p&gt;其实，相比于事后惩戒，防患于未然同样重要，怎样才能看好自己的孩子，让人贩子无机可乘，这也是家长们需要关注的问题。面对这个社会问题，科技行业也涌现了不少手段，帮助父母们看管好自己的孩子。&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;　　各种各样的 GPS 儿童智能手表&lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt;面对愈来愈受公众关注的拐卖儿童事件，许多企业纷纷推出了基于 GPS 定位功能的智能手表、手环等可穿戴式产品。其产品思路大体是通过手表内置的 GPS、LBS、WiFi 等模块进行实时定位，并配合智能手机端的 APP 将位置信息发送给家长。&lt;/p&gt;
 &lt;p&gt;除了发送手表的位置信息以外，不少品牌的“儿童卫士”还拥有可插 SIM 卡打电话、一键报警等功能，可以说给孩子的安全层层把关。&lt;/p&gt;
 &lt;p&gt;然而这类产品也有不少缺点，主要是电池续航能力不足和定位不准的问题。电池续航方面，手表机身大小有限，很难塞进大容量的电池，而 GPS 模块是非常耗电的。市面上的这些手表，在 GPS 功能开启的情况下长的可能有一两天，大多数产品一天都很困难。另一方面定位系统的有效场景有限，如果在高楼林立的地区或者室内的话，定为就容易不准确，起不到有效的作用。&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;　　借助智能手机定位寻找&lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;img alt="[&amp;#31185;&amp;#25216;&amp;#19981;&amp;#24597;&amp;#38382;]&amp;#22914;&amp;#20309;&amp;#29992;&amp;#31185;&amp;#25216;&amp;#25163;&amp;#27573;&amp;#38450;&amp;#27490;&amp;#23401;&amp;#23376;&amp;#36208;&amp;#22833;&amp;#65311;" height="294" src="http://www.techug.com/wordpress/wp-content/uploads/2015/08/190919509359098.jpg?9bae72" width="416"&gt;&lt;/img&gt;&lt;/p&gt;
 &lt;p&gt;智能手机时代，不少家长已经给自己的孩子也配备了智能手机，用以日常联系、孩子的娱乐等等，但可能家长们并不知道现在的主流智能手机平台——iOS、Android 和 Windows Phone 都提供基于地理位置的设备查找服务。&lt;/p&gt;
 &lt;p&gt;只需要用平台各自的统一账号登陆即可在查找同一账户下登陆的设备位置。以 iOS 平台为例，家长们只需要保证自己与孩子使用的 Apple ID 一致，通过网页登陆 iCloud 之后就能用“查找我的 iPhone”实时追踪孩子的位置了。此外除了网页 iCloud，家长们也可以直接从 App Store 上下载“查找我的 iPhone”应用，随时随地的追踪孩子的位置。&lt;/p&gt;
 &lt;p&gt;相比于专门的 GPS 定位手表，智能手机的优势在于电池够大续航够久，而且能独立联网也提高了定位的准确性。&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;　　NFC 蓝牙定位设备防走散&lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;img alt="[&amp;#31185;&amp;#25216;&amp;#19981;&amp;#24597;&amp;#38382;]&amp;#22914;&amp;#20309;&amp;#29992;&amp;#31185;&amp;#25216;&amp;#25163;&amp;#27573;&amp;#38450;&amp;#27490;&amp;#23401;&amp;#23376;&amp;#36208;&amp;#22833;&amp;#65311;" height="270" src="http://www.techug.com/wordpress/wp-content/uploads/2015/08/190919510291071.png?9bae72" width="554"&gt;&lt;/img&gt;&lt;/p&gt;
 &lt;p&gt;另外还有一种借助蓝牙的定位设备，能够一定程度上防止父母与孩子外出时走散。这种设备体积小巧，通过蓝牙与手机随时连接，一旦与手机之间的距离过大，就会触发手机上的应用产生报警声。家长与孩子一同外出时可以让孩子随身携带这种小设备，以免因为一时分神、孩子走散却不知道的现象发生。&lt;/p&gt;
 &lt;p&gt;这种手段的弊端也很明显，一来它无法进行精确的定位，只能提醒家长自己与孩子之间距离过大；其次它的有效范围非常有限，一般在 30-50 米之内，一旦超出这个范围就失去了效用。相比于防止孩童走失，这种产品更多应用于防范物件丢失上。&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;　　总结&lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt;以上是目前主要的防止孩子走失的科技手段，总的来看三种方法都有着各自的不足，但在一定程度上也有预防和警示作用。&lt;/p&gt;
 &lt;p&gt;家长们不能因为购置了这些设备就以为可以高枕无忧了。最重要的是，一方面家长对孩子多多教育，不能到处乱跑，另一方面外出的时候时刻注意孩子，这样才能让犯罪分子无机可乘。&lt;/p&gt;
&lt;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>业界观察 科技手段</category>
      <guid isPermaLink="true">https://itindex.net/detail/54087-%E7%A7%91%E6%8A%80-%E5%AD%A9%E5%AD%90</guid>
      <pubDate>Wed, 05 Aug 2015 11:44:14 CST</pubDate>
    </item>
  </channel>
</rss>

