<?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>115本值得一读再读的书，值得收藏！</title>
      <link>https://itindex.net/detail/55178-%E5%80%BC%E5%BE%97-%E4%B8%80%E8%AF%BB-%E5%80%BC%E5%BE%97</link>
      <description>&lt;p&gt;你在阅读上花的每一秒，都会沉淀成更好的你。12类，115本值得一读再读的好书。这个寒假，我们读书吧！&lt;/p&gt;
 &lt;p&gt;  &lt;img alt="" src="http://ww1.sinaimg.cn/mw690/61ea1df4jw1f0553c2m11j20c80cd75f.jpg"&gt;&lt;/img&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;img alt="" src="http://ww4.sinaimg.cn/mw690/61ea1df4jw1f0553cwu9hj20c80cywfl.jpg"&gt;&lt;/img&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;img alt="" src="http://ww1.sinaimg.cn/mw690/61ea1df4jw1f0553cn8vpj20c80ogju1.jpg"&gt;&lt;/img&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;img alt="" src="http://ww3.sinaimg.cn/mw690/61ea1df4jw1f0553d91ynj20c80emdh4.jpg"&gt;&lt;/img&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;img alt="" src="http://ww1.sinaimg.cn/mw690/61ea1df4jw1f0553du0gej20c80qpq66.jpg"&gt;&lt;/img&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;img alt="" src="http://ww2.sinaimg.cn/mw690/61ea1df4jw1f0553e3152j20c80l4gnq.jpg"&gt;&lt;/img&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;img alt="" src="http://ww2.sinaimg.cn/mw690/61ea1df4jw1f0553eyu6cj20c80pgacq.jpg"&gt;&lt;/img&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;img alt="" src="http://ww1.sinaimg.cn/mw690/61ea1df4jw1f0553f5rjyj20c80hatam.jpg"&gt;&lt;/img&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;img alt="" src="http://ww3.sinaimg.cn/mw690/61ea1df4jw1f0553fmizvj20c80ggdhk.jpg"&gt;&lt;/img&gt;&lt;/p&gt;
 &lt;p&gt;（  &lt;a href="http://weibo.com/2803301701/DdOG8gHCh?type=comment#_rnd1453203365734" target="_blank"&gt;来源&lt;/a&gt;）&lt;/p&gt;
 &lt;table border="0" cellpadding="3" cellspacing="0"&gt;
    
      &lt;tr&gt;
           &lt;td colspan="5"&gt;    &lt;strong&gt;您可能也喜欢：&lt;/strong&gt;&lt;/td&gt;
    &lt;/tr&gt;
    
          &lt;tr&gt;
                   &lt;td valign="top" width="102"&gt;
                        &lt;a href="http://app.wumii.com/ext/redirect?url=http%3A%2F%2Fwww.zreading.net%2Fwhy-lychees-at-the-fire%2F&amp;from=http%3A%2F%2Fwww.zreading.net%2F115-books%2F" target="_blank" title="&amp;#20026;&amp;#20160;&amp;#20040;&amp;#21507;&amp;#33620;&amp;#26525;&amp;#20250;&amp;#8220;&amp;#19978;&amp;#28779;&amp;#8221;&amp;#65311;"&gt;
                             &lt;img height="96px" src="http://wumii-cc.wumii.cn/site_images/ti/9QzN1v86.jpg?i=UuvZNkWu" width="96px"&gt;&lt;/img&gt;     &lt;br /&gt;
                        为什么吃荔枝会“上火”？
                    &lt;/a&gt;
                &lt;/td&gt;
                   &lt;td valign="top" width="102"&gt;
                        &lt;a href="http://app.wumii.com/ext/redirect?url=http%3A%2F%2Fwww.zreading.net%2Fenvironmental-protection-is-a-luxury%2F&amp;from=http%3A%2F%2Fwww.zreading.net%2F115-books%2F" target="_blank" title="&amp;#23545;&amp;#31351;&amp;#20154;&amp;#32780;&amp;#35328;&amp;#65292;&amp;#29615;&amp;#20445;&amp;#26159;&amp;#22882;&amp;#20360;&amp;#21697;&amp;#65311;"&gt;
                             &lt;img height="96px" src="http://wumii-cc.wumii.cn/site_images/ti/gE2ykILB.jpg?i=6Or2CrH0" width="96px"&gt;&lt;/img&gt;     &lt;br /&gt;
                        对穷人而言，环保是奢侈品？
                    &lt;/a&gt;
                &lt;/td&gt;
                   &lt;td valign="top" width="102"&gt;
                        &lt;a href="http://app.wumii.com/ext/redirect?url=http%3A%2F%2Fwww.zreading.net%2Fdisney-animation%2F&amp;from=http%3A%2F%2Fwww.zreading.net%2F115-books%2F" target="_blank" title="20&amp;#24180;&amp;#26469;&amp;#36842;&amp;#22763;&amp;#23612;&amp;#21160;&amp;#30011;&amp;#21644;&amp;#23545;&amp;#25163;&amp;#20204;&amp;#30340;&amp;#25104;&amp;#32489;&amp;#23545;&amp;#27604;"&gt;
                             &lt;img height="96px" src="http://wumii-cc.wumii.cn/site_images/ti/OWoQr4gZ.jpg?i=TgjppoCS" width="96px"&gt;&lt;/img&gt;     &lt;br /&gt;
                        20年来迪士尼动画和对手们的成绩对比
                    &lt;/a&gt;
                &lt;/td&gt;
                   &lt;td valign="top" width="102"&gt;
                        &lt;a href="http://app.wumii.com/ext/redirect?url=http%3A%2F%2Fwww.zreading.net%2Fmy-love%2F&amp;from=http%3A%2F%2Fwww.zreading.net%2F115-books%2F" target="_blank" title="&amp;#32463;&amp;#20856;&amp;#21488;&amp;#35789;&amp;#65306;&amp;#25105;&amp;#30340;&amp;#29233;&amp;#65292;&amp;#19981;&amp;#20250;&amp;#35753;&amp;#25105;&amp;#25104;&amp;#20026;&amp;#27704;&amp;#36828;&amp;#30340;&amp;#23396;&amp;#39746;"&gt;
                             &lt;img height="96px" src="http://wumii-cc.wumii.cn/site_images/ti/hOiX2gyF.jpg?i=13ZK7i6m" width="96px"&gt;&lt;/img&gt;     &lt;br /&gt;
                        经典台词：我的爱，不会让我成为永远的孤魂
                    &lt;/a&gt;
                &lt;/td&gt;
                   &lt;td valign="top" width="102"&gt;
                        &lt;a href="http://app.wumii.com/ext/redirect?url=http%3A%2F%2Fwww.zreading.net%2Fspring-history%2F&amp;from=http%3A%2F%2Fwww.zreading.net%2F115-books%2F" target="_blank" title="&amp;#21313;&amp;#20998;&amp;#38047;&amp;#35835;&amp;#23436;&amp;#26149;&amp;#31179;&amp;#21490;&amp;#65306;&amp;#20551;&amp;#22914;&amp;#20013;&amp;#21407;&amp;#26159;&amp;#19968;&amp;#20010;&amp;#26449;"&gt;
                             &lt;img height="96px" src="http://wumii-cc.wumii.cn/site_images/ti/c9wTRDN.jpg?i=ZOTFBkHC" width="96px"&gt;&lt;/img&gt;     &lt;br /&gt;
                        十分钟读完春秋史：假如中原是一个村
                    &lt;/a&gt;
                &lt;/td&gt;
        &lt;/tr&gt;
    
      &lt;tr&gt;
           &lt;td align="right" colspan="5"&gt;
                &lt;a href="http://www.wumii.com/widget/relatedItems" target="_blank" title="&amp;#26080;&amp;#35269;&amp;#20851;&amp;#32852;&amp;#25512;&amp;#33616;"&gt;
                无觅
            &lt;/a&gt;
        &lt;/td&gt;
    &lt;/tr&gt;
&lt;/table&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/55178-%E5%80%BC%E5%BE%97-%E4%B8%80%E8%AF%BB-%E5%80%BC%E5%BE%97</guid>
      <pubDate>Tue, 09 Feb 2016 20:10:04 CST</pubDate>
    </item>
    <item>
      <title>6行代码实现一个 id 发号器</title>
      <link>https://itindex.net/detail/53991-%E4%BB%A3%E7%A0%81-id</link>
      <description>&lt;p&gt;id 发号器的问题，  &lt;a href="http://weibo.com/iyile" target="_blank" title="&amp;#24494;&amp;#21338; @&amp;#19968;&amp;#20048;"&gt;@一乐&lt;/a&gt; 的这篇文章说的很透彻了：  &lt;a href="http://weibo.com/p/1001603800404851831206" target="_blank"&gt;http://weibo.com/p/1001603800404851831206&lt;/a&gt; 但参考实现就显得有些复杂。最近在雪球工作中正好需要用到发号器，于是用 Lua 在 Redis 上实现了一个最简单的：&lt;/p&gt;
 &lt;p&gt;  &lt;code&gt;   &lt;br /&gt;
-- usage: redis-cli -h 10.10.201.100 -p 10401 EVAL &amp;quot;$(cat getID.lua)&amp;quot; 1 XID:01:02   &lt;br /&gt;
local arg = KEYS[1]   &lt;br /&gt;
-- project id must has 2 digits, 01 - 15   &lt;br /&gt;
local pid = tonumber(string.sub(arg, 5, 6))   &lt;br /&gt;
-- instance id must has 2 digits, 01 - 15   &lt;br /&gt;
local iid = tonumber(string.sub(arg, 8, 9))   &lt;br /&gt;
local idnum = redis.call(&amp;quot;INCR&amp;quot;, &amp;quot;ID_IDX&amp;quot;) % 65536   &lt;br /&gt;
local sec = redis.call(&amp;quot;TIME&amp;quot;)[1] - 1420041600   &lt;br /&gt;
return sec*16777216 + pid*1048576 + iid*65536 + idnum   &lt;br /&gt;
&lt;/code&gt;&lt;/p&gt;
 &lt;p&gt;解释：&lt;/p&gt;
 &lt;ul&gt;
  &lt;li&gt;id 总长度 52bit，为了兼容 js，php，flex 等语言 long 类型最长只能 52 bit&lt;/li&gt;
  &lt;li&gt;最高 28 bit 为秒级时间戳，因为位数限制，不能从 1970.1.1 开始，-1420041600 表示从 2015.1.1 开始，大约可以使用10年（3106天）&lt;/li&gt;
  &lt;li&gt;接下来4个bit为 project id，客户端传入，区分业务&lt;/li&gt;
  &lt;li&gt;再接下来4个bit为 instance id，HA 用的，支持最多16个instance。如果业务只需要“秒级粗略有序”，比如发微博或发评论，则可以多个 instance 同时使用，不需要做任何特殊处理；如果业务需要“因果有序”，比如某个user短期内快速做的多个操作必须有因果顺序（程序化交易，必须先卖再买，几个毫秒内完成），那么就需要做一些特殊处理，要么用 uid 做一致性hash，或者像我们这样偷懒：一段时间内固定使用一个 instance&lt;/li&gt;
  &lt;li&gt;最低16个bit是 sequence id，每个 instance 支持每秒 65535 个 id。bit数再大，redis 该成为瓶颈了。&lt;/li&gt;
  &lt;li&gt;twitter和微博都是把 instance id 写死到 server 端，这样 server端就变成有状态的了：16个instance，每个 instance 都与其它的配置不一样。在雪球我们不希望 server 端有状态，于是设计成 instance id 由客户端传入，server 端退化成一个普通的 redis cache server （不需要 rdb，不需要 aof，宕机重启即可）&lt;/li&gt;
  &lt;li&gt;几个注意点：宕机不能自动立即重启，必须间隔1秒以上，避免 sequence id 重复导致 id 重复；迁移时必须先 kill 老的 instance，再启动新的，也是为了避免 sequence id 重复。&lt;/li&gt;
&lt;/ul&gt;
 &lt;p&gt;id 发号器说简单也确实挺简单。任何一个技术点，只要理解了本质，大约都是这么简单罢。&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>JAVA 技术资料</category>
      <guid isPermaLink="true">https://itindex.net/detail/53991-%E4%BB%A3%E7%A0%81-id</guid>
      <pubDate>Mon, 27 Jul 2015 11:15:31 CST</pubDate>
    </item>
    <item>
      <title>煎鱼不散、烧鱼不碎、蒸鱼不腥的绝招</title>
      <link>https://itindex.net/detail/53181-%E4%B8%8D%E6%95%A3-%E7%BB%9D%E6%8B%9B</link>
      <description>&lt;p&gt;  &lt;strong&gt;煎鱼不粘锅的具体做法如下：&lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt;1、将锅洗净，揩干后烧热，然后放油，再把锅子稍加转动，使锅内四周都有油。待油烧热时，将鱼放入，鱼皮煎至金黄色时再翻动，这样鱼就不会粘锅。如果油还未热就放鱼，就很容易使鱼皮粘在锅上。&lt;/p&gt;
 &lt;p&gt;2、将鱼洗净后（大鱼切成块状），薄薄沾上一层面。待锅里油热后，将鱼放进去，煎至金黄色再翻煎另一面。这样煎出的鱼块完整，也不会粘锅。&lt;/p&gt;
 &lt;p&gt;3、将鸡蛋打碎倒入碗中搅匀，再将洗净的鱼或者鱼块分别放入碗中，使鱼裹上一层蛋汁，然后放入热油锅中煎。这样煎出的鱼也不会粘锅。&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;/p&gt;
 &lt;p&gt;1、煎鱼之前可以先拿生姜把锅擦一下，再放油煎鱼；&lt;/p&gt;
 &lt;p&gt;2、煎鱼之前可以先放些盐在锅里炒一下，然后再放油煎鱼；&lt;/p&gt;
 &lt;p&gt;3、可将鸡蛋液刷一些在鱼身上，这样就有了一层保护膜；&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;1、烧鱼之前，先将鱼下锅炸一下。如烧鱼块，应该裹一层薄薄的水淀粉，再下锅炸。炸时注意油温宜高不宜低。&lt;/p&gt;
 &lt;p&gt;2、烧鱼时的火力不宜大，汤不宜多，以刚没过鱼为宜。待汤烧开后，就要改用小火煨焖，至汤浓放香时即可。&lt;/p&gt;
 &lt;p&gt;3、在煨焖过程中，要少翻动鱼。为防止巴锅，可将锅端起轻轻晃动。&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;1、撒盐法：&lt;/p&gt;
 &lt;p&gt;将鱼洗净后控干，撒上细盐，均匀地抹遍鱼身，如果是大鱼，应在腹内也抹上盐，腌渍半小时，再制作。经过这样处理的鱼，蒸熟不易碎，成菜能入味。&lt;/p&gt;
 &lt;p&gt;2、加鸡油法：&lt;/p&gt;
 &lt;p&gt;做清蒸鱼时，除了放好作料外，再把成块鸡油放在鱼肉上面，这样鱼肉吸 收了鸡油，蒸出来后便滑溜好吃了。&lt;/p&gt;
 &lt;p&gt;3、沸水上屉法：&lt;/p&gt;
 &lt;p&gt;蒸鱼时，等水沸后再上屉蒸，而且要将锅盖盖严。这样蒸出来的鱼便会新鲜可口，香味纯正。&lt;/p&gt;
 &lt;p&gt;4、涂抹干粉法：&lt;/p&gt;
 &lt;p&gt;蒸鱼时，先在鱼上涂抹一些干粉，蒸时不揭锅盖。如250g重的鱼，在鱼身厚薄一致的情况下，蒸8-10分钟即可。每增重250g，多蒸5分钟。&lt;/p&gt;
 &lt;p&gt;5、啤酒腌浸法：&lt;/p&gt;
 &lt;p&gt;清蒸腥味较大的鱼时，用啤酒腌浸10-15分钟后再蒸，不仅腥味锐减，而且还会有一种螃蟹味。&lt;/p&gt;
 &lt;p&gt;6、剩鱼清蒸法：&lt;/p&gt;
 &lt;p&gt;清蒸鱼如一次吃不完，再吃时可打入1个鸡蛋，做成鱼蒸蛋，这样鱼就不腥。&lt;/p&gt;
 &lt;p&gt;7、蒸小鱼头：&lt;/p&gt;
 &lt;p&gt;小鱼头富有营养，但吃起来肉少。如先将鱼头放在案板上，用刀剁成细屑，放大碗中，加适量的面粉及味精、料酒、胡椒粉、葱姜末，搅拌均匀后，用旺火蒸10多分钟，那美味可口的鱼头羹就做好了。（&lt;/p&gt;
 &lt;table border="0" cellpadding="3" cellspacing="0"&gt;
    
      &lt;tr&gt;
           &lt;td colspan="5"&gt;    &lt;strong&gt;您可能也喜欢：&lt;/strong&gt;&lt;/td&gt;
    &lt;/tr&gt;
    
          &lt;tr&gt;
                   &lt;td valign="top" width="102"&gt;
                        &lt;a href="http://app.wumii.com/ext/redirect?url=http%3A%2F%2Fwww.zreading.net%2Fhave-the-skills-to-fight-increased-feelings-of-the-couple%2F&amp;from=http%3A%2F%2Fwww.zreading.net%2Fzhu-yu-trick%2F" target="_blank" title="&amp;#26377;&amp;#25216;&amp;#24039;&amp;#22320;&amp;#21557;&amp;#26550; &amp;#22827;&amp;#22971;&amp;#22686;&amp;#24863;&amp;#24773;"&gt;
                             &lt;img height="96px" src="http://wumii-cc.wumii.cn/site_images/ti/GeIFcT4l.jpg?i=14QY9a8PZ" width="96px"&gt;&lt;/img&gt;     &lt;br /&gt;
                        有技巧地吵架 夫妻增感情
                    &lt;/a&gt;
                &lt;/td&gt;
                   &lt;td valign="top" width="102"&gt;
                        &lt;a href="http://app.wumii.com/ext/redirect?url=http%3A%2F%2Fwww.zreading.net%2Fdating-tips%2F&amp;from=http%3A%2F%2Fwww.zreading.net%2Fzhu-yu-trick%2F" target="_blank" title="&amp;#32422;&amp;#20250;&amp;#25216;&amp;#24039;"&gt;
                             &lt;img height="96px" src="http://wumii-cc.wumii.cn/site_images/ti/t7EGbNw.jpg?i=yubqTzlx" width="96px"&gt;&lt;/img&gt;     &lt;br /&gt;
                        约会技巧
                    &lt;/a&gt;
                &lt;/td&gt;
                   &lt;td valign="top" width="102"&gt;
                        &lt;a href="http://app.wumii.com/ext/redirect?url=http%3A%2F%2Fwww.zreading.net%2Fskills-a-persons-life%2F&amp;from=http%3A%2F%2Fwww.zreading.net%2Fzhu-yu-trick%2F" target="_blank" title="&amp;#19968;&amp;#20010;&amp;#20154;&amp;#29983;&amp;#27963;&amp;#30340;&amp;#25216;&amp;#24039;"&gt;
                             &lt;img height="96px" src="http://wumii-cc.wumii.cn/site_images/ti/dTOjmn7m.jpg?i=8N8fCBOZ" width="96px"&gt;&lt;/img&gt;     &lt;br /&gt;
                        一个人生活的技巧
                    &lt;/a&gt;
                &lt;/td&gt;
                   &lt;td valign="top" width="102"&gt;
                        &lt;a href="http://app.wumii.com/ext/redirect?url=http%3A%2F%2Fwww.zreading.net%2Fon-dating%2F&amp;from=http%3A%2F%2Fwww.zreading.net%2Fzhu-yu-trick%2F" target="_blank" title="&amp;#35770;&amp;#20132;&amp;#21451;&amp;#65306;&amp;#20843;&amp;#20132;&amp;#65292;&amp;#20061;&amp;#19981;&amp;#20132;"&gt;
                             &lt;img height="96px" src="http://wumii-cc.wumii.cn/site_images/ti/15SKp5k14.jpg?i=omXHodZJ" width="96px"&gt;&lt;/img&gt;     &lt;br /&gt;
                        论交友：八交，九不交
                    &lt;/a&gt;
                &lt;/td&gt;
                   &lt;td valign="top" width="102"&gt;
                        &lt;a href="http://app.wumii.com/ext/redirect?url=http%3A%2F%2Fwww.zreading.net%2F32-singing-skills%2F&amp;from=http%3A%2F%2Fwww.zreading.net%2Fzhu-yu-trick%2F" target="_blank" title="32&amp;#20010;&amp;#27468;&amp;#21809;&amp;#25216;&amp;#24039;"&gt;
                             &lt;img height="96px" src="http://wumii-cc.wumii.cn/site_images/ti/GQm085dr.jpg?i=1nqm4qs" width="96px"&gt;&lt;/img&gt;     &lt;br /&gt;
                        32个歌唱技巧
                    &lt;/a&gt;
                &lt;/td&gt;
        &lt;/tr&gt;
    
      &lt;tr&gt;
           &lt;td align="right" colspan="5"&gt;
                &lt;a href="http://www.wumii.com/widget/relatedItems" target="_blank" title="&amp;#26080;&amp;#35269;&amp;#20851;&amp;#32852;&amp;#25512;&amp;#33616;"&gt;
                无觅
            &lt;/a&gt;
        &lt;/td&gt;
    &lt;/tr&gt;
&lt;/table&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/53181-%E4%B8%8D%E6%95%A3-%E7%BB%9D%E6%8B%9B</guid>
      <pubDate>Sun, 12 Apr 2015 20:31:22 CST</pubDate>
    </item>
    <item>
      <title>Infographic: 中国智能手机用户的行为调研报告</title>
      <link>https://itindex.net/detail/47313-infographic-%E4%B8%AD%E5%9B%BD-%E6%99%BA%E8%83%BD%E6%89%8B%E6%9C%BA</link>
      <description>&lt;p&gt;  &lt;strong&gt;2013年12月26日，北京&lt;/strong&gt;——群邑中国旗下移动营销代理公司邑智今日公布了一项关于中国智能手机用户的行为调研报告。报告显示，66.7%的18-55岁中国城市受访者使用智能手机，其中33%的智能手机用户同时拥有平板电脑，他们的平均月收入为6798元，比单一智能手机用户4205元的人均月收入高62%。&lt;/p&gt;
 &lt;p&gt;该调研还显示，智能手机用户选择的手机操作系统主要以安卓系统（Android）和苹果系统（IOS）为主，整体市场份额比例为75（安卓）：14（苹果）。这一比例在一线城市和二三四线城市的差异较为明显，分别为67：23和75：11。&lt;/p&gt;
 &lt;p&gt;公开数据显示：2012年第二季度手机已经超越台式电脑成为中国排名第一位的互联网接入设备；2013年第三季度，平板电脑占PC出货量的40％。作为专业的移动营销代理公司，邑智希望通过此次调研进一步收集和分析中国智能手机和平板电脑的使用情况，了解他们对APP的使用行为习惯及需求偏好，进而深度挖掘不同移动终端用户移动互联网的行为表现的差异，分析他们对移动广告接受程度和态度，、以及不同人群使用移动终端的特性及其中的广告价值。此次调研还特别针对高端男士、高端女士、商旅人士、学生、体育爱好者、准妈妈及新妈妈这六类人群的移动互联网和APP使用习惯进行了深入研究。&lt;/p&gt;
 &lt;p&gt;邑智CEO张垒表示：“虽然市面上关于智能手机和平板电脑的研究已经有不少，但邑智作为专业的移动营销解决方案提供商，我们希望能够从营销的角度更加深入地了解移动终端用户，尤其是特定人群的使用习惯，从而帮助我们为客户提供更加有针对性，投入产出更高的移动营销解决方案。”&lt;/p&gt;
 &lt;p&gt;该调研的其他发现还包括：&lt;/p&gt;
 &lt;ul&gt;
  &lt;li&gt;用户在两个移动端使用较多的APP类型主要是浏览器、音乐、游戏、视频、新闻资讯、社交网络、电子书、电子邮件。&lt;/li&gt;
  &lt;li&gt;同一广告在移动终端展示3次才会让用户产生印象，超过4.8次则容易引起用户反感；&lt;/li&gt;
  &lt;li&gt;微信已经成为消费者和品牌接触的重要渠道：有78%的人关注过微信公众账号，64%的人了解过品牌打折促销活动，还有47%的人参与过微信线下活动；&lt;/li&gt;
  &lt;li&gt;商旅人士是最活跃、平均拥有移动终端数量最多的用户，他们对电商、支付、邮件、即时通讯等类型的 APP 都有强烈的需求。77%的商旅人士同时拥有智能手机、平板电脑和 PC，旅行资讯是他们最为关注的信息。&lt;/li&gt;
  &lt;li&gt;高端男性最常使用手机工作，特别偏爱使用新闻资讯类 APP；高端女性则特别依赖导航软件。&lt;/li&gt;
  &lt;li&gt;高端女性、学生、孕妇妈妈以及体育爱好者都是音乐类 APP 的忠实粉丝。学生和孕妇妈妈最常使用社交网络，孕妇妈妈还最爱记录类和论坛类 APP。&lt;/li&gt;
&lt;/ul&gt;
 &lt;p&gt;群邑中国互动营销总裁陈建豪指出：“手机已经变成用户获取分享信息第一入口，移动营销对于用户感受要求越来越高，定位结合本地化内容结合的趋势明显。我们从业人员要有紧迫感以加速整合传播战略。”&lt;/p&gt;
 &lt;p&gt;“移动网络环境不断升级优化，用户越发依赖移动设备，此时此刻移动互联网已发生质变，移动端发力的速度和影响力超乎想象。”mJoule邑智CEO 张垒则表示，“在不可逆的移动大时代，我们能够及时跟踪移动互联的趋势变化，从平台、创意、技术三方面整合媒体，打通线上线下的大数据。并始终坚持思考，做到品牌关怀，实时服务。”&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;研究方法&lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt;本次调研通过互联网发送问卷链接，邀请被访者在线回答问题，从而进行样本数据收集工作。该调研采访了3476名来自中国不同级别城市及性别的移动互联网用户，分两个阶段进行。第一个阶段按照常规方式抽取2200个样本，第二阶段通过特殊方式收集六类人群1276个样本。&lt;/p&gt;
 &lt;p&gt;  &lt;img alt="damndigital_mJoule-research-report-of-smartphone-users_2013-12_05" height="5303" src="http://www.damndigital.com/wp-content/uploads/2013/12/damndigital_mJoule-research-report-of-smartphone-users_2013-12_05.jpg" title="mJoule&amp;#37009;&amp;#26234;&amp;#21457;&amp;#24067;&amp;#19968;&amp;#39033;&amp;#20851;&amp;#20110;&amp;#20013;&amp;#22269;&amp;#26234;&amp;#33021;&amp;#25163;&amp;#26426;&amp;#29992;&amp;#25143;&amp;#30340;&amp;#34892;&amp;#20026;&amp;#35843;&amp;#30740;&amp;#25253;&amp;#21578;&amp;#65288;&amp;#20869;&amp;#21547;&amp;#20449;&amp;#24687;&amp;#22270;&amp;#65289;" width="720"&gt;&lt;/img&gt;&lt;/p&gt;
 &lt;h5&gt;普通人群分析图表&lt;/h5&gt;
 &lt;h5&gt;  &lt;img alt="damndigital_mJoule-research-report-of-smartphone-users_2013-12_03" height="3170" src="http://www.damndigital.com/wp-content/uploads/2013/12/damndigital_mJoule-research-report-of-smartphone-users_2013-12_03.jpg" title="mJoule&amp;#37009;&amp;#26234;&amp;#21457;&amp;#24067;&amp;#19968;&amp;#39033;&amp;#20851;&amp;#20110;&amp;#20013;&amp;#22269;&amp;#26234;&amp;#33021;&amp;#25163;&amp;#26426;&amp;#29992;&amp;#25143;&amp;#30340;&amp;#34892;&amp;#20026;&amp;#35843;&amp;#30740;&amp;#25253;&amp;#21578;&amp;#65288;&amp;#20869;&amp;#21547;&amp;#20449;&amp;#24687;&amp;#22270;&amp;#65289;" width="720"&gt;&lt;/img&gt;&lt;/h5&gt;
 &lt;h5&gt;六类人群分析图表&lt;/h5&gt;
 &lt;div&gt;&lt;/div&gt;
 &lt;hr&gt;&lt;/hr&gt;
 &lt;p&gt;  &lt;small&gt;© 推荐 for    &lt;a href="http://www.alibuybuy.com"&gt;互联网的那点事&lt;/a&gt;. |
猛击下载：   &lt;a href="https://itunes.apple.com/cn/app/hu-lian-wang-de-na-dian-shi/id670210055?mt=8"&gt;    &lt;strong&gt;iPhone客户端&lt;/strong&gt;&lt;/a&gt;  猛击下载：   &lt;a href="http://www.alibuybuy.com/alibuybuy.apk"&gt;    &lt;strong&gt;Android客户端&lt;/strong&gt;&lt;/a&gt;
&lt;/small&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>IT的那些事 资料报告</category>
      <guid isPermaLink="true">https://itindex.net/detail/47313-infographic-%E4%B8%AD%E5%9B%BD-%E6%99%BA%E8%83%BD%E6%89%8B%E6%9C%BA</guid>
      <pubDate>Sat, 28 Dec 2013 21:21:00 CST</pubDate>
    </item>
    <item>
      <title>关于空调行业的一些常识性解说</title>
      <link>https://itindex.net/detail/46017-%E7%A9%BA%E8%B0%83-%E8%A1%8C%E4%B8%9A-%E5%B8%B8%E8%AF%86</link>
      <description>&lt;p&gt;什么时候来草榴的，时间很久了，后来得了码，也很少回帖。主要是喜欢草榴的氛围，这里藏龙卧虎，但又不失温暖，不像其他的一些论坛，各种脑残充斥。  &lt;br /&gt;
我想写个帖，又不想毫无意义的转，贡献一点自己对本行业的一点浅薄见识供一些非专业的榴友参考，我尽量用最通俗的语言来解剖这些问题。&lt;/p&gt;
 &lt;p&gt;楼主是学暖通空调的，大学毕业6年。&lt;/p&gt;
 &lt;p&gt;以上割—————————————————————————-&lt;/p&gt;
 &lt;p&gt;先PO几个问题：  &lt;br /&gt;
1.    冬天应该烧电炉还是开空调？  &lt;br /&gt;
2.    选定频空调还是选变频空调？  &lt;br /&gt;
3.    空调扇有用吗？  &lt;br /&gt;
4.    好几家空调厂家都打广告说“一度到天明”，真的有这么省电吗？&lt;/p&gt;
 &lt;p&gt;首先，我们先来了解下什么是空调，空调相当于是一个搬运工，他可以把热量从屋内搬到室外（制冷），也可以把热量从室外搬到室内（制热），他需要吃的东西就是电能，吃得越少，搬的越多，那么他的能效级越高。（很多电器设备都有能效级的标明，买这些电器的时候，尽量选能效级高的，一级最高，三级最低，至于四级和五级，国家已经开始不让生产了）&lt;/p&gt;
 &lt;p&gt;所以，在一般零下5度以上的环境，用空调制热比你直接用电炉省电，因为空调搬运的能量是消耗的电能的3倍多。在零下5度以下的环境，虽然理论上可以运行，但是效果不大好，所以，北方一般直接集中供暖，但是在南方，冬季用空调绝对比烧电炉划算！&lt;/p&gt;
 &lt;p&gt;那么选空调到底应该选定频还是变频，我个人推荐定频。为什么？变频相对于定频的优点是控温精准，但对于我们一般的民用来说，没多大意义。至于节能，可以说微乎其微，回到上一段，我们说的空调的比喻，空调就是一个搬运工，如果从室外传进来的热量一定，那么我们要搬出去的热量也一定，那么搬一会歇一会（定频）和一直保持搬运，但是慢慢搬（变频）有多大差别吗？可能，空调在低负荷的时候，他的能效比要稍微高点，但是那一点点的节能远远不足以抵消我买变频多花的钱。那么为什么这么多厂家要推变频空调呢？都是利益，我们国家推崇变频节能，所以政策向变频倾斜。选变频空调对我们普通用户来说还有几点不利：1.冷媒一般是环保冷媒R410，价格比定频的R22贵多了，也就是你加冷媒的时候需要花几倍的钱；2.变频空调的配件也更贵，比如基板，至少价格在一倍以上，维修成本高。&lt;/p&gt;
 &lt;p&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;————————————————————————  &lt;br /&gt;
没想到这么多榴友回复，受宠若惊。&lt;/p&gt;
 &lt;p&gt;草榴是个大集体，能在自己了解的领域提供给大家一些小知识是我的荣幸。因为有些榴友在回复里问了些问题（包括短信息，因为1024的限制，不单独回了），我在这里统一再说说。&lt;/p&gt;
 &lt;p&gt;关于学这个专业的前景  &lt;br /&gt;
这个专业以前叫暖通空调专业，现在叫建筑环境与设备工程，一般来说分四个大的方向：设计，施工管理，业主方，设备厂家。没有哪个方向更好的说法，关键是看自己的兴趣，楼主生活在魔都，之前是在一家外资做设计+施工管理，现在转做业主，楼主29周岁，收入大概17W（税前）左右，没有灰色收入。我的大部分男同学基本和我差不多。供参考。&lt;/p&gt;
 &lt;p&gt;关于选购什么样的空调  &lt;br /&gt;
一线：三菱电机 大金 日立  &lt;br /&gt;
二线：格力 美的  &lt;br /&gt;
三线：海尔，格兰仕之类  &lt;br /&gt;
原谅我一线品牌写的都是日资，在空调领域，中国还有很长的一段路要走。因为空调的最重要的心脏压缩机，都是别人产的。所以，有时候，抵制日货真的没多大意义，你心情激动的买回一美的空调，其实里面最重要的部件都是大金或者日立的，利润最高的部分都让别人拿走了。要想真正的打败日本，就得各行各业一起努力，有时候，拼的是产业链。题外话了，各位榴友共勉。&lt;/p&gt;
 &lt;p&gt;关于在哪选购空调  &lt;br /&gt;
楼主在魔都，比较喜欢B2C中的某迅，前段时间空调算便宜，小一匹的格兰仕空调才1500多，没有最适合买空调的时机，多注意下B2C网站吧，价格差不多的时候可以入手。另外关于几P的说法，P这个单位据说最开始就是用来形容一匹马的力量，用在空调上，大概相当于消耗0.8KW的电量能够搬运的冷量，至于小P就是2.3KW冷量，1大P就是2.8KW冷量，1标准P就是2.5KW冷量，买空调的时候不要看什么P，直接去看制冷量是多少就可以了，一般型号里是有的，注意看看。&lt;/p&gt;
 &lt;p&gt;关于清洗空调  &lt;br /&gt;
一般人都知道要清洗室内机的过滤网，但最好每年清两次室内机的盘管翅片和室外机的盘管翅片，时间就是夏季开始使用前和冬季开始使用前。清洗室内机的盘管翅片主要是去除细菌和灰尘，除异味，更健康。洗室外机的盘管翅片，是为了节能，热交换越好越节能。&lt;/p&gt;
 &lt;p&gt;关于正确使用空调  &lt;br /&gt;
尽管这样可能会更费电，但一定要经常开窗通风，别为了省电弄的自己闷病了，现在这个社会，看一次病的钱够开一个夏天的空调了。  &lt;br /&gt;
另外，空调设置的温度，尽量保持在和外界5度温差就好了。比如，外界35度，你开个30度就好了。很多人夏季都开到23度，其实真没必要，不节能又容易生病，而且大温差进出门很不舒适。晚上睡觉，开个29度到30度就好了，很多人享受那种在空调房里抱被子的感觉，真心不推荐。&lt;/p&gt;
 &lt;p&gt;关于空调不制冷的维修  &lt;br /&gt;
空调到底在没在正常工作，不要站在室内机下面看，去室外机摸摸，看压缩机动没动，压缩机没在运转，空调就等于个风扇。  &lt;br /&gt;
空调缺冷媒，不要盲目的加，一定要维修的人清查漏点之后再加，不然加了过一段时间又漏了就没意义了。查漏点很简单，准备点肥皂水，涂在管子上，看是否冒泡，主要看室内机接管和室外机接管的地方，铜管一般不会有漏点，可以不用自己去查，但是尽量知道理论，不容易被不良商家忽悠你，加一次冷媒骗你一次钱。  &lt;br /&gt;
空调压缩机不转，可以让维修人员用万用表量一量压缩机是否对地了，如果对地了，就意味着压缩机真的坏了，没对地，那就再查其他的原因，毕竟一台空调里最贵的就是这个压缩机了。&lt;/p&gt;
 &lt;p&gt;关于空调耗电  &lt;br /&gt;
有榴友亲测说1.5P两小时只要一度电。  &lt;br /&gt;
这种情况是可能出现的，空调最主要耗电的部件是压缩机，上文已经说过空调是个搬运工，如果室外传递到室内的热量比较少，那么这个搬运工大部分时间在低负荷劳动或者大部分时间都没在工作，那么，消耗的电量当然很少。所以，空调的耗电和房间的结构（墙壁的材料），当时的室外环境，空调设定温度都有很大关系。&lt;/p&gt;
 &lt;p&gt;关于零下5度为什么不建议用空调制热  &lt;br /&gt;
1.制热的能效比下降。  &lt;br /&gt;
2.室外机除霜比较频繁，用户体验差。&lt;/p&gt;
 &lt;p&gt;关于变频空调（采用R410冷媒）安装时没抽真空会怎么样？  &lt;br /&gt;
变频空调一般采用R410冷媒，规范做法是必须抽真空，如没抽的话，可能导致铜管腐蚀，管道压力偏高，压缩机寿命变短。  &lt;br /&gt;
如用R22机器的安装方法排空法，则需要看运气，实在不放心，可以重新抽真空。  &lt;br /&gt;
重新抽真空，需要把冷媒全部放干净，另，抽完真空后加冷媒记得把冷媒罐倒放在秤上加。&lt;/p&gt;
 &lt;p&gt;关于说定频忽冷忽热和室内机风扇有时候有风有时候没风的问题  &lt;br /&gt;
1.尽量不要把模式设在自动上。  &lt;br /&gt;
2.在空调送风不是直接吹在人体的情况下，定频和变频的体验相差不大。  &lt;br /&gt;
3.空调在制冷模式下，室内机风扇是永远开着的，哪怕到达设定温度，它还是继续开着的；如果是在制热模式，那么温度达到设定值，室内机风扇会停止运转。这是为了用户体验考虑的设计，因为制冷时，哪怕压缩机不转，风扇吹风人体会感觉舒服，制热时，压缩机不转，吹出来的是凉风，人体会感觉不适。&lt;/p&gt;
 &lt;p&gt;关于空调室内机吹出水的问题  &lt;br /&gt;
1.检查下室内机是否安装水平。  &lt;br /&gt;
2.检查排水管是否堵了一部分。  &lt;br /&gt;
3.检查过滤网是否堵塞严重。  &lt;br /&gt;
4.如果不是以上三个原因，就得找空调维修人员了，比如膨胀阀有问题，或者冷媒量太少。&lt;/p&gt;
 &lt;p&gt;关于选普通空调还是家用中央空调。  &lt;br /&gt;
实际上，对于中央空调的概念，国内比较模糊。  &lt;br /&gt;
以下笼统的说几点：  &lt;br /&gt;
1.如果对生活品质要求比较高，可以选择中央空调。天井四出风室内机和暗藏式风管机会让家庭装修更美观，风管机可以接室外的新风入室内。  &lt;br /&gt;
2.比较大型的户型也适合安装中央空调。普通的1拖1空调有安装距离限制，一般不推荐超过3米。中央空调远远大于这个限制。  &lt;br /&gt;
3.中央空调的安装周期长，费用高，对安装人员要求高。  &lt;br /&gt;
4.确认电压，中央空调基本都是三相电，你要确认你家有没有380v的电源。&lt;/p&gt;
 &lt;h2&gt;相关日志&lt;/h2&gt; &lt;ul&gt;  &lt;li&gt;2013/09/20 --    &lt;a href="http://www.letscorp.net/archives/55108" title="&amp;#21378;&amp;#20332;&amp;#35848;&amp;#25171;&amp;#20117;&amp;#25490;&amp;#27745;"&gt;厂佬谈打井排污&lt;/a&gt;&lt;/li&gt;  &lt;li&gt;2013/09/20 --    &lt;a href="http://www.letscorp.net/archives/55107" title="&amp;#38050;&amp;#36152;&amp;#34701;&amp;#36164;&amp;#25805;&amp;#20316;"&gt;钢贸融资操作&lt;/a&gt;&lt;/li&gt;  &lt;li&gt;2013/09/18 --    &lt;a href="http://www.letscorp.net/archives/55031" title="&amp;#12298;&amp;#21322;&amp;#27901;&amp;#30452;&amp;#26641;&amp;#12299;&amp;#65306;&amp;#37329;&amp;#34701;&amp;#22280;&amp;#31192;&amp;#36763;"&gt;《半泽直树》：金融圈秘辛&lt;/a&gt;&lt;/li&gt;  &lt;li&gt;2013/09/13 --    &lt;a href="http://www.letscorp.net/archives/54880" title="&amp;#29579;&amp;#31454;&amp;#38596;&amp;#65306;&amp;#25105;&amp;#25152;&amp;#35748;&amp;#35782;&amp;#30340;&amp;#20449;&amp;#25176;"&gt;王竞雄：我所认识的信托&lt;/a&gt;&lt;/li&gt;  &lt;li&gt;2013/09/12 --    &lt;a href="http://www.letscorp.net/archives/54835" title="&amp;#36335;&amp;#36879;&amp;#31038;:&amp;#8220;&amp;#35841;&amp;#21024;&amp;#20102;&amp;#25105;&amp;#30340;&amp;#24086;&amp;#65311;&amp;#8221;&amp;#8212;&amp;#8212;&amp;#25581;&amp;#31192;&amp;#26032;&amp;#28010;&amp;#24494;&amp;#21338;&amp;#23457;&amp;#26597;"&gt;路透社:“谁删了我的帖？”——揭秘新浪微博审查&lt;/a&gt;&lt;/li&gt;  &lt;li&gt;2013/09/12 --    &lt;a href="http://www.letscorp.net/archives/54834" title="&amp;#21335;&amp;#21326;&amp;#26089;&amp;#25253;:&amp;#24494;&amp;#21338;&amp;#23567;&amp;#31192;&amp;#20070;&amp;#34218;&amp;#27700;&amp;#24494;&amp;#34180; &amp;#20869;&amp;#24515;&amp;#30683;&amp;#30462;&amp;#20294;&amp;#24050;&amp;#40635;&amp;#26408;"&gt;南华早报:微博小秘书薪水微薄 内心矛盾但已麻木&lt;/a&gt;&lt;/li&gt;  &lt;li&gt;2013/09/10 --    &lt;a href="http://www.letscorp.net/archives/54724" title="&amp;#32593;&amp;#30424;&amp;#20013;&amp;#30340;&amp;#31192;&amp;#23494;"&gt;网盘中的秘密&lt;/a&gt;&lt;/li&gt;  &lt;li&gt;2013/09/09 --    &lt;a href="http://www.letscorp.net/archives/54680" title="&amp;#20320;&amp;#25152;&amp;#19981;&amp;#30693;&amp;#36947;&amp;#30340;&amp;#38134;&amp;#34892;&amp;#31995;&amp;#21015;&amp;#65288;1-8&amp;#65289;"&gt;你所不知道的银行系列（1-8）&lt;/a&gt;&lt;/li&gt;  &lt;li&gt;2013/08/21 --    &lt;a href="http://www.letscorp.net/archives/54065" title="&amp;#26087;&amp;#38395;:&amp;#30693;&amp;#21517;&amp;#32593;&amp;#32476;&amp;#25512;&amp;#25163;@&amp;#31435;&amp;#20108;&amp;#25286;&amp;#22235;&amp;#30340;&amp;#20302;&amp;#21155;&amp;#20154;&amp;#21697;&amp;#21450;&amp;#23572;&amp;#29595;&amp;#20114;&amp;#21160;&amp;#33829;&amp;#38144;&amp;#30340;&amp;#28291;&amp;#36133;"&gt;旧闻:知名网络推手@立二拆四的低劣人品及尔玛互动营销的溃败&lt;/a&gt;&lt;/li&gt;  &lt;li&gt;2013/08/21 --    &lt;a href="http://www.letscorp.net/archives/54054" title="&amp;#21338;&amp;#35759;:&amp;#36817;&amp;#20960;&amp;#24180;&amp;#20027;&amp;#35201;&amp;#32593;&amp;#32476;&amp;#20107;&amp;#20214;&amp;#25512;&amp;#25163;&amp;#26472;&amp;#31168;&amp;#23431;&amp;#12289;&amp;#31206;&amp;#28779;&amp;#28779;&amp;#26333;&amp;#20809;"&gt;博讯:近几年主要网络事件推手杨秀宇、秦火火曝光&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt; &lt;div&gt;
  &lt;a href="http://feeds.feedburner.com/~ff/letscorp/aDmw?a=wR_rqM1AZg0:O1QJsx8s1-M:yIl2AUoC8zA"&gt;   &lt;img border="0" src="http://feeds.feedburner.com/~ff/letscorp/aDmw?d=yIl2AUoC8zA"&gt;&lt;/img&gt;&lt;/a&gt;   &lt;a href="http://feeds.feedburner.com/~ff/letscorp/aDmw?a=wR_rqM1AZg0:O1QJsx8s1-M:qj6IDK7rITs"&gt;   &lt;img border="0" src="http://feeds.feedburner.com/~ff/letscorp/aDmw?d=qj6IDK7rITs"&gt;&lt;/img&gt;&lt;/a&gt;   &lt;a href="http://feeds.feedburner.com/~ff/letscorp/aDmw?a=wR_rqM1AZg0:O1QJsx8s1-M:F7zBnMyn0Lo"&gt;   &lt;img border="0" src="http://feeds.feedburner.com/~ff/letscorp/aDmw?i=wR_rqM1AZg0:O1QJsx8s1-M:F7zBnMyn0Lo"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt; &lt;img height="1" src="http://feeds.feedburner.com/~r/letscorp/aDmw/~4/wR_rqM1AZg0" width="1"&gt;&lt;/img&gt;&lt;div&gt; &lt;a href="https://itindex.net/"  title="IT 资讯"&gt;&lt;img src="https://itindex.net/images/iconWarning.gif" title="IT 资讯" border="0"/&gt; &lt;/a&gt;</description>
      <category>资料 行业内幕</category>
      <guid isPermaLink="true">https://itindex.net/detail/46017-%E7%A9%BA%E8%B0%83-%E8%A1%8C%E4%B8%9A-%E5%B8%B8%E8%AF%86</guid>
      <pubDate>Sat, 12 Oct 2013 08:52:51 CST</pubDate>
    </item>
    <item>
      <title>初创公司移动应用开发工具库</title>
      <link>https://itindex.net/detail/45056-%E5%88%9D%E5%88%9B%E5%85%AC%E5%8F%B8-%E7%A7%BB%E5%8A%A8%E5%BA%94%E7%94%A8-%E5%BC%80%E5%8F%91</link>
      <description>&lt;p&gt;  &lt;em&gt;编者按：本文来自   &lt;a href="http://www.36kr.com/wuswoo" target="_blank" title="@wuswoo"&gt;    &lt;em&gt;@&lt;/em&gt;wuswoo&lt;/a&gt;投稿，wuswoo拥有两年移动开发经验，现在在人人猎头担任技术总监。根据自己两年多的开发经验，wuswoo为创业者们整理并推荐了包括产品、设计、项目管理、开发、以及部署和运帷在内的，几乎所有应用开发需要的第三方的工具和解决方案，方便大家快速的集成和使用。&lt;/em&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;img alt="" src="http://alibuybuy-img11.stor.sinaapp.com/2013/07/ca3b_3b806fe47fc76178e06dc0713aa22d8d.png"&gt;&lt;/img&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;Android开源项目推荐&lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt;对于 Android 工程师而言，了解当前的开源项目很必要，前一段时间网上很火的 Github 上开源项目，这里就不多说了。&lt;/p&gt;
 &lt;p&gt;最火的开源项目（一）：   &lt;a href="http://www.csdn.net/article/2013-05-03/2815127-Android-open-source-projects" rel="nofollow" target="_blank"&gt;http://www.csdn.net/article/2013-05-03/2815127-Android-open-source-projects&lt;/a&gt;&lt;/p&gt;
 &lt;p&gt;最火的开源项目（二）：   &lt;a href="http://www.csdn.net/article/2013-05-08/2815145-Android-open-source-projects-two" rel="nofollow" target="_blank"&gt;http://www.csdn.net/article/2013-05-08/2815145-Android-open-source-projects-two&lt;/a&gt;&lt;/p&gt;
 &lt;p&gt;最火的开源项目（三）：   &lt;a href="http://www.csdn.net/article/2013-05-21/2815370-Android-open-source-projects-finale" rel="nofollow" target="_blank"&gt;http://www.csdn.net/article/2013-05-21/2815370-Android-open-source-projects-finale&lt;/a&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;iOS开源项目推荐&lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt;iOS 每次的改变，会引起开源项目的变化，开发者可以直接那来用在自己项目开发中。&lt;/p&gt;
 &lt;p&gt;最火的开源项目（一）：   &lt;a href="http://www.csdn.net/article/2013-06-05/2815530-GitHub-iOS-open-source-projects-one" rel="nofollow" target="_blank"&gt;http://www.csdn.net/article/2013-06-05/2815530-GitHub-iOS-open-source-projects-one&lt;/a&gt;&lt;/p&gt;
 &lt;p&gt;最火的开源项目（二）：   &lt;a href="http://www.csdn.net/article/2013-06-18/2815806-GitHub-iOS-open-source-projects-two" rel="nofollow" target="_blank"&gt;http://www.csdn.net/article/2013-06-18/2815806-GitHub-iOS-open-source-projects-two&lt;/a&gt;&lt;/p&gt;
 &lt;p&gt;最火的开源项目（三）：   &lt;a href="http://my.eoe.cn/sisuer/archive/5682.html" rel="nofollow" target="_blank"&gt;http://my.eoe.cn/sisuer/archive/5682.html&lt;/a&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;ui4app.com&lt;/strong&gt;（  &lt;a href="http://ui4app.com/" rel="nofollow" target="_blank"&gt;http://ui4app.com/&lt;/a&gt;）&lt;/p&gt;
 &lt;p&gt;UI 设计师 / 美工：你可以在 UI4App 按照分类来查看众多优秀的 App 的优秀设计，从而找到你个人的设计灵感和素材； iOS 开发者：苦逼一个人在战斗的时候，没有美工，没有设计师。来逛逛 UI4App，也能熏陶熏陶一下自己的美感吧。  &lt;br /&gt;
2.code4app.com code4app 是一个移动平台的共享代码库，收集了 iOS 平台共享代码，并且配有效果图和演示视频，避免苦逼的程序员重复造轮子。&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;Ucloud&lt;/strong&gt;（  &lt;a href="http://www.ucloud.cn/" rel="nofollow" target="_blank"&gt;http://www.ucloud.cn&lt;/a&gt;）&lt;/p&gt;
 &lt;p&gt;建议初创公司使用云平台来托管整个业务，可以降低 IT 支出成本，同时进入门槛低，可以根据业务的发展弹性调整基础 IT 资源。 Ucloud 相对于其他云平台，Ucloud 本身是一家创业正在成长型公司，Uhost 和 Udb 基本上能满足初创公司各种 IT 需求，同时跟阿里云相比价格便宜 1/4 到 1/3。使用 Ucloud 后，对方服务态度好以及能够快速地解决各种问题。&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;个推&lt;/strong&gt;（  &lt;a href="http://www.igetui.com/" rel="nofollow" target="_blank"&gt;http://www.igetui.com/&lt;/a&gt;）&lt;/p&gt;
 &lt;p&gt;在开发 Android 应用，经常需要推送功能， 但是 Android 没有像 Apple Apns 官方的推送服务， Google 的推送服务在响应速度以及稳定性有一定的问题。推荐使用国内第三方推送服务供应商  &lt;a href="http://www.36kr.com/tag/%E4%B8%AA%E6%8E%A8" target="_blank"&gt;个推&lt;/a&gt;，个推的优势是推送及时和稳定，有 Android SDK 和后台推送 API。个推的计费是按照一个月中一天最高同时在线人数计算，1 万同时在线以下是免费。按照个推所说，最高同时在线数平均统计是所有留存用户的 20% 左右。比如 50 万 Android 下载量，留存率 30%。&lt;/p&gt;
 &lt;blockquote&gt;  &lt;p&gt;50 万＊30%＝ 15 万 ＊20%（同时在线）＝3 万－1 万（免费）＝2 万   &lt;br /&gt;
2 万＊0.2(每个用户每月费用) ＝ 4000 元／月&lt;/p&gt;&lt;/blockquote&gt;
 &lt;p&gt;实际中每个用户每月费用可以有优惠折扣。但是在实际开发的应用中，发现同时在线用户是留存用户的 50% 左右。&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;Blasamiq Mockups（&lt;/strong&gt;  &lt;a href="http://balsamiq.com/" rel="nofollow" target="_blank"&gt;http://balsamiq.com/&lt;/a&gt;）&lt;/p&gt;
 &lt;p&gt;Blasamiq Mockups 是我最喜欢的移动应用原型设计软件。能让你以最快的速度把原型画出来，用它画出来的是手绘风格的界面，很酷。同时内置了很多常用的控件和图标，基本够用了。&lt;/p&gt;
 &lt;p&gt;  &lt;img alt="" src="http://alibuybuy-img11.stor.sinaapp.com/2013/07/0c34_b3ec37fc086948e58b4fb96af5f7bf44.png"&gt;&lt;/img&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;Popapp&lt;/strong&gt;（  &lt;a href="http://popapp.in/" rel="nofollow" target="_blank"&gt;http://popapp.in/&lt;/a&gt;）&lt;/p&gt;
 &lt;p&gt;Popapp 可以让你快速地让手绘的 AppUI 跃然纸上，协助开发者快速地将原本纸上的 App 界面草图（比如 Blasamiq Mockups 导出的草图）在 iphone 做模拟。&lt;/p&gt;
 &lt;p&gt;  &lt;img alt="" src="http://alibuybuy-img11.stor.sinaapp.com/2013/07/19ea_5051fb1ef6cfb8a1e393efedb520809c.jpg"&gt;&lt;/img&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;Axure&lt;/strong&gt;（  &lt;a href="http://www.axure.com/" rel="nofollow" target="_blank"&gt;http://www.axure.com/&lt;/a&gt;）&lt;/p&gt;
 &lt;p&gt;Axure 已经成为产品经理、产品设计师以及交互设计师的必备工具，便于建立低保真的模型，以及便于于整个开发团队的沟通。&lt;/p&gt;
 &lt;p&gt;  &lt;img alt="" src="http://alibuybuy-img11.stor.sinaapp.com/2013/07/5dce_61a26093132350c52b60f008fe399393.png"&gt;&lt;/img&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;CC视频&lt;/strong&gt;（  &lt;a href="http://www.bokecc.com/" rel="nofollow" target="_blank"&gt;http://www.bokecc.com/&lt;/a&gt;）&lt;/p&gt;
 &lt;p&gt;CC 视频愿景是让所有网站和应用轻松使用视频，提供基于云平台，集发布，转码，存储，播放，统计等功能。为移动应用者开发提供 ios,android 的 SDK,（基于可以自定义小窗口视频录制），浏览器 Flash 播放器，以及服务端的 API 接口和视频审核。典型应用是唱吧录制 MV 功能。&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;又拍云&lt;/strong&gt;（  &lt;a href="https://www.upyun.com/" rel="nofollow" target="_blank"&gt;https://www.upyun.com/&lt;/a&gt;）&lt;/p&gt;
 &lt;p&gt;开发基于大量图片的移动应用，不妨采用又拍云图片云平台。又拍云存储分布全国 CDN 加速网络，以及丰富的 HTTP RESTful API 和采用图片无损压缩技术，自动生成 30 种自定义缩略图尺寸，按照用户实际使用量计费，以及支持弹性扩容。&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;Sendcloud&lt;/strong&gt;（  &lt;a href="http://sendcloud.sohu.com/" rel="nofollow" target="_blank"&gt;http://sendcloud.sohu.com/&lt;/a&gt;）&lt;/p&gt;
 &lt;p&gt;Sendcloud 是搜狐旗下的为企业提供邮件群发以及邮件营销服务平台。Sendcloud 专注邮件发送，邮件发送追踪，同时保证邮件高效到达，不易作为垃圾邮件处理，让公司专注业务的开发，同时提供实时的数据分析功能。价格每月发送量少于 2 万封，59 元 / 月，超过在 2-3 元／千封邮件，相对比较便宜。  &lt;br /&gt;
  &lt;img alt="" src="http://alibuybuy-img11.stor.sinaapp.com/2013/07/0d6d_fc559ca2e1dbccaa6b0f5eea2035d207.png"&gt;&lt;/img&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;Xmind&lt;/strong&gt;（  &lt;a href="http://www.xmind.net/" rel="nofollow" target="_blank"&gt;http://www.xmind.net&lt;/a&gt;）&lt;/p&gt;
 &lt;p&gt;Xmind 是最好用的一款思维导图的软件，对于移动应用开发者，可以用于 App 的初步构想设计、整体功能分布、以及不同版本功能展示等。同时 Xmind 可以用于设计鱼骨图，二维图，逻辑图，组织结构图等。&lt;/p&gt;
 &lt;p&gt;  &lt;img alt="" src="http://alibuybuy-img11.stor.sinaapp.com/2013/07/c2f8_f020b18299281dc6e2d3775576ad286e.jpg"&gt;&lt;/img&gt;&lt;/p&gt;
 &lt;p&gt;Jquery/Bootstrap（  &lt;a href="http://twitter.github.io/bootstrap/index.htm" rel="nofollow" target="_blank"&gt;http://twitter.github.io/bootstrap/index.htm&lt;/a&gt;）&lt;/p&gt;
 &lt;p&gt;有很多的 Javascript 架构可以选择， 建议用 Jquery 和 Bootstrap。Bootstrap 是基于 Jquery 的，它非常方便用于网站和管理后台以及微信公共账号开发。 Bootstrap 包含一套 css 和 Javascript，包括各种组件和效果，  &lt;br /&gt;
以及支持各种版本的通用浏览器以及通过响应式 CSS（Responsive CSS）支持平板和手机。&lt;/p&gt;
 &lt;p&gt;  &lt;img alt="" src="http://alibuybuy-img11.stor.sinaapp.com/2013/07/dfdc_c439fcd7aedf4c74c1006a103b06672e.jpg"&gt;&lt;/img&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;Trello&lt;/strong&gt;（  &lt;a href="https://trello.com/" rel="nofollow" target="_blank"&gt;https://trello.com/&lt;/a&gt;）&lt;/p&gt;
 &lt;p&gt;Trello 是一款免费的，面向轻量级团队敏捷开发最好的平台了。Trello 上的工作都围绕 Board 进行，同一小组的用户可以在这里创建 To Do List，并分配给同事，同事完成后可以包任务标记为完成。&lt;/p&gt;
 &lt;p&gt;  &lt;img alt="" src="http://alibuybuy-img11.stor.sinaapp.com/2013/07/bd6d_b3ee2846c10b74925aaf73637901a59a.jpg"&gt;&lt;/img&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;Git&lt;/strong&gt;（  &lt;a href="http://git-scm.com/" rel="nofollow" target="_blank"&gt;http://git-scm.com&lt;/a&gt;）&lt;/p&gt;
 &lt;p&gt;Git 是开源的分布式版本控制系统，可以有效、高速的处理从小到大的各种项目管理。对于轻量级的团队而言，一个 Master 和 Development 分支和平时版本发布打上 TAG 就能满足需求了，其他优点这里就不累赘了。&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;Redmine&lt;/strong&gt;（  &lt;a href="http://www.redmine.org/" rel="nofollow" target="_blank"&gt;http://www.redmine.org&lt;/a&gt;）&lt;/p&gt;
 &lt;p&gt;Redmine 是一个开源基于 Web 的项目管理和 Bug 跟踪工具，在实际开发中，用的最多的就是 Wiki 和 Bug 跟踪。&lt;/p&gt;
 &lt;p&gt;  &lt;img alt="" src="http://alibuybuy-img11.stor.sinaapp.com/2013/07/c43e_e5fd65a60fdf2d14cacb1cc3f33ec6b0.png"&gt;&lt;/img&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;Godaddy&lt;/strong&gt;（  &lt;a href="http://www.godaddy.com/" rel="nofollow" target="_blank"&gt;http://www.godaddy.com&lt;/a&gt;）&lt;/p&gt;
 &lt;p&gt;如果不是注册 CN 域名，建议把域名注册在 Godaddy 上，只需要一张信用卡就可以注册。价格相对国内便宜一些，同时可以自动续费，以及便捷地域名交易，直接可以过户到另外一个 Godaddy 账号。&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;DnsPod&lt;/strong&gt;（  &lt;a href="http://www.dnspod.cn/" rel="nofollow" target="_blank"&gt;http://www.dnspod.cn&lt;/a&gt;）&lt;/p&gt;
 &lt;p&gt;DnsPod 是国内提供免费智能 DNS 解析服务，DnsPod 界面简洁易用，以及提供高质量的电信、网通、教育网双线或者三线智能解析。你可以把在 Godaday 上注册的域名用 DnsPod 解析。&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;TalkingData&lt;/strong&gt;（  &lt;a href="http://www.talkingdata.net/" rel="nofollow" target="_blank"&gt;http://www.talkingdata.net&lt;/a&gt;）&lt;/p&gt;
 &lt;p&gt;TalkingData 专注移动互联网综合数据服务创业公司。TalkingData Analytics 是针对移动应用的数据统计分析平台，可以实时监测用户的变化，包括用户新增、活跃、留存、转化、流失来监测用户生命周期的变化，同时提供分析工具来帮助解析更深入的问题。转化漏斗允许你分析用户一连串使用行为的转化率。&lt;/p&gt;
 &lt;p&gt;  &lt;img alt="" src="http://alibuybuy-img11.stor.sinaapp.com/2013/07/28d8_ed608acd7b44c86634dcd46bf8268aa1.jpg"&gt;&lt;/img&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;ShareSDK&lt;/strong&gt;（  &lt;a href="http://www.sharesdk.cn/" rel="nofollow" target="_blank"&gt;http://www.sharesdk.cn&lt;/a&gt;）&lt;/p&gt;
 &lt;p&gt;ShareSDK 是目前移动应用中最简单易用，功能最强大社会化分享工具。支持新浪微博，腾讯微博 SSO 认证，开发者只需要 10 分钟就可以轻松集成到自己移动应用中。它不仅支持 QQ，新浪微博，腾讯微博，微信，Facebook 等国内外主流社交网站。还有强大的后台统计功能，可以实时了解用户、回流率、传播效应等数据。&lt;/p&gt;
 &lt;p&gt;  &lt;img alt="" src="http://alibuybuy-img11.stor.sinaapp.com/2013/07/8512_21247dcf34f17a6ec0258d872f160cd8.jpg"&gt;&lt;/img&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;二维码扫瞄&lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt;随着二维码应用越来越广，这里推荐 iphone 和 android 的二维码识别第三方 SDK&lt;/p&gt;
 &lt;p&gt;Zbar:   &lt;a href="http://zbar.sourceforge.net/" rel="nofollow" target="_blank"&gt;http://zbar.sourceforge.net/&lt;/a&gt;&lt;/p&gt;
 &lt;p&gt;ZXing:   &lt;a href="http://code.google.com/zxing/" rel="nofollow" target="_blank"&gt;http://code.google.com/zxing/&lt;/a&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;监控宝&lt;/strong&gt;（  &lt;a href="http://www.jiankongbao.com/" rel="nofollow" target="_blank"&gt;http://www.jiankongbao.com/&lt;/a&gt;）&lt;/p&gt;
 &lt;p&gt;如果你寻求第三方监控，监控宝是一个不错的选择。可以监控 CPU，Memory,Network 等使用情况，以及其他服务比如：mysql ,redis, memorycache, mongdb 等，以及高级自定义监控，和实时自定义邮件和短信警报通知等。对于初创公司标准版 59 元 / 月完全可以满足要求了。&lt;/p&gt;
 &lt;p&gt;  &lt;img alt="" src="http://alibuybuy-img11.stor.sinaapp.com/2013/07/8b10_6df0bde4b5532713564106f90b2a50b2.png"&gt;&lt;/img&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;Face++ 人脸识别&lt;/strong&gt;（  &lt;a href="http://cn.faceplusplus.com/" rel="nofollow" target="_blank"&gt;http://cn.faceplusplus.com/&lt;/a&gt;）&lt;/p&gt;
 &lt;p&gt;  &lt;a href="http://www.36kr.com/p/204722.html" target="_blank"&gt;Face++&lt;/a&gt; 是人脸识别的计算云平台，包括人脸检测，人脸识别，人脸分析等功能，以及提供 Android,IOS,Rubby, JAVA,C# 等 SDK 下载，如果开发基于人脸识别相关应用 Face++ 是很好的选择。&lt;/p&gt;
 &lt;p&gt;  &lt;img alt="" src="http://alibuybuy-img11.stor.sinaapp.com/2013/07/5ad5_3eeabe0b18961b45413bf07625db8197.png"&gt;&lt;/img&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;应用名称&lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt;移动应用的应用名称在 Apple Store 要求是唯一，今年六月份开始 Apple Store 应用可以是随时从不同苹果开发者账号转移，可以轻松地交易 Apple Store 中应用，应用名称将成为稀缺资源。建议在开发应用之前就在 Apple Store 中注册应用，一来可以看看是否有人注册同样应用名称，二来可以防止他人抢注你的应用名称。同时提醒初创团队，应用发布一定要牢牢掌握在自己的手中，不来将来有纠纷，就很麻烦，可能为他人作嫁衣。&lt;/p&gt;
 &lt;p&gt;来源：  &lt;a href="http://www.36kr.com/p/204991.html"&gt;http://www.36kr.com/p/204991.html&lt;/a&gt;&lt;/p&gt;
 &lt;hr&gt;&lt;/hr&gt;
 &lt;p&gt;  &lt;small&gt;© 推荐 for    &lt;a href="http://www.alibuybuy.com"&gt;互联网的那点事&lt;/a&gt;. |
猛击下载：   &lt;a href="https://itunes.apple.com/cn/app/hu-lian-wang-de-na-dian-shi/id670210055?mt=8"&gt;    &lt;strong&gt;iPhone客户端&lt;/strong&gt;&lt;/a&gt;  猛击下载：   &lt;a href="http://www.alibuybuy.com/alibuybuy.apk"&gt;    &lt;strong&gt;Android客户端&lt;/strong&gt;&lt;/a&gt;
&lt;/small&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/45056-%E5%88%9D%E5%88%9B%E5%85%AC%E5%8F%B8-%E7%A7%BB%E5%8A%A8%E5%BA%94%E7%94%A8-%E5%BC%80%E5%8F%91</guid>
      <pubDate>Tue, 30 Jul 2013 15:05:39 CST</pubDate>
    </item>
    <item>
      <title>iOS 开发者必不可少的 75 个工具</title>
      <link>https://itindex.net/detail/45406-ios-%E5%BC%80%E5%8F%91-%E5%B7%A5%E5%85%B7</link>
      <description>&lt;p&gt;原文出处：   &lt;a href="http://benscheirman.com/2013/08/the-ios-developers-toolbelt" target="_blank"&gt;Ben Scheirman&lt;/a&gt; 译文出处：   &lt;a href="http://t.cn/z8zvAO3" target="_blank"&gt;Njuxjy（@脑残的果粉）&lt;/a&gt;&lt;/p&gt;
 &lt;p&gt;如果你去到一位熟练的木匠的工作室，你总是能发现他/她有一堆工具来完成不同的任务。&lt;/p&gt;
 &lt;p&gt;软件开发同样如此。你可以从软件开发者如何使用工具中看出他水准如何。有经验的开发者精于使用工具。对你目前所使用的工具不断研究，同时了解一些替代品的使用，当你目前所用的工具无法满足你的需要时可以填补空缺。&lt;/p&gt;
 &lt;p&gt;记住了这些，我将向你展示一份关于各种工具的长长的列表。其中一些我每天都用，其他的我看情况使用。如果你还有更多的工具想展示在这个列表里，可以跟我留言哦亲。&lt;/p&gt;
 &lt;p&gt;我尽我所能给列表分分类。有一些是网站，有些是后台服务，但大多数是你可以装的应用。不是所有应用都是免费，因此我会用$符号来表示此应用是否要花钱。&lt;/p&gt;
 &lt;p&gt;  &lt;img alt="" src="http://alibuybuy-img11.stor.sinaapp.com/2013/08/c335_damndigital-ios-app-developers-should-know_2012-10_01.jpg"&gt;&lt;/img&gt;&lt;/p&gt;
 &lt;p&gt;废话不多说，我们马上开始。&lt;/p&gt;
 &lt;h2&gt;灵感&lt;/h2&gt;
 &lt;ul&gt;
  &lt;li&gt;   &lt;a href="http://pttrns.com/"&gt;pttrns&lt;/a&gt; – 一个很棒的按任务分类的iOS屏幕设计图库。举例来说，如果你想看其他应用如何处理活动feed，在这儿你可以找到一堆的例子。&lt;/li&gt;
  &lt;li&gt;   &lt;a href="http://tappgala.com/"&gt;TappGala&lt;/a&gt; – 另一个很棒的优美应用设计的集合站。它不是按任务来分类的，只是一个优秀应用的列表，你可以在此获取灵感。&lt;/li&gt;
  &lt;li&gt;   &lt;a href="http://cocoacontrols.com/"&gt;Cocoa Controls&lt;/a&gt; – 一些很棒的你可以用在你的iOS应用中的组件（代码）的列表。有时你可以找到一段优秀代码来节省时间，有时你也可以学习其他开发者是如何完成某个功能的。订阅他们的每周一报吧，都是精华，极少糟粕。&lt;/li&gt;
  &lt;li&gt;   &lt;a href="http://www.iicns.com/"&gt;IICNS&lt;/a&gt; – 真正优秀图标的集合。获取灵感吧，但不要抄袭。&lt;/li&gt;
  &lt;li&gt;   &lt;a href="http://www.dribbble.com/search?q=ios"&gt;Dribbble&lt;/a&gt; – 最优秀的设计师们在上面展示他们的作品。真正的精品。&lt;/li&gt;
  &lt;li&gt;   &lt;a href="http://capptivate.co/"&gt;Capptivate&lt;/a&gt; – 给人灵感的设计作品图库。有些带有动画。感谢你，@joaopmaia！&lt;/li&gt;
&lt;/ul&gt;
 &lt;h2&gt;设计&lt;/h2&gt;
 &lt;ul&gt;
  &lt;li&gt;   &lt;a href="http://celestialteapot.com/mocks"&gt;Mocks&lt;/a&gt; ($) – 一个简单应用的快速创建iOS应用原型的工具。自带一些默认控件，你可以快速搭建原型。&lt;/li&gt;
  &lt;li&gt;   &lt;a href="http://giveabrief.com/"&gt;Briefs&lt;/a&gt; ($) – 一个很有用的应用，可以让你创建应用原型，将原型连起来形成交互。你可以部署到真实设备上，看看在你手上是什么样的感觉。&lt;/li&gt;
  &lt;li&gt;   &lt;a href="http://www.flyingmeat.com/acorn/"&gt;Acorn&lt;/a&gt; ($) – Photoshop的有力竞争者，比ps便宜多了。我发现自己最近用Photoshop越来越少了。该项目在积极的开发维护中。&lt;/li&gt;
  &lt;li&gt;   &lt;a href="http://www.bohemiancoding.com/sketch/"&gt;Sketch&lt;/a&gt; ($) - 一个基于矢量的画图工具，随着屏幕尺寸和像素密度的改变，这个工具越来越有用。只需要设计一次，然后可以根据需要进行缩放。同时还带有一个很强大的导出系统。对于Sketch示例项目，请看   &lt;a href="http://sketchmine.co/"&gt;Sketchmine&lt;/a&gt;。我的    &lt;a href="http://nsscreencast.com/episodes/079-sketch"&gt;screencast on Sketch&lt;/a&gt;上有视频演示。&lt;/li&gt;
  &lt;li&gt;   &lt;a href="http://www.teehanlax.com/tools/ios7/"&gt;iOS 7 PSD by Teehan+Lax&lt;/a&gt; – 如果你（或者你的设计师）用Photoshop的话，这是个超有用的资源。也有    &lt;a href="http://www.teehanlax.com/blog/ios-6-gui-psd-iphone-5/"&gt;iOS 6&lt;/a&gt;版本的。&lt;/li&gt;
  &lt;li&gt;   &lt;a href="http://bjango.com/articles/actions/"&gt;Bjango’s Photoshop Actions&lt;/a&gt; - 如果你用Photoshop来设计iOS应用的话绝对能帮你省时间。一次点击即可重设画布大小，缩放200%（或50%），设置全局亮度为90等等。他们的    &lt;a href="http://bjango.com/articles/"&gt;博客&lt;/a&gt;中也有许多Photoshop的工作技巧。&lt;/li&gt;
  &lt;li&gt;   &lt;a href="http://xscopeapp.com/"&gt;xScope&lt;/a&gt; ($) – 一把不可或缺的瑞士军刀，指导，像素放大镜，屏幕度量等等。想知道某个像素点的颜色值？想知道某个Mac应用的一个按钮和窗口之间有多少像素？xScope都能帮你。可以看下他们为   &lt;a href="http://xscopeapp.com/guide#mirror"&gt;镜像设计&lt;/a&gt;所开发的   &lt;a href="https://itunes.apple.com/app/xscope-mirror/id488819289?mt=8&amp;ign-mpt=uo%3D4"&gt;iPhone应用&lt;/a&gt;，看镜像设计在你的苹果设备上是多么的像素完美。&lt;/li&gt;
  &lt;li&gt;   &lt;a href="http://glyphish.com/"&gt;Glyphish&lt;/a&gt; ($) –  一个很赞的有很多你的iOS应用可以使用的高质量图标的集合。苹果提供的内置图标并不多，所有拥有这么一个囊括各种概念的图标集合很有用。我还在寻找关于婴儿的一些图标。Glyphish是以包的形式发布的，最新的包里有iOS7的“细线条”图标，当设计iOS7应用的时候很有用。&lt;/li&gt;
  &lt;li&gt;   &lt;a href="https://github.com/AlexDenisov/FontasticIcons"&gt;Fontastic Icons for iOS&lt;/a&gt; – 一个使用图标字体的开源类集合，例如iOS应用中的   &lt;a href="http://fortawesome.github.io/Font-Awesome/"&gt;Font Awesome&lt;/a&gt;。可以在任何像素维度上快速简便的得到一个图标。由于字体在本质上可以轻松缩放，用这种办法可以很方便的在不同平台使用的图标，而无需根据不同尺寸导出不同的版本。&lt;/li&gt;
  &lt;li&gt;   &lt;a href="http://paintcodeapp.com/"&gt;PaintCode&lt;/a&gt; ($) -一个基于向量的画图工具，可以将你的作品导出为Core Graphics源代码。用来学习Core Graphics绘图是非常棒的，同时如果你想要动态绘图也是非常方便。我的   &lt;a href="http://nsscreencast.com/episodes/80-paintcode"&gt;screencast on PaintCode&lt;/a&gt;上有视屏演示。&lt;/li&gt;
  &lt;li&gt;   &lt;a href="https://itunes.apple.com/us/app/edge-insets/id622650418?mt=12"&gt;Edge Insets&lt;/a&gt; ($) – 一个帮助你定义可重用图片边距的简单工具。在Mac App Store上有售。&lt;/li&gt;
  &lt;li&gt;   &lt;a href="http://www.zambetti.com/projects/liveview/"&gt;LiveView&lt;/a&gt; – 一个iOS上的远程屏幕查看器，在你的设备上可以立马轻松地看到你的设计图。谢谢你，@_funkyboy！&lt;/li&gt;
  &lt;li&gt;   &lt;a href="http://bjango.com/mac/skalapreview/"&gt;Skala Preview&lt;/a&gt; ($) – 另一个很棒的可以在真实设备上快速看到你的设计图的工具。Bjango的朋友们很给力，这个应用物有所值。谢谢你，jn40！&lt;/li&gt;
&lt;/ul&gt;
 &lt;h2&gt;源代码控制&lt;/h2&gt;
 &lt;ul&gt;
  &lt;li&gt;   &lt;a href="http://gitscm.org/"&gt;Git&lt;/a&gt; – 如果你没有使用源代码控制的话，停下手中的活立马做出改变吧。我使用git做任何事情，我超爱它的。&lt;/li&gt;
  &lt;li&gt;   &lt;a href="http://www.kaleidoscopeapp.com/"&gt;Kaleidoscope&lt;/a&gt; ($) – 最棒的diff/merge工具。三路合并，看着很漂亮。我每天都用。&lt;/li&gt;
  &lt;li&gt;   &lt;a href="http://www.perforce.com/product/components/perforce-visual-merge-and-diff-tools"&gt;p4merge&lt;/a&gt; – 一个免费的、简陋的Kaleidoscope的替代品。强大的三路合并功能，但找下载链接不容易啊。我每次要找的时候都觉得在他们网站上藏的很深啊。&lt;/li&gt;
  &lt;li&gt;   &lt;a href="http://gitx.frim.nl/"&gt;Git X&lt;/a&gt; – 一个简单强大的GUI工具，可以看到git的时间线，轻松简便地实现暂存区提交。我通常在终端上使用git，但当我需要将暂存区的改变做一次提交的时候就会想到这个应用。这是原来（已经废弃）的GitX的一个衍生品，我在这个   &lt;a href="http://gitx.org/"&gt;衍生品列表&lt;/a&gt;上找到的。&lt;/li&gt;
  &lt;li&gt;   &lt;a href="http://www.sourcetreeapp.com/"&gt;Source Tree&lt;/a&gt; – 一个免费功能很全的Git应用。我没用过是因为我喜欢命令行的方式，但如果你喜欢用GUI工具的话，可以看看这个。&lt;/li&gt;
&lt;/ul&gt;
 &lt;h2&gt;剖析应用&lt;/h2&gt;
 &lt;ul&gt;
  &lt;li&gt;   &lt;a href="http://pmt.sourceforge.net/pngcrush/"&gt;pngcrush&lt;/a&gt; – 这个实用工具可以压缩解压缩PNG文件，当你想那些App Store上应用里的图片时很有用。只要打开iTunes，查看本地应用列表，对图标右键在Finder中打开。然后打开应用，你可以看到一堆PNG文件，但你没法查看它们。使用了pngcrush你可以将它们全部提取出来，然后用预览来查看。&lt;/li&gt;
  &lt;li&gt;   &lt;a href="https://github.com/boctor/idev-recipes/tree/master/Utilities/appcrush"&gt;appcrush.rb&lt;/a&gt; – 这个很方便的ruby脚本可以针对所有图片将以上过程自动化。只需将它指向你磁盘上的一个.app文件，它就会将所有图片提取到你桌面上的一个文件夹里。很方便地可以知道你手机上的应用如何完成某些设计的。我的   &lt;a href="http://nsscreencast.com/episodes/20-dissecting-apps"&gt;my screencast on dissecting apps&lt;/a&gt;上有视频演示。&lt;/li&gt;
  &lt;li&gt;   &lt;a href="http://charlesproxy.com/"&gt;Charles&lt;/a&gt; ($, 免费功能受限的试用版) – 我不知道它的界面或者图标为何如此丑陋，但是Charles是对于任何开发者来说都非常重要的一个工具。Charles作为一个代理，允许你监视进出你iPhone模拟器的网络流量。你同样可以通过将手机的代理设置为你Mac上正在运行的Charles来监控你设备上的流量。字签名的SSL证书，请求&amp;amp;响应断点，请求/响应查看器，Charles真心是大赞。一个必须拥有的工具。再次，我的   &lt;a href="http://nsscreencast.com/episodes/20-dissecting-apps"&gt;dissecting apps&lt;/a&gt;上视频演示。&lt;/li&gt;
&lt;/ul&gt;
 &lt;h2&gt;编辑器&lt;/h2&gt;
 &lt;p&gt;我知道你在想什么，难道不是所有iOS开发者都用Xcode吗？答案是大多数都使用。但从我和Xcode的恩恩怨怨来看，我相信很有必要来考虑下有哪些替代品。&lt;/p&gt;
 &lt;ul&gt;
  &lt;li&gt;   &lt;a href="http://jetbrains.com/objc"&gt;AppCode&lt;/a&gt; – Jetbrains（ReSharper for .NET的制作公司）的一款功能全面的IDE。强大的重构工具和功能可以帮助你更快地写代码。快速识别死代码，当你使用了相关代码时自动插入#import语句，轻松选取变量、方法以及类。我唯一希望的是它能成为Xcode的一个插件。&lt;/li&gt;
  &lt;li&gt;   &lt;a href="http://www.vim.org/"&gt;Vim&lt;/a&gt; – 等一下， vim？真的么？确实是真的，有人在vim里做所有的Objective-C开发。我并不是其中之一，但我喜欢用vim开发ruby。就因为如此，我很喜欢…&lt;/li&gt;
  &lt;li&gt;   &lt;a href="https://github.com/JugglerShu/XVim"&gt;Xvim&lt;/a&gt; –  一个Xcode插件，能使用vim中的keybindings。感觉不错，‘nuff说。&lt;/li&gt;
  &lt;li&gt;   &lt;a href="https://github.com/omz/ColorSense-for-Xcode"&gt;OMColorSense&lt;/a&gt; -   &lt;em&gt; &lt;/em&gt;另一个Xcode插件，当你的光标停留在某个代码行如：[UIColor redColor]上的时候，它会在一小块区域里展示出代码中的颜色。点击颜色选项卡会打开颜色选择器，你在上面做的任何改变都会在代码里得到反映，相应代码改为[UIColor colorWithRed:... green... blue... alpha:... ]。当我开着这个功能写代码，别人看到的时候总是问我：“哇哦！这是啥玩意！”&lt;/li&gt;
  &lt;li&gt;   &lt;a href="https://github.com/ksuther/KSImageNamed-Xcode"&gt;KSImageNamed&lt;/a&gt; – 另一个Xcode插件，可以在你打下[UIImage imageNamed:...]的时候，自动补全bundle中图片的文件名。有了它，就可以避免那些不小心打错图片名导致方法返回nil，然后你花10分钟去检查为什么图片没有展示出来的问题了。&lt;/li&gt;
  &lt;li&gt;   &lt;a href="https://github.com/kattrali/cocoapods-xcode-plugin"&gt;CocoaPods Xcode Plugin&lt;/a&gt; – 这个插件增加了一个菜单项可以和CocoaPods交互。如果你不想用命令行的话很有用。&lt;/li&gt;
  &lt;li&gt;   &lt;a href="http://mneorr.github.io/Alcatraz/"&gt;Alcatraz Package Manager&lt;/a&gt; – 一个很棒的元插件，可以让你通过轻点鼠标轻松安装其他的Xcode配色方案和插件。&lt;/li&gt;
  &lt;li&gt;   &lt;a href="https://itunes.apple.com/us/app/coderunner/id433335799?mt=12"&gt;Code Runner&lt;/a&gt; ($) – 一个轻量级的代码感知文本编辑器，知道怎么编译和运行多种语言的代码。想快速测试一段Objective-C代码，又不想创建一整个Xcode项目？试试Code Runner吧。&lt;/li&gt;
&lt;/ul&gt;
 &lt;h2&gt;文档&lt;/h2&gt;
 &lt;p&gt;啊哈，文档，每个人最爱的话题。文档很重要，因此请注意一下，我们可以让你生活变得简单一些。&lt;/p&gt;
 &lt;ul&gt;
  &lt;li&gt;   &lt;a href="http://gentlebytes.com/appledoc/"&gt;appledoc&lt;/a&gt; – 想自动生成苹果官方那样的文档吗？不用再找了。自动在你的项目中定义超链接符号，使用特殊格式的代码注释来提取内容。生成正式文档和HTML网页。&lt;/li&gt;
  &lt;li&gt;   &lt;a href="http://kapeli.com/dash/"&gt;Dash&lt;/a&gt; ($) – 一个必须拥有的API文档查看器和代码片段管理器。它很好用，允许你下载并搜索各种语言和框架的API文档，而且速度很快。最快访问文档的方式。为了使搜索更快，我   &lt;a href="http://joeworkman.net/blog/post-30037947509"&gt;把Dash和Alfred集成起来使用&lt;/a&gt;。&lt;/li&gt;
&lt;/ul&gt;
 &lt;h2&gt;依赖管理&lt;/h2&gt;
 &lt;p&gt;是的，这里只列举了一个工具。我不想引入真正的第三方库列表，因为它们属于完全不同的另一个列表。当我们谈到依赖管理的时候，最最重要的就是：&lt;/p&gt;
 &lt;ul&gt;
  &lt;li&gt;   &lt;a href="http://cocoapods.org/"&gt;CocoaPods&lt;/a&gt; –  管理Objective-C项目的重要工具。允许你轻松快速地将第三方库集成到你的应用中。它是通过创建另一个静态库工程，然后自动链接到你的工程来实现的。有成千上万个可用的pod，可以轻松地为你的项目增加那些不属于你（或者私有）的第三方库支持。我在我的每个项目里都用了CocoaPods。&lt;/li&gt;
&lt;/ul&gt;
 &lt;h2&gt;诊断&amp;amp;调试&lt;/h2&gt;
 &lt;p&gt;有时候我们正在开发应用，我们想更好的了解到底发生了什么，修bug或者改善性能。&lt;/p&gt;
 &lt;ul&gt;
  &lt;li&gt;   &lt;a href="https://github.com/robbiehanson/CocoaLumberjack"&gt;Cocoa Lumberjack&lt;/a&gt; – 一个更强大的NSLog，Cocoa Lumberjack提供了高级日志行为，比如记录日志到文件、网络，根据日志级别来筛选（info,debug,warn,error）。在   &lt;a href="http://nsscreencast.com/episodes/61-cocoa-lumberjack"&gt;NSScreencast Episode 61&lt;/a&gt;中有提到。&lt;/li&gt;
  &lt;li&gt;   &lt;a href="https://github.com/domesticcatsoftware/DCIntrospect"&gt;DCIntrospect&lt;/a&gt; – 当你在模拟器上调试的时候链接到你应用中的超强大的工具。一旦你这么做了，你可以按下空格键来取得一些很有用的视图调试支持。查看屏幕上视图元素的精确维度，打印视图层次，甚至水平或垂直移动视图。&lt;/li&gt;
  &lt;li&gt;   &lt;a href="https://github.com/square/PonyDebugger"&gt;Pony Debugger&lt;/a&gt; – 另一个你可以嵌入一个库到你调试版本中的工具，Pony Debugger实际上使用了Chrome的开发工具来查看设备上发出的网络请求，还有一个基本的Core Data浏览器。很难描述，请看我的   &lt;a href="http://nsscreencast.com/episodes/54-pony-debugger"&gt;screencast on Pony Debugger&lt;/a&gt;吧。&lt;/li&gt;
  &lt;li&gt;   &lt;a href="http://runscope.com/"&gt;Runscope&lt;/a&gt; ($) – Runscope是一个网络服务，可以捕捉请求，记录日志，给你关于你的API的有用数据。因为它是个HTTP通道API， 搭建简单，你只需要更换你的主机名就行了。&lt;/li&gt;
  &lt;li&gt;   &lt;a href="http://simpholders.com/"&gt;SimPholders&lt;/a&gt; – 快速简单的访问你的模拟器文件夹。根据iOS版本来浏览，然后是应用名，可以直接在Finder中打开文件夹。&lt;/li&gt;
  &lt;li&gt;   &lt;a href="http://sparkinspector.com/"&gt;Spark Inspector&lt;/a&gt; –  在调试模式运行你的应用时，可以用3D来展示调试你的视图层次。这个应用你真的要看到了才会真正明白它的价值。它能帮助你了解你的应用是由哪些视图组成的。它还带有一个通知中心监视器，你可以轻松看到发出了哪些NSNotification，谁在观察它们。另一个监控NSNotification的应用是   &lt;a href="http://revealapp.com/"&gt;Reveal&lt;/a&gt;。&lt;/li&gt;
&lt;/ul&gt;
 &lt;h2&gt;图像&lt;/h2&gt;
 &lt;ul&gt;
  &lt;li&gt;   &lt;a href="http://pngmini.com/"&gt;ImageAlpha&lt;/a&gt; – 一个Mac应用，可以让你将24位带透明度的PNG图转成8位的带alpha通道的PNG图。通常8位PNG图不带有alpha通道，因此如果你的图片可以用8位来表示（比如一个单色的按钮）的话，你可以通过把25位PNG转成8位的来节省很多空间。&lt;/li&gt;
  &lt;li&gt;   &lt;a href="http://imageoptim.com/"&gt;ImageOptim&lt;/a&gt; – 另一个Mac应用，可以压缩PNG图片来节省空间。大多数PNG文件可以省掉几个百分点的大小，有时甚至30%或更多。图片更小意味着应用尺寸更小，运行时加载它们所使用的内存也更小。&lt;/li&gt;
  &lt;li&gt;   &lt;a href="http://wearemothership.com/work/prepo"&gt;Prepo&lt;/a&gt; – 一个Mac上的小应用，可以将图片快速变换为你需要的多个尺寸。只需要拖动一个大图标文件（比如，1024*1024）到Prepo，它就会生成512*512的iTunesArtwork，114*114的 Icon@2x.png，以及其他的尺寸和文件名。&lt;/li&gt;
  &lt;li&gt;   &lt;a href="http://dragonforged.com/slender/"&gt;Slender&lt;/a&gt; ($) -一个很棒的应用，可以分析你的应用，找出各种问题，比如缺少视网膜屏的图片，没用到的图片，能压缩的图片。使用Slender去除掉那些没用的图片，可以为你的iPhone应用节省好多空间。&lt;/li&gt;
&lt;/ul&gt;
 &lt;h2&gt;Core Data&lt;/h2&gt;
 &lt;ul&gt;
  &lt;li&gt;   &lt;a href="http://rentzsch.github.com/mogenerator/"&gt;Mogenerator&lt;/a&gt; –  一个超有用的工具，在你的Core Data模型中生成NSManagedObjects智能子类。有些人使用Xcode完成这功能，通过手动子类化或者创建分类来为模型增加逻辑。Mogenerator作为预编译脚本运行来生成你可以使用的子类。它通过创建带有下划线的版本(_User)以及正常你可以修改的版本(User)来实现。&lt;/li&gt;
  &lt;li&gt;   &lt;a href="http://menial.co.uk/software/base/"&gt;Base&lt;/a&gt; ($) – 你肯定会需要查看你的Core Data sqlite数据库来检查发生了什么。你可以使用sqlite3命令行工具，但Base给了你一个方便查看的GUI浏览器。当你看到Core Data为你创建的数据库schema时你可不要吐哦。&lt;/li&gt;
  &lt;li&gt;   &lt;a href="http://christian-kienle.de/CoreDataEditor"&gt;Core Data Editor&lt;/a&gt; ($) -对于一些更高级的数据分析、发掘以及修改，你可以使用Core Data Editor。这个应用了解Core Data，因此你是在直接和实体打交道，而不是数据库行。&lt;/li&gt;
&lt;/ul&gt;
 &lt;h2&gt;后台服务&lt;/h2&gt;
 &lt;p&gt;最终你的iOS应用很可能会和服务器通信分享数据、获取新内容、发送推送通知等等。虽然你都可以手动去做，但你或许想要更方便的解决方案。&lt;/p&gt;
 &lt;ul&gt;
  &lt;li&gt;   &lt;a href="http://helios.io/"&gt;Helios&lt;/a&gt; – Helios是一个开源的框架，为iOS应用提供了基础的后台服务，从数据同步、推送通知到应用内购买以及passbook集成。它建立在许多开源ruby gem的基础上，因此如果你想要的话可以挑选构建你自己的栈。看一下   &lt;a href="http://nomad-cli.com/"&gt;Nomad CLI&lt;/a&gt;，有很多好用的相关工具。&lt;/li&gt;
  &lt;li&gt;   &lt;a href="http://www.windowsazure.com/en-us/develop/mobile/"&gt;Windows Azure Mobile Services&lt;/a&gt; – 你可以把它想象成在云端的一个可编程数据库。建表，用JavasScript来读取、插入、删除，增加额外的功能。实现推送通知相当简单。&lt;/li&gt;
  &lt;li&gt;   &lt;a href="http://urbanairship.com/"&gt;Urban Airship&lt;/a&gt; – 我现在在用Urban Airship来实现推送通知。很容易集成，用户量不大的话是免费的。&lt;/li&gt;
  &lt;li&gt;   &lt;a href="http://parse.com/"&gt;Parse&lt;/a&gt; – 这是另一个云端数据服务，但是它提供了很多API以及有一个在线数据浏览器。我们一个很小的应用用了Parse，感觉不错。&lt;/li&gt;
&lt;/ul&gt;
 &lt;h2&gt;分析&lt;/h2&gt;
 &lt;p&gt;这里还有些别的选择，但没有一个让我觉得有冲动把flurry换掉的。我乐于听取意见，欢迎在评论里告诉我吧。&lt;/p&gt;
 &lt;ul&gt;
  &lt;li&gt;   &lt;a href="http://flurry.com/"&gt;Flurry&lt;/a&gt; – 我用flurry很长时间了，它可以提供用户使用我的应用的有用的分析数据。想知道什么时候可以停止支持iOS5么？Flurry会给你数据供你们讨论。&lt;/li&gt;
&lt;/ul&gt;
 &lt;h2&gt;部署&lt;/h2&gt;
 &lt;ul&gt;
  &lt;li&gt;   &lt;a href="http://www.deploymateapp.com/"&gt;Deploymate&lt;/a&gt; ($) – 还需要支持iOS4，但是你在用iOS6 SDK编译？当你使用了一些在你的部署目标上不存在的符号时，Deploymate会警告你的。&lt;/li&gt;
  &lt;li&gt;   &lt;a href="https://github.com/nomad/cupertino"&gt;Cupertino&lt;/a&gt; – Nomad CLI工具之一，Cupertino为你提供了命令行接口来管理苹果Provisioning Portal上的设备及profile。举例来说，只要键入ios devices:list就可以看到你帐号里的当前设备列表。可以用来自动化许多过程。&lt;/li&gt;
  &lt;li&gt;   &lt;a href="http://hockeyapp.net/"&gt;Hockey App&lt;/a&gt; ($) – 管理你ad-hoc版本发布的不错服务。测试人员可以得到一个链接，无线安装新的测试版本。它还提供了健壮的崩溃报告功能，你可以轻松应对你应用中的崩溃。&lt;/li&gt;
  &lt;li&gt;   &lt;a href="http://testflightapp.com/"&gt;TestFlight&lt;/a&gt; – 一个类似于Hockey App的免费应用。我们使用TestFlight已经取得了很大成功，轻松发布应用，从用户那收集反馈。我唯一希望他们能对这个服务进行收费。它还包括了分析和崩溃报告功能，但我们没有用到那些功能。&lt;/li&gt;
  &lt;li&gt;   &lt;a href="http://www.curioustimes.de/iphonesimulatorcropper/index.html"&gt;iOS Simulator Cropper&lt;/a&gt; – 一个拍模拟器屏幕快照的简单方法，可以选择带或者不带状态栏，带或者不带机器外壳等等。对于App Store或者普通市场上的一些截屏很有用。&lt;/li&gt;
  &lt;li&gt;   &lt;a href="http://shinydevelopment.com/status-magic/"&gt;Status Magic&lt;/a&gt; ($) – 拍出更好的app store截屏图。没有什么比App Store上带有低电量或者低信号标识的截屏图更让你的应用看起来糟糕的了。Status Magic让你充分定制你的状态栏，包括去除一些元素，把时间改成苹果喜欢的“9:41 AM”那样，等等。&lt;/li&gt;
  &lt;li&gt;   &lt;a href="http://crashlytics.com/"&gt;Crashlytics&lt;/a&gt; -对于你正在开发中的应用来说是个很棒的崩溃报告工具。在发布版里自动上传dSYM文件，因此你的崩溃日志会为你自动符号化并组织好，你可以专注于最关键的部分。&lt;/li&gt;
&lt;/ul&gt;
 &lt;h2&gt;测试&lt;/h2&gt;
 &lt;p&gt;我认为我们作为一个社区对测试关注得还不够。有很多不错的工具可用，大多数都很好用，我们没有借口不为我们的应用写一些测试。&lt;/p&gt;
 &lt;ul&gt;
  &lt;li&gt;   &lt;a href="https://github.com/allending/Kiwi"&gt;Kiwi&lt;/a&gt; - 一个不错的Rspec风格的iOS测试框架。基于SenTestingKit建立，因此你只需按下⌘U来运行你的用例。它同样带有健壮的mocking以及stubbing库和断言。&lt;/li&gt;
  &lt;li&gt;   &lt;a href="https://github.com/specta/specta"&gt;Specta&lt;/a&gt; -一个类似于Kiwi的轻量级BDD框架，但是它的expectation语法有一个比Kiwi好的地方：每个变量都隐式装箱：expect(items.count).to.equal(5)。不需要像Kiwi那样将5包装成NSNumber。和   &lt;a href="https://github.com/specta/expecta/"&gt;Expecta&lt;/a&gt;搭配使用效果更好。&lt;/li&gt;
&lt;/ul&gt;
 &lt;p&gt;以下的几个都可以用来执行端到端的验收测试。这些测试会和你的界面交互，点击按钮，滚动，等等。虽然上它们运行会比较慢，但是在大范围内测试会更容易看到所有的模块整合的是否良好。&lt;/p&gt;
 &lt;ul&gt;
  &lt;li&gt;   &lt;a href="https://github.com/square/KIF"&gt;KIF&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;   &lt;a href="https://github.com/calabash/calabash-ios"&gt;Calabash&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;   &lt;a href="http://www.zucchiniframework.org/"&gt;Zucchini&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;   &lt;a href="http://testingwithfrank.com/"&gt;Frank&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;   &lt;a href="https://github.com/bendyworks/bwoken"&gt;Bwoken&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
 &lt;h2&gt;演示/市场&lt;/h2&gt;
 &lt;ul&gt;
  &lt;li&gt;   &lt;a href="http://www.airsquirrels.com/reflector/"&gt;Reflector&lt;/a&gt; ($) – 将你的iOS设备通过Air Play镜像到你的Mac上。很适合在你的电脑上做应用演示。&lt;/li&gt;
  &lt;li&gt;   &lt;a href="http://placeit.breezi.com/"&gt;Placeit&lt;/a&gt; – 一些关于人们使用设备的高分辨率的图的集合，但是设备可以由你上传的截屏图来定制。很酷，很适合在你网站上优雅地展示你的应用。&lt;/li&gt;
&lt;/ul&gt;
 &lt;h2&gt;应用销售报告&lt;/h2&gt;
 &lt;p&gt;你当然想要知道你的应用能赚多少钱，不是么？有一些解决方案，这儿有些还不错的：&lt;/p&gt;
 &lt;ul&gt;
  &lt;li&gt;   &lt;a href="http://www.ideaswarm.com/AppViz2.html"&gt;App Viz 2&lt;/a&gt; ($) – 一个很有用的Mac应用，可以跟踪你应用的销量。你在本地运行它，它会登录并下载你的销售报告。&lt;/li&gt;
  &lt;li&gt;   &lt;a href="http://www.appannie.com/"&gt;App Annie&lt;/a&gt; - 一个在线的销售报告工具。我不太乐意把我的认证信息交给除了iTunes以外的第三方，但它确实能确保你的报告是最新的，你无需在本地运行一个程序。   &lt;em&gt;在评论中，Josh Brown建议可以创建另一个用户用于iTunes Connect中的分析，这个主意不错。&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
 &lt;div&gt;
  &lt;h2&gt;摸彩袋&lt;/h2&gt;
  &lt;p&gt;这些工具没有一个定义好的分类，但值得一提。&lt;/p&gt;
  &lt;ul&gt;
   &lt;li&gt;    &lt;a href="http://www.quickradar.com/"&gt;Quick Radar&lt;/a&gt; – 提交bug报告给苹果，是我们唯一可以帮助他们改善工具的办法。如果你由于缺少某个功能感到万分沮丧，你可以提交一个bug报告。如果你遇到了一个bug，你同样可以。如果他们没有雷达的话，用户还没有抱怨的权利：）因此，通过    &lt;a href="http://bugreporter.apple.com/"&gt;bugreporter&lt;/a&gt;来提交bug报告的话好像又回到了1995年。Quick Radar是一个很赞的应用，它可以使提交bug报告变得超级简单。自动发布到开放的雷达，这样其他人就能看到，也可以发twitter，发布到App.net。我每周都要用好几次这个应用。&lt;/li&gt;
&lt;/ul&gt;
  &lt;p&gt;好了就这么多。满满一墙的工具。希望你以后碰到新工具也能加入到你的兵器库里。如果你喜欢这篇文章，可以在   &lt;a href="http://nsscreencast.com/"&gt;NSScreencast&lt;/a&gt;里看下我的iOS屏幕录像。&lt;/p&gt;
&lt;/div&gt;
 &lt;p&gt; &lt;/p&gt;
 &lt;hr&gt;&lt;/hr&gt;
 &lt;p&gt;  &lt;small&gt;© 推荐 for    &lt;a href="http://www.alibuybuy.com"&gt;互联网的那点事&lt;/a&gt;. |
猛击下载：   &lt;a href="https://itunes.apple.com/cn/app/hu-lian-wang-de-na-dian-shi/id670210055?mt=8"&gt;    &lt;strong&gt;iPhone客户端&lt;/strong&gt;&lt;/a&gt;  猛击下载：   &lt;a href="http://www.alibuybuy.com/alibuybuy.apk"&gt;    &lt;strong&gt;Android客户端&lt;/strong&gt;&lt;/a&gt;
&lt;/small&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/45406-ios-%E5%BC%80%E5%8F%91-%E5%B7%A5%E5%85%B7</guid>
      <pubDate>Wed, 28 Aug 2013 09:32:16 CST</pubDate>
    </item>
    <item>
      <title>iOS7免费设计资源汇总</title>
      <link>https://itindex.net/detail/45143-ios7-%E5%85%8D%E8%B4%B9-%E8%AE%BE%E8%AE%A1</link>
      <description>&lt;p&gt;上周破例发了一篇iOS7体验报告，而今次仍是与常规的风格有所不同。我确实很少做这种资源汇总一类的东西，除非是对自己很热、很有实际用处的玩意儿，那这次就是这样了。参考了几篇国外的相关介绍，另外到dribbble逛了逛，简单汇总了一些目前市面上比较过的去的iOS7免费设计资源，拿过来分享给各位，也留给自己平时找起来方便。资源包含图标、界面及控件、重设计mockup三个方面。&lt;/p&gt;
 &lt;p&gt;图标&lt;/p&gt;
 &lt;p&gt;1.iOS7应用图标模板(PSD，用于Photoshop和Sketch)。由设计师Rob Sim创建，文件中的应用图标模板包含以下规格：iTunes展示、iTunes展示@2x、iPhone、iPhone@2x、iPad、iPad@2x、系统设置、系统设置@2x、Spotlight搜索结果、Spotlight搜索结果2@x。  &lt;a href="http://ios.robs.im/files/iOS-7-Icon-Set.psd" rel="nofollow" target="_blank"&gt;点击下载&lt;/a&gt;。&lt;/p&gt;
 &lt;p&gt; &lt;/p&gt;
 &lt;p&gt;  &lt;img alt="" border="0" src="http://alibuybuy-img11.stor.sinaapp.com/2013/08/7e16_20130805102524555.jpg" width="400"&gt;&lt;/img&gt;&lt;/p&gt;
 &lt;p&gt; &lt;/p&gt;
 &lt;p&gt;2.三款iOS7应用图标黄金分割网格模板(AI、PSD、PNG)&lt;/p&gt;
 &lt;p&gt; &lt;/p&gt;
 &lt;p&gt;来自设计师Steffen Nørgaard Andersen的Ai模板文件，  &lt;a href="http://dribbble.com/shots/1128008-A-better-grid-animation?list=tags&amp;tag=ios7" rel="nofollow" target="_blank"&gt;查看详情&lt;/a&gt;或  &lt;a href="http://dribbble.com/shots/1128008-A-better-grid-animation/attachments/144236" rel="nofollow" target="_blank"&gt;点击下载&lt;/a&gt;。&lt;/p&gt;
 &lt;p&gt;  &lt;img alt="" border="0" height="300" src="http://alibuybuy-img11.stor.sinaapp.com/2013/08/67a9_20130805102525449.jpg" width="400"&gt;&lt;/img&gt;&lt;/p&gt;
 &lt;p&gt; &lt;/p&gt;
 &lt;p&gt;来自设计师Denis Shoomov的PSD与PNG模板文件，  &lt;a href="http://dribbble.com/shots/1111035-Template-for-iOS-7-App-Icons" rel="nofollow" target="_blank"&gt;查看详情&lt;/a&gt;或点击下载。(  &lt;a href="http://dribbble.com/shots/1111035-Template-for-iOS-7-App-Icons/attachments/141704" rel="nofollow" target="_blank"&gt;PSD&lt;/a&gt;、  &lt;a href="http://dribbble.com/shots/1111035-Template-for-iOS-7-App-Icons/attachments/141706" rel="nofollow" target="_blank"&gt;PNG&lt;/a&gt;)。&lt;/p&gt;
 &lt;p&gt;  &lt;img alt="" border="0" height="300" src="http://alibuybuy-img11.stor.sinaapp.com/2013/08/7b71_20130805102526159.png" width="400"&gt;&lt;/img&gt;&lt;/p&gt;
 &lt;p&gt; &lt;/p&gt;
 &lt;p&gt;来自设计师Heath Gerlock的PSD文件，  &lt;a href="http://dribbble.com/shots/1114504-iOS-7-Icon-Grid-V3" rel="nofollow" target="_blank"&gt;查看详情&lt;/a&gt;或  &lt;a href="http://dribbble.com/shots/1114504-iOS-7-Icon-Grid-V3/attachments/141242" rel="nofollow" target="_blank"&gt;点击下载&lt;/a&gt;。&lt;/p&gt;
 &lt;p&gt;  &lt;img alt="" border="0" height="300" src="http://alibuybuy-img11.stor.sinaapp.com/2013/08/afec_20130805102526881.png" width="400"&gt;&lt;/img&gt;&lt;/p&gt;
 &lt;p&gt; &lt;/p&gt;
 &lt;p&gt;3.Rebound Icon模板(PSD)。设计师Marcos Paulo Pagano仿照一款  &lt;a href="http://dribbble.com/shots/1138524-Reminder-Icon" rel="nofollow" target="_blank"&gt;Reminder&lt;/a&gt;图标制作的PSD模板文件，你可以直接拿去解构和订制化。  &lt;a href="http://dribbble.com/shots/1140141-Rebound-Icon" rel="nofollow" target="_blank"&gt;查看详情&lt;/a&gt;或  &lt;a href="http://dribbble.com/shots/1140141-Rebound-Icon/attachments/146683" rel="nofollow" target="_blank"&gt;点击下载&lt;/a&gt;。&lt;/p&gt;
 &lt;p&gt;  &lt;img alt="" border="0" height="300" src="http://alibuybuy-img11.stor.sinaapp.com/2013/08/4c67_20130805102526461.png" width="400"&gt;&lt;/img&gt;&lt;/p&gt;
 &lt;p&gt; &lt;/p&gt;
 &lt;p&gt;4.iOS7功能图标第一集(PSD、AI、EPS，多尺寸)。一系列用于标签栏、工具栏和导航栏的iOS7风格图标，包括系统自带及自定义图标。试着在你的iOS7重设计中使用它们吧。  &lt;a href="http://www.pixeden.com/media-icons/tab-bar-icons-ios-7" rel="nofollow" target="_blank"&gt;查看详情&lt;/a&gt;或  &lt;a href="http://www.pixeden.com/index.php?option=com_phocadownload&amp;view=category&amp;download=310&amp;id=50&amp;Itemid=81" rel="nofollow" target="_blank"&gt;点击下载&lt;/a&gt;。&lt;/p&gt;
 &lt;p&gt;  &lt;img alt="" border="0" src="http://alibuybuy-img11.stor.sinaapp.com/2013/08/c6a7_20130805102527160.jpg" width="400"&gt;&lt;/img&gt;&lt;/p&gt;
 &lt;p&gt; &lt;/p&gt;
 &lt;p&gt;5.iOS7功能图标第二集(PSD、AI、EPS，多尺寸) 。  &lt;a href="http://www.pixeden.com/media-icons/tab-bar-icons-ios-7-vol2" rel="nofollow" target="_blank"&gt;查看详情&lt;/a&gt;或  &lt;a href="http://www.pixeden.com/index.php?option=com_phocadownload&amp;view=category&amp;download=327&amp;id=50&amp;Itemid=81" rel="nofollow" target="_blank"&gt;点击下载&lt;/a&gt;。&lt;/p&gt;
 &lt;p&gt;  &lt;img alt="" border="0" src="http://alibuybuy-img11.stor.sinaapp.com/2013/08/b752_20130805102527369.jpg" width="400"&gt;&lt;/img&gt;&lt;/p&gt;
 &lt;p&gt; &lt;/p&gt;
 &lt;p&gt;6.iOS7风格图标(PNG，多尺寸)。来自Icons8，包含540个iOS7风格的常用图标。尺寸方面，从25×25到512×512，PNG格式。  &lt;a href="http://icons8.com/free-ios-7-icons-in-vector/" rel="nofollow" target="_blank"&gt;查看详情&lt;/a&gt;或  &lt;a href="http://icons8.com/download/iOS7_icons.zip" rel="nofollow" target="_blank"&gt;点击下载&lt;/a&gt;。&lt;/p&gt;
 &lt;p&gt;  &lt;img alt="" src="http://alibuybuy-img11.stor.sinaapp.com/2013/08/74c8_20130805102527106.png" width="400"&gt;&lt;/img&gt;&lt;/p&gt;
 &lt;p&gt; &lt;/p&gt;
 &lt;p&gt;7.iOS7风格功能图标(矢量化PSD)。基于矢量图形的iOS7风格功能图标，来自设计师Johan Jonsson。  &lt;a href="http://dribbble.com/shots/1121725-Exploring-some-iOS-7-tab-bar-icons" rel="nofollow" target="_blank"&gt;查看详情&lt;/a&gt;或  &lt;a href="http://dribbble.com/shots/1121725-Exploring-some-iOS-7-tab-bar-icons/attachments/142932" rel="nofollow" target="_blank"&gt;点击下载&lt;/a&gt;。&lt;/p&gt;
 &lt;p&gt; &lt;/p&gt;
 &lt;p&gt;  &lt;img alt="" border="0" height="300" src="http://alibuybuy-img11.stor.sinaapp.com/2013/08/627f_20130805102528306.png" width="400"&gt;&lt;/img&gt;&lt;/p&gt;
 &lt;p&gt; &lt;/p&gt;
 &lt;p&gt;8.iOS7风格功能图标(矢量化PSD、PNG)。共48款，60×60像素规格，made with love! 来自设计师Llja Miskov。  &lt;a href="http://dribbble.com/shots/1162689-iOS-7-Line-Icon-Pack" rel="nofollow" target="_blank"&gt;查看详情&lt;/a&gt;或  &lt;a href="http://dribbble.com/shots/1162689-iOS-7-Line-Icon-Pack/attachments/151236" rel="nofollow" target="_blank"&gt;点击下载&lt;/a&gt;。&lt;/p&gt;
 &lt;p&gt;  &lt;img alt="" border="0" height="300" src="http://alibuybuy-img11.stor.sinaapp.com/2013/08/1808_20130805102528147.png" width="400"&gt;&lt;/img&gt;&lt;/p&gt;
 &lt;p&gt; &lt;/p&gt;
 &lt;p&gt;界面及控件&lt;/p&gt;
 &lt;p&gt;1.iOS7 GUI模板(PSD)。来自大家最熟悉的好基友，Teehan和Lax——基于iOS7 Beta1制作，Retina规格，大量系统控件样式，包含iPhone5黑白两款机型模板。  &lt;a href="http://www.teehanlax.com/tools/ios7/" rel="nofollow" target="_blank"&gt;查看详情&lt;/a&gt;或  &lt;a href="http://www.teehanlax.com/downloads/teehanlax-iOS7-iPhone-psd.zip" rel="nofollow" target="_blank"&gt;点击下载&lt;/a&gt;。&lt;/p&gt;
 &lt;p&gt;  &lt;img alt="" border="0" src="http://alibuybuy-img11.stor.sinaapp.com/2013/08/4128_20130805102529657.png" width="400"&gt;&lt;/img&gt;&lt;/p&gt;
 &lt;p&gt; &lt;/p&gt;
 &lt;p&gt;2.Applidium的iOS7 GUI模板(PSD)。可能是迄今为止最全面的免费iOS7 GUI资源，包含几乎所有原生按钮和UI布局，PSD格式。  &lt;a href="http://applidium.com/en/news/introducing_ios_7_gui_psd/" rel="nofollow" target="_blank"&gt;查看详情&lt;/a&gt;或  &lt;a href="http://applidium.com/en/news/introducing_ios_7_gui_psd/ios7_gui_psd_v1.zip" rel="nofollow" target="_blank"&gt;点击下载&lt;/a&gt;。&lt;/p&gt;
 &lt;p&gt;  &lt;img alt="" border="0" src="http://alibuybuy-img11.stor.sinaapp.com/2013/08/ef16_20130805102529453.png" width="400"&gt;&lt;/img&gt;&lt;/p&gt;
 &lt;p&gt; &lt;/p&gt;
 &lt;p&gt;3.基于矢量图形的iOS7 UI模板(PSD)。也许没有其他模板那么全面和复杂，但这套来自设计师Andreas Hellqvist的矢量图形模板是可以缩放的。  &lt;a href="http://andreas-hellqvist.deviantart.com/art/iOS-7-GUI-PSD-377491443" rel="nofollow" target="_blank"&gt;查看详情&lt;/a&gt;或  &lt;a href="http://www.deviantart.com/download/377491443/ios_7_gui_psd_by_andreas_hellqvist-d68qy9f.psd?token=913235c5c252be272900e8ad6ec43fb796dba168&amp;ts=1375510257" rel="nofollow" target="_blank"&gt;点击下载&lt;/a&gt;。&lt;/p&gt;
 &lt;p&gt;  &lt;img alt="" src="http://alibuybuy-img11.stor.sinaapp.com/2013/08/59bc_20130805102530692.png" width="400"&gt;&lt;/img&gt;&lt;/p&gt;
 &lt;p&gt; &lt;/p&gt;
 &lt;p&gt;4.可编辑的系统首屏(PSD)。分层、全部可编辑的iOS7系统首屏PSD文件。  &lt;a href="http://willviennet.deviantart.com/art/iOS-7-customizable-PSD-377393935" rel="nofollow" target="_blank"&gt;查看详情&lt;/a&gt;或  &lt;a href="http://www.deviantart.com/download/377393935/ios_7_customizable_psd_by_willviennet-d68ov0v.psd?token=f419d5ba69bd11f1f9b0732fd227dcd60b2d86eb&amp;ts=1375515016" rel="nofollow" target="_blank"&gt;点击下载&lt;/a&gt;。&lt;/p&gt;
 &lt;p&gt;  &lt;img alt="" src="http://alibuybuy-img11.stor.sinaapp.com/2013/08/bec0_20130805102531320.png" width="400"&gt;&lt;/img&gt;&lt;/p&gt;
 &lt;p&gt; &lt;/p&gt;
 &lt;p&gt;重设计Mockup&lt;/p&gt;
 &lt;p&gt;1.Spotify。包含5个界面的mockup，展示了设计师Ruban Khalid所做的Spotify iOS7重设计。  &lt;a href="http://dribbble.com/shots/1137715-Spotify-iOS7-Re-design" rel="nofollow" target="_blank"&gt;查看详情&lt;/a&gt;。&lt;/p&gt;
 &lt;p&gt;  &lt;img alt="" border="0" height="300" src="http://alibuybuy-img11.stor.sinaapp.com/2013/08/0e14_20130805102531426.png" width="400"&gt;&lt;/img&gt;&lt;/p&gt;
 &lt;p&gt; &lt;/p&gt;
 &lt;p&gt;2.Nike Running App。设计师Mike Brisk带来的Nike跑步应用的iOS7重设计，将现有的拟物化设计方案打造的更加简洁易读。  &lt;a href="http://dribbble.com/shots/1136506-Nike-ios7-Redesign" rel="nofollow" target="_blank"&gt;查看详情&lt;/a&gt;。&lt;/p&gt;
 &lt;p&gt;  &lt;img alt="" border="0" height="300" src="http://alibuybuy-img11.stor.sinaapp.com/2013/08/2052_20130805102532495.png" width="400"&gt;&lt;/img&gt;&lt;/p&gt;
 &lt;p&gt; &lt;/p&gt;
 &lt;p&gt; &lt;/p&gt;
 &lt;p&gt;3.Path。Path的扁平化风格Mockup。比较有意思的是，我们可以看一看Beasty Design的设计师是怎样将原有的大量图标及界面效果通过非3D的形式表现出来的。  &lt;a href="http://dribbble.com/shots/1133551-Path-Flat-Concept-for-ios7" rel="nofollow" target="_blank"&gt;查看详情&lt;/a&gt;。&lt;/p&gt;
 &lt;p&gt;  &lt;img alt="" border="0" height="300" src="http://alibuybuy-img11.stor.sinaapp.com/2013/08/6e36_20130805102532193.jpg" width="400"&gt;&lt;/img&gt;&lt;/p&gt;
 &lt;p&gt; &lt;/p&gt;
 &lt;p&gt;4.iOS内置通讯录重设计。设计师Angel Bartolli尝试重新设计了iOS原生的通讯录应用，界面简洁、清晰、性感；另外还包含了一些很有意思的交互理念(见详情当中的几个Rebound版本)。  &lt;a href="http://dribbble.com/shots/1126022-Contact-List-iOS7" rel="nofollow" target="_blank"&gt;查看详情&lt;/a&gt;。&lt;/p&gt;
 &lt;p&gt;  &lt;img alt="" border="0" height="300" src="http://alibuybuy-img11.stor.sinaapp.com/2013/08/1249_20130805102532306.png" width="400"&gt;&lt;/img&gt;&lt;/p&gt;
 &lt;p&gt; &lt;/p&gt;
 &lt;p&gt;我说&lt;/p&gt;
 &lt;p&gt;以上就是这次汇总的一批iOS7免费设计资源，希望各位用的到。如果你手头有iOS7的redesign项目，或是UI、图标习作，方便并希望得到展示，愿意在Beforweb上与大家分享你的作品，那么不妨联系我，通过  &lt;a href="http://weibo.com/c7210" rel="nofollow" target="_blank"&gt;微博&lt;/a&gt;或邮箱coda7210艾特gmail.com都OK，我会进行必要的挑选，并且不定期的进行汇总展示。  &lt;br /&gt;
(完)&lt;/p&gt;
 &lt;p&gt; &lt;/p&gt;
 &lt;div&gt;
  &lt;div&gt;本站原创编译文章。如需转载，请注明：本文来自   &lt;a href="http://beforweb.com/node/245"&gt;Be For Web&lt;/a&gt;&lt;/div&gt;
  &lt;div&gt;
   &lt;div&gt;英文原文:&lt;/div&gt;
   &lt;div&gt;
    &lt;div&gt;     &lt;a href="http://www.creativebloq.com/app-design/top-dribbble-resources-ios7-7133456" rel="nofollow" target="_blank"&gt;http://www.creativebloq.com/app-design/top-dribbble-resources-ios7-713…&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
  &lt;div&gt;译者信息: c7210 - UX玩家、交互设计师、曾经的视觉与前端、猫奴、guitar fucker…现就职于携程无线事业部。&lt;/div&gt;
&lt;/div&gt;
 &lt;hr&gt;&lt;/hr&gt;
 &lt;p&gt;  &lt;small&gt;© 推荐 for    &lt;a href="http://www.alibuybuy.com"&gt;互联网的那点事&lt;/a&gt;. |
猛击下载：   &lt;a href="https://itunes.apple.com/cn/app/hu-lian-wang-de-na-dian-shi/id670210055?mt=8"&gt;    &lt;strong&gt;iPhone客户端&lt;/strong&gt;&lt;/a&gt;  猛击下载：   &lt;a href="http://www.alibuybuy.com/alibuybuy.apk"&gt;    &lt;strong&gt;Android客户端&lt;/strong&gt;&lt;/a&gt;
&lt;/small&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/45143-ios7-%E5%85%8D%E8%B4%B9-%E8%AE%BE%E8%AE%A1</guid>
      <pubDate>Tue, 06 Aug 2013 09:10:46 CST</pubDate>
    </item>
    <item>
      <title>黑色星期五：移动端快速增长，社会化媒体转化率不到1%</title>
      <link>https://itindex.net/detail/40858-%E9%BB%91%E8%89%B2-%E6%98%9F%E6%9C%9F%E4%BA%94-%E7%A7%BB%E5%8A%A8</link>
      <description>&lt;p&gt;黑色星期五（Black Friday)标志着圣诞购物季的开始，也是每年美国零售业的晴雨表。在过去的这个黑色星期五，又有哪些值得关注的变化呢?文中数据来自IBM 《Black Friday Report 2012》,完整报告，点这里：  &lt;a href="http://www-01.ibm.com/software/marketing-solutions/benchmark-reports/benchmark-2012-black-friday.pdf"&gt;IBM Benchmark-2012-Black-Friday&lt;/a&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;a href="http://www.alibuybuy.com/posts/57515.html/f842_volkswagen-black-beetle-png" rel="attachment wp-att-57517"&gt;   &lt;img alt="" height="369" src="http://alibuybuy-img11.stor.sinaapp.com/2012/11/a974_1353426704878.jpg" title="black-friday" width="547"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
 &lt;p&gt; &lt;/p&gt;
 &lt;h2&gt;移动客户端快速增长&lt;/h2&gt;
 &lt;p&gt; &lt;/p&gt;
 &lt;ul&gt;
  &lt;li&gt;黑色星期五客单量为5.6单，这数据比去年降低了13%，也比上个周五（11月16日）大幅降低了40%。&lt;/li&gt;
  &lt;li&gt;平均访问时长为6分39秒，也比去年降低了10%.&lt;/li&gt;
  &lt;li&gt;转化率（实际购买人次/访问人次）为4.58%，比去年增长了9%。&lt;/li&gt;
  &lt;li&gt;移动终端（智能手机和平板电脑）占销售收入的16％。比去年增长了10％。&lt;/li&gt;
  &lt;li&gt;移动设备占到网站流量的24％，比去年增长了14％。&lt;/li&gt;
  &lt;li&gt;iPad占到网站流量占10％，比去年增长了5％。&lt;/li&gt;
  &lt;li&gt;iPhone手机的网站流量占9％，比去年增长了5％。&lt;/li&gt;
  &lt;li&gt;Android手机和平板电脑的网站流量占5.5％，比去年增长了4％。&lt;/li&gt;
&lt;/ul&gt;
 &lt;h3&gt;  &lt;img alt="" height="347" src="http://alibuybuy-img11.stor.sinaapp.com/2012/11/0e16_%E6%9C%AA%E5%91%BD%E5%90%8D.jpg" title="black friday mobile" width="584"&gt;&lt;/img&gt;&lt;/h3&gt;
 &lt;p&gt; &lt;/p&gt;
 &lt;h3&gt;  &lt;strong&gt;值得重点关注的变化有：&lt;/strong&gt;&lt;/h3&gt;
 &lt;p&gt;  &lt;strong&gt;   &lt;br /&gt;
&lt;/strong&gt;&lt;/p&gt;
 &lt;ul&gt;
  &lt;li&gt;移动终端在网站流量和销量上继续快速增长。在进入智能手机时代6年之后，美国智能手机用户数占比55%,超过了非智能手机用户数，但是使用智能手机（包含平板电脑）访问网站的流量只占网站总流量的25%不到。&lt;/li&gt;
  &lt;li&gt;而苹果的手机和平板则继续挤压着Android的同类型终端。相对而言，Android用户似乎并不大喜欢使用自己手上的设备去购物。&lt;/li&gt;
&lt;/ul&gt;
 &lt;h2&gt;社会化媒体转化率低&lt;/h2&gt;
 &lt;p&gt; &lt;/p&gt;
 &lt;p&gt;总体而言，社会化媒体（比如Facebook，Twitter，Youtube，LinkedIn)带来的销量占总在线销量的0.34%，比去年下降了35%。那具体到社会化媒体双子星Facebook和Twitter的数据又是如何？&lt;/p&gt;
 &lt;ul&gt;
  &lt;li&gt;Facebook给电子商务网站带来的转化率有多少？只有   &lt;strong&gt;0.68%&lt;/strong&gt;！比去年同比下降了1%。&lt;/li&gt;
  &lt;li&gt;那Twitter呢？0！低到可以忽略不计。去年这一数据是0.02%,同样是低的可怜。&lt;/li&gt;
&lt;/ul&gt;
 &lt;h2&gt;编者的话&lt;/h2&gt;
 &lt;p&gt; &lt;/p&gt;
 &lt;p&gt;根据《第一财经日报》的报道，新浪微博的转化率为4%,这个数据比美丽说和蘑菇街的7%-8%要低,但也不算太差。至于Facebook和Twitter连1%都不到，原因可能是「消费者在黑色星期五当天，直接登录电子商务网站，比如Amaozn，BestBuy, NewEgg等，极少数是透过社会化媒体来购买的」。社会化媒体与电子商务相结合进行更好的结合，还有一段不短的路要走。&lt;/p&gt;
 &lt;p&gt;至于为什么IBM科技在如此短的时间内得到这些数据？可阅读腾讯科技的文章：  &lt;a href="http://tech.qq.com/a/20121124/000059.htm"&gt;黑色星期五凸显IBM「大数据战略」重要性&lt;/a&gt;&lt;/p&gt;
 &lt;p&gt; &lt;/p&gt;
 &lt;p&gt;  &lt;img alt="IBM Shopping Infographic" height="2159" src="http://alibuybuy-img11.stor.sinaapp.com/2012/11/7450_ShoppingInfographic.jpg" width="576"&gt;&lt;/img&gt;———&lt;/p&gt;
 &lt;p&gt;本文来自SocialBeta的内容贡献者  &lt;a href="http://weibo.com/funge"&gt;Bigla&lt;/a&gt;&lt;/p&gt;
 &lt;p&gt;本文链接：  &lt;a href="http://www.socialbeta.cn/?p=57512"&gt;http://www.socialbeta.cn/articles/black-friday-online-sales-from-sns-referrals-2012.html&lt;/a&gt;&lt;/p&gt;
 &lt;p&gt; &lt;/p&gt;
 &lt;hr&gt;&lt;/hr&gt;
 &lt;p&gt;  &lt;small&gt;© 推荐 for    &lt;a href="http://www.alibuybuy.com"&gt;互联网的那点事&lt;/a&gt;, 2012. |
   &lt;a href="http://www.alibuybuy.com/posts/78052.html"&gt;Permalink&lt;/a&gt; |
   &lt;a href="http://www.alibuybuy.com/posts/78052.html#comments"&gt;No comment&lt;/a&gt; |
Add to
   &lt;a href="http://del.icio.us/post?url=http://www.alibuybuy.com/posts/78052.html&amp;title=&amp;#40657;&amp;#33394;&amp;#26143;&amp;#26399;&amp;#20116;&amp;#65306;&amp;#31227;&amp;#21160;&amp;#31471;&amp;#24555;&amp;#36895;&amp;#22686;&amp;#38271;&amp;#65292;&amp;#31038;&amp;#20250;&amp;#21270;&amp;#23186;&amp;#20307;&amp;#36716;&amp;#21270;&amp;#29575;&amp;#19981;&amp;#21040;1%"&gt;del.icio.us&lt;/a&gt;
   &lt;br /&gt;
Post tags:    &lt;br /&gt;
&lt;/small&gt;&lt;/p&gt;


 &lt;table border="0" cellpadding="3" cellspacing="0"&gt;
    
      &lt;tr&gt;
           &lt;td colspan="5"&gt;    &lt;strong&gt;你可能也喜欢：&lt;/strong&gt;&lt;/td&gt;
    &lt;/tr&gt;
    
          &lt;tr&gt;
                   &lt;td valign="top" width="102"&gt;
                        &lt;a href="http://app.wumii.com/ext/redirect?url=http%3A%2F%2Fwww.showeb20.com%2F%3Fp%3D2056&amp;from=http%3A%2F%2Fwww.alibuybuy.com%2Fposts%2F78052.html" target="_blank" title="&amp;#31038;&amp;#20250;&amp;#21270;&amp;#23186;&amp;#20307;&amp;#21457;&amp;#23637;&amp;#30340;&amp;#24605;&amp;#32771;"&gt;
                             &lt;img height="96px" src="http://static.wumii.cn/site_images/2012/07/15/7972049.jpg" width="96px"&gt;&lt;/img&gt;     &lt;br /&gt;
                        社会化媒体发展的思考 (@showeb20)
                    &lt;/a&gt;
                &lt;/td&gt;
                   &lt;td valign="top" width="102"&gt;
                        &lt;a href="http://app.wumii.com/ext/redirect?url=http%3A%2F%2Fwww.iplaysoft.com%2Ffirefoxos.html&amp;from=http%3A%2F%2Fwww.alibuybuy.com%2Fposts%2F78052.html" target="_blank" title="&amp;#25250;&amp;#20808;&amp;#29609;&amp;#19978; Firefox OS &amp;#31227;&amp;#21160;&amp;#25805;&amp;#20316;&amp;#31995;&amp;#32479;&amp;#65292;&amp;#20351;&amp;#29992;&amp;#28779;&amp;#29392;&amp;#27983;&amp;#35272;&amp;#22120;&amp;#25193;&amp;#23637;&amp;#25554;&amp;#20214;&amp;#23601;&amp;#33021;&amp;#23436;&amp;#32654;&amp;#27169;&amp;#25311;&amp;#36816;&amp;#34892;&amp;#65281;"&gt;
                             &lt;img height="96px" src="http://static.wumii.cn/site_images/2012/11/21/61681532.jpg" width="96px"&gt;&lt;/img&gt;     &lt;br /&gt;
                        抢先玩上 Firefox OS 移动操作系统，使用火狐浏览器扩展插件就能完美模拟运行！ (@iplaysoft)
                    &lt;/a&gt;
                &lt;/td&gt;
                   &lt;td valign="top" width="102"&gt;
                        &lt;a href="http://app.wumii.com/ext/redirect?url=http%3A%2F%2Fwww.alibuybuy.com%2Fposts%2F58414.html&amp;from=http%3A%2F%2Fwww.alibuybuy.com%2Fposts%2F78052.html" target="_blank" title="&amp;#27973;&amp;#35848;&amp;#31227;&amp;#21160;App&amp;#30340;&amp;#31038;&amp;#20250;&amp;#21270;&amp;#23186;&amp;#20307;&amp;#33829;&amp;#38144;"&gt;
                             &lt;img height="96px" src="http://static.wumii.cn/site_images/2011/11/05/10343290.png" width="96px"&gt;&lt;/img&gt;     &lt;br /&gt;
                        浅谈移动App的社会化媒体营销
                    &lt;/a&gt;
                &lt;/td&gt;
                   &lt;td valign="top" width="102"&gt;
                        &lt;a href="http://app.wumii.com/ext/redirect?url=http%3A%2F%2Fwww.alibuybuy.com%2Fposts%2F18223.html&amp;from=http%3A%2F%2Fwww.alibuybuy.com%2Fposts%2F78052.html" target="_blank" title="&amp;#31038;&amp;#20250;&amp;#21270;&amp;#23186;&amp;#20307;&amp;#20250;&amp;#25104;&amp;#20026;&amp;#26032;&amp;#30340;&amp;#8220;&amp;#30270;&amp;#8221;&amp;#20040;&amp;#65311;"&gt;
                             &lt;img height="96px" src="http://static.wumii.cn/site_images/2012/07/24/36981532.jpg" width="96px"&gt;&lt;/img&gt;     &lt;br /&gt;
                        社会化媒体会成为新的“瘾”么？
                    &lt;/a&gt;
                &lt;/td&gt;
                   &lt;td valign="top" width="102"&gt;
                        &lt;a href="http://app.wumii.com/ext/redirect?url=http%3A%2F%2Fwww.alibuybuy.com%2Fposts%2F16553.html&amp;from=http%3A%2F%2Fwww.alibuybuy.com%2Fposts%2F78052.html" target="_blank" title="Google VS Yahoo:&amp;#35841;&amp;#30340;&amp;#31038;&amp;#20250;&amp;#21270;&amp;#23186;&amp;#20307;&amp;#31574;&amp;#30053;&amp;#26356;&amp;#32988;&amp;#19968;&amp;#31609;?"&gt;
                             &lt;img height="96px" src="http://static.wumii.cn/site_images/2011/03/11/2781253.jpg" width="96px"&gt;&lt;/img&gt;     &lt;br /&gt;
                        Google VS Yahoo:谁的社会化媒体策略更胜一筹?
                    &lt;/a&gt;
                &lt;/td&gt;
        &lt;/tr&gt;
    
      &lt;tr&gt;
           &lt;td align="right" colspan="5"&gt;
                &lt;a href="http://www.wumii.com/widget/relatedItems" target="_blank" title="&amp;#26080;&amp;#35269;&amp;#30456;&amp;#20851;&amp;#25991;&amp;#31456;&amp;#25554;&amp;#20214;"&gt;
                无觅
            &lt;/a&gt;
        &lt;/td&gt;
    &lt;/tr&gt;
&lt;/table&gt;
 &lt;p&gt;  &lt;small&gt;Feed enhanced by    &lt;a href="http://planetozh.com/blog/my-projects/wordpress-plugin-better-feed-rss/"&gt;Better Feed&lt;/a&gt; from     &lt;a href="http://planetozh.com/blog/"&gt;Ozh&lt;/a&gt;&lt;/small&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>IT的那些事 资料报告</category>
      <guid isPermaLink="true">https://itindex.net/detail/40858-%E9%BB%91%E8%89%B2-%E6%98%9F%E6%9C%9F%E4%BA%94-%E7%A7%BB%E5%8A%A8</guid>
      <pubDate>Wed, 28 Nov 2012 22:44:03 CST</pubDate>
    </item>
    <item>
      <title>转：Google Spanner简介</title>
      <link>https://itindex.net/detail/39779-google-spanner-%E7%AE%80%E4%BB%8B</link>
      <description>&lt;h5&gt;Google Spanner简介&lt;/h5&gt;
 &lt;p&gt;Spanner 是Google的全球级的分布式数据库 (Globally-Distributed Database) 。Spanner的扩展性达到了令人咋舌的全球级，可以扩展到数百万的机器，数已百计的数据中心，上万亿的行。更给力的是，除了夸张的扩展性之外，他还能同时通过同步复制和多版本来满足外部一致性，可用性也是很好的。冲破CAP的枷锁，在三者之间完美平衡。&lt;/p&gt;
 &lt;p&gt;Spanner是个可扩展，多版本，全球分布式还支持同步复制的数据库。他是Google的第一个可以全球扩展并且支持外部一致的事务。Spanner能做到这些，离不开一个用GPS和原子钟实现的时间API。这个API能将数据中心之间的时间同步精确到10ms以内。因此有几个给力的功能：无锁读事务，原子schema修改，读历史数据无block。&lt;/p&gt;
 &lt;p&gt;EMC中国研究院实时紧盯业界动态，Google最近发布的一篇论文《  &lt;a href="http://research.google.com/archive/spanner.html"&gt;Spanner: Google’s Globally-Distributed Database&lt;/a&gt;》, 笔者非常感兴趣，对Spanner进行了一些调研，并在这里分享。由于Spanner并不是开源产品，笔者的知识主要来源于Google的公开资料，通过现有公开资料仅仅只能窥得Spanner的沧海一粟，Spanner背后还依赖有大量Google的专有技术。&lt;/p&gt;
 &lt;p&gt;下文主要是Spanner的背景，设计和并发控制。&lt;/p&gt;
 &lt;h5&gt;Spanner背景&lt;/h5&gt;
 &lt;p&gt;要搞清楚Spanner原理，先得了解Spanner在Google的定位。&lt;/p&gt;
 &lt;p&gt;从上图可以看到。Spanner位于F1和GFS之间，承上启下。所以先提一提F1和GFS。&lt;/p&gt;
 &lt;h6&gt;F1&lt;/h6&gt;
 &lt;p&gt;和众多互联网公司一样，在早期Google大量使用了Mysql。Mysql是单机的，可以用Master-Slave来容错，分区来扩展。但是需要大量的手工运维工作，有很多的限制。因此Google开发了一个可容错可扩展的RDBMS——F1。和一般的分布式数据库不同，F1对应RDMS应有的功能，毫不妥协。起初F1是基于Mysql的，不过会逐渐迁移到Spannerr。&lt;/p&gt;
 &lt;p&gt;F1有如下特点：&lt;/p&gt;
 &lt;ul&gt;
  &lt;li&gt;7×24高可用。哪怕某一个数据中心停止运转，仍然可用。&lt;/li&gt;
  &lt;li&gt;可以同时提供强一致性和弱一致。&lt;/li&gt;
  &lt;li&gt;可扩展&lt;/li&gt;
  &lt;li&gt;支持SQL&lt;/li&gt;
  &lt;li&gt;事务提交延迟50-100ms，读延迟5-10ms，高吞吐&lt;/li&gt;
&lt;/ul&gt;
 &lt;div&gt;
  &lt;p&gt;众所周知Google BigTable是重要的Nosql产品，提供很好的扩展性，开源世界有HBase与之对应。为什么Google还需要F1，而不是都使用BigTable呢？因为BigTable提供的最终一致性，一些需要事务级别的应用无法使用。同时BigTable还是NoSql，而大量的应用场景需要有关系模型。就像现在大量的互联网企业都使用Mysql而不愿意使用HBase，因此Google才有这个可扩展数据库的F1。而Spanner就是F1的至关重要的底层存储技术。&lt;/p&gt;
  &lt;h6&gt;Colossus（GFS II）&lt;/h6&gt;
  &lt;p&gt;Colossus也是一个不得不提起的技术。他是第二代GFS，对应开源世界的新HDFS。GFS是著名的分布式文件系统。&lt;/p&gt;
  &lt;p&gt; &lt;/p&gt;
  &lt;p&gt;初代GFS是为批处理设计的。对于大文件很友好，吞吐量很大，但是延迟较高。所以使用他的系统不得不对GFS做各种优化，才能获得良好的性能。那为什么Google没有考虑到这些问题，设计出更完美的GFS ? 因为那个时候是2001年，Hadoop出生是在2007年。如果Hadoop是世界领先水平的话，GFS比世界领先水平还领先了6年。同样的Spanner出生大概是2009年，现在我们看到了论文，估计Spanner在Google已经很完善，同时Google内部已经有更先进的替代技术在酝酿了。笔者预测，最早在2015年才会出现Spanner和F1的山寨开源产品。&lt;/p&gt;
  &lt;p&gt;Colossus是第二代GFS。Colossus是Google重要的基础设施，因为他可以满足主流应用对FS的要求。Colossus的重要改进有：&lt;/p&gt;
  &lt;ul&gt;
   &lt;li&gt;优雅Master容错处理 (不再有2s的停止服务时间)&lt;/li&gt;
   &lt;li&gt;Chunk大小只有1MB (对小文件很友好)&lt;/li&gt;
   &lt;li&gt;Master可以存储更多的Metadata(当Chunk从64MB变为1MB后，Metadata会扩大64倍，但是Google也解决了)&lt;/li&gt;
&lt;/ul&gt;
  &lt;div&gt;
   &lt;p&gt;Colossus可以自动分区Metadata。使用Reed-Solomon算法来复制，可以将原先的3份减小到1.5份，提高写的性能，降低延迟。客户端来复制数据。具体细节笔者也猜不出。&lt;/p&gt;
   &lt;h6&gt;与BigTable， Megastore对比&lt;/h6&gt;
   &lt;p&gt;Spanner主要致力于跨数据中心的数据复制上，同时也能提供数据库功能。在Google类似的系统有BigTable和Megastore。和这两者相比，Spanner又有什么优势呢。&lt;/p&gt;
   &lt;p&gt;BigTable在Google得到了广泛的使用，但是他不能提供较为复杂的Schema，还有在跨数据中心环境下的强一致性。Megastore有类RDBMS的数据模型，同时也支持同步复制，但是他的吞吐量太差，不能适应应用要求。Spanner不再是类似BigTable的版本化 key-value存储，而是一个“临时多版本”的数据库。何为“临时多版本”，数据是存储在一个版本化的关系表里面，存储的时间数据会根据其提交的时间打上时间戳，应用可以访问到较老的版本，另外老的版本也会被垃圾回收掉。&lt;/p&gt;
   &lt;p&gt;Google官方认为 Spanner是下一代BigTable，也是Megastore的继任者。&lt;/p&gt;
   &lt;h5&gt;Google Spanner设计&lt;/h5&gt;
   &lt;h6&gt;功能&lt;/h6&gt;
   &lt;p&gt;从高层看Spanner是通过Paxos状态机将分区好的数据分布在全球的。数据复制全球化的，用户可以指定数据复制的份数和存储的地点。Spanner可以在集群或者数据发生变化的时候将数据迁移到合适的地点，做负载均衡。用户可以指定将数据分布在多个数据中心，不过更多的数据中心将造成更多的延迟。用户需要在可靠性和延迟之间做权衡，一般来说复制1，2个数据中心足以保证可靠性。&lt;/p&gt;
   &lt;p&gt;作为一个全球化分布式系统，Spanner提供一些有趣的特性。&lt;/p&gt;
   &lt;ul&gt;
    &lt;li&gt;应用可以细粒度的指定数据分布的位置。精确的指定数据离用户有多远，可以有效的控制读延迟(读延迟取决于最近的拷贝)。指定数据拷贝之间有多远，可以控制写的延迟(写延迟取决于最远的拷贝)。还要数据的复制份数，可以控制数据的可靠性和读性能。(多写几份，可以抵御更大的事故)&lt;/li&gt;
    &lt;li&gt;Spanner还有两个一般分布式数据库不具备的特性：读写的外部一致性，基于时间戳的全局的读一致。这两个特性可以让Spanner支持一致的备份，一致的MapReduce，还有原子的Schema修改。&lt;/li&gt;
&lt;/ul&gt;
   &lt;div&gt;
    &lt;p&gt;这写特性都得益有Spanner有一个全球时间同步机制，可以在数据提交的时候给出一个时间戳。因为时间是系列化的，所以才有外部一致性。这个很容易理解，如果有两个提交，一个在T1,一个在T2。那有更晚的时间戳那个提交是正确的。&lt;/p&gt;
    &lt;p&gt;这个全球时间同步机制是用一个具有GPS和原子钟的TrueTime API提供了。这个TrueTime API能够将不同数据中心的时间偏差缩短在10ms内。这个API可以提供一个精确的时间，同时给出误差范围。Google已经有了一个TrueTime API的实现。笔者觉得这个TrueTime API 非常有意义，如果能单独开源这部分的话，很多数据库如MongoDB都可以从中受益。&lt;/p&gt;
    &lt;h6&gt;体系结构&lt;/h6&gt;
    &lt;p&gt;Spanner由于是全球化的，所以有两个其他分布式数据库没有的概念。&lt;/p&gt;
    &lt;ul&gt;
     &lt;li&gt;Universe。一个Spanner部署实例称之为一个Universe。目前全世界有3个。一个开发，一个测试，一个线上。因为一个Universe就能覆盖全球，不需要多个。&lt;/li&gt;
     &lt;li&gt;Zones. 每个Zone相当于一个数据中心，一个Zone内部物理上必须在一起。而一个数据中心可能有多个Zone。可以在运行时添加移除Zone。一个Zone可以理解为一个BigTable部署实例&lt;/li&gt;
&lt;/ul&gt;
    &lt;p&gt; &lt;/p&gt;
    &lt;p&gt;如图所示。一个Spanner有上面一些组件。实际的组件肯定不止这些，比如TrueTime API Server。如果仅仅知道这些知识，来构建Spanner是远远不够的。但Google都略去了。那笔者就简要介绍一下。&lt;/p&gt;
    &lt;ul&gt;
     &lt;li&gt;Universemaster: 监控这个universe里zone级别的状态信息&lt;/li&gt;
     &lt;li&gt;Placement driver：提供跨区数据迁移时管理功能&lt;/li&gt;
     &lt;li&gt;Zonemaster：相当于BigTable的Master。管理Spanserver上的数据。&lt;/li&gt;
     &lt;li&gt;Location proxy：存储数据的Location信息。客户端要先访问他才知道数据在那个Spanserver上。&lt;/li&gt;
     &lt;li&gt;Spanserver：相当于BigTable的ThunkServer。用于存储数据。&lt;/li&gt;
&lt;/ul&gt;
    &lt;p&gt; &lt;/p&gt;
    &lt;div&gt; 可以看出来这里每个组件都很有料，但是Google的论文里只具体介绍了Spanserver的设计，笔者也只能介绍到这里。下面详细阐述Spanserver的设计。&lt;/div&gt;
    &lt;h6&gt;Spanserver&lt;/h6&gt;
    &lt;p&gt;本章详细介绍Spanserver的设计实现。Spanserver的设计和BigTable非常的相似。参照下图&lt;/p&gt;
    &lt;p&gt; &lt;/p&gt;
    &lt;p&gt;从下往上看。每个数据中心会运行一套Colossus (GFS II) 。每个机器有100-1000个tablet。Tablet概念上将相当于数据库一张表里的一些行，物理上是数据文件。打个比方，一张1000行的表，有10个tablet，第1-100行是一个tablet，第101-200是一个tablet。但和BigTable不同的是BigTable里面的tablet存储的是Key-Value都是string，Spanner存储的Key多了一个时间戳：&lt;/p&gt;
    &lt;p&gt;(Key: string, timestamp: int64) -&amp;gt; string。&lt;/p&gt;
    &lt;p&gt;因此spanner天生就支持多版本，tablet在文件系统中是一个B-tree-like的文件和一个write-ahead日志。&lt;/p&gt;
    &lt;p&gt;每个Tablet上会有一个Paxos状态机。Paxos是一个分布式一致性协议。Table的元数据和log都存储在上面。Paxos会选出一个replica做leader，这个leader的寿命默认是10s,10s后重选。Leader就相当于复制数据的master，其他replica的数据都是从他那里复制的。读请求可以走任意的replica，但是写请求只有去leader。这些replica统称为一个paxos group。&lt;/p&gt;
    &lt;p&gt;每个leader replica的spanserver上会实现一个lock table还管理并发。Lock table记录了两阶段提交需要的锁信息。但是不论是在Spanner还是在BigTable上，但遇到冲突的时候长时间事务会将性能很差。所以有一些操作，如事务读可以走lock table，其他的操作可以绕开lock table。&lt;/p&gt;
    &lt;p&gt;每个leader replica的spanserver上还有一个transaction manager。如果事务在一个paxos group里面，可以绕过transaction manager。但是一旦事务跨多个paxos group，就需要transaction manager来协调。其中一个Transaction manager被选为leader，其他的是slave听他指挥。这样可以保证事务。&lt;/p&gt;
    &lt;h6&gt;Directories and Placement&lt;/h6&gt;
    &lt;p&gt;之所以Spanner比BigTable有更强的扩展性，在于Spanner还有一层抽象的概念directory, directory是一些key-value的集合，一个directory里面的key有一样的前缀。更妥当的叫法是bucketing。Directory是应用控制数据位置的最小单元，可以通过谨慎的选择Key的前缀来控制。据此笔者可以猜出，在设计初期，Spanner是作为F1的存储系统而设立，甚至还设计有类似directory的层次结构，这样的层次有很多好处，但是实现太复杂被摒弃了。&lt;/p&gt;
    &lt;p&gt;Directory作为数据放置的最小单元，可以在paxos group里面移来移去。Spanner移动一个directory一般出于如下几个原因：&lt;/p&gt;
    &lt;ul&gt;
     &lt;li&gt;一个paxos group的负载太大，需要切分&lt;/li&gt;
     &lt;li&gt;将数据移动到access更近的地方&lt;/li&gt;
     &lt;li&gt;将经常同时访问的directory放到一个paxos group里面&lt;/li&gt;
&lt;/ul&gt;
    &lt;p&gt;Directory可以在不影响client的前提下，在后台移动。移动一个50MB的directory大概需要的几秒钟。&lt;/p&gt;
    &lt;p&gt;那么directory和tablet又是什么关系呢。可以理解为Directory是一个抽象的概念，管理数据的单元；而tablet是物理的东西，数据文件。由于一个Paxos group可能会有多个directory，所以spanner的tablet实现和BigTable的tablet实现有些不同。BigTable的tablet是单个顺序文件。Google有个项目，名为Level DB，是BigTable的底层，可以看到其实现细节。而Spanner的tablet可以理解是一些基于行的分区的容器。这样就可以将一些经常同时访问的directory放在一个tablet里面，而不用太在意顺序关系。&lt;/p&gt;
    &lt;p&gt;在paxos group之间移动directory是后台任务。这个操作还被用来移动replicas。移动操作设计的时候不是事务的，因为这样会造成大量的读写block。操作的时候是先将实际数据移动到指定位置，然后再用一个原子的操作更新元数据，完成整个移动过程。&lt;/p&gt;
    &lt;p&gt;Directory还是记录地理位置的最小单元。数据的地理位置是由应用决定的，配置的时候需要指定复制数目和类型，还有地理的位置。比如(上海，复制2份；南京复制1分) 。这样应用就可以根据用户指定终端用户实际情况决定的数据存储位置。比如中国队的数据在亚洲有3份拷贝, 日本队的数据全球都有拷贝。&lt;/p&gt;
    &lt;p&gt;前面对directory还是被简化过的，还有很多无法详述。&lt;/p&gt;
    &lt;h6&gt;数据模型&lt;/h6&gt;
    &lt;p&gt;Spanner的数据模型来自于Google内部的实践。在设计之初，Spanner就决心有以下的特性：&lt;/p&gt;
    &lt;ul&gt;
     &lt;li&gt;支持类似关系数据库的schema&lt;/li&gt;
     &lt;li&gt;Query语句&lt;/li&gt;
     &lt;li&gt;支持广义上的事务&lt;/li&gt;
&lt;/ul&gt;
    &lt;p&gt;为何会这样决定呢？在Google内部还有一个Megastore，尽管要忍受性能不够的折磨，但是在Google有300多个应用在用它，因为Megastore支持一个类似关系数据库的schema，而且支持同步复制 (BigTable只支持最终一致的复制) 。使用Megastore的应用有大名鼎鼎的Gmail, Picasa, Calendar, Android Market和AppEngine。 而必须对Query语句的支持，来自于广受欢迎的Dremel，笔者不久前写了篇文章来介绍他。 最后对事务的支持是比不可少了，BigTable在Google内部被抱怨的最多的就是其只能支持行事务，再大粒度的事务就无能为力了。Spanner的开发者认为，过度使用事务造成的性能下降的恶果，应该由应用的开发者承担。应用开发者在使用事务的时候，必须考虑到性能问题。而数据库必须提供事务机制，而不是因为性能问题，就干脆不提供事务支持。&lt;/p&gt;
    &lt;p&gt;数据模型是建立在directory和key-value模型的抽象之上的。一个应用可以在一个universe中建立一个或多个database，在每个database中建立任意的table。Table看起来就像关系型数据库的表。有行，有列，还有版本。Query语句看起来是多了一些扩展的SQL语句。&lt;/p&gt;
    &lt;p&gt;Spanner的数据模型也不是纯正的关系模型，每一行都必须有一列或多列组件。看起来还是Key-value。主键组成Key,其他的列是Value。但这样的设计对应用也是很有裨益的，应用可以通过主键来定位到某一行。&lt;/p&gt;
    &lt;p&gt; &lt;/p&gt;
    &lt;p&gt;上图是一个例子。对于一个典型的相册应用，需要存储其用户和相册。可以用上面的两个SQL来创建表。Spanner的表是层次化的，最顶层的表是directory table。其他的表创建的时候，可以用 interleave in parent来什么层次关系。这样的结构，在实现的时候，Spanner可以将嵌套的数据放在一起，这样在分区的时候性能会提升很多。否则Spanner无法获知最重要的表之间的关系。&lt;/p&gt;
    &lt;h6&gt;TrueTime&lt;/h6&gt;
    &lt;p&gt; &lt;/p&gt;
    &lt;p&gt;TrueTime API 是一个非常有创意的东西，可以同步全球的时间。上表就是TrueTime API。TT.now()可以获得一个绝对时间TTinterval，这个值和UnixTime是相同的，同时还能够得到一个误差e。TT.after(t)和TT.before(t)是基于TT.now()实现的。&lt;/p&gt;
    &lt;p&gt;那这个TrueTime API实现靠的是GFS和原子钟。之所以要用两种技术来处理，是因为导致这两个技术的失败的原因是不同的。GPS会有一个天线，电波干扰会导致其失灵。原子钟很稳定。当GPS失灵的时候，原子钟仍然能保证在相当长的时间内，不会出现偏差。&lt;/p&gt;
    &lt;p&gt;实际部署的时候。每个数据中心需要部署一些Master机器，其他机器上需要有一个slave进程来从Master同步。有的Master用GPS，有的Master用原子钟。这些Master物理上分布的比较远，怕出现物理上的干扰。比如如果放在一个机架上，机架被人碰倒了，就全宕了。另外原子钟不是并很贵。Master自己还会不断比对，新的时间信息还会和Master自身时钟的比对，会排除掉偏差比较大的，并获得一个保守的结果。最终GPS master提供时间精确度很高，误差接近于0。&lt;/p&gt;
    &lt;p&gt; &lt;/p&gt;
    &lt;p&gt;每个Slave后台进程会每个30秒从若干个Master更新自己的时钟。为了降低误差，使用Marzullo算法。每个slave还会计算出自己的误差。这里的误差包括的通信的延迟，机器的负载。如果不能访问Master，误差就会越走越大，知道重新可以访问。&lt;/p&gt;
    &lt;h5&gt;Google Spanner并发控制&lt;/h5&gt;
    &lt;p&gt;Spanner使用TrueTime来控制并发，实现外部一致性。支持以下几种事务。&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;例如一个读写事务发生在时间t，那么在全世界任何一个地方，指定t快照读都可以读到写入的值。&lt;/p&gt;
    &lt;table&gt;

     &lt;tr&gt;
      &lt;td valign="top"&gt;       &lt;strong&gt;Operation&lt;/strong&gt;&lt;/td&gt;
      &lt;td valign="top"&gt;       &lt;strong&gt;Concurrency Control&lt;/strong&gt;&lt;/td&gt;
      &lt;td valign="top"&gt;       &lt;strong&gt;Replica Required&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
     &lt;tr&gt;
      &lt;td valign="top"&gt;       &lt;strong&gt;Read-Write Transaction&lt;/strong&gt;&lt;/td&gt;
      &lt;td valign="top"&gt;pessimistic&lt;/td&gt;
      &lt;td valign="top"&gt;leader&lt;/td&gt;
&lt;/tr&gt;
     &lt;tr&gt;
      &lt;td valign="top"&gt;       &lt;strong&gt;Read-Only Transaction&lt;/strong&gt;&lt;/td&gt;
      &lt;td valign="top"&gt;lock-free&lt;/td&gt;
      &lt;td valign="top"&gt;leader for timestamp; any for read&lt;/td&gt;
&lt;/tr&gt;
     &lt;tr&gt;
      &lt;td valign="top" width="214"&gt;       &lt;strong&gt;Snapshot Read, client-provided timestamp&lt;/strong&gt;&lt;/td&gt;
      &lt;td valign="top" width="214"&gt;lock-free&lt;/td&gt;
      &lt;td valign="top" width="214"&gt;any&lt;/td&gt;
&lt;/tr&gt;
     &lt;tr&gt;
      &lt;td valign="top" width="214"&gt;       &lt;strong&gt;Snapshot Read, client-provided bound&lt;/strong&gt;&lt;/td&gt;
      &lt;td valign="top" width="214"&gt;lock-free&lt;/td&gt;
      &lt;td valign="top" width="214"&gt;any&lt;/td&gt;
&lt;/tr&gt;

&lt;/table&gt;
    &lt;p&gt;上表是Spanner现在支持的事务。单独的写操作都被实现为读写事务 ； 单独的非快照被实现为只读事务。事务总有失败的时候，如果失败，对于这两种操作会自己重试，无需应用自己实现重试循环。&lt;/p&gt;
    &lt;p&gt;时间戳的设计大大提高了只读事务的性能。事务开始的时候，要声明这个事务里没有写操作，只读事务可不是一个简单的没有写操作的读写事务。它会用一个系统时间戳去读，所以对于同时的其他的写操作是没有Block的。而且只读事务可以在任意一台已经更新过的replica上面读。&lt;/p&gt;
    &lt;p&gt;对于快照读操作，可以读取以前的数据，需要客户端指定一个时间戳或者一个时间范围。Spanner会找到一个已经充分更新好的replica上读取。&lt;/p&gt;
    &lt;p&gt;还有一个有趣的特性的是，对于只读事务，如果执行到一半，该replica出现了错误。客户端没有必要在本地缓存刚刚读过的时间，因为是根据时间戳读取的。只要再用刚刚的时间戳读取，就可以获得一样的结果。&lt;/p&gt;
    &lt;h6&gt;读写事务&lt;/h6&gt;
    &lt;p&gt;正如BigTable一样，Spanner的事务是会将所有的写操作先缓存起来，在Commit的时候一次提交。这样的话，就读不出在同一个事务中写的数据了。不过这没有关系，因为Spanner的数据都是有版本的。&lt;/p&gt;
    &lt;p&gt;在读写事务中使用wound-wait算法来避免死锁。当客户端发起一个读写事务的时候，首先是读操作，他先找到相关数据的leader replica，然后加上读锁，读取最近的数据。在客户端事务存活的时候会不断的向leader发心跳，防止超时。当客户端完成了所有的读操作，并且缓存了所有的写操作，就开始了两阶段提交。客户端闲置一个coordinator group，并给每一个leader发送coordinator的id和缓存的写数据。&lt;/p&gt;
    &lt;p&gt;leader首先会上一个写锁，他要找一个比现有事务晚的时间戳。通过Paxos记录。每一个相关的都要给coordinator发送他自己准备的那个时间戳。&lt;/p&gt;
    &lt;p&gt;Coordinator leader一开始也会上个写锁，当大家发送时间戳给他之后，他就选择一个提交时间戳。这个提交的时间戳，必须比刚刚的所有时间戳晚，而且还要比TT.now()+误差时间 还有晚。这个Coordinator将这个信息记录到Paxos。&lt;/p&gt;
    &lt;p&gt;在让replica写入数据生效之前，coordinator还有再等一会。需要等两倍时间误差。这段时间也刚好让Paxos来同步。因为等待之后，在任意机器上发起的下一个事务的开始时间，都比如不会比这个事务的结束时间早了。然后coordinator将提交时间戳发送给客户端还有其他的replica。他们记录日志，写入生效，释放锁。&lt;/p&gt;
    &lt;h6&gt;只读事务&lt;/h6&gt;
    &lt;p&gt;对于只读事务，Spanner首先要指定一个读事务时间戳。还需要了解在这个读操作中，需要访问的所有的读的Key。Spanner可以自动确定Key的范围。&lt;/p&gt;
    &lt;p&gt;如果Key的范围在一个Paxos group内。客户端可以发起一个只读请求给group leader。leader选一个时间戳，这个时间戳要比上一个事务的结束时间要大。然后读取相应的数据。这个事务可以满足外部一致性，读出的结果是最后一次写的结果，并且不会有不一致的数据。&lt;/p&gt;
    &lt;p&gt;如果Key的范围在多个Paxos group内，就相对复杂一些。其中一个比较复杂的例子是，可以遍历所有的group leaders，寻找最近的事务发生的时间，并读取。客户端只要时间戳在TT.now().latest之后就可以满足要求了。&lt;/p&gt;
    &lt;p&gt;最后的话&lt;/p&gt;
    &lt;p&gt;本文介绍了Google Spanner的背景，设计和并发控制。希望不久的将来，会有开源产品出现。&lt;/p&gt;
    &lt;p&gt; &lt;/p&gt;
    &lt;p&gt;转自：http://www.yankay.com/google-spanner%E5%8E%9F%E7%90%86-%E5%85%A8%E7%90%83%E7%BA%A7%E7%9A%84%E5%88%86%E5%B8%83%E5%BC%8F%E6%95%B0%E6%8D%AE%E5%BA%93/&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
 &lt;p&gt;  &lt;a href="http://www.bshare.cn/share?url=http%3A%2F%2Fblog.fulin.org%2F2012%2F09%2Fgoogle_spanner_intro.html&amp;title=%E8%BD%AC%EF%BC%9AGoogle+Spanner%E7%AE%80%E4%BB%8B" title="&amp;#29992;bShare&amp;#20998;&amp;#20139;&amp;#25110;&amp;#25910;&amp;#34255;&amp;#26412;&amp;#25991;"&gt;   &lt;img alt="&amp;#29992;bShare&amp;#20998;&amp;#20139;&amp;#25110;&amp;#25910;&amp;#34255;&amp;#26412;&amp;#25991;" src="http://static.bshare.cn/frame/images/button_custom1-zh.gif"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div&gt; &lt;a href="https://itindex.net/"  title="IT 资讯"&gt;&lt;img src="https://itindex.net/images/iconWarning.gif" title="IT 资讯" border="0"/&gt; &lt;/a&gt;</description>
      <category>技术资料</category>
      <guid isPermaLink="true">https://itindex.net/detail/39779-google-spanner-%E7%AE%80%E4%BB%8B</guid>
      <pubDate>Wed, 19 Sep 2012 19:17:55 CST</pubDate>
    </item>
    <item>
      <title>HTTPURLConnection中接收流被截断的问题</title>
      <link>https://itindex.net/detail/41235-httpurlconnection-%E6%8E%A5%E6%94%B6-%E9%97%AE%E9%A2%98</link>
      <description>在Java中使用HTTPURLConnection遇到了一个很诡异的问题，接收返回的数据流总是被截断，方法如下： &lt;br /&gt;InputStream output = connection.getInputStream(); &lt;br /&gt;byte[] bytes = new byte[output.available()]; &lt;br /&gt;output.read(bytes); &lt;br /&gt; &lt;br /&gt;在网上也查了很多资料，最后发现是因为数据流的返回是异步的，也就是说不能一次性把包都收完，比如按照如下方法： &lt;br /&gt; &lt;br /&gt;ByteArrayOutputStream buffer = new ByteArrayOutputStream(); &lt;br /&gt;int c; &lt;br /&gt;while((c = output.read()) &amp;amp;gt;= 0){ &lt;br /&gt;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;buffer.write(c); &lt;br /&gt;} &lt;br /&gt;buffer.close(); &lt;br /&gt;byte[] bytes = buffer.toByteArray(); &lt;br /&gt; &lt;br /&gt;当然有时候也要处理GZIP解压问题，代码如下： &lt;br /&gt; &lt;br /&gt;GZIPInputStream gstream = new GZIPInputStream(output); &lt;br /&gt;ByteArrayOutputStream buffer = new ByteArrayOutputStream(); &lt;br /&gt;int c; &lt;br /&gt;while((c = gstream.read()) &amp;amp;gt;= 0){ &lt;br /&gt;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;buffer.write(c); &lt;br /&gt;} &lt;br /&gt;buffer.close(); &lt;br /&gt;bytes = buffer.toByteArray();&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>Java资料</category>
      <guid isPermaLink="true">https://itindex.net/detail/41235-httpurlconnection-%E6%8E%A5%E6%94%B6-%E9%97%AE%E9%A2%98</guid>
      <pubDate>Wed, 19 Dec 2012 08:00:00 CST</pubDate>
    </item>
    <item>
      <title>10个视觉冲击强烈的JavaScript特效网站案例</title>
      <link>https://itindex.net/detail/39650-%E8%A7%86%E8%A7%89-%E5%86%B2%E5%87%BB-javascript</link>
      <description>&lt;p&gt;关于 HTML5 和  Flash 之间的战争，网上讨论的文章很多很多，尽管 HTML5还有很长的路要走，但 Flash 正在走下坡路是不争的事实。以前效果精美的 Flash 网站非常流行，如今已经很少见到了。借助 JavaScript ，使用纯HTML/CSS就可以实现媲美 Flash 的精美网站。&lt;/p&gt;
 &lt;h3&gt;  &lt;a href="http://www.blacknegative.com/#!/whoweare/" target="_blank"&gt;Black Negative&lt;/a&gt;&lt;/h3&gt;
 &lt;p&gt;太炫了！动态的全屏背景，像电影画面一样，还有好玩的水平拖动导航。&lt;/p&gt;
 &lt;p&gt;  &lt;img alt="" height="409" src="http://alibuybuy-img11.stor.sinaapp.com/2012/09/db10_Black-Negative.jpg" title="10-impressive-javascript-powered-websites_black-negative" width="720"&gt;&lt;/img&gt;&lt;/p&gt;
 &lt;h3&gt;  &lt;a href="http://www.lena-sanz.com/" target="_blank"&gt;Lena Sanz&lt;/a&gt;&lt;/h3&gt;
 &lt;p&gt;带给你强烈视觉冲击的摄影师网站，有一个巨大的的响应式图片滑块。&lt;/p&gt;
 &lt;p&gt;  &lt;img alt="" height="450" src="http://alibuybuy-img11.stor.sinaapp.com/2012/09/34da_Lena-Sanz.jpg" title="10-impressive-javascript-powered-websites_lena-sanz" width="720"&gt;&lt;/img&gt;&lt;/p&gt;
 &lt;h3&gt;  &lt;a href="http://au.skullcandy.com/supremesoundjourney/" target="_blank"&gt;Skull Candy&lt;/a&gt;&lt;/h3&gt;
 &lt;p&gt;应用了多种类型的视差滚动效果，太不可思议了，赶快滑动滚动条试试吧。&lt;/p&gt;
 &lt;p&gt;  &lt;img alt="" height="476" src="http://alibuybuy-img11.stor.sinaapp.com/2012/09/f67f_Skull-Candy.jpg" title="10-impressive-javascript-powered-websites_skull-candy" width="720"&gt;&lt;/img&gt;&lt;/p&gt;
 &lt;h3&gt;  &lt;a href="http://www.matteozanga.it/" target="_blank"&gt;Matte Ozanga&lt;/a&gt;&lt;/h3&gt;
 &lt;p&gt;另外一个运用鼠标拖动的创意网站，在着陆页（landing page）提供了两种欢迎用户的选项。&lt;/p&gt;
 &lt;p&gt;  &lt;img alt="" height="488" src="http://alibuybuy-img11.stor.sinaapp.com/2012/09/4879_Matte-Ozanga.jpg" title="10-impressive-javascript-powered-websites_matte-ozanga" width="720"&gt;&lt;/img&gt;&lt;/p&gt;
 &lt;h3&gt;  &lt;a href="http://space.angrybirds.com/launch/" target="_blank"&gt;Angrybird Space&lt;/a&gt;&lt;/h3&gt;
 &lt;p&gt;这是愤怒的小鸟太空版官方网站，运用了奇特的视差滚动效果，在页面滚动的时候沿着预定的路径滚动。&lt;/p&gt;
 &lt;p&gt;  &lt;img alt="" height="390" src="http://alibuybuy-img11.stor.sinaapp.com/2012/09/1f2a_Angrybird-Space.jpg" title="10-impressive-javascript-powered-websites_angrybird-space" width="720"&gt;&lt;/img&gt;&lt;/p&gt;
 &lt;h3&gt;  &lt;a href="http://olivierstaub.com/" target="_blank"&gt;Olivers Taub&lt;/a&gt;&lt;/h3&gt;
 &lt;p&gt;这个网站看起来很像典型的 Flash 网站，使用方框作为简洁而又优雅的解决方案。&lt;/p&gt;
 &lt;p&gt;  &lt;img alt="" height="397" src="http://alibuybuy-img11.stor.sinaapp.com/2012/09/15df_Olivers-Taub.jpg" title="10-impressive-javascript-powered-websites_olivers-taub" width="720"&gt;&lt;/img&gt;&lt;/p&gt;
 &lt;h3&gt;  &lt;a href="http://www.jointlondon.com/" target="_blank"&gt;Joint London&lt;/a&gt;&lt;/h3&gt;
 &lt;p&gt;极简设计风格的网站，导航制作得非常特别，整个看起来就像 Flash 制作的。&lt;/p&gt;
 &lt;p&gt;  &lt;img alt="" height="381" src="http://alibuybuy-img11.stor.sinaapp.com/2012/09/510f_oint-London.jpg" title="10-impressive-javascript-powered-websites_joint-london" width="720"&gt;&lt;/img&gt;&lt;/p&gt;
 &lt;h3&gt;  &lt;a href="http://naturevalleytrailview.com/" target="_blank"&gt;Nature Valley Trail View&lt;/a&gt;&lt;/h3&gt;
 &lt;p&gt;制作精美的全屏传送带，页面按钮制作得非常有质感。&lt;/p&gt;
 &lt;p&gt;  &lt;img alt="" height="335" src="http://alibuybuy-img11.stor.sinaapp.com/2012/09/3a5a_Nature-Valley-Trail-View.jpg" title="10-impressive-javascript-powered-websites_nature-valley-trail-view" width="720"&gt;&lt;/img&gt;&lt;/p&gt;
 &lt;h3&gt;  &lt;a href="http://www.artech-agencement.com/" target="_blank"&gt;Artech Agencement&lt;/a&gt;&lt;/h3&gt;
 &lt;p&gt;从进入页面的加载到后面的魔方导航效果以及精致的滚动条效果都让人觉得特别炫。&lt;/p&gt;
 &lt;p&gt;  &lt;img alt="" height="439" src="http://alibuybuy-img11.stor.sinaapp.com/2012/09/0c29_Artech-Agencement.jpg" title="10-impressive-javascript-powered-websites_artech-agencement" width="720"&gt;&lt;/img&gt;&lt;/p&gt;
 &lt;h3&gt;  &lt;a href="http://50problems50days.com/" target="_blank"&gt;50 Problems in 50 Days&lt;/a&gt;&lt;/h3&gt;
 &lt;p&gt;设计精美的界面，平滑的拖动，各种很酷的效果都让人觉得像非常赞！&lt;/p&gt;
 &lt;p&gt;  &lt;img alt="" height="446" src="http://alibuybuy-img11.stor.sinaapp.com/2012/09/fba8_50-Problems-in-50-Days.jpg" title="10-impressive-javascript-powered-websites_50-problems-in-50-days" width="720"&gt;&lt;/img&gt;&lt;/p&gt;
 &lt;p&gt; &lt;/p&gt;
 &lt;div&gt;
  &lt;div&gt;&lt;/div&gt;
&lt;/div&gt;
 &lt;h5&gt;来源：  &lt;a href="http://www.cnblogs.com/lhb25/archive/2012/08/27/8-impressive-javascript-powered-websites.html" target="_blank"&gt;梦想天空   &lt;br /&gt;
&lt;/a&gt;(转载请注明来自：  &lt;a href="http://www.damndigital.com/" target="_blank"&gt;DamnDigital&lt;/a&gt;)&lt;/h5&gt;
 &lt;p&gt; &lt;/p&gt;
 &lt;hr&gt;&lt;/hr&gt;
 &lt;p&gt;  &lt;small&gt;© 推荐 for    &lt;a href="http://www.alibuybuy.com"&gt;互联网的那点事&lt;/a&gt;, 2012. |
   &lt;a href="http://www.alibuybuy.com/posts/76446.html"&gt;Permalink&lt;/a&gt; |
   &lt;a href="http://www.alibuybuy.com/posts/76446.html#comments"&gt;No comment&lt;/a&gt; |
Add to
   &lt;a href="http://del.icio.us/post?url=http://www.alibuybuy.com/posts/76446.html&amp;title=10&amp;#20010;&amp;#35270;&amp;#35273;&amp;#20914;&amp;#20987;&amp;#24378;&amp;#28872;&amp;#30340;JavaScript&amp;#29305;&amp;#25928;&amp;#32593;&amp;#31449;&amp;#26696;&amp;#20363;"&gt;del.icio.us&lt;/a&gt;
   &lt;br /&gt;
Post tags:    &lt;br /&gt;
&lt;/small&gt;&lt;/p&gt;


 &lt;table border="0" cellpadding="3" cellspacing="0"&gt;
    
      &lt;tr&gt;
           &lt;td colspan="5"&gt;    &lt;strong&gt;你可能也喜欢：&lt;/strong&gt;&lt;/td&gt;
    &lt;/tr&gt;
    
          &lt;tr&gt;
                   &lt;td valign="top" width="102"&gt;
                        &lt;a href="http://app.wumii.com/ext/redirect?url=http%3A%2F%2Fwww.socialbeta.cn%2Farticles%2Fikea-catalogue-space-rent.html&amp;from=http%3A%2F%2Fwww.alibuybuy.com%2Fposts%2F76446.html" target="_blank" title="&amp;#12304;&amp;#26696;&amp;#20363;&amp;#12305;&amp;#28595;&amp;#22823;&amp;#21033;&amp;#20122;&amp;#23452;&amp;#23478;&amp;#33829;&amp;#38144;&amp;#21019;&amp;#24847;&amp;#65306;&amp;#30446;&amp;#24405;&amp;#24453;&amp;#22312;&amp;#20320;&amp;#23478;&amp;#65292;&amp;#23452;&amp;#23478;&amp;#20184;&amp;#8220;&amp;#25151;&amp;#31199;&amp;#8221;"&gt;
                             &lt;img height="96px" src="http://static.wumii.cn/site_images/2012/09/06/46816152.jpg" width="96px"&gt;&lt;/img&gt;     &lt;br /&gt;
                        【案例】澳大利亚宜家营销创意：目录待在你家，宜家付“房租” (@socialbeta)
                    &lt;/a&gt;
                &lt;/td&gt;
                   &lt;td valign="top" width="102"&gt;
                        &lt;a href="http://app.wumii.com/ext/redirect?url=http%3A%2F%2Fwww.iplaysoft.com%2Fcodetank.html&amp;from=http%3A%2F%2Fwww.alibuybuy.com%2Fposts%2F76446.html" target="_blank" title="CodeTank &amp;#20195;&amp;#30721;&amp;#22374;&amp;#20811; - &amp;#33150;&amp;#35759;&amp;#25512;&amp;#20986;&amp;#26377;&amp;#36259;&amp;#30340;&amp;#32534;&amp;#31243;&amp;#23545;&amp;#25112;&amp;#28216;&amp;#25103;&amp;#65292;&amp;#29992;&amp;#28216;&amp;#25103;&amp;#26469;&amp;#23398;&amp;#20064; Javascript &amp;#24320;&amp;#21457;&amp;#35821;&amp;#35328;"&gt;
                             &lt;img height="96px" src="http://static.wumii.cn/site_images/2012/08/30/45457394.jpg" width="96px"&gt;&lt;/img&gt;     &lt;br /&gt;
                        CodeTank 代码坦克 - 腾讯推出有趣的编程对战游戏，用游戏来学习 Javascript 开发语言 (@iplaysoft)
                    &lt;/a&gt;
                &lt;/td&gt;
                   &lt;td valign="top" width="102"&gt;
                        &lt;a href="http://app.wumii.com/ext/redirect?url=http%3A%2F%2Fwww.alibuybuy.com%2F39.html&amp;from=http%3A%2F%2Fwww.alibuybuy.com%2Fposts%2F76446.html" target="_blank" title="&amp;#26696;&amp;#20363;&amp;#20998;&amp;#26512;&amp;#65306;&amp;#26085;&amp;#26412;&amp;#22836;&amp;#21495;&amp;#31038;&amp;#20132;&amp;#32593;&amp;#31449;Mixi&amp;#25104;&amp;#21151;&amp;#32463;&amp;#39564;"&gt;
                             &lt;img height="96px" src="http://static.wumii.cn/site_images/2012/06/16/31109347.jpg" width="96px"&gt;&lt;/img&gt;     &lt;br /&gt;
                        案例分析：日本头号社交网站Mixi成功经验
                    &lt;/a&gt;
                &lt;/td&gt;
                   &lt;td valign="top" width="102"&gt;
                        &lt;a href="http://app.wumii.com/ext/redirect?url=http%3A%2F%2Fwww.alibuybuy.com%2Fposts%2F15208.html&amp;from=http%3A%2F%2Fwww.alibuybuy.com%2Fposts%2F76446.html" target="_blank" title="&amp;#32593;&amp;#31449;&amp;#20998;&amp;#26512;&amp;#65306;JavaScript&amp;#21644;Cookie&amp;#23545;GA&amp;#30340;&amp;#24433;&amp;#21709;&amp;#26377;&amp;#22810;&amp;#22823;&amp;#65311;"&gt;
                             &lt;img height="96px" src="http://static.wumii.cn/site_images/2012/06/14/30913081.gif" width="96px"&gt;&lt;/img&gt;     &lt;br /&gt;
                        网站分析：JavaScript和Cookie对GA的影响有多大？
                    &lt;/a&gt;
                &lt;/td&gt;
                   &lt;td valign="top" width="102"&gt;
                        &lt;a href="http://app.wumii.com/ext/redirect?url=http%3A%2F%2Fwww.alibuybuy.com%2Fposts%2F24795.html&amp;from=http%3A%2F%2Fwww.alibuybuy.com%2Fposts%2F76446.html" target="_blank" title="&amp;#35270;&amp;#35273;&amp;#22823;&amp;#21516;&amp;#8212;Visual similarity"&gt;
                             &lt;img height="96px" src="http://static.wumii.cn/site_images/2012/06/15/31030144.jpg" width="96px"&gt;&lt;/img&gt;     &lt;br /&gt;
                        视觉大同—Visual similarity
                    &lt;/a&gt;
                &lt;/td&gt;
        &lt;/tr&gt;
    
      &lt;tr&gt;
           &lt;td align="right" colspan="5"&gt;
                &lt;a href="http://www.wumii.com/widget/relatedItems" target="_blank" title="&amp;#26080;&amp;#35269;&amp;#30456;&amp;#20851;&amp;#25991;&amp;#31456;&amp;#25554;&amp;#20214;"&gt;
                无觅
            &lt;/a&gt;
        &lt;/td&gt;
    &lt;/tr&gt;
&lt;/table&gt;
 &lt;p&gt;  &lt;small&gt;Feed enhanced by    &lt;a href="http://planetozh.com/blog/my-projects/wordpress-plugin-better-feed-rss/"&gt;Better Feed&lt;/a&gt; from     &lt;a href="http://planetozh.com/blog/"&gt;Ozh&lt;/a&gt;&lt;/small&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/39650-%E8%A7%86%E8%A7%89-%E5%86%B2%E5%87%BB-javascript</guid>
      <pubDate>Tue, 11 Sep 2012 23:07:26 CST</pubDate>
    </item>
    <item>
      <title>转：一些不常见但是很重要的数据结构</title>
      <link>https://itindex.net/detail/40648-%E5%B8%B8%E8%A7%81-%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84</link>
      <description>&lt;p&gt;这篇文章是stackoverflow的一篇  &lt;a href="http://stackoverflow.com/questions/500607/what-are-the-lesser-known-but-useful-data-structures?page=1&amp;tab=votes#tab-top" target="_blank"&gt;帖子&lt;/a&gt;。上面提到了很多有用的数据结构。有的听过了，经常用，有的没有听过，记录下来。&lt;/p&gt;
 &lt;ol&gt;
  &lt;li&gt;Trie树。应用比较多，一个比较cool的trie的应用   &lt;a href="http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.96.2143" target="_blank"&gt;TRASH-A dynamic LC-trie and hash data structure。&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;Bloom filter。   &lt;a href="http://en.wikipedia.org/wiki/Bloom_filter" target="_blank"&gt;wiki链接&lt;/a&gt; 删除某一项是不允许的，不过可以实现可计数的counting bloom filter&lt;/li&gt;
  &lt;ul&gt;
   &lt;li&gt;在BigTable，Cassandra中都有使用&lt;/li&gt;
   &lt;li&gt;可以用来快速检查是否拼写错误&lt;/li&gt;
&lt;/ul&gt;
  &lt;li&gt;   &lt;a href="http://en.wikipedia.org/wiki/Rope_%28data_structure%29" target="_blank"&gt;Rope&lt;/a&gt;：rope 数据结构表示不能修改的字符序列，与 Java 的 String非常像。但是 ropes 效率奇高的字符串变换操作使得它与 String及其同一体系的可修改的 StringBuffer和 StringBuilder大不相同，非常适合那些执行繁重字符串操纵的应用程序，尤其在多线程环境下更是如此。   &lt;a href="http://www.ibm.com/developerworks/cn/java/j-ropes/" target="_blank"&gt;ibm文章&lt;/a&gt; 包含java实现。&lt;/li&gt;
  &lt;ul&gt;
   &lt;li&gt;stl实现：http://www.sgi.com/tech/stl/Rope.html&lt;/li&gt;
&lt;/ul&gt;
  &lt;li&gt;   &lt;a href="http://en.wikipedia.org/wiki/Skip_list" target="_blank"&gt; skip list&lt;/a&gt;：这里有一个演示：   &lt;a href="http://iamwww.unibe.ch/~wenger/DA/SkipList/"&gt;http://iamwww.unibe.ch/~wenger/DA/SkipList/&lt;/a&gt;&lt;/li&gt;
  &lt;ul&gt;
   &lt;li&gt;Cassandra的索引&lt;/li&gt;
   &lt;li&gt;redis的SortedSet&lt;/li&gt;
&lt;/ul&gt;
  &lt;li&gt;   &lt;a href="http://en.wikipedia.org/wiki/Spatial_index" target="_blank"&gt;Spatial Indices&lt;/a&gt;：尤其是   &lt;a href="http://en.wikipedia.org/wiki/R-tree" target="_blank"&gt;R-trees&lt;/a&gt;和   &lt;a href="http://en.wikipedia.org/wiki/Kd-tree" target="_blank"&gt;KD-trees&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;   &lt;a href="http://en.wikipedia.org/wiki/Bit_array" target="_blank"&gt;Bit Array&lt;/a&gt;：压缩存储bit，支持快速的bit操作。&lt;/li&gt;
  &lt;li&gt;   &lt;a href="http://www.haskell.org/haskellwiki/Zipper" target="_blank"&gt;Zippers&lt;/a&gt;： 在函数式编程中非常有用。&lt;/li&gt;
  &lt;li&gt;   &lt;a href="http://en.wikipedia.org/wiki/Suffix_trie#Functionality" target="_blank"&gt;Suffix tries&lt;/a&gt;: 字符串搜索非常有用。更酷的是suffix tree，可以O(n)的时间构建&lt;/li&gt;
  &lt;li&gt;Splay trees：非常酷的结构&lt;/li&gt;
  &lt;ol&gt;
   &lt;li&gt;非常小巧，仅需要类似二叉树的左右孩子指针&lt;/li&gt;
   &lt;li&gt;相对容易实现&lt;/li&gt;
   &lt;li&gt;性能良好，    &lt;a href="http://en.wikipedia.org/wiki/Splay_tree#Performance_theorems" target="_blank"&gt;wiki地址&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
  &lt;li&gt;Heap-ordered search trees&lt;/li&gt;
  &lt;li&gt;邻接表：O(1)计算无向图的邻居节点&lt;/li&gt;
  &lt;li&gt;lock-free：&lt;/li&gt;
  &lt;ul&gt;
   &lt;li&gt;    &lt;a href="http://www.research.ibm.com/people/m/michael/podc-1996.pdf" rel="nofollow"&gt;http://www.research.ibm.com/people/m/michael/podc-1996.pdf&lt;/a&gt;&lt;/li&gt;
   &lt;li&gt;    &lt;a href="http://www.cl.cam.ac.uk/research/srg/netos/lock-free/" rel="nofollow"&gt;http://www.cl.cam.ac.uk/research/srg/netos/lock-free/&lt;/a&gt;&lt;/li&gt;
   &lt;li&gt;    &lt;a href="http://www.boyet.com/Articles/LockfreeStack.html" rel="nofollow"&gt;http://www.boyet.com/Articles/LockfreeStack.html&lt;/a&gt;&lt;/li&gt;
   &lt;li&gt;http://stackoverflow.com/questions/2101789/implementation-of-a-work-stealing-queue-in-c-c&lt;/li&gt;
   &lt;li&gt;一个非常好的这方面的博客：    &lt;a href="http://cellperformance.beyond3d.com/articles/index.html" target="_blank"&gt;Mike Acton‘s&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
  &lt;li&gt;并查集&lt;/li&gt;
  &lt;li&gt;fibonacci堆&lt;/li&gt;
  &lt;li&gt; BSP Trees：应用在3D渲染领域&lt;/li&gt;
  &lt;li&gt;霍夫曼树：压缩&lt;/li&gt;
  &lt;li&gt;Finger Trees：在函数式结构中使用，   &lt;a href="http://en.wikipedia.org/wiki/Finger_trees" target="_blank"&gt;wiki地址&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;Ring buffer&lt;/li&gt;
  &lt;li&gt;Merkle trees&lt;/li&gt;
  &lt;li&gt;   &lt;a href="http://en.wikipedia.org/wiki/Cuckoo_hashing" target="_blank"&gt;Cukoo Hashing&lt;/a&gt; ：用来提升hash方法的空间利用，基本思想是利用多个hash函数，降低冲突。&lt;/li&gt;
  &lt;li&gt;   &lt;a href="http://cg.scs.carleton.ca/~morin/teaching/5408/refs/minmax.pdf" target="_blank"&gt;min-max heap&lt;/a&gt;：&lt;/li&gt;
  &lt;li&gt;缓存参数无关数据结构：   &lt;a href="http://blogs.msdn.com/b/devdev/archive/2007/06/12/cache-oblivious-data-structures.aspx" rel="nofollow"&gt;Cache Oblivious datastructures&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt; Left learning Red-Back Trees：    &lt;a href="http://www.cs.princeton.edu/~rs/talks/LLRB/LLRB.pdf" target="_blank"&gt;论文&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;   &lt;a href="http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.48.973" rel="nofollow"&gt;Bootstrapped skew-binomial heaps&lt;/a&gt;：&lt;/li&gt;
  &lt;ul&gt;
   &lt;li&gt; O(1) size, union, insert, minimum&lt;/li&gt;
   &lt;li&gt;O(logn) deleteMin&lt;/li&gt;
&lt;/ul&gt;
  &lt;li&gt;   &lt;a href="http://en.wikipedia.org/wiki/Interval_tree" rel="nofollow"&gt;Interval Trees&lt;/a&gt;: 在Cassandra中有应用&lt;/li&gt;
&lt;/ol&gt;
 &lt;p&gt; &lt;/p&gt;
 &lt;p&gt;转自：https://singmind.sinaapp.com/?p=548&lt;/p&gt;
 &lt;p&gt;  &lt;a href="http://www.bshare.cn/share?url=http%3A%2F%2Fblog.fulin.org%2F2012%2F08%2Fless_known_useful_data_structures.html&amp;title=%E8%BD%AC%EF%BC%9A%E4%B8%80%E4%BA%9B%E4%B8%8D%E5%B8%B8%E8%A7%81%E4%BD%86%E6%98%AF%E5%BE%88%E9%87%8D%E8%A6%81%E7%9A%84%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84" title="&amp;#29992;bShare&amp;#20998;&amp;#20139;&amp;#25110;&amp;#25910;&amp;#34255;&amp;#26412;&amp;#25991;"&gt;   &lt;img alt="&amp;#29992;bShare&amp;#20998;&amp;#20139;&amp;#25110;&amp;#25910;&amp;#34255;&amp;#26412;&amp;#25991;" src="http://static.bshare.cn/frame/images/button_custom1-zh.gif"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div&gt; &lt;a href="https://itindex.net/"  title="IT 资讯"&gt;&lt;img src="https://itindex.net/images/iconWarning.gif" title="IT 资讯" border="0"/&gt; &lt;/a&gt;</description>
      <category>技术资料</category>
      <guid isPermaLink="true">https://itindex.net/detail/40648-%E5%B8%B8%E8%A7%81-%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84</guid>
      <pubDate>Sun, 19 Aug 2012 10:18:01 CST</pubDate>
    </item>
    <item>
      <title>谈谈创业公司的技术选型－－朴素的技术观</title>
      <link>https://itindex.net/detail/40948-%E5%88%9B%E4%B8%9A%E5%85%AC%E5%8F%B8-%E6%8A%80%E6%9C%AF-%E6%8A%80%E6%9C%AF</link>
      <description>&lt;a href="http://www.54chen.com"&gt;  &lt;img border="0" src="http://www.54chen.com/wp-content/themes/54chen2011/images/54chen-logo.gif"&gt;&lt;/img&gt;&lt;/a&gt; &lt;br /&gt;以下内容由 &lt;a href="http://www.54chen.com"&gt;[五四陈科学院]&lt;/a&gt;提供 &lt;br /&gt; &lt;p&gt;  &lt;img alt="&amp;#21019;&amp;#19994;&amp;#20844;&amp;#21496;&amp;#25216;&amp;#26415;&amp;#36873;&amp;#22411;" src="http://img03.taobaocdn.com/imgextra/i3/T13gR3Xa4cXXcFX9c3_050845.jpg"&gt;&lt;/img&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;创业公司的定义&lt;/strong&gt;  &lt;br /&gt;
把服务器数量在千台以内（如果存在服务端），或者业务没有爆发过或者是长时间没有爆发过的公司，叫做创业公司。&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;朴素技术观的定义&lt;/strong&gt;  &lt;br /&gt;
有很多看上去很美好的技术，背后都有很多对应的很残酷的事实，在一个创业公司许多选择给你，你可以使用当前最炫的技术，也可以使用团队最擅长的技术。朴素世界观，是指所有选择使用团队最擅长技术的一种观念。&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;语言&lt;/strong&gt;  &lt;br /&gt;
语言之争是最没品了，这里不争哪种语言好哪种语言坏。  &lt;br /&gt;
这里有一个办法来选择语言：所有团队成员的简历中，出现最多的一种语言为标准。  &lt;br /&gt;
例外情况：团队成员中有一位大拿，是某门语言的泰斗，不说在国际上，在国内也要有领头羊的成绩。印象中在创业中大量使用GO语言的许式伟大侠是例外中最典型的一个，不过看看人家的成绩，已经把GO摸的一清二楚了。&lt;/p&gt;
 &lt;p&gt;反例：太多。&lt;/p&gt;
 &lt;p&gt;以下条件满足可开启反例模式：  &lt;br /&gt;
1.至少一人完全理解整个语言的语法  &lt;br /&gt;
2.至少一人完全理解语言精髓  &lt;br /&gt;
3.至少一人完全掌握此语言常见debug工具  &lt;br /&gt;
4.至少一人在一个规模较小应用成功使用&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;存储&lt;/strong&gt;  &lt;br /&gt;
这里主要讲服务器的存储。  &lt;br /&gt;
如何选择：mysql+memcached至少在twitter、renren.com、taobao、qq、sina、baidu......等公司大量使用，如果你团队成员一个都不是来自这些公司，那大胆地用吧，用死也用不出什么毛病来。当然了，十分需要在业务爆发时找到一位可靠的mysql dba，这里要提一下人人网的创始员工DBA刘启荣大侠，引用一句前老板的话：×××无出启荣之右也。  &lt;br /&gt;
反例：此处省去创业团队名字，有史可考。当年KV十分火爆，某兄弟对cassandra十分感冒，于是在整个系统初期设计时全部使用了这玩意。后来，开始市场宣传的时候，这玩意儿就是不行了，一行人接连多夜赶制回mysql。&lt;/p&gt;
 &lt;p&gt;以下条件满足可开启反例模式：  &lt;br /&gt;
1.使用cassandra要理解全篇dynamo文档所写，完全掌握RWN，完全熟知虚拟分区作用，清晰知道cassandra在分区上偷工减料所带来的影响。  &lt;br /&gt;
2.团队成员里有一个人完全理解了这个要使用的东西的源代码。这里要提一下张宴大侠，他长年研究tt代码，在使用上已经很有一手，所以有他在的地方，用tt完全没有问题。如果国内有一个人冒出来说自己对cassandra代码长年研究，我一定不相信，因为这些项目代码行数已经超过一个人快速理解的能力，当你看完的时候，新的版本又出来了。  &lt;br /&gt;
3.很多单独的解决方案，因为代码量不大，完全可以从零开始花人力搞定它，像redis，在新浪被用得很多，到了你的创业公司，不一定可以搞定，因为什么呢，你需要一个完整的人先摸透它的习性。摸透了习性的小项目，完全可以先在小项目上使用。&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;框架与分工&lt;/strong&gt;  &lt;br /&gt;
框架的作用在于更加利于分工。  &lt;br /&gt;
以服务端为例，java如果你选择了人人网切切王开源的rose框架的话，spring的好处一应俱全，而且因为其天生的restful的好处，最小粒度可以以api为分工。这样，在一个团队内部，任何人完全可以修改任何人的代码，因为是使用同一个框架，同一种思路，写出来的代码不会是完全两样的。php如果你选择的ZF之类的，以controller为单位的MVC模型一下子就定义了你的项目，同样也可以做到成员随意维护任意模块。&lt;/p&gt;
 &lt;p&gt;如何选择：框架的选择只看历史。如果历史上有框架可选，那一定是选择验证过的。如果没有，那尽可能地花时间提炼框架。  &lt;br /&gt;
反例：框架似乎人类写代码的常规总结行为，即便再烂的项目，在局部去看也一定会有一些框架性的代码存在。反例要说说discuz1.0以前的代码，感觉完全是应届生所为，想到哪里写到哪里，和放牛一样，维护基本上不可能。&lt;/p&gt;
 &lt;p&gt;以下条件满足可开启反例模式：  &lt;br /&gt;
1.android等客户端开发暂时还没有特别好的框架性的东西，不过android本身就是一个大框架，业务代码的框架需要自己提炼。  &lt;br /&gt;
2.非常非常小的项目，瞬间写完要上线。  &lt;br /&gt;
3.项目只用一次。  &lt;br /&gt;
4.救火。&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;大项目与小项目&lt;/strong&gt;  &lt;br /&gt;
反例：从超级大公司出来的工程师，特别是企业开发的同学，特别喜欢一个超级大的项目，把所有的功能都包括在里面。所有人一起，天天折腾这个trunk，动不动的我踩着你的脚了，你压着我的手了。  &lt;br /&gt;
正例：换到互联网模式，所有项目能拆则拆，越扁平越好，每个部分有一个指定的master，主要负责此项目的稳定。这实际在开源界早就这样干了。实际操作中，只要能够找到一个合适的master，就可以拆。&lt;/p&gt;
 &lt;p&gt;没有任何条件可以开启反例模式。&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;流程与管理&lt;/strong&gt;  &lt;br /&gt;
这个标题太大，分小来说。主要包括代码版本管理、依赖管理、代码制度、项目发布流程。这里没有反例，只讲经验。&lt;/p&gt;
 &lt;p&gt;版本管理：目前大多数人还在使用svn，但是git真的非常非常好用。pro git book只需要一个晚上的仔细阅读，就一定可以学会。实际学习成本很低了，一个创业团队，这点学习能力都没有的人，赶紧离开你的团队吧。  &lt;br /&gt;
依赖管理：java大多已经使用maven，老早的ant带一堆jar包的形式已经落后了，赶紧换。php的依赖管理一直都很弱，不过有人参考ruby搞了一个composer，可以试试，也许可以帮助改进。  &lt;br /&gt;
代码制度：什么样的代码才可以checkin/merge master？一般的标准为：跑过所有的unit test、master维护者或者团队成员review通过。  &lt;br /&gt;
项目发布流程：项目立项到项目上线，划分N个小阶段，实施scrum或者变体的scrum，但是一个原则就是任何一个阶段的不确定，都会在后面的阶段里放大，小步快跑才是正确的节奏，有时候宁愿不要一些功能，也一定要先发出来。&lt;/p&gt;
 &lt;br /&gt; &lt;br /&gt;想快点找到作者也可以到Twitter上留言:  &lt;a href="https://www.twitter.com/54chen" target="_blank"&gt;@54chen&lt;/a&gt; &lt;br /&gt;或者你懒得带梯子上墙，请到新浪微博： &lt;a href="http://t.sina.com.cn/54chen" target="_blank"&gt;@54chen&lt;/a&gt;&lt;div&gt; &lt;a href="https://itindex.net/"  title="IT 资讯"&gt;&lt;img src="https://itindex.net/images/iconWarning.gif" title="IT 资讯" border="0"/&gt; &lt;/a&gt;</description>
      <category>资料文档 startup</category>
      <guid isPermaLink="true">https://itindex.net/detail/40948-%E5%88%9B%E4%B8%9A%E5%85%AC%E5%8F%B8-%E6%8A%80%E6%9C%AF-%E6%8A%80%E6%9C%AF</guid>
      <pubDate>Tue, 04 Dec 2012 09:07:20 CST</pubDate>
    </item>
    <item>
      <title>美国用户日均应用程序使用时间达127分钟 电视为168分钟</title>
      <link>https://itindex.net/detail/41962-%E7%BE%8E%E5%9B%BD-%E7%94%A8%E6%88%B7-%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F</link>
      <description>&lt;p&gt;据venturebeat报道，移动分析公司  &lt;a href="http://www.199it.com/archives/tag/flurry" target="_blank" title="&amp;#26597;&amp;#30475; Flurry &amp;#20013;&amp;#30340;&amp;#20840;&amp;#37096;&amp;#25991;&amp;#31456;"&gt;Flurry&lt;/a&gt;首席执行官Simon Khalaf在最近的  &lt;a href="http://www.199it.com/archives/tag/flurry" target="_blank" title="&amp;#26597;&amp;#30475; Flurry &amp;#20013;&amp;#30340;&amp;#20840;&amp;#37096;&amp;#25991;&amp;#31456;"&gt;Flurry&lt;/a&gt; Source 13大会上发言表示，美国目前的iOS和  &lt;a href="http://www.199it.com/archives/tag/android" target="_blank" title="Google Android,Android&amp;#25163;&amp;#26426;&amp;#31995;&amp;#32479;"&gt;Android&lt;/a&gt;用户已达1.81亿，中国则是1.67亿，英国为3500万，日本为2800万。虽然美国iOS和  &lt;a href="http://www.199it.com/archives/tag/android" target="_blank" title="Google Android,Android&amp;#25163;&amp;#26426;&amp;#31995;&amp;#32479;"&gt;Android&lt;/a&gt;  &lt;a href="http://www.199it.com/archives/tag/%e8%ae%be%e5%a4%87%e6%bf%80%e6%b4%bb%e9%87%8f" target="_blank" title="&amp;#26597;&amp;#30475; &amp;#35774;&amp;#22791;&amp;#28608;&amp;#27963;&amp;#37327; &amp;#20013;&amp;#30340;&amp;#20840;&amp;#37096;&amp;#25991;&amp;#31456;"&gt;设备激活量&lt;/a&gt;仍然最为领先，但中国在去年的  &lt;a href="http://www.199it.com/archives/tag/%e8%ae%be%e5%a4%87%e6%bf%80%e6%b4%bb%e9%87%8f" target="_blank" title="&amp;#26597;&amp;#30475; &amp;#35774;&amp;#22791;&amp;#28608;&amp;#27963;&amp;#37327; &amp;#20013;&amp;#30340;&amp;#20840;&amp;#37096;&amp;#25991;&amp;#31456;"&gt;设备激活量&lt;/a&gt;也已增长至293%，越南增幅达269%，哥伦比亚达260%。&lt;/p&gt;
 &lt;p&gt;从平均每天的使用时长来看，美国用户对应用程序的使用时间达127分钟，而看电视时间为168分钟，上网时间为70分钟。在2010年美国用户平均每天上网时间为70分钟，应用程序使用时间为66分钟，看电视时间为162分钟。&lt;/p&gt;
 &lt;p&gt;  &lt;a href="http://alibuybuy-img11.stor.sinaapp.com/2013/01/2c1f_smartphonesfrom-smaato.com_1.jpg"&gt;   &lt;img alt="smartphones(from smaato.com)" height="261" src="http://alibuybuy-img11.stor.sinaapp.com/2013/01/2c1f_smartphonesfrom-smaato.com_1.jpg" title="smartphones(from smaato.com)" width="500"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
 &lt;p&gt;自2008年以来，应用收益复合年增长率已达129%，原先是应用广告收益居于首位，其次是虚拟商品，第三是免费增值游戏。但现在虚拟商品收益已经远超广告收益；2012年移动应用收益已达180亿美元。&lt;/p&gt;
 &lt;p&gt;人们在智能手机游戏上的投入时间占比43%，在社交网络上的投入时间占比26%，在娱乐内容上的投入时间占10%，在实用工具上的投入时间为10%。在2012年，用户对移动社交应用的访问量增长了387%，对媒体娱乐内容的访问量增长268%，对游戏访问量增长107%。&lt;/p&gt;
 &lt;p&gt;微交易是应用收益增长的主要动力。在2012年9月份，在iOS收益前1000名的免费游戏中，有53%交易量的日活跃用户平均收益低于25美分（在一年之前，这一比例高达82%）；有32%交易量的这一数值介于25-75美分（一年前这一比例为15%）；目前有15%交易量的这一数值低于75美分（一年前为3%）。&lt;/p&gt;
 &lt;p&gt;在用户投入移动社交应用的时间中，Facebook等社交网络占比47%；有29%时间投入通信应用，19%投入视频和照片分享应用，5%投入约会应用；媒体娱乐应用的使用高峰期则与晚间电视黄金时段相似。&lt;/p&gt;
 &lt;p&gt; &lt;/p&gt;
 &lt;hr&gt;&lt;/hr&gt;
 &lt;p&gt;  &lt;small&gt;© 推荐 for    &lt;a href="http://www.alibuybuy.com"&gt;互联网的那点事&lt;/a&gt;, 2013. |
   &lt;a href="http://www.alibuybuy.com/posts/79328.html"&gt;Permalink&lt;/a&gt; |
   &lt;a href="http://www.alibuybuy.com/posts/79328.html#comments"&gt;No comment&lt;/a&gt; |
Add to
   &lt;a href="http://del.icio.us/post?url=http://www.alibuybuy.com/posts/79328.html&amp;title=&amp;#32654;&amp;#22269;&amp;#29992;&amp;#25143;&amp;#26085;&amp;#22343;&amp;#24212;&amp;#29992;&amp;#31243;&amp;#24207;&amp;#20351;&amp;#29992;&amp;#26102;&amp;#38388;&amp;#36798;127&amp;#20998;&amp;#38047; &amp;#30005;&amp;#35270;&amp;#20026;168&amp;#20998;&amp;#38047;"&gt;del.icio.us&lt;/a&gt;
   &lt;br /&gt;
Post tags:    &lt;br /&gt;
&lt;/small&gt;&lt;/p&gt;


 &lt;table border="0" cellpadding="3" cellspacing="0"&gt;
    
      &lt;tr&gt;
           &lt;td colspan="5"&gt;    &lt;strong&gt;你可能也喜欢：&lt;/strong&gt;&lt;/td&gt;
    &lt;/tr&gt;
    
          &lt;tr&gt;
                   &lt;td valign="top" width="102"&gt;
                        &lt;a href="http://app.wumii.com/ext/redirect?url=http%3A%2F%2Fwww.toodaylab.com%2F41806&amp;from=http%3A%2F%2Fwww.alibuybuy.com%2Fposts%2F79328.html" target="_blank" title="&amp;#29616;&amp;#20195;&amp;#21270;&amp;#30340;&amp;#39134;&amp;#34892;&amp;#31526;&amp;#21495;&amp;#65306;&amp;#32654;&amp;#22269;&amp;#33322;&amp;#31354;&amp;#20840;&amp;#26032;&amp;#35270;&amp;#35273;&amp;#31995;&amp;#32479;&amp;#35299;&amp;#35835;"&gt;
                             &lt;img height="96px" src="http://static.wumii.cn/site_images/2013/01/21/70785833.jpg" width="96px"&gt;&lt;/img&gt;     &lt;br /&gt;
                        现代化的飞行符号：美国航空全新视觉系统解读 (@toodaylab)
                    &lt;/a&gt;
                &lt;/td&gt;
                   &lt;td valign="top" width="102"&gt;
                        &lt;a href="http://app.wumii.com/ext/redirect?url=http%3A%2F%2Fwww.70man.com%2F%3Fp%3D3480&amp;from=http%3A%2F%2Fwww.alibuybuy.com%2Fposts%2F79328.html" target="_blank" title="&amp;#30005;&amp;#35270;&amp;#26159;&amp;#22905;&amp;#65292;&amp;#19968;&amp;#36744;&amp;#23376;&amp;#30340;&amp;#25112;&amp;#20105;"&gt;
                             &lt;img height="96px" src="http://static.wumii.cn/site_images/2012/08/29/45243044.jpg" width="96px"&gt;&lt;/img&gt;     &lt;br /&gt;
                        电视是她，一辈子的战争 (@70man)
                    &lt;/a&gt;
                &lt;/td&gt;
                   &lt;td valign="top" width="102"&gt;
                        &lt;a href="http://app.wumii.com/ext/redirect?url=http%3A%2F%2Fwww.alibuybuy.com%2Fposts%2F26144.html&amp;from=http%3A%2F%2Fwww.alibuybuy.com%2Fposts%2F79328.html" target="_blank" title="&amp;#12298;&amp;#35774;&amp;#35745;&amp;#21331;&amp;#36234;&amp;#30340;iPhone&amp;#24212;&amp;#29992;&amp;#31243;&amp;#24207;&amp;#12299;"&gt;
                             &lt;img height="96px" src="http://static.wumii.cn/site_images/2012/06/10/30244139.jpg" width="96px"&gt;&lt;/img&gt;     &lt;br /&gt;
                        《设计卓越的iPhone应用程序》
                    &lt;/a&gt;
                &lt;/td&gt;
                   &lt;td valign="top" width="102"&gt;
                        &lt;a href="http://app.wumii.com/ext/redirect?url=http%3A%2F%2Fwww.alibuybuy.com%2Fposts%2F59200.html&amp;from=http%3A%2F%2Fwww.alibuybuy.com%2Fposts%2F79328.html" target="_blank" title="Instapaper&amp;#21019;&amp;#22987;&amp;#20154;&amp;#65306;&amp;#24212;&amp;#29992;&amp;#31243;&amp;#24207;&amp;#19981;&amp;#38656;&amp;#35201;&amp;#20813;&amp;#36153;"&gt;
                             &lt;img height="96px" src="http://static.wumii.cn/site_images/2012/02/10/15197429.png" width="96px"&gt;&lt;/img&gt;     &lt;br /&gt;
                        Instapaper创始人：应用程序不需要免费
                    &lt;/a&gt;
                &lt;/td&gt;
                   &lt;td valign="top" width="102"&gt;
                        &lt;a href="http://app.wumii.com/ext/redirect?url=http%3A%2F%2Fwww.alibuybuy.com%2Fposts%2F27499.html&amp;from=http%3A%2F%2Fwww.alibuybuy.com%2Fposts%2F79328.html" target="_blank" title="&amp;#29992;&amp;#25143;&amp;#22914;&amp;#20309;&amp;#20351;&amp;#29992;&amp;#24212;&amp;#29992;&amp;#31243;&amp;#24207;"&gt;
                             &lt;img height="96px" src="http://static.wumii.cn/site_images/2012/06/29/32982633.jpg" width="96px"&gt;&lt;/img&gt;     &lt;br /&gt;
                        用户如何使用应用程序
                    &lt;/a&gt;
                &lt;/td&gt;
        &lt;/tr&gt;
    
      &lt;tr&gt;
           &lt;td align="right" colspan="5"&gt;
                &lt;a href="http://www.wumii.com/widget/relatedItems" target="_blank" title="&amp;#26080;&amp;#35269;&amp;#30456;&amp;#20851;&amp;#25991;&amp;#31456;&amp;#25554;&amp;#20214;"&gt;
                无觅
            &lt;/a&gt;
        &lt;/td&gt;
    &lt;/tr&gt;
&lt;/table&gt;
 &lt;p&gt;  &lt;small&gt;Feed enhanced by    &lt;a href="http://planetozh.com/blog/my-projects/wordpress-plugin-better-feed-rss/"&gt;Better Feed&lt;/a&gt; from     &lt;a href="http://planetozh.com/blog/"&gt;Ozh&lt;/a&gt;&lt;/small&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/41962-%E7%BE%8E%E5%9B%BD-%E7%94%A8%E6%88%B7-%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F</guid>
      <pubDate>Mon, 21 Jan 2013 17:27:57 CST</pubDate>
    </item>
    <item>
      <title>免费手机UI套件和线框图模板</title>
      <link>https://itindex.net/detail/42091-%E5%85%8D%E8%B4%B9-%E6%89%8B%E6%9C%BA-ui</link>
      <description>&lt;p&gt;他们都说苹果成功了，出现了一大堆UE控，这股风气现在蔓延到企业级应用，带来很多新的工作量。现在很多客户都会拿苹果手机上的设计风格来对设计师说要求。各个机构企业都开始频繁触网。不仅仅是架设个网站在互联网上，没事仍几篇新闻上去就了事了。你得有自己企业微博，企业微信，甚至需要有自己定制的原生App应用。很多企业起初不屑这些，但是互联网会用最短的时间去证明你的判断。当你还在踏步的时候很多同行都借着东风让企业风生水起。模式的转变是带着阵痛的，但是没有痛楚拿来成功。不是都说成功都是拼出来的嘛！最近很多程序开始专注App的定制开发。可见这个行当现在的热度。今天，我们要分享给大家的就是和这个有关的好素材。一些好的免费的手机UI套件和线框图模板。希望能给在那些阵痛中努力成长的人儿一点点力量..&lt;/p&gt;
 &lt;div&gt;
  &lt;h4&gt;   &lt;a href="http://dribbble.com/shots/577661-Minimal-iOS-Browser-Frames-Free-PSD" target="_blank"&gt;IOS /浏览器框架&lt;/a&gt;&lt;/h4&gt;
  &lt;p&gt;   &lt;a href="http://dribbble.com/shots/577661-Minimal-iOS-Browser-Frames-Free-PSD" target="_blank"&gt;    &lt;img alt="" height="300" src="http://alibuybuy-img11.stor.sinaapp.com/2013/01/cde1_fullsize.jpg" width="400"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
  &lt;h4&gt;   &lt;a href="http://dribbble.com/shots/238326-one-last-iPhone-4-PSD" target="_blank"&gt;iPhone4的PSD&lt;/a&gt;&lt;/h4&gt;
  &lt;p&gt;   &lt;a href="http://dribbble.com/shots/238326-one-last-iPhone-4-PSD" target="_blank"&gt;    &lt;img alt="" height="300" src="http://alibuybuy-img11.stor.sinaapp.com/2013/01/ad1a_fullsize.jpg" width="400"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
  &lt;h4&gt;   &lt;a href="http://dribbble.com/shots/666574-iphone-ui-PSD-freebie" target="_blank"&gt;iPhone UI PSD&lt;/a&gt;&lt;/h4&gt;
  &lt;p&gt;   &lt;a href="http://dribbble.com/shots/666574-iphone-ui-PSD-freebie" target="_blank"&gt;    &lt;img alt="" height="300" src="http://alibuybuy-img11.stor.sinaapp.com/2013/01/1553_fullsize.jpg" width="400"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
  &lt;h4&gt;   &lt;a href="http://dribbble.com/shots/760177-Wireframe-Blueprint-Kit" target="_blank"&gt;线框/蓝图套件&lt;/a&gt;&lt;/h4&gt;
  &lt;p&gt;   &lt;a href="http://dribbble.com/shots/760177-Wireframe-Blueprint-Kit" target="_blank"&gt;    &lt;img alt="" height="300" src="http://alibuybuy-img11.stor.sinaapp.com/2013/01/994c_fullsize.jpg" width="400"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
  &lt;h4&gt;   &lt;a href="http://dribbble.com/shots/728257-Free-Printable-iPhone-5-Templates" target="_blank"&gt;打印iPhone5的模板&lt;/a&gt;&lt;/h4&gt;
  &lt;p&gt;   &lt;a href="http://dribbble.com/shots/728257-Free-Printable-iPhone-5-Templates" target="_blank"&gt;    &lt;img alt="" height="300" src="http://alibuybuy-img11.stor.sinaapp.com/2013/01/0915_fullsize.jpg" width="400"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
  &lt;h4&gt;   &lt;a href="http://dribbble.com/shots/192478-Clean-Wireframe-Kit-for-your-use" target="_blank"&gt;清洁线框套件&lt;/a&gt;&lt;/h4&gt;
  &lt;p&gt;   &lt;a href="http://dribbble.com/shots/192478-Clean-Wireframe-Kit-for-your-use" target="_blank"&gt;    &lt;img alt="" height="300" src="http://alibuybuy-img11.stor.sinaapp.com/2013/01/299c_fullsize.jpg" width="400"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
  &lt;h4&gt;   &lt;a href="http://dribbble.com/shots/766041-Free-Calendar-Psd" target="_blank"&gt;免费的日历PSD&lt;/a&gt;&lt;/h4&gt;
  &lt;p&gt;   &lt;a href="http://dribbble.com/shots/766041-Free-Calendar-Psd" target="_blank"&gt;    &lt;img alt="" height="300" src="http://alibuybuy-img11.stor.sinaapp.com/2013/01/5c09_fullsize.jpg" width="400"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
  &lt;h4&gt;   &lt;a href="http://dribbble.com/shots/757553-Toggle-Switch-Ui" target="_blank"&gt;拨动开关UI&lt;/a&gt;&lt;/h4&gt;
  &lt;p&gt;   &lt;a href="http://dribbble.com/shots/757553-Toggle-Switch-Ui" target="_blank"&gt;    &lt;img alt="" height="300" src="http://alibuybuy-img11.stor.sinaapp.com/2013/01/d992_fullsize.jpg" width="400"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
  &lt;h4&gt;   &lt;a href="http://dribbble.com/shots/474353-Slimer-Green-PSD-UI-Kit" target="_blank"&gt;Slimer PSD UI工具包&lt;/a&gt;&lt;/h4&gt;
  &lt;p&gt;   &lt;a href="http://dribbble.com/shots/474353-Slimer-Green-PSD-UI-Kit" target="_blank"&gt;    &lt;img alt="" height="300" src="http://alibuybuy-img11.stor.sinaapp.com/2013/01/dded_fullsize.jpg" width="400"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
  &lt;h4&gt;   &lt;a href="http://dribbble.com/shots/584377-UI-Design-Mini-Nav" target="_blank"&gt;UI设计迷你资产净值&lt;/a&gt;&lt;/h4&gt;
  &lt;p&gt;   &lt;a href="http://dribbble.com/shots/584377-UI-Design-Mini-Nav" target="_blank"&gt;    &lt;img alt="" height="300" src="http://alibuybuy-img11.stor.sinaapp.com/2013/01/5849_fullsize.jpg" width="400"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
  &lt;h4&gt;   &lt;a href="http://dribbble.com/shots/794841-Icon-Sketch-Freebie" target="_blank"&gt;图标模板&lt;/a&gt;&lt;/h4&gt;
  &lt;p&gt;   &lt;a href="http://dribbble.com/shots/794841-Icon-Sketch-Freebie" target="_blank"&gt;    &lt;img alt="" height="300" src="http://alibuybuy-img11.stor.sinaapp.com/2013/01/bbe4_fullsize.jpg" width="400"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
  &lt;h4&gt;   &lt;a href="http://dribbble.com/shots/85847-iPhone-Sketch-Elements-AI" target="_blank"&gt;iPhone草图AI&lt;/a&gt;&lt;/h4&gt;
  &lt;p&gt;   &lt;a href="http://dribbble.com/shots/85847-iPhone-Sketch-Elements-AI" target="_blank"&gt;    &lt;img alt="" height="300" src="http://alibuybuy-img11.stor.sinaapp.com/2013/01/40b9_fullsize.jpg" width="400"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
  &lt;h4&gt;   &lt;a href="http://dribbble.com/shots/729508-Free-Soft-User-Interface-Kit-Retina" target="_blank"&gt;软的用户界面工具包&lt;/a&gt;&lt;/h4&gt;
  &lt;p&gt;   &lt;a href="http://dribbble.com/shots/729508-Free-Soft-User-Interface-Kit-Retina" target="_blank"&gt;    &lt;img alt="" height="300" src="http://alibuybuy-img11.stor.sinaapp.com/2013/01/e377_fullsize.jpg" width="400"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
  &lt;h4&gt;   &lt;a href="http://dribbble.com/shots/759010-Little-UI-Free-PSD" target="_blank"&gt;黑暗滑块UI PSD&lt;/a&gt;&lt;/h4&gt;
  &lt;p&gt;   &lt;a href="http://dribbble.com/shots/759010-Little-UI-Free-PSD" target="_blank"&gt;    &lt;img alt="" height="300" src="http://alibuybuy-img11.stor.sinaapp.com/2013/01/8bca_fullsize.jpg" width="400"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
  &lt;h4&gt;   &lt;a href="http://dribbble.com/shots/713684-Golden-Ratio-Grid-System-for-iPhone" target="_blank"&gt;iPhone的黄金比例网格系统&lt;/a&gt;&lt;/h4&gt;
  &lt;p&gt;   &lt;a href="http://dribbble.com/shots/713684-Golden-Ratio-Grid-System-for-iPhone" target="_blank"&gt;    &lt;img alt="" height="300" src="http://alibuybuy-img11.stor.sinaapp.com/2013/01/ecd2_fullsize.jpg" width="400"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
  &lt;h4&gt;   &lt;a href="http://dribbble.com/shots/808157-Minimal-Light-User-Interface-Freebie" target="_blank"&gt;最小的光用户界面&lt;/a&gt;&lt;/h4&gt;
  &lt;p&gt;   &lt;a href="http://dribbble.com/shots/808157-Minimal-Light-User-Interface-Freebie" target="_blank"&gt;    &lt;img alt="" height="300" src="http://alibuybuy-img11.stor.sinaapp.com/2013/01/d482_fullsize.jpg" width="400"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
  &lt;h4&gt;   &lt;a href="http://dribbble.com/shots/637597-Free-PSD-IOS-Toggle" target="_blank"&gt;iOS的切换PSD&lt;/a&gt;&lt;/h4&gt;
  &lt;p&gt;   &lt;a href="http://dribbble.com/shots/637597-Free-PSD-IOS-Toggle" target="_blank"&gt;    &lt;img alt="" height="300" src="http://alibuybuy-img11.stor.sinaapp.com/2013/01/2093_fullsize.jpg" width="400"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
  &lt;h4&gt;   &lt;a href="http://dribbble.com/shots/587559-Free-iPhone-UI-psd-cashier" target="_blank"&gt;免费iPhone UI PSD&lt;/a&gt;&lt;/h4&gt;
  &lt;p&gt;   &lt;a href="http://dribbble.com/shots/587559-Free-iPhone-UI-psd-cashier" target="_blank"&gt;    &lt;img alt="" height="300" src="http://alibuybuy-img11.stor.sinaapp.com/2013/01/bd9a_fullsize.jpg" width="400"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
  &lt;h4&gt;   &lt;a href="http://dribbble.com/shots/587997-Stopwatch-redesign-freebie-free-psd" target="_blank"&gt;马表&lt;/a&gt;&lt;/h4&gt;
  &lt;p&gt;   &lt;a href="http://dribbble.com/shots/587997-Stopwatch-redesign-freebie-free-psd" target="_blank"&gt;    &lt;img alt="" height="300" src="http://alibuybuy-img11.stor.sinaapp.com/2013/01/2d22_fullsize.jpg" width="400"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
  &lt;h4&gt;   &lt;a href="http://dribbble.com/shots/110916-Iphone-4-vector-illustration-free-download" target="_blank"&gt;iPhone4的矢量插图&lt;/a&gt;&lt;/h4&gt;
  &lt;p&gt;   &lt;a href="http://dribbble.com/shots/110916-Iphone-4-vector-illustration-free-download" target="_blank"&gt;    &lt;img alt="" height="300" src="http://alibuybuy-img11.stor.sinaapp.com/2013/01/354e_fullsize.jpg" width="400"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
  &lt;h4&gt;   &lt;a href="http://dribbble.com/shots/341450-Light-GUI-Switches" target="_blank"&gt;光GUI开关&lt;/a&gt;&lt;/h4&gt;
  &lt;p&gt;   &lt;a href="http://dribbble.com/shots/341450-Light-GUI-Switches" target="_blank"&gt;    &lt;img alt="" height="300" src="http://alibuybuy-img11.stor.sinaapp.com/2013/01/bf12_fullsize.jpg" width="400"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
  &lt;h4&gt;   &lt;a href="http://dribbble.com/shots/196032-Slider-UI-PSD" target="_blank"&gt;滑块UI PSD&lt;/a&gt;&lt;/h4&gt;
  &lt;p&gt;   &lt;a href="http://dribbble.com/shots/196032-Slider-UI-PSD" target="_blank"&gt;    &lt;img alt="" height="300" src="http://alibuybuy-img11.stor.sinaapp.com/2013/01/d4c3_fullsize.jpg" width="400"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
  &lt;h4&gt;   &lt;a href="http://dribbble.com/shots/710269-Galaxy-S-III-White-Black-PSD-Template" target="_blank"&gt;银河S III PSD&lt;/a&gt;&lt;/h4&gt;
  &lt;p&gt;   &lt;a href="http://dribbble.com/shots/710269-Galaxy-S-III-White-Black-PSD-Template" target="_blank"&gt;    &lt;img alt="" height="300" src="http://alibuybuy-img11.stor.sinaapp.com/2013/01/4318_fullsize.jpg" width="400"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
  &lt;h4&gt;   &lt;a href="http://dribbble.com/shots/396641-Freebie-PSD-Android-4-0-UI" target="_blank"&gt;Android 4.0的UI&lt;/a&gt;&lt;/h4&gt;
  &lt;p&gt;   &lt;a href="http://dribbble.com/shots/396641-Freebie-PSD-Android-4-0-UI" target="_blank"&gt;    &lt;img alt="" height="300" src="http://alibuybuy-img11.stor.sinaapp.com/2013/01/d3d8_fullsize.jpg" width="400"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
  &lt;h4&gt;   &lt;a href="http://dribbble.com/shots/534566-App-Icon-Design-Outdoor-Elements" target="_blank"&gt;应用程序图标免费赠品&lt;/a&gt;&lt;/h4&gt;
  &lt;p&gt;   &lt;a href="http://dribbble.com/shots/534566-App-Icon-Design-Outdoor-Elements" target="_blank"&gt;    &lt;img alt="" height="300" src="http://alibuybuy-img11.stor.sinaapp.com/2013/01/370c_fullsize.jpg" width="400"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
  &lt;h4&gt;   &lt;a href="http://dribbble.com/shots/663108-ICS-Power-Control" target="_blank"&gt;ICS电源控制&lt;/a&gt;&lt;/h4&gt;
  &lt;p&gt;   &lt;a href="http://dribbble.com/shots/663108-ICS-Power-Control" target="_blank"&gt;    &lt;img alt="" height="300" src="http://alibuybuy-img11.stor.sinaapp.com/2013/01/4a92_fullsize.jpg" width="400"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
  &lt;h4&gt;   &lt;a href="http://dribbble.com/shots/560459-Login-Freebie" target="_blank"&gt;登录免费赠品&lt;/a&gt;&lt;/h4&gt;
  &lt;p&gt;   &lt;a href="http://dribbble.com/shots/560459-Login-Freebie" target="_blank"&gt;    &lt;img alt="" height="300" src="http://alibuybuy-img11.stor.sinaapp.com/2013/01/a012_fullsize.jpg" width="400"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
  &lt;h4&gt;   &lt;a href="http://dribbble.com/shots/735814-Mobile-Downloads-Freebie" target="_blank"&gt;手机下载&lt;/a&gt;&lt;/h4&gt;
  &lt;p&gt;   &lt;a href="http://dribbble.com/shots/735814-Mobile-Downloads-Freebie" target="_blank"&gt;    &lt;img alt="" height="300" src="http://alibuybuy-img11.stor.sinaapp.com/2013/01/fb5f_fullsize.jpg" width="400"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
  &lt;h4&gt;   &lt;a href="http://dribbble.com/shots/438022-Freebie-iOS-Retina-Display-Slider" target="_blank"&gt;IOS视网膜滑块&lt;/a&gt;&lt;/h4&gt;
  &lt;p&gt;   &lt;a href="http://dribbble.com/shots/438022-Freebie-iOS-Retina-Display-Slider" target="_blank"&gt;    &lt;img alt="" height="300" src="http://alibuybuy-img11.stor.sinaapp.com/2013/01/ffc2_fullsize.jpg" width="400"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
  &lt;h4&gt;   &lt;a href="http://dribbble.com/shots/755135-Blue-UI-Kit" target="_blank"&gt;蓝UI工具包&lt;/a&gt;&lt;/h4&gt;
  &lt;p&gt;   &lt;a href="http://dribbble.com/shots/755135-Blue-UI-Kit" target="_blank"&gt;    &lt;img alt="" height="300" src="http://alibuybuy-img11.stor.sinaapp.com/2013/01/602b_fullsize.jpg" width="400"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
  &lt;h4&gt;   &lt;a href="http://dribbble.com/shots/752577-Ui-Kit" target="_blank"&gt;明亮的灰色UI工具包&lt;/a&gt;&lt;/h4&gt;
  &lt;p&gt;   &lt;a href="http://dribbble.com/shots/752577-Ui-Kit" target="_blank"&gt;    &lt;img alt="" height="300" src="http://alibuybuy-img11.stor.sinaapp.com/2013/01/7893_fullsize.jpg" width="400"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
  &lt;h4&gt;   &lt;a href="http://dribbble.com/shots/645044-Black-UI-Kit" target="_blank"&gt;黑色UI工具包&lt;/a&gt;&lt;/h4&gt;
  &lt;p&gt;   &lt;a href="http://dribbble.com/shots/645044-Black-UI-Kit" target="_blank"&gt;    &lt;img alt="" height="300" src="http://alibuybuy-img11.stor.sinaapp.com/2013/01/31f0_fullsize.jpg" width="400"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
  &lt;h4&gt;   &lt;a href="http://dribbble.com/shots/667417-Magico-UI-Kit-PSD" target="_blank"&gt;魔幻UI工具包PSD&lt;/a&gt;&lt;/h4&gt;
  &lt;p&gt;   &lt;a href="http://dribbble.com/shots/667417-Magico-UI-Kit-PSD" target="_blank"&gt;    &lt;img alt="" height="300" src="http://alibuybuy-img11.stor.sinaapp.com/2013/01/ea08_fullsize.jpg" width="400"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
  &lt;h4&gt;   &lt;a href="http://dribbble.com/shots/653449-Clean-UI-Kit" target="_blank"&gt;整洁的用户界面工具包&lt;/a&gt;&lt;/h4&gt;
  &lt;p&gt;   &lt;a href="http://dribbble.com/shots/653449-Clean-UI-Kit" target="_blank"&gt;    &lt;img alt="" height="300" src="http://alibuybuy-img11.stor.sinaapp.com/2013/01/f410_fullsize.jpg" width="400"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
  &lt;h4&gt;   &lt;a href="http://dribbble.com/shots/638447-Lavender-UI-Kit" target="_blank"&gt;薰衣草UI工具包&lt;/a&gt;&lt;/h4&gt;
  &lt;p&gt;   &lt;a href="http://dribbble.com/shots/638447-Lavender-UI-Kit" target="_blank"&gt;    &lt;img alt="" height="300" src="http://alibuybuy-img11.stor.sinaapp.com/2013/01/e1af_fullsize.jpg" width="400"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
  &lt;h4&gt;   &lt;a href="http://dribbble.com/shots/604044-Freebies-Clean-Usable-UI-Kit" target="_blank"&gt;整洁的用户界面工具包免费的东西&lt;/a&gt;&lt;/h4&gt;
  &lt;p&gt;   &lt;a href="http://dribbble.com/shots/604044-Freebies-Clean-Usable-UI-Kit" target="_blank"&gt;    &lt;img alt="" height="300" src="http://alibuybuy-img11.stor.sinaapp.com/2013/01/1eb2_fullsize.jpg" width="400"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
  &lt;h4&gt;   &lt;a href="http://dribbble.com/shots/612471-Smooth-UI-Free-PSD-Kit" target="_blank"&gt;流畅的用户界面&lt;/a&gt;&lt;/h4&gt;
  &lt;p&gt;   &lt;a href="http://dribbble.com/shots/612471-Smooth-UI-Free-PSD-Kit" target="_blank"&gt;    &lt;img alt="" height="300" src="http://alibuybuy-img11.stor.sinaapp.com/2013/01/579f_fullsize.jpg" width="400"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
  &lt;h4&gt;   &lt;a href="http://dribbble.com/shots/520686-Freebie-iOS-SMS-GUI-Template" target="_blank"&gt;iOS的SMS GUI模板&lt;/a&gt;&lt;/h4&gt;
  &lt;p&gt;   &lt;a href="http://dribbble.com/shots/520686-Freebie-iOS-SMS-GUI-Template" target="_blank"&gt;    &lt;img alt="" height="300" src="http://alibuybuy-img11.stor.sinaapp.com/2013/01/5fcc_fullsize.jpg" width="400"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
  &lt;h4&gt;   &lt;a href="http://dribbble.com/shots/491325-Mobile-App-Dashboard" target="_blank"&gt;手机软件信息中心&lt;/a&gt;&lt;/h4&gt;
  &lt;p&gt;   &lt;a href="http://dribbble.com/shots/491325-Mobile-App-Dashboard" target="_blank"&gt;    &lt;img alt="" height="300" src="http://alibuybuy-img11.stor.sinaapp.com/2013/01/0ef4_fullsize.jpg" width="400"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
  &lt;h4&gt;   &lt;a href="http://dribbble.com/shots/514088-Path-for-iPad-Friends-list-PSD" target="_blank"&gt;为iPad GUI PSD的路径&lt;/a&gt;&lt;/h4&gt;
  &lt;p&gt;   &lt;a href="http://dribbble.com/shots/514088-Path-for-iPad-Friends-list-PSD" target="_blank"&gt;    &lt;img alt="" height="300" src="http://alibuybuy-img11.stor.sinaapp.com/2013/01/b652_fullsize.jpg" width="400"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
 &lt;p&gt;  &lt;a href="http://weibo.com/u/1646745652?s=6uyXnP" target="_blank"&gt;&lt;/a&gt;&lt;/p&gt;
 &lt;p&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;a href="http://speckyboy.com/2012/12/03/mobile-ui-kits-and-website-wireframes-templates/" target="_blank" title="&amp;#20813;&amp;#36153;&amp;#25163;&amp;#26426;UI&amp;#22871;&amp;#20214;&amp;#21644;&amp;#32447;&amp;#26694;&amp;#22270;&amp;#27169;&amp;#26495;"&gt;Via&lt;/a&gt;&lt;/p&gt;
 &lt;div&gt;&lt;/div&gt;
 &lt;p&gt; &lt;/p&gt;
 &lt;hr&gt;&lt;/hr&gt;
 &lt;p&gt;  &lt;small&gt;© 推荐 for    &lt;a href="http://www.alibuybuy.com"&gt;互联网的那点事&lt;/a&gt;, 2013. |
   &lt;a href="http://www.alibuybuy.com/posts/79427.html"&gt;Permalink&lt;/a&gt; |
   &lt;a href="http://www.alibuybuy.com/posts/79427.html#comments"&gt;One comment&lt;/a&gt; |
Add to
   &lt;a href="http://del.icio.us/post?url=http://www.alibuybuy.com/posts/79427.html&amp;title=&amp;#20813;&amp;#36153;&amp;#25163;&amp;#26426;UI&amp;#22871;&amp;#20214;&amp;#21644;&amp;#32447;&amp;#26694;&amp;#22270;&amp;#27169;&amp;#26495;"&gt;del.icio.us&lt;/a&gt;
   &lt;br /&gt;
Post tags:    &lt;br /&gt;
&lt;/small&gt;&lt;/p&gt;


 &lt;table border="0" cellpadding="3" cellspacing="0"&gt;
    
      &lt;tr&gt;
           &lt;td colspan="5"&gt;    &lt;strong&gt;你可能也喜欢：&lt;/strong&gt;&lt;/td&gt;
    &lt;/tr&gt;
    
          &lt;tr&gt;
                   &lt;td valign="top" width="102"&gt;
                        &lt;a href="http://app.wumii.com/ext/redirect?url=http%3A%2F%2Fwww.syncoo.com%2Fcloud-free-sms-1142.htm&amp;from=http%3A%2F%2Fwww.alibuybuy.com%2Fposts%2F79427.html" target="_blank" title="Cloud SMS &amp;#8211; &amp;#20813;&amp;#36153;&amp;#21457;&amp;#36865;SMS&amp;#25163;&amp;#26426;&amp;#30701;&amp;#20449;"&gt;
                             &lt;img height="96px" src="http://static.wumii.cn/site_images/2011/01/22/2294327.png" width="96px"&gt;&lt;/img&gt;     &lt;br /&gt;
                        Cloud SMS – 免费发送SMS手机短信 (@syncoo)
                    &lt;/a&gt;
                &lt;/td&gt;
                   &lt;td valign="top" width="102"&gt;
                        &lt;a href="http://app.wumii.com/ext/redirect?url=http%3A%2F%2Fwww.70man.com%2F%3Fp%3D605&amp;from=http%3A%2F%2Fwww.alibuybuy.com%2Fposts%2F79427.html" target="_blank" title="&amp;#25163;&amp;#26426;&amp;#25481;&amp;#20102;"&gt;
                             &lt;img height="96px" src="http://static.wumii.cn/site_images/2012/08/29/45243044.jpg" width="96px"&gt;&lt;/img&gt;     &lt;br /&gt;
                        手机掉了 (@70man)
                    &lt;/a&gt;
                &lt;/td&gt;
                   &lt;td valign="top" width="102"&gt;
                        &lt;a href="http://app.wumii.com/ext/redirect?url=http%3A%2F%2Fwww.alibuybuy.com%2Fposts%2F22664.html&amp;from=http%3A%2F%2Fwww.alibuybuy.com%2Fposts%2F79427.html" target="_blank" title="&amp;#26234;&amp;#33021;&amp;#25163;&amp;#26426;&amp;#35774;&amp;#35745;&amp;#27169;&amp;#26495;&amp;#19979;&amp;#36733;for Android, iPhone and Palm Pre"&gt;
                             &lt;img height="96px" src="http://static.wumii.cn/site_images/2012/06/13/30752134.jpg" width="96px"&gt;&lt;/img&gt;     &lt;br /&gt;
                        智能手机设计模板下载for Android, iPhone and Palm Pre
                    &lt;/a&gt;
                &lt;/td&gt;
                   &lt;td valign="top" width="102"&gt;
                        &lt;a href="http://app.wumii.com/ext/redirect?url=http%3A%2F%2Fwww.alibuybuy.com%2Fposts%2F49949.html&amp;from=http%3A%2F%2Fwww.alibuybuy.com%2Fposts%2F79427.html" target="_blank" title="&amp;#25163;&amp;#26426;UI&amp;#35774;&amp;#35745;&amp;#26816;&amp;#27979;&amp;#35201;&amp;#32032;"&gt;
                             &lt;img height="96px" src="http://static.wumii.cn/site_images/2012/04/05/18840351.jpg" width="96px"&gt;&lt;/img&gt;     &lt;br /&gt;
                        手机UI设计检测要素
                    &lt;/a&gt;
                &lt;/td&gt;
                   &lt;td valign="top" width="102"&gt;
                        &lt;a href="http://app.wumii.com/ext/redirect?url=http%3A%2F%2Fwww.alibuybuy.com%2Fposts%2F74202.html&amp;from=http%3A%2F%2Fwww.alibuybuy.com%2Fposts%2F79427.html" target="_blank" title="&amp;#25163;&amp;#26426;&amp;#28216;&amp;#25103;&amp;#24320;&amp;#21457;&amp;#32773;&amp;#31215;&amp;#26497;&amp;#36716;&amp;#25237;&amp;#20813;&amp;#36153;&amp;#22686;&amp;#20540;&amp;#27169;&amp;#24335;"&gt;
                             &lt;img height="96px" src="http://static.wumii.cn/site_images/2012/06/21/31929469.jpg" width="96px"&gt;&lt;/img&gt;     &lt;br /&gt;
                        手机游戏开发者积极转投免费增值模式
                    &lt;/a&gt;
                &lt;/td&gt;
        &lt;/tr&gt;
    
      &lt;tr&gt;
           &lt;td align="right" colspan="5"&gt;
                &lt;a href="http://www.wumii.com/widget/relatedItems" target="_blank" title="&amp;#26080;&amp;#35269;&amp;#30456;&amp;#20851;&amp;#25991;&amp;#31456;&amp;#25554;&amp;#20214;"&gt;
                无觅
            &lt;/a&gt;
        &lt;/td&gt;
    &lt;/tr&gt;
&lt;/table&gt;
 &lt;p&gt;  &lt;small&gt;Feed enhanced by    &lt;a href="http://planetozh.com/blog/my-projects/wordpress-plugin-better-feed-rss/"&gt;Better Feed&lt;/a&gt; from     &lt;a href="http://planetozh.com/blog/"&gt;Ozh&lt;/a&gt;&lt;/small&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/42091-%E5%85%8D%E8%B4%B9-%E6%89%8B%E6%9C%BA-ui</guid>
      <pubDate>Sat, 26 Jan 2013 20:45:02 CST</pubDate>
    </item>
    <item>
      <title>携程公布《2012无线用户预订行为调研》报告 iphone用户更爱花钱</title>
      <link>https://itindex.net/detail/42153-%E6%90%BA%E7%A8%8B-%E6%97%A0%E7%BA%BF-%E7%94%A8%E6%88%B7</link>
      <description>&lt;p&gt;  &lt;strong&gt;携程公布《&lt;/strong&gt;  &lt;strong&gt;2012&lt;/strong&gt;  &lt;strong&gt;无线用户预订行为调研》&lt;/strong&gt;  &lt;strong&gt; &lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt;近日，国内领先的一站式旅游服务商携程旅行网，结合携程无线、携程特价酒店、携程旅游等应用群用户数据，对用户预订行为进行深入调研，撰写并发布了国内首份《2012无线用户预订行为调研》。携程表示，未来还会对携程应用群无线用户在细分市场与特殊领域的行为数据，进行更为系统化的研究。&lt;/p&gt;
 &lt;p&gt;2012年移动增长依然非常强劲，互联网女王Mary Meeker更指出：到2013年的第二季度季末，全球的智能手机和平板的安装基数将超过PC。随着移动互联网的快速发展，国内通过无线应用预订机票、酒店的市场规模，也保持高速增长势头。以携程无线应用群来看，目前总用户下载量已超过1500万；同时，酒店无线交易占比超过10%，以第三季度月均间夜量280万间计算，每月无线成交间夜量超过28万间夜，并仍保持成长；携程无线应用的用户群，无论是质与量，在业界都堪称举足轻重，具有代表意义。&lt;/p&gt;
 &lt;p&gt;携程旅行网针对2012年度，使用携程无线应用群的消费者，作为样本，进行深入调研，以超过百万等级的预订支付人次，作为本报告的核心数据。调研从客户端使用情况、无线用户预订习惯、无线用户消费能力、无线用户忠实度四个维度进行：取得了iPhone用户访问量与订单比最高、无线客户端预订提前时间最少、iPhone用户的消费能力最高、无线渠道用户忠诚度高等研究结果。&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt; 客户端使用情况：&lt;/strong&gt;  &lt;strong&gt;iPhone&lt;/strong&gt;  &lt;strong&gt;访问量与订单比都高于&lt;/strong&gt;  &lt;strong&gt;Android &lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt;携程无线应用群客户端的访问量中，97%的访问量来源于iPhone / iPad / Android客户端，其中iPhone（48%）高于Android（43%）与iPad（6%）。从转化率来看， iPhone用户优于Android用户。加计移动专用的WAP网站（m.ctrip.com），最终用户订单占比依序为iPhone（53%）、Android（29%）、WAP（14%）、iPad（3%）、其他（1%）。&lt;/p&gt;
 &lt;p&gt;  &lt;a href="http://alibuybuy-img11.stor.sinaapp.com/2013/01/b075_1.jpg"&gt;   &lt;img alt="" src="http://alibuybuy-img11.stor.sinaapp.com/2013/01/b075_1.jpg" title="1" width="901"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
 &lt;p&gt;图一&lt;/p&gt;
 &lt;p&gt;  &lt;a href="http://alibuybuy-img11.stor.sinaapp.com/2013/01/91c3_3.jpg"&gt;   &lt;img alt="" src="http://alibuybuy-img11.stor.sinaapp.com/2013/01/91c3_3.jpg" title="3" width="901"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
 &lt;p&gt;图二&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt; &lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt; 预订习惯：无线用户预订提前时间最少&lt;/strong&gt;  &lt;strong&gt; &lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt;无线用户使用时间分布比较均匀，用户使用随时性比较明显；相比之下，PC端用户的使用更集中在工作时间。从提前时间来看，无线用户预订提前时间最少，酒店方面，当日预订占比约51%，整体提前期为1-2.5天（PC端约3-6天）；机票方面提前期约3-6天（PC端约8-12天）。&lt;/p&gt;
 &lt;p&gt;  &lt;a href="http://alibuybuy-img11.stor.sinaapp.com/2013/01/20fa_31.jpg"&gt;   &lt;img alt="" src="http://alibuybuy-img11.stor.sinaapp.com/2013/01/20fa_31.jpg" title="3" width="901"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
 &lt;p&gt;图三&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt; &lt;/strong&gt;  &lt;strong&gt; &lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt; 消费能力：&lt;/strong&gt;  &lt;strong&gt;iPhone&lt;/strong&gt;  &lt;strong&gt;用户消费能力高于&lt;/strong&gt;  &lt;strong&gt;Android&lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt;整体无线用户机票单次订单金额约900-1300人民币，高于酒店订单金额（300-500人民币）。若区分平台，在预订酒店时，iPhone用户的订单金额（400-500人民币）平均高于Android（300-400人民币）；但预订机票时则相差不大。&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt; 用户忠诚度：无线用户忠诚度更高&lt;/strong&gt;  &lt;strong&gt; &lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt;相比其他渠道，无线用户忠诚更高，达65.4%。55.3%的携程无线用户在使用无线预订前，曾使用过其他预订方式，其中29.0%在使用无线渠道预订后，延续使用无线渠道，未再使用其他渠道（PC端、电话）预订，剩下26.3%交错使用各渠道预订。&lt;/p&gt;
 &lt;p&gt;至于44.7%的无线渠道原生用户，有36.4%的用户自始至终通过无线渠道下单；剩下8.3%的用户在使用无线预订后，交错使用无线与其他渠道预订。&lt;/p&gt;
 &lt;p&gt;总计非原生与原生用户，无线渠道用户忠诚度达65.4%。&lt;/p&gt;
 &lt;p&gt;  &lt;a href="http://alibuybuy-img11.stor.sinaapp.com/2013/01/f05b_4.jpg"&gt;   &lt;img alt="" src="http://alibuybuy-img11.stor.sinaapp.com/2013/01/f05b_4.jpg" title="4" width="901"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
 &lt;p&gt;图四&lt;/p&gt;
 &lt;p&gt; &lt;/p&gt;
 &lt;hr&gt;&lt;/hr&gt;
 &lt;p&gt;  &lt;small&gt;© 推荐 for    &lt;a href="http://www.alibuybuy.com"&gt;互联网的那点事&lt;/a&gt;, 2013. |
   &lt;a href="http://www.alibuybuy.com/posts/79462.html"&gt;Permalink&lt;/a&gt; |
   &lt;a href="http://www.alibuybuy.com/posts/79462.html#comments"&gt;No comment&lt;/a&gt; |
Add to
   &lt;a href="http://del.icio.us/post?url=http://www.alibuybuy.com/posts/79462.html&amp;title=&amp;#25658;&amp;#31243;&amp;#20844;&amp;#24067;&amp;#12298;2012&amp;#26080;&amp;#32447;&amp;#29992;&amp;#25143;&amp;#39044;&amp;#35746;&amp;#34892;&amp;#20026;&amp;#35843;&amp;#30740;&amp;#12299;&amp;#25253;&amp;#21578; iphone&amp;#29992;&amp;#25143;&amp;#26356;&amp;#29233;&amp;#33457;&amp;#38065;"&gt;del.icio.us&lt;/a&gt;
   &lt;br /&gt;
Post tags:    &lt;br /&gt;
&lt;/small&gt;&lt;/p&gt;


 &lt;table border="0" cellpadding="3" cellspacing="0"&gt;
    
      &lt;tr&gt;
           &lt;td colspan="5"&gt;    &lt;strong&gt;你可能也喜欢：&lt;/strong&gt;&lt;/td&gt;
    &lt;/tr&gt;
    
          &lt;tr&gt;
                   &lt;td valign="top" width="102"&gt;
                        &lt;a href="http://app.wumii.com/ext/redirect?url=http%3A%2F%2Fwww.70man.com%2F%3Fp%3D2878&amp;from=http%3A%2F%2Fwww.alibuybuy.com%2Fposts%2F79462.html" target="_blank" title="2012&amp;#65292;&amp;#20320;&amp;#23545;&amp;#20154;&amp;#31867;&amp;#30340;&amp;#26410;&amp;#26469;&amp;#26377;&amp;#20449;&amp;#24515;&amp;#21527;&amp;#65311;"&gt;
                             &lt;img height="96px" src="http://static.wumii.cn/site_images/2012/08/29/45243044.jpg" width="96px"&gt;&lt;/img&gt;     &lt;br /&gt;
                        2012，你对人类的未来有信心吗？ (@70man)
                    &lt;/a&gt;
                &lt;/td&gt;
                   &lt;td valign="top" width="102"&gt;
                        &lt;a href="http://app.wumii.com/ext/redirect?url=http%3A%2F%2Fwww.70man.com%2F%3Fp%3D1350&amp;from=http%3A%2F%2Fwww.alibuybuy.com%2Fposts%2F79462.html" target="_blank" title="&amp;#31179;&amp;#21494;&amp;#19978;&amp;#29677;&amp;#35760;&amp;#20043;&amp;#19977;&amp;#21313;&amp;#19977;&amp;#8212;&amp;#24191;&amp;#19996;&amp;#21335;&amp;#28023;&amp;#26576;&amp;#23478;&amp;#20855;&amp;#21378;PDM&amp;#39033;&amp;#30446;&amp;#38656;&amp;#27714;&amp;#35843;&amp;#30740;&amp;#35760;&amp;#65288;&amp;#31532;&amp;#19968;&amp;#27425;&amp;#20303;&amp;#40657;&amp;#24215;&amp;#65289;"&gt;
                             &lt;img height="96px" src="http://static.wumii.cn/site_images/2012/08/29/45243044.jpg" width="96px"&gt;&lt;/img&gt;     &lt;br /&gt;
                        秋叶上班记之三十三—广东南海某家具厂PDM项目需求调研记（第一次住黑店） (@70man)
                    &lt;/a&gt;
                &lt;/td&gt;
                   &lt;td valign="top" width="102"&gt;
                        &lt;a href="http://app.wumii.com/ext/redirect?url=http%3A%2F%2Fwww.alibuybuy.com%2Fposts%2F10347.html&amp;from=http%3A%2F%2Fwww.alibuybuy.com%2Fposts%2F79462.html" target="_blank" title="2009&amp;#24180;&amp;#20013;&amp;#22269;&amp;#31227;&amp;#21160;&amp;#20114;&amp;#32852;&amp;#32593;&amp;#29992;&amp;#25143;&amp;#34892;&amp;#20026;&amp;#35843;&amp;#30740;&amp;#25253;&amp;#21578;"&gt;
                             &lt;img height="96px" src="http://static.wumii.cn/site_images/2012/06/19/31651899.gif" width="96px"&gt;&lt;/img&gt;     &lt;br /&gt;
                        2009年中国移动互联网用户行为调研报告
                    &lt;/a&gt;
                &lt;/td&gt;
                   &lt;td valign="top" width="102"&gt;
                        &lt;a href="http://app.wumii.com/ext/redirect?url=http%3A%2F%2Fwww.alibuybuy.com%2Fposts%2F7027.html&amp;from=http%3A%2F%2Fwww.alibuybuy.com%2Fposts%2F79462.html" target="_blank" title="&amp;#12304;&amp;#35843;&amp;#26597;&amp;#25253;&amp;#21578;&amp;#12305;iPhone &amp;#29992;&amp;#25143;&amp;#32676;&amp;#26377;&amp;#21738;&amp;#20123;&amp;#29305;&amp;#21035;&amp;#20043;&amp;#22788;&amp;#65311;"&gt;
                             &lt;img height="96px" src="http://static.wumii.cn/site_images/2011/04/08/5252624.jpg" width="96px"&gt;&lt;/img&gt;     &lt;br /&gt;
                        【调查报告】iPhone 用户群有哪些特别之处？
                    &lt;/a&gt;
                &lt;/td&gt;
                   &lt;td valign="top" width="102"&gt;
                        &lt;a href="http://app.wumii.com/ext/redirect?url=http%3A%2F%2Fwww.alibuybuy.com%2Fposts%2F27600.html&amp;from=http%3A%2F%2Fwww.alibuybuy.com%2Fposts%2F79462.html" target="_blank" title="&amp;#20114;&amp;#32852;&amp;#32593;&amp;#21608;&amp;#21002;&amp;#65306;&amp;#8220;&amp;#28966;&amp;#34385;&amp;#8221;&amp;#30340;&amp;#25658;&amp;#31243;"&gt;
                             &lt;img height="96px" src="http://static.wumii.com/images/blogWidget/wordpress_default.gif" width="96px"&gt;&lt;/img&gt;     &lt;br /&gt;
                        互联网周刊：“焦虑”的携程
                    &lt;/a&gt;
                &lt;/td&gt;
        &lt;/tr&gt;
    
      &lt;tr&gt;
           &lt;td align="right" colspan="5"&gt;
                &lt;a href="http://www.wumii.com/widget/relatedItems" target="_blank" title="&amp;#26080;&amp;#35269;&amp;#30456;&amp;#20851;&amp;#25991;&amp;#31456;&amp;#25554;&amp;#20214;"&gt;
                无觅
            &lt;/a&gt;
        &lt;/td&gt;
    &lt;/tr&gt;
&lt;/table&gt;
 &lt;p&gt;  &lt;small&gt;Feed enhanced by    &lt;a href="http://planetozh.com/blog/my-projects/wordpress-plugin-better-feed-rss/"&gt;Better Feed&lt;/a&gt; from     &lt;a href="http://planetozh.com/blog/"&gt;Ozh&lt;/a&gt;&lt;/small&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/42153-%E6%90%BA%E7%A8%8B-%E6%97%A0%E7%BA%BF-%E7%94%A8%E6%88%B7</guid>
      <pubDate>Thu, 31 Jan 2013 14:10:37 CST</pubDate>
    </item>
    <item>
      <title>14个HTML5实现的效果合集</title>
      <link>https://itindex.net/detail/42499-html5-%E6%95%88%E6%9E%9C-%E5%90%88%E9%9B%86</link>
      <description>&lt;p&gt;HTML5可不是什么虚幻的概念，与其高谈阔论的讨论HTML5未来的趋势和价值，不如一起研究一下现在的HTML5可以做出哪些成果，可以让我们做出出色的产品。&lt;/p&gt;
 &lt;p&gt;  &lt;a href="http://fff.cmiscm.com/" target="_blank"&gt;Form Follows Function&lt;/a&gt;就是一個展示HTML5实现的网站，目前网站展示了14个作品，其中包括了交互操作以及视觉效果。这些效果本身并不是一个完整的产品，但是加入到产品中就能让产品生色不少。&lt;/p&gt;
 &lt;p&gt; &lt;/p&gt;
 &lt;h2&gt;1、  &lt;a href="http://fff.cmiscm.com/#!/section/bokeh" target="_blank"&gt;散景（Bokeh）&lt;/a&gt;&lt;/h2&gt;
 &lt;p&gt;一种图像的焦外效果，通过HTML5实现的这种效果可以加载在背景、字体浮现。&lt;/p&gt;
 &lt;p&gt;  &lt;a href="http://www.alibuybuy.com/?attachment_id=221824" rel="attachment wp-att-221824"&gt;   &lt;img alt="1&amp;#28966;&amp;#22806;" height="323" src="http://alibuybuy-img11.stor.sinaapp.com/2013/02/868e_04-13-10-54-1024x552.jpg" width="600"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
 &lt;h2&gt;2、  &lt;a href="http://fff.cmiscm.com/#!/section/cylinder" target="_blank"&gt;3D效果&lt;/a&gt;&lt;/h2&gt;
 &lt;p&gt;3D西红柿罐头汤，可通过鼠标进行旋转操作，同时底部有一个倒影效果，一个很优秀的交互效果示范。&lt;/p&gt;
 &lt;p&gt;  &lt;a href="http://www.alibuybuy.com/?attachment_id=221840" rel="attachment wp-att-221840"&gt;   &lt;img alt="HTML5 3D&amp;#25928;&amp;#26524;" height="323" src="http://alibuybuy-img11.stor.sinaapp.com/2013/02/ff72_06-11-02-7-1024x552.jpg" width="600"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
 &lt;h2&gt;3、  &lt;a href="http://fff.cmiscm.com/#!/section/universe" target="_blank"&gt;宇宙全景图&lt;/a&gt;&lt;/h2&gt;
 &lt;p&gt;设定整个宇宙的场景，可以用360度观察整个宇宙星云，这种实现方式呈现出的效果更接近Google的街景地图。&lt;/p&gt;
 &lt;p&gt;  &lt;a href="http://www.alibuybuy.com/?attachment_id=221841" rel="attachment wp-att-221841"&gt;   &lt;img alt="3&amp;#23431;&amp;#23449;&amp;#20840;&amp;#26223;" height="323" src="http://alibuybuy-img11.stor.sinaapp.com/2013/02/5e36_06-11-59-62-1024x552.jpg" width="600"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
 &lt;h2&gt;4、  &lt;a href="http://fff.cmiscm.com/#!/section/pixelated" target="_blank"&gt;像素化效果&lt;/a&gt;&lt;/h2&gt;
 &lt;p&gt;这种效果用于图片很有趣，而实际可利用到的领域，还有待探索。&lt;/p&gt;
 &lt;p&gt;  &lt;a href="http://www.alibuybuy.com/?attachment_id=221842" rel="attachment wp-att-221842"&gt;   &lt;img alt="4&amp;#20687;&amp;#32032;&amp;#21270;" height="323" src="http://alibuybuy-img11.stor.sinaapp.com/2013/02/8da2_06-13-03-10-1024x552.jpg" width="600"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
 &lt;h2&gt;5、  &lt;a href="http://fff.cmiscm.com/#!/section/spiral" target="_blank"&gt;螺旋效果&lt;/a&gt;&lt;/h2&gt;
 &lt;p&gt;字体的旋转效果，简单的近乎一张GIF图片，不过通过对文章的替换，可以轻易的转换成各种各样的文案展示。&lt;/p&gt;
 &lt;p&gt;  &lt;a href="http://www.alibuybuy.com/?attachment_id=221848" rel="attachment wp-att-221848"&gt;   &lt;img alt="5&amp;#34746;&amp;#26059;&amp;#25928;&amp;#26524;" height="323" src="http://alibuybuy-img11.stor.sinaapp.com/2013/02/6bc4_06-35-07-52-1024x552.jpg" width="600"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
 &lt;h2&gt;6、  &lt;a href="http://fff.cmiscm.com/#!/section/triangulation" target="_blank"&gt;结晶化滤镜&lt;/a&gt;&lt;/h2&gt;
 &lt;p&gt;通过鼠标可选择结晶化的范围，用于网页可对界面直接做出更多的交互视觉效果。&lt;/p&gt;
 &lt;p&gt;  &lt;a href="http://www.alibuybuy.com/?attachment_id=221850" rel="attachment wp-att-221850"&gt;   &lt;img alt="6&amp;#32467;&amp;#26230;&amp;#21270;&amp;#28388;&amp;#38236;" height="323" src="http://alibuybuy-img11.stor.sinaapp.com/2013/02/e3d4_06-36-40-8-1024x552.jpg" width="600"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
 &lt;h2&gt;7、  &lt;a href="http://fff.cmiscm.com/#!/section/blendhue" target="_blank"&gt;色相混合&lt;/a&gt;&lt;/h2&gt;
 &lt;p&gt;随着鼠标移动而改变各个位置的色相，一种很简单就能汇聚用户视线的交互效果，不过在简单的背景才更能体现这种效果的价值。&lt;/p&gt;
 &lt;p&gt;  &lt;a href="http://www.alibuybuy.com/?attachment_id=221853" rel="attachment wp-att-221853"&gt;   &lt;img alt="7&amp;#33394;&amp;#30456;&amp;#28151;&amp;#21512;" height="323" src="http://alibuybuy-img11.stor.sinaapp.com/2013/02/f853_06-41-45-75-1024x552.jpg" width="600"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
 &lt;h2&gt;8、  &lt;a href="http://fff.cmiscm.com/#!/section/flipclock" target="_blank"&gt;翻转时钟&lt;/a&gt;&lt;/h2&gt;
 &lt;p&gt;一种时钟的展示效果，结构非常简单，而看上去也很清晰明了，适合嵌入到很多不同的页面中作为实时时间的展示。&lt;/p&gt;
 &lt;p&gt;  &lt;a href="http://www.alibuybuy.com/?attachment_id=221854" rel="attachment wp-att-221854"&gt;   &lt;img alt="8&amp;#32763;&amp;#36716;&amp;#22987;&amp;#32456;" height="323" src="http://alibuybuy-img11.stor.sinaapp.com/2013/02/dfa7_06-45-20-44-1024x552.jpg" width="600"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
 &lt;h2&gt;9、  &lt;a href="http://fff.cmiscm.com/#!/section/ripples" target="_blank"&gt;水纹倒影&lt;/a&gt;&lt;/h2&gt;
 &lt;p&gt;一种视觉效果，在这个Demo中可以调节倒影波动的速度。这种效果适合制作Logo以及主页的展示。&lt;/p&gt;
 &lt;p&gt;  &lt;a href="http://www.alibuybuy.com/?attachment_id=221864" rel="attachment wp-att-221864"&gt;   &lt;img alt="9&amp;#27700;&amp;#38754;&amp;#20498;&amp;#24433;" height="323" src="http://alibuybuy-img11.stor.sinaapp.com/2013/02/5aca_06-53-16-1-1024x552.jpg" width="600"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
 &lt;h2&gt;10、  &lt;a href="http://fff.cmiscm.com/#!/section/rainingmen" target="_blank"&gt;自由落体&lt;/a&gt;&lt;/h2&gt;
 &lt;p&gt;“下雨的人”展示了一种自由落体的效果，可以用鼠标条件调节飘落的角度，提供了一种带有物理效果的交互操作。这种功能特别用于游戏。&lt;/p&gt;
 &lt;p&gt;  &lt;a href="http://www.alibuybuy.com/?attachment_id=221880" rel="attachment wp-att-221880"&gt;   &lt;img alt="10&amp;#33258;&amp;#30001;&amp;#33853;&amp;#20307;" height="323" src="http://alibuybuy-img11.stor.sinaapp.com/2013/02/835a_07-07-37-29-1024x552.jpg" width="600"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
 &lt;h2&gt;11、  &lt;a href="http://fff.cmiscm.com/#!/section/surfacewaves" target="_blank"&gt;水面波纹&lt;/a&gt;&lt;/h2&gt;
 &lt;p&gt;同样是一种物理效果，可通过鼠标刺激水面波纹，在网页上就能轻松实现。&lt;/p&gt;
 &lt;p&gt;  &lt;a href="http://www.alibuybuy.com/?attachment_id=221882" rel="attachment wp-att-221882"&gt;   &lt;img alt="11&amp;#28082;&amp;#20307;&amp;#29289;&amp;#29702;&amp;#25928;&amp;#26524;" height="323" src="http://alibuybuy-img11.stor.sinaapp.com/2013/02/4569_07-37-23-68-1024x552.jpg" width="600"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
 &lt;h2&gt;12、  &lt;a href="http://fff.cmiscm.com/#!/section/planttrees" target="_blank"&gt;树的成长&lt;/a&gt;&lt;/h2&gt;
 &lt;p&gt;一种应激操作的交互方式，点击一次长出一棵树，可用于网页展示的附加效果。这种效果在视觉上有多种用法，网页、游戏都可以。&lt;/p&gt;
 &lt;p&gt;  &lt;a href="http://www.alibuybuy.com/?attachment_id=221886" rel="attachment wp-att-221886"&gt;   &lt;img alt="&amp;#26641;&amp;#30340;&amp;#25104;&amp;#38271;" height="323" src="http://alibuybuy-img11.stor.sinaapp.com/2013/02/1ef1_07-43-28-58-1024x552.jpg" width="600"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
 &lt;h2&gt;13、  &lt;a href="http://fff.cmiscm.com/#!/section/wipertypo" target="_blank"&gt;字母雨刷&lt;/a&gt;&lt;/h2&gt;
 &lt;p&gt;在屏幕上扫除字母的雨刷效果，初次看见感觉像是网页刷新的过度画面。&lt;/p&gt;
 &lt;p&gt;  &lt;a href="http://www.alibuybuy.com/?attachment_id=221889" rel="attachment wp-att-221889"&gt;   &lt;img alt="&amp;#38632;&amp;#21047;&amp;#25928;&amp;#26524;" height="323" src="http://alibuybuy-img11.stor.sinaapp.com/2013/02/2d4e_07-54-22-8-1024x552.jpg" width="600"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
 &lt;h2&gt;14、  &lt;a href="http://fff.cmiscm.com/#!/section/scream" target="_blank"&gt;渐显效果&lt;/a&gt;&lt;/h2&gt;
 &lt;p&gt;通过一些杂乱无章的线逐渐显现出一幅画，中间的显现过程很适合作为网页加载的等待界面。&lt;/p&gt;
 &lt;p&gt;  &lt;a href="http://www.alibuybuy.com/?attachment_id=221866" rel="attachment wp-att-221866"&gt;   &lt;img alt="10&amp;#28176;&amp;#26174;&amp;#25928;&amp;#26524;" height="323" src="http://alibuybuy-img11.stor.sinaapp.com/2013/02/b19b_06-57-58-971-1024x552.jpg" width="600"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
 &lt;p&gt;来源：  &lt;a href="http://www.leiphone.com/warlial-html5-fff.html"&gt;http://www.leiphone.com/warlial-html5-fff.html&lt;/a&gt;&lt;/p&gt;
 &lt;hr&gt;&lt;/hr&gt;
 &lt;p&gt;  &lt;small&gt;© 推荐 for    &lt;a href="http://www.alibuybuy.com"&gt;互联网的那点事&lt;/a&gt;, 2013. |
   &lt;a href="http://www.alibuybuy.com/posts/79797.html"&gt;Permalink&lt;/a&gt; |
   &lt;a href="http://www.alibuybuy.com/posts/79797.html#comments"&gt;2 comments&lt;/a&gt; |
Add to
   &lt;a href="http://del.icio.us/post?url=http://www.alibuybuy.com/posts/79797.html&amp;title=14&amp;#20010;HTML5&amp;#23454;&amp;#29616;&amp;#30340;&amp;#25928;&amp;#26524;&amp;#21512;&amp;#38598;"&gt;del.icio.us&lt;/a&gt;
   &lt;br /&gt;
Post tags:    &lt;a href="http://www.alibuybuy.com/tag/html5" rel="tag"&gt;HTML5&lt;/a&gt;   &lt;br /&gt;
&lt;/small&gt;&lt;/p&gt;


 &lt;table border="0" cellpadding="3" cellspacing="0"&gt;
    
      &lt;tr&gt;
           &lt;td colspan="5"&gt;    &lt;strong&gt;你可能也喜欢：&lt;/strong&gt;&lt;/td&gt;
    &lt;/tr&gt;
    
          &lt;tr&gt;
                   &lt;td valign="top" width="102"&gt;
                        &lt;a href="http://app.wumii.com/ext/redirect?url=http%3A%2F%2Fwww.chedong.com%2Fblog%2Farchives%2F001136.html&amp;from=http%3A%2F%2Fwww.alibuybuy.com%2Fposts%2F79797.html" target="_blank" title="CC China 2.5&amp;#21327;&amp;#35758;&amp;#27491;&amp;#24335;&amp;#21457;&amp;#24067;"&gt;
                             &lt;img height="96px" src="http://static.wumii.cn/site_images/2011/01/11/2021739.png" width="96px"&gt;&lt;/img&gt;     &lt;br /&gt;
                        CC China 2.5协议正式发布 (@chedong)
                    &lt;/a&gt;
                &lt;/td&gt;
                   &lt;td valign="top" width="102"&gt;
                        &lt;a href="http://app.wumii.com/ext/redirect?url=http%3A%2F%2Fwww.chedong.com%2Fblog%2Farchives%2F001162.html&amp;from=http%3A%2F%2Fwww.alibuybuy.com%2Fposts%2F79797.html" target="_blank" title="FireFox&amp;#30340;&amp;#33258;&amp;#21160;&amp;#26356;&amp;#26032; 1.5.0.4 =&gt; 1.5.0.5"&gt;
                             &lt;img height="96px" src="http://static.wumii.cn/site_images/2011/01/11/2021472.png" width="96px"&gt;&lt;/img&gt;     &lt;br /&gt;
                        FireFox的自动更新 1.5.0.4 =&amp;gt; 1.5.0.5 (@chedong)
                    &lt;/a&gt;
                &lt;/td&gt;
                   &lt;td valign="top" width="102"&gt;
                        &lt;a href="http://app.wumii.com/ext/redirect?url=http%3A%2F%2Fwww.alibuybuy.com%2Fposts%2F79620.html&amp;from=http%3A%2F%2Fwww.alibuybuy.com%2Fposts%2F79797.html" target="_blank" title="21&amp;#20010;&amp;#20351;&amp;#29992;HTML5&amp;#35774;&amp;#35745;&amp;#30340;&amp;#26032;&amp;#40092;&amp;#32593;&amp;#31449;"&gt;
                             &lt;img height="96px" src="http://static.wumii.cn/site_images/2013/02/14/73658981.jpg" width="96px"&gt;&lt;/img&gt;     &lt;br /&gt;
                        21个使用HTML5设计的新鲜网站
                    &lt;/a&gt;
                &lt;/td&gt;
                   &lt;td valign="top" width="102"&gt;
                        &lt;a href="http://app.wumii.com/ext/redirect?url=http%3A%2F%2Fwww.alibuybuy.com%2Fposts%2F69418.html&amp;from=http%3A%2F%2Fwww.alibuybuy.com%2Fposts%2F79797.html" target="_blank" title="HTML 5&amp;#28216;&amp;#25103;&amp;#24066;&amp;#22330;&amp;#31350;&amp;#31455;&amp;#26377;&amp;#22810;&amp;#22823;&amp;#65311;"&gt;
                             &lt;img height="96px" src="http://static.wumii.cn/site_images/2012/01/11/13791855.png" width="96px"&gt;&lt;/img&gt;     &lt;br /&gt;
                        HTML 5游戏市场究竟有多大？
                    &lt;/a&gt;
                &lt;/td&gt;
                   &lt;td valign="top" width="102"&gt;
                        &lt;a href="http://app.wumii.com/ext/redirect?url=http%3A%2F%2Fwww.alibuybuy.com%2Fposts%2F19383.html&amp;from=http%3A%2F%2Fwww.alibuybuy.com%2Fposts%2F79797.html" target="_blank" title="HTML5 &amp;#21040;&amp;#24213;&amp;#26159;&amp;#20160;&amp;#20040;&amp;#65311;"&gt;
                             &lt;img height="96px" src="http://static.wumii.cn/site_images/2012/02/26/16116851.jpg" width="96px"&gt;&lt;/img&gt;     &lt;br /&gt;
                        HTML5 到底是什么？
                    &lt;/a&gt;
                &lt;/td&gt;
        &lt;/tr&gt;
    
      &lt;tr&gt;
           &lt;td align="right" colspan="5"&gt;
                &lt;a href="http://www.wumii.com/widget/relatedItems" target="_blank" title="&amp;#26080;&amp;#35269;&amp;#30456;&amp;#20851;&amp;#25991;&amp;#31456;&amp;#25554;&amp;#20214;"&gt;
                无觅
            &lt;/a&gt;
        &lt;/td&gt;
    &lt;/tr&gt;
&lt;/table&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>资料报告 HTML5</category>
      <guid isPermaLink="true">https://itindex.net/detail/42499-html5-%E6%95%88%E6%9E%9C-%E5%90%88%E9%9B%86</guid>
      <pubDate>Wed, 20 Feb 2013 10:40:22 CST</pubDate>
    </item>
    <item>
      <title>Groundwork：一套开源的响应式设计工具</title>
      <link>https://itindex.net/detail/42566-groundwork-%E5%BC%80%E6%BA%90-%E5%93%8D%E5%BA%94%E5%BC%8F</link>
      <description>&lt;p&gt;  &lt;a href="http://groundwork.sidereel.com/?url=home" target="_blank"&gt;Groundwork&lt;/a&gt; 是在Github 上的一个基于 CSS 预处理器的开源项目 ，主要用于快速构建 Web 应用程序。其拥有一个可嵌套的网格系统，非常灵活，几乎可以创建任何布局。&lt;/p&gt;
 &lt;p&gt;除了基本的模板和页面框架，这套工具中还提供了UI效果组件，在设计过程中可以提供高效的布局支持。&lt;/p&gt;
 &lt;p&gt;Groundwork是一个响应式前端框架，基于SASS &amp;amp; Compass 并提供了一个高级的响应式布局，开发人员可通过一个模板进行高效的开发。&lt;/p&gt;
 &lt;p&gt;就像是一个CSS + JavaScript 的HTML5配套工具，本身提供了完整的文档支持使用。&lt;/p&gt;
 &lt;p&gt;  &lt;a href="http://www.alibuybuy.com/?attachment_id=223034" rel="attachment wp-att-223034"&gt;   &lt;img alt="&amp;#21709;&amp;#24212;&amp;#24335;&amp;#27169;&amp;#26495;" height="501" src="http://alibuybuy-img11.stor.sinaapp.com/2013/02/ceae_06-09-31-96.jpg" title="&amp;#21709;&amp;#24212;&amp;#24335;&amp;#27169;&amp;#26495;" width="801"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
 &lt;p&gt;在布局设计上，Groundwork提供了多种UI组件来支持部署，包括导航，按钮，框架，图标。&lt;/p&gt;
 &lt;p&gt;通过运用这些系统中关键的组件，开发人员可以在开发的过程中快速地布局自己页面。&lt;/p&gt;
 &lt;p&gt;  &lt;img alt="groundwork" height="512" src="http://alibuybuy-img11.stor.sinaapp.com/2013/02/5d8b_05-29-46-49.jpg" title="groundwork" width="861"&gt;&lt;/img&gt;&lt;/p&gt;
 &lt;p&gt;Groundwork是一套开源的工具，设计人员可以在这套工具中找到。&lt;/p&gt;
 &lt;p&gt;相关链接：  &lt;a href="https://github.com/groundworkcss/groundwork" target="_blank"&gt;Github源代码&lt;/a&gt;&lt;/p&gt;
 &lt;p&gt;来源：  &lt;a href="http://www.leiphone.com/warlial-html5-css-groundwork.html"&gt;http://www.leiphone.com/warlial-html5-css-groundwork.html&lt;/a&gt;&lt;/p&gt;
 &lt;hr&gt;&lt;/hr&gt;
 &lt;p&gt;  &lt;small&gt;© 推荐 for    &lt;a href="http://www.alibuybuy.com"&gt;互联网的那点事&lt;/a&gt;, 2013. |
   &lt;a href="http://www.alibuybuy.com/posts/79878.html"&gt;Permalink&lt;/a&gt; |
   &lt;a href="http://www.alibuybuy.com/posts/79878.html#comments"&gt;2 comments&lt;/a&gt; |
Add to
   &lt;a href="http://del.icio.us/post?url=http://www.alibuybuy.com/posts/79878.html&amp;title=Groundwork&amp;#65306;&amp;#19968;&amp;#22871;&amp;#24320;&amp;#28304;&amp;#30340;&amp;#21709;&amp;#24212;&amp;#24335;&amp;#35774;&amp;#35745;&amp;#24037;&amp;#20855;"&gt;del.icio.us&lt;/a&gt;
   &lt;br /&gt;
Post tags:    &lt;br /&gt;
&lt;/small&gt;&lt;/p&gt;


 &lt;table border="0" cellpadding="3" cellspacing="0"&gt;
    
      &lt;tr&gt;
           &lt;td colspan="5"&gt;    &lt;strong&gt;你可能也喜欢：&lt;/strong&gt;&lt;/td&gt;
    &lt;/tr&gt;
    
          &lt;tr&gt;
                   &lt;td valign="top" width="102"&gt;
                        &lt;a href="http://app.wumii.com/ext/redirect?url=http%3A%2F%2Fwww.toodaylab.com%2F42565&amp;from=http%3A%2F%2Fwww.alibuybuy.com%2Fposts%2F79878.html" target="_blank" title="&amp;#32763;&amp;#24320;&amp;#20070;&amp;#26412;&amp;#23547;&amp;#25214;&amp;#20809;&amp;#26126;&amp;#65292;Lumio&amp;#21488;&amp;#28783;&amp;#35774;&amp;#35745;"&gt;
                             &lt;img height="96px" src="http://static.wumii.cn/site_images/2013/02/19/74109806.gif" width="96px"&gt;&lt;/img&gt;     &lt;br /&gt;
                        翻开书本寻找光明，Lumio台灯设计 (@toodaylab)
                    &lt;/a&gt;
                &lt;/td&gt;
                   &lt;td valign="top" width="102"&gt;
                        &lt;a href="http://app.wumii.com/ext/redirect?url=http%3A%2F%2Fwww.toodaylab.com%2F588&amp;from=http%3A%2F%2Fwww.alibuybuy.com%2Fposts%2F79878.html" target="_blank" title="&amp;#27249;&amp;#31383;&amp;#35774;&amp;#35745;&amp;#20043;&amp;#19968;"&gt;
                             &lt;img height="96px" src="http://static.wumii.cn/site_images/2010/12/07/1174884.jpg" width="96px"&gt;&lt;/img&gt;     &lt;br /&gt;
                        橱窗设计之一 (@toodaylab)
                    &lt;/a&gt;
                &lt;/td&gt;
                   &lt;td valign="top" width="102"&gt;
                        &lt;a href="http://app.wumii.com/ext/redirect?url=http%3A%2F%2Fwww.alibuybuy.com%2Fposts%2F79121.html&amp;from=http%3A%2F%2Fwww.alibuybuy.com%2Fposts%2F79878.html" target="_blank" title="20&amp;#27454;&amp;#36229;&amp;#26834;&amp;#30340;&amp;#21709;&amp;#24212;&amp;#24335;&amp;#35774;&amp;#35745;&amp;#27979;&amp;#35797;&amp;#20070;&amp;#31614;&amp;#24212;&amp;#29992;"&gt;
                             &lt;img height="96px" src="http://static.wumii.cn/site_images/2013/01/11/69216538.jpg" width="96px"&gt;&lt;/img&gt;     &lt;br /&gt;
                        20款超棒的响应式设计测试书签应用
                    &lt;/a&gt;
                &lt;/td&gt;
                   &lt;td valign="top" width="102"&gt;
                        &lt;a href="http://app.wumii.com/ext/redirect?url=http%3A%2F%2Fwww.alibuybuy.com%2Fposts%2F74614.html&amp;from=http%3A%2F%2Fwww.alibuybuy.com%2Fposts%2F79878.html" target="_blank" title="&amp;#21709;&amp;#24212;&amp;#24335;&amp;#32593;&amp;#39029;&amp;#35774;&amp;#35745;&amp;#38656;&amp;#35201;&amp;#32771;&amp;#34385;&amp;#30340;5&amp;#22823;&amp;#39044;&amp;#31639;&amp;#22240;&amp;#32032;"&gt;
                             &lt;img height="96px" src="http://static.wumii.cn/site_images/2012/07/05/33813965.jpg" width="96px"&gt;&lt;/img&gt;     &lt;br /&gt;
                        响应式网页设计需要考虑的5大预算因素
                    &lt;/a&gt;
                &lt;/td&gt;
                   &lt;td valign="top" width="102"&gt;
                        &lt;a href="http://app.wumii.com/ext/redirect?url=http%3A%2F%2Fwww.alibuybuy.com%2Fposts%2F64803.html&amp;from=http%3A%2F%2Fwww.alibuybuy.com%2Fposts%2F79878.html" target="_blank" title="&amp;#21709;&amp;#24212;&amp;#24615;&amp;#35774;&amp;#35745;&amp;#20013;&amp;#30340;&amp;#8221;&amp;#37329;&amp;#21457;&amp;#22899;&amp;#23401;&amp;#8221;&amp;#26041;&amp;#27861;"&gt;
                             &lt;img height="96px" src="http://static.wumii.cn/site_images/2011/09/10/29801607.png" width="96px"&gt;&lt;/img&gt;     &lt;br /&gt;
                        响应性设计中的”金发女孩”方法
                    &lt;/a&gt;
                &lt;/td&gt;
        &lt;/tr&gt;
    
      &lt;tr&gt;
           &lt;td align="right" colspan="5"&gt;
                &lt;a href="http://www.wumii.com/widget/relatedItems" target="_blank" title="&amp;#26080;&amp;#35269;&amp;#30456;&amp;#20851;&amp;#25991;&amp;#31456;&amp;#25554;&amp;#20214;"&gt;
                无觅
            &lt;/a&gt;
        &lt;/td&gt;
    &lt;/tr&gt;
&lt;/table&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/42566-groundwork-%E5%BC%80%E6%BA%90-%E5%93%8D%E5%BA%94%E5%BC%8F</guid>
      <pubDate>Fri, 22 Feb 2013 21:11:01 CST</pubDate>
    </item>
    <item>
      <title>Flurry：揭秘用户参与度最高的应用类别</title>
      <link>https://itindex.net/detail/42392-flurry-%E6%8F%AD%E7%A7%98-%E7%94%A8%E6%88%B7</link>
      <description>&lt;p&gt;  &lt;a href="http://www.199it.com/archives/tag/flurry" target="_blank" title="&amp;#26597;&amp;#30475; Flurry &amp;#20013;&amp;#30340;&amp;#20840;&amp;#37096;&amp;#25991;&amp;#31456;"&gt;Flurry&lt;/a&gt;近期报告显示参与度最高的应用不是游戏，银行客户端以及社交网络，而是那些简单的、用户频繁登录的实用程序、新闻、天气等。这些应用的用户数量庞大，且在会惯性回归，有的甚至在放弃应用三个月后再次使用。&lt;/p&gt;
 &lt;p&gt;  &lt;a href="http://www.199it.com/archives/tag/flurry" target="_blank" title="&amp;#26597;&amp;#30475; Flurry &amp;#20013;&amp;#30340;&amp;#20840;&amp;#37096;&amp;#25991;&amp;#31456;"&gt;Flurry&lt;/a&gt;对最受欢迎应用的90天用户留存率进行了跟踪，  &lt;a href="http://www.199it.com/archives/tag/flurry" target="_blank" title="&amp;#26597;&amp;#30475; Flurry &amp;#20013;&amp;#30340;&amp;#20840;&amp;#37096;&amp;#25991;&amp;#31456;"&gt;Flurry&lt;/a&gt;把用户留存率和用户使用频率综合在一起观察。&lt;/p&gt;
 &lt;p&gt;Flurry发现天气类应用是用户留存率最高的应用类别，73%的用户在安装30天后仍会打开应用，63%的用户在安装60天后还会打开应用，55%的用户会在安装90天后打开应用。&lt;/p&gt;
 &lt;p&gt;有意思的是用户留存率最高的天气类应用却不是使用频率最高的，每周用户独立访问均值为3.7。&lt;/p&gt;
 &lt;p&gt;  &lt;a href="http://www.alibuybuy.com/?attachment_id=17866" rel="attachment wp-att-17866"&gt;   &lt;img alt="" height="522" src="http://alibuybuy-img11.stor.sinaapp.com/2013/02/a5c8_201.jpg" title="201" width="500"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
 &lt;p&gt;使用最频繁的应用是音乐类、信息交流类以及社交游戏类，但是仅有信息交流类应用30天用户留存率为50%左右。Flurry发现62%的用户在安装1个月后还会打开信息交流类应用，但社交游戏类应用和音乐类应用30天用户打开率分别为47%和39%。&lt;/p&gt;
 &lt;p&gt;  &lt;a href="http://www.alibuybuy.com/?attachment_id=17867" rel="attachment wp-att-17867"&gt;   &lt;img alt="" height="917" src="http://alibuybuy-img11.stor.sinaapp.com/2013/02/40b1_361.jpg" title="36" width="500"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
 &lt;p&gt;整体上看，Flurry推荐开发者考虑选择开发高留存率的应用类别开发，可以通过订阅和广告形式进行货币化，而单次付费下载类应用存在着较高的用户流失风险。&lt;/p&gt;
 &lt;p&gt;Flurry还发现应用内购是种有效的货币化方式，尤其是用户使用频繁的应用，暂且不用考虑太多这类应用的留存率。&lt;/p&gt;
 &lt;p&gt; &lt;/p&gt;
 &lt;p&gt; &lt;/p&gt;
 &lt;p&gt; &lt;/p&gt;
 &lt;p&gt;文章来源：Inside Mobile Apps&lt;/p&gt;
 &lt;p&gt; &lt;/p&gt;
 &lt;hr&gt;&lt;/hr&gt;
 &lt;p&gt;  &lt;small&gt;© 推荐 for    &lt;a href="http://www.alibuybuy.com"&gt;互联网的那点事&lt;/a&gt;, 2013. |
   &lt;a href="http://www.alibuybuy.com/posts/79721.html"&gt;Permalink&lt;/a&gt; |
   &lt;a href="http://www.alibuybuy.com/posts/79721.html#comments"&gt;No comment&lt;/a&gt; |
Add to
   &lt;a href="http://del.icio.us/post?url=http://www.alibuybuy.com/posts/79721.html&amp;title=Flurry&amp;#65306;&amp;#25581;&amp;#31192;&amp;#29992;&amp;#25143;&amp;#21442;&amp;#19982;&amp;#24230;&amp;#26368;&amp;#39640;&amp;#30340;&amp;#24212;&amp;#29992;&amp;#31867;&amp;#21035;"&gt;del.icio.us&lt;/a&gt;
   &lt;br /&gt;
Post tags:    &lt;br /&gt;
&lt;/small&gt;&lt;/p&gt;


 &lt;table border="0" cellpadding="3" cellspacing="0"&gt;
    
      &lt;tr&gt;
           &lt;td colspan="5"&gt;    &lt;strong&gt;你可能也喜欢：&lt;/strong&gt;&lt;/td&gt;
    &lt;/tr&gt;
    
          &lt;tr&gt;
                   &lt;td valign="top" width="102"&gt;
                        &lt;a href="http://app.wumii.com/ext/redirect?url=http%3A%2F%2Fblog.wumii.com%2F%3Fp%3D452&amp;from=http%3A%2F%2Fwww.alibuybuy.com%2Fposts%2F79721.html" target="_blank" title="&amp;#26080;&amp;#35269;&amp;#8220;&amp;#21916;&amp;#27426;&amp;&amp;#25512;&amp;#33616;&amp;#8221;&amp;#25353;&amp;#38062;&amp;#21450;&amp;#20010;&amp;#24615;&amp;#21270;&amp;#25512;&amp;#33616;&amp;#24212;&amp;#29992;&amp;#21457;&amp;#24067;"&gt;
                             &lt;img height="96px" src="http://static.wumii.cn/site_images/2011/09/06/28611384.png" width="96px"&gt;&lt;/img&gt;     &lt;br /&gt;
                        无觅“喜欢&amp;amp;推荐”按钮及个性化推荐应用发布 (@wumii)
                    &lt;/a&gt;
                &lt;/td&gt;
                   &lt;td valign="top" width="102"&gt;
                        &lt;a href="http://app.wumii.com/ext/redirect?url=http%3A%2F%2Fwww.xiaoqiushui.com%2Farchives%2F7031&amp;from=http%3A%2F%2Fwww.alibuybuy.com%2Fposts%2F79721.html" target="_blank" title="2013&amp;#26032;&amp;#21152;&amp;#22369;&amp;#34892;&amp;#65306;&amp;#20063;&amp;#31639;&amp;#25915;&amp;#30053;&amp;#21543;&amp;#65288;&amp;#24212;&amp;#29992;&amp;#12289;&amp;#22320;&amp;#38081;&amp;#12289;&amp;#32593;&amp;#32476;&amp;#31561;&amp;#65289;"&gt;
                             &lt;img height="96px" src="http://static.wumii.cn/site_images/2013/02/13/73579210.png" width="96px"&gt;&lt;/img&gt;     &lt;br /&gt;
                        2013新加坡行：也算攻略吧（应用、地铁、网络等） (@xiaoqiushui)
                    &lt;/a&gt;
                &lt;/td&gt;
                   &lt;td valign="top" width="102"&gt;
                        &lt;a href="http://app.wumii.com/ext/redirect?url=http%3A%2F%2Fwww.alibuybuy.com%2Fposts%2F49959.html&amp;from=http%3A%2F%2Fwww.alibuybuy.com%2Fposts%2F79721.html" target="_blank" title="&amp;#29992;&amp;#25143;&amp;#20307;&amp;#39564;&amp;#65306;&amp;#31227;&amp;#21160;&amp;#24212;&amp;#29992;&amp;#21462;&amp;#24471;&amp;#25104;&amp;#21151;&amp;#30340;&amp;#20851;&amp;#38190;&amp;#65281;"&gt;
                             &lt;img height="96px" src="http://static.wumii.cn/site_images/2012/06/18/31430091.jpg" width="96px"&gt;&lt;/img&gt;     &lt;br /&gt;
                        用户体验：移动应用取得成功的关键！
                    &lt;/a&gt;
                &lt;/td&gt;
                   &lt;td valign="top" width="102"&gt;
                        &lt;a href="http://app.wumii.com/ext/redirect?url=http%3A%2F%2Fwww.alibuybuy.com%2Fposts%2F73073.html&amp;from=http%3A%2F%2Fwww.alibuybuy.com%2Fposts%2F79721.html" target="_blank" title="Flurry&amp;#65306;&amp;#22270;&amp;#29255;&amp;#21644;&amp;#35270;&amp;#39057;&amp;#24212;&amp;#29992;&amp;#22686;&amp;#38271;&amp;#26368;&amp;#24555; &amp;#31227;&amp;#21160;&amp;#24212;&amp;#29992;&amp;#39118;&amp;#22836;&amp;#27491;&amp;#21170;"&gt;
                             &lt;img height="96px" src="http://static.wumii.cn/site_images/2012/05/09/25592048.png" width="96px"&gt;&lt;/img&gt;     &lt;br /&gt;
                        Flurry：图片和视频应用增长最快 移动应用风头正劲
                    &lt;/a&gt;
                &lt;/td&gt;
                   &lt;td valign="top" width="102"&gt;
                        &lt;a href="http://app.wumii.com/ext/redirect?url=http%3A%2F%2Fwww.alibuybuy.com%2Fposts%2F27499.html&amp;from=http%3A%2F%2Fwww.alibuybuy.com%2Fposts%2F79721.html" target="_blank" title="&amp;#29992;&amp;#25143;&amp;#22914;&amp;#20309;&amp;#20351;&amp;#29992;&amp;#24212;&amp;#29992;&amp;#31243;&amp;#24207;"&gt;
                             &lt;img height="96px" src="http://static.wumii.cn/site_images/2012/06/29/32982633.jpg" width="96px"&gt;&lt;/img&gt;     &lt;br /&gt;
                        用户如何使用应用程序
                    &lt;/a&gt;
                &lt;/td&gt;
        &lt;/tr&gt;
    
      &lt;tr&gt;
           &lt;td align="right" colspan="5"&gt;
                &lt;a href="http://www.wumii.com/widget/relatedItems" target="_blank" title="&amp;#26080;&amp;#35269;&amp;#30456;&amp;#20851;&amp;#25991;&amp;#31456;&amp;#25554;&amp;#20214;"&gt;
                无觅
            &lt;/a&gt;
        &lt;/td&gt;
    &lt;/tr&gt;
&lt;/table&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/42392-flurry-%E6%8F%AD%E7%A7%98-%E7%94%A8%E6%88%B7</guid>
      <pubDate>Sun, 17 Feb 2013 09:43:04 CST</pubDate>
    </item>
    <item>
      <title>中文如何最有內涵地表达“我爱你”？</title>
      <link>https://itindex.net/detail/52283-%E4%B8%AD%E6%96%87-%E5%9C%B0%E8%A1%A8-%E6%88%91%E7%88%B1%E4%BD%A0</link>
      <description>&lt;p&gt;网友提问：夏目漱石问他的学生如何翻译“I love you”,有学生翻译成“我爱你”。夏目说：日本人怎么可能讲这样的话?“今夜月色很好”就足够了。还有类似含蓄美妙的表达么?&lt;/p&gt;
 &lt;p&gt;网友回复：&lt;/p&gt;
 &lt;p&gt;网友1、王家卫有一次让他的演员翻译 I love you，有的演员翻译成我爱你。墨镜王说，怎么可以讲这样的 话，应该是“我已经很久没有坐过摩托车了，也很久未试过这么接近一个人了，虽然我知道这条路不是很远。我知道不久我就会下车。可是，这一分钟，我觉得好暖。”&lt;/p&gt;
 &lt;p&gt;网友2、陌上花开，可缓缓归矣。&lt;/p&gt;
 &lt;p&gt;网友3、我有一条祖传的染色体想送给你。&lt;/p&gt;
 &lt;p&gt;网友4、&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;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;网友5、&lt;/p&gt;
 &lt;p&gt;华罗庚有一次问他的学生如何翻译”i love you”，有学生翻译成“我爱你”。华罗庚说：搞数学的怎么可能讲这样的话?“r=a(1-sinθ)” 就足够了。&lt;/p&gt;
 &lt;p&gt;张爱玲有一次问她的朋友如何翻译”i love you” ， 有人翻译成“我爱你”。张爱玲说：文人怎么可能讲这样的话?“塬来你也在这裡。”就足够了。&lt;/p&gt;
 &lt;p&gt;刘心武有一次问他的学生如何翻译“i love you”，有人翻译成“我爱你”。刘心武说：研究红学的人怎么可能讲这样的话?“这个妹妹我曾见过的”，就足够了。&lt;/p&gt;
 &lt;p&gt;网友6、如果你下午四点能来，那么我从三点就开始感到幸福了&lt;/p&gt;
 &lt;p&gt;网友7、周星星裤脚高高吊起，在海风里对着张柏芝的背影喊了一句：我养你啊。&lt;/p&gt;
 &lt;p&gt;网友8、“庭有枇杷树,吾妻死之年所手植也,今已亭亭如盖矣。 ”&lt;/p&gt;
 &lt;p&gt;网友9、【春风再美也比不上你的笑，没见过你的人不会明了。】&lt;/p&gt;
 &lt;p&gt;网友10、“这个很好吃!给你吃!……好吃吗?”（吃货的世界真美好~~~）&lt;/p&gt;
 &lt;p&gt;网友11、“春水初生，春林初盛。春风十里，不如你”&lt;/p&gt;
 &lt;p&gt;网友12、你是我天边最美的云彩!（ &amp;gt;_&amp;lt; 实在忍不住摘下这枚答案。。。。）&lt;/p&gt;
 &lt;p&gt;网友13、你静静地坐在那里，我就失去了所有的理智。&lt;/p&gt;
 &lt;table border="0" cellpadding="3" cellspacing="0"&gt;
    
      &lt;tr&gt;
           &lt;td colspan="5"&gt;    &lt;strong&gt;您可能也喜欢：&lt;/strong&gt;&lt;/td&gt;
    &lt;/tr&gt;
    
          &lt;tr&gt;
                   &lt;td valign="top" width="102"&gt;
                        &lt;a href="http://app.wumii.com/ext/redirect?url=http%3A%2F%2Fwww.zreading.net%2Fchinese-of-miaojue%2F&amp;from=http%3A%2F%2Fwww.zreading.net%2Fexpression-i-love-you%2F" target="_blank" title="&amp;#20013;&amp;#25991;&amp;#30340;&amp;#22937;&amp;#32477;"&gt;
                             &lt;img height="96px" src="http://static.wumii.cn/site_images/ti/55yuC2zB.jpg?i=HgyrQRqW" width="96px"&gt;&lt;/img&gt;     &lt;br /&gt;
                        中文的妙绝
                    &lt;/a&gt;
                &lt;/td&gt;
                   &lt;td valign="top" width="102"&gt;
                        &lt;a href="http://app.wumii.com/ext/redirect?url=http%3A%2F%2Fwww.zreading.net%2Fimproved-english-chinese%2F&amp;from=http%3A%2F%2Fwww.zreading.net%2Fexpression-i-love-you%2F" target="_blank" title="&amp;#20313;&amp;#20809;&amp;#20013;&amp;#65306;&amp;#24590;&amp;#26679;&amp;#25913;&amp;#36827;&amp;#33521;&amp;#24335;&amp;#20013;&amp;#25991;&amp;#65311;"&gt;
                             &lt;img height="96px" src="http://static.wumii.cn/site_images/ti/rnXgBIFp.jpg?i=vpBw5pV4" width="96px"&gt;&lt;/img&gt;     &lt;br /&gt;
                        余光中：怎样改进英式中文？
                    &lt;/a&gt;
                &lt;/td&gt;
                   &lt;td valign="top" width="102"&gt;
                        &lt;a href="http://app.wumii.com/ext/redirect?url=http%3A%2F%2Fwww.zreading.net%2Famazon-predicament%2F&amp;from=http%3A%2F%2Fwww.zreading.net%2Fexpression-i-love-you%2F" target="_blank" title="&amp;#20122;&amp;#39532;&amp;#36874;&amp;#30340;&amp;#20013;&amp;#22269;&amp;#22256;&amp;#22659;"&gt;
                             &lt;img height="96px" src="http://static.wumii.cn/site_images/ti/F2DBd8OE.jpg?i=NGof6vjY" width="96px"&gt;&lt;/img&gt;     &lt;br /&gt;
                        亚马逊的中国困境
                    &lt;/a&gt;
                &lt;/td&gt;
                   &lt;td valign="top" width="102"&gt;
                        &lt;a href="http://app.wumii.com/ext/redirect?url=http%3A%2F%2Fwww.zreading.net%2Fscience-and-the-nobel-prize%2F&amp;from=http%3A%2F%2Fwww.zreading.net%2Fexpression-i-love-you%2F" target="_blank" title="&amp;#26085;&amp;#26412;&amp;#30340;&amp;#25945;&amp;#32946;&amp;#26159;&amp;#20063;&amp;#20559;&amp;#21521;&amp;#24212;&amp;#35797;&amp;#30340;&amp;#65292;&amp;#20026;&amp;#20309;&amp;#26085;&amp;#26412;&amp;#26377;&amp;#33258;&amp;#28982;&amp;#31185;&amp;#23398;&amp;#35834;&amp;#36125;&amp;#23572;&amp;#22870;&amp;#32780;&amp;#25105;&amp;#20204;&amp;#27809;&amp;#26377;&amp;#65311;"&gt;
                             &lt;img height="96px" src="http://static.wumii.cn/site_images/ti/fssLJeV0.jpg?i=ksdUEqGr" width="96px"&gt;&lt;/img&gt;     &lt;br /&gt;
                        日本的教育是也偏向应试的，为何日本有自然科学诺贝尔奖而我们没有？
                    &lt;/a&gt;
                &lt;/td&gt;
                   &lt;td valign="top" width="102"&gt;
                        &lt;a href="http://app.wumii.com/ext/redirect?url=http%3A%2F%2Fwww.zreading.net%2Fcade-step-tangle%2F&amp;from=http%3A%2F%2Fwww.zreading.net%2Fexpression-i-love-you%2F" target="_blank" title="&amp;#20154;&amp;#24037;&amp;#21890;&amp;#20859;&amp;#30340;&amp;#27493;&amp;#27493;&amp;#32416;&amp;#32467;"&gt;
                             &lt;img height="96px" src="http://static.wumii.cn/site_images/ti/SG5qutCx.jpg?i=1dJvfbhiL" width="96px"&gt;&lt;/img&gt;     &lt;br /&gt;
                        人工喂养的步步纠结
                    &lt;/a&gt;
                &lt;/td&gt;
        &lt;/tr&gt;
    
      &lt;tr&gt;
           &lt;td align="right" colspan="5"&gt;
                &lt;a href="http://www.wumii.com/widget/relatedItems" target="_blank" title="&amp;#26080;&amp;#35269;&amp;#20851;&amp;#32852;&amp;#25512;&amp;#33616;"&gt;
                无觅
            &lt;/a&gt;
        &lt;/td&gt;
    &lt;/tr&gt;
&lt;/table&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/52283-%E4%B8%AD%E6%96%87-%E5%9C%B0%E8%A1%A8-%E6%88%91%E7%88%B1%E4%BD%A0</guid>
      <pubDate>Tue, 23 Dec 2014 20:59:56 CST</pubDate>
    </item>
    <item>
      <title>架构选择和团队影响</title>
      <link>https://itindex.net/detail/51729-%E6%9E%B6%E6%9E%84-%E9%80%89%E6%8B%A9-%E5%9B%A2%E9%98%9F</link>
      <description>&lt;blockquote&gt;  &lt;p&gt;转自：https://www.linkedin.com/today/post/article/20140920230659-284548454-%E6%9E%B6%E6%9E%84%E9%80%89%E6%8B%A9%E5%92%8C%E5%9B%A2%E9%98%9F%E5%BD%B1%E5%93%8D&lt;/p&gt;
  &lt;p&gt;   &lt;a href="http://blog.fulin.org/files/2014/10/338e8da.jpg"&gt;    &lt;img alt="&amp;#26550;&amp;#26500;&amp;#36873;&amp;#25321;" height="181" src="http://blog.fulin.org/files/2014/10/338e8da-300x181.jpg" width="300"&gt;&lt;/img&gt;&lt;/a&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;h3&gt;1、对开源的使用和态度&lt;/h3&gt;
 &lt;p&gt;要不要使用开源软件？以何种方式/态度对待开源和社区？&lt;/p&gt;
 &lt;p&gt;如今的软件/互联网企业，相信已经很难找出不使用开源软件/库的了，但对待开源的态度，差别还是很大。&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;/p&gt;
 &lt;ul&gt;
  &lt;li&gt;投入更有效，不会大量浪费在重复发明轮子上；&lt;/li&gt;
  &lt;li&gt;视野更开阔，对技术/软件的认识更精湛；&lt;/li&gt;
  &lt;li&gt;团队的沟通/协作更开放、更高效（   &lt;em&gt;注：和对代码相当了解的人讨论问题，比起对代码所知了了的人，当然更高效；而开源所体现出来的开放和坦诚，也更容易赢得信任和尊重&lt;/em&gt;）。&lt;/li&gt;
&lt;/ul&gt;
 &lt;p&gt; &lt;/p&gt;
 &lt;p&gt;对于团队拥抱开源后的提醒，主要在于两点：&lt;/p&gt;
 &lt;ul&gt;
  &lt;li&gt;对发散的精力/兴趣的重新聚焦，聚焦于产品、目标、质量和进度等&lt;/li&gt;
  &lt;li&gt;开源世界里选择众多，深刻了解才能作出明智选择&lt;/li&gt;
&lt;/ul&gt;
 &lt;p&gt; &lt;/p&gt;
 &lt;h3&gt;2、代码组织和存取&lt;/h3&gt;
 &lt;p&gt;是所有代码集中存放在一个大源码仓库，严格控制签入签出；还是不同模块/项目代的码存放不同的源码仓库，各自管理签入签出？&lt;/p&gt;
 &lt;p&gt; &lt;/p&gt;
 &lt;p&gt;这个问题看起来不起眼，但其实影响巨大，请让我细细分析：&lt;/p&gt;
 &lt;p&gt;  &lt;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;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;p&gt;  &lt;strong&gt;联结&lt;/strong&gt; -   &lt;em&gt;如何把各自开发的模块/库联接到一起？&lt;/em&gt;maven、npm、bower 这些包管理工具以及公司自己搭建的发布/仓库服务器是这个问题的最好回答。&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;发现&lt;/strong&gt; -   &lt;em&gt;如何发现、浏览独立开发的模块/库源码？&lt;/em&gt;github 以及 gitlab、gitbucket、gogs、Gitblit 都是现成的答案。&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;协同&lt;/strong&gt; -   &lt;em&gt;如何协同开发和发布？&lt;/em&gt;如果对其他模块的修改是它现有结构的自然扩展，那由应用方统一修改比较合适；如果其他模块需要做较大调整才能支持新需求，那联合开发会是更好的选择。至于测试、发布，可以在被依赖库的私人发布版的基础上先进行测试，等改动被模块维护者接纳后再切换到依赖库的官方发布版、复查并发布。&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;划分&lt;/strong&gt; -   &lt;em&gt;如何划分不同模块/库的职责？&lt;/em&gt;这是一个真正的问题，相对于设计模式、开发技巧、代码规范来说；但对这个问题的讨论超出了这篇文章的范围，我不打算在这展开。&lt;/p&gt;
 &lt;p&gt; &lt;/p&gt;
 &lt;h3&gt;3、框架选择&lt;/h3&gt;
 &lt;p&gt;是选择一个大而全的框架作为主要开发框架、还是选择一个小而精的？&lt;/p&gt;
 &lt;p&gt; &lt;/p&gt;
 &lt;p&gt;这个问题不好回答。要知道，我们选择任何一个主力开发框架，都会综合考虑很多因素：&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;开发效率&lt;/strong&gt; - 大而全的框架，如 AngularJs，往往强调角色分工，并提供配套工具，所以对于本身严格分工、并且有大量新手的企业，开发效率显然要高，换句话说，大而全的框架更容易出活。&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;功能完备性&lt;/strong&gt; - 这个粗略看来，当然是大而全的框架占优，毕竟这是它卖点；不过这只是表面现象，从潜在的、长远的来看，未必，小而精的框架可能功能更丰富。这方面一个很好的例子，是：extJs、dojo 和 jQuery。&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;定制可扩展性&lt;/strong&gt; - 大而全的框架往往也提供很多定制和扩展，像 Struts2、Play！，但这更像是赠品，毕竟它的成功，主要靠内置功能；小而精的框架这一块做得会更用心，毕竟它主要靠第三方参与。&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;可深入性&lt;/strong&gt; - 这是另一个小而精的框架胜出的地方，毕竟这个对取得成功影响巨大；写得糟糕、不知所云的代码，会直接降低参与者的兴趣。这个对于我们定位问题、fix bug 非常重要。&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;社区/生态&lt;/strong&gt; - 大而全的框架大企业/组织撑腰，往往能迅速建立起社区/生态，但这种社区往往一家独大、不是真正的众人拾柴/百花齐放，因为它更需要的是社区的推广、而不是贡献，一旦主导企业/组织放弃，其他参与者还能不能够支持/愿不愿意跟随就很难说了；相反，小而精的框架的社区来的更实在，任何一个人退出都可以找到人接上。这方面的例子可以举：AngularJs 和 Vue.js，Play！和 Scalatra。&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;em&gt;一群人开发的东西、需要一群人来增强/维护；几个人开发的东西、几个人就可以增强/维护。&lt;/em&gt;&lt;/p&gt;
 &lt;p&gt; &lt;/p&gt;
 &lt;h3&gt;4、方案的简单/复杂&lt;/h3&gt;
 &lt;p&gt;设计模块/方案的时候是尽量简单、够用就好，还是不怕复杂、一应俱全？是小心的控制复杂度，还是任他蔓延？&lt;/p&gt;
 &lt;p&gt;这个问题似乎不需要回答，当然是简单、够用就好，并且，要保持简单；这也是我前任上司在听到我做一个重大项目的方案时、总在思考这个可能那个可能的时候的第一反应。&lt;/p&gt;
 &lt;p&gt; &lt;/p&gt;
 &lt;p&gt;不过事情并不是这么简单，你们谁会想到部门年度最大项目发布后设计者和主要开发者会马上被调离、由一群新入公司或没有参与这个项目的人着手定制、推广到相关产品线；这个时候就体现出深思熟虑的威力了，没有太多的问询和顾虑，事情进展的异常顺利，除了在一个项目原本就不支持的地方产生的一系列问题外；我太清楚初版对后续版本的影响，也太了解这家公司做事的方式了。&lt;/p&gt;
 &lt;p&gt;（  &lt;em&gt;补充：这个项目实现 90% 以上逻辑的代码，只有 2000 来行，代码简单没有玄机，这是很多人自由修改而没有造成问题的原因；组件化和平台本身就是设计目标，这是它能迅速推广并作为产品线/部门大部分代码底层基础的根本；其实是有设计文档的，而且我一直鼓励阅读它以获得更深刻的认识，只是很多人一再用实践证明，不看文档也行。&lt;/em&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;em&gt;考虑的很多并不意味着实现就复杂，相反，考虑全面才能真正取舍、提炼、触及本质，而本质往往是简单的。&lt;/em&gt;）&lt;/p&gt;
 &lt;p&gt; &lt;/p&gt;
 &lt;p&gt;再来看看简单、够用的另一种方式：别想太多，做出来就行；效果出来后，又提一些要求，调整、打补丁；换人，继续 … 在已有架构下的 UI 调整，采取这种方式是可以的；但涉及到核心逻辑开发也这么做的话，几轮迭代下来，估计谁也说不清代码的逻辑和目的了；而不清楚逻辑和目的，就无法有效重构，无法偿还这笔技术债了。&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;h3&gt;5、接口的风格取向&lt;/h3&gt;
 &lt;p&gt;选择工具/库时，是特别偏爱声明式/傻瓜式的，还是也会有意识的选择一些编程式的（看起来有门槛实际上更简单）？&lt;/p&gt;
 &lt;p&gt; &lt;/p&gt;
 &lt;p&gt;这方面一个很好的例子是 Grunt 和 Gulp：&lt;/p&gt;
 &lt;p&gt;Grunt 主要提供声明式接口、有着庞大的插件社区、提供更为详尽的文档，对于新手更为友好一些；Gulp 则只有编程接口、插件较少、文档也简单很多，初看门槛挺高。但实际上正相反，Gulp 更简单：&lt;/p&gt;
 &lt;ul&gt;
  &lt;li&gt;只有编程接口，是因为它不想隐瞒底层原理；&lt;/li&gt;
  &lt;li&gt;它的基本模型–Stream（类似 Unix 管道）–是一个有点难懂、但实际上非常简单/强大的东西；&lt;/li&gt;
  &lt;li&gt;为它开发的插件都非常简单，没有什么需要特别说明的（   &lt;em&gt;p.s. 因为处理结果可以很简单容易传递给下一个插件，更为复杂的功能可以通过排序/组合来达到而不需要像 Grunt 插件那样去实现，所以 Gulp 插件只需实现非常单一的功能。同样目的的插件，Grunt 往往好几百行，Gulp 几十行就够了&lt;/em&gt;）；&lt;/li&gt;
  &lt;li&gt;Gulp 插件更少，实际上它也不需要那么多的插件，排列/组合能达到比 Grunt 更丰富的效果；&lt;/li&gt;
  &lt;li&gt;Gulp 配置更简单，更容易理解；&lt;/li&gt;
  &lt;li&gt;最后值得一提的是，由于重用中间结果，Gulp 执行更快，在复杂任务中速度提升更加明显。&lt;/li&gt;
&lt;/ul&gt;
 &lt;p&gt; &lt;/p&gt;
 &lt;p&gt;这种选择对团队的影响是：&lt;/p&gt;
 &lt;ul&gt;
  &lt;li&gt;傻瓜式接口在使用者和开发者之间划出了鸿沟，开发者精通内部细节、而使用者倾向于一知半解，久之就造成了开发者和使用者之间的严重脱节；&lt;/li&gt;
  &lt;li&gt;而编程式接口模糊了开发者和使用者之间的界限，开发者也使用这工具、因为他可能也做普通开发，而使用者也经常对工具作出改进，所以都是工具的主人。&lt;/li&gt;
&lt;/ul&gt;
 &lt;p&gt; &lt;/p&gt;
 &lt;p&gt;  &lt;em&gt;更新：我们可能已经习惯了封装/隐藏，总是把对当前用户不熟悉的东西隐藏起来，但有时这些要隐藏的东西实际上并不复杂，一旦理解，就非常容易使用。&lt;/em&gt;&lt;/p&gt;
 &lt;p&gt; &lt;/p&gt;
 &lt;h3&gt;6、语言/范式和代码规范&lt;/h3&gt;
 &lt;p&gt;是允许多语言/范式、多风格代码并存，还是单一语言、代码规范非常严格、连缩进用 tab 还是空格都有规定？&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;一次公司内部讨论，关于代码规范。在为代码缩进该用 tab 还是（手敲）空格、空两格还是空四格而纠结的时候，我“不适当”的插了一句：“你们都读过 JDK 的源码吧，那你们怎么看待这些代码？他们比我们自己写的优秀很多，但可能通不过你们今天讨论的代码规范。”&lt;/p&gt;
 &lt;p&gt;还是这个热烈推动代码规范的人，来找我做 code review。代码问题很多，但我只提了一点：“你开发的是组件。那你告诉我，你的组件跟应用代码之间的界限在哪？”（p.s. 在我这碰了灰，这个人就去找后来是他/她下属的人，轻易的通过了 code review。  &lt;em&gt;那么，好吧。&lt;/em&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;h3&gt;7、自动化/工具链&lt;/h3&gt;
 &lt;p&gt;工具链、开发/运行环境不可避免的越来越复杂，应当有足够多的自动化工具来简化日常工作。这方面缺乏的话，开发人员每天光修改配置、部署服务就要花费大量时间，真正能投入开发的时间就寥寥了。&lt;/p&gt;
 &lt;p&gt;对自动化工具的有效使用，可以大幅降低规章、流程等管理工具的使用，提升做事敏捷性。&lt;/p&gt;
 &lt;p&gt; &lt;/p&gt;
 &lt;p&gt;.&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;架构选择和技术策略、环境氛围、管理方式   &lt;strong&gt;经常是&lt;/strong&gt;保持一致的。&lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt;在一个技术策略相对保守，高度集权、充满控制的环境中，隔离开源、代码集中存放、大而全的框架、复杂方案、傻瓜式接口、单一语言、严格代码规范、较少的自动化工具是很自然的结果，在企业内部环境下也是  &lt;em&gt;适当&lt;/em&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;em&gt;（p.s. 话说一些规章规范的制定，确实不太注重它的合理性和可依从性，前面提到的代码规范是一例，把最佳实践（a.k.a 公认较好的建议）上升为规定是另一例。）&lt;/em&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;em&gt;* 文章开头的那张图片，其实是我目前架构和生态的截图。相关说明和补充如下：&lt;/em&gt;&lt;/p&gt;
 &lt;ul&gt;
  &lt;li&gt;   &lt;em&gt;图中涉及的多是 Scala 和 Javascript/Nodejs 的框架/库；    &lt;em&gt;目前公司     &lt;em&gt;主要&lt;/em&gt;工作语言是 Java，但&lt;/em&gt;我个人其实已经全面转向     &lt;em&gt;Scala 和 Javascript/Nodejs 了&lt;/em&gt;&lt;/em&gt;&lt;/li&gt;
  &lt;li&gt;   &lt;em&gt;我自己的一些开源项目，像 slick-pg、form-binder、brbower，以及对其他开源项目的贡献，其实是对这一架构的增强&lt;/em&gt;&lt;/li&gt;
  &lt;li&gt;   &lt;em&gt;我提倡把大项目划分成独立小项目，每一个都安排专人负责；为了多项目环境下工作方便，我已经开发了一套自动化脚本（p.s. 暂未开源）&lt;/em&gt;&lt;/li&gt;
  &lt;li&gt;   &lt;em&gt;我的技术策略相对激进，主张直接面对看似不可能的问题，但要量力而行（不仅关心能不能实现，也要注意新方案/技术的影响、以及后续的维护成本）；我把初始架构当作提供支撑的起点，方便他人和我进一步细化和调整&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
 &lt;div&gt;&lt;/div&gt;
 &lt;div&gt;转自：https://www.linkedin.com/today/post/article/20140920230659-284548454-%E6%9E%B6%E6%9E%84%E9%80%89%E6%8B%A9%E5%92%8C%E5%9B%A2%E9%98%9F%E5%BD%B1%E5%93%8D&lt;/div&gt;
 &lt;div&gt;&lt;/div&gt;
&lt;div&gt; &lt;a href="https://itindex.net/"  title="IT 资讯"&gt;&lt;img src="https://itindex.net/images/iconWarning.gif" title="IT 资讯" border="0"/&gt; &lt;/a&gt;</description>
      <category>技术资料</category>
      <guid isPermaLink="true">https://itindex.net/detail/51729-%E6%9E%B6%E6%9E%84-%E9%80%89%E6%8B%A9-%E5%9B%A2%E9%98%9F</guid>
      <pubDate>Tue, 23 Sep 2014 18:19:16 CST</pubDate>
    </item>
    <item>
      <title>9个功能强大的信息图制作网站</title>
      <link>https://itindex.net/detail/45517-%E5%8A%9F%E8%83%BD-%E4%BF%A1%E6%81%AF-%E5%88%B6%E4%BD%9C</link>
      <description>&lt;p&gt;如今信息图（infographic）已越来越多地用于我们的工作与学习中。它会帮助你把数据和信息以视觉化的形式迅速直观地传达给受众。本期的互动中国分享带来了9个功能强大的网站，这些在线网站可以帮助你制作信息图，便捷又迅速。 Enjoy!&lt;/p&gt;
 &lt;p&gt;  &lt;img alt="damndigital_9_powerful-free-infographic-tools-to-create-your-own-infographics_cover_2013-09" src="http://alibuybuy-img11.stor.sinaapp.com/2013/09/4226_damndigital_9_powerful-free-infographic-tools-to-create-your-own-infographics_cover_2013-09.jpg"&gt;&lt;/img&gt;&lt;/p&gt;
 &lt;h3&gt;  &lt;a href="http://visual.ly/" target="_blank"&gt;visual.ly&lt;/a&gt;&lt;/h3&gt;
 &lt;p&gt;  &lt;img alt="damndigital_9_powerful-free-infographic-tools-to-create-your-own-infographics_visual-ly" height="400" src="http://alibuybuy-img11.stor.sinaapp.com/2013/09/eb59_damndigital_9_powerful-free-infographic-tools-to-create-your-own-infographics_visual-ly.jpg" title="&amp;#20114;&amp;#21160;&amp;#20013;&amp;#22269;&amp;#20998;&amp;#20139;: 9&amp;#20010;&amp;#21151;&amp;#33021;&amp;#24378;&amp;#22823;&amp;#30340;&amp;#20449;&amp;#24687;&amp;#22270;&amp;#21046;&amp;#20316;&amp;#32593;&amp;#31449;" width="720"&gt;&lt;/img&gt;&lt;/p&gt;
 &lt;p&gt;visual.ly可以帮助你在极短的时间里免费创建信息图。&lt;/p&gt;
 &lt;h3&gt;  &lt;a href="http://piktochart.com/" target="_blank"&gt;Piktochart&lt;/a&gt;&lt;/h3&gt;
 &lt;p&gt;  &lt;img alt="damndigital_9_powerful-free-infographic-tools-to-create-your-own-infographics_Piktochart" height="400" src="http://alibuybuy-img11.stor.sinaapp.com/2013/09/3e30_damndigital_9_powerful-free-infographic-tools-to-create-your-own-infographics_Piktochart.jpg" title="&amp;#20114;&amp;#21160;&amp;#20013;&amp;#22269;&amp;#20998;&amp;#20139;: 9&amp;#20010;&amp;#21151;&amp;#33021;&amp;#24378;&amp;#22823;&amp;#30340;&amp;#20449;&amp;#24687;&amp;#22270;&amp;#21046;&amp;#20316;&amp;#32593;&amp;#31449;" width="720"&gt;&lt;/img&gt;&lt;/p&gt;
 &lt;p&gt;Piktochart能够帮助没有设计经验的用户，只用简单的三个步骤便可创建、分享和得到信息图。&lt;/p&gt;
 &lt;h3&gt;  &lt;a href="http://infogr.am/" target="_blank"&gt;infogr.am&lt;/a&gt;&lt;/h3&gt;
 &lt;p&gt;  &lt;img alt="damndigital_9_powerful-free-infographic-tools-to-create-your-own-infographics_infogr-am" height="400" src="http://alibuybuy-img11.stor.sinaapp.com/2013/09/8a94_damndigital_9_powerful-free-infographic-tools-to-create-your-own-infographics_infogr-am.jpg" title="&amp;#20114;&amp;#21160;&amp;#20013;&amp;#22269;&amp;#20998;&amp;#20139;: 9&amp;#20010;&amp;#21151;&amp;#33021;&amp;#24378;&amp;#22823;&amp;#30340;&amp;#20449;&amp;#24687;&amp;#22270;&amp;#21046;&amp;#20316;&amp;#32593;&amp;#31449;" width="720"&gt;&lt;/img&gt;&lt;/p&gt;
 &lt;p&gt;infogr.am能够创建免费的交互式图表和信息图。&lt;/p&gt;
 &lt;h3&gt;  &lt;a href="http://charts.hohli.com/" target="_blank"&gt;Hohli Charts&lt;/a&gt;&lt;/h3&gt;
 &lt;p&gt;  &lt;img alt="damndigital_9_powerful-free-infographic-tools-to-create-your-own-infographics_hohli-charts" height="400" src="http://alibuybuy-img11.stor.sinaapp.com/2013/09/c199_damndigital_9_powerful-free-infographic-tools-to-create-your-own-infographics_hohli-charts.jpg" title="&amp;#20114;&amp;#21160;&amp;#20013;&amp;#22269;&amp;#20998;&amp;#20139;: 9&amp;#20010;&amp;#21151;&amp;#33021;&amp;#24378;&amp;#22823;&amp;#30340;&amp;#20449;&amp;#24687;&amp;#22270;&amp;#21046;&amp;#20316;&amp;#32593;&amp;#31449;" width="720"&gt;&lt;/img&gt;&lt;/p&gt;
 &lt;p&gt;Hohli Charts基于Google Chart API，它可以帮助你创建折线图、饼图、柱状图、雷达图等多种图表，简单易用。&lt;/p&gt;
 &lt;h3&gt;  &lt;a href="http://extra.amcharts.com/editor/" target="_blank"&gt;amCharts Visual Editor&lt;/a&gt;&lt;/h3&gt;
 &lt;p&gt;  &lt;img alt="damndigital_9_powerful-free-infographic-tools-to-create-your-own-infographics_amCharts-Visual-Editor" height="400" src="http://alibuybuy-img11.stor.sinaapp.com/2013/09/13c0_damndigital_9_powerful-free-infographic-tools-to-create-your-own-infographics_amCharts-Visual-Editor.jpg" title="&amp;#20114;&amp;#21160;&amp;#20013;&amp;#22269;&amp;#20998;&amp;#20139;: 9&amp;#20010;&amp;#21151;&amp;#33021;&amp;#24378;&amp;#22823;&amp;#30340;&amp;#20449;&amp;#24687;&amp;#22270;&amp;#21046;&amp;#20316;&amp;#32593;&amp;#31449;" width="720"&gt;&lt;/img&gt;&lt;/p&gt;
 &lt;p&gt;AmCharts是你在制作交互式信息图的一个理想的工具。它的可视化编辑器可以帮助你方便地创建Flash图表。&lt;/p&gt;
 &lt;h3&gt;  &lt;a href="http://code.google.com/apis/chart/" target="_blank"&gt;Google Chart Tools&lt;/a&gt;&lt;/h3&gt;
 &lt;p&gt;  &lt;img alt="damndigital_9_powerful-free-infographic-tools-to-create-your-own-infographics_google-chart-tools" height="400" src="http://alibuybuy-img11.stor.sinaapp.com/2013/09/a851_damndigital_9_powerful-free-infographic-tools-to-create-your-own-infographics_google-chart-tools.jpg" title="&amp;#20114;&amp;#21160;&amp;#20013;&amp;#22269;&amp;#20998;&amp;#20139;: 9&amp;#20010;&amp;#21151;&amp;#33021;&amp;#24378;&amp;#22823;&amp;#30340;&amp;#20449;&amp;#24687;&amp;#22270;&amp;#21046;&amp;#20316;&amp;#32593;&amp;#31449;" width="720"&gt;&lt;/img&gt;&lt;/p&gt;
 &lt;p&gt;Google Chart Tools拥有Google Chart API和Google Visualization API，使制作图表变得简单易行。&lt;/p&gt;
 &lt;h3&gt;  &lt;a href="http://www.wordle.net/" target="_blank"&gt;Wordle&lt;/a&gt;&lt;/h3&gt;
 &lt;p&gt;  &lt;img alt="damndigital_9_powerful-free-infographic-tools-to-create-your-own-infographics_wordle" height="400" src="http://alibuybuy-img11.stor.sinaapp.com/2013/09/6b62_damndigital_9_powerful-free-infographic-tools-to-create-your-own-infographics_wordle.jpg" title="&amp;#20114;&amp;#21160;&amp;#20013;&amp;#22269;&amp;#20998;&amp;#20139;: 9&amp;#20010;&amp;#21151;&amp;#33021;&amp;#24378;&amp;#22823;&amp;#30340;&amp;#20449;&amp;#24687;&amp;#22270;&amp;#21046;&amp;#20316;&amp;#32593;&amp;#31449;" width="720"&gt;&lt;/img&gt;&lt;/p&gt;
 &lt;p&gt;你可以使用Wordle在线制作“文字云”，还可以调整字体、布局和配色方案，完成后可以与你的好友分享或是将它们打印下来。&lt;/p&gt;
 &lt;h3&gt;  &lt;a href="http://www.iconarchive.com/" target="_blank"&gt;Icon Archive&lt;/a&gt;&lt;/h3&gt;
 &lt;p&gt;  &lt;img alt="damndigital_9_powerful-free-infographic-tools-to-create-your-own-infographics_icon-archive" height="400" src="http://alibuybuy-img11.stor.sinaapp.com/2013/09/e5bc_damndigital_9_powerful-free-infographic-tools-to-create-your-own-infographics_icon-archive.jpg" title="&amp;#20114;&amp;#21160;&amp;#20013;&amp;#22269;&amp;#20998;&amp;#20139;: 9&amp;#20010;&amp;#21151;&amp;#33021;&amp;#24378;&amp;#22823;&amp;#30340;&amp;#20449;&amp;#24687;&amp;#22270;&amp;#21046;&amp;#20316;&amp;#32593;&amp;#31449;" width="720"&gt;&lt;/img&gt;&lt;/p&gt;
 &lt;p&gt;Icon Archive有超过297000个免费图标，种类和样式丰富多彩。&lt;/p&gt;
 &lt;h3&gt;  &lt;a href="http://pixlr.com/" target="_blank"&gt;Pixlr&lt;/a&gt;&lt;/h3&gt;
 &lt;p&gt;  &lt;img alt="damndigital_9_powerful-free-infographic-tools-to-create-your-own-infographics_pixlr" height="400" src="http://alibuybuy-img11.stor.sinaapp.com/2013/09/72f6_damndigital_9_powerful-free-infographic-tools-to-create-your-own-infographics_pixlr.jpg" title="&amp;#20114;&amp;#21160;&amp;#20013;&amp;#22269;&amp;#20998;&amp;#20139;: 9&amp;#20010;&amp;#21151;&amp;#33021;&amp;#24378;&amp;#22823;&amp;#30340;&amp;#20449;&amp;#24687;&amp;#22270;&amp;#21046;&amp;#20316;&amp;#32593;&amp;#31449;" width="720"&gt;&lt;/img&gt;&lt;/p&gt;
 &lt;p&gt;Pixlr是免费的在线图像编辑器，功能强大而且无需注册便可使用。&lt;/p&gt;
 &lt;h5&gt;来源：  &lt;a href="http://www.infographicsarchive.com/create-infographics-and-data-visualization/" target="_blank"&gt;InfographicsArchive&lt;/a&gt;&lt;/h5&gt;
 &lt;p&gt; &lt;/p&gt;
 &lt;hr&gt;&lt;/hr&gt;
 &lt;p&gt;  &lt;small&gt;© 推荐 for    &lt;a href="http://www.alibuybuy.com"&gt;互联网的那点事&lt;/a&gt;. |
猛击下载：   &lt;a href="https://itunes.apple.com/cn/app/hu-lian-wang-de-na-dian-shi/id670210055?mt=8"&gt;    &lt;strong&gt;iPhone客户端&lt;/strong&gt;&lt;/a&gt;  猛击下载：   &lt;a href="http://www.alibuybuy.com/alibuybuy.apk"&gt;    &lt;strong&gt;Android客户端&lt;/strong&gt;&lt;/a&gt;
&lt;/small&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/45517-%E5%8A%9F%E8%83%BD-%E4%BF%A1%E6%81%AF-%E5%88%B6%E4%BD%9C</guid>
      <pubDate>Wed, 04 Sep 2013 22:10:12 CST</pubDate>
    </item>
    <item>
      <title>网站的分布式架构</title>
      <link>https://itindex.net/detail/44325-%E7%BD%91%E7%AB%99-%E5%88%86%E5%B8%83-%E6%9E%B6%E6%9E%84</link>
      <description>&lt;p&gt;互联网的网站和大部分企业管理软件一样都是使用B/S架构模型，但是大型的公共网站B/S架构会更加复杂，对架构人员的要求更高，今天我想在自己博客里聊聊我设计的网站的B/S技术架构。&lt;/p&gt;
 &lt;p&gt;不管是B/S架构的企业管理系统还是网站技术架构可以抽象为如下简图：&lt;/p&gt;
 &lt;p&gt;  &lt;img alt="" src="http://alibuybuy-img11.stor.sinaapp.com/2013/06/8f0b_1F5341053-0.png"&gt;&lt;/img&gt;&lt;/p&gt;
 &lt;p&gt;在传统B/S架构的企业管理系统里，技术架构往往就是一个工程项目，各个逻辑分层都是该工程的业务逻辑模块。但是作为提供公共服务的网站，由于用户群比较庞大，网站并发量高，需求变化大，变更频繁以及网站出于对安全的考虑，以上的逻辑分层在技术架构上的实现也就会复杂的多。本人前不久做一个网站，我设计的技术架构简图如下：&lt;/p&gt;
 &lt;p&gt;  &lt;img alt="" src="http://alibuybuy-img11.stor.sinaapp.com/2013/06/908d_1F5345064-1.png"&gt;&lt;/img&gt;&lt;/p&gt;
 &lt;p&gt;我把网站项目拆分为三个子项目：前端项目、服务端项目和memcache项目，前端项目包含页面、静态资源和控制层；服务端项目包含业务层和数据库操作层；memcache项目缓存前端项目和服务端项目公用的数据。&lt;/p&gt;
 &lt;p&gt;在系统部署上，前端项目和服务端项目都采用分布式方式（我们的网站前端是4台服务器，服务端是4台服务器），用户请求进入前先通过负载均衡设备进行请求分发，前端和服务端之间以及服务端和数据库之间有防火墙保证系统的安全性，前端的集群和服务端集群分属到不同网络环境里，前端集群可以访问外网，服务端集群和数据库所在网络不能直接访问外网，但是前端网络环境和服务端网络环境之间可以进行通信。&lt;/p&gt;
 &lt;p&gt;服务端和客户端用我们自定义的报文进行通讯，传输协议时http，由于本人所在的网站安全性要求比较高，用户传输的请求协议使用https。&lt;/p&gt;
 &lt;p&gt;为了保证服务端和客户端通讯的效率，客户端和服务端通讯我们使用长连接（我们网站服务端语言选择的是java，通讯层使用netty框架开发的），为了保证长连接，我们写了一个心跳检测服务，该服务在后台线程里运行，每个5分钟检测一次心跳，当然检测的间隔时间是可以配置的。此外，我们事先估计过网站的最大并发量，在网站启动时候，我们构建了一个线程池（我们使用的服务器是8核处理器，每核最大线程数256，所以我们线程池里总共的最大线程总数数是8*256*4=8196），每个线程处理一个用户的请求。&lt;/p&gt;
 &lt;p&gt;由于客户端项目采取分布式部署，因此存在session共享的问题，我们网站的session共享没有使用web容器自带的session共享机制，而是我们自己研发了一套session机制，原理很简单，具体是我们会对每个用户会话生成一个唯一标示，我们的唯一标示是这么设计：当前用户的session的id值+随机16位数字和字母组合+当前的纳秒值，然后将该值哈希算出一个key，原有保存在session里的值保存在memcache集群里，这些数据的key就是我们算出的用户唯一标示。最终我们网站前端不在使用session对象，而是我们自己设计的session机制，对此我们还封装了一套自定义标签，在页面上操作我们自定义的session。&lt;/p&gt;
 &lt;p&gt;服务端也有类似的共享机制，但是有所不同，当客户端请求服务端时候，请求会具体落到服务端的某一台服务器，因为本网站有些请求处理时异步的，也就是说客户某些请求不是立即返回给用户，而是现将请求分发给服务端，此时客户端会返回用户一个相应标示，说明该请求已经被受理，正在处理中，而服务端的某个线程此时已经开始处理了该请求，客户端按一定时间间隔发送请求给服务端，问询请求是否处理完成，但是服务端也是分布式，请求时随机发送，客户端的问询可能会分发到别的服务器，因此这样的请求，我会在客户端记录下处理的服务端ip地址和线程id，在问询的时候就会访问指定好的服务器和线程，直到请求处理完毕，最后关闭询问，将结果返回给用户。&lt;/p&gt;
 &lt;div&gt;&lt;/div&gt;
 &lt;p&gt;由于我们把一个网站项目拆分成了三个独立项目，因此在项目管理和协调上增加了难度，所以我们引入maven框架对工程进行了管理和构建，同时构建一个common工程，专门负责服务端和前端公共程序的开发。&lt;/p&gt;
 &lt;p&gt;本框架将展示层和业务处理层彻底分开，因此客户端工程师可以专心做客户端，服务端工程师专心做服务端，大家只要学习如何封装通讯协议就行，因此很利于项目组人员的横向扩展。&lt;/p&gt;
 &lt;p&gt;以上就是本人为公司网站设计的技术架构，这里和大伙分享下，不知道好不好，希望各位大牛能给点建设性的意见。&lt;/p&gt;
 &lt;p&gt; &lt;/p&gt;
 &lt;hr&gt;&lt;/hr&gt;
 &lt;p&gt;  &lt;small&gt;© 推荐 for    &lt;a href="http://www.alibuybuy.com"&gt;互联网的那点事&lt;/a&gt;, 2013. |
&lt;/small&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/44325-%E7%BD%91%E7%AB%99-%E5%88%86%E5%B8%83-%E6%9E%B6%E6%9E%84</guid>
      <pubDate>Mon, 03 Jun 2013 16:00:37 CST</pubDate>
    </item>
    <item>
      <title>转：深入理解JVM内幕：从基本结构到Java 7新特性</title>
      <link>https://itindex.net/detail/41088-%E7%90%86%E8%A7%A3-jvm-%E5%86%85%E5%B9%95</link>
      <description>&lt;p&gt;  &lt;strong&gt;英文原文：   &lt;a href="http://www.cubrid.org/blog/dev-platform/understanding-jvm-internals/" rel="nofollow" target="_blank"&gt;cubrid&lt;/a&gt;，编译：   &lt;a href="http://www.importnew.com/"&gt;ImportNew&lt;/a&gt; -    &lt;a href="http://www.importnew.com/author/zhuweijie"&gt;朱伟杰&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt;每个Java开发者都知道Java字节码是执行在JRE(（Java Runtime Environment Java运行时环境）上的。JRE中最重要的部分是  &lt;strong&gt;Java虚拟机&lt;/strong&gt;（JVM），JVM负责分析和执行Java字节码。Java开发人员并不需要去关心JVM是如何运行的。在没有深入理解JVM的情况下，许多开发者已经开发出了非常多的优秀的应用以及Java类库。不过，如果你了解JVM的话，你会更加了解Java的，并且你会轻松解决那些看似简单但是无从下手的问题。&lt;/p&gt;
 &lt;p&gt;因此，在这篇文件里，我会阐述JVM是如何运行的，包括它的结构，它如何去执行字节码，以及按照怎样的顺序去执行，同时我还会给出一些常见错误的示例以及对应的解决办法。最后，我还会讲解Java 7中的一些新特性。&lt;/p&gt;
 &lt;h2&gt;  &lt;strong&gt;虚拟机（Virtual Machine)&lt;/strong&gt;&lt;/h2&gt;
 &lt;p&gt;  &lt;strong&gt;JRE是由Java API和JVM组成的。JVM的主要作用是通过Class Loader来加载Java程序，并且按照Java API来执行加载的程序。&lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;虚拟机&lt;/strong&gt;是通过软件的方式来模拟实现的机器（比如说计算机），它可以像物理机一样运行程序。设计虚拟机的初衷是让Java能够通过它来实现  &lt;strong&gt;WORA&lt;/strong&gt;(  &lt;em&gt;Write Once Run Anywhere &lt;/em&gt;一次编译，到处运行），尽管这个目标现在已经被大多数人忽略了。因此，JVM可以在不修改Java代码的情况下，在所有的硬件环境上运行  &lt;strong&gt;Java字节码&lt;/strong&gt;。&lt;/p&gt;
 &lt;p&gt;Java虚拟机的特点如下：&lt;/p&gt;
 &lt;ul&gt;
  &lt;li&gt;   &lt;strong&gt;基于栈的虚拟机&lt;/strong&gt;：Intel x86和ARM这两种最常见的计算机体系的机构都是基于寄存器的。不同的是，JVM是基于栈的。&lt;/li&gt;
  &lt;li&gt;   &lt;strong&gt;符号引用&lt;/strong&gt;：除了基本类型以外的数据（类和接口）都是通过符号来引用，而不是通过显式地使用内存地址来引用。&lt;/li&gt;
  &lt;li&gt;   &lt;strong&gt;垃圾回收机制&lt;/strong&gt;：类的实例都是通过用户代码进行创建，并且自动被垃圾回收机制进行回收。&lt;/li&gt;
  &lt;li&gt;   &lt;strong&gt;通过对基本类型的清晰定义来保证平台独立性&lt;/strong&gt;：传统的编程语言，例如C/C++，int类型的大小取决于不同的平台。JVM通过对基本类型的清晰定义来保证它的兼容性以及平台独立性。&lt;/li&gt;
  &lt;li&gt;   &lt;strong&gt;网络字节码顺序：&lt;/strong&gt;   &lt;strong&gt;Java class&lt;/strong&gt;   &lt;strong&gt;文件用网络字节码顺序来进行存储&lt;/strong&gt;:为了保证和小端的Intel x86架构以及大端的RISC系列的架构保持无关性，JVM使用用于网络传输的网络字节顺序，也就是大端。&lt;/li&gt;
&lt;/ul&gt;
 &lt;p&gt;虽然是Sun公司开发了Java，但是所有的开发商都可以开发并且提供遵循Java虚拟机规范的JVM。正是由于这个原因，使得Oracle HotSpot和IBM JVM等不同的JVM能够并存。Google的Android系统里的Dalvik VM也是一种JVM，虽然它并不遵循Java虚拟机规范。和基于栈的Java虚拟机不同，Dalvik VM是基于寄存器的架构，因此它的Java字节码也被转化成基于寄存器的指令集。&lt;/p&gt;
 &lt;p&gt; &lt;/p&gt;
 &lt;h2&gt;  &lt;strong&gt;Java&lt;/strong&gt;  &lt;strong&gt;字节码（Java bytecode)&lt;/strong&gt;&lt;/h2&gt;
 &lt;p&gt;为了保证WORA，JVM使用Java字节码这种介于Java和机器语言之间的中间语言。字节码是部署Java代码的最小单位。&lt;/p&gt;
 &lt;p&gt;在解释Java字节码之前，我们先通过实例来简单了解它。这个案例是一个在开发环境出现的真实案例的总结。&lt;/p&gt;
 &lt;p&gt; &lt;/p&gt;
 &lt;h3&gt;  &lt;strong&gt;现象&lt;/strong&gt;&lt;/h3&gt;
 &lt;p&gt;一个一直运行正常的应用突然无法运行了。在类库被更新之后，返回下面的错误。&lt;/p&gt;
 &lt;div&gt;
  &lt;div&gt;
   &lt;table border="0" cellpadding="0" cellspacing="0"&gt;

    &lt;tr&gt;
     &lt;td&gt;
      &lt;div&gt;1&lt;/div&gt;
      &lt;div&gt;2&lt;/div&gt;
      &lt;div&gt;3&lt;/div&gt;
&lt;/td&gt;
     &lt;td&gt;
      &lt;div&gt;
       &lt;div&gt;        &lt;code&gt;Exception in thread &lt;/code&gt;        &lt;code&gt;&amp;quot;main&amp;quot;&lt;/code&gt;         &lt;code&gt;java.lang.NoSuchMethodError: com.nhn.user.UserAdmin.addUser(Ljava/lang/String;)V&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;    &lt;/code&gt;        &lt;code&gt;at com.nhn.service.UserService.add(UserService.java:&lt;/code&gt;        &lt;code&gt;14&lt;/code&gt;        &lt;code&gt;)&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;    &lt;/code&gt;        &lt;code&gt;at com.nhn.service.UserService.main(UserService.java:&lt;/code&gt;        &lt;code&gt;19&lt;/code&gt;        &lt;code&gt;)&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/td&gt;
&lt;/tr&gt;

&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
 &lt;p&gt;应用的代码如下，而且它没有被改动过。&lt;/p&gt;
 &lt;div&gt;
  &lt;div&gt;
   &lt;table border="0" cellpadding="0" cellspacing="0"&gt;

    &lt;tr&gt;
     &lt;td&gt;
      &lt;div&gt;1&lt;/div&gt;
      &lt;div&gt;2&lt;/div&gt;
      &lt;div&gt;3&lt;/div&gt;
      &lt;div&gt;4&lt;/div&gt;
      &lt;div&gt;5&lt;/div&gt;
&lt;/td&gt;
     &lt;td&gt;
      &lt;div&gt;
       &lt;div&gt;        &lt;code&gt;// UserService.java&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;…&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;public&lt;/code&gt;         &lt;code&gt;void&lt;/code&gt;         &lt;code&gt;add(String userName) {&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;    &lt;/code&gt;        &lt;code&gt;admin.addUser(userName);&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;}&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/td&gt;
&lt;/tr&gt;

&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
 &lt;p&gt;更新后的类库的源代码和原始的代码如下。&lt;/p&gt;
 &lt;div&gt;
  &lt;div&gt;
   &lt;table border="0" cellpadding="0" cellspacing="0"&gt;

    &lt;tr&gt;
     &lt;td&gt;
      &lt;div&gt;1&lt;/div&gt;
      &lt;div&gt;2&lt;/div&gt;
      &lt;div&gt;3&lt;/div&gt;
      &lt;div&gt;4&lt;/div&gt;
      &lt;div&gt;5&lt;/div&gt;
      &lt;div&gt;6&lt;/div&gt;
      &lt;div&gt;7&lt;/div&gt;
      &lt;div&gt;8&lt;/div&gt;
      &lt;div&gt;9&lt;/div&gt;
      &lt;div&gt;10&lt;/div&gt;
      &lt;div&gt;11&lt;/div&gt;
      &lt;div&gt;12&lt;/div&gt;
      &lt;div&gt;13&lt;/div&gt;
&lt;/td&gt;
     &lt;td&gt;
      &lt;div&gt;
       &lt;div&gt;        &lt;code&gt;// UserAdmin.java - Updated library source code&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;…&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;public&lt;/code&gt;         &lt;code&gt;User addUser(String userName) {&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;    &lt;/code&gt;        &lt;code&gt;User user = &lt;/code&gt;        &lt;code&gt;new&lt;/code&gt;         &lt;code&gt;User(userName);&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;    &lt;/code&gt;        &lt;code&gt;User prevUser = userMap.put(userName, user);&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;    &lt;/code&gt;        &lt;code&gt;return&lt;/code&gt;         &lt;code&gt;prevUser;&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;}&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;// UserAdmin.java - Original library source code&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;…&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;public&lt;/code&gt;         &lt;code&gt;void&lt;/code&gt;         &lt;code&gt;addUser(String userName) {&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;    &lt;/code&gt;        &lt;code&gt;User user = &lt;/code&gt;        &lt;code&gt;new&lt;/code&gt;         &lt;code&gt;User(userName);&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;    &lt;/code&gt;        &lt;code&gt;userMap.put(userName, user);&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;}&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/td&gt;
&lt;/tr&gt;

&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
 &lt;p&gt;简而言之，之前没有返回值的addUser()被改修改成返回一个User类的实例的方法。不过，应用的代码没有做任何修改，因为它没有使用addUser()的返回值。&lt;/p&gt;
 &lt;blockquote&gt;  &lt;p&gt;咋一看，com.nhn.user.UserAdmin.addUser()方法似乎仍然存在，如果存在的话，   &lt;strong&gt;那么怎么还会出现NoSuchMethodError的错误呢？&lt;/strong&gt;&lt;/p&gt;&lt;/blockquote&gt;
 &lt;p&gt; &lt;/p&gt;
 &lt;h3&gt;  &lt;strong&gt;原因&lt;/strong&gt;&lt;/h3&gt;
 &lt;p&gt;上面问题的原因是在于应用的代码没有用新的类库来进行编译。换句话来说，应用代码似乎是调了正确的方法，只是没有使用它的返回值而已。不管怎样，编译后的class文件表明了这个方法是有返回值的。你可以从下面的错误信息里看到答案。&lt;/p&gt;
 &lt;div&gt;
  &lt;div&gt;
   &lt;table border="0" cellpadding="0" cellspacing="0"&gt;

    &lt;tr&gt;
     &lt;td&gt;
      &lt;div&gt;1&lt;/div&gt;
&lt;/td&gt;
     &lt;td&gt;
      &lt;div&gt;
       &lt;div&gt;        &lt;code&gt;java.lang.NoSuchMethodError: com.nhn.user.UserAdmin.addUser(Ljava/lang/String;)V&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/td&gt;
&lt;/tr&gt;

&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
 &lt;p&gt;NoSuchMethodError出现的原因是“com.nhn.user.UserAdmin.addUser(Ljava/lang/String;)V”方法找不到。注意一下”Ljava/lang/String；”和最后面的“V”。在Java字节码的表达式里，”L&amp;lt;classname&amp;gt;;”表示的是类的实例。这里表示addUser()方法有一个java/lang/String的对象作为参数。在这个类库里，参数没有被改变，所以它是正常的。最后面的“V”表示这个方法的返回值。在Java字节码的表达式里，”V”表示没有返回值（Void）。综上所述，上面的错误信息是表示有一个java.lang.String类型的参数，并且没有返回值的com.nhn.user.UserAdmin.addUser方法没有找到。&lt;/p&gt;
 &lt;p&gt;因为应用是用之前的类库编译的，所以返回值为空的方法被调用了。但是在修改后的类库里，返回值为空的方法不存在，并且添加了一个返回值为“Lcom/nhn/user/User”的方法。因此，就出现了NoSuchMethodError。&lt;/p&gt;
 &lt;blockquote&gt;  &lt;p&gt;注：&lt;/p&gt;
  &lt;p&gt;这个错误出现的原因是因为开发者没有用新的类库来重新编译应用。不过，出现这种问题的大部分责任在于类库的提供者。这个public的方法本来没有返回值的，但是后来却被修改成返回User类的实例。很明显，方法的签名被修改了，这也表明了这个类库的后向兼容性被破坏了。因此，这个类库的提供者应该告知使用者这个方法已经被改变了。&lt;/p&gt;&lt;/blockquote&gt;
 &lt;p&gt; &lt;/p&gt;
 &lt;p&gt;我们再回到Java字节码上来。  &lt;strong&gt;Java字节码&lt;/strong&gt;是JVM很重要的部分。JVM是模拟执行Java字节码的一个模拟器。Java编译器不会直接把高级语言（例如C/C++）编写的代码直接转换成机器语言（CPU指令）；它会把开发者可以理解的Java语言转换成JVM能够理解的Java字节码。因为Java字节码本身是平台无关的，所以它可以在任何安装了JVM（确切地说，是相匹配的JRE）的硬件上执行，即使是在CPU和OS都不相同的平台上（在Windows PC上开发和编译的字节码可以不做任何修改就直接运行在Linux机器上）。编译后的代码的大小和源代码大小基本一致，这样就可以很容易地通过网络来传输和执行编译后的代码。&lt;/p&gt;
 &lt;p&gt;Java class文件是一种人很难去理解的二进文件。为了便于理解它，JVM提供者提供了javap，反汇编器。使用javap产生的结果是Java汇编语言。在上面的例子中，下面的Java汇编代码是通过javap -c对UserServiceadd()方法进行反汇编得到的。&lt;/p&gt;
 &lt;div&gt;
  &lt;div&gt;
   &lt;table border="0" cellpadding="0" cellspacing="0"&gt;

    &lt;tr&gt;
     &lt;td&gt;
      &lt;div&gt;1&lt;/div&gt;
      &lt;div&gt;2&lt;/div&gt;
      &lt;div&gt;3&lt;/div&gt;
      &lt;div&gt;4&lt;/div&gt;
      &lt;div&gt;5&lt;/div&gt;
      &lt;div&gt;6&lt;/div&gt;
      &lt;div&gt;7&lt;/div&gt;
&lt;/td&gt;
     &lt;td&gt;
      &lt;div&gt;
       &lt;div&gt;        &lt;code&gt;public&lt;/code&gt;         &lt;code&gt;void&lt;/code&gt;         &lt;code&gt;add(java.lang.String);&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;  &lt;/code&gt;        &lt;code&gt;Code:&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;   &lt;/code&gt;        &lt;code&gt;0&lt;/code&gt;        &lt;code&gt;:   aload_0&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;   &lt;/code&gt;        &lt;code&gt;1&lt;/code&gt;        &lt;code&gt;:   getfield        #&lt;/code&gt;        &lt;code&gt;15&lt;/code&gt;        &lt;code&gt;; &lt;/code&gt;        &lt;code&gt;//Field admin:Lcom/nhn/user/UserAdmin;&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;   &lt;/code&gt;        &lt;code&gt;4&lt;/code&gt;        &lt;code&gt;:   aload_1&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;   &lt;/code&gt;        &lt;code&gt;5&lt;/code&gt;        &lt;code&gt;:   invokevirtual   #&lt;/code&gt;        &lt;code&gt;23&lt;/code&gt;        &lt;code&gt;; &lt;/code&gt;        &lt;code&gt;//Method com/nhn/user/UserAdmin.addUser:(Ljava/lang/String;)V&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;   &lt;/code&gt;        &lt;code&gt;8&lt;/code&gt;        &lt;code&gt;:   &lt;/code&gt;        &lt;code&gt;return&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/td&gt;
&lt;/tr&gt;

&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
 &lt;p&gt;invokeinterface:调用一个接口方法在这段Java汇编代码中，addUser()方法是在第四行的“5:invokevitual#23″进行调用的。这表示对应索引为23的方法会被调用。索引为23的方法的名称已经被javap给注解在旁边了。  &lt;strong&gt;invokevirtual&lt;/strong&gt;是Java字节码里调用方法的最基本的操作码。在Java字节码里，有四种操作码可以用来调用一个方法，分别是：invokeinterface，invokespecial，invokestatic以及invokevirtual。操作码的作用分别如下：&lt;/p&gt;
 &lt;ul&gt;
  &lt;li&gt;   &lt;strong&gt;invokespecial&lt;/strong&gt;: 调用一个初始化方法，私有方法或者父类的方法&lt;/li&gt;
  &lt;li&gt;   &lt;strong&gt;invokestatic&lt;/strong&gt;:调用静态方法&lt;/li&gt;
  &lt;li&gt;   &lt;strong&gt;invokevirtual&lt;/strong&gt;:调用实例方法&lt;/li&gt;
&lt;/ul&gt;
 &lt;p&gt;Java字节码的指令集由操作码和操作数组成。类似invokevirtual这样的操作数需要2个字节的操作数。&lt;/p&gt;
 &lt;p&gt;用更新的类库来编译上面的应用代码，然后反编译它，将会得到下面的结果。&lt;/p&gt;
 &lt;div&gt;
  &lt;div&gt;
   &lt;table border="0" cellpadding="0" cellspacing="0"&gt;

    &lt;tr&gt;
     &lt;td&gt;
      &lt;div&gt;1&lt;/div&gt;
      &lt;div&gt;2&lt;/div&gt;
      &lt;div&gt;3&lt;/div&gt;
      &lt;div&gt;4&lt;/div&gt;
      &lt;div&gt;5&lt;/div&gt;
      &lt;div&gt;6&lt;/div&gt;
      &lt;div&gt;7&lt;/div&gt;
      &lt;div&gt;8&lt;/div&gt;
&lt;/td&gt;
     &lt;td&gt;
      &lt;div&gt;
       &lt;div&gt;        &lt;code&gt;public&lt;/code&gt;         &lt;code&gt;void&lt;/code&gt;         &lt;code&gt;add(java.lang.String);&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;  &lt;/code&gt;        &lt;code&gt;Code:&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;   &lt;/code&gt;        &lt;code&gt;0&lt;/code&gt;        &lt;code&gt;:   aload_0&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;   &lt;/code&gt;        &lt;code&gt;1&lt;/code&gt;        &lt;code&gt;:   getfield        #&lt;/code&gt;        &lt;code&gt;15&lt;/code&gt;        &lt;code&gt;; &lt;/code&gt;        &lt;code&gt;//Field admin:Lcom/nhn/user/UserAdmin;&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;   &lt;/code&gt;        &lt;code&gt;4&lt;/code&gt;        &lt;code&gt;:   aload_1&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;   &lt;/code&gt;        &lt;code&gt;5&lt;/code&gt;        &lt;code&gt;:   invokevirtual   #&lt;/code&gt;        &lt;code&gt;23&lt;/code&gt;        &lt;code&gt;; &lt;/code&gt;        &lt;code&gt;//Method com/nhn/user/UserAdmin.addUser:(Ljava/lang/String;)Lcom/nhn/user/User;&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;   &lt;/code&gt;        &lt;code&gt;8&lt;/code&gt;        &lt;code&gt;:   pop&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;   &lt;/code&gt;        &lt;code&gt;9&lt;/code&gt;        &lt;code&gt;:   &lt;/code&gt;        &lt;code&gt;return&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/td&gt;
&lt;/tr&gt;

&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
 &lt;p&gt;你会发现，对应索引为23的方法被替换成了一个返回值为”Lcom/nhn/user/User”的方法。&lt;/p&gt;
 &lt;blockquote&gt;  &lt;p&gt;   &lt;strong&gt;在上面的反汇编代码里，代码前面的数字代码什么呢？&lt;/strong&gt;&lt;/p&gt;&lt;/blockquote&gt;
 &lt;p&gt;它表示的是字节数。大概这就是为什么运行在JVM上面的代码成为Java“字节”码的原因。简而言之，Java字节码指令的操作码，例如aload_0，getfield和invokevirtual等，都是用一个字节的数字来表示的（aload_0=0x2a,getfield=0xb4,invokevirtual=0xb6)。由此可知Java字节码指令的操作码最多有256个。&lt;/p&gt;
 &lt;p&gt;aload_0和aload_1这样的指令不需要任何操作数。因此，aload_0指令的下一个字节是下一个指令的操作码。不过，getfield和invokevirtual指令需要2字节的操作数。因此，getfiled的下一条指令是跳过两个字节，写在第四个字节的位置上的。十六进制编译器里查看字节码的结果如下所示。&lt;/p&gt;
 &lt;div&gt;
  &lt;div&gt;
   &lt;table border="0" cellpadding="0" cellspacing="0"&gt;

    &lt;tr&gt;
     &lt;td&gt;
      &lt;div&gt;1&lt;/div&gt;
&lt;/td&gt;
     &lt;td&gt;
      &lt;div&gt;
       &lt;div&gt;        &lt;code&gt;2a b4 &lt;/code&gt;        &lt;code&gt;00&lt;/code&gt;         &lt;code&gt;0f 2b b6 &lt;/code&gt;        &lt;code&gt;00&lt;/code&gt;         &lt;code&gt;17&lt;/code&gt;         &lt;code&gt;57&lt;/code&gt;         &lt;code&gt;b1&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/td&gt;
&lt;/tr&gt;

&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
 &lt;p&gt;表一：Java字节码中的类型表达式在Java字节码里，类的实例用字母“L;”表示，void 用字母“V”表示。通过这种方式，其他的类型也有对应的表达式。下面的表格对此作了总结。&lt;/p&gt;
 &lt;table border="1" cellpadding="0" cellspacing="0"&gt;

  &lt;tr&gt;
   &lt;td valign="top" width="52"&gt;Java Bytecode&lt;/td&gt;
   &lt;td valign="top" width="52"&gt;Type&lt;/td&gt;
   &lt;td valign="top" width="52"&gt;Description&lt;/td&gt;
&lt;/tr&gt;
  &lt;tr&gt;
   &lt;td valign="top" width="52"&gt;B&lt;/td&gt;
   &lt;td valign="top" width="52"&gt;byte&lt;/td&gt;
   &lt;td valign="top" width="52"&gt;signed byte&lt;/td&gt;
&lt;/tr&gt;
  &lt;tr&gt;
   &lt;td valign="top" width="52"&gt;C&lt;/td&gt;
   &lt;td valign="top" width="52"&gt;char&lt;/td&gt;
   &lt;td valign="top" width="52"&gt;Unicode character&lt;/td&gt;
&lt;/tr&gt;
  &lt;tr&gt;
   &lt;td valign="top" width="52"&gt;D&lt;/td&gt;
   &lt;td valign="top" width="52"&gt;double&lt;/td&gt;
   &lt;td valign="top" width="52"&gt;double-precision floating-point value&lt;/td&gt;
&lt;/tr&gt;
  &lt;tr&gt;
   &lt;td valign="top" width="52"&gt;F&lt;/td&gt;
   &lt;td valign="top" width="52"&gt;float&lt;/td&gt;
   &lt;td valign="top" width="52"&gt;single-precision floating-point value&lt;/td&gt;
&lt;/tr&gt;
  &lt;tr&gt;
   &lt;td valign="top" width="52"&gt;I&lt;/td&gt;
   &lt;td valign="top" width="52"&gt;int&lt;/td&gt;
   &lt;td valign="top" width="52"&gt;integer&lt;/td&gt;
&lt;/tr&gt;
  &lt;tr&gt;
   &lt;td valign="top" width="52"&gt;J&lt;/td&gt;
   &lt;td valign="top" width="52"&gt;long&lt;/td&gt;
   &lt;td valign="top" width="52"&gt;long integer&lt;/td&gt;
&lt;/tr&gt;
  &lt;tr&gt;
   &lt;td valign="top" width="52"&gt;L&amp;lt;classname&amp;gt;&lt;/td&gt;
   &lt;td valign="top" width="52"&gt;reference&lt;/td&gt;
   &lt;td valign="top" width="52"&gt;an instance of class &amp;lt;classname&amp;gt;&lt;/td&gt;
&lt;/tr&gt;
  &lt;tr&gt;
   &lt;td valign="top" width="52"&gt;S&lt;/td&gt;
   &lt;td valign="top" width="52"&gt;short&lt;/td&gt;
   &lt;td valign="top" width="52"&gt;signed short&lt;/td&gt;
&lt;/tr&gt;
  &lt;tr&gt;
   &lt;td valign="top" width="52"&gt;Z&lt;/td&gt;
   &lt;td valign="top" width="52"&gt;boolean&lt;/td&gt;
   &lt;td valign="top" width="52"&gt;true or false&lt;/td&gt;
&lt;/tr&gt;
  &lt;tr&gt;
   &lt;td valign="top" width="52"&gt;[&lt;/td&gt;
   &lt;td valign="top" width="52"&gt;reference&lt;/td&gt;
   &lt;td valign="top" width="52"&gt;one array dimension&lt;/td&gt;
&lt;/tr&gt;

&lt;/table&gt;
 &lt;p&gt; &lt;/p&gt;
 &lt;p&gt;下面的表格给出了字节码表达式的几个实例。&lt;/p&gt;
 &lt;p&gt;表二：Java字节码表达式范例&lt;/p&gt;
 &lt;table border="1" cellpadding="0" cellspacing="0"&gt;

  &lt;tr&gt;
   &lt;td valign="top" width="156"&gt;Java Code&lt;/td&gt;
   &lt;td valign="top" width="156"&gt;Java Bytecode Expression&lt;/td&gt;
&lt;/tr&gt;
  &lt;tr&gt;
   &lt;td valign="top" width="156"&gt;double d[ ][ ][ ];&lt;/td&gt;
   &lt;td valign="top" width="156"&gt;[[[D&lt;/td&gt;
&lt;/tr&gt;
  &lt;tr&gt;
   &lt;td valign="top" width="156"&gt;Object mymethod(int I, double d, Thread t)&lt;/td&gt;
   &lt;td valign="top" width="156"&gt;(IDLjava/lang/Thread;)Ljava/lang/Object;&lt;/td&gt;
&lt;/tr&gt;

&lt;/table&gt;
 &lt;p&gt;想了解更多细节的话，参考《The java Virtual Machine Specification,第二版》中的“4.3 Descriptors&amp;quot;。想了解更多的Java字节码的指令的话，参考《The Java Virtual Machined Instruction Set》的“6.The Java Virtual Machine Instruction Set&amp;quot;&lt;/p&gt;
 &lt;p&gt; &lt;/p&gt;
 &lt;h2&gt;  &lt;strong&gt;Class文件格式&lt;/strong&gt;&lt;/h2&gt;
 &lt;p&gt;在讲解Java class文件格式之前，我们先看看一个在Java Web应用中经常出现的问题。&lt;/p&gt;
 &lt;h3&gt;  &lt;strong&gt;现象&lt;/strong&gt;&lt;/h3&gt;
 &lt;p&gt;当我们编写完jsp代码，并且在Tomcat运行时，Jsp代码没有正常运行，而是出现了下面的错误。&lt;/p&gt;
 &lt;div&gt;
  &lt;div&gt;
   &lt;table border="0" cellpadding="0" cellspacing="0"&gt;

    &lt;tr&gt;
     &lt;td&gt;
      &lt;div&gt;1&lt;/div&gt;
      &lt;div&gt;2&lt;/div&gt;
&lt;/td&gt;
     &lt;td&gt;
      &lt;div&gt;
       &lt;div&gt;        &lt;code&gt;Servlet.service() &lt;/code&gt;        &lt;code&gt;for&lt;/code&gt;         &lt;code&gt;servlet jsp threw exception org.apache.jasper.JasperException: Unable to compile &lt;/code&gt;        &lt;code&gt;class&lt;/code&gt;         &lt;code&gt;for&lt;/code&gt;         &lt;code&gt;JSP Generated servlet error:&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;The code of method _jspService(HttpServletRequest, HttpServletResponse) is exceeding the &lt;/code&gt;        &lt;code&gt;65535&lt;/code&gt;         &lt;code&gt;bytes limit&amp;quot;&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/td&gt;
&lt;/tr&gt;

&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
 &lt;h3&gt;  &lt;strong&gt;原因&lt;/strong&gt;&lt;/h3&gt;
 &lt;p&gt;在不同的Web服务器上，上面的错误信息可能会有点不同，不过有有一点肯定是相同的，它出现的原因是65535字节的限制。这个65535字节的限制是JVM规范里的限制，它规定了  &lt;strong&gt;一个方法的大小不能超过65535字节&lt;/strong&gt;。&lt;/p&gt;
 &lt;p&gt; &lt;/p&gt;
 &lt;p&gt;下面我会更加详细地讲解这个65535字节限制的意义以及它出现的原因。&lt;/p&gt;
 &lt;p&gt;Java字节码里的分支和跳转指令分别是”goto&amp;quot;和&amp;quot;jsr&amp;quot;。&lt;/p&gt;
 &lt;div&gt;
  &lt;div&gt;
   &lt;table border="0" cellpadding="0" cellspacing="0"&gt;

    &lt;tr&gt;
     &lt;td&gt;
      &lt;div&gt;1&lt;/div&gt;
      &lt;div&gt;2&lt;/div&gt;
&lt;/td&gt;
     &lt;td&gt;
      &lt;div&gt;
       &lt;div&gt;        &lt;code&gt;goto&lt;/code&gt;         &lt;code&gt;[branchbyte1] [branchbyte2]&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;jsr [branchbyte1] [branchbyte2]&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/td&gt;
&lt;/tr&gt;

&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
 &lt;p&gt;这两个指令都接收一个2字节的有符号的分支跳转偏移量做为操作数，因此偏移量最大只能达到65535。不过，为了支持更多的跳转，Java字节码提供了&amp;quot;goto_w&amp;quot;和&amp;quot;jsr_w&amp;quot;这两个可以接收4字节分支偏移的指令。&lt;/p&gt;
 &lt;div&gt;
  &lt;div&gt;
   &lt;table border="0" cellpadding="0" cellspacing="0"&gt;

    &lt;tr&gt;
     &lt;td&gt;
      &lt;div&gt;1&lt;/div&gt;
      &lt;div&gt;2&lt;/div&gt;
&lt;/td&gt;
     &lt;td&gt;
      &lt;div&gt;
       &lt;div&gt;        &lt;code&gt;goto_w [branchbyte1] [branchbyte2] [branchbyte3] [branchbyte4]&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;jsr_w [branchbyte1] [branchbyte2] [branchbyte3] [branchbyte4]&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/td&gt;
&lt;/tr&gt;

&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
 &lt;p&gt;有了这两个指令，索引超过65535的分支也是可用的。因此，Java方法的65535字节的限制就可以解除了。不过，由于Java class文件的更多的其他的限制，使得Java方法还是不能超过65535字节。&lt;/p&gt;
 &lt;p&gt;为了展示其他的限制，我会简单讲解一下class 文件的格式。&lt;/p&gt;
 &lt;p&gt; &lt;/p&gt;
 &lt;p&gt;Java class文件的大致结构如下：&lt;/p&gt;
 &lt;div&gt;
  &lt;div&gt;
   &lt;table border="0" cellpadding="0" cellspacing="0"&gt;

    &lt;tr&gt;
     &lt;td&gt;
      &lt;div&gt;1&lt;/div&gt;
      &lt;div&gt;2&lt;/div&gt;
      &lt;div&gt;3&lt;/div&gt;
      &lt;div&gt;4&lt;/div&gt;
      &lt;div&gt;5&lt;/div&gt;
      &lt;div&gt;6&lt;/div&gt;
      &lt;div&gt;7&lt;/div&gt;
      &lt;div&gt;8&lt;/div&gt;
      &lt;div&gt;9&lt;/div&gt;
      &lt;div&gt;10&lt;/div&gt;
      &lt;div&gt;11&lt;/div&gt;
      &lt;div&gt;12&lt;/div&gt;
      &lt;div&gt;13&lt;/div&gt;
      &lt;div&gt;14&lt;/div&gt;
      &lt;div&gt;15&lt;/div&gt;
      &lt;div&gt;16&lt;/div&gt;
      &lt;div&gt;17&lt;/div&gt;
&lt;/td&gt;
     &lt;td&gt;
      &lt;div&gt;
       &lt;div&gt;        &lt;code&gt;ClassFile {&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;    &lt;/code&gt;        &lt;code&gt;u4 magic;&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;    &lt;/code&gt;        &lt;code&gt;u2 minor_version;&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;    &lt;/code&gt;        &lt;code&gt;u2 major_version;&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;    &lt;/code&gt;        &lt;code&gt;u2 constant_pool_count;&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;    &lt;/code&gt;        &lt;code&gt;cp_info constant_pool[constant_pool_count-&lt;/code&gt;        &lt;code&gt;1&lt;/code&gt;        &lt;code&gt;];&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;    &lt;/code&gt;        &lt;code&gt;u2 access_flags;&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;    &lt;/code&gt;        &lt;code&gt;u2 this_class;&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;    &lt;/code&gt;        &lt;code&gt;u2 super_class;&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;    &lt;/code&gt;        &lt;code&gt;u2 interfaces_count;&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;    &lt;/code&gt;        &lt;code&gt;u2 interfaces[interfaces_count];&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;    &lt;/code&gt;        &lt;code&gt;u2 fields_count;&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;    &lt;/code&gt;        &lt;code&gt;field_info fields[fields_count];&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;    &lt;/code&gt;        &lt;code&gt;u2 methods_count;&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;    &lt;/code&gt;        &lt;code&gt;method_info methods[methods_count];&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;    &lt;/code&gt;        &lt;code&gt;u2 attributes_count;&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;    &lt;/code&gt;        &lt;code&gt;attribute_info attributes[attributes_count];}&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/td&gt;
&lt;/tr&gt;

&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
 &lt;p&gt;上面的内容是来自《The Java Virtual Machine Specification,Second Edition》的4.1节“The ClassFile Structure&amp;quot;。&lt;/p&gt;
 &lt;p&gt;之前反汇编的UserService.class文件反汇编的结果的前16个字节在十六进制编辑器中如下所示：&lt;/p&gt;
 &lt;p&gt;ca fe ba be 00 00 00 32 00 28 07 00 02 01 00 1b&lt;/p&gt;
 &lt;p&gt; &lt;/p&gt;
 &lt;p&gt;通过这些数值，我们可以来看看class文件的格式。&lt;/p&gt;
 &lt;ul&gt;
  &lt;li&gt; magic：class文件最开始的四个字节是魔数。它的值是用来标识Java class文件的。从上面的内容里可以看出，魔数 的值是0xCAFEBABE。简而言之，只有一个文件的起始4字节是0xCAFEBABE的时候，它才会被当作Java class文件来处理。&lt;/li&gt;
  &lt;li&gt;  minor_version,major_version:接下来的四个字节表示的是class文件的版本。UserService.class文件里的是0x00000032，所以这个class文件的版本是50.0。JDK 1.6编译的class文件的版本是50.0，JDK 1.5编译出来的class文件的版本是49.0。JVM必须对低版本的class文件保持后向兼容性，也就是低版本的class文件可以运行在高版本的JVM上。不过，反过来就不行了，当一个高版本的class文件运行在低版本的JVM上时，会出现java.lang.UnsupportedClassVersionError的错误。&lt;/li&gt;
  &lt;li&gt;constant_pool_count,constant_pool[]:在版本号之后，存放的是类的常量池。这里保存的信息将会放入运行时常量池(Runtime Constant Pool)中去，这个后面会讲解的。在加载一个class文件的时候，JVM会把常量池里的信息存放在方法区的运行时常量区里。UserService.class文件里的constant_pool_count的值是0x0028，这表示常量池里有39(40-1)个常量。&lt;/li&gt;
  &lt;li&gt;  access_flags:这是表示一个类的描述符的标志；换句话说，它表示一个类是public,final还是abstract以及是不是接口的标志。&lt;/li&gt;
  &lt;li&gt; fields_count,fields[]:当前类的成员变量的数量以及成员变量的信息。成员变量的信息包含变量名，类型，修饰符以及变量在constant_pool里的索引。&lt;/li&gt;
  &lt;li&gt; methods_count,methods[]:当前类的方法数量以及方法的信息。方法的信息包含方法名，参数的数量和类型，返回值的类型，修饰符，以及方法在constant_pool里的索引，方法的可执行代码以及异常信息。&lt;/li&gt;
  &lt;li&gt; attributes_count,attributes[]:attribution_info结构包含不同种类的属性。field_info和method_info里都包含了attribute_info结构。&lt;/li&gt;
&lt;/ul&gt;
 &lt;p&gt; &lt;/p&gt;
 &lt;p&gt;javap简要地给出了class文件的一个可读形式。当你用&amp;quot;java -verbose&amp;quot;命令来分析UserService.class时，会输出如下的内容：&lt;/p&gt;
 &lt;div&gt;
  &lt;div&gt;
   &lt;table border="0" cellpadding="0" cellspacing="0"&gt;

    &lt;tr&gt;
     &lt;td&gt;
      &lt;div&gt;1&lt;/div&gt;
      &lt;div&gt;2&lt;/div&gt;
      &lt;div&gt;3&lt;/div&gt;
      &lt;div&gt;4&lt;/div&gt;
      &lt;div&gt;5&lt;/div&gt;
      &lt;div&gt;6&lt;/div&gt;
      &lt;div&gt;7&lt;/div&gt;
      &lt;div&gt;8&lt;/div&gt;
      &lt;div&gt;9&lt;/div&gt;
      &lt;div&gt;10&lt;/div&gt;
      &lt;div&gt;11&lt;/div&gt;
      &lt;div&gt;12&lt;/div&gt;
      &lt;div&gt;13&lt;/div&gt;
      &lt;div&gt;14&lt;/div&gt;
      &lt;div&gt;15&lt;/div&gt;
      &lt;div&gt;16&lt;/div&gt;
      &lt;div&gt;17&lt;/div&gt;
      &lt;div&gt;18&lt;/div&gt;
      &lt;div&gt;19&lt;/div&gt;
      &lt;div&gt;20&lt;/div&gt;
      &lt;div&gt;21&lt;/div&gt;
      &lt;div&gt;22&lt;/div&gt;
      &lt;div&gt;23&lt;/div&gt;
      &lt;div&gt;24&lt;/div&gt;
      &lt;div&gt;25&lt;/div&gt;
      &lt;div&gt;26&lt;/div&gt;
      &lt;div&gt;27&lt;/div&gt;
      &lt;div&gt;28&lt;/div&gt;
      &lt;div&gt;29&lt;/div&gt;
      &lt;div&gt;30&lt;/div&gt;
      &lt;div&gt;31&lt;/div&gt;
&lt;/td&gt;
     &lt;td&gt;
      &lt;div&gt;
       &lt;div&gt;        &lt;code&gt;Compiled from &lt;/code&gt;        &lt;code&gt;&amp;quot;UserService.java&amp;quot;&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;public&lt;/code&gt;         &lt;code&gt;class&lt;/code&gt;         &lt;code&gt;com.nhn.service.UserService &lt;/code&gt;        &lt;code&gt;extends&lt;/code&gt;         &lt;code&gt;java.lang.Object&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;  &lt;/code&gt;        &lt;code&gt;SourceFile: &lt;/code&gt;        &lt;code&gt;&amp;quot;UserService.java&amp;quot;&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;  &lt;/code&gt;        &lt;code&gt;minor version: &lt;/code&gt;        &lt;code&gt;0&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;  &lt;/code&gt;        &lt;code&gt;major version: &lt;/code&gt;        &lt;code&gt;50&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;  &lt;/code&gt;        &lt;code&gt;Constant pool:&lt;/code&gt;        &lt;code&gt;const&lt;/code&gt;         &lt;code&gt;#&lt;/code&gt;        &lt;code&gt;1&lt;/code&gt;         &lt;code&gt;= &lt;/code&gt;        &lt;code&gt;class&lt;/code&gt;                &lt;code&gt;#&lt;/code&gt;        &lt;code&gt;2&lt;/code&gt;        &lt;code&gt;;     &lt;/code&gt;        &lt;code&gt;//  com/nhn/service/UserService&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;const&lt;/code&gt;         &lt;code&gt;#&lt;/code&gt;        &lt;code&gt;2&lt;/code&gt;         &lt;code&gt;= Asciz        com/nhn/service/UserService;&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;const&lt;/code&gt;         &lt;code&gt;#&lt;/code&gt;        &lt;code&gt;3&lt;/code&gt;         &lt;code&gt;= &lt;/code&gt;        &lt;code&gt;class&lt;/code&gt;                &lt;code&gt;#&lt;/code&gt;        &lt;code&gt;4&lt;/code&gt;        &lt;code&gt;;     &lt;/code&gt;        &lt;code&gt;//  java/lang/Object&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;const&lt;/code&gt;         &lt;code&gt;#&lt;/code&gt;        &lt;code&gt;4&lt;/code&gt;         &lt;code&gt;= Asciz        java/lang/Object;&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;const&lt;/code&gt;         &lt;code&gt;#&lt;/code&gt;        &lt;code&gt;5&lt;/code&gt;         &lt;code&gt;= Asciz        admin;&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;const&lt;/code&gt;         &lt;code&gt;#&lt;/code&gt;        &lt;code&gt;6&lt;/code&gt;         &lt;code&gt;= Asciz        Lcom/nhn/user/UserAdmin;;&lt;/code&gt;        &lt;code&gt;// … omitted - constant pool continued …&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;{&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;// … omitted - method information …&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;public&lt;/code&gt;         &lt;code&gt;void&lt;/code&gt;         &lt;code&gt;add(java.lang.String);&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;  &lt;/code&gt;        &lt;code&gt;Code:&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;   &lt;/code&gt;        &lt;code&gt;Stack=&lt;/code&gt;        &lt;code&gt;2&lt;/code&gt;        &lt;code&gt;, Locals=&lt;/code&gt;        &lt;code&gt;2&lt;/code&gt;        &lt;code&gt;, Args_size=&lt;/code&gt;        &lt;code&gt;2&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;   &lt;/code&gt;        &lt;code&gt;0&lt;/code&gt;        &lt;code&gt;:   aload_0&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;   &lt;/code&gt;        &lt;code&gt;1&lt;/code&gt;        &lt;code&gt;:   getfield        #&lt;/code&gt;        &lt;code&gt;15&lt;/code&gt;        &lt;code&gt;; &lt;/code&gt;        &lt;code&gt;//Field admin:Lcom/nhn/user/UserAdmin;&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;   &lt;/code&gt;        &lt;code&gt;4&lt;/code&gt;        &lt;code&gt;:   aload_1&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;   &lt;/code&gt;        &lt;code&gt;5&lt;/code&gt;        &lt;code&gt;:   invokevirtual   #&lt;/code&gt;        &lt;code&gt;23&lt;/code&gt;        &lt;code&gt;; &lt;/code&gt;        &lt;code&gt;//Method com/nhn/user/UserAdmin.addUser:(Ljava/lang/String;)Lcom/nhn/user/User;&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;   &lt;/code&gt;        &lt;code&gt;8&lt;/code&gt;        &lt;code&gt;:   pop&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;   &lt;/code&gt;        &lt;code&gt;9&lt;/code&gt;        &lt;code&gt;:   &lt;/code&gt;        &lt;code&gt;return&lt;/code&gt;          &lt;code&gt;LineNumberTable:&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;   &lt;/code&gt;        &lt;code&gt;line &lt;/code&gt;        &lt;code&gt;14&lt;/code&gt;        &lt;code&gt;: &lt;/code&gt;        &lt;code&gt;0&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;   &lt;/code&gt;        &lt;code&gt;line &lt;/code&gt;        &lt;code&gt;15&lt;/code&gt;        &lt;code&gt;: &lt;/code&gt;        &lt;code&gt;9&lt;/code&gt;          &lt;code&gt;LocalVariableTable:&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;   &lt;/code&gt;        &lt;code&gt;Start  Length  Slot  Name   Signature&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;   &lt;/code&gt;        &lt;code&gt;0&lt;/code&gt;              &lt;code&gt;10&lt;/code&gt;              &lt;code&gt;0&lt;/code&gt;            &lt;code&gt;this&lt;/code&gt;               &lt;code&gt;Lcom/nhn/service/UserService;&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;   &lt;/code&gt;        &lt;code&gt;0&lt;/code&gt;              &lt;code&gt;10&lt;/code&gt;              &lt;code&gt;1&lt;/code&gt;            &lt;code&gt;userName       Ljava/lang/String; &lt;/code&gt;        &lt;code&gt;// … Omitted - Other method information …&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;}&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/td&gt;
&lt;/tr&gt;

&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
 &lt;p&gt;javap输出的内容太长，我这里只是提出了整个输出的一部分。整个的输出展示了constant_pool里的不同信息，以及方法的内容。&lt;/p&gt;
 &lt;p&gt;关于方法的65565字节大小的限制是和  &lt;strong&gt;method_info struct&lt;/strong&gt;相关的。method_info结构包含Code,LineNumberTable,以及LocalViriable attribute几个属性，这个在“javap -verbose&amp;quot;的输出里可以看到。Code属性里的LineNumberTable，LocalVariableTable以及exception_table的长度都是用一个固定的2字节来表示的。因此，方法的大小是不能超过LineNumberTable，LocalVariableTable以及exception_table的长度的，它们都是65535字节。&lt;/p&gt;
 &lt;p&gt;许多人都在抱怨方法的大小限制，而且在JVM规范里还说名了”这个长度以后有可能会是可扩展的“。不过，到现在为止，还没有为这个限制做出任何动作。从JVM规范里的把class文件里的内容直接拷贝到方法区这个特点来看，要想在保持后向兼容性的同时来扩展方法区的大小是非常困难的。&lt;/p&gt;
 &lt;p&gt; &lt;/p&gt;
 &lt;blockquote&gt;  &lt;p&gt;   &lt;strong&gt;如果因为Java编译器的错误而导致class文件的错误，会怎么样呢？或者，因为网络传输的错误导致拷贝的class文件的损坏呢？&lt;/strong&gt;&lt;/p&gt;&lt;/blockquote&gt;
 &lt;p&gt;为了预防这种场景，Java的类装载器通过一个严格而且慎密的过程来校验class文件。在JVM规范里详细地讲解了这方面的内容。&lt;/p&gt;
 &lt;blockquote&gt;  &lt;p&gt;   &lt;strong&gt;注意&lt;/strong&gt;&lt;/p&gt;
  &lt;p&gt;我们怎样能够判断JVM正确地执行了class文件校验的所有过程呢？我们怎么来判断不同提供商的不同JVM实现是符合JVM规范的呢？为了能够验证以上两点，Oracle提供了一个测试工具TCK(Technology Compatibility Kit)。这个TCK工具通过执行成千上万的测试用例来验证一个JVM是否符合规范，这些测试里面包含了各种非法的class文件。只有通过了TCK的测试的JVM才能称作JVM。&lt;/p&gt;
  &lt;p&gt;和TCK相似，有一个组织JCP(Java Community Process;   &lt;a href="http://jcp.org/" rel="nofollow" target="_blank"&gt;http://jcp.org&lt;/a&gt;)负责Java规范以及新的Java技术规范。对于JCP而言，如果要完成一项Java规范请求(Java Specification Request, JSR)的话，需要具备规范文档，可参考的实现以及通过TCK测试。任何人如果想使用一项申请JSR的新技术的话，他要么使用RI提供许可的实现，要么自己实现一个并且保证通过TCK的测试。&lt;/p&gt;&lt;/blockquote&gt;
 &lt;p&gt; &lt;/p&gt;
 &lt;h2&gt;  &lt;strong&gt;JVM结构&lt;/strong&gt;&lt;/h2&gt;
 &lt;p&gt; &lt;/p&gt;
 &lt;p&gt;Java编写的代码会按照下图的流程来执行&lt;/p&gt;
 &lt;p&gt; &lt;/p&gt;
 &lt;p&gt; &lt;/p&gt;
 &lt;p&gt; &lt;/p&gt;
 &lt;a href="http://www.importnew.com/1486.html/fg1"&gt;  &lt;img alt="" src="http://www.importnew.com/wp-content/themes/website/data/php/timthumb.php?src=wp-content/uploads/2012/12/fg1.jpg&amp;q=90&amp;w=398"&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;
 &lt;p align="center"&gt;  &lt;strong&gt;图 1: Java代码执行流程.&lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt;类装载器装载负责装载编译后的字节码，并加载到运行时数据区（Runtime Data Area），然后执行引擎执行会执行这些字节码。&lt;/p&gt;
 &lt;p&gt; &lt;/p&gt;
 &lt;h3&gt;  &lt;strong&gt;类加载器（Class Loader）&lt;/strong&gt;&lt;/h3&gt;
 &lt;p&gt; &lt;/p&gt;
 &lt;p&gt;Java提供了动态的装载特性；它会在运行时的第一次引用到一个class的时候对它进行装载和链接，而不是在编译期进行。JVM的类装载器负责动态装载。Java类装载器有如下几个特点：&lt;/p&gt;
 &lt;ul&gt;
  &lt;li&gt; 层级结构：Java里的类装载器被组织成了有父子关系的层级结构。Bootstrap类装载器是所有装载器的父亲。&lt;/li&gt;
  &lt;li&gt;代理模式：基于层级结构，类的装载可以在装载器之间进行代理。当装载器装载一个类时，首先会检查它是否在父装载器中进行装载了。如果上层的装载器已经装载了这个类，这个类会被直接使用。反之，类装载器会请求装载这个类。&lt;/li&gt;
  &lt;li&gt;可见性限制：一个子装载器可以查找父装载器中的类，但是一个父装载器不能查找子装载器里的类。&lt;/li&gt;
  &lt;li&gt;不允许卸载：类装载器可以装载一个类但是不可以卸载它，不过可以删除当前的类装载器，然后创建一个新的类装载器。&lt;/li&gt;
&lt;/ul&gt;
 &lt;p&gt; &lt;/p&gt;
 &lt;p&gt;每个类装载器都有一个自己的命名空间用来保存已装载的类。当一个类装载器装载一个类时，它会通过保存在命名空间里的类全局限定名(Fully Qualified Class Name)进行搜索来检测这个类是否已经被加载了。如果两个类的全局限定名是一样的，但是如果命名空间不一样的话，那么它们还是不同的类。不同的命名空间表示class被不同的类装载器装载。&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://www.importnew.com/1486.html/fg2"&gt;  &lt;img alt="" src="http://www.importnew.com/wp-content/themes/website/data/php/timthumb.php?src=wp-content/uploads/2012/12/fg2.jpg&amp;q=90&amp;w=475"&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;
 &lt;p&gt; &lt;/p&gt;
 &lt;p align="center"&gt;  &lt;strong&gt;图 2: 类加载器代理模型&lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt; &lt;/p&gt;
 &lt;p&gt;当一个类装载器（class loader）被请求装载类时，它首先按照顺序在上层装载器、父装载器以及自身的装载器的缓存里检查这个类是否已经存在。简单来说，就是在缓存里查看这个类是否已经被自己装载过了，如果没有的话，继续查找父类的缓存，直到在bootstrap类装载器里也没有找到的话，它就会自己在文件系统里去查找并且加载这个类。&lt;/p&gt;
 &lt;p&gt; &lt;/p&gt;
 &lt;ul&gt;
  &lt;li&gt;   &lt;strong&gt;启动类加载器（Bootstrap class loader）&lt;/strong&gt;:这个类装载器是在JVM启动的时候创建的。它负责装载Java API，包含Object对象。和其他的类装载器不同的地方在于这个装载器是通过native code来实现的，而不是用Java代码。&lt;/li&gt;
  &lt;li&gt;   &lt;strong&gt;扩展类加载器（Extension class loader）&lt;/strong&gt;:它装载除了基本的Java API以外的扩展类。它也负责装载其他的安全扩展功能。&lt;/li&gt;
  &lt;li&gt; 系统类加载器（   &lt;strong&gt;System class loader）:&lt;/strong&gt;如果说bootstrap class loader和extension class loader负责加载的是JVM的组件，那么system class loader负责加载的是应用程序类。它负责加载用户在$CLASSPATH里指定的类。&lt;/li&gt;
  &lt;li&gt;   &lt;strong&gt;用户自定义类加载器（User-defined class loader）&lt;/strong&gt;:这是应用程序开发者用直接用代码实现的类装载器。&lt;/li&gt;
&lt;/ul&gt;
 &lt;p&gt; &lt;/p&gt;
 &lt;p&gt;类似于web应用服务(WAS)之类的框架会用这种结构来对Web应用和企业级应用进行分离。换句话来说，类装载器的代理模型可以用来保证不同应用之间的相互独立。WAS类装载器使用这种层级结构，不同的WAS供应商的装载器结构有稍许区别。&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://www.importnew.com/1486.html/fg3"&gt;  &lt;img alt="" src="http://www.importnew.com/wp-content/themes/website/data/php/timthumb.php?src=wp-content/uploads/2012/12/fg3.jpg&amp;q=90&amp;w=568"&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;
 &lt;p align="center"&gt;  &lt;strong&gt;图 3: 类加载的各个阶段&lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt;每个阶段的描述如下：&lt;/p&gt;
 &lt;ul&gt;
  &lt;li&gt; Loading: 类的信息从文件中获取并且载入到JVM的内存里。&lt;/li&gt;
  &lt;li&gt; Verifying:检查读入的结构是否符合Java语言规范以及JVM规范的描述。这是类装载中最复杂的过程，并且花费的时间也是最长的。并且JVM TCK工具的大部分场景的用例也用来测试在装载错误的类的时候是否会出现错误。&lt;/li&gt;
  &lt;li&gt;Preparing:分配一个结构用来存储类信息，这个结构中包含了类中定义的成员变量，方法和接口的信息。&lt;/li&gt;
  &lt;li&gt;Resolving:把这个类的常量池中的所有的符号引用改变成直接引用。&lt;/li&gt;
  &lt;li&gt;Initializing:把类中的变量初始化成合适的值。执行静态初始化程序，把静态变量初始化成指定的值。&lt;/li&gt;
&lt;/ul&gt;
 &lt;p&gt;JVM规范定义了上面的几个任务，不过它允许具体执行的时候能够有些灵活的变动。&lt;/p&gt;
 &lt;h3&gt;  &lt;strong&gt;运行时数据区(Runtime Data Areas)&lt;/strong&gt;&lt;/h3&gt;
 &lt;p&gt; &lt;/p&gt;
 &lt;p&gt; &lt;/p&gt;
 &lt;p&gt; &lt;/p&gt;
 &lt;a href="http://www.importnew.com/1486.html/fg4"&gt;  &lt;img alt="" src="http://www.importnew.com/wp-content/themes/website/data/php/timthumb.php?src=wp-content/uploads/2012/12/fg4.jpg&amp;q=90&amp;w=374"&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;
 &lt;p align="center"&gt;  &lt;strong&gt;图 4: 运行时数据区&lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt; &lt;/p&gt;
 &lt;p&gt; &lt;/p&gt;
 &lt;p&gt;运行时数据区是在JVM运行的时候操作所分配的内存区。运行时内存区可以划分为6个区域。在这6个区域中，一个PC Register,JVM stack 以及Native Method Statck都是按照线程创建的，Heap,Method Area以及Runtime Constant Pool都是被所有线程公用的。&lt;/p&gt;
 &lt;ul&gt;
  &lt;li&gt;    &lt;strong&gt;PC&lt;/strong&gt;   &lt;strong&gt;寄存器(PC register)&lt;/strong&gt;:每个线程启动的时候，都会创建一个PC(Program Counter ,程序计数器)寄存器。PC寄存器里保存有当前正在执行的JVM指令的地址。&lt;/li&gt;
  &lt;li&gt;   &lt;strong&gt;JVM &lt;/strong&gt;   &lt;strong&gt;堆栈(JVM stack)&lt;/strong&gt;：每个线程启动的时候，都会创建一个JVM堆栈。它是用来保存栈帧的。JVM只会在JVM堆栈上对栈帧进行push和pop的操作。如果出现了异常，堆栈跟踪信息的每一行都代表一个栈帧立的信息，这些信息它是通过类似于printStackTrace()这样的方法来展示的。&lt;/li&gt;
&lt;/ul&gt;
 &lt;p&gt; &lt;/p&gt;
 &lt;p&gt; &lt;/p&gt;
 &lt;p&gt; &lt;/p&gt;
 &lt;a href="http://www.importnew.com/1486.html/fg5"&gt;  &lt;img alt="" src="http://www.importnew.com/wp-content/themes/website/data/php/timthumb.php?src=wp-content/uploads/2012/12/fg5.jpg&amp;q=90&amp;w=466"&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;
 &lt;p&gt; &lt;/p&gt;
 &lt;p align="center"&gt;  &lt;strong&gt;图 5: JVM堆栈&lt;/strong&gt;&lt;/p&gt;
 &lt;ul&gt;
  &lt;li&gt;-   &lt;strong&gt;栈帧(stack frame)&lt;/strong&gt;：每当一个方法在JVM上执行的时候，都会创建一个栈帧，并且会添加到当前线程的JVM堆栈上。当这个方法执行结束的时候，这个栈帧就会被移除。每个栈帧里都包含有当前正在执行的方法所属类的本地变量数组，操作数栈，以及运行时常量池的引用。本地变量数组的和操作数栈的大小都是在编译时确定的。因此，一个方法的栈帧的大小也是固定不变的。&lt;/li&gt;
&lt;/ul&gt;
 &lt;ul&gt;
  &lt;li&gt;-   &lt;strong&gt;局部变量数组(Local variable array&lt;/strong&gt;   &lt;strong&gt;)&lt;/strong&gt;：这个数组的索引从0开始。索引为0的变量表示这个方法所属的类的实例。从1开始，首先存放的是传给该方法的参数，在参数后面保存的是方法的局部变量。&lt;/li&gt;
&lt;/ul&gt;
 &lt;ul&gt;
  &lt;li&gt;-    &lt;strong&gt;操作数栈(Operand stack&lt;/strong&gt;   &lt;strong&gt;)&lt;/strong&gt;：方法实际运行的工作空间。每个方法都在操作数栈和局部变量数组之间交换数据，并且压入或者弹出其他方法返回的结果。操作数栈所需的最大空间是在编译期确定的。因此，操作数栈的大小也可以在编译期间确定。&lt;/li&gt;
  &lt;li&gt;    &lt;strong&gt;本地方法栈(&lt;/strong&gt;   &lt;strong&gt;Native method stack&lt;/strong&gt;)：供用非Java语言实现的本地方法的堆栈。换句话说，它是用来调用通过JNI(Java Native Interface Java本地接口）调用的C/C++代码。根据具体的语言，一个C堆栈或者C++堆栈会被创建。&lt;/li&gt;
  &lt;li&gt;    &lt;strong&gt;方法区(Method area)&lt;/strong&gt;：方法区是所有线程共享的，它是在JVM启动的时候创建的。它保存所有被JVM加载的类和接口的运行时常量池，成员变量以及方法的信息，静态变量以及方法的字节码。JVM的提供者可以通过不同的方式来实现方法区。在Oracle 的HotSpot JVM里，方法区被称为永久区或者永久代（PermGen）。是否对方法区进行垃圾回收对JVM的实现是可选的。&lt;/li&gt;
  &lt;li&gt;     &lt;strong&gt;运行时常量池(&lt;/strong&gt;   &lt;strong&gt;Runtime constant pool&lt;/strong&gt;   &lt;strong&gt;)&lt;/strong&gt;：这个区域和class文件里的constant_pool是相对应的。这个区域是包含在方法区里的，不过，对于JVM的操作而言，它是一个核心的角色。因此在JVM规范里特别提到了它的重要性。除了包含每个类和接口的常量，它也包含了所有方法和变量的引用。简而言之，当一个方法或者变量被引用时，JVM通过运行时常量区来查找方法或者变量在内存里的实际地址。&lt;/li&gt;
  &lt;li&gt;   &lt;strong&gt;堆(Heap)&lt;/strong&gt;：用来保存实例或者对象的空间，而且它是垃圾回收的主要目标。当讨论类似于JVM性能之类的问题时，它经常会被提及。JVM提供者可以决定怎么来配置堆空间，以及不对它进行垃圾回收。&lt;/li&gt;
&lt;/ul&gt;
 &lt;p&gt;现在我们再会过头来看看之前反汇编的字节码&lt;/p&gt;
 &lt;div&gt;
  &lt;div&gt;
   &lt;table border="0" cellpadding="0" cellspacing="0"&gt;

    &lt;tr&gt;
     &lt;td&gt;
      &lt;div&gt;1&lt;/div&gt;
      &lt;div&gt;2&lt;/div&gt;
      &lt;div&gt;3&lt;/div&gt;
      &lt;div&gt;4&lt;/div&gt;
      &lt;div&gt;5&lt;/div&gt;
      &lt;div&gt;6&lt;/div&gt;
      &lt;div&gt;7&lt;/div&gt;
      &lt;div&gt;8&lt;/div&gt;
&lt;/td&gt;
     &lt;td&gt;
      &lt;div&gt;
       &lt;div&gt;        &lt;code&gt;public&lt;/code&gt;         &lt;code&gt;void&lt;/code&gt;         &lt;code&gt;add(java.lang.String);&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;  &lt;/code&gt;        &lt;code&gt;Code:&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;   &lt;/code&gt;        &lt;code&gt;0&lt;/code&gt;        &lt;code&gt;:   aload_0&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;   &lt;/code&gt;        &lt;code&gt;1&lt;/code&gt;        &lt;code&gt;:   getfield        #&lt;/code&gt;        &lt;code&gt;15&lt;/code&gt;        &lt;code&gt;; &lt;/code&gt;        &lt;code&gt;//Field admin:Lcom/nhn/user/UserAdmin;&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;   &lt;/code&gt;        &lt;code&gt;4&lt;/code&gt;        &lt;code&gt;:   aload_1&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;   &lt;/code&gt;        &lt;code&gt;5&lt;/code&gt;        &lt;code&gt;:   invokevirtual   #&lt;/code&gt;        &lt;code&gt;23&lt;/code&gt;        &lt;code&gt;; &lt;/code&gt;        &lt;code&gt;//Method com/nhn/user/UserAdmin.addUser:(Ljava/lang/String;)Lcom/nhn/user/User;&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;   &lt;/code&gt;        &lt;code&gt;8&lt;/code&gt;        &lt;code&gt;:   pop&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;   &lt;/code&gt;        &lt;code&gt;9&lt;/code&gt;        &lt;code&gt;:   &lt;/code&gt;        &lt;code&gt;return&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/td&gt;
&lt;/tr&gt;

&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
 &lt;p&gt;把上面的反汇编代码和我们平时所见的x86架构的汇编代码相比较，我们会发现这两者的结构有点相似，都使用了操作码；不过，有一点不同的地方是Java字节码并不会在操作数里写入寄存器的名称、内存地址或者偏移量。之前已经说过，JVM用的是栈，它不会使用寄存器。和使用寄存器的x86架构不同，它自己负责内存的管理。它用索引例如15和23来代替实际的内存地址。15和23都是当前类（这里是UserService类）的常量池里的索引。简而言之，JVM为每个类创建了一个常量池，并且这个常量池里保存了实际目标的引用。&lt;/p&gt;
 &lt;p&gt;每行反汇编代码的解释如下：&lt;/p&gt;
 &lt;ul&gt;
  &lt;li&gt; aload_0:把局部变量数组中索引为#0的变量添加到操作数栈上。索引#0所表示的变量是this，即是当前实例的引用。&lt;/li&gt;
  &lt;li&gt;getfield #15:把当前类的常量池里的索引为#15的变量添加到操作数栈。这里添加的是UserAdmin的admin成员变量。因为admin变量是个类的实例，因此添加的是一个引用。&lt;/li&gt;
  &lt;li&gt;aload_1:把局部变量数组里的索引为#1的变量添加到操作数栈。来自局部变量数组里的索引为1的变量是方法的一个参数。因此，在调用add()方法的时候，会把userName指向的String的引用添加到操作数栈上。&lt;/li&gt;
  &lt;li&gt;invokevirtual #23:调用当前类的常量池里的索引为#23的方法。这个时候，通过getfile和aload_1添加到操作数栈上的引用都被作为方法的参数。当方法运行完成并且返回时，它的返回值会被添加到操作数栈上。&lt;/li&gt;
  &lt;li&gt; pop:把通过invokevirtual调用的方法的返回值从操作数栈里弹出来。你可以看到，在前面的例子里，用老的类库编译的那段代码是没有返回值的。简而言之，正因为之前的代码没有返回值，所以没必要吧把返回值从操作数栈上给弹出来。&lt;/li&gt;
  &lt;li&gt; return：结束当前方法调用&lt;/li&gt;
&lt;/ul&gt;
 &lt;p&gt;下图可以帮助你更好地理解上面的内容。&lt;/p&gt;
 &lt;p&gt; &lt;/p&gt;
 &lt;p&gt; &lt;/p&gt;
 &lt;p&gt; &lt;/p&gt;
 &lt;a href="http://www.importnew.com/1486.html/fg6"&gt;  &lt;img alt="" src="http://www.importnew.com/wp-content/themes/website/data/php/timthumb.php?src=wp-content/uploads/2012/12/fg6.jpg&amp;q=90&amp;w=478"&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;
 &lt;p align="center"&gt;  &lt;strong&gt;图 6: Java字节码装载到运行时数据区示例&lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt;顺便提一下，在这个方法里，局部变量数组没有被修改。所以上图只显示了操作数栈的变化。不过，大部分的情况下，局部变量数组也是会改变的。局部变量数组和操作数栈之间的数据传输是使用通过大量的load指令(aload,iload)和store指令（astore,istore)来实现的。&lt;/p&gt;
 &lt;p&gt;在这个图里，我们简单验证了运行时常量池和JVM栈的描述。当JVM运行的时候，每个类的实例都会在堆上进行分配，User，UserAdmin，UserService以及String等类的信息都会保存在方法区。&lt;/p&gt;
 &lt;h3&gt;  &lt;strong&gt;执行引擎（Execution Engine）&lt;/strong&gt;&lt;/h3&gt;
 &lt;p&gt;通过类装载器装载的，被分配到JVM的运行时数据区的字节码会被执行引擎执行。执行引擎以指令为单位读取Java字节码。它就像一个CPU一样，一条一条地执行机器指令。每个字节码指令都由一个1字节的操作码和附加的操作数组成。执行引擎取得一个操作码，然后根据操作数来执行任务，完成后就继续执行下一条操作码。&lt;/p&gt;
 &lt;p&gt;不过Java字节码是用一种人类可以读懂的语言编写的，而不是用机器可以直接执行的语言。因此，执行引擎必须把字节码转换成可以直接被JVM执行的语言。字节码可以通过以下两种方式转换成合适的语言。&lt;/p&gt;
 &lt;ul&gt;
  &lt;li&gt;   &lt;strong&gt;解释器&lt;/strong&gt;：一条一条地读取，解释并且执行字节码指令。因为它一条一条地解释和执行指令，所以它可以很快地解释字节码，但是执行起来会比较慢。这是解释执行的语言的一个缺点。字节码这种“语言”基本来说是解释执行的。&lt;/li&gt;
  &lt;li&gt;   &lt;strong&gt;即时（Just-In-Time)编译器&lt;/strong&gt;：即时编译器被引入用来弥补解释器的缺点。执行引擎首先按照解释执行的方式来执行，然后在合适的时候，即时编译器把整段字节码编译成本地代码。然后，执行引擎就没有必要再去解释执行方法了，它可以直接通过本地代码去执行它。执行本地代码比一条一条进行解释执行的速度快很多。编译后的代码可以执行的很快，因为本地代码是保存在缓存里的。&lt;/li&gt;
&lt;/ul&gt;
 &lt;p&gt;不过，用JIT编译器来编译代码所花的时间要比用解释器去一条条解释执行花的时间要多。因此，如果代码只被执行一次的话，那么最好还是解释执行而不是编译后再执行。因此，内置了JIT编译器的JVM都会检查方法的执行频率，如果一个方法的执行频率超过一个特定的值的话，那么这个方法就会被编译成本地代码。&lt;/p&gt;
 &lt;p&gt; &lt;/p&gt;
 &lt;p&gt; &lt;/p&gt;
 &lt;p&gt; &lt;/p&gt;
 &lt;a href="http://www.importnew.com/1486.html/fg7"&gt;  &lt;img alt="" src="http://www.importnew.com/wp-content/themes/website/data/php/timthumb.php?src=wp-content/uploads/2012/12/fg7.jpg&amp;q=90&amp;w=465"&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;
 &lt;p align="center"&gt;  &lt;strong&gt;图 7:Java编译器和JIT编译器&lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt; &lt;/p&gt;
 &lt;p&gt;JVM规范没有定义执行引擎该如何去执行。因此，JVM的提供者通过使用不同的技术以及不同类型的JIT编译器来提高执行引擎的效率。&lt;/p&gt;
 &lt;p&gt;大部分的JIT编译器都是按照下图的方式来执行的：&lt;/p&gt;
 &lt;p&gt; &lt;/p&gt;
 &lt;p&gt; &lt;/p&gt;
 &lt;p&gt; &lt;/p&gt;
 &lt;a href="http://www.importnew.com/1486.html/fg8"&gt;  &lt;img alt="" src="http://www.importnew.com/wp-content/themes/website/data/php/timthumb.php?src=wp-content/uploads/2012/12/fg8.jpg&amp;q=90&amp;w=418"&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;
 &lt;p align="center"&gt;  &lt;strong&gt;图 8: JIT编译器&lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt; &lt;/p&gt;
 &lt;p&gt;JIT编译器把字节码转换成一个中间层表达式，一种中间层的表示方式，来进行优化，然后再把这种表示转换成本地代码。&lt;/p&gt;
 &lt;p&gt;Oracle Hotspot VM使用一种叫做热点编译器的JIT编译器。它之所以被称作”热点“是因为热点编译器通过分析找到最需要编译的“热点”代码，然后把热点代码编译成本地代码。如果已经被编译成本地代码的字节码不再被频繁调用了，换句话说，这个方法不再是热点了，那么Hotspot VM会把编译过的本地代码从cache里移除，并且重新按照解释的方式来执行它。Hotspot VM分为Server VM和Client VM两种，这两种VM使用不同的JIT编译器。&lt;/p&gt;
 &lt;p&gt; &lt;/p&gt;
 &lt;p&gt; &lt;/p&gt;
 &lt;p&gt; &lt;/p&gt;
 &lt;a href="http://www.importnew.com/1486.html/fg9"&gt;  &lt;img alt="" src="http://www.importnew.com/wp-content/themes/website/data/php/timthumb.php?src=wp-content/uploads/2012/12/fg9.jpg&amp;q=90&amp;w=452"&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;
 &lt;p align="center"&gt;  &lt;strong&gt;Figure 9: Hotspot Client VM and Server VM.&lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt; &lt;/p&gt;
 &lt;p&gt;Client VM 和Server VM使用完全相同的运行时，不过如上图所示，它们所使用的JIT编译器是不同的。Server VM用的是更高级的动态优化编译器，这个编译器使用了更加复杂并且更多种类的性能优化技术。&lt;/p&gt;
 &lt;p&gt;IBM 在IBM JDK 6里不仅引入了JIT编译器，它同时还引入了AOT(Ahead-Of-Time)编译器。它使得多个JVM可以通过共享缓存来共享编译过的本地代码。简而言之，通过AOT编译器编译过的代码可以直接被其他JVM使用。除此之外，IBM JVM通过使用AOT编译器来提前把代码编译器成JXE（Java EXecutable)文件格式来提供一种更加快速的执行方式。&lt;/p&gt;
 &lt;p&gt;大部分Java程序的性能都是通过提升执行引擎的性能来达到的。正如JIT编译器一样，很多优化的技术都被引入进来使得JVM的性能一直能够得到提升。最原始的JVM和最新的JVM最大的差别之处就是在于执行引擎。&lt;/p&gt;
 &lt;p&gt;Hotspot编译器在1.3版本的时候就被引入到Oracle Hotspot VM里了，JIT编译技术在Anroid 2.2版本的时候被引入到Dalvik VM里。&lt;/p&gt;
 &lt;p&gt;引入一种中间语言，例如字节码，虚拟机执行字节码，并且通过JIT编译器来提升JVM的性能的这种技术以及广泛应用在使用中间语言的编程语言上。例如微软的.Net，CLR（Common Language Runtime 公共语言运行时），也是一种VM，它执行一种被称作CIL（Common Intermediate Language）的字节码。CLR提供了AOT编译器和JIT编译器。因此，用C#或者VB.NET编写的源代码被编译后，编译器会生成CIL并且CIL会执行在有JIT编译器的CLR上。CLR和JVM相似，它也有垃圾回收机制，并且也是基于堆栈运行。&lt;/p&gt;
 &lt;h2&gt;  &lt;strong&gt;Java 虚拟机规范，Java SE 第7版&lt;/strong&gt;&lt;/h2&gt;
 &lt;p&gt;2011年7月28日，Oracle发布了Java SE的第7个版本，并且把JVM规也更新到了相应的版本。在1999年发布《The Java Virtual Machine Specification,Second Edition》后，Oracle花了12年来发布这个更新的版本。这个更新的版本包含了这12年来累积的众多变化以及修改，并且更加细致地对规范进行了描述。此外，它还反映了《The Java Language Specificaion,Java SE 7 Edition》里的内容。主要的变化总结如下：&lt;/p&gt;
 &lt;ul&gt;
  &lt;li&gt;来自Java SE 5.0里的泛型，支持可变参数的方法&lt;/li&gt;
  &lt;li&gt;从Java SE 6以来，字节码校验的处理技术所发生的改变&lt;/li&gt;
  &lt;li&gt;添加invokedynamic指令以及class文件对于该指令的支持&lt;/li&gt;
  &lt;li&gt;删除了关于Java语言概念的内容，并且指引读者去参考Java语言规范&lt;/li&gt;
  &lt;li&gt; 删除关于Java线程和锁的描述，并且把它们移到Java语言规范里&lt;/li&gt;
&lt;/ul&gt;
 &lt;p&gt;最大的改变是添加了invokedynamic指令。也就是说JVM的内部指令集做了修改，使得JVM开始支持动态类型的语言，这种语言的类型不是固定的，例如脚本语言以及来自Java SE 7里的Java语言。之前没有被用到的操作码186被分配给新指令invokedynamic，而且class文件格式里也添加了新的内容来支持invokedynamic指令。&lt;/p&gt;
 &lt;p&gt;Java SE 7的编译器生成的class文件的版本号是51.0。Java SE 6的是50.0。class文件的格式变动比较大，因此，51.0版本的class文件不能够在Java SE 6的虚拟机上执行。&lt;/p&gt;
 &lt;p&gt;尽管有了这么多的变动，但是Java方法的65535字节的限制还是没有被去掉。除非class文件的格式彻底改变，否者这个限制将来也是不可能去掉的。&lt;/p&gt;
 &lt;p&gt;值得说明的是，Oracle Java SE 7 VM支持G1这种新的垃圾回收机制，不过，它被限制在Oracle JVM上，因此，JVM本身对于垃圾回收的实现不做任何限制。也因此，在JVM规范里没有对它进行描述。&lt;/p&gt;
 &lt;h3&gt;  &lt;strong&gt;switch 语句里的String&lt;/strong&gt;&lt;/h3&gt;
 &lt;p&gt;Java SE 7里添加了很多新的语法和特性。不过，在Java SE 7的版本里，相对于语言本身而言，JVM没有多少的改变。那么，这些新的语言特性是怎么来实现的呢？我们通过反汇编的方式来看看switch语句里的String（把字符串作为switch()语句的比较对象）是怎么实现的？&lt;/p&gt;
 &lt;p&gt;例如，下面的代码：&lt;/p&gt;
 &lt;div&gt;
  &lt;div&gt;
   &lt;table border="0" cellpadding="0" cellspacing="0"&gt;

    &lt;tr&gt;
     &lt;td&gt;
      &lt;div&gt;1&lt;/div&gt;
      &lt;div&gt;2&lt;/div&gt;
      &lt;div&gt;3&lt;/div&gt;
      &lt;div&gt;4&lt;/div&gt;
      &lt;div&gt;5&lt;/div&gt;
      &lt;div&gt;6&lt;/div&gt;
      &lt;div&gt;7&lt;/div&gt;
      &lt;div&gt;8&lt;/div&gt;
      &lt;div&gt;9&lt;/div&gt;
      &lt;div&gt;10&lt;/div&gt;
&lt;/td&gt;
     &lt;td&gt;
      &lt;div&gt;
       &lt;div&gt;        &lt;code&gt;// SwitchTest&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;public&lt;/code&gt;         &lt;code&gt;class&lt;/code&gt;         &lt;code&gt;SwitchTest {&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;    &lt;/code&gt;        &lt;code&gt;public&lt;/code&gt;         &lt;code&gt;int&lt;/code&gt;         &lt;code&gt;doSwitch(String str) {&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;        &lt;/code&gt;        &lt;code&gt;switch&lt;/code&gt;         &lt;code&gt;(str) {&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;        &lt;/code&gt;        &lt;code&gt;case&lt;/code&gt;         &lt;code&gt;&amp;quot;abc&amp;quot;&lt;/code&gt;        &lt;code&gt;:        &lt;/code&gt;        &lt;code&gt;return&lt;/code&gt;         &lt;code&gt;1&lt;/code&gt;        &lt;code&gt;;&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;        &lt;/code&gt;        &lt;code&gt;case&lt;/code&gt;         &lt;code&gt;&amp;quot;123&amp;quot;&lt;/code&gt;        &lt;code&gt;:        &lt;/code&gt;        &lt;code&gt;return&lt;/code&gt;         &lt;code&gt;2&lt;/code&gt;        &lt;code&gt;;&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;        &lt;/code&gt;        &lt;code&gt;default&lt;/code&gt;        &lt;code&gt;:         &lt;/code&gt;        &lt;code&gt;return&lt;/code&gt;         &lt;code&gt;0&lt;/code&gt;        &lt;code&gt;;&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;        &lt;/code&gt;        &lt;code&gt;}&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;    &lt;/code&gt;        &lt;code&gt;}&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;}&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/td&gt;
&lt;/tr&gt;

&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
 &lt;p&gt;因为这是Java SE 7的一个新特性，所以它不能在Java SE 6或者更低版本的编译器上来编译。用Java SE 7的javac来编译。下面是通过javap -c来反编译后的结果。&lt;/p&gt;
 &lt;div&gt;
  &lt;div&gt;
   &lt;table border="0" cellpadding="0" cellspacing="0"&gt;

    &lt;tr&gt;
     &lt;td&gt;
      &lt;div&gt;1&lt;/div&gt;
      &lt;div&gt;2&lt;/div&gt;
      &lt;div&gt;3&lt;/div&gt;
      &lt;div&gt;4&lt;/div&gt;
      &lt;div&gt;5&lt;/div&gt;
      &lt;div&gt;6&lt;/div&gt;
      &lt;div&gt;7&lt;/div&gt;
      &lt;div&gt;8&lt;/div&gt;
      &lt;div&gt;9&lt;/div&gt;
      &lt;div&gt;10&lt;/div&gt;
      &lt;div&gt;11&lt;/div&gt;
      &lt;div&gt;12&lt;/div&gt;
      &lt;div&gt;13&lt;/div&gt;
      &lt;div&gt;14&lt;/div&gt;
      &lt;div&gt;15&lt;/div&gt;
      &lt;div&gt;16&lt;/div&gt;
      &lt;div&gt;17&lt;/div&gt;
      &lt;div&gt;18&lt;/div&gt;
      &lt;div&gt;19&lt;/div&gt;
      &lt;div&gt;20&lt;/div&gt;
      &lt;div&gt;21&lt;/div&gt;
      &lt;div&gt;22&lt;/div&gt;
      &lt;div&gt;23&lt;/div&gt;
      &lt;div&gt;24&lt;/div&gt;
      &lt;div&gt;25&lt;/div&gt;
      &lt;div&gt;26&lt;/div&gt;
      &lt;div&gt;27&lt;/div&gt;
      &lt;div&gt;28&lt;/div&gt;
      &lt;div&gt;29&lt;/div&gt;
      &lt;div&gt;30&lt;/div&gt;
      &lt;div&gt;31&lt;/div&gt;
      &lt;div&gt;32&lt;/div&gt;
      &lt;div&gt;33&lt;/div&gt;
      &lt;div&gt;34&lt;/div&gt;
      &lt;div&gt;35&lt;/div&gt;
      &lt;div&gt;36&lt;/div&gt;
      &lt;div&gt;37&lt;/div&gt;
      &lt;div&gt;38&lt;/div&gt;
      &lt;div&gt;39&lt;/div&gt;
      &lt;div&gt;40&lt;/div&gt;
      &lt;div&gt;41&lt;/div&gt;
      &lt;div&gt;42&lt;/div&gt;
      &lt;div&gt;43&lt;/div&gt;
      &lt;div&gt;44&lt;/div&gt;
&lt;/td&gt;
     &lt;td&gt;
      &lt;div&gt;
       &lt;div&gt;        &lt;code&gt;C:Test&amp;gt;javap -c SwitchTest.classCompiled from &lt;/code&gt;        &lt;code&gt;&amp;quot;SwitchTest.java&amp;quot;&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;public&lt;/code&gt;         &lt;code&gt;class&lt;/code&gt;         &lt;code&gt;SwitchTest {&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;  &lt;/code&gt;        &lt;code&gt;public&lt;/code&gt;         &lt;code&gt;SwitchTest();&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;    &lt;/code&gt;        &lt;code&gt;Code:&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;       &lt;/code&gt;        &lt;code&gt;0&lt;/code&gt;        &lt;code&gt;: aload_0&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;       &lt;/code&gt;        &lt;code&gt;1&lt;/code&gt;        &lt;code&gt;: invokespecial #&lt;/code&gt;        &lt;code&gt;1&lt;/code&gt;                          &lt;code&gt;// Method java/lang/Object.&amp;quot;&amp;lt;init&amp;gt;&amp;quot;:()V&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;       &lt;/code&gt;        &lt;code&gt;4&lt;/code&gt;        &lt;code&gt;: &lt;/code&gt;        &lt;code&gt;return&lt;/code&gt;          &lt;code&gt;public&lt;/code&gt;         &lt;code&gt;int&lt;/code&gt;         &lt;code&gt;doSwitch(java.lang.String);&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;    &lt;/code&gt;        &lt;code&gt;Code:&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;       &lt;/code&gt;        &lt;code&gt;0&lt;/code&gt;        &lt;code&gt;: aload_1&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;       &lt;/code&gt;        &lt;code&gt;1&lt;/code&gt;        &lt;code&gt;: astore_2&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;       &lt;/code&gt;        &lt;code&gt;2&lt;/code&gt;        &lt;code&gt;: iconst_m1&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;       &lt;/code&gt;        &lt;code&gt;3&lt;/code&gt;        &lt;code&gt;: istore_3&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;       &lt;/code&gt;        &lt;code&gt;4&lt;/code&gt;        &lt;code&gt;: aload_2&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;       &lt;/code&gt;        &lt;code&gt;5&lt;/code&gt;        &lt;code&gt;: invokevirtual #&lt;/code&gt;        &lt;code&gt;2&lt;/code&gt;                          &lt;code&gt;// Method java/lang/String.hashCode:()I&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;       &lt;/code&gt;        &lt;code&gt;8&lt;/code&gt;        &lt;code&gt;: lookupswitch  { &lt;/code&gt;        &lt;code&gt;// 2&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;                 &lt;/code&gt;        &lt;code&gt;48690&lt;/code&gt;        &lt;code&gt;: &lt;/code&gt;        &lt;code&gt;50&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;                 &lt;/code&gt;        &lt;code&gt;96354&lt;/code&gt;        &lt;code&gt;: &lt;/code&gt;        &lt;code&gt;36&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;               &lt;/code&gt;        &lt;code&gt;default&lt;/code&gt;        &lt;code&gt;: &lt;/code&gt;        &lt;code&gt;61&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;          &lt;/code&gt;        &lt;code&gt;}&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;      &lt;/code&gt;        &lt;code&gt;36&lt;/code&gt;        &lt;code&gt;: aload_2&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;      &lt;/code&gt;        &lt;code&gt;37&lt;/code&gt;        &lt;code&gt;: ldc           #&lt;/code&gt;        &lt;code&gt;3&lt;/code&gt;                          &lt;code&gt;// String abc&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;      &lt;/code&gt;        &lt;code&gt;39&lt;/code&gt;        &lt;code&gt;: invokevirtual #&lt;/code&gt;        &lt;code&gt;4&lt;/code&gt;                          &lt;code&gt;// Method java/lang/String.equals:(Ljava/lang/Object;)Z&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;      &lt;/code&gt;        &lt;code&gt;42&lt;/code&gt;        &lt;code&gt;: ifeq          &lt;/code&gt;        &lt;code&gt;61&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;      &lt;/code&gt;        &lt;code&gt;45&lt;/code&gt;        &lt;code&gt;: iconst_0&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;      &lt;/code&gt;        &lt;code&gt;46&lt;/code&gt;        &lt;code&gt;: istore_3&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;      &lt;/code&gt;        &lt;code&gt;47&lt;/code&gt;        &lt;code&gt;: &lt;/code&gt;        &lt;code&gt;goto&lt;/code&gt;                  &lt;code&gt;61&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;      &lt;/code&gt;        &lt;code&gt;50&lt;/code&gt;        &lt;code&gt;: aload_2&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;      &lt;/code&gt;        &lt;code&gt;51&lt;/code&gt;        &lt;code&gt;: ldc           #&lt;/code&gt;        &lt;code&gt;5&lt;/code&gt;                          &lt;code&gt;// String 123&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;      &lt;/code&gt;        &lt;code&gt;53&lt;/code&gt;        &lt;code&gt;: invokevirtual #&lt;/code&gt;        &lt;code&gt;4&lt;/code&gt;                          &lt;code&gt;// Method java/lang/String.equals:(Ljava/lang/Object;)Z&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;      &lt;/code&gt;        &lt;code&gt;56&lt;/code&gt;        &lt;code&gt;: ifeq          &lt;/code&gt;        &lt;code&gt;61&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;      &lt;/code&gt;        &lt;code&gt;59&lt;/code&gt;        &lt;code&gt;: iconst_1&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;      &lt;/code&gt;        &lt;code&gt;60&lt;/code&gt;        &lt;code&gt;: istore_3&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;      &lt;/code&gt;        &lt;code&gt;61&lt;/code&gt;        &lt;code&gt;: iload_3&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;      &lt;/code&gt;        &lt;code&gt;62&lt;/code&gt;        &lt;code&gt;: lookupswitch  { &lt;/code&gt;        &lt;code&gt;// 2&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;                     &lt;/code&gt;        &lt;code&gt;0&lt;/code&gt;        &lt;code&gt;: &lt;/code&gt;        &lt;code&gt;88&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;                     &lt;/code&gt;        &lt;code&gt;1&lt;/code&gt;        &lt;code&gt;: &lt;/code&gt;        &lt;code&gt;90&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;               &lt;/code&gt;        &lt;code&gt;default&lt;/code&gt;        &lt;code&gt;: &lt;/code&gt;        &lt;code&gt;92&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;          &lt;/code&gt;        &lt;code&gt;}&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;      &lt;/code&gt;        &lt;code&gt;88&lt;/code&gt;        &lt;code&gt;: iconst_1&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;      &lt;/code&gt;        &lt;code&gt;89&lt;/code&gt;        &lt;code&gt;: ireturn&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;      &lt;/code&gt;        &lt;code&gt;90&lt;/code&gt;        &lt;code&gt;: iconst_2&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;      &lt;/code&gt;        &lt;code&gt;91&lt;/code&gt;        &lt;code&gt;: ireturn&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;      &lt;/code&gt;        &lt;code&gt;92&lt;/code&gt;        &lt;code&gt;: iconst_0&lt;/code&gt;&lt;/div&gt;
       &lt;div&gt;        &lt;code&gt;      &lt;/code&gt;        &lt;code&gt;93&lt;/code&gt;        &lt;code&gt;: ireturn&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/td&gt;
&lt;/tr&gt;

&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
 &lt;p&gt;在#5和#8字节处，首先是调用了hashCode()方法，然后它作为参数调用了switch(int)。在lookupswitch的指令里，根据hashCode的结果进行不同的分支跳转。字符串“abc&amp;quot;的hashCode是96354，它会跳转到#36处。字符串”123“的hashCode是48690，它会跳转到#50处。生成的字节码的长度比Java源码长多了。首先，你可以看到字节码里用lookupswitch指令来实现switch()语句。不过，这里使用了两个lookupswitch指令，而不是一个。如果反编译的是针对Int的switch()语句的话，字节码里只会使用一个lookupswitch指令。也就是说，针对string的switch语句被分成用两个语句来实现。留心标号为#5，#39和#53的指令，来看看switch()语句是如何处理字符串的。&lt;/p&gt;
 &lt;p&gt;在第#36，#37，#39，以及#42字节的地方，你可以看见str参数被equals()方法来和字符串“abc”进行比较。如果比较的结果是相等的话，‘0’会被放入到局部变量数组的索引为#3的位置，然后跳抓转到第#61字节。&lt;/p&gt;
 &lt;p&gt;在第#50，#51，#53，以及#56字节的地方，你可以看见str参数被equals()方法来和字符串“123”进行比较。如果比较的结果是相等的话，10’会被放入到局部变量数组的索引为#3的位置，然后跳转到第#61字节。&lt;/p&gt;
 &lt;p&gt;在第#61和#62字节的地方，局部变量数组里索引为#3的值，这里是&amp;apos;0&amp;apos;，‘1’或者其他的值，被lookupswitch用来进行搜索并进行相应的分支跳转。&lt;/p&gt;
 &lt;p&gt;换句话来说，在Java代码里的用来作为switch()的参数的字符串str变量是通过hashCode()和equals()方法来进行比较，然后根据比较的结果，来执行swtich()语句。&lt;/p&gt;
 &lt;p&gt;在这个结果里，编译后的字节码和之前版本的JVM规范没有不兼容的地方。Java SE 7的这个用字符串作为switch参数的特性是通过Java编译器来处理的，而不是通过JVM来支持的。通过这种方式还可以把其他的Java SE 7的新特性也通过Java编译器来实现。&lt;/p&gt;
 &lt;h2&gt;  &lt;strong&gt;总结&lt;/strong&gt;&lt;/h2&gt;
 &lt;p&gt;我不认为为了使用好Java必须去了解Java底层的实现。许多没有深入理解JVM的开发者也开发出了很多非常好的应用和类库。不过，如果你更加理解JVM的话，你就会更加理解Java，这样你会有助于你处理类似于我们前面的案例中的问题。&lt;/p&gt;
 &lt;p&gt;除了这篇文章里提到的，JVM还是用了其他的很多特性和技术。JVM规范提供了是一种扩展性很强的规范，这样就使得JVM的提供者可以选择更多的技术来提高性能。值得特别说明的一点是，垃圾回收技术被大多数使用虚拟机的语言所使用。不过，由于这个已经在很多地方有更加专业的研究，我这篇文章就没有对它进行深入讲解了。&lt;/p&gt;
 &lt;p&gt; &lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;英文原文：   &lt;a href="http://www.cubrid.org/blog/dev-platform/understanding-jvm-internals/" rel="nofollow" target="_blank"&gt;cubrid&lt;/a&gt;，编译：   &lt;a href="http://www.importnew.com/"&gt;ImportNew&lt;/a&gt; -    &lt;a href="http://www.importnew.com/author/zhuweijie"&gt;朱伟杰&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;译文链接：   &lt;a href="http://www.importnew.com/1486.html"&gt;http://www.importnew.com/1486.html&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt; &lt;/p&gt;
 &lt;p&gt;  &lt;a href="http://www.bshare.cn/share?url=http%3A%2F%2Fblog.fulin.org%2F2012%2F12%2Finside_jvm.html&amp;title=%E8%BD%AC%EF%BC%9A%E6%B7%B1%E5%85%A5%E7%90%86%E8%A7%A3JVM%E5%86%85%E5%B9%95%EF%BC%9A%E4%BB%8E%E5%9F%BA%E6%9C%AC%E7%BB%93%E6%9E%84%E5%88%B0Java+7%E6%96%B0%E7%89%B9%E6%80%A7" title="&amp;#29992;bShare&amp;#20998;&amp;#20139;&amp;#25110;&amp;#25910;&amp;#34255;&amp;#26412;&amp;#25991;"&gt;   &lt;img alt="&amp;#29992;bShare&amp;#20998;&amp;#20139;&amp;#25110;&amp;#25910;&amp;#34255;&amp;#26412;&amp;#25991;" src="http://static.bshare.cn/frame/images/button_custom1-zh.gif"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div&gt; &lt;a href="https://itindex.net/"  title="IT 资讯"&gt;&lt;img src="https://itindex.net/images/iconWarning.gif" title="IT 资讯" border="0"/&gt; &lt;/a&gt;</description>
      <category>技术资料</category>
      <guid isPermaLink="true">https://itindex.net/detail/41088-%E7%90%86%E8%A7%A3-jvm-%E5%86%85%E5%B9%95</guid>
      <pubDate>Wed, 12 Dec 2012 14:01:49 CST</pubDate>
    </item>
    <item>
      <title>iBT新托福突破口（1-17）软件版全免费注册破解版【无老师力荐】</title>
      <link>https://itindex.net/detail/34785-ibt-%E6%89%98%E7%A6%8F-%E7%AA%81%E7%A0%B4</link>
      <description>&lt;p&gt;东风吹，战鼓雷。  &lt;a href="http://www.ibtsat.com/" target="_blank"&gt;新托福&lt;/a&gt;突破口  &lt;a href="http://www.ibtsat.com/archives/2483" target="_blank"&gt;TPO&lt;/a&gt;的更新谁怕谁！之前各位考友已经用过原来的图片版，然后慢慢过渡到文本版，之后出现了图片版，最后出现了PPS模考版。每一个版本的更新都代表着与新托福考试的距离更近了一点。其实在大约1年多之前就已经出现了软件版。&lt;/p&gt;
 &lt;p&gt;只是这个软件版在此之前，都无法完全破解以及免费的注册，但是这一切不知从什么时候开始烟消云散了。现在这个软件已经完全被破解供各位考友免费的使用了。&lt;/p&gt;
 &lt;p&gt;  &lt;img alt="" height="115" src="http://list.image.baidu.com/t/image_category/galleryimg/womenstar/us/hu_kai_li.jpg" title="tpo" width="95"&gt;&lt;/img&gt;这个软件的版本相比起之前的文字版或者PPS模考版，最大的特点就是更加的简单易用，之前的图片版整个考试需要各位考友自己去把每一个部分拼凑起来，至于PPS模考版则是需要考友使用powerpoint，很显然里面有很多比如说只读模式等问题，让各位考友的使用感觉非常不好！而此次放出的《新托福突破口  &lt;a href="http://www.ibtsat.com/archives/2483" target="_blank"&gt;TPO&lt;/a&gt;软件版》，则是完全解决了这个问题，在这个软件版之内，虽然与模考版相比考试界面不是与真实考试完全相似，但是贵在使用的时候，出了一开始的安装稍显麻烦之外，在真正使用的时候真的是傻瓜级应用，只要你对新托福考试有所了解，就会觉得这个软件版用起来真的是得心应手！&lt;/p&gt;
 &lt;p&gt;当然也许还有些小盆友不知道《  &lt;a href="http://www.ibtsat.com/archives/2483" target="_blank"&gt;新托福突破口&lt;/a&gt;TPO》是什么。简单来说，《新托福突破口TPO》就是新托福考试真题，它汇集了2006年至2009年一共21套新托福考试的真题，由新托福考试官方机构ETS放出，现在被广大考友制作成各种各样的版本，目的就是为了帮助各位考友通过新托福考试，如果说准备新托福考试只有一个资料的话，那么第一个是《新托福突破口TPO》，最后一个也是《新托福突破口TPO》，它的价值是至高无上毋庸置疑的！得《新托福突破口TPO》者，得永生！&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;下载地址：   &lt;a href="http://kuai.xunlei.com/d/EPELIVYCBQHK" target="_blank"&gt;http://kuai.xunlei.com/d/EPELIVYCBQHK&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt;特别注意：某些情况下，由于JAVA环境不稳定，无论怎样都无法使用该软件，那么很遗憾，要么您重装系统，要么换一台电脑，总之现有情况下，无法再使用此软件。&lt;/p&gt;
 &lt;p&gt; &lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;   &lt;br /&gt;
&lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt;【  &lt;strong&gt;请特别注意下面用红字写的安装说明！&lt;/strong&gt;】&lt;/p&gt;
 &lt;p&gt;————————toeflTPO系统介绍——————————  &lt;br /&gt;
软件简介:  &lt;br /&gt;
该模考软件根据新托福真实考试时的软件功能而编写, 包含TPO 全套(1-17)。 该软件是一  &lt;br /&gt;
款类似于Barron的模考软件, 非现在市面上出现的比较简单的PPS 和PDF等模考软件, 绝  &lt;br /&gt;
对是现在市面上最清晰、最真实、功能最完善的全真模考软件（除界面外） 。尽量再现考试  &lt;br /&gt;
时场景，让考生尽早熟悉真实考试时的软件界面。同时听力音频都有对应的文本,方便大家  &lt;br /&gt;
复习。&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;安装和注册操作步骤:&lt;/strong&gt;  &lt;br /&gt;
  &lt;strong&gt;1.下载安装JDK(Java Development Kit),下载地址为:&lt;/strong&gt;  &lt;br /&gt;
  &lt;strong&gt;   &lt;a href="http://www.duote.com/soft/27092.html" target="_blank"&gt;http://www.duote.com/soft/27092.html&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;2.解压TPO（注意不是双击解压）,在解压后的文件夹中运行toeflTPO.exe;输入用户名&lt;/strong&gt;  &lt;br /&gt;
  &lt;strong&gt;(ToeflOk)和密码(123456),然后点Enter 按钮;&lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;3.将dir目录的userInfo.txt 输入注册机，生成注册码，拷入 licence.txt，保存。&lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;4.重新运行toeflTPO.exe,密码123456.&lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt;具有如下功能:  &lt;br /&gt;
一、 软件界面：  &lt;br /&gt;
1. 将考试分为Reading Section, Listening Section, Speaking Section, Writing Section 以及Complete几个模块, 方便考生根据自己的情况进行单元强化训练; 而且会根据考生的做题情况，显示某套题的某个 section 状态为“Not Visited” , “Visited” 以及 “Completed”，方便进度把握。&lt;/p&gt;
 &lt;p&gt;2. 模块选择界面分为Test Mode 和Review Mode 两种类型： Test Mode为考试界面； Review Mode 为复习界面，方便考生在完成某部分考试后，下次进行复习和分析。&lt;/p&gt;
 &lt;p&gt;二、 Reading Section&lt;/p&gt;
 &lt;p&gt;1. 将Reading Section根据真实考试时的情况, 分为上下两部分: 第一部分包含一篇文章, 做题时间为20 分钟; 第二部分包含二篇文章, 做题时间为40 分钟；&lt;/p&gt;
 &lt;p&gt;2. 根据真实考试时情况，在一开始阅读某篇文章时，如未完全读完该篇文章（即滚动条未  &lt;br /&gt;
滚到底） ，不能进入做题界面；只有进入做题界面，下一题 Next 和上一题Back 的按钮  &lt;br /&gt;
才有用；&lt;/p&gt;
 &lt;p&gt;3. 题目跟真实考试一样，自动指示文本在段落的位置和相应段落：1）选单词意思题背景  &lt;br /&gt;
显示灰度，且显示出对应段落位置；2）段落主旨题，指示对应段落位置；3）插入题，  &lt;br /&gt;
用黑色方框指示插入位置，用灰度背景显示插入的位置；4）每篇最后一题的多选题，  &lt;br /&gt;
按钮行为跟真实考试一样；  &lt;br /&gt;
1） 选单词意思题：  &lt;br /&gt;
2） 段落主旨题：  &lt;br /&gt;
3） 黑色方框插入题  &lt;br /&gt;
4） 最后一道多选题&lt;/p&gt;
 &lt;p&gt;4. 软件具有计时功能(像真实考试时一样，可隐藏和显示计时器，根据考生个人需要), 让你清楚知道当前考试的时间进度; 并根据真实考试时的情况,如果某个某部分的考试时间小于5 分钟,给予提示; 时间显示，时间小于5分钟，该处会闪烁以进行提示&lt;/p&gt;
 &lt;p&gt;5. 软件具有Review 功能, 能让你随时知道自己当前考试的进度; 已经完成多少道题目,还剩余多少道题; 按下Review 按钮后出现： 当前所在题，之前为已完成，之后为未完成&lt;/p&gt;
 &lt;p&gt;6. 软件具有自动保存答案的功能, 方便您下次进行分析;&lt;/p&gt;
 &lt;p&gt;7. 每套题都有参考答案, 方便您分析。单元测试完后, 像Barron模考软件一样。 具有一个Summary界面,让你知道自己答题的正确率情况; 并且在Review Mode下在每一题上标示  &lt;br /&gt;
出您选择的答案和正确答案, 方便您进行分析。 而不用经常翻到最后一页去查看答案。 双击某一行的任一位置，即可进入对应的题&lt;/p&gt;
 &lt;p&gt;8. 在进行测试时,根据真实考试时情况, 如果计时时间一到, 自动跳转到下一部分; 让您尽量熟悉真实考试情况。&lt;/p&gt;
 &lt;p&gt;9. 在时间未到，而您完成该部分测试，要进入下一部分测试时，给出提示信息。如下图：&lt;/p&gt;
 &lt;p&gt;三、 Listening Section  &lt;br /&gt;
1. 将Listening Section根据真实考试时的情况, 分为2 部分, 每部分1 篇 Conversation和2篇Lecture, 做题时间为每部分10分钟(像真实考试一样,不将听文章时间和听题目时间算在做题时间里)；&lt;/p&gt;
 &lt;p&gt;2. 播放文章的音频和Listen Again题目时，播放界面有进度条，让你方便把握音频播放进  &lt;br /&gt;
度；&lt;/p&gt;
 &lt;p&gt;3. 听文章的音频时,增加了”Continue”按钮, 该按钮在真实考试时听完Listening Direction后就不能用了,这里为了让考友方便练习,故该按钮可以在做题时使用,功能为快速进入下一道题.&lt;/p&gt;
 &lt;p&gt;4. 在Review Mode下, 可以看到每篇文章的听力文本。而且具有 Repeat 功能, 方便您在听不懂的情况下重复听题目; Repeat按钮按下Text按钮后出来的听力文本&lt;/p&gt;
 &lt;p&gt;5. 具有调节音量和保存调节后音量的功能; 并且您在某个 Section调节的最佳音量可以自动应用到Listening Section，Speaking Section 以及Writing Section的综合写作题，无需每次都进行音量调整； 音量调节按钮&lt;/p&gt;
 &lt;p&gt;6. Listening Section 的其它功能同Reading Section的条款4，5，6，7，8。&lt;/p&gt;
 &lt;p&gt;四、 Speaking Section  &lt;br /&gt;
1. 只要您电脑插上耳麦, 您就可以在模考软件上进行录音, 而不用找专门的录音软件来录  &lt;br /&gt;
音; 而且在模考软件上, 您可以听自己录下来的音频，进行查漏补缺；  &lt;br /&gt;
为了听自己的口语录音或  &lt;br /&gt;
快速跳转到下一题，  &lt;br /&gt;
需按下Pause按钮  &lt;br /&gt;
在按下Pause按钮的情况下，  &lt;br /&gt;
可以按Play听自己的录音；  &lt;br /&gt;
按Text查看听力文本&lt;/p&gt;
 &lt;p&gt;2. 在Speaking Section里，为了方便大家练习特定某道口语，设置了一个Pause按钮，在按下该按钮时，可以直接跳到下一道题，直至找到自己想练习的口语题，而不用一套一套  &lt;br /&gt;
题都听完； 在按下Pause按钮的情况下，可以按Next和Back按钮快速进入下一题和上一题&lt;/p&gt;
 &lt;p&gt;3. Speaking Section的其它功能同 Listening Section的条款2， 5 和Reading Section的条款&lt;/p&gt;
 &lt;p&gt;说明：Pause，Next，Back，Play，Text 均非真实考试时按钮，这里设计这几个按钮是为了大家练习方便；真实考试时，是时间到自动进入下一题，无法跳跃。&lt;/p&gt;
 &lt;p&gt;本页地址：  &lt;a href="http://www.ibtsat.com/archives/3028" target="_blank"&gt;http://www.ibtsat.com/archives/3028&lt;/a&gt;&lt;/p&gt;
 &lt;p&gt;五、 Writing Section  &lt;br /&gt;
1. 像真实考试一样，Writing Section具有字数统计以及Cut、Copy和 Paste按钮；&lt;/p&gt;
 &lt;p&gt;Repeat和查看听力文本按钮，真实考试时无。  &lt;br /&gt;
复制粘贴按钮及字数统计在真实考试时是有的。&lt;/p&gt;
 &lt;p&gt;2. 自动保存作文文字的功能，方便下次进行修改；&lt;/p&gt;
 &lt;p&gt;3. Writing Section的其它功能同Listening Section 的条款2，3，4 和 Reading Section 的条款&lt;/p&gt;
 &lt;p&gt;与 Barron 模考软件相比, 改进的地方:  &lt;br /&gt;
1. 将Reading Section根据真实考试时的情况, 分为上下两部分: 第一部分包含一篇文章, 做题时间为20 分钟; 第二部分包含二篇文章, 做题时间为40 分钟。 而不像Barron模考软件,将三篇文章放在一起, 做题时间为60 分钟;  &lt;br /&gt;
2. 将Listening Section根据真实考试时的情况, 分为2 部分, 每部分1 篇 Conversation和2篇Lecture, 做题时间为每部分10分钟(像真实考试一样,不将听文章时间和听题目时间算在做题时间里。 Barron 模考软件将所有时间合在一起为 1 个小时)；&lt;/p&gt;
 &lt;p&gt;3. Reading Section的插入题，Barron模考软件在做完该题，进行别的题目后回到该插入题，插入的文本消失，重新变为4 个方框；&lt;/p&gt;
 &lt;p&gt;4. Reading Section每篇最后一题多选题，选择答案的按键行为与真实考试接近，而非 Barron的选题按键行为；&lt;/p&gt;
 &lt;p&gt;5. 在几台电脑上测试后，软件速度较Barron 相比，有较大提高。&lt;/p&gt;
 &lt;h3&gt;  &lt;strong&gt;无老师人人网公共主页：   &lt;a href="http://page.renren.com/601000309?id=601000309"&gt;http://page.renren.com/601000309?id=601000309&lt;/a&gt;&lt;/strong&gt;&lt;/h3&gt;
 &lt;p&gt; &lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;相关资源推荐&lt;/strong&gt;：&lt;/p&gt;
 &lt;p&gt;2012最新版手把手教你成为听写达人全集：  &lt;a href="http://www.ibtsat.com/archives/3934"&gt;http://www.ibtsat.com/archives/3934&lt;/a&gt;&lt;/p&gt;
 &lt;p&gt;iBT新托福突破口TPO（01-23）PPS版合集：  &lt;a href="http://blog.sina.com.cn/s/blog_635c14a50102dtof.html" target="_blank"&gt;http://blog.sina.com.cn/s/blog_635c14a50102dtof.html&lt;/a&gt;&lt;/p&gt;
 &lt;p&gt;2011年iBT新托福听力-阅读经典加试合集 【打印版】【无老师原创】：  &lt;a href="http://www.ibtsat.com/archives/1636" target="_blank"&gt;http://www.ibtsat.com/archives/1636&lt;/a&gt;&lt;/p&gt;
 &lt;p&gt;5招打破单词“贝勒爷记不住”的怪圈【无老师原创】：  &lt;a href="http://www.ibtsat.com/archives/1848" target="_blank"&gt;http://www.ibtsat.com/archives/1848&lt;/a&gt;&lt;/p&gt;
 &lt;p&gt;新托福突破口TPO读你千遍也不厌倦【无老师原创】：  &lt;a href="http://www.ibtsat.com/archives/2100" target="_blank"&gt;http://www.ibtsat.com/archives/2100&lt;/a&gt;&lt;/p&gt;
 &lt;p&gt;iBT新托福阅读正确率远比Speed重要【无老师原创】：  &lt;a href="http://www.ibtsat.com/archives/1982" target="_blank"&gt;http://www.ibtsat.com/archives/1982&lt;/a&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;《无老师Toefl词汇红宝书》正式版全免费发布&lt;/strong&gt;：  &lt;a href="http://www.ibtsat.com/archives/1075" target="_blank"&gt;http://www.ibtsat.com/archives/1075&lt;/a&gt;&lt;/p&gt;
 &lt;p&gt;托福、SAT错误学习方法大盘点——听力篇【无老师原创】：  &lt;a href="http://www.ibtsat.com/archives/1035" target="_blank"&gt;http://www.ibtsat.com/archives/1035&lt;/a&gt;&lt;/p&gt;
 &lt;p&gt;托福、SAT错误学习方法大盘点——单词篇【无老师原创】：  &lt;a href="http://www.ibtsat.com/archives/1029" target="_blank"&gt;http://www.ibtsat.com/archives/1029&lt;/a&gt;&lt;/p&gt;
 &lt;p&gt;如何利用TPO打造托福120分满分！——阅读篇：  &lt;a href="http://www.ibtsat.com/archives/1175" target="_blank"&gt;http://www.ibtsat.com/archives/1175&lt;/a&gt;&lt;/p&gt;
 &lt;p&gt;题海战术——新托福的毒药【无老师原创】：  &lt;a href="http://www.ibtsat.com/archives/1310" target="_blank"&gt;http://www.ibtsat.com/archives/1310&lt;/a&gt;&lt;/p&gt;
 &lt;p&gt;走出阅读The more you 做，the more you 错的怪圈：  &lt;a href="http://www.ibtsat.com/archives/1830" target="_blank"&gt;http://www.ibtsat.com/archives/1830&lt;/a&gt;&lt;/p&gt;
 &lt;p&gt;GRE必学长难句【无老师力荐】：  &lt;a href="http://www.ibtsat.com/archives/1904" target="_blank"&gt;http://www.ibtsat.com/archives/1904&lt;/a&gt;&lt;/p&gt;
 &lt;p&gt;高分新托福阅读120(免费打包下载）：  &lt;a href="http://www.ibtsat.com/archives/1963" target="_blank"&gt;http://www.ibtsat.com/archives/1963&lt;/a&gt;&lt;/p&gt;
 &lt;p&gt; &lt;/p&gt;
 &lt;h2&gt;  &lt;strong&gt;无老师发布信息的另一权威渠道是无老师微博：   &lt;a href="http://weibo.com/noteacherwxl" target="_blank"&gt;http://weibo.com/noteacherwxl &lt;/a&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;h2&gt;  &lt;strong&gt;无老师新浪官方微博：   &lt;a href="http://weibo.com/noteacherwxl" target="_blank"&gt;http://weibo.com/noteacherwxl&lt;/a&gt;和&lt;/strong&gt;&lt;/h2&gt;
 &lt;h2&gt;  &lt;strong&gt;无老师腾讯官方微博   &lt;a href="http://t.qq.com/noteacherwxl" target="_blank"&gt;http://t.qq.com/noteacherwxl&lt;/a&gt;。&lt;/strong&gt;&lt;/h2&gt;
 &lt;hr&gt;&lt;/hr&gt; &lt;small&gt;Copyright © 2008  &lt;br /&gt; This feed is for personal, non-commercial use only.   &lt;br /&gt; The use of this feed on other websites breaches copyright. If this content is not in your news reader, it makes the page you are viewing an infringement of the copyright. (Digital Fingerprint:  &lt;br /&gt; )&lt;/small&gt; &lt;p&gt;Post from:   &lt;a href="http://www.ibtsat.com"&gt;无老师的Blog&lt;/a&gt;  &lt;br /&gt;  &lt;br /&gt;  &lt;a href="http://www.ibtsat.com/archives/4070"&gt;iBT新托福突破口（1-17）软件版全免费注册破解版【无老师力荐】&lt;/a&gt;&lt;/p&gt;
&lt;div&gt; &lt;a href="https://itindex.net/"  title="IT 资讯"&gt;&lt;img src="https://itindex.net/images/iconWarning.gif" title="IT 资讯" border="0"/&gt; &lt;/a&gt;</description>
      <category>无老师资料</category>
      <guid isPermaLink="true">https://itindex.net/detail/34785-ibt-%E6%89%98%E7%A6%8F-%E7%AA%81%E7%A0%B4</guid>
      <pubDate>Sat, 24 Dec 2011 23:35:26 CST</pubDate>
    </item>
    <item>
      <title>IT从业人员需要知道的安全知识(1)</title>
      <link>https://itindex.net/detail/35652-it-%E9%9C%80%E8%A6%81-%E7%9F%A5%E9%81%93</link>
      <description>最近CSDN等网站被脱库的事情，闹得沸沸扬扬。身为程序员，我觉得软件开发人员自身安全意识的强弱和

安全知识的多寡会直接影响到所开发系统的安全性。从这个角度来分析，系统做的不安全有三种原因：

A. 不知道存在安全隐患

 &lt;a href="http://www.mysqlops.com/2012/02/02/info_sec_primer.html" title="IT&amp;#20174;&amp;#19994;&amp;#20154;&amp;#21592;&amp;#38656;&amp;#35201;&amp;#30693;&amp;#36947;&amp;#30340;&amp;#23433;&amp;#20840;&amp;#30693;&amp;#35782;(1)"&gt;阅读全文——共4085字&lt;/a&gt; &lt;h3&gt;你可能感兴趣的文章&lt;/h3&gt; &lt;ul&gt;  &lt;li&gt;   &lt;a href="http://www.mysqlops.com/2011/09/29/qcon.html" title="&amp;#20840;&amp;#29699;&amp;#20225;&amp;#19994;&amp;#24320;&amp;#21457;&amp;#32773;&amp;#25216;&amp;#26415;&amp;#22823;&amp;#20250;&amp;#20027;&amp;#39064;&amp;#20449;&amp;#24687; 2011.09.29"&gt;全球企业开发者技术大会主题信息&lt;/a&gt;(0)&lt;/li&gt;
  &lt;li&gt;   &lt;a href="http://www.mysqlops.com/2011/10/20/handlersocket-adv.html" title="HandlerSocket&amp;#30340;&amp;#20248;&amp;#21183;&amp;#21644;&amp;#32570;&amp;#38519;&amp;#38416;&amp;#36848; 2011.10.20"&gt;HandlerSocket的优势和缺陷阐述&lt;/a&gt;(2)&lt;/li&gt;
  &lt;li&gt;   &lt;a href="http://www.mysqlops.com/2011/11/02/aliyun.html" title="&amp;#38463;&amp;#37324;&amp;#20113;&amp;#39134;&amp;#22825;&amp;#31995;&amp;#32479;&amp;#30340;&amp;#25216;&amp;#26415;&amp;#26550;&amp;#26500; 2011.11.2"&gt;阿里云飞天系统的技术架构&lt;/a&gt;(2)&lt;/li&gt;
  &lt;li&gt;   &lt;a href="http://www.mysqlops.com/2011/04/06/hp%e5%b7%a5%e7%a8%8b%e5%b8%88.html" title="HP&amp;#24037;&amp;#31243;&amp;#24072; 2011.04.6"&gt;HP工程师&lt;/a&gt;(0)&lt;/li&gt;
  &lt;li&gt;   &lt;a href="http://www.mysqlops.com/2011/09/07/ppliv-dba.html" title="PPLive&amp;#25307;&amp;#32856;&amp;#39640;&amp;#32423;MySQL DBA 2011.09.7"&gt;PPLive招聘高级MySQL DBA&lt;/a&gt;(1)&lt;/li&gt;
  &lt;li&gt;   &lt;a href="http://www.mysqlops.com/2011/07/01/linux-performance-optimize.html" title="Linux&amp;#26381;&amp;#21153;&amp;#22120;&amp;#24615;&amp;#33021;&amp;#35780;&amp;#20272;&amp;#19982;&amp;#20248;&amp;#21270; 2011.07.1"&gt;Linux服务器性能评估与优化&lt;/a&gt;(0)&lt;/li&gt;
  &lt;li&gt;   &lt;a href="http://www.mysqlops.com/2011/03/06/%e9%98%bf%e9%87%8c%e5%b7%b4%e5%b7%b4%e7%9a%84%e6%9c%aa%e6%9d%a5%e2%80%94%e2%80%94%e4%b8%93%e8%ae%bf%e9%98%bf%e9%87%8c%e5%b7%b4%e5%b7%b4%e9%9b%86%e5%9b%a2%e5%8f%82%e8%b0%8b%e9%95%bf%e6%9b%be%e9%b8%a3.html" title="&amp;#38463;&amp;#37324;&amp;#24052;&amp;#24052;&amp;#30340;&amp;#26410;&amp;#26469;&amp;#8212;&amp;#8212;&amp;#19987;&amp;#35775;&amp;#38463;&amp;#37324;&amp;#24052;&amp;#24052;&amp;#38598;&amp;#22242;&amp;#21442;&amp;#35851;&amp;#38271;&amp;#26366;&amp;#40483; 2011.03.6"&gt;阿里巴巴的未来——专访阿里巴巴集团参谋长曾鸣&lt;/a&gt;(0)&lt;/li&gt;
  &lt;li&gt;   &lt;a href="http://www.mysqlops.com/2011/10/31/memcached.html" title="MemCached&amp;#30693;&amp;#35782;&amp;#28857;&amp;#20840;&amp;#38754;&amp;#21078;&amp;#26512; 2011.10.31"&gt;MemCached知识点全面剖析&lt;/a&gt;(0)&lt;/li&gt;
  &lt;li&gt;   &lt;a href="http://www.mysqlops.com/2011/10/20/handlersocket-perf.html" title="HandlerSocket&amp;#30340;&amp;#24615;&amp;#33021;&amp;#27979;&amp;#35797; 2011.10.20"&gt;HandlerSocket的性能测试&lt;/a&gt;(5)&lt;/li&gt;
  &lt;li&gt;   &lt;a href="http://www.mysqlops.com/2011/10/19/hudong-mysql-dba.html" title="&amp;#20114;&amp;#21160;&amp;#30334;&amp;#31185;&amp;#21271;&amp;#20140;&amp;#25307;&amp;#32856;MySQL DBA 2011.10.19"&gt;互动百科北京招聘MySQL DBA&lt;/a&gt;(0)&lt;/li&gt;
&lt;/ul&gt;&lt;div&gt; &lt;a href="https://itindex.net/"  title="IT 资讯"&gt;&lt;img src="https://itindex.net/images/iconWarning.gif" title="IT 资讯" border="0"/&gt; &lt;/a&gt;</description>
      <category>中文开发技术资料</category>
      <guid isPermaLink="true">https://itindex.net/detail/35652-it-%E9%9C%80%E8%A6%81-%E7%9F%A5%E9%81%93</guid>
      <pubDate>Thu, 02 Feb 2012 00:27:33 CST</pubDate>
    </item>
    <item>
      <title>40新鲜和高品质的PSD格式的免费图标集</title>
      <link>https://itindex.net/detail/35436-%E6%96%B0%E9%B2%9C-%E5%93%81%E8%B4%A8-psd</link>
      <description>&lt;p&gt;在网页设计和平面设计中总是需要用到的图标素材，你有吗？有有自己搜集一些有个性的图标吗，当你手上有了新的项目，那些你搜集到的图标是不是一定程度上减少了你的设计周期。很多事情都是可以被预见的，很多图标也会和你遇见，有的人有心收藏了下来，有的人则只是一面之缘。当你需要的时候，你拥有的只是那一面，但在浩瀚的网络地址里，你只能选择从新谷哥和度娘了。一个商业设计师需要预备的不仅仅是设计思想和设计创意的的收集，还有把那些别人看来很平凡的东西收集起来，可能在某个上就能激发出更好的灵感。今天分享给大家的是40个新鲜和高品质的PSD格式图标素材资源。真心希望大家Mark，给自己建一个好的素材库，好好分类，好好收集。{ PS：希望得到更多的PSD素材，还可以Mark下这个网站——  &lt;strong&gt;   &lt;a href="http://ifreepsd.sinaapp.com/" target="_blank" title="ifreepsd&amp;#8212;&amp;#8212;&amp;#19968;&amp;#20010;&amp;#28165;&amp;#26032;&amp;#30340;PSD&amp;#32032;&amp;#26448;&amp;#19979;&amp;#36733;&amp;#32593;&amp;#31449;"&gt;ifreepsd&lt;/a&gt;&lt;/strong&gt;.一个小清新的纯净的素材小站，提供PSD文件下载 }  &lt;br /&gt;
  &lt;strong&gt;   &lt;a href="http://www.graphicsfuel.com/2011/12/magnifying-glass-search-icon-psd/" target="_blank"&gt;放大镜搜索图标&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;a href="http://www.graphicsfuel.com/2011/12/magnifying-glass-search-icon-psd/" target="_blank"&gt;   &lt;img alt="" height="275" src="http://alibuybuy-img11.stor.sinaapp.com/2012/01/cea5_3fdcda2d6b7a4b66ae03e72bbb4d72a6" width="495"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;   &lt;a href="http://www.psdgraphics.com/icons/address-book-icon/" target="_blank"&gt;通讯录图标&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;a href="http://www.psdgraphics.com/icons/address-book-icon/" target="_blank"&gt;   &lt;img alt="" height="344" src="http://alibuybuy-img11.stor.sinaapp.com/2012/01/a98c_9ec173116f2245e0828c249cc62b8276" width="495"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;   &lt;a href="http://tit0.deviantart.com/art/app-keyboard-icons-271567502" target="_blank"&gt;应用键盘图标&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;a href="http://tit0.deviantart.com/art/app-keyboard-icons-271567502" target="_blank"&gt;   &lt;img alt="" height="381" src="http://alibuybuy-img11.stor.sinaapp.com/2012/01/f7cd_8f292623a9ee4d0e842cd3d4f7def8ca" width="495"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;   &lt;a href="http://designmoo.com/19045/free-web-development-icons-psd/" target="_blank"&gt;免费的web开发PSD图标&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;a href="http://designmoo.com/19045/free-web-development-icons-psd/" target="_blank"&gt;   &lt;img alt="" height="271" src="http://alibuybuy-img11.stor.sinaapp.com/2012/01/d6ab_3afb5539184f416c8f6a614c4195a48e" width="495"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;   &lt;a href="http://www.graphicsfuel.com/2011/11/christmas-snow-globe-icon-psd/" target="_blank"&gt;圣诞雪球图标&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;a href="http://www.graphicsfuel.com/2011/11/christmas-snow-globe-icon-psd/" target="_blank"&gt;   &lt;img alt="" height="248" src="http://alibuybuy-img11.stor.sinaapp.com/2012/01/b18e_9f46545083064843b3cb068e5cf2e0b9" width="495"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;   &lt;a href="http://draseart.deviantart.com/art/iCrea-269557310" target="_blank"&gt;ICREA&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;a href="http://draseart.deviantart.com/art/iCrea-269557310" target="_blank"&gt;   &lt;img alt="" height="381" src="http://alibuybuy-img11.stor.sinaapp.com/2012/01/81ab_d0667dd176de44f69a8715a97d920dd0" width="495"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;   &lt;a href="http://365psd.com/day/2-243/" target="_blank"&gt;状态图标&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;a href="http://365psd.com/day/2-243/" target="_blank"&gt;   &lt;img alt="" height="271" src="http://alibuybuy-img11.stor.sinaapp.com/2012/01/6688_84b30365dc9542a5b4acbce52beaab5c" width="495"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;   &lt;a href="http://www.graphicsfuel.com/2011/10/coffee-cup-icon-psd/" target="_blank"&gt;咖啡杯图标&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;a href="http://www.graphicsfuel.com/2011/10/coffee-cup-icon-psd/" target="_blank"&gt;   &lt;img alt="" height="275" src="http://alibuybuy-img11.stor.sinaapp.com/2012/01/e77f_0f5a1705e5314c52927b66aa794ada78" width="495"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;   &lt;a href="http://www.graphicsfuel.com/2011/10/iphone-app-icon-templates-psd/" target="_blank"&gt;iPhone应用程序图标模板&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;a href="http://www.graphicsfuel.com/2011/10/iphone-app-icon-templates-psd/" target="_blank"&gt;   &lt;img alt="" height="248" src="http://alibuybuy-img11.stor.sinaapp.com/2012/01/1bf7_0ed1e762693744c097a7b6407356924c" width="495"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;   &lt;a href="http://365psd.com/day/2-241/" target="_blank"&gt;社会图标&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;a href="http://365psd.com/day/2-241/" target="_blank"&gt;   &lt;img alt="" height="271" src="http://alibuybuy-img11.stor.sinaapp.com/2012/01/9c91_1b9ae6b8b7c5474982ac731077b83bdd" width="495"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;   &lt;a href="http://www.graphicsfuel.com/2011/10/megaphone-icon-vector-psd/" target="_blank"&gt;喊话器图标&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;a href="http://www.graphicsfuel.com/2011/10/megaphone-icon-vector-psd/" target="_blank"&gt;   &lt;img alt="" height="248" src="http://alibuybuy-img11.stor.sinaapp.com/2012/01/06bd_1db279256dc6439fa13a135348970a81" width="495"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;   &lt;a href="http://www.psdgraphics.com/icons/light-switch-icon/" target="_blank"&gt;光开关图标&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;a href="http://www.psdgraphics.com/icons/light-switch-icon/" target="_blank"&gt;   &lt;img alt="" height="371" src="http://alibuybuy-img11.stor.sinaapp.com/2012/01/6220_ca63f8689201467e96b7a453045e08c1" width="495"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;   &lt;a href="http://downloadpsd.com/icons/free-google-plus-icon-set/" target="_blank"&gt;谷歌的加号图标集&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;a href="http://downloadpsd.com/icons/free-google-plus-icon-set/" target="_blank"&gt;   &lt;img alt="" height="307" src="http://alibuybuy-img11.stor.sinaapp.com/2012/01/1602_7404a627965840899277d34a61f833f0" width="495"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;   &lt;a href="http://downloadpsd.com/icons/image-icon-free-psd/" target="_blank"&gt;图像图标&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;a href="http://downloadpsd.com/icons/image-icon-free-psd/" target="_blank"&gt;   &lt;img alt="" height="344" src="http://alibuybuy-img11.stor.sinaapp.com/2012/01/0d72_7bf9b3095dfa4116b5ec7c69d49c26f8" width="495"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;   &lt;a href="http://downloadpsd.com/icons/vintage-radio-icon-psd/" target="_blank"&gt;老式收音机图标&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;a href="http://downloadpsd.com/icons/vintage-radio-icon-psd/" target="_blank"&gt;   &lt;img alt="" height="307" src="http://alibuybuy-img11.stor.sinaapp.com/2012/01/d031_cc5ceafe14594ad7977c52551a10ea10" width="495"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;   &lt;a href="http://www.graphicsfuel.com/2011/11/waving-flag-icon-psd/" target="_blank"&gt;挥舞着国旗图标&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;a href="http://www.graphicsfuel.com/2011/11/waving-flag-icon-psd/" target="_blank"&gt;   &lt;img alt="" height="275" src="http://alibuybuy-img11.stor.sinaapp.com/2012/01/df0c_12840d32ae734087935b2a01ec512b92" width="495"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;   &lt;a href="http://designmoo.com/17098/10-user-icons-free-psd-and-png/" target="_blank"&gt;10个用户图标&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;a href="http://designmoo.com/17098/10-user-icons-free-psd-and-png/" target="_blank"&gt;   &lt;img alt="" height="239" src="http://alibuybuy-img11.stor.sinaapp.com/2012/01/06f3_c578d026d1cc496caaa5f9ce8ee01a9d" width="495"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;   &lt;a href="http://designmoo.com/15348/apple-keyboard-icon-psd/" target="_blank"&gt;苹果键盘图标&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;a href="http://designmoo.com/15348/apple-keyboard-icon-psd/" target="_blank"&gt;   &lt;img alt="" height="275" src="http://alibuybuy-img11.stor.sinaapp.com/2012/01/5251_64ae2659137747cdb5fbab9829de3a39" width="495"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;   &lt;a href="http://designmoo.com/14263/mail-icon/" target="_blank"&gt;邮件图标&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;a href="http://designmoo.com/14263/mail-icon/" target="_blank"&gt;   &lt;img alt="" height="275" src="http://alibuybuy-img11.stor.sinaapp.com/2012/01/8ceb_b88753d72989439fa01f4ad2b654fe07" width="495"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;   &lt;a href="http://www.photoshopfiles.com/photoshop/icons/set_of_7_user_icons_free_psd_and_png_1538.html" target="_blank"&gt;7用户图标设置&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;a href="http://www.photoshopfiles.com/photoshop/icons/set_of_7_user_icons_free_psd_and_png_1538.html" target="_blank"&gt;   &lt;img alt="" height="239" src="http://alibuybuy-img11.stor.sinaapp.com/2012/01/bbc8_e5f2c56af52d4b2ab1b65b9c5f4fbc32" width="495"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;   &lt;a href="http://365psd.com/day/2-239/" target="_blank"&gt;iTunes的10更换图标&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;a href="http://365psd.com/day/2-239/" target="_blank"&gt;   &lt;img alt="" height="282" src="http://alibuybuy-img11.stor.sinaapp.com/2012/01/bbc1_cb124b23d2ae452dbc70271d48a69c52" width="495"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;   &lt;a href="http://365psd.com/day/2-237/" target="_blank"&gt;迷你iPhone&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;a href="http://365psd.com/day/2-237/" target="_blank"&gt;   &lt;img alt="" height="327" src="http://alibuybuy-img11.stor.sinaapp.com/2012/01/503e_1b4107a29ef149a1b3a14fb38418f51b" width="495"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;   &lt;a href="http://www.psdgraphics.com/psd/black-tag/" target="_blank"&gt;黑色标签&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;a href="http://www.psdgraphics.com/psd/black-tag/" target="_blank"&gt;   &lt;img alt="" height="371" src="http://alibuybuy-img11.stor.sinaapp.com/2012/01/ad2a_d22a27eca6e149bc99a7d129da4b8f83" width="495"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;   &lt;a href="http://365psd.com/day/2-235/" target="_blank"&gt;Gmail的iPhone应用程序图标&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;a href="http://365psd.com/day/2-235/" target="_blank"&gt;   &lt;img alt="" height="279" src="http://alibuybuy-img11.stor.sinaapp.com/2012/01/ea63_d6b4ffab915948d7923b27f631512f03" width="495"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;   &lt;a href="http://freepsdfiles.net/graphics/glossy-shield-psd-icons/" target="_blank"&gt;光面盾&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;a href="http://freepsdfiles.net/graphics/glossy-shield-psd-icons/" target="_blank"&gt;   &lt;img alt="" height="251" src="http://alibuybuy-img11.stor.sinaapp.com/2012/01/e18c_602eaee6c68f428da0426be79a118b6a" width="495"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;   &lt;a href="http://freepsdfiles.net/graphics/free-psd-pencil-icons/" target="_blank"&gt;铅笔图标&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;a href="http://freepsdfiles.net/graphics/free-psd-pencil-icons/" target="_blank"&gt;   &lt;img alt="" height="239" src="http://alibuybuy-img11.stor.sinaapp.com/2012/01/ef13_7ce6fd5ad2c546d2947372968958faf2" width="495"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;   &lt;a href="http://freepsdfiles.net/graphics/7-free-psd-camera-graphic/" target="_blank"&gt;摄像机图形&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;a href="http://freepsdfiles.net/graphics/7-free-psd-camera-graphic/" target="_blank"&gt;   &lt;img alt="" height="237" src="http://alibuybuy-img11.stor.sinaapp.com/2012/01/3b6a_f8be0bbe16454c87a2fed8af038c548d" width="495"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;   &lt;a href="http://www.graphicsfuel.com/2011/10/leather-wallet-icon-psd/" target="_blank"&gt;皮革钱包图标&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;a href="http://www.graphicsfuel.com/2011/10/leather-wallet-icon-psd/" target="_blank"&gt;   &lt;img alt="" height="275" src="http://alibuybuy-img11.stor.sinaapp.com/2012/01/6e6e_69591c1cb0874ca9a6aa8498bf0f18a1" width="495"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;   &lt;a href="http://www.psdgraphics.com/icons/cloud-computing-icon/" target="_blank"&gt;云计算图标&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;a href="http://www.psdgraphics.com/icons/cloud-computing-icon/" target="_blank"&gt;   &lt;img alt="" height="371" src="http://alibuybuy-img11.stor.sinaapp.com/2012/01/148e_3d218d3af8d0404e901d5b09afc42305" width="495"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;   &lt;a href="http://www.graphicsfuel.com/2011/09/blank-dvd-cd-template-psd/" target="_blank"&gt;空白的DVD光盘模板&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;a href="http://www.graphicsfuel.com/2011/09/blank-dvd-cd-template-psd/" target="_blank"&gt;   &lt;img alt="" height="275" src="http://alibuybuy-img11.stor.sinaapp.com/2012/01/0995_13954499c7a54a4fa62ea90edb9708a7" width="495"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;   &lt;a href="http://freepsdfiles.net/graphics/25-world-flag-language-buttons/" target="_blank"&gt;世界国旗&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;a href="http://freepsdfiles.net/graphics/25-world-flag-language-buttons/" target="_blank"&gt;   &lt;img alt="" height="228" src="http://alibuybuy-img11.stor.sinaapp.com/2012/01/1c24_3abb73c3edcf42448426b469238f2fe5" width="495"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;   &lt;a href="http://www.psdgraphics.com/icons/coupon-icon-psd/" target="_blank"&gt;优惠券图标&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;a href="http://www.psdgraphics.com/icons/coupon-icon-psd/" target="_blank"&gt;   &lt;img alt="" height="332" src="http://alibuybuy-img11.stor.sinaapp.com/2012/01/4c76_b48ca0560884433183b76b11fc00a4ca" width="495"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;   &lt;a href="http://www.psdgraphics.com/icons/at-icon/" target="_blank"&gt;在@图标&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;a href="http://www.psdgraphics.com/icons/at-icon/" target="_blank"&gt;   &lt;img alt="" height="313" src="http://alibuybuy-img11.stor.sinaapp.com/2012/01/a680_f7c8c09292b24c21ba68015eb2e4f5ac" width="495"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;   &lt;a href="http://www.psdgraphics.com/icons/financial-graph-icon-psd/" target="_blank"&gt;财政图形图标&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;a href="http://www.psdgraphics.com/icons/financial-graph-icon-psd/" target="_blank"&gt;   &lt;img alt="" height="322" src="http://alibuybuy-img11.stor.sinaapp.com/2012/01/a896_fdd75e02b01a4d848070bf9bf8123813" width="495"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;   &lt;a href="http://365psd.com/day/2-232/" target="_blank"&gt;的iOS复古的纸盒图标&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;a href="http://365psd.com/day/2-232/" target="_blank"&gt;   &lt;img alt="" height="250" src="http://alibuybuy-img11.stor.sinaapp.com/2012/01/7151_c5c16d3554474d498cd15524ac38031d" width="495"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;   &lt;a href="http://www.photoshopfiles.com/photoshop/icons/15_shopping_icons_free_psd_and_png_1494.html" target="_blank"&gt;15个购物图标&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;a href="http://www.photoshopfiles.com/photoshop/icons/15_shopping_icons_free_psd_and_png_1494.html" target="_blank"&gt;   &lt;img alt="" height="239" src="http://alibuybuy-img11.stor.sinaapp.com/2012/01/27d4_a23f22bf5b994f35a72c8d33e9e266b9" width="495"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;   &lt;a href="http://www.photoshopfiles.com/photoshop/icons/web_icon_set_01_1491.html" target="_blank"&gt;Web图标设置01&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;a href="http://www.photoshopfiles.com/photoshop/icons/web_icon_set_01_1491.html" target="_blank"&gt;   &lt;img alt="" height="339" src="http://alibuybuy-img11.stor.sinaapp.com/2012/01/f300_d5d8ffdaec294a1eae877501c73abd9f" width="495"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;   &lt;a href="http://www.photoshopfiles.com/photoshop/icons/apple_icloud_icon_1486.html" target="_blank"&gt;苹果icloud的图标&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;a href="http://www.photoshopfiles.com/photoshop/icons/apple_icloud_icon_1486.html" target="_blank"&gt;   &lt;img alt="" height="371" src="http://alibuybuy-img11.stor.sinaapp.com/2012/01/7720_97107e3888434761bccd72edcc5bbf3f" width="495"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;   &lt;a href="http://ampeross.deviantart.com/art/Olira-icons-263543244" target="_blank"&gt;Olira图标&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;a href="http://ampeross.deviantart.com/art/Olira-icons-263543244" target="_blank"&gt;   &lt;img alt="" height="266" src="http://alibuybuy-img11.stor.sinaapp.com/2012/01/c7a8_b3bdb4cc895f4ba396a04ab3e1baa690" width="495"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;strong&gt;   &lt;a href="http://lukezz.deviantart.com/art/Glass-ball-with-liquid-264723383" target="_blank"&gt;液体的玻璃球&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;a href="http://lukezz.deviantart.com/art/Glass-ball-with-liquid-264723383" target="_blank"&gt;   &lt;img alt="" height="310" src="http://alibuybuy-img11.stor.sinaapp.com/2012/01/d526_1c7ff7d3843c49dab67c4c73f7f09c90" width="495"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;a href="http://www.smashingapps.com/2012/01/17/40-fresh-and-high-quality-free-icon-sets-in-psd-format.html" target="_blank" title="40&amp;#20010;&amp;#26032;&amp;#40092;&amp;#39640;&amp;#21697;&amp;#36136;&amp;#30340;PSD&amp;#22270;&amp;#26631;"&gt;Via &lt;/a&gt;&lt;/p&gt;
 &lt;div&gt;
  &lt;div&gt;&lt;/div&gt;
&lt;/div&gt;
 &lt;p&gt;来源：  &lt;a href="http://www.jackchen.cn/blog/?p=6435"&gt;http://www.jackchen.cn/blog/?p=6435&lt;/a&gt;&lt;/p&gt;
 &lt;hr&gt;&lt;/hr&gt;
 &lt;p&gt;  &lt;small&gt;© 推荐 for    &lt;a href="http://www.alibuybuy.com"&gt;互联网的那点事&lt;/a&gt;, 2012. |
   &lt;a href="http://www.alibuybuy.com/posts/69910.html"&gt;Permalink&lt;/a&gt; |
   &lt;a href="http://www.alibuybuy.com/posts/69910.html#comments"&gt;No comment&lt;/a&gt; |
Add to
   &lt;a href="http://del.icio.us/post?url=http://www.alibuybuy.com/posts/69910.html&amp;title=40&amp;#26032;&amp;#40092;&amp;#21644;&amp;#39640;&amp;#21697;&amp;#36136;&amp;#30340;PSD&amp;#26684;&amp;#24335;&amp;#30340;&amp;#20813;&amp;#36153;&amp;#22270;&amp;#26631;&amp;#38598;"&gt;del.icio.us&lt;/a&gt;
   &lt;br /&gt;
Post tags:    &lt;a href="http://www.alibuybuy.com/tag/%e5%85%8d%e8%b4%b9%e5%9b%be%e6%a0%87%e9%9b%86" rel="tag"&gt;免费图标集&lt;/a&gt;   &lt;br /&gt;
&lt;/small&gt;&lt;/p&gt;


 &lt;table border="0" cellpadding="3" cellspacing="0"&gt;
    
      &lt;tr&gt;
           &lt;td colspan="5"&gt;    &lt;strong&gt;你可能也喜欢：&lt;/strong&gt;&lt;/td&gt;
    &lt;/tr&gt;
    
          &lt;tr&gt;
                   &lt;td valign="top" width="102"&gt;
                        &lt;a href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.iplaysoft.com%2Fwindows-sysinternals-suite.html&amp;from=http%3A%2F%2Fwww.alibuybuy.com%2Fposts%2F69910.html" target="_blank" title="Windows Sysinternals &amp;#24494;&amp;#36719;&amp;#23448;&amp;#26041;&amp;#20813;&amp;#36153;&amp;#30340;&amp;#26497;&amp;#21697;&amp;#23454;&amp;#29992;&amp;#32511;&amp;#33394;&amp;#23567;&amp;#24037;&amp;#20855;&amp;#21512;&amp;#38598;&amp;#65292;&amp;#32477;&amp;#23545;&amp;#20540;&amp;#24471;&amp;#20320;&amp;#25910;&amp;#34255;&amp;#65281;"&gt;
                             &lt;img height="96px" src="http://static.wumii.com/site_images/2012/01/19/14136941.jpg" width="96px"&gt;&lt;/img&gt;     &lt;br /&gt;
                        Windows Sysinternals 微软官方免费的极品实用绿色小工具合集，绝对值得你收藏！ (@iplaysoft)
                    &lt;/a&gt;
                &lt;/td&gt;
                   &lt;td valign="top" width="102"&gt;
                        &lt;a href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.iplaysoft.com%2Fwoofunction-icon-set.html&amp;from=http%3A%2F%2Fwww.alibuybuy.com%2Fposts%2F69910.html" target="_blank" title="&amp;#20813;&amp;#36153;&amp;#31934;&amp;#32654;&amp;#30340;&amp;#22270;&amp;#26631;&amp;#38598; WooFunction &amp;#25171;&amp;#21253;&amp;#19979;&amp;#36733; (178&amp;#26522;PNG&amp;#32032;&amp;#26448;)"&gt;
                             &lt;img height="96px" src="http://static.wumii.com/site_images/2010/11/23/1049565.jpg" width="96px"&gt;&lt;/img&gt;     &lt;br /&gt;
                        免费精美的图标集 WooFunction 打包下载 (178枚PNG素材) (@iplaysoft)
                    &lt;/a&gt;
                &lt;/td&gt;
                   &lt;td valign="top" width="102"&gt;
                        &lt;a href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.alibuybuy.com%2Fposts%2F66181.html&amp;from=http%3A%2F%2Fwww.alibuybuy.com%2Fposts%2F69910.html" target="_blank" title="&amp;#20813;&amp;#36153;&amp;#30340;&amp;#28165;&amp;#26032;&amp;#29420;&amp;#29305;iPhone&amp;#20027;&amp;#39064;&amp;#21644;&amp;#22270;&amp;#26631;&amp;#38598;&amp;#19979;&amp;#36733;"&gt;
                             &lt;img height="96px" src="http://static.wumii.com/site_images/2011/10/17/9357412.jpg" width="96px"&gt;&lt;/img&gt;     &lt;br /&gt;
                        免费的清新独特iPhone主题和图标集下载
                    &lt;/a&gt;
                &lt;/td&gt;
                   &lt;td valign="top" width="102"&gt;
                        &lt;a href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.alibuybuy.com%2F7865.html&amp;from=http%3A%2F%2Fwww.alibuybuy.com%2Fposts%2F69910.html" target="_blank" title="&amp;#20813;&amp;#36153;&amp;#28418;&amp;#20142;&amp;#30340;RSS FEED&amp;#35746;&amp;#38405;&amp;#22270;&amp;#26631;&amp;#22823;&amp;#38598;&amp;#21512;"&gt;
                             &lt;img height="96px" src="http://static.wumii.com/site_images/2010/12/30/1676687.jpg" width="96px"&gt;&lt;/img&gt;     &lt;br /&gt;
                        免费漂亮的RSS FEED订阅图标大集合
                    &lt;/a&gt;
                &lt;/td&gt;
                   &lt;td valign="top" width="102"&gt;
                        &lt;a href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.alibuybuy.com%2Fposts%2F17163.html&amp;from=http%3A%2F%2Fwww.alibuybuy.com%2Fposts%2F69910.html" target="_blank" title="20&amp;#22871;&amp;#26032;&amp;#40092;&amp;#30340;&amp;#32593;&amp;#39029;&amp;#29992;&amp;#22270;&amp;#26631;&amp;#19979;&amp;#36733;"&gt;
                             &lt;img height="96px" src="http://static.wumii.com/site_images/2011/04/08/5243071.jpg" width="96px"&gt;&lt;/img&gt;     &lt;br /&gt;
                        20套新鲜的网页用图标下载
                    &lt;/a&gt;
                &lt;/td&gt;
        &lt;/tr&gt;
    
      &lt;tr&gt;
           &lt;td align="right" colspan="5"&gt;
                &lt;a href="http://www.wumii.com/widget/relatedItems.htm" target="_blank" title="&amp;#26080;&amp;#35269;&amp;#30456;&amp;#20851;&amp;#25991;&amp;#31456;&amp;#25554;&amp;#20214;"&gt;
                无觅
            &lt;/a&gt;
        &lt;/td&gt;
    &lt;/tr&gt;
&lt;/table&gt;
 &lt;p&gt;  &lt;small&gt;Feed enhanced by    &lt;a href="http://planetozh.com/blog/my-projects/wordpress-plugin-better-feed-rss/"&gt;Better Feed&lt;/a&gt; from     &lt;a href="http://planetozh.com/blog/"&gt;Ozh&lt;/a&gt;&lt;/small&gt;&lt;/p&gt; &lt;img border="0" height="0" src="http://www1.feedsky.com/t1/598821254/alibuybuy/feedsky/s.gif?r=http://www.alibuybuy.com/posts/69910.html" width="0"&gt;&lt;/img&gt;&lt;div&gt; &lt;a href="https://itindex.net/"  title="IT 资讯"&gt;&lt;img src="https://itindex.net/images/iconWarning.gif" title="IT 资讯" border="0"/&gt; &lt;/a&gt;</description>
      <category>资料报告 免费图标集</category>
      <guid isPermaLink="true">https://itindex.net/detail/35436-%E6%96%B0%E9%B2%9C-%E5%93%81%E8%B4%A8-psd</guid>
      <pubDate>Mon, 23 Jan 2012 09:51:51 CST</pubDate>
    </item>
    <item>
      <title>7个免费的从头开始学习编程的方法</title>
      <link>https://itindex.net/detail/35726-%E5%85%8D%E8%B4%B9-%E5%AD%A6%E4%B9%A0-%E7%BC%96%E7%A8%8B</link>
      <description>&lt;p&gt;我们曾在一篇文章中讨论过不会编程算不算是文盲的问题，虽然有人认为这样有点说过头，但同时也不可否认如今编程确实显得越来越重要。比如作为设计师，懂一些编程可能会帮你更好地理解自己工作内容；而如果你想从头开始创业，技术创始人的身份则会让你的很多工作显得更容易。&lt;/p&gt;
 &lt;p&gt;无论想学什么，也无论出于什么目的想学，都需要你保持好奇心。但是作为刚想入门的新手，面对眼前海量的信息，或许根本不知道从哪里开始。以下就盘点几种帮你从现在开始免费学习编程的方法：&lt;/p&gt;
 &lt;h4&gt;Processing&lt;/h4&gt;
 &lt;p&gt;  &lt;a href="http://luckerme.com/Links/http://img01.36krcnd.com/wp-content/uploads/2012/02/processing.jpeg" rel="nofollow" target="_blank"&gt;   &lt;img alt="" height="297" src="http://img02.36krcnd.com/wp-content/uploads/2012/02/processing.jpeg" title="processing" width="500"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
 &lt;p&gt;Processing是一个开源的编程语言及环境，主要面向创建图形、动画及交互的人群。这是让你上手写出代码最简单的一种方法。虽然是一个学习工具，但是也能完成令人惊讶的专业性工作。&lt;/p&gt;
 &lt;p&gt;&amp;gt;&amp;gt;   &lt;a href="http://luckerme.com/Links/http://processing.org/" rel="external nofollow" target="_blank"&gt;Processing&lt;/a&gt; (  &lt;a href="http://luckerme.com/Links/http://processing.org/reference/" rel="external nofollow" target="_blank"&gt;Reference&lt;/a&gt;,   &lt;a href="http://luckerme.com/Links/http://processing.org/learning/" rel="external nofollow" target="_blank"&gt;Tutorials&lt;/a&gt;,   &lt;a href="http://luckerme.com/Links/http://wiki.processing.org/w/Main_Page" rel="external nofollow" target="_blank"&gt;Wiki&lt;/a&gt;,   &lt;a href="http://luckerme.com/Links/http://forum.processing.org/" rel="external nofollow" target="_blank"&gt;Forum&lt;/a&gt;,   &lt;a href="http://luckerme.com/Links/http://www.openprocessing.org/" rel="external nofollow" target="_blank"&gt;Inspiration&lt;/a&gt;)&lt;/p&gt;
 &lt;h4&gt;Codecademy&lt;/h4&gt;
 &lt;p&gt;  &lt;a href="http://luckerme.com/Links/http://img03.36krcnd.com/wp-content/uploads/2012/02/Codecademy.png" rel="nofollow" target="_blank"&gt;   &lt;img alt="" height="188" src="http://luckerme.com/wp-content/uploads/asimage/2012/02/053324cXd.png" title="Codecademy" width="520"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
 &lt;p&gt;  &lt;a href="http://luckerme.com/Links/http://www.codecademy.com/" rel="nofollow" target="_blank"&gt;Codecademy&lt;/a&gt;号称是“学习编程最简单的方法”，这家创业公司也拉近了我们与在线编程的距离。用户完成的课程Codecademy会授以徽章作为奖励，以此对用户继续学习起到激励作用。它将持续跟踪你的总分、课程进度以及奖励获取情况，并且目前这些完全都是免费的。&lt;/p&gt;
 &lt;p&gt;&amp;gt;&amp;gt;   &lt;a href="http://luckerme.com/Links/http://www.codecademy.com/" rel="external nofollow" target="_blank"&gt;Codecademy&lt;/a&gt;&lt;/p&gt;
 &lt;h4&gt;Bloc (Ruby)&lt;/h4&gt;
 &lt;p&gt;  &lt;a href="http://luckerme.com/Links/http://img05.36krcnd.com/wp-content/uploads/2012/02/Bloc-Ruby.png" rel="nofollow" target="_blank"&gt;   &lt;img alt="" height="267" src="http://luckerme.com/wp-content/uploads/asimage/2012/02/053327Wma.png" title="Bloc (Ruby)" width="520"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
 &lt;p&gt;Bloc是一家帮助你轻松学习Ruby编程的创业公司，允许任何用户在浏览器中即时创建和部署Ruby应用，并能即时查看运行结果。&lt;/p&gt;
 &lt;p&gt;&amp;gt;&amp;gt;   &lt;a href="http://luckerme.com/Links/http://www.trybloc.com/" rel="external nofollow" target="_blank"&gt;Bloc&lt;/a&gt;&lt;/p&gt;
 &lt;h4&gt;从HTML开始&lt;/h4&gt;
 &lt;p&gt;  &lt;a href="http://luckerme.com/Links/http://img02.36krcnd.com/wp-content/uploads/2012/02/Start-with-HTML.png" rel="nofollow" target="_blank"&gt;   &lt;img alt="" height="216" src="http://luckerme.com/wp-content/uploads/asimage/2012/02/053329ZrY.png" title="Start with HTML" width="520"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
 &lt;p&gt;如果你从一开始就想做网站，那你最好从学习HTML开始。这是让你适应编程很好的途径，在你感觉习惯过后再学习CSS。当这些都学得差不多时，你就想试着学习JavaScript了。&lt;/p&gt;
 &lt;p&gt;&amp;gt;&amp;gt;   &lt;a href="http://luckerme.com/Links/http://www.w3schools.com/html/" rel="external nofollow" target="_blank"&gt;W3Schools&lt;/a&gt;，   &lt;a href="http://luckerme.com/Links/http://net.tutsplus.com/tutorials/html-css-techniques/30-html-best-practices-for-beginners/" rel="external nofollow" target="_blank"&gt;30 HTML Best Practices for Beginners&lt;/a&gt;，  &lt;a href="http://luckerme.com/Links/http://learncss.tutsplus.com/" rel="external nofollow" target="_blank"&gt;Learn HTML/CSS  in 30 days&lt;/a&gt;&lt;/p&gt;
 &lt;h4&gt;Kids Ruby&lt;/h4&gt;
 &lt;p&gt;  &lt;a href="http://luckerme.com/Links/http://img04.36krcnd.com/wp-content/uploads/2012/02/Kids-Ruby.png" rel="nofollow" target="_blank"&gt;   &lt;img alt="" height="259" src="http://luckerme.com/wp-content/uploads/asimage/2012/02/053332qWK.png" title="Kids Ruby" width="520"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
 &lt;p&gt;这个帮助孩子从小就能学习Ruby编程的网站。但即使你不是孩子，想从头开始学习编程，它也是可以给你带来帮助的。&lt;/p&gt;
 &lt;p&gt;&amp;gt;&amp;gt;   &lt;a href="http://luckerme.com/Links/http://kidsruby.com/" rel="external nofollow" target="_blank"&gt;Kids Ruby&lt;/a&gt;&lt;/p&gt;
 &lt;h4&gt;Mozilla的开发者网络&lt;/h4&gt;
 &lt;p&gt;  &lt;a href="http://luckerme.com/Links/http://img01.36krcnd.com/wp-content/uploads/2012/02/Mozilla%E2%80%99s-Developer-Network.png" rel="nofollow" target="_blank"&gt;   &lt;img alt="" height="189" src="http://luckerme.com/wp-content/uploads/asimage/2012/02/053334Z65.png" title="Mozilla&amp;#8217;s Developer Network" width="520"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
 &lt;p&gt;在该网站上有一套循序渐近的教程和Demo演示集合，对编程学习很有帮助。同时，你可能对Google Code University也会感兴趣。&lt;/p&gt;
 &lt;p&gt;&amp;gt;&amp;gt; Mozilla:   &lt;a href="http://luckerme.com/Links/https://developer.mozilla.org/en-US/learn" rel="external nofollow" target="_blank"&gt;Developer Network&lt;/a&gt; 和 Google:   &lt;a href="http://luckerme.com/Links/http://code.google.com/edu/courses.html" rel="nofollow" target="_blank"&gt;Code University&lt;/a&gt;&lt;/p&gt;
 &lt;h4&gt;P2PU&lt;/h4&gt;
 &lt;p&gt;  &lt;a href="http://luckerme.com/Links/http://img03.36krcnd.com/wp-content/uploads/2012/02/P2PU.png" rel="nofollow" target="_blank"&gt;   &lt;img alt="" height="377" src="http://luckerme.com/wp-content/uploads/asimage/2012/02/053335L3u.png" title="P2PU" width="520"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;
 &lt;p&gt;P2PU是一个完全自由的教、学社区，你可以这里报名学习任何你想学的内容。&lt;/p&gt;
 &lt;p&gt;&amp;gt;&amp;gt;   &lt;a href="http://luckerme.com/Links/http://p2pu.org/" rel="external nofollow" target="_blank"&gt;P2PU&lt;/a&gt;&lt;/p&gt;
 &lt;p&gt;除此之外，网络上还有许多其它的应用以及编程相关的书籍、视频教程等内容，自己也可以找来这些内容不断的阅读并练习。如果能保持一颗求知的心，你终会找到适合自己的编程学习方法。&lt;/p&gt;
 &lt;table border="0" cellpadding="3" cellspacing="0"&gt;
    
      &lt;tr&gt;
           &lt;td colspan="5"&gt;    &lt;strong&gt;您可能也喜欢：&lt;/strong&gt;&lt;/td&gt;
    &lt;/tr&gt;
    
          &lt;tr&gt;
                   &lt;td valign="top" width="117"&gt;
                        &lt;a href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fluckerme.com%2Farchives%2F780.html&amp;from=http%3A%2F%2Fluckerme.com%2Farchives%2F1061.html" target="_blank" title="Codecademy&amp;#23454;&amp;#29616;&amp;#20154;&amp;#26426;&amp;#20132;&amp;#20114;&amp;#24335;&amp;#23398;&amp;#20064;&amp;#32534;&amp;#31243;"&gt;
                             &lt;img height="111px" src="http://static.wumii.com/site_images/2011/09/18/31960186.jpg" width="111px"&gt;&lt;/img&gt;     &lt;br /&gt;
                        Codecademy实现人机交互式学习编程
                    &lt;/a&gt;
                &lt;/td&gt;
                   &lt;td valign="top" width="117"&gt;
                        &lt;a href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fluckerme.com%2Farchives%2F531.html&amp;from=http%3A%2F%2Fluckerme.com%2Farchives%2F1061.html" target="_blank" title="&amp;#30127;&amp;#29378;&amp;#30340;Web&amp;#24212;&amp;#29992;&amp;#24320;&amp;#28304;&amp;#39033;&amp;#30446;&amp;#25910;&amp;#38598;&amp;#25512;&amp;#33616;"&gt;
                             &lt;img height="111px" src="http://static.wumii.com/site_images/2011/09/07/23481659.jpg" width="111px"&gt;&lt;/img&gt;     &lt;br /&gt;
                        疯狂的Web应用开源项目收集推荐
                    &lt;/a&gt;
                &lt;/td&gt;
                   &lt;td valign="top" width="117"&gt;
                        &lt;a href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fluckerme.com%2Farchives%2F830.html&amp;from=http%3A%2F%2Fluckerme.com%2Farchives%2F1061.html" target="_blank" title="&amp;#25512;&amp;#33616;10&amp;#20010;&amp;#20813;&amp;#36153;&amp;#22312;&amp;#32447;&amp;#27979;&amp;#35797;&amp;#32593;&amp;#36895;&amp;#30340;&amp;#32593;&amp;#31449;"&gt;
                             &lt;img height="111px" src="http://static.wumii.com/site_images/2011/09/27/8149192.jpg" width="111px"&gt;&lt;/img&gt;     &lt;br /&gt;
                        推荐10个免费在线测试网速的网站
                    &lt;/a&gt;
                &lt;/td&gt;
                   &lt;td valign="top" width="117"&gt;
                        &lt;a href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fluckerme.com%2Farchives%2F111.html&amp;from=http%3A%2F%2Fluckerme.com%2Farchives%2F1061.html" target="_blank" title="&amp;#25512;&amp;#33616;3&amp;#27454;&amp;#22312;&amp;#32447;&amp;#24212;&amp;#29992;&amp;#65292;&amp;#20026;&amp;#20320;&amp;#20943;&amp;#21387;&amp;#37322;&amp;#25918;&amp;#21387;&amp;#21147;"&gt;
                             &lt;img height="111px" src="http://static.wumii.com/site_images/2011/08/19/23482466.jpg" width="111px"&gt;&lt;/img&gt;     &lt;br /&gt;
                        推荐3款在线应用，为你减压释放压力
                    &lt;/a&gt;
                &lt;/td&gt;
                   &lt;td valign="top" width="117"&gt;
                        &lt;a href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fluckerme.com%2Farchives%2F557.html&amp;from=http%3A%2F%2Fluckerme.com%2Farchives%2F1061.html" target="_blank" title="&amp;#26234;&amp;#33021;DNS&amp;#26381;&amp;#21153;DNSPod&amp;#25910;&amp;#36153;&amp;#21151;&amp;#33021;&amp;#24443;&amp;#24213;&amp;#20813;&amp;#36153;"&gt;
                             &lt;img height="111px" src="http://static.wumii.com/site_images/2011/08/31/26641909.png" width="111px"&gt;&lt;/img&gt;     &lt;br /&gt;
                        智能DNS服务DNSPod收费功能彻底免费
                    &lt;/a&gt;
                &lt;/td&gt;
        &lt;/tr&gt;
    
      &lt;tr&gt;
           &lt;td align="right" colspan="5"&gt;
                &lt;a href="http://www.wumii.com/widget/relatedItems.htm" target="_blank" title="&amp;#26080;&amp;#35269;&amp;#30456;&amp;#20851;&amp;#25991;&amp;#31456;&amp;#25554;&amp;#20214;"&gt;
                无觅
            &lt;/a&gt;
        &lt;/td&gt;
    &lt;/tr&gt;
&lt;/table&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>书籍资料 软件技巧 Codecademy 代码 在线应用</category>
      <guid isPermaLink="true">https://itindex.net/detail/35726-%E5%85%8D%E8%B4%B9-%E5%AD%A6%E4%B9%A0-%E7%BC%96%E7%A8%8B</guid>
      <pubDate>Fri, 03 Feb 2012 13:33:23 CST</pubDate>
    </item>
    <item>
      <title>iText 5.2.0 发布，PDF 开发包</title>
      <link>https://itindex.net/detail/36336-itext-pdf-%E5%8F%91%E5%8C%85</link>
      <description>&lt;p&gt;iText 5.2.0 发布了，该版本大部分的改进都集中在 PDF 解析上，支持特殊的编码和多种国外语言，修复了解析错误以及对一些错误的 PDF 语法更加适应，此外 iText 现在可支持生成超过 2G 的文件，减少对 java.awt 包的依赖，可更方便在 Android 平台和 GAE 中使用。&lt;/p&gt; &lt;p&gt;iText是一个非常著名的能够快速产生PDF文件的Java类库。支持文本，表格，图形的操作，可以方便的跟 Servlet 进行结合。&lt;/p&gt; &lt;p&gt;来自：  &lt;a href="http://www.oschina.net/news/26204/itext-5-2-0"&gt;中国开源社区&lt;/a&gt;  &lt;br /&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>Java资料</category>
      <guid isPermaLink="true">https://itindex.net/detail/36336-itext-pdf-%E5%8F%91%E5%8C%85</guid>
      <pubDate>Thu, 01 Mar 2012 08:00:00 CST</pubDate>
    </item>
  </channel>
</rss>

