﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-ゞ沉默是金ゞ-随笔分类-其他收集</title><link>http://www.blogjava.net/dashi99/category/45010.html</link><description>&lt;div align="center"&gt;
&lt;img height="50" width="200" name="welcome" src="http://www.blogjava.net/images/blogjava_net/majianan/14891/r_5858488902000cu2.gif"/&gt;
&lt;/div&gt;
&lt;br/&gt;
&lt;center&gt;&lt;font size=4 &gt;鱼离不开水,但是没有说不离开哪滴水.&lt;/font&gt;&lt;/center&gt;</description><language>zh-cn</language><lastBuildDate>Fri, 15 Jun 2012 21:08:52 GMT</lastBuildDate><pubDate>Fri, 15 Jun 2012 21:08:52 GMT</pubDate><ttl>60</ttl><item><title>(Note)Java程序员面试中的多线程问题</title><link>http://www.blogjava.net/dashi99/archive/2012/06/14/380807.html</link><dc:creator>ゞ沉默是金ゞ</dc:creator><author>ゞ沉默是金ゞ</author><pubDate>Thu, 14 Jun 2012 11:00:00 GMT</pubDate><guid>http://www.blogjava.net/dashi99/archive/2012/06/14/380807.html</guid><wfw:comment>http://www.blogjava.net/dashi99/comments/380807.html</wfw:comment><comments>http://www.blogjava.net/dashi99/archive/2012/06/14/380807.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/dashi99/comments/commentRss/380807.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/dashi99/services/trackbacks/380807.html</trackback:ping><description><![CDATA[<div><p>很多核心Java面试题来源于多线程(Multi-Threading)和集合框架(Collections Framework)，理解核心线程概念时，娴熟的实际经验是必需的。这篇文章收集了 Java 线程方面一些典型的问题，这些问题经常被高级工程师所问到。</p> <p><strong>0.Java 中多线程同步是什么？</strong></p> <p>在多线程程序下，同步能控制对共享资源的访问。如果没有同步，当一个 Java 线程在修改一个共享变量时，另外一个线程正在使用或者更新同一个变量，这样容易导致程序出现错误的结果。</p> <p><strong>1.解释实现多线程的几种方法?</strong></p> <p>一 Java 线程可以实现 Runnable 接口或者继承 Thread 类来实现，当你打算多重继承时，优先选择实现 Runnable。</p> <p><strong>2.Thread.start ()与 Thread.run ()有什么区别？</strong></p> <p>Thread.start ()方法(native)启动线程，使之进入就绪状态，当 cpu 分配时间该线程时，由 JVM 调度执行 run ()方法。</p> <p><a title="interviewquestions" rel="lightbox[18571]"><img title="interviewquestions" alt="" src="http://articles.csdn.net/uploads/allimg/120528/091Z95338-0.jpg" height="150" width="150" /></a></p> <p><strong>3.为什么需要 run ()和 start ()方法，我们可以只用 run ()方法来完成任务吗？</strong></p> <p>我们需要 run ()&amp;start ()这两个方法是因为 JVM 创建一个单独的线程不同于普通方法的调用，所以这项工作由线程的  start 方法来完成，start 由本地方法实现，需要显示地被调用，使用这俩个方法的另外一个好处是任何一个对象都可以作为线程运行，只要实现了  Runnable 接口，这就避免因继承了 Thread 类而造成的 Java 的多继承问题。</p> <p><strong>4.什么是 ThreadLocal 类，怎么使用它？</strong></p> <p>ThreadLocal 是一个线程级别的局部变量，并非&#8220;本地线程&#8221;。ThreadLocal 为每个使用该变量的线程提供了一个独立的变量副本，每个线程修改副本时不影响其它线程对象的副本(译者注)。</p> <p>下面是线程局部变量(ThreadLocal variables)的关键点：</p> <p>一个线程局部变量(ThreadLocal variables)为每个线程方便地提供了一个单独的变量。</p> <p>ThreadLocal 实例通常作为静态的私有的(private static)字段出现在一个类中，这个类用来关联一个线程。</p> <p>当多个线程访问 ThreadLocal 实例时，每个线程维护 ThreadLocal 提供的独立的变量副本。</p> <p>常用的使用可在 DAO 模式中见到，当 DAO 类作为一个单例类时，数据库链接(connection)被每一个线程独立的维护，互不影响。(基于线程的单例)</p> <p>ThreadLocal 难于理解，下面这些引用连接有助于你更好的理解它。</p> <p>《<a rel="nofollow" target="_blank" href="http://www-128.ibm.com/developerworks/java/library/j-threads3.html">Good article on ThreadLocal on IBM DeveloperWorks</a>&nbsp;》、《<a target="_blank" href="http://blog.jobbole.com/20400/">理解 ThreadLocal</a>》、《<a rel="nofollow" target="_blank" href="http://javaboutique.internet.com/tutorials/localdata">Managing data : Good example</a>》、《<a rel="nofollow" target="_blank" href="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/ThreadLocal.html">Refer Java API Docs</a>》</p> <p><strong>5.什么时候抛出 InvalidMonitorStateException 异常，为什么？</strong></p> <p>调用 wait ()/notify ()/notifyAll ()中的任何一个方法时，如果当前线程没有获得该对象的锁，那么就会抛出  IllegalMonitorStateException 的异常(也就是说程序在没有执行对象的任何同步块或者同步方法时，仍然尝试调用 wait  ()/notify ()/notifyAll ()时)。由于该异常是 RuntimeExcpetion  的子类，所以该异常不一定要捕获(尽管你可以捕获只要你愿意).作为 RuntimeException，此类异常不会在 wait (),notify  (),notifyAll ()的方法签名提及。</p> <p><strong>6.Sleep ()、suspend ()和 wait ()之间有什么区别？</strong></p> <p>Thread.sleep ()使当前线程在指定的时间处于&#8220;非运行&#8221;（Not  Runnable）状态。线程一直持有对象的监视器。比如一个线程当前在一个同步块或同步方法中，其它线程不能进入该块或方法中。如果另一线程调用了  interrupt ()方法，它将唤醒那个&#8220;睡眠的&#8221;线程。</p> <p>注意：sleep ()是一个静态方法。这意味着只对当前线程有效，一个常见的错误是调用t.sleep  ()，（这里的t是一个不同于当前线程的线程）。即便是执行t.sleep ()，也是当前线程进入睡眠，而不是t线程。t.suspend  ()是过时的方法，使用 suspend ()导致线程进入停滞状态，该线程会一直持有对象的监视器，suspend ()容易引起死锁问题。</p> <p>object.wait ()使当前线程出于&#8220;不可运行&#8221;状态，和 sleep ()不同的是 wait 是 object 的方法而不是  thread。调用 object.wait  ()时，线程先要获取这个对象的对象锁，当前线程必须在锁对象保持同步，把当前线程添加到等待队列中，随后另一线程可以同步同一个对象锁来调用  object.notify ()，这样将唤醒原来等待中的线程，然后释放该锁。基本上 wait ()/notify ()与 sleep  ()/interrupt ()类似，只是前者需要获取对象锁。</p> <p><strong>7.在静态方法上使用同步时会发生什么事？</strong></p> <p>同步静态方法时会获取该类的&#8220;Class&#8221;对象，所以当一个线程进入同步的静态方法中时，线程监视器获取类本身的对象锁，其它线程不能进入这个类的任何静态同步方法。它不像实例方法，因为多个线程可以同时访问不同实例同步实例方法。</p> <p><strong>8.当一个同步方法已经执行，线程能够调用对象上的非同步实例方法吗？</strong></p> <p>可以，一个非同步方法总是可以被调用而不会有任何问题。实际上，Java  没有为非同步方法做任何检查，锁对象仅仅在同步方法或者同步代码块中检查。如果一个方法没有声明为同步，即使你在使用共享数据 Java  照样会调用，而不会做检查是否安全，所以在这种情况下要特别小心。一个方法是否声明为同步取决于临界区访问(critial section  access)，如果方法不访问临界区(共享资源或者数据结构)就没必要声明为同步的。</p> <p>下面有一个示例说明：Common 类有两个方法 synchronizedMethod1()和 method1()，MyThread 类在独立的线程中调用这两个方法。</p> <pre><ol><li><span>public&nbsp;class&nbsp;Common&nbsp;{ &nbsp;</span></li><li>&nbsp; &nbsp;</li><li>public&nbsp;synchronized&nbsp;void&nbsp;synchronizedMethod1()&nbsp;{ &nbsp;</li><li>System.out.println&nbsp;("synchronizedMethod1&nbsp;called"); &nbsp;</li><li>try&nbsp;{ &nbsp;</li><li>Thread.sleep&nbsp;(1000); &nbsp;</li><li>}&nbsp;catch&nbsp;(InterruptedException&nbsp;e)&nbsp;{ &nbsp;</li><li>e.printStackTrace&nbsp;(); &nbsp;</li><li>} &nbsp;</li><li>System.out.println&nbsp;("synchronizedMethod1&nbsp;done"); &nbsp;</li><li>} &nbsp;</li><li>public&nbsp;void&nbsp;method1()&nbsp;{ &nbsp;</li><li>System.out.println&nbsp;("Method&nbsp;1&nbsp;called"); &nbsp;</li><li>try&nbsp;{ &nbsp;</li><li>Thread.sleep&nbsp;(1000); &nbsp;</li><li>}&nbsp;catch&nbsp;(InterruptedException&nbsp;e)&nbsp;{ &nbsp;</li><li>e.printStackTrace&nbsp;(); &nbsp;</li><li>} &nbsp;</li><li>System.out.println&nbsp;("Method&nbsp;1&nbsp;done"); &nbsp;</li><li>} &nbsp;</li><li>}&nbsp;</li></ol></pre> <pre><ol><li><span>public&nbsp;class&nbsp;MyThread&nbsp;extends&nbsp;Thread&nbsp;{ &nbsp;</span></li><li>private&nbsp;int&nbsp;id&nbsp;=&nbsp;0; &nbsp;</li><li>private&nbsp;Common&nbsp;common; &nbsp;</li><li>&nbsp; &nbsp;</li><li>public&nbsp;MyThread&nbsp;(String&nbsp;name,&nbsp;int&nbsp;no,&nbsp;Common&nbsp;object)&nbsp;{ &nbsp;</li><li>super(name); &nbsp;</li><li>common&nbsp;=&nbsp;object; &nbsp;</li><li>id&nbsp;=&nbsp;no; &nbsp;</li><li>} &nbsp;</li><li>&nbsp; &nbsp;</li><li>public&nbsp;void&nbsp;run&nbsp;()&nbsp;{ &nbsp;</li><li>System.out.println&nbsp;("Running&nbsp;Thread"&nbsp;+&nbsp;this.getName&nbsp;()); &nbsp;</li><li>try&nbsp;{ &nbsp;</li><li>if&nbsp;(id&nbsp;==&nbsp;0)&nbsp;{ &nbsp;</li><li>common.synchronizedMethod1(); &nbsp;</li><li>}&nbsp;else&nbsp;{ &nbsp;</li><li>common.method1(); &nbsp;</li><li>} &nbsp;</li><li>}&nbsp;catch&nbsp;(Exception&nbsp;e)&nbsp;{ &nbsp;</li><li>e.printStackTrace&nbsp;(); &nbsp;</li><li>} &nbsp;</li><li>} &nbsp;</li><li>&nbsp; &nbsp;</li><li>public&nbsp;static&nbsp;void&nbsp;main&nbsp;(String[]&nbsp;args)&nbsp;{ &nbsp;</li><li>Common&nbsp;c&nbsp;=&nbsp;new&nbsp;Common&nbsp;(); &nbsp;</li><li>MyThread&nbsp;t1&nbsp;=&nbsp;new&nbsp;MyThread&nbsp;("MyThread-1",&nbsp;0,&nbsp;c); &nbsp;</li><li>MyThread&nbsp;t2&nbsp;=&nbsp;new&nbsp;MyThread&nbsp;("MyThread-2",&nbsp;1,&nbsp;c); &nbsp;</li><li>t1.start&nbsp;(); &nbsp;</li><li>t2.start&nbsp;(); &nbsp;</li><li>} &nbsp;</li><li>} &nbsp;</li></ol></pre> <p>这里是程序的输出：</p> <pre><ol><li><span>Running&nbsp;ThreadMyThread-1 &nbsp;</span></li><li>synchronizedMethod1&nbsp;called &nbsp;</li><li>Running&nbsp;ThreadMyThread-2 &nbsp;</li><li>Method&nbsp;1&nbsp;called &nbsp;</li><li>synchronizedMethod1&nbsp;done &nbsp;</li><li>Method&nbsp;1&nbsp;done&nbsp;</li></ol></pre> <p>&nbsp;</p> <p>结果表明即使 synchronizedMethod1()方法执行了，method1()也会被调用。</p> <p><strong>9.在一个对象上两个线程可以调用两个不同的同步实例方法吗？</strong></p> <p>不能，因为一个对象已经同步了实例方法，线程获取了对象的对象锁。所以只有执行完该方法释放对象锁后才能执行其它同步方法。看下面代码示例非常清 晰：Common 类有 synchronizedMethod1()和 synchronizedMethod2()方法，MyThread  调用这两个方法。</p> <pre><ol><li><span>public&nbsp;class&nbsp;Common&nbsp;{ &nbsp;</span></li><li>public&nbsp;synchronized&nbsp;void&nbsp;synchronizedMethod1()&nbsp;{ &nbsp;</li><li>System.out.println&nbsp;("synchronizedMethod1&nbsp;called"); &nbsp;</li><li>try&nbsp;{ &nbsp;</li><li>Thread.sleep&nbsp;(1000); &nbsp;</li><li>}&nbsp;catch&nbsp;(InterruptedException&nbsp;e)&nbsp;{ &nbsp;</li><li>e.printStackTrace&nbsp;(); &nbsp;</li><li>} &nbsp;</li><li>System.out.println&nbsp;("synchronizedMethod1&nbsp;done"); &nbsp;</li><li>} &nbsp;</li><li>&nbsp; &nbsp;</li><li>public&nbsp;synchronized&nbsp;void&nbsp;synchronizedMethod2()&nbsp;{ &nbsp;</li><li>System.out.println&nbsp;("synchronizedMethod2&nbsp;called"); &nbsp;</li><li>try&nbsp;{ &nbsp;</li><li>Thread.sleep&nbsp;(1000); &nbsp;</li><li>}&nbsp;catch&nbsp;(InterruptedException&nbsp;e)&nbsp;{ &nbsp;</li><li>e.printStackTrace&nbsp;(); &nbsp;</li><li>} &nbsp;</li><li>System.out.println&nbsp;("synchronizedMethod2&nbsp;done"); &nbsp;</li><li>} &nbsp;</li><li>}&nbsp;</li></ol></pre> <pre><ol><li><span>public&nbsp;class&nbsp;MyThread&nbsp;extends&nbsp;Thread&nbsp;{ &nbsp;</span></li><li>private&nbsp;int&nbsp;id&nbsp;=&nbsp;0; &nbsp;</li><li>private&nbsp;Common&nbsp;common; &nbsp;</li><li>&nbsp; &nbsp;</li><li>public&nbsp;MyThread&nbsp;(String&nbsp;name,&nbsp;int&nbsp;no,&nbsp;Common&nbsp;object)&nbsp;{ &nbsp;</li><li>super(name); &nbsp;</li><li>common&nbsp;=&nbsp;object; &nbsp;</li><li>id&nbsp;=&nbsp;no; &nbsp;</li><li>} &nbsp;</li><li>&nbsp; &nbsp;</li><li>public&nbsp;void&nbsp;run&nbsp;()&nbsp;{ &nbsp;</li><li>System.out.println&nbsp;("Running&nbsp;Thread"&nbsp;+&nbsp;this.getName&nbsp;()); &nbsp;</li><li>try&nbsp;{ &nbsp;</li><li>if&nbsp;(id&nbsp;==&nbsp;0)&nbsp;{ &nbsp;</li><li>common.synchronizedMethod1(); &nbsp;</li><li>}&nbsp;else&nbsp;{ &nbsp;</li><li>common.synchronizedMethod2(); &nbsp;</li><li>} &nbsp;</li><li>}&nbsp;catch&nbsp;(Exception&nbsp;e)&nbsp;{ &nbsp;</li><li>e.printStackTrace&nbsp;(); &nbsp;</li><li>} &nbsp;</li><li>} &nbsp;</li><li>&nbsp; &nbsp;</li><li>public&nbsp;static&nbsp;void&nbsp;main&nbsp;(String[]&nbsp;args)&nbsp;{ &nbsp;</li><li>Common&nbsp;c&nbsp;=&nbsp;new&nbsp;Common&nbsp;(); &nbsp;</li><li>MyThread&nbsp;t1&nbsp;=&nbsp;new&nbsp;MyThread&nbsp;("MyThread-1",&nbsp;0,&nbsp;c); &nbsp;</li><li>MyThread&nbsp;t2&nbsp;=&nbsp;new&nbsp;MyThread&nbsp;("MyThread-2",&nbsp;1,&nbsp;c); &nbsp;</li><li>t1.start&nbsp;(); &nbsp;</li><li>t2.start&nbsp;(); &nbsp;</li><li>} &nbsp;</li><li>}&nbsp;</li></ol></pre> <p><strong>10.什么是死锁</strong></p> <p>死锁就是两个或两个以上的线程被无限的阻塞，线程之间相互等待所需资源。这种情况可能发生在当两个线程尝试获取其它资源的锁，而每个线程又陷入无限等待其它资源锁的释放，除非一个用户进程被终止。就 JavaAPI 而言，线程死锁可能发生在一下情况。</p> <ul><li>当两个线程相互调用 Thread.join ()</li><li>当两个线程使用嵌套的同步块，一个线程占用了另外一个线程必需的锁，互相等待时被阻塞就有可能出现死锁。</li></ul> <p><strong>11.什么是线程饿死，什么是活锁？</strong></p> <p>线程饿死和活锁虽然不想是死锁一样的常见问题，但是对于并发编程的设计者来说就像一次邂逅一样。</p> <p>当所有线程阻塞，或者由于需要的资源无效而不能处理，不存在非阻塞线程使资源可用。JavaAPI 中线程活锁可能发生在以下情形：</p> <ul><li>当所有线程在程序中执行 Object.wait (0)，参数为 0 的 wait 方法。程序将发生活锁直到在相应的对象上有线程调用 Object.notify ()或者 Object.notifyAll ()。</li><li>当所有线程卡在无限循环中。</li></ul> <p>这里的问题并不详尽，我相信还有很多重要的问题并未提及，您认为还有哪些问题应该包括在上面呢？欢迎在评论中分享任何形式的问题与建议。</p></div><div>sd.csdn.net/a/20120528/2806046.html</div><img src ="http://www.blogjava.net/dashi99/aggbug/380807.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/dashi99/" target="_blank">ゞ沉默是金ゞ</a> 2012-06-14 19:00 <a href="http://www.blogjava.net/dashi99/archive/2012/06/14/380807.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>偷了世界的程序员(真正让我们成为局域网的不是那个墙，而是我们自己的肤浅) </title><link>http://www.blogjava.net/dashi99/archive/2010/12/21/341224.html</link><dc:creator>ゞ沉默是金ゞ</dc:creator><author>ゞ沉默是金ゞ</author><pubDate>Tue, 21 Dec 2010 03:25:00 GMT</pubDate><guid>http://www.blogjava.net/dashi99/archive/2010/12/21/341224.html</guid><wfw:comment>http://www.blogjava.net/dashi99/comments/341224.html</wfw:comment><comments>http://www.blogjava.net/dashi99/archive/2010/12/21/341224.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.blogjava.net/dashi99/comments/commentRss/341224.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/dashi99/services/trackbacks/341224.html</trackback:ping><description><![CDATA[<p>十年前，有四个年轻人改变了这个世界的运作方式。他们使用的并不是法律或是武器或是金钱，而是使用软件来改变世界。他们当时有着激进和极具破坏性的想法，并把这些想法付诸于代码，在Internet上以免费自由方式发布。这四个人，没有一个完成了大学学业，却奠定了今天我们习惯的数字媒体环境的基础。然后，因为各种原因，他们也迅速地消失在公众视野中。</p>
<p>1999年，美国东北大学的一个叫Shawn Fanning的一年级新生开发Napster，从此，成为了P2P文件共享和不需要大型机构或零售商就可以获得音乐的先锋和范例。《时代周刊》和《财富》把他放上了封面。那时，他在19岁。</p>
<p>就在同一年，一个挪威的只有十几岁的年轻人 Jon Lech Johansen，他和另两个今天都不为人知的程序员，写下了一个程序解密了商业的DVD，而他成为了全球盛名的&#8220; DVD Jon.&#8221;，那年，他只有15岁。</p>
<p>而在1997年，Justin Frankel，一个亚利桑那州塞多纳的18岁的黑客，开发了一个免费的MP3播放器——WinAmp，其成为了Windows操作系统上装机必备的软件，并造就了主流数字音乐的革命。在他发布的第18个月内，1500万人下载了这个软件。而三年后，Frankel 开发了 Gnutella，一个P2P的文件共享协议，没有中心结点，不像 Napster，其不可能被关闭。目前有上百万人还在使用它。</p>
<p>2001年，Bram Cohen, 当年 26 岁，开发了一个P2P的文件传输共享协议—— BitTorrent，其以全新一流的架构全面优化了网络上大文件的共享和传输效率。 BitTorrent 也变成了整个Internet上发布大数据和文件的一个标准。</p>
<p><br />
在 2000年代的上半段，《时代》采访了这四个程序员。那个时候，看起来他们要以数字化动乱把整个复杂的传统媒体娱乐平台给拆除，而对有版权的电影，音乐和电视的收费则变得困难和不可能，那些艺术家也将无法从他们作品得到报酬，整个娱乐业包括时代华纳也将被炸为平地。而盗版业则借着这四个程员的软件侵袭了美国公司。</p>
<p>&#8220;毕竟&#8221;，我们在2003年报道到：&#8220;在整个信息经济中，不可能所有的信息都是免费的&#8221;。如果毁灭正在来临，那么， Fanning, Johansen, Frankel 和 Cohen 将是那&#8220;四骑士&#8221;（译注：启示录中的四骑士传统上被解释为瘟疫、战争、饥荒和死亡）。</p>
<p>没有毁灭<br />
毁灭并没有发生。但是整个娱乐业因此而改变，而这些改变的复杂性和逐渐演进超出了我们的期望。这些发生的故事，海盗王们的事，对于今天数字化世界正在发生的事情有非常高的参考和教育价值。Fanning, Johansen, Frankel 和 Cohen 现在都硅谷运作着自己的小的，合法的软件公司。他们现在没有在做和盗版有干系的事情——当然，如果他们真的没有。</p>
<p>Fanning，四个人中唯一一个没有回复我们的采访请求的人，他较早地退出了毁灭传统唱片业的事业。在2001年，Napster因为不堪众多关于其协助并煽动版权侵权的法律诉论的重压，而不得不关闭。2002年，Fanning 创办了新的服务 Snocap —— 他尝试把文件共享合法化，在和相关的唱片公司合作下，Snocap 赋予消费者对其下载作品给于创作者报酬的权利。</p>
<p>但是，到那个时候，免费自由的文件共享程序像病毒一样的增涨，而用户则热衷于更换他们的音乐硬盘。他们仅在2001年8月一个月内就交换了30亿个文件。而要从这些文件交易中收到钱是根本不可能的。是的，要和免费竞争是很难的一件事。 Fanning 创造了一个连他自己都搞不定的怪物。</p>
<p>所以，他停止继续尝试Snocap下去。 Fanning 的下一个项目是给游戏玩家的社交网络叫 Rupture，最终，他在2008年时以1500万美金把其卖给了电子艺界Electronic Arts ——这是他的第一次发薪日。他现在又于2008年11月开了一个公司 Path， 其主要提供给iPhone手机进行照片分享的服务。</p>
<p>而Napster呢？今天他还在。这个商标在破产拍卖时被卖了，然后再被卖了，但其再也没有被 重建。现在其被&nbsp; Best Buy 运营，其是 iTunes 的竞争者，其口号是—— &#8220;More than just a music store.&#8221; （不仅仅只是音乐商店）<br />
作为 Gnutella 的作者， Justin Frankel 是 Fanning 合法的继任者。不像 Fanning，他很早就收获了他的第一桶金。在1999年，当WinAmp大放光芒的时候，AOL买了WinAmp和他的公司——Nullsoft，价格应该在1亿美金左右。这让 Frankel 在20岁的时候就非常富有。当然，他也成了AOL的员工。</p>
<p>但这并不是很匹配，在Nullsoft, Frankel的做法是把软件开发到极致，然后免费发布出去。而在 AOL，软件的商业销售威胁并压倒了软件本身。&#8220;我致力于的产品，就像这样，我们不愿意金钱的掺入，我们正和其它公司做这笔交易，所以，产品也只能是这样的结果&#8221;，他回忆到，&#8220;没有人真正地去关心用户的体验是怎么样的&#8221;。</p>
<p>与此同时，Frankel 用他的业余时间开发 Gnutella 。这是一个很有才的软件，不像Napster，其是真正的分布式，没有中心服务器，这样，也没有那个&#8220;关闭按钮&#8221;让那些律师按。在2000年3月的时候，Gnutella上线，其发了一个贴子：&#8220;看见没？AOL也能给你一些好的东西！&#8221;，但是就算是这样，也没有换来AOL对其忠爱，而一大堆互联网公司在那时试图并入大的媒体公司，在Napster被诉讼的中期，2004年，他离开了AOL。</p>
<p>然后，他开始干了些有趣的事：他离开了他的成功地，他不用 Gnutella，也没有花一毛钱，就算是10年以后也是这样。 LimeWire —— 最流行的 Gnutella 客户端 —— 号称有 5千万用户。&#8220;当我开发它的时候，我最初主要是想用其在验证一下是否可行。所以我也不想从其中获益&#8221;，他说，&#8220;所以，甚至我和它一点关系也没有也说得通，其就是一个概念<br />
Frankel 他最近从旧金山搬到了纽约城，现在全心打理自己的公司 Cockos (别问为什么叫这名)，这是一个关于音频产品套件，叫 Reaper。他坚持不懈地改进着它，并且他和他的用户保持着很近的关系，其用户数大约是几万人。&#8220;当前的策略我们并不想发展用户数量&#8221;，他说，&#8220;我们只是在享受目前的过程，并在做正确的事情&#8221;。他并不同意他是这个世界上最危险的geek，而滚石在2004年时对他则是这么认为的。&#8220;我不觉得盗版是很危险的&#8221;，他说，&#8220;根本上来说，大众的商业模式总是依赖于对所有事情的强控制——尤其是那些有瑕疵的模式。而作为一个软件开发者来说，多少会产生一定程度的盗版&#8221;， Gnutella 对他来说已是远古的事情了。&#8220;数字化盗版：它毁了唱片业了吗？没有。唱片业适应了吗？当然，很多人会说得更好。你应该更关注质量，以及更小一些乐队，等等这类的事&#8221;。</p>
<p>&#8220;至于音乐流行和排行这么大的市场，这点盗版算什么？&#8221; 他边说边笑道， &#8220;我希望就是这样。&#8221;</p>
<p>四眼怪兽<br />
在这四骑士中，只有 Bram Cohen他现在还在致力于其10年前的那个项目。他是 BitTorrent的创始人和首席科学家，而一个令人敬佩的旧金山的公司希望能把Cohen的这个令人瞠目的高效的内容分布式技术变成商业化应用。</p>
<p>这是一个奇特的公司：其合法的业务建立在一种仍然可能被用来进行大规模版权侵权的技术上。即使像 BitTorrent这样被8千万用户安装了的东西，其看上去还是像刚刚开始创业一样。 在BitTorrent上有相对较小的一部分是完全合法的 —— 最近的一个研究表明完全合法的部分占11%。而在这11%中，有更少的一部分产生了BitTorrent的收入。</p>
<p>就像 Fanning 的 Snocap 一样，Cohen 试图把其BitTorrent从大量的盗版领域转移到合法的领域，这样才能挣到钱。2007年是BT发展最震动的一年，BitTorrent成为了20世纪福克斯、派拉蒙、华纳兄弟 和 米高梅 影业公司的合作伙伴，和他们一起共同形成了 Torrent Entertainment Network，主要提供电影，电视，电子游戏的购买和零售。</p>
<p>就像 Fanning一样， Cohen 明了要摆脱盗版并不像看上去的那么容易。&#8220;所有的和它有关的事都是灾难&#8221;，他说到。Torrent Entertainment Network 于2008年底关闭。回想起来，你能明白这为什么不行。 BitTorrent在用户友好上做得还不够，并且，在其底层也不够有效率。它可以很快地像病毒一样地移动大量的数据。然后，当你要在上面算钱的时候，你不得不把速度给降下来，然后跟踪并控制其下载流，还和使用一些很扯淡的诸如&#8220;数字版权管理（DRM）&#8221;之流的技术，其大量地限制了用户那些是可以干的，哪些是要买的。</p>
<p>&#8220;我从这次失败中学到了很多很多的教训&#8221;， Cohen 悔恨地说。他现在的策略是只和那些只需要他的BT中的&#8220;快速&#8221;和&#8220;病毒式分布&#8221;的人合作。&#8220;与其去和那些内容提供商合作，为他们加上特权，以扩展我们的渠道，我们还不如直接获取那更大的渠道，那里的人更喜欢更为开放的方式&#8221;。</p>
<p>迄今，对些感兴趣的独立电影制片商叫 Four Eyed Monsters （四眼怪兽）和 一个叫 Pioneer One （先驱者一号）的电视剧集的创作团队。说起来有点沮丧：Cohen正坐在一个消防水带上，一个程序员所梦想的成功的技术却失控了，而大的玩家又不想来玩。</p>
<p>以他的编码天份，Cohen可以很容易的进入一家大型的公司。但那并不是他的风格。&#8220;我的确需要一定的自由度&#8221;，他说。他现在正在开发一个全新的事情——一个P2P的实时数据流的系统，而不是分散的文件。这个项止将可能有巨大的潜力，尤其在新闻、体育等事的互联网上的现场直播。当然，他还在维护着 BitTorrent，但他没有花太多的时间在上面。他说：&#8220;当我开发它的时候我就知道没错&#8221;。</p>
<p>简单之道<br />
那么，在去年，盗版导致了什么？在美国，每个人都认为盗版对内容制造者的影响并没有那么坏。一份去年四月份美国审计署的报告，非常牵强地把盗版和滞销给联系在一起，但其结果尚无定论。</p>
<p>打击盗版在今天扁平化的世界上并不那么成功。无政府主义的世界观加上那些无与伦比的代码，不可能在那些合法的津津计较的商业界里传播。好的代码应该给用户有不同的选择，用户使用他们也并不一定是对行业有益的。而你真正需要的是向那些合法商业界挑战，挑战他们那些限制用户做用户想做的事的那种独裁性。（译注：这让我想到了腾讯360还有敏感词）</p>
<p>另外一个重要的原因是唱片业的灾难是不会发生的。Steve Jobs 在 2003年4月28日，那段时间是互联网文件共享井喷的时候，Apple揭开了iTunes Music Store的面纱。在那个时候，我们都觉得iTunes不可能成功，就像Snocap以及他和它类似的项目都以失败告终。这是因为，你怎么可以可能和免费竞争呢？</p>
<p>但是iTunes 确实成功了。Apple无情地强调着简单和有魅力的用户接口，以及有乔布斯对唱片业的那强有力的谈判，造就了一个最新型的专业的服务，其可以让你放心地下载并传输音乐。的确是做到了，尽管其是收费的，而且我们的购买需要和DRM（数字版权管理）扯上关系并限制我们。</p>
<p>于是，我们看到了可以和免费竞争的东西——简单（译注：个人以为可能还需要加上一点时尚）。Napster, Gnutella 和 BitTorrent 从来没有在用户友好度上到达像Apple那样的境界。从来没有人在网上检查并整理那些文件内容，所以，当那些众多的文件被共享时，我们可以看到，很多文件加杂时广告，色情，木马，病毒以及其它一些垃圾。当乔布斯为我们提供了那条简单之路，我们接受了。很明显，自由太过头——至少数字媒体是这样的。</p>
<p>这是一个让那些年轻的海盗王们认真学习的教训。就像 Fanning, Frankel 和 Cohen一样， 其实，Jon Lech Johansen 并不能算得上是一个真正的海盗。他没有因为想把好莱坞搞破产而去帮助破解DVD，他这样做是因为他想在他的电脑上看电影。他的电脑安装的是Linux操作系统，而1999年，在Linux上根本没有可以用来播放DVD的程序，所以，他和他的伙伴们决定自己写一个，所以，他们不得不先把DVD给解密了。</p>
<p>当美国电影协会（ Motion Picture Association of America）发现了DVD被破解的这个事，其向挪威政府控告 Johansen，并拘留了他。 他在奥斯陆(挪威的首都)受审两次，不过两次都被宣告无罪。因为他解密的DVD是他付费购买的。</p>
<p>但Johansen真正的明白消费者对其购买的数字媒体的权利，这就好像一本书一样——我们可以不断的使用这本书，或是把这本书借出去，这是我们的权利。2005年， Johansen 去了加利福尼亚，在那里，他逆向工程了 FairPlay，这是苹果公司的用来保护其多媒体文件的DRM类软件（译注：这是苹果公司用来加密iPod的工具）。之后，他注意到了苹果公司产品的用户体验是多么的迷人，所以，他在想，应该把这些东西带给全世界给那些更为无序的非苹果的产品。</p>
<p>我们看到这世上有很多很多的产品，但其并没有像他们那样良好地运作&#8221;，Johansen说，那时他26岁的程序员。&#8220;所以，我们应该开发一个系统，其可以让这些设备的整合起来并给消费者他一个相当不错的用户体验&#8221;。</p>
<p>所谓的 &#8220;我们&#8221;，就是 Johansen 自己的公司—— doubleTwist，这个公司于2007年创建。 doubleTwist 软件是免费的，是一种像罗塞塔石一样的为数字多媒体软件文件开发的软件——它是可以翻译，和谐并组织大约500种不同设备的文件，把他们放在一起并提供一个相当漂亮的接口。其6月份， doubleTwist 摧出 Android App，当时就有超过50万的用户下载了（译注：大家可以Google一下，好评如潮）。去年， doubleTwist 开始了他的政变打出了这样的广告：&#8220;The Cure for iPhone Envy. Your iTunes library on any device. In seconds.&#8221;（嫉妒iPhone的对策。你的iTunes库可以在任何设备上，只需几秒钟。）它这个条幅挂在了苹果在旧金山的旗舰店的外墙上。</p>
<p>Johansen 拒绝承认他和盗版有关系。&#8220;至于我被所指责的，真的和我没有什么关系&#8221;，他说。&#8220;我支持公平使用，意思是你的确是需要合法地获得内容，但你应该有权利使用任何一款设备或是应用程序来查看那些内容&#8221;。 Johansen 像所有的海盗王一样，他总是能写好的代码，而这些好的代码给了人民使用的权力。这才是盗版灾难不会发生的真正原因。盗版永远不希望所有的音乐和电影或是其它的东西成为免费的，他们想要的&#8220;free&#8221;其实是自由！</p>
<p>————————————正文结束————————————</p>
<p>最后一句话是点睛之笔，作者对这个世界的认识真是相当的透彻。所以，加粗了。我个人理解本文带给我如下的启示：</p>
<p>1.年轻就应该豁得出去，就应该有天不怕地不怕的想法，并付诸于行动。<br />
2.互联网上的盗版永远不会停止，与其说是盗版，其后面则是自由和无政府主义。<br />
3.自由过度并不是那些利益集团所希望的，并可能会让你惹上麻烦，不过这世界总是因此而改变。<br />
4.版权限制和免费并不是最好的，而最根本的是尊重用户的自由权以及不断地化繁为简以改善用户的体验。<br />
另，题外话，最近一段时间都在招人，有一天，一个同事和我说，&#8220;现在的这些程序员怎么回事啊？我问他们：&#8216;你心目中的最牛的程序员是谁？&#8217;，居然回答不出来，有人说是Bill Gates，还有人说是马云，气死我了&#8230;&#8230;&#8221;。我想想也真是可笑，难道，Dijkstra，Linus，Ken Thompson，Dennis Ritchie，Richard Steven，Bjarne Stroustrup&#8230;&#8230; 这些人不认识吗？就知道有钱人，哎，这个时代真是个文化缺失的年代！。</p>
<p>推荐几篇文章：Unix传奇(上篇)、Unix传奇(下篇)、计算机编程简史图、黑客的价值观。</p>
<p>其实细想一下，不单单是我国的计算机文化都是那些肤浅的大公司的文化，我们整个国家的公司，社会和人都是很肤浅的。</p>
<p>最后还是送给大家那句话——真正让我们成为局域网的不是那个墙，而是我们自己的肤浅</p>
<img src ="http://www.blogjava.net/dashi99/aggbug/341224.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/dashi99/" target="_blank">ゞ沉默是金ゞ</a> 2010-12-21 11:25 <a href="http://www.blogjava.net/dashi99/archive/2010/12/21/341224.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>踏实与成功</title><link>http://www.blogjava.net/dashi99/archive/2010/11/29/339309.html</link><dc:creator>ゞ沉默是金ゞ</dc:creator><author>ゞ沉默是金ゞ</author><pubDate>Mon, 29 Nov 2010 06:10:00 GMT</pubDate><guid>http://www.blogjava.net/dashi99/archive/2010/11/29/339309.html</guid><wfw:comment>http://www.blogjava.net/dashi99/comments/339309.html</wfw:comment><comments>http://www.blogjava.net/dashi99/archive/2010/11/29/339309.html#Feedback</comments><slash:comments>11</slash:comments><wfw:commentRss>http://www.blogjava.net/dashi99/comments/commentRss/339309.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/dashi99/services/trackbacks/339309.html</trackback:ping><description><![CDATA[<span style="font-family: 宋体; font-size: 10.5pt">当时公司招了大批应届本科和研究生毕业的新新人类。平均年龄</span><span style="font-family: Tahoma , sans-serif; font-size: 10.5pt">25</span><span style="font-family: 宋体; font-size: 10.5pt">岁。那个新的助理，是经过多次面试后，我亲自招回来的一个女孩。名牌大学本科毕业，聪明，性格活泼。私下里我得承认，我招她的一个很重要的原因，除了她在大学里优秀的表现之外，还因为她写了一手漂亮的字。女孩能写一手好字的不多，尤其像她，看起来长发飘飘，多么女性化的一个姑娘，一手字却写的铿锵倜傥，让我对她不由多了很多好感。</span><span style="font-family: Tahoma , sans-serif; font-size: 10.5pt"> &shy;</span><span style="font-family: 宋体; font-size: 10.5pt">　　</span><span style="font-family: Tahoma , sans-serif; font-size: 10.5pt"> &shy;<br />
</span><span style="font-family: 宋体; font-size: 10.5pt">　　手把手的教。从工作流程到待人接物。她也学的快。很多工作一教就上手。一上手就熟练。跟各位同事也相处的颇融洽。我开始慢慢的给她一些协调的工作，各部门之间以及各分公司之间的业务联系和沟通让她尝试着去处理。</span><span style="font-family: Tahoma , sans-serif; font-size: 10.5pt"> &shy;<br />
</span><span style="font-family: 宋体; font-size: 10.5pt">　　</span><span style="font-family: Tahoma , sans-serif; font-size: 10.5pt"> &shy;<br />
</span><span style="font-family: 宋体; font-size: 10.5pt">　　开始经常出错。她很紧张，来找我谈。我告诉她：错了没关系，你且放心按照你的想法去做。遇到问题了，来问我，我会告诉你该怎么办。仍然错。又来找我，这次谈的比较深入，她的困惑是，为什么总是让她做这些琐碎的事情？我当时问她：什么叫做不琐碎的工作呢？</span><span style="font-family: Tahoma , sans-serif; font-size: 10.5pt"> &shy;<br />
</span><span style="font-family: 宋体; font-size: 10.5pt">　　她答不上来，想了半天，跟我说：我总觉得，我的能力不仅仅能做这些，我还能做一些更加重要的事情。那次谈话，进行了</span><span style="font-family: Tahoma , sans-serif; font-size: 10.5pt">1</span><span style="font-family: 宋体; font-size: 10.5pt">小时。我知道，我说的话，她没听进去多少。后来我说，先把手头的工作做好，先避免常识性错误的发生。然后循序渐进罢。</span><span style="font-family: Tahoma , sans-serif; font-size: 10.5pt"> &shy;<br />
</span><span style="font-family: 宋体; font-size: 10.5pt">　　</span><span style="font-family: Tahoma , sans-serif; font-size: 10.5pt"> &shy;<br />
</span><span style="font-family: 宋体; font-size: 10.5pt">　　半年以后，她来找我，第一次提出辞职。我推掉了约会，跟她谈辞职的问题。问起辞职的原因，她跟我直言：本科四年，功课优秀，没想到毕业后找到了工作，却每天处理的都是些琐碎的事情。没有成就感。我又问她：你觉得，在你现在所有的工作中，最没有意义的最浪费你的时间精力的工作，是什么？她马上答我：帮您贴发票，然后报销，然后到财务去走流程，然后把现金拿回来给您。</span><span style="font-family: Tahoma , sans-serif; font-size: 10.5pt"> &shy;<br />
</span><span style="font-family: 宋体; font-size: 10.5pt">　　</span><span style="font-family: Tahoma , sans-serif; font-size: 10.5pt"> &shy;<br />
</span><span style="font-family: 宋体; font-size: 10.5pt">　　我笑着问她：你帮我贴发票报销有半年了吧？通过这件事儿，你总结出了一些什么信息？</span><span style="font-family: Tahoma , sans-serif; font-size: 10.5pt"> &shy;<br />
</span><span style="font-family: 宋体; font-size: 10.5pt">　　</span><span style="font-family: Tahoma , sans-serif; font-size: 10.5pt"> &shy;<br />
</span><span style="font-family: 宋体; font-size: 10.5pt">　　她呆了半天，答我：贴发票就是贴发票，只要财务上不出错，不就行了呗，能有什么信息？</span><span style="font-family: Tahoma , sans-serif; font-size: 10.5pt"> &shy;<br />
</span><span style="font-family: 宋体; font-size: 10.5pt">　　</span><span style="font-family: Tahoma , sans-serif; font-size: 10.5pt"> &shy;<br />
</span><span style="font-family: 宋体; font-size: 10.5pt">　　我说，我来跟你讲讲，当年我的做法吧：９８年的时候，我从财务被调到了总经理办公室，担任总经理助理的工作。其中有一项工作，就是跟你现在做的一样，帮总经理报销他所有的票据。本来这个工作就像你你刚才说的，把票据贴好，然后完成财务上的流程，就可以了。</span><span style="font-family: Tahoma , sans-serif; font-size: 10.5pt"> &shy;<br />
</span><span style="font-family: 宋体; font-size: 10.5pt">　　其实票据是一种数据记录，它记录了和总经理乃至整个公司营运有关的费用情况。看起来没有意义的一堆数据，其实它们涉及到了公司各方面的经营和运作。于是<span style="color: rgb(255,0,102)">我建立了一个表格，将所有总经理在我这里报销的数据按照时间，数额，消费场所，联系人，电话等等记录下来。</span></span><span style="font-family: Tahoma , sans-serif; font-size: 10.5pt"> &shy;<br />
</span><span style="font-family: 宋体; font-size: 10.5pt">　　我起初建立这个表格的目的很简单，我是想在财务上有据可循，同时万一我的上司有情况来询问我的时候，我会有准确的数据告诉他。通过这样的一份数据统计，渐渐的我发现了一些上级在商务活动中的规律，比如，<span style="color: rgb(255,0,102)">哪一类的商务活动，经常在什么样的场合，费用预算大概是多少；总经理的公共关系常规和非常规的处理方式。</span>等等等等。</span><span style="font-family: Tahoma , sans-serif; font-size: 10.5pt"> &shy;<br />
</span><span style="font-family: 宋体; font-size: 10.5pt">　　当我的上级发现，他布置工作给我的时候，我会处理的很妥贴。有一些信息是他根本没有告诉我的，我也能及时准确的处理。他问我为什么，我告诉了他我的工作方法和信息来源。</span><span style="font-family: Tahoma , sans-serif; font-size: 10.5pt"> &shy;<br />
</span><span style="font-family: 宋体; font-size: 10.5pt">　　　　渐渐的，他基于这种良性积累，越来越多的交待更加重要的工作。再渐渐的，一种信任和默契就此产生，我升职的时候，他说我是他用过的最好用的助理。</span><span style="font-family: Tahoma , sans-serif; font-size: 10.5pt"> &shy;<br />
</span><span style="font-family: 宋体; font-size: 10.5pt">　　</span><span style="font-family: Tahoma , sans-serif; font-size: 10.5pt"> &shy;<br />
</span><span style="font-family: 宋体; font-size: 10.5pt">　　说完这些长篇大论，我看着这个姑娘，她愣愣的看着我。我跟她直言：我觉得你最大的问题，是你没有用心。在看似简单不动脑子就能完成的工作里，你没有把你的心沉下去，所以，半年了，你觉得自己没有进步。她不出声。但是收回了辞职报告。</span><span style="font-family: Tahoma , sans-serif; font-size: 10.5pt"> &shy;<br />
</span><span style="font-family: 宋体; font-size: 10.5pt">　　</span><span style="font-family: Tahoma , sans-serif; font-size: 10.5pt"> &shy;<br />
</span><span style="font-family: 宋体; font-size: 10.5pt">　　又坚持了３个月，她还是辞职了。这次我没有留她。让她走了。</span><span style="font-family: Tahoma , sans-serif; font-size: 10.5pt"> &shy;<br />
</span><span style="font-family: 宋体; font-size: 10.5pt">　　后来她经常在ＭＳＮ上跟我聊天。告诉我她的新工作的情况。一年内，她换了三份工作。每一次都坚持不了多久。每一次她都说新的工作不是她想要的工作。０５年的时候，她又一次辞职了。很苦恼，跑来找我，要跟我吃饭。我请她去写字楼后面的商场吃日本料理。吃到中途，忽然跟我说：我有些明白你以前说的话是什么意思了。</span><span style="font-family: Tahoma , sans-serif; font-size: 10.5pt"> &shy;<br />
</span><span style="font-family: 宋体; font-size: 10.5pt">　　</span><span style="font-family: Tahoma , sans-serif; font-size: 10.5pt"> &shy;<br />
</span><span style="font-family: 宋体; font-size: 10.5pt">　　所谓的职业生涯，其实你很难预测到你将来真正要从事什么工作，将来所要从事的工作，是否跟你在大学里学的专业有关。大多数人，很有可能将来所作的工作，跟他当初所学的专业一点关系都没有。<span style="text-decoration: underline"><span style="color: rgb(255,0,153)">从</span></span></span><span style="text-decoration: underline"><span style="font-family: Tahoma , sans-serif; color: rgb(255,0,153); font-size: 10.5pt">22</span><span style="font-family: 宋体; color: rgb(255,0,153); font-size: 10.5pt">岁大学毕业在</span><span style="font-family: Tahoma , sans-serif; color: rgb(255,0,153); font-size: 10.5pt">26</span><span style="font-family: 宋体; color: rgb(255,0,153); font-size: 10.5pt">岁之间这四年，重要的不是你做了什么，重要的是你在工作中养成了怎么样的良好的工作习惯。</span></span><span style="font-family: 宋体; font-size: 10.5pt">这个良好的工作习惯，指的是：认真，踏实的工作作风，以及是否学会了如何用最快的时间接受新的事物，发现新事物的内在规律，比别人更短时间内掌握这些规律并且处理好它们。具备了以上的要素，你就成长为一个被人信任的工作的人。</span><span style="font-family: Tahoma , sans-serif; font-size: 10.5pt"> &shy;<br />
</span><span style="font-family: 宋体; font-size: 10.5pt">　　</span><span style="font-family: Tahoma , sans-serif; font-size: 10.5pt"> &shy;<br />
</span><span style="font-family: 宋体; font-size: 10.5pt">　　<span style="color: rgb(255,0,153)">人都有惰性，也都愿意用那些用起来顺手的人。</span>当你具备了被人信任的基础，并且在日常的工作中逐渐表现出你的踏实，聪明，和细致的时候，越来越多的工作机会就会提供到你面前。原因很简单，<span style="color: rgb(255,0,153)">用一句话就能交代清楚并且能被你顺利完成的工作，谁愿意说三句话甚至半小时交待一个怎么都不明白的人呢？沟通也是一种成本，沟通的时间越少，内耗越少</span>，这是作为管理者最清楚的一件事。</span><span style="font-family: Tahoma , sans-serif; font-size: 10.5pt"> &shy;<br />
</span><span style="font-family: 宋体; font-size: 10.5pt">　　</span><span style="font-family: Tahoma , sans-serif; font-size: 10.5pt"> &shy;<br />
</span><span style="font-family: 宋体; font-size: 10.5pt">　　当你有比别人更多的工作机会去接触那些你没有接触过的工作的时候，你就有了比别人多的学习机会，人人都喜欢聪明勤奋的学生，作为管理者，大概更是如此。</span><span style="font-family: Tahoma , sans-serif; font-size: 10.5pt"> &shy;<br />
</span><span style="font-family: 宋体; font-size: 10.5pt">　　</span><span style="font-family: Tahoma , sans-serif; font-size: 10.5pt"> &shy;<br />
</span><span style="font-family: 宋体; font-size: 10.5pt">　　一个新手，大多数新手，在这四年里，是看不出太大的差距的。但是这四年的经历，为以后的职业生涯的发展奠定的基础，是至关重要的。很多人不在乎年轻时走弯路，很多人觉得日常的工作人人都能做好没什么了不起。然而就是这些简单的工作，循序渐进的、隐约的，成为今后发展的分水岭。</span><span style="font-family: Tahoma , sans-serif; font-size: 10.5pt"> &shy;<br />
</span><span style="font-family: 宋体; font-size: 10.5pt">　　</span><span style="font-family: Tahoma , sans-serif; font-size: 10.5pt"> &shy;<br />
</span><span style="font-family: 宋体; font-size: 10.5pt">　　漫不经心的对待基层工作的最大的损失，就是将看似简单的事物性处理方式，分界成为长远发展的能力问题。</span><span style="font-family: Tahoma , sans-serif; font-size: 10.5pt"> &shy;<br />
</span><span style="font-family: 宋体; font-size: 10.5pt">　　</span><span style="font-family: Tahoma , sans-serif; font-size: 10.5pt"> &shy;<br />
</span><span style="font-family: 宋体; font-size: 10.5pt">　　聪明的人，总是不认为自己的能力有问题。时间长了，他会抱怨自己运气不好，抱怨那些看起来资质普通的人，总能比自己更能走狗屎运。抱怨她容貌比自己好，或者他更会讨领导欢心。等等等等。慢慢的，影响心态。所谓的怀才不遇，有时是这种情况。</span><span style="font-family: Tahoma , sans-serif; font-size: 10.5pt"> &shy;<br />
</span><span style="font-family: 宋体; font-size: 10.5pt">　　</span><span style="font-family: Tahoma , sans-serif; font-size: 10.5pt"> &shy;<br />
</span><span style="font-family: 宋体; font-size: 10.5pt">　　工作需要一个聪明人，工作其实更需要一个踏实的人。在聪明和踏实之间，我更愿意选择后者。</span><span style="font-family: Tahoma , sans-serif; font-size: 10.5pt"> &shy;<br />
</span><span style="font-family: 宋体; font-size: 10.5pt">　　</span><span style="font-family: Tahoma , sans-serif; font-size: 10.5pt"> &shy;<br />
</span><span style="font-family: 宋体; font-size: 10.5pt">　　而踏实，是人人都能做到的。和先天条件没有太大关系。</span>
<img src ="http://www.blogjava.net/dashi99/aggbug/339309.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/dashi99/" target="_blank">ゞ沉默是金ゞ</a> 2010-11-29 14:10 <a href="http://www.blogjava.net/dashi99/archive/2010/11/29/339309.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title> 在敏捷中引进新技术</title><link>http://www.blogjava.net/dashi99/archive/2010/11/16/338147.html</link><dc:creator>ゞ沉默是金ゞ</dc:creator><author>ゞ沉默是金ゞ</author><pubDate>Tue, 16 Nov 2010 01:06:00 GMT</pubDate><guid>http://www.blogjava.net/dashi99/archive/2010/11/16/338147.html</guid><wfw:comment>http://www.blogjava.net/dashi99/comments/338147.html</wfw:comment><comments>http://www.blogjava.net/dashi99/archive/2010/11/16/338147.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/dashi99/comments/commentRss/338147.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/dashi99/services/trackbacks/338147.html</trackback:ping><description><![CDATA[<span style="line-height: 16px; font-family: Lucida, 'Lucida Grande', Arial, 宋体, sans-serif" class="Apple-style-span">&nbsp;
<div><span style="line-height: 16px" class="Apple-style-span">作者&nbsp;<strong style="padding-bottom: 0px; padding-left: 2px; padding-right: 2px; color: rgb(28,73,123); padding-top: 0px"><a style="padding-bottom: 0px; padding-left: 2px; padding-right: 2px; color: rgb(28,73,123) !important; text-decoration: none; padding-top: 0px" class="editorlink" href="http://www.infoq.com/cn/author/Paritosh-Ranjan" target="_blank">Paritosh Ranjan</a>&nbsp;</strong>译者<strong style="padding-bottom: 0px; padding-left: 2px; padding-right: 2px; color: rgb(28,73,123); padding-top: 0px"><a style="padding-bottom: 0px; padding-left: 2px; padding-right: 2px; color: rgb(28,73,123) !important; text-decoration: none; padding-top: 0px" class="editorlink" href="http://www.infoq.com/cn/author/%E8%83%A1%E9%94%AE" target="_blank">&nbsp;胡键</a></strong></span></div>
</span>
<div><span style="line-height: 16px; font-family: Lucida, 'Lucida Grande', Arial, 宋体, sans-serif" class="Apple-style-span"><br />
</span></div>
<div><span style="line-height: 16px; font-family: Lucida, 'Lucida Grande', Arial, 宋体, sans-serif" class="Apple-style-span"><span style="font-size: 13px" class="Apple-style-span">敏捷项目通常持续的周期都很短。因此，在如此短的时间段里引入新技术总是充满风险的。假若你准备引入任何新技术，并且最终完全失败，那么搭建基础设施所花的时间和成本，加上冲刺的失败，将会把你打倒。</span></span></div>
<div><span style="line-height: 16px; font-family: Lucida, 'Lucida Grande', Arial, 宋体, sans-serif" class="Apple-style-span"><span style="font-size: 13px" class="Apple-style-span"><br />
</span></span></div>
<div><span style="line-height: 16px; font-family: Lucida, 'Lucida Grande', Arial, 宋体, sans-serif" class="Apple-style-span"><span style="font-size: 13px" class="Apple-style-span"><span style="line-height: 16px" class="Apple-style-span">
<h2 style="background-image: none; padding-bottom: 4px; margin: 0px; padding-left: 0px; padding-right: 160px; font: bold 1em arial; letter-spacing: -1px; color: rgb(0,0,0); padding-top: 4px; background-origin: initial; background-clip: initial">适宜性</h2>
<p>在给应用选择技术时，有一件重要的事情得记住：要看这项技术本身是否适合这个应用，而不是去考虑它在市面上的流行程度。在制定决策时，技术针对所需解决方案的适宜性应该要比市场趋势得到的关注程度要多得多。</p>
<p>我们曾经有一个项目，它需要非结构化的文本分析；UIMA似乎是理想之选。但UIMA使用的是外部序列化，而不是一个序列化接口（那会让它的对象变得臃肿），这就需要在序列化数据方面做大量的工作。结果，这个功能是自行开发的，没有使用UIMA。</p>
<p>知道如何不选择某种技术也非常重要。期望得到某种技术仅仅是因为它的流行程度、易于使用或价格，那你可能无法得到最佳的技术选型。</p>
<p><span style="line-height: 16px" class="Apple-style-span">
<p><a style="color: rgb(11,89,178); text-decoration: underline" href="http://techessence.info/node/72" target="_blank">Ellyssa Kroski谈到了选择/不选择某种技术的五个原因</a>。</p>
<blockquote style="background-image: url(http://cdn3.infoq.com/styles/cn/i/bg-blockquote.gif); border-bottom: rgb(239,239,239) 2px solid; border-left: rgb(239,239,239) 2px solid; padding-bottom: 5px; background-color: rgb(250,250,250); padding-left: 5px; padding-right: 5px; background-position: 5px 5px; color: rgb(51,51,51); margin-left: 20px; border-top: rgb(239,239,239) 2px solid; margin-right: 0px; border-right: rgb(239,239,239) 2px solid; padding-top: 5px; background-origin: initial; background-clip: initial">
<p>&#8220;团队会倾向于他们觉得用起来顺手的技术，因为每个团队已经建立起了一系列的技能。首要的关注点应该是特性和功能，而非技能集。一定要跟你的技术专家合作，好让他们理解他们要扩充他们的技能集，而且得到他们需要的培训。</p>
<p>你的老板会从杂志上读到它，在培训时听到它，在梦里梦到它。如何告诉你的老板其他选择，而又不致于显得是在贬损他们的发现？这得把握住分寸，小心翼翼地试探。通过把手头做的调研工作扩展至其他选项，自愿地让他更全面的掌握信息 - 当然，应他的请求！</p>
<p>你的朋友告诉你&#8220;它是重大创新！&#8221;。接受熟人生动地转述来自客观源头的原始数据是我们的天性。但要是选择技术解决方案也如此的话，这种道听途说的证据并不能给我们提供一个对于该软件、其特性、功能或公司可行性的全面评审。</p>
<p>它是昂贵的，是便宜的，还是不要钱的。很容易假设，因为产品最贵，所以它就一定比它的竞争对手要好。类似的，我们大多数有预算压力的人总是斤斤计较。评估某项技术解决方案时有非常多的因素要考虑，不要孤立的把价格作为衡量价值的指标。&#8221;</p>
</blockquote>
<h2 style="background-image: none; padding-bottom: 4px; margin: 0px; padding-left: 0px; padding-right: 160px; font: bold 1em arial; letter-spacing: -1px; color: rgb(0,0,0); padding-top: 4px; background-origin: initial; background-clip: initial">能力</h2>
<p>另一件重要的事情是团队掌控被引入的新技术的能力。要是你发现有人在一个问题上纠缠了好几天，大可不必感到惊讶。</p>
<p>在引入新事物时，这是司空见惯的情形。因此，在使用新技术时进行结对是必要的。对于某些问题，所需的脑力超出了单个开发者的水平，因此，结对肯定能对此有所促进。</p>
<p>在敏捷里，团队规模相当小，因此，假若某人一直在从事新技术，那么团队就会对他产生依赖。在结对编程时，关于新技术的知识随之分散到了整个团队里，团队就有了一个平衡的&#8220;车号&#8221;（Truck Number，译注：车号是评估软件项目长期存活力的非正式度量，它指的是对于项目成败非常关键的开发者个数，该数值越低越好。更多的描述请参见<a style="color: rgb(11,89,178); text-decoration: underline" href="http://everything2.com/title/truck+number" target="_blank">这里</a>）。</p>
<p>在新技术上结对编程的一个附加好处是团队的学习。</p>
<p>个人学习是必须的。要想变得高效，程序员必须用最新的技术武装和增强自己。这不仅对项目有益，而且可以满足程序员对于知识的渴求。学习将让他们对自己的工作满意，进而增加个人和团队的生产力。</p>
<p><a style="color: rgb(11,89,178); text-decoration: underline" href="http://eu.conecta.it/paper/Advantages_open_source_soft.html" target="_blank">Andrew谈到了学习对于工作的重要性</a>。</p>
<blockquote style="background-image: url(http://cdn3.infoq.com/styles/cn/i/bg-blockquote.gif); border-bottom: rgb(239,239,239) 2px solid; border-left: rgb(239,239,239) 2px solid; padding-bottom: 5px; background-color: rgb(250,250,250); padding-left: 5px; padding-right: 5px; background-position: 5px 5px; color: rgb(51,51,51); margin-left: 20px; border-top: rgb(239,239,239) 2px solid; margin-right: 0px; border-right: rgb(239,239,239) 2px solid; padding-top: 5px; background-origin: initial; background-clip: initial">&#8220;为了找到正确的平衡，所有工程师都了解他们整个冲刺过程中在做的事情很重要。假如出现一个症状，如你发现有个工程师在角落里埋头苦干了几个小时，一两个Scrum中他们都说只剩下一两个钟头就可以搞定了，然而时间流逝了，却还是一事无成，那么你就清楚你遇到麻烦了。
<p>有时，这可以通过结对解决，但它还可能是团队准备工作做得不充分的迹象。&#8221;</p>
</blockquote>
<h2 style="background-image: none; padding-bottom: 4px; margin: 0px; padding-left: 0px; padding-right: 160px; font: bold 1em arial; letter-spacing: -1px; color: rgb(0,0,0); padding-top: 4px; background-origin: initial; background-clip: initial">稳定性、支持和文档</h2>
<p>另一件需要注意的事情是该技术可以得到支持和文档。我曾经遇到过有些API完全没有或者只有寥寥几个甚至是错误的文档，搞清楚它们非常难。要是你是该技术的早期采用者之一，那么情形会变得更糟，因为很少有支持可以以博客/文章/论坛的形式找到。然而，某些没有非常完善文档的工具几乎没法用，除非你愿意花大量的时间对其进行彻底的探索。</p>
<p>我曾试着在一个项目中使用Apache Batik，关于它的文档和支持并没有太多。我经常会遇到问题，在互联网上找不到关于这项技术使用的太多资料。相反，JavaFX也解决同一问题，但它有很好的文档和支持。</p>
<p>有一个项目需要一种用户界面，它既可以作为桌面应用运行，也可以在Web浏览器里运行。我们选择了可伸缩向量图（利用Apache Batik）来解决这一问题。</p>
<p>使用Apache Batik的时间很快就因为遇到的问题而到头了。但是，Apache Batik曾经在团队里讨论过、探索过，然后甚至在作为解决方案搭建基础设施之前就被抛弃了。接着开始去寻找其他技术，JavaFX脱颖而出。JavaFX看起来前途远大，易于使用而且是新兴技术。在一个冲刺内，它的基础设施被建立起来，其中创建了一个简陋的UI，之后进一步的开发就采用了 JavaFX。</p>
<p>新技术与项目里已经实现的技术之间的兼容性也非常重要。就像前面提到的项目，有些Swing组件已经开发了出来，JavaFX提供了一个特性可以嵌入Swing组件，这使得那些Swing组件得到了重用，避免了返工。</p>
<p>对于特殊技术的支持也相当重要，因为你可能会碰壁，需要找到条出路。开源产品在此会得到加分，即便你没有任何关于这个技术的支持，你还可以看看代码，然后修改它。要是它是闭源的，如果无法得到对于这项技术的充足支持，你就可能会发现自己在某个地方被卡住了。对于开源技术，如果你本身没有能力去完成，还可以找到公司为你修改和定制产品。</p>
<p>很多流行的开源解决项目都有绝佳的文档以及一大票免费和商业的支持选择可以找到。由于社区发展的天性，文档和说明往往从不同角度来阐述——造就了非常全面的信息、说明和教程。此外，开源项目无法隐藏使用信息，这得归因于免费可以获得的代码。免费的技术支持也可以以邮件列表或新闻讨论组的形式得到。然而，某种形式的背景研究、知识或经验常常是需要的。</p>
<p><a style="color: rgb(11,89,178); text-decoration: underline" href="http://eu.conecta.it/paper/Advantages_open_source_soft.html" target="_blank">Jesus M. Gonzalez-Barahona谈到了利用开源技术的优势</a>。</p>
<blockquote style="background-image: url(http://cdn3.infoq.com/styles/cn/i/bg-blockquote.gif); border-bottom: rgb(239,239,239) 2px solid; border-left: rgb(239,239,239) 2px solid; padding-bottom: 5px; background-color: rgb(250,250,250); padding-left: 5px; padding-right: 5px; background-position: 5px 5px; color: rgb(51,51,51); margin-left: 20px; border-top: rgb(239,239,239) 2px solid; margin-right: 0px; border-right: rgb(239,239,239) 2px solid; padding-top: 5px; background-origin: initial; background-clip: initial">"可以获得源代码和有权进行修改是非常重要的。它促进了软件产品的无限优化和改进。
<p>有权以任何形式使用软件。这进而帮助我们搭建起一个软件支持和定制的市场，可以吸引越来越多的开发者参与项目。</p>
<p>软件的未来不会依赖于某个实体。如果某个最初创建该代码的组织或公司打算停止开发，总是有可能找到另一家软件组织继续维护和改进，没有任何法律条文的限制。</p>
<p>修改软件不需要按拷贝付费。尝试新技术的人们可以立即的集成和采用它们，没有商业门槛或保密协议许可。"</p>
</blockquote>
<p>算算从它出现在市面上和预计生命长度之间的时间间距。使用一项马上就要过时的技术毫无意义。如今，技术都以闪电般的速度发展，因此，总是看看技术的竞争者，你可能会得到些惊喜。</p>
<h2 style="background-image: none; padding-bottom: 4px; margin: 0px; padding-left: 0px; padding-right: 160px; font: bold 1em arial; letter-spacing: -1px; color: rgb(0,0,0); padding-top: 4px; background-origin: initial; background-clip: initial">迭代引入技术</h2>
<p>要想引入新技术/框架，一次一小步是个好习惯。一种好的做法就是探索该项技术一点，然后就分析它是否适合作为解决方案。然后尝试使用这个新技术/框架解决最简单的业务问题。不要一开始就全面依赖它，只让项目的一小部分使用这项技术然后再观察它的效果。</p>
<p>这有助于熟悉这个技术/框架的语法和其他特性。这种方式的另一个巨大优势在于你无需花时间单独的搭建使用所有新事物的基础设施。</p>
<p>我有一个项目选择Drools 5来作为解决某个问题的方案。但是，关于Drools 5的应用能力和特性还不知道。除此之外，Drools 5对团队成员来说还是新事物。因此，有一个冲刺专门来使用Drools 5。一个被设想出来的简单问题在Drools的帮助下得到了解决。这肯定了Drools将作为本次冲刺的基础设施被搭建。而且，团队成员也有时间去了解它。</p>
<p>使用Drools解决简单问题使得有机会亲手实验，这增强了对于技术的信心。</p>
<p>作为一个Java项目，对Drools 5的依赖被加到了POM中。Spring Bean被定义出来创建会话，简单的drl文件也被书写了出来。每个drl文件都有一个Drools特定的规则书写语法。使用Session Bean把对象传给代码，代码在这些对象上执行规则。这个冲刺之后，Drools的基础设施就位了，团队了解了它的语法和其他技术。更重要的是，有了一个 使用Drools 5的解决方案。因此，对于技术的信心增强了。</p>
<p><a style="color: rgb(11,89,178); text-decoration: underline" href="http://enterprisearchitect.typepad.com/ea/2006/03/an_anonymous_co.html" target="_blank">Robert McIlree谈到了迭代引入技术</a>：</p>
<blockquote style="background-image: url(http://cdn3.infoq.com/styles/cn/i/bg-blockquote.gif); border-bottom: rgb(239,239,239) 2px solid; border-left: rgb(239,239,239) 2px solid; padding-bottom: 5px; background-color: rgb(250,250,250); padding-left: 5px; padding-right: 5px; background-position: 5px 5px; color: rgb(51,51,51); margin-left: 20px; border-top: rgb(239,239,239) 2px solid; margin-right: 0px; border-right: rgb(239,239,239) 2px solid; padding-top: 5px; background-origin: initial; background-clip: initial">&#8220;随着时间的推移，通过足够的成功递增引入一项新技术，对于技术来讲，可以获得切入组织其余部分的牵引力。万一引入因为其他什么原因失败了，组织整体的风险和成本很低。&#8221;</blockquote>
<p>在这个阶段，解决方案要实现的问题不应该非常重要。其主要目标是搭建新技术的基础设施。一旦项目基础设施创建完成，并且看起来让人赏心悦目，足以继续下去，这样，实现它的风险就会小一些。</p>
<h2 style="background-image: none; padding-bottom: 4px; margin: 0px; padding-left: 0px; padding-right: 160px; font: bold 1em arial; letter-spacing: -1px; color: rgb(0,0,0); padding-top: 4px; background-origin: initial; background-clip: initial">性能</h2>
<p>一旦应用采纳/接受新技术，那么预期结果和它的功能接受标准就都要完成。然而，在你开始深入更复杂的例子且技术成为应用的一部分之前，功能的卓越程度不是你唯一要考虑的东西。性能相关的问题可能会开始让你烦心。</p>
<p>如果从一开始接触新技术你没有关注其性能，那么它很有可能成为当下的负担，最终丧失采用新技术时投入的所有努力。因此，在引入技术时就得严肃地对待性能问题。如果技术可能会成为瓶颈，那么就把它找出来，尽早丢弃它。</p>
<h2 style="background-image: none; padding-bottom: 4px; margin: 0px; padding-left: 0px; padding-right: 160px; font: bold 1em arial; letter-spacing: -1px; color: rgb(0,0,0); padding-top: 4px; background-origin: initial; background-clip: initial">风险承受能力</h2>
<p>团队在项目当前状态下的风险承受能力是决定引入新技术与否的另一个考虑因素。如果项目不那么稳定，团队甚至还在陷于当前的实现技术和其他问题，那么再增加需要用新技术完成的新任务就不理智了。在这种情况下引入新技术会使团队遭受重创。他们将在错误的时间处理掌握新技术的额外任务。然而，如果团队表现 良好，产品也很稳定，那么大可大干一番。</p>
<p><a style="color: rgb(11,89,178); text-decoration: underline" href="http://www.davenicolette.net/articles/selling-agile.html" target="_blank">Dave Nicolette撰写了关于管理和计算风险的因素</a>。</p>
<blockquote style="background-image: url(http://cdn3.infoq.com/styles/cn/i/bg-blockquote.gif); border-bottom: rgb(239,239,239) 2px solid; border-left: rgb(239,239,239) 2px solid; padding-bottom: 5px; background-color: rgb(250,250,250); padding-left: 5px; padding-right: 5px; background-position: 5px 5px; color: rgb(51,51,51); margin-left: 20px; border-top: rgb(239,239,239) 2px solid; margin-right: 0px; border-right: rgb(239,239,239) 2px solid; padding-top: 5px; background-origin: initial; background-clip: initial">&#8220;如果提议的解决方案涉及到IT组织支持的标准技术基础设施中还没有建立起来的技术或产品，高可觉察风险和低实际风险就会出现。看看是否有机会引入没有技术实现难度，但你的公司之前没有使用过的新技术。.
<p>这将推动传统项目的估算增高，而又不增加项目的实际难度。&#8220;</p>
</blockquote>
<h2 style="background-image: none; padding-bottom: 4px; margin: 0px; padding-left: 0px; padding-right: 160px; font: bold 1em arial; letter-spacing: -1px; color: rgb(0,0,0); padding-top: 4px; background-origin: initial; background-clip: initial">信任</h2>
<p>最后，在已经接受技术之后，你所需要做的全部事情就是&#8220;信任&#8221;它。它是一种个人现象。然而，你对所接受技术的信任程度将导致你跟它相处的难易程度。就像Bahmanziari说的，它完全因人而异，<a style="color: rgb(11,89,178); text-decoration: underline" href="http://www.allbusiness.com/technology/computer-software-management/946845-1.html" target="_blank">Tammy在计算机信息系统刊物上撰写的文章谈到了信任</a>。</p>
<blockquote style="background-image: url(http://cdn3.infoq.com/styles/cn/i/bg-blockquote.gif); border-bottom: rgb(239,239,239) 2px solid; border-left: rgb(239,239,239) 2px solid; padding-bottom: 5px; background-color: rgb(250,250,250); padding-left: 5px; padding-right: 5px; background-position: 5px 5px; color: rgb(51,51,51); margin-left: 20px; border-top: rgb(239,239,239) 2px solid; margin-right: 0px; border-right: rgb(239,239,239) 2px solid; padding-top: 5px; background-origin: initial; background-clip: initial">&#8220;个人采纳者的性格在对信任不熟悉事物的习性上扮演了重要角色。这种性格特征通常被称为信任度。某些人在毫无任何理由这样做的时候表现出高度信任，而另一些人则在有理由给予高度信任的时候表现出信任程度很低。&#8221;</blockquote>
<p>技术采纳者必须完成前文提到的分析以形成对技术的理解。利用分析中收集到的信息，可以加强对技术的信任。你需要信任，因为技术还没有被尝试和测试。假使它们被尝试和测试过了，那就没有信任的必要了，因为你已经对它了如指掌。</p>
<p><a style="color: rgb(11,89,178); text-decoration: underline" href="http://www.allbusiness.com/technology/computer-software-management/946845-1.html" target="_blank">计算机信息系统刊物也谈到了信任在技术采纳过程中的重要性</a>。</p>
<blockquote style="background-image: url(http://cdn3.infoq.com/styles/cn/i/bg-blockquote.gif); border-bottom: rgb(239,239,239) 2px solid; border-left: rgb(239,239,239) 2px solid; padding-bottom: 5px; background-color: rgb(250,250,250); padding-left: 5px; padding-right: 5px; background-position: 5px 5px; color: rgb(51,51,51); margin-left: 20px; border-top: rgb(239,239,239) 2px solid; margin-right: 0px; border-right: rgb(239,239,239) 2px solid; padding-top: 5px; background-origin: initial; background-clip: initial">&#8220;绝大多数信任理论者可能都同意，尽管没有人可以给信任下个定论，它在所有情形下都是有用的，但是不确定性和某种程度的漏 洞必需因为信任而存在。毕竟，对完全确定的事物而言，信任是不必要的。正是由于这种不确定性的存在，造就了漏洞。技术采纳者在不确定的环境中穿行；因此，他们的评估必然包括对于该技术以及其提供者的个人看法和不完全知识。"</blockquote>
<h2 style="background-image: none; padding-bottom: 4px; margin: 0px; padding-left: 0px; padding-right: 160px; font: bold 1em arial; letter-spacing: -1px; color: rgb(0,0,0); padding-top: 4px; background-origin: initial; background-clip: initial">总结</h2>
<p>引入的技术应该能够解决业务问题。它的流行程度不应该作为选择的基础。技术的早期采纳不应该在项目处于逆境的时候进行。开发者不应该惧怕学习曲线，因为它将增强他们的知识。技术应该迭代引入。每个迭代取得的成功/失败应该决定下一个迭代的步骤。结对编程应该在新技术上实行，好让知识在团队内传递。在完全接受它之前需对它留心。一旦信任技术之后，你将化蛹成蝶。</p>
<p><br />
</p>
</span></span></span></span></div><img src ="http://www.blogjava.net/dashi99/aggbug/338147.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/dashi99/" target="_blank">ゞ沉默是金ゞ</a> 2010-11-16 09:06 <a href="http://www.blogjava.net/dashi99/archive/2010/11/16/338147.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>移动市场进入“后喻时代”</title><link>http://www.blogjava.net/dashi99/archive/2010/05/15/321056.html</link><dc:creator>ゞ沉默是金ゞ</dc:creator><author>ゞ沉默是金ゞ</author><pubDate>Sat, 15 May 2010 13:40:00 GMT</pubDate><guid>http://www.blogjava.net/dashi99/archive/2010/05/15/321056.html</guid><wfw:comment>http://www.blogjava.net/dashi99/comments/321056.html</wfw:comment><comments>http://www.blogjava.net/dashi99/archive/2010/05/15/321056.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/dashi99/comments/commentRss/321056.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/dashi99/services/trackbacks/321056.html</trackback:ping><description><![CDATA[<span style="font-size: medium">
<p><font size="4">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 《人民邮电报》2010年4月20日 （5－6版）</font></p>
<p><font size="4">&nbsp;&nbsp;&nbsp; 根据生产力发展水平和贫富程度，世界上的国家被分为发达国家和发展中国家。由于发展中国家大多在南半球，所以通常被称为&#8220;南方&#8221;；发达国家大多在北半球，通常被称为&#8220;北方&#8221;。在移动通信领域，&#8220;南北&#8221;差异的情况同样存在。以欧美为代表的发达移动通信市场一直引领着世界电信业的发展风向，而作为后来者的新兴移动通信市场则奋力追赶。而今，&#8220;南北&#8221;差异尽管依然存在，但是绝对的优势和绝对的劣势已经越来越模糊。相反，由于新兴移动运营商在诸多方面颇有创新心得，且善于在小处制胜，而今反而成为&#8220;北方&#8221;同行的学习对象，这似乎也说明移动通信正进入一个长辈向后辈学习的&#8220;后喻时代&#8221;。<br />
&nbsp;<br />
（5-1）长者的萧条和后辈的光环</font></p>
<p><font size="4">&nbsp;&nbsp;&nbsp; 在人们的印象中，欧美等发达移动通信巨头一直是全球的风向标。相比之下，近几年渐渐崛起的新兴移动运营商更像是后辈，有些青涩，有些孱弱，一直掩身于长者身后。然而，这一看法正在改变。如今，越来越多的迹象显示，新兴市场运营商正在成为同行学习借鉴的对象。<br />
&nbsp;&nbsp;&nbsp; 近日，专业调研公司Ovum特别指出，发达市场运营商应该向新兴市场的同行多多学习，而所要借鉴的领域几乎涉及方方面面，从最高级的集团战略到营销、分销、服务、终端、运营和网络设施等。Ovum认为，新兴移动市场的业务价格和利润率非常敏感，在这种运营环境下新兴市场运营商积累了大量的经验。而相比之下，一些发达市场运营商如今发现，他们所面临的市场环境同新兴市场运营商的越来越相似，经营难度与日俱增。而这也促使他们开始考虑向&#8220;南方&#8221;同行学习。<br />
&nbsp;&nbsp;&nbsp; 这听上去似乎有些意外。但事实究竟是怎样的？让我们从近期&#8220;南北&#8221;移动市场的情况来分析一二。<br />
&nbsp;&nbsp;&nbsp; 从当前的形势来看，欧美等发达移动市场的增速减缓已经是不争的事实。但以亚非和拉美为代表的新兴市场则依然保持较好的增长态势。<br />
&nbsp;&nbsp;&nbsp; 目前，发达国家电信市场已趋于饱和、增长乏力，各电信巨头很难再快速扩大营业收入，进而导致业绩增长比较迟缓。在这些竞争十分激烈的成熟市场上，电信巨头要提高业绩只能通过联盟、并购来扩大规模，而其主要目的是通过合作来降低成本、提高盈利能力。法国电信和德国电信日前宣布合并其在英国的业务，就是希望通过整合销售网络、售后服务、技术支持等资源节省40亿欧元。<br />
&nbsp;&nbsp;&nbsp; 以移动市场为例，欧洲一些发达国家的手机拥有率已超过100%，再加上欧盟不断施压电信商降低收费，移动业务的利润提升空间已十分有限。无奈之下，各移动运营商不得不从增值服务入手，以此来提高移动业务的盈利能力。苹果iPhone手机进入欧洲市场时基本不卖裸机，通常客户要与移动运营商签订包月或固定包费合同才能获得，就是一个很好的佐证。<br />
&nbsp;&nbsp;&nbsp; 欧洲电信与视听研究所（Idat）2008年的数据显示，发达国家电信市场的增速远不及新兴国家。北美和欧洲的电信市场年增速分别为2.9%与3.4%，而亚太地区电信市场增速为6.2%，拉美地区为10%，非洲及中东地区的增速更是高达13.5%。相关数据显示，目前印度的手机拥有率约为30%，而非洲的马达加斯加仅为18%。<br />
&nbsp;&nbsp;&nbsp; 另有分析机构预计，在未来5年内，预计中国和印度移动市场的增长势头仍然不会减弱。到2013年，中印地区的移动服务普及率将达67%，尽管这个数字是2007年的两倍，但却低于除了非洲之外的任何地区。很显然，中印地区是一个人口增长迅速、十分庞大的移动通信市场。<br />
&nbsp;&nbsp;&nbsp; 在未来5年内，非洲将是继中印地区之后移动服务增长速度第二快的地区（2013年普及率将达到54%）。过去，国际运营商对非洲市场一直没有给予足够的重视。但最近，该地区极低的手机普及率已经引起了运营商的极大关注。因此，各大运营商对非洲地区的投资开始快速增长，非洲市场的竞争也日趋激烈。预计在未来5年内，非洲地区的移动通信市场将开始起飞。<br />
&nbsp;<br />
（5-2）关键是利润，而不是ARPU</font></p>
<p><font size="4">&nbsp;&nbsp;&nbsp; &#8220;长者&#8221;最应该向后辈学习的是，要认清利润是运营商的核心追求，而非ARPU（平均每用户收入）。<br />
&nbsp;&nbsp;&nbsp; 对于ARPU，业内的人并不陌生。它的意思就是平均每位用户花在通信业务上的费用。近年来，ARPU一直被电信运营商视为核心指标之一。特别是许多移动通信运营商，花费了大量的时间和资金要提升ARPU。而许多分析师和投资者也都将ARPU视为衡量运营商财务能力的一个重要指标。<br />
&nbsp;&nbsp;&nbsp; 但是近来对于ARPU的质疑越来越多。有观点指出，ARPU本身存在一定的偏颇性，运营商应客观看待这一指标。首先，ARPU的计算是一种最基本的数学运算模式，即用总收入除以产生这些收入的总用户数。这样得出的结果是静态的，并没有反映出用户消费习惯的动态变化。其次，尽管运营商不断努力，但是ARPU却在下降。一方面是因为传统语音通话量不可避免地正在下降，另一方面是一些质量相对不是很完善的通信手段目前都是供人们免费使用的。由此造成的结果当然是直观的ARPU下降，但这并没有反映出一些附加领域的额外收入。<br />
&nbsp;&nbsp;&nbsp; 从这方面来看，新兴市场运营商的做法确实很务实。由于新兴市场用户普遍ARPU较低，因此运营商同欧美同行相比反而没有太看重ARPU。尽管市场上存在大量低ARPU用户，但新兴市场运营商一直积极发展用户，争取通过规模效应获得更多的利润。<br />
&nbsp;&nbsp;&nbsp; 随着竞争压力的增加以及收入持续下滑的影响，发达市场运营商正面临和新兴市场运营商一样的难题——如何从低ARPU的用户身上获得最多的利润。这可能令本已穷其心力缩减支出的发达市场的运营商再度咬紧牙关节支。另外，&#8220;长者&#8221;们可能会进一步通过外包的方式达到节能增效的目的，并会力图从低支出的用户身上获取更多的利润。<br />
&nbsp;<br />
（5-3）创新，要内外兼顾</font></p>
<p><font size="4">&nbsp;&nbsp;&nbsp; 在新兴市场，创新的形式多种多样。运营商会针对所有的用户创新业务，而不是像成熟市场的运营商那样只将重点放在高端智能手机用户身上。为此，新兴市场运营商一直努力同合作伙伴协力创新商业模式。<br />
&nbsp;&nbsp;&nbsp; 说起创新，业内人士并不陌生。早在数年前，国内外就兴起了一股火热的业务创新潮，但创新并不仅仅是业务层面，企业内部的创新同样重要。<br />
&nbsp;&nbsp;&nbsp; 电信运营商面临的市场环境近年来已经发生了巨大变化。而这正是导致通信企业创新模式发生改变的根本原因。第一，很多的创新行为不是发生在实验室里面，而是发源于市场，并且是在全球范围内展开的。全球不同国家、不同地区每天都在出现各类的创新。由于全球化趋势已经成为必然，因此这些创新不管在什么地方发生，对于通信客户来说都非常重要。第二，在电信领域，基础设施的发展往往追不上客户需求的发展。第三，任何一家企业都没有预见未来的能力，因此，运营商不可能精确地看到未来客户的需求。而与此同时，客户本身可能也并不明白自己想要什么，只有在他们看到或是感受到某些服务之后，他们才能明白是否需要该业务。<br />
&nbsp;&nbsp;&nbsp; 因此，在认识到市场环境的变化之后，许多电信运营商开始改变此前的创新流程，引入开放的创新模式。所谓开放式创新主要有两点要领：一是改变只是从内部寻找创新因素的传统，借助外部的力量实现创新；二是更多地同客户发生互动交流，准确找到用户的需求点。<br />
&nbsp;&nbsp;&nbsp; 当前，电信市场的创新模式正在围绕这两点发生着较为明显的转变。首先，越来越多的电信运营商正在从&#8220;硬&#8221;到&#8220;软&#8221;，即从聚焦电信基础设施转向兼顾发展软件平台，甚至有些运营商已经开始围绕软件平台开展业务。而另一个显著的变化是，越来越多的企业在创新的过程中开始更早地把客户融合进来。在研发初期，运营商就会和客户进行沟通，使客户能更早地帮助运营商制订有针对性的产品方案。<br />
&nbsp;&nbsp;&nbsp; 此外，新兴市场运营商似乎在缩减能耗和运营成本方面颇有办法。同时，新兴市场运营商还善于从别的行业学习营销和新理念。<br />
&nbsp;<br />
（5-4）务实，是一切的基础</font></p>
<p><font size="4">&nbsp;&nbsp;&nbsp; 对于一家企业来讲，务实，似乎更像是一个泛泛的口号，无处下手。但这却被认为是新兴市场运营商最值得同行学习的一点。他们以务实为准则，无论是什么决策，都以维持或是提升利润为基础。同成熟市场相比，新兴市场上的运营和系统外包、网络共享行为更多。发达市场运营商似乎更愿意将一切的运营和维护掌握在自己手里，但是所需的成本也是巨额的。在新兴市场，许多移动通信运营商已经意识到，如果能实现成本节约效果，那么网络掌控的重要性也就可以让位了。总的来说，无论做什么决定，新兴市场运营商的出发点都是要对公司盈利有好处。<br />
&nbsp;&nbsp;&nbsp; 还记得去年年中，美国第三大电信运营商Sprint Nextel宣布将移动通信网络的部分管理和维护工作外包给爱立信。此后数年内，Sprint将向爱立信支付20亿美元的服务费用，Sprint也因此每年可减少20%的运营开支。尽管这看似只是一则普通的消息，但是却是美国运营商放松网络控制的一个标志性事件。该交易的意义并不仅仅在于成本削减。之前，美国电信运营商一直愿意自己管理所有的网络日常运营，但是在欧洲和亚洲，运营商外包网络的现象越来越普遍。Sprint的交易开了美国运营商外包网络的先河。这也是美国巨头向亚洲同行学习的一个典型事件。<br />
&nbsp;&nbsp;&nbsp; 这种务实主义的经营方式同时也造就了新兴市场运营商较为开放的合作态度。比如，大量新兴市场运营商同银行就移动金融业务开展了合作，同非政府组织就开发项目合作。此外，新兴市场运营商在同终端厂商和管制机构合作方面也更为顺畅，目前为数不少的运营商已经在市场潜力不大的偏远地区开展了普遍服务项目。<br />
&nbsp;<br />
（5-5）低端用户不容忽视</font></p>
<p><font size="4">&nbsp;&nbsp;&nbsp; 新兴市场运营商教会了&#8220;长者&#8221;一个道理——低ARPU用户不容忽视，同样可以给运营商带来不小的回报。但是运营商需要有出色的市场营销创新力，并且要配以低端用户中意的各类终端。<br />
&nbsp;&nbsp;&nbsp; 同样，发达电信市场也并非是智能手机的天下。尽管目前iPhone等智能手机的热度一再升高，但是不可否认的是，用户对于普通手机的需求仍然存在。为此，发达市场运营商应该向后辈学习，如何通过巧妙的手段获取低端用户的芳心。<br />
&nbsp;&nbsp;&nbsp; 在这方面，印度的运营商做得非常出色。印度的运营商此前开始在农村市场发力，希望在竞争形成前就先实现广泛的覆盖。Bharti Airtel公司是印度最大的电信运营商，该公司此前就在农村地区实行了大规模发展低端用户的战略，并获得了丰厚的利润。大量低端用户的涌入虽然降低了该公司的ARPU，但用户破纪录的增长促使话务量飙升，仍然令Bharti Airtel保持了利润的高增长率。在经济危机发生的2008年第四季度，Bharti Airtel公司通过其农村市场占有策略，获得了4.42亿美元的利润，同比增长了25%。而对于获取的这些低端用户，Bharti Airtel表示可以通过对农村移动通信市场的需求培育来提高ARPU。<br />
&nbsp;<br />
（五版）资金：逆流成河</font></p>
<p><font size="4">&nbsp;&nbsp;&nbsp; 在很长的一段时期内，全球电信并购市场都呈现同样的资金流向——即发达电信市场的资金流向新兴市场。但近几年，随着新兴市场运营商的不断壮大，电信并购市场渐渐出现了一股逆向的资金流。越来越多的新兴市场运营商开始将国际扩张的目光投向发达市场。但这并不意味着发达市场比新兴市场有更多的机会，很多并购行为都是新兴市场运营商国际化策略的一部分。<br />
&nbsp;&nbsp;&nbsp; 此前，来自东欧、中东和非洲的多家运营商纷纷表示，将在未来几年在西欧开展投资，这预示着新兴市场运营商正在将西欧作为长期的投资要地。<br />
&nbsp;&nbsp;&nbsp; Nawras是卡塔尔主导运营商Qtel在阿曼的分公司。该公司首席执行官Ross Cormack称：&#8220;中东已经积攒了大量的投资能力，这些地区的运营商正在朝着全球化方向发展。&#8221;<br />
&nbsp;&nbsp;&nbsp; 科威特运营商Zain公司（原MTC）负责战略的主管Mohammed Sheikh也表达了类似的观点。他透露，Zain当前的关注点是中东和非洲地区。该公司目前正在寻求在非洲投资光纤网络的可能。不过，他表示，公司的长期战略投资有可能向发达市场扩张。<br />
&nbsp;&nbsp;&nbsp; 渴望进行海外扩张的并不仅仅是资金充裕的中东运营商。奥地利运营商mobilkom的市场总监Hannes Ametsreiter认为，俄罗斯企业也可能向欧洲进军。mobilkom在东欧和巴尔干地区经营移动业务。<br />
&nbsp;&nbsp;&nbsp; 不过，多数观点认为，这些新兴市场内部发生企业间并购整合的几率不大。在多数中东市场上，运营商的数量并不多，因此运营商对设施共享类交易更感兴趣，他们希望借此降低成本。而非洲运营商则更关注收购对手公司，以此拓展业务区域。<br />
&nbsp;&nbsp;&nbsp; 不过，由于中东运营商现金充裕，因此最近在该地区竞购牌照的其他运营商不得不为此支付高额的费用。此外，业内人士表示，新兴市场运营商近年来在3G市场上的大幅投资足以显示他们稳定的财务状况。<br />
&nbsp;&nbsp;&nbsp; 新兴市场运营商对发达电信市场的热情格外引人关注。从表面上看，这似乎违反了普遍的商业定律。但是，这种动向确实事出有因。一个原因是，新兴市场因为起点低，反而幸运地躲过了前几年的低迷风潮，多数新兴市场运营商所受的冲击并不严重。另一个原因是，近几年发达国家的运营商多数都忙于恢复元气，近两年才有所改善。而新兴市场却得以趁这几年逐步开放市场，激发了市场的活力，造就了一批颇有实力的新兴巨头。因此，在一方资产缩水、一方强势发展的情况下，目前新兴市场运营商有足够的财力威胁成熟市场运营商丝毫不奇怪。尽管如此，由于新兴市场运营商在运营、管理等方面仍未有足够的经验，加之发达市场的竞争已经呈现激烈化特征，预计新兴市场运营商向西欧等发达市场的进攻战短期内不会大范围爆发。<br />
&nbsp;<br />
（五版）创新：站在别人的肩上</font></p>
<p><font size="4">&nbsp;&nbsp;&nbsp; 不可否认的是，无论是在发达移动通信市场还是新兴移动通信市场，运营商都在忙于创新。因为大家都深知，在面临内外部压力的当前，没有创新就没有出路。不过相比之下，同样的创新在新兴市场运营商那里就显得更加抢眼。一方面，新兴市场运营商业务起步较晚，因此外界对其的期望值较发达市场运营商难免也会低一点；另一方面，新兴市场运营商后来者的身份也给了他们相对的创新优势，由于先行者已经在许多业务上进行了摸索，甚至通过一次次的失败总结了教训，为此，新兴运营商得以避开更多的弯路，直接抓住创新重点。相信对于牛顿那句&#8220;站在巨人肩上&#8221;的感慨，新兴市场的运营商也会颇有感触。<br />
&nbsp;&nbsp;&nbsp; 去年下半年，移动通信运营商一如既往地忙于推出各种新产品、新服务和新概念。而当时，有关移动产业链的争论正盛。有观点认为，移动通信运营商未来在产业链上的地位将逐渐弱化，甚至最终会沦为&#8220;比特通道&#8221;。运营商不断推新品的动作无异于向外界宣告——&#8220;我们不会就此认输&#8221;。但是迫于外界的压力，运营商也开始有所变化。他们开始将成功的业务大说特说，而对于那些失败的尝试则只字不提。<br />
&nbsp;&nbsp;&nbsp; 专业咨询公司Ovum近日针对全球移动运营商进行的一项研究发现，运营商在业务创新方面追赶对手的速度普遍不慢。正是考虑到了目前面临的内外部困境，移动运营商普遍采取了多样化的业务策略。<br />
&nbsp;&nbsp;&nbsp; 在移动运营商最新进行的一系列业务创新计划中，应用商店是最为出彩的一个。随着苹果公司的应用商店不断取得突破性进展，移动运营商也开始步其后尘。不过在这一过程中令许多业内人士都感到惊奇的是，亚太和拉美地区的运营商做得相当出色。在亚太地区，马来西亚的明讯公司（Maxis）、中国移动公司、韩国电信公司、菲律宾的Smart公司和中国香港的数码通公司都推出了不同版本的应用商店。而在拉美地区，阿根廷的Movistar公司、巴西的TIM和美洲移动公司也先后加入了应用商店的大军。<br />
&nbsp;&nbsp;&nbsp; 而同期的另一个热点是移动金融业务，包括移动转账和移动支付服务。多家非洲运营商此前已经推出了移动支付服务，其中一些是通过移动通信平台将支付的几大环节结合起来，而另一些则是同西联汇款等机构合作。欧洲运营商则更钟爱诸如近场通信（NFC）这类的更为复杂的移动金融服务。但业内人士称，相比之下让人眼前一亮的还要数土耳其Turkcell公司的移动钱包业务。Turkcell推出的是集非接触支付、通行费、市政交通付费功能为一身的移动钱包服务，功能相比之下更为强大。<br />
<br />
<br />
备注相关资料：<br />
<span style="font-size: medium">今天上午听洪成文教授的讲座，其中提到了&#8220;后喻时代&#8221;。什么是&#8220;后喻时代&#8221;呢？<br />
　　美国社会学家玛格丽特&#183;米德在《文化与承诺》一书中，将人类社会划分为&#8220;前喻文化&#8221;、&#8220;并喻文化&#8221;和&#8220;后喻文化&#8221;三个时代。在&#8220;前喻文化&#8221;中，晚辈主要向长辈学习；&#8220;并喻文化&#8221;中晚辈和长辈的学习都发生在同辈人之间。而在第二次世界大战后，科技革命的蓬勃发展使整个社会发生了巨大的变革，社会由此进入了长辈反过来向晚辈学习的&#8220;后喻文化&#8221;时期。&#8220;如果说过去存在若干长者，凭着在特定的文化系统中日积月累的经验而比青年们知道得多些。那今天却不再如此&#8221;。米德在文章中如是总结道。<br />
　　在&#8220;后喻时代&#8221;，学生通过网络或其他手段会比家长、老师更早、更多地获得信息，当学生对事物的感知与教师所教知识发生冲突时，学生会大胆或无情地对教师的&#8220;教育&#8221;进行评价或批判。<br />
　　作为教师或者家长，面对&#8220;后喻时代&#8221;，我们是否已经准备好了呢？</span></font></p>
</span>
<img src ="http://www.blogjava.net/dashi99/aggbug/321056.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/dashi99/" target="_blank">ゞ沉默是金ゞ</a> 2010-05-15 21:40 <a href="http://www.blogjava.net/dashi99/archive/2010/05/15/321056.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>