Monthly Archives: September 2012

© 2012 . All rights reserved.

搜索引擎未来发展的8种趋势

搜索引擎的快速发展也就是近15年发生的,这与互联网的发展趋势密切相关。最近几年,互联网在经过了web2.0的市场培育阶段后,迎来了以互联网用户的个性化和社交化为中心的趋势。同时,移动设备的逐渐流量及两大趋势的融合,催生了很多新型应用,为了迎接和顺应这种趋势,对搜索引擎来说,也产生了新的挑战。本文将阐述未来搜索引擎的发展趋势。纯属个人观点。 (纯属恶搞:用户搜索未来发展趋势) 1,社会化搜索 随着Facebook的流行,社交网络平台和应用占据了互联网的主流,社交网络平台强调用户之间的联系和交互,这对传统的搜索技术提出了新的挑战。 传统搜索技术强调搜索结果和用户需求的相关性,社会化搜索除了相关性外,还额外增加了一个维度,即搜索结果的可信赖性。对某个搜索结果,传统的结果可能成千上万,但如果处于用户社交网络内其他用户发布的信息、点评或验证过的信息则更容易信赖,这是与用户的心里密切相关的。社会化搜索为用户提供更准确、更值得信任的搜索结果。 国外的dogpile等元搜索引擎能够得到发展和壮大,主要得益于国外传统搜索过多,并且企业实现共赢的理念,但在中国更多的人思考的是如何把所有资源都 掌握在自己手中,百度,google,yahoo是不会看着自己在未来发展中落伍,成为跟潮人,现在这几家都在不断丰富自己的产品线,并且触及社会化搜索,来保证自己在这个行业中的地位。 2,实时搜索 随着微博的个人媒体平台兴起,对搜索引擎的实时性要求日益增高,我想这也是搜索时引擎未来的一个发展方向。 百度也推出过实时搜索,搜索方法: 浏览器中输入http://www.baidu.com/s?rtt=2&tn=baiduwb&wd=【关键字】 实时搜索最突出的特点是时效性强,越来越多的突发事件首次发布在微博上,实时搜索核心强调的就是“快”,用户发布的信息第一时间能被搜索引擎搜索到。 不过在国内,实时搜索由于各方面的原因无法普及使用,比如Google的实时搜索是被重置的,百度也没有明显的实时搜索入口。 3,移动搜索 随着智能手机的快速发展,基于手机的移动设备搜索日益流行,但移动设备有很大的局限性,比如屏幕太小,可显示的区域不多,计算资源能力有限,打开网页速度很慢,手机输入繁琐等问题都需要解决。   目前,随着智能手机的快速普及,移动搜索一定会更加快速的发展,所以移动搜索的市场占有率会逐步上升,而对于没有移动版的网站来说,百度也提供了“百度移动开放平台”来弥补这个缺失。 4,个性化搜索 个性化搜索主要面临两个问题:如何建立用户的个人兴趣模型?在搜索引擎里如何使用这种个人兴趣模型。 个性化搜索的核心是根据用户的网络行为,建立一套准确的个人兴趣模型。而建立这样一套模型,就要全民收集与用户相关的信息,包括用户搜索历史、点击记录、浏览过的网页、用户email信息、收藏夹信息、用户发布过的信息、博客、微博等内容。比较常见的是从这些信息中提取出关键词及其权重。 为不同用户提供个性化的搜索结果,是搜索引擎总的发展趋势,但现有技术有很多问题,比如个人隐私的泄露,而且用户的兴趣会不断变化,太依赖历史信息,可能无法反映用户的兴趣变化。 5,地理位置感知搜索 目前很多手机已经有GPS的应用了,这是基于地理位置感知的搜索,而且可以通过陀螺仪等设备感知用户的朝向,基于这种信息,可以为用户提供准确的地理位置服务以及相关搜索服务。目前此类应用已经大行其道,比如手机地图app。 6,跨语言搜索 这方面做的最好的是Google,Google目前已经提供多种语言之间的跨语言搜索,比如我搜“麻省理工”排在第一位的则是麻省理工学院的主页。 如何将中文的用户查询翻译为英文查询,目前主流的方法有3种:机器翻译、双语词典查询和双语语料挖掘方法。对于一个全球性的搜索引擎来说,具备跨语言搜索功能是必然的发展趋势,而其基本的技术路线一般会采用查询翻译加上网页的机器翻译这两种技术手段。 7,多媒体搜索 目前搜索引擎的查询还是基于文字的,即使是图片和视频搜索也是基于文本方式。那么未来的多媒体搜索技术则会弥补查询这一缺失。多媒体形式除了文字,主要包括图片、音频、视频。 多媒体搜索比纯文本搜索要复杂许多,一般多媒体搜索包含4个主要步骤:多媒体特征提取、多媒体数据流分割、多媒体数据分类和多媒体数据搜索引擎。 例如图片搜索,一般的步骤为:第一步,缩小尺寸。第二步,简化色彩。第三步,计算平均值。第四步,比较像素的灰度。第五步,计算哈希值。(详情可参见Google图片搜索的原理一文)。 8,情境搜索 情境搜索是融合了多项技术的产品,上面介绍的社会化搜索、个性化搜索、地点感知搜索等都是支持情境搜索的,目前Google在大力提倡这一概念。 所谓情境搜索,就是能够感知人与人所处的环境,针对“此时此地此人”来建立模型,试图理解用户查询的目的,根本目标还是要理解人的信息需求。比如某个用户在苹果专卖店附近发出“苹果”这个搜索请求,基于地点感知及用户的个性化模型,搜索引擎就有可能认为这个查询是针对苹果公司的产品,而非对水果的需求。 写在最后: 本文介绍了搜索引擎未来发展的8个趋势,无论是个性化搜索、实时搜索、社会化搜索、地理感知搜索、多媒体搜索、跨语言搜索。我们都能看出,搜索引擎是在不断揣摩人的心里,满足网民的需求而发展的,那么你的网站呢? 我来说两句? | 原创文章请注明转载自卢松松博客 | 原文地址:http://lusongsong.com/reed/536.html … Continue reading

© 2012 . All rights reserved.

温故知新(8)——备忘录模式

概述 先从面向对象的三大特征之一封装说起。面向对象的封装简单点说就是把状态(数据)和行为(操作这些数据的方法)放到一起,构成一个单元,通常叫做类。一个对象的行为是事先确定好的(静态)一些脚本,如果对象的状态相同,对象看起来就是一样的。所以当我们需要把一个对象的某一时刻保存起来,那么只需要保存它在那个时刻的状态;相反需要恢复对象到某一时刻时,只需恢复它在那个时刻的状态。这就是备忘录模式的原理。 在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象恢复到原先保存的状态。 上面是GOF对备忘录模式的意图描述,非常清楚,内部状态保存到外部,再从外部恢复对象。 实现时我们通常把需要保存起来的状态封装为一个对象,用这个对象作为一个信息的载体,保存或恢复。出于避免外界对这些信息进行窜改,有必要对这个信息载体进行一个抽象,让外界只知道这是一个信息载体,而不知道具体承载了什么内容(窄接口);而内部可以获得载体所载有的全部信息(宽接口)。 备忘录模式常用来实现“撤销/重做”。 结构 备忘录模式的类图: 模式的参与者只有三个,相对简单。 1、作为对象状态信息载体的备忘录对象——IMemento、Memento,其中IMemento为对外的窄接口,而具体实现Memento则是对内的宽接口; 2、需要保存和恢复状态的对象,成为原发器——Originator; 3、管理和持有备忘录的备忘录负责人——Caretaker; 示例 有一个电子书阅读器,人们可以用它来阅读电子文档。阅读器提供了书签的功能,用户可以保存书签,也可以从使用一个书签使阅读器变为建立书签时的状态。我们简化一下,假设阅读器可以从书名和书的页码两个参数确定自身状态。 上面的需求很符合备忘录模式,书签可以看作备忘录对象,阅读器可以看作原发器,而隐含的书签管理结构可以作为负责人。 1、定义备忘录接口IBookmark(对外窄接口)。 1: using System; 2:   3: namespace DesignPatterns.Memento 4: { 5: /// <summary> 6: /// 书签接口(对外的窄接口) 7: /// </summary> 8: public interface IBookmark 9: … Continue reading

© 2012 . All rights reserved.

iPhone 5:乏味的好东西

苹果公司在北京时间昨天凌晨发布了最新一代的iPhone,取名为iPhone 5。iPhone 5采用了全新的A6芯片,硬件配置堪称世界一流,显示屏也被拉长到4英寸。iPhone 5仅重112克,厚度仅有7.6毫米,机身完全由玻璃和铝合金材质打造,是顶级工业设计的体现。iPhone 5还使用了全新的iOS 6系统,应用功能有不小的提升。总而言之,它称得上是全世界最棒的手机之一,甚至可以说是全世界最棒的手机,没有之一。 即便如此,它还是非常、非常令人感到乏味。 iPhone 5实现了对iPhone 4、iPhone 4S的超越,也可以说它超越了市面上任何一款手机产品。更快、更轻薄、更大的屏幕,还有LTE天线。然而,这些进步就和丰田普锐斯一样,虽然把人类在工业和科技上取得的成绩发挥得淋漓尽致,但是无法给人以眼前一亮的刺激感。它们的确都在不断进步,但这种进步就彷佛以40码的速度开车经过早已熟视无睹的邻院,毫无激动可言。这种平淡的节奏与我们每天匆匆碌碌的生活如出一辙,无法带来任何出彩、即使是迥异的激情片段。 iPhone 5是市面上最棒的手机,但这无法掩盖它身上不断散发出的无聊气息。这种矛盾并不出自苹果,而是根生于我们对苹果的期待。 还记得第一款iPod、第一款iPhone、第一款iPad和第一款MacBook Air是怎样颠覆了我们对电子设备的想象的吗?还记得乔布斯在1998年为我们带来的首款iMac吗?没有独立主机,没有连线,而且,它还是彩色的!经过了这么长的一段时间,我们已经习惯性地给苹果贴上“创意”的标签。2007年首款iPhone,看起来就像巧克力;而iPad就更令人诧异了,因为它看起来竟然就是被放大的iPhone!创意、革新、颠覆,这已经成为了苹果的代名词。苹果就像是科技公司中的西蒙·玻利瓦尔(Simon Bolivar,拉美著名的革命家),不断打破原有的常规,煽动着我们对新事物的热情。 正当我们满怀期待等待新的颠覆性产品出现时,苹果却悄然停下了前进的脚步。他们的确在不断地推陈出新,然而却只是在原有产品的基础上提升性能,一丝丝,一点点。在经历了四五代的升级后,苹果的产品似乎已经不再需要革新,升升级就可以了。 如果不是产业内出现了新的技术革新,苹果已经“懒得”去做任何的改变(价格实惠的闪存改变了iPod的设计,而固态硬盘的出现带来了MacBook Air)。对于iPhone的第六代产品iPhone 5,它的外观看起来仅仅彷佛是被拉长了脸的iPhone 4。而且,暂不论是谁抄袭谁、圆角正方形是不是专利,iPhone 5的外形与市面上其他手机也没什么显著差别。 当然,从一定角度上看,市场上的剽窃行为导致了苹果在设计上的乏力。在MacBook进入市场后,它几乎造就了超级本行当里的一整个阵营。且不说三星与HTC生产的手机和平板,惠普最新的Spectre One个人电脑长得也和iMac“一模一样”。也许不是iPhone太乏味,而是整个手机行业都太乏味了。市面上唯一长像有自己特色的手机就是诺基亚了(新产品Lumia 920颇具亮点),但Windows Phone个位数的市场占有率无法代表什么东西。也许诺基亚还能以背后的辛酸故事与独特的外观作为卖点,而iPhone只能依靠更为出众的性能了。 苹果目前依旧在筹备一些能让我们眼前一亮的新产品。在不远的将来,现有的家庭娱乐影音设备概念可能就会被苹果颠覆。这些令人期待,但我们难以期待iPhone还会不会有太大的变化。仔细想来这也并不是一件坏事,改革不能成为常态,由改革转入稳健发展才是产业发展的规律。再想一想,我们从原先站在橱窗前期盼能用上手机,到手机成为我们生活中不可或缺的一部分,再到我们已经意识不到手机的独立存在,这不是也一种颠覆吗? 文章编译自Wired: The iPhone 5 Is Completely Amazing and Utterly Boring 作者: Mat Honan … Continue reading

© 2012 . All rights reserved.

知识产权制度还在保护创新吗?

今年,各大公司间的知识产权诉讼进行的如火如荼,连一贯当被告的中国公司都成功讹到苹果6000万美金的商标赔偿。今天,苹果公司发布了新一代iPhone,而其中的LTE技术则涉及三星公司的专利,也让吃过苹果亏的三星摩拳擦掌,准备反击。于是,有一种观点认为,我们还需要这样的知识产权制度吗? 有这样一个笑话:有人问英语老师“山寨”的中文翻译应该是什么,英语老师说:made in china。这不仅仅是笑话,如果没人在意知识产权的重要,用不了多久就不会有人创造了,人类的科技树也就不会再点亮新的枝叶。知识产权作为一种无形的财产,在发展越来越靠科技和创意的今天尤为重要。 为什么要有知识产权? 知识产权的英文叫“intellectual property”,在台湾地区被译为“智慧财产权”。顾名思义,知识产权就是我们的智力成果所能变成的一般等价物。脑力劳动其实是非常消耗卡路里的,一些高级别的创造者在前期必须接受长时间的训练,才能有高素质的产出。从商业上讲,那些消耗掉的大脑“燃料”和受训和创造过程中消耗的时间金钱,都是脑力劳动成果的成本。 在知识产权制度建立以前,商人和手艺人们为了保护生意的门道可谓是想尽办法,比如中国的传男不传女、杀鸡烧香入行会,中世纪威尼斯的玻璃器皿商人如果在别的城市建立分店,甚至还会招到其他行会暗杀。 随着时代的发展,为了不至于让广大动脑子的家伙们血本无归,人类发明了知识产权制度,对于发明、文学和艺术作品,以及在商业中使用的标志、名称、图像以及外观设计给予法律形式上的保护。 以专利权为例,专利制度的目的并不仅仅是为了激励发明创造的,而是让创造者可以以某种游戏规则与公众进行交换。发明人需要在专利的详细说明中将自己的创造品一字不漏地描述出来,并且要承诺在自己的垄断权失效后该发明要归大众所有,以此条件换取某期限内对这一发明创造的垄断权。(知道为什么汽车越来越便宜了吧,因为汽车的大多数技术方案都过了保护期了,谁都能copy一个底盘加四个轮子能跑的盒子)。 美国专利法第112条对知识产权有着十分清楚的规定:“发明说明书应该对发明、制作与使用该项发明物的方式和工艺过程,用完整、清晰、简明而确切的词句加以叙述,使任何熟悉该项发明所属的或该项发明密切相关的技艺的人都能制作及使用该项发明。”也就是说,在专利保护期失效后,任何智力正常受过相关教育的公众和公司都能通过说明书制造这一专利产品。举个例子:这是美国第6285999号专利,内容是Google搜索引擎所采用的核心算法,发明人登记为哈里•佩奇(这不是被授予专利的内容,而是对这一技术方案的具体描述) Google搜索引擎所采用的核心算法。 直到2018年以后,别的公司才能在搜索引擎中采用这一数学公式背后的技术,在这之前,即便是Bing、百度、腾讯搜搜的程序员发现相同的算法可能使搜索效率更高,也必须另外换一种别人没有注册过的算法。 在美国第7812828号专利中,是苹果公司最引以为豪的多点触控技术,其技术描述一部分是这样的: 苹果的多点触控技术。 它阐述了一种在多点触摸表面上,跟踪多指触摸以及手势输入并且正确过滤它们的机制。正是这些因素,很大程度上决定了目前为止苹果能制造出触控效果最好的屏幕,总是在和三星和Google的专利大战中略占上风。 所以,专利制度在一个公司的战略中的地位越来越重要,特别是制造业的企业,在产品研发前都要先了解类似技术的专利申请情况,如果别人已经有专利了就必需绕开。其实专利的本意应该是为了保护创新,但是,现在感觉法律制度的发展已经跟不上技术的发展速度了。 现状,并不理想 1790年,华盛顿就任总统的第二年,就让托马斯•杰斐逊尽快确立专利保护制度。在华盛顿总统任内,美国通过了保护创新和发明的专利法,杰弗逊这个发明狂成为美国第一任专利局长。从此,美国成为世界上保护创新最严格的地方。 但对于科技工业而言,现在的知识产权诉讼已经带来了越来越多的负面影响。因为大公司掌握了越来越多的话语权和专利资源,进行开发的小公司被某些根本什么事情也不做的大公司当做诉讼的目标,业界大拿们如苹果、HTC和三星则沉溺于专利诉讼不能自拔,Adobe和PTC这样的公司被讥讽为版本更新缓慢,但法律部效率最高。而三星刚刚被美国法院判决要赔偿苹果公司10亿美金的专利侵权赔偿金。很多人悲观的认为,就算专利带来了再多的利益,也无法弥补它产生的巨大消耗。 手机界大拿们早在2010年的诉讼关系网是这样的,基本上没有哪家圈内的公司省的了这部分的律师费,完全可以用贵圈真乱形容: 2010年10月各家公司之间的诉讼关系。图:卫报 现在,他们的关系越发复杂,一份波士顿大学(Boston University)发布的研究报告称,2011年,美国专利诉讼直接耗费290亿美元,这些钱对于苹果这种大财主可能不算什么,甚至诉讼是一种很好的打击对手的武器。即使不要三星的赔偿金,一纸海关的禁令足够让韩国人赔得血本无归。 但对于小公司而言,巨额的知识产权维护和诉讼费用无疑是巨大的负担,这种负担不仅不会保护创新,反而会扼杀萌发于中小型新兴企业的创新。波士顿大学的这份报告中还说:82%的专利被告企业营收不到1亿美元,而这些营收中有50%都用来进行专利诉讼辩护。 另外,真正需要专利技术生存的小公司无法维持代价高昂的专利专业服务机构,而大公司掌握了大量的资源,有能力成立一个大型专业团队来处理专利问题和进行专利情报分析。这样的现状,让本意上保护创新的制度可能带来新的垄断。 在我曾经手的案件中,也有那种事先持有专利或者商标却什么产品都不生产的公司,他们等待看上的大公司实施了他们的专利和商标已经大规模生产后再委托律师狠敲一笔,业界一般称之为Non-practicing Entities,NPE。他们的行为看似不劳而获的敲诈,但是无论在美国还是中国,都是合法的。 也有很多中国公司为了获得政府补贴申请大量的重复、无效的专利,由于政府的制度是一旦进入初审阶段就会给予申请人不菲的补贴,哪怕该专利最后未能通过实质审核也不会退回补贴款项。所以导致了虽然专利数量增长很快,但对于社会和科技树而言并没有什么价值。 我们要面对一个什么样的未来? 我们当然不希望在十年之后,所有的电子产品上都有一个啃了一口的苹果LOGO,更不希望那时候的产品经理在开发一项互联网产品时还会被问道:“你打算怎么防某公司?”不过悲观的是,按照现在的趋势,有可能我们吃饭的叉子和筷子都被大公司变成知识产权的战场。 另一方面,著作权等传统知识产权的保护会变得更加困难,技术的发展必然使信息的分发变得更加快捷和更难追踪。妄图像电子艺界那样,采用技术方式保护自己的游戏不被复制在商业上是很难实现价值的。 有一种理想主义的观点是:“所有这些不足最终都会解决的”,不过这很可能不是事实。以软件专利的问题为例:专利局需要一段时间来理解新的技术。如果是这样,那么问题只会越来越严重,因为技术更新的速度在增加,30年内,专利局可能可以理解我们现在提交的软件专利申请,但很可能会有更多新的技术型式出现而大多数不被理解。实际上大公司们根本不关心所申请专利的具体内容,而是申请一大堆及其宽泛的专利,堵死竞争对手的路或者换取更多的政府补贴。 知识产权制度某种意义上说其实就是一系列妥协的结果,既要保护创作者的利益,又不能因为此扼杀创新和数据的传播。而平衡这些利益,需要考虑文化、技术、法律上的各种现状与选项,无论对于哪个国家的立法者都将是个艰难的工作。 (本文编辑:Mo) 了解更多: [1] The ‘broken patent … Continue reading

© 2012 . All rights reserved.

用树莓派板和lego积木搭成的超级计算机

# 蛋黄酱盖浇饭 同学投稿:一直以来,我就觉得,迟早会有人把几十个树莓派组装成一个超级电脑。果不其然,来自南安普顿的一个科学小组成功的用树莓派板组装出了一个64核的超级计算机(#Linux翻身做主人,嘿~巴扎嘿)。 以下摘自南安普顿大学的校刊内容: Cox教授说道:“当我们发现我们有足够多的树莓派时(#真心便宜),我们就开始考虑是否能把它们串联在一起组成一个超级电脑(#6神合体~)系统使用的是Debian Wheezy,同时我们也制作了一份说明书,这样你们同样可以组装自己的超级计算机。“ 使用lego积木作为框架,这个点子是由JAMES和Simons想出来的。他们也是树莓派项目的首批使用者和开发者。这台电脑被命名为“Iridis派“,用来纪念学校先前发明的”Iridis“超级计算机。”Iridis派“仅仅需要一个普通13A的插座来供电,通过MPI在以太网内进行节点间的互通。整个系统花费了大约2500英镑(不包括交换机)。电脑配备了64个处理器和1TB的内存(#每块板上插了16G的SD卡……)COX教授使用Python Tools for Visual Studio(一个免费插件)来为”Iridis派”开发代码。 整个开发项目中,除了串联所有的树莓派,最有趣的活儿要数搭积木了……(#屌丝注定是屌丝啊)整个框架基本是由COX教授的儿子,还在读小学的JAMES一手调教出来的(#种族天赋MAX)。[via Southampton] 劳斯莱斯出品:Lego喷射发动机模型 Lego 拼装雕塑 用Lego制作的手纸自动切割器 无觅 >>点这里浏览原文<< © 煎蛋 / 随便看看 / 煎蛋的微博 / 图片托管于又拍云存储 from 煎蛋 http://da.feedsportal.com/c/34036/f/617798/s/23683fa4/l/0Ljandan0Bnet0C20A120C0A90C140Craspberry0Epi0Elego0Bhtml/ia1.htm an effective and as a consequence mucky help guide to … Continue reading

© 2012 . All rights reserved.

Fast Messenger 是一种高级并发编程模式

高级编程语言 在编程界,当用“高级”来形容一种编程语言时,那是表示这种编程语言含有接近人类语言的结构和语法。或者反过来说,在坐标另一轴的“低级”表示一种编程语言的结构和语法更直接反映硬件的特性,比如:机器代码及其体系结构。 高级并发编程模式 这个概念启发我建立了一个类似的标准来描述并发编程的模式和技术。“高级”用来表示一种并发编程模式的思维方式更接近人类的,而“低级”则表示更接近机器的思维方式。 评价一种模式是高级还是低级,一般要观察它的静态特性和动态特性。静态特性指的是它有哪些结构可以给程序员用来构建程序,这些结构是更象人类的思考模式还是机器的。比如一个整数数组,甲语言要求全是整数;乙语言里可以是整数,也可以容忍string形式的整数。那显然乙语言更象人类的思维,更高级。动态特性就是这些结构能被组织和互动的方式是否更象人类还是机器。除了模式本身外,我们还可以从使用的角度来评介。比如程序员如果用一种并发模式写程序时觉得设计和思考起来更自然,那就是更高级了。 如果一种模式的静态和动态特性更象是机器的特性的反映,程序员用起来的时候更觉得是在迁就机器,那就是低级的模式了。 高级编程语言一般都可以用更低级的编程语言来实现,同样高级的并发编程模式也可以用更低级的并发模式来实现。 线程模式 线程模式包含线程和它的堆栈。线程是CPU的执行代码的能力,只在运行的时候出现,在源代码中体现不出来。一个线程按照地址或源程序的顺序依此执行代码。在进入一个子程序或method之前,它会把当前地址存入堆栈。这样当子程序执行完毕,它就可以回到原来的地方继续执行代码。 根据线程的本质和高低级的定义,线程模式就是一种几乎是最低级的并发编程模式,因为多线程本来就是CPU的特性。CPU和应用程序员之间还有操作系统和语言运行系统,比如JVM和CLR。线程是被操作系统和语言运行系统直接支持的,应用程序员使用的线程和CPU里的线程它们的编程特性几乎是一样的。(虽然每一层都会对线程作一次映射,并且高一层通常有更多的线程数量。) 图 1:用线程编程时的思维模型 当用线程来编程时,我一般会写好业务逻辑代码,最后创建一个线程来运行这些逻辑并得到结果。我的思维过程中一直是以业务逻辑为中心的,线程只是为了执行这些逻辑的,是附属与逻辑代码的。图 1 用冲咖啡来比喻我的思维模型,因为两者非常类似。准备水、咖啡粉和咖啡机就象是写业务逻辑,电源插座就是线程,咖啡机插上电源就是线程开始执行业务逻辑代码。 线程编程 冲咖啡  1,编写业务逻辑  1,准备水、咖啡粉和咖啡机  2,创建一个线程  2,找一个电源插座  3,用线程执行业务逻辑  3,给咖啡机插上电源 线程池模式 除非你的程序很大,象一个自动售货机一样,上一次货后可以接受多个购买请求,否则你要为每一个业务逻辑创建一个线程。当你有很多小的业务逻辑,单纯地使用线程模式将会领编程很麻烦。于是开发了线程池,可以通过重用来更有效地使用线程。 这里的线程池指的并不是简单的把线程放在一起,而是指通过把线程管理起来,提供一个API来让程序员可以提交任务,并执行这些任务。这样的话,线程池就变成了一个类似第三方的服务。这个服务接受任务,并返回一个token(比如Java中的Future)给调用者,让它可以随时了解它提交的任务在线程池中的执行情况。 线程池模式要比单纯的线程模式要更高级,因为它所建立的接受任务的服务形成了一种不存在于机器底层的抽象特性,这种抽象特性更接近程序员的思维方式。使用这种模式的时候,程序员不仅仅专心于业务逻辑,还要考虑线程池这个重要的角色,并要考虑多个任务围绕着线程池,以及如何互相协作的问题。 图 2:用线程池编程时的思维模型 在线程模式中,一个线程可以看成是业务逻辑的一个附属,它的全部用途就是执行该业务逻辑。而在线程池模式中则有所不同,一个线程池不是仅为一个业务逻辑服务的,整个线程池是一个独立的实体。程序员在编程的思维过程中必须同时考虑多个任务和线程池,线程池不是任务的附属。而且线程池的独立性也反过来影响到对任务的设计,比如一个大任务可以分解成多个更小一点的任务,由此又增加了任务的通讯的需求。 FastMessenger模式:先通过一个例子来介绍该模式 Fast Messenger 是一个半年新的编程模式(看成工具库也行),可以用来并发编程。我先通过展示一个简单的例子,来快速介绍一下Fast Messenger的程序看起来是什么样子的。之后我们再来分析该模式是不是一个并发的编程模式?是高级还是低级? 1 public class Fibonacci { … Continue reading

借助中华万年历实现个人时间管理的实践和反思

人生的道路,存在着时间与价值的对应关系。有目标,一分一秒就是成功的记录;没有目标,一分一秒都是生命的流逝。赫胥黎曾说:“时间是最不偏私的,给任何人都是24小时;同时也是最偏私的,给任何人都不止24小时。”如何把不偏私的24小时变成可以继续拓展、延伸的24小时,便是时间管理要解决的问题。 下面就来讲讲我利用中华万年历来规划和管理自己时间的过程和思考。 首先简单介绍一下我所使用的工具,中华万年历是一款有完整的公农历日期显示,可对日程,记事,生日,纪念日,倒数日进行详细活动编辑,可按公农历年月周日重复,有正点提醒或者提前一小时一天等多个选择方便灵活的实用软件。     到底怎么具体使用才能达到最优效果呢?我们可以先来认识几条时间管理的法则。 认识2/8法则:英国人帕累托发现了这条有关财富流向的经济学原理:80%的收获来自20%的努力.其它80%的力气只带来20%的结果。少数的几桩事却成就了大部分的价值。如果我们能鉴别出并且把时间更多投入这少数的事,就掌握了大部分的效益。 象限原则:也称第四代时间管理,这个听起来似乎很难的法则其实很容易理解:将事情分成重要紧急、重要不紧急、紧急不重要和不重要不紧急四类。当事情来临,先归类判断是属于哪一类,就知道要不要花时间或花多少时间是合宜的。 利用中华万年历,我会先思考今天有哪些要做的事情,然后添加日程和不同的时间段的提醒,通过2/8法则选择头脑最灵活,精力最充沛的时间段来解决问题。这样每天的任务表就能在提醒里面看的很清楚,哪些事情不需要做了就可以删除或者备注。工作当中的一些工作摘要或者忽然有什么感悟或者事情需要反思,可以记在记事本里,下班前后可以翻看思考不断进步。长期坚持,不断制定周计划,月计划,每月小结,季度总结,年终总结,你就会发现你在不知不觉中就高效率高品质的完成了工作。 通过这一段时间的实践操作,自己也总结了一些心得经验,跟大家分享时间管理的一些理念和小方法。 1. 将要做的事情根据优先程度分先后顺序。运用2/8法则,善于区分有价值的事情,根据价值大小,分配时间。 2. 要具有灵活性。一般来说,只将时间的50%计划好,其余50%应当属于灵活时间,应对各种打扰和无法预期的事情。 3. 对所有没有意义的事情采用有意忽略的技巧。将罗列的事情中没有任何意义的事情删除掉。 4. 要有优先级次序。曾经有一个教学生做时间管理的老师,他上课时带来两个大玻璃缸和一堆大小不一的石头。他做了一个实验,在其中一个玻璃缸中先把小石、砂倒进去,最后大石头就放不下了。而另一个玻璃缸中先放大石头,其它小石和砂却可以慢慢渗入。他以此为比喻说:“时间管理就是要找到自己的优先级,若颠倒顺序,一堆琐事占满了时间,重要的事情就没有空位了。” 5. 遵循生物钟。一天中,什么时候办事效率最佳?将优先办的事情放在最佳时间里。 6. 用好下班前的10分钟。许多人快到下班时间就心不在焉了。其实,下班前的10分钟是“黄金时间”用好了,可以起到“承前启后”的作用。 (1)整理办公桌。下班前将办公桌整理得干干净净,才算真正结束一天的工作。 (2)整理记事本。记事本上记载了一天的工作摘要,包括当天会见的人士,新获得的名片资料等等。内容多半繁杂无章,故在一天工作结束前将它整理一下。 (3)检查工作日程。当天应进行的工作项目,己完成的做上记号,对未完成的项目也做到心中有数。 (4)拟定次日的工作日程。把当天的工作表检查完毕后,接着列出次日应进行的工作项目,拟订工作表,此时可参照记事本,以防疏漏。    《大学》说,“物有本末,事有始终,知所先后,则近道矣”。我们无法使时间停留、倒置,但我们可以控制时间的“流向”,就是通过有效的时间管理,让时光流向有意义的地方。 推荐阅读 时间管理第二课:Do It Now(10) 《一万小时天才法则》感悟与评论(上篇:精深)(18) 推荐2本【时间管理】英文有声读物下载|英语有声读物下载(6) 永远先做最重要的事(25) 如何缩短学习疲劳期 克服厌学情绪(7) 如何消化你每天获得的信息(42) 5个简单的方法开始高效率的一天(26) 左岸《E总结,F计划》读书笔记(7) 战胜懒惰?(1) … Continue reading

© 2012 . All rights reserved.

先要变成恶人才能成为成功的企业家?

我最近读了Ben Austen发表在WIRED上的一篇关于Steve Jobs的文章,读完之后我突然有种想把一直以来的关于如何成为成功的企业家想法整理成文的冲动。Austen的文章有点夸张的刻画了一个很有特点的Jobs,并列举了他曾犯下的一系列错误,让读者觉得:一定要先成为一个混蛋(Jerk),你才能成为一个成功的企业家,否则你只能成为一个平庸的人。 让我们先来看看Austen是怎么总结的: 1,1975年,游戏公司Atari让Jobs和Wozniak帮他们做一个游戏叫Breakout,并给了他们一些钱。Woz昼夜奋战花了四天时间做出了这个小东西,但乔布斯却把他们得到的钱全装进了自己的口袋。Austen评论此事说乔布斯这分明是在欺负同伴。但我却认为,让员工工作的做更出色并不意味着应该公平的对待每个人,相反,人们在面对挑战时反而发挥的更出色; 2,1981年,Jobs拒绝向苹果的第12号员工Dan Kottke兑现股票。一位员工把公司其他员工的股票拿出来跟Kottke的股票数量对比,证明Jobs给Kottle的实在太少了。但Jobs还是回答说:不,我一点都不会给他。Austen认为,好的领导不应该感情用事,否则会让你的员工不忠诚。可我却觉得,不感情用事不代表不去奖惩员工。事实上,关心员工,客观的评价这些人和事,才能留得住员工; 3,1994年,Jobs这宣布他将要解雇四分之一的Lisa项目组的员工,并告诉那些员工:“你们是失败的,你们中的很多人都是B级甚至C级员工。”鼓励员工并不是说你应该去威胁恫吓那些表现不好的员工,相反,去接受那些B级员工并去修正他们的错误才是最重要的。你用平和的心态,绅士的语气一样可以搞定的。 4,2005年,Jobs在Whole Foods点了一杯Smoothie(果汁),但柜员给他的那杯不怎么合他口味,他因此而抱怨人家无能。Austen对此评论说,你不能强迫世界上所有人都按照你希望的方式去工作,另外,你的权限是不是越界了? 我无意去纠结Jobs这个人的性格究竟是什么样或者不是什么样,这没有意义。成功的企业家没有模板,成功企业家什么样的都有,他们会有不同的弱点,观念,偏见以及他看世界的方式。不过,这些成功的企业家身上也的确存在一些同性。而这些同性才是值得我们探讨的。 B级员工: 打造一支由优秀员工组成的队伍是每个企业家的梦想,也是那些成功的创业者应该做的。但Austen的文章表示他这样做只能有两种结局:要么打造一支A级员工队伍,要么让那些员工不敢犯错。 去接受那些B级的员工并去修正招聘他们时犯下的错误才是最关键的。如果你不能把这些B级员工放到那些他们更能胜任的岗位上的话,这会打击到那些优秀员工的积极性。Austen的提到的这一点是正确的,但怎么去执行值得探讨。用温和有礼貌的公平的方式是可以做到的,而不是对他们大吼大叫的。 每个企业家都应该具有与员工沟通的能力和意愿,但你必须是公正客观诚恳的。用公平客观的态度对待每个人包括你自己,这样你才不会翻船,才能鼓励大家做到最好。如果员工做的工作不够好,做的产品不够完美,你要有勇气去驳回他们,并明确的指出缺点或者错误。不论这事儿有多棘手,但在这个上面花点时间是值得的。你应该足够坚定,追求卓越,并用正确的语言评价他们的工作。 也就是说,我更需要哪怕是粗鲁的诚实而不是虚假的有礼貌。这可能会伤害一部分人的感情,但这不会对那些A级员工产生真正的伤害。容忍马马虎虎和对某些重要的事情的要求放低是致命的。培养忠诚度,信任,积极性和团队意识对一个队伍的长期发展是必须的。创造这种诚实的,不感情用事而且公平的环境对形成良好的忠诚度也很重要。 那些规范和行为礼节,如果它是合理的,会增加你成功的机率。更多人的会愿意与你一起工作并和你一起走向成功。批评人或事的时候应该更注意对事不对人。这很难做到,特别是当你快被弄疯了的时候,但是自我训练,自觉,甚至让别人提醒你也是个好方法。Google的Page,Brin还有其他一些人都很成功,但他们并没有先变成一个混蛋。他们更注意事情的逻辑,愿意去讨论“为什么”。 团队建设: Jobs的成功是因为他的高标准严要求,他睿智的看待问题的方法,以及他近似残酷的激情,这让人们愿意跟他一块工作。关于他和Woz的那个故事,就是Jobs没给Woz钱的那个故事,Austen放在他的文章里是希望告诉读者:追求卓越和利用别人是一回事。但我没看出这两者有什么关系。或者Jobs认为Woz只是个B级员工?我也不知道他当时怎么想的,但一个好的企业家应该追求更好并去平衡和补偿那些不公平。这应该成为你们公司文化的一部分,应该被每个人记在心里。我相信应该告诉那些没有创造价值的员工他们不适合那个环境,应该去更适合他们的岗位。把B级员工放在一个非常重要的位置对其他人是不公平的。忍让或者不去面对这些困难的事情都会对整个团队起反作用。 设定一个高标准应该是团队文化的一部分。客观的做决定是很重要的,但作一个好领导与作一个独裁者是不同的。有很多人不能像Jobs那样做事,但很明显有些事还可以做的更好。你没必要非得先变得粗暴才能成功。不过有的时候太理性会让人觉得你太有控制欲,不过只要是公正客观的,就同样会赢得尊重。 公平和道义是一个团队建立信任的核心。做一些略微出格的事也是允许的,只要它合法,合理和公平。慷慨大方也对建立信任有所帮助。在Sun公司,我们不分职位高低,均分了创始股票,效果不错。而Netflix就准备效仿。 坚定的追逐梦想: 梦想拥有自己的成功的方式和别样的未来是每个伟大的企业家必备的特质。坚持你的想法。剩下的事情就是让大家用同样的方式看问题并与你站在一起。这样你就不会被再被看作一个疯子了。 但是,如果“成为一个偏执狂”意味着拒绝妥协,或者努力的追求完美,或者不去容忍那些B级员工,那你就去做吧。你不必被那些说法阻挠。事实上只有很少一部分事情值得你为它们留出精力。不过不要欺骗你自己。“让世界改变”需要更大的牺牲,这一点在Austen的文章里也提到了。它有可能让你觉得自己不是个好家长,与社会格格不入,或者是一个为了成功不择手段的人。 成为一个企业家不是一份工作,而是一种生活方式。你会有很多事情要做,但你应该知道什么事有最高的优先级,什么事应该去做什么事应该放弃。这样你就不会觉得自己放弃了太多。当我最忙的时候,我的孩子还小,所以我选择牺牲了很多别的事情,除了我的家庭和工作。我养成了每个月在家吃25顿晚饭的习惯,我会让我的助理每个月汇报我在“回家吃饭”这个任务上的表现(每件重要的事情都值得仔细记录)。我发现好多人都保留着陪孩子的时间,大约是每天的下午6-8点,牺牲了一些别的事情的时间。找到你为什么要做正在做的事情的原因,是因为名誉?财富?朋友?热情?影响力?不管是什么,你要弄清楚,并且保持坚定。你可以既“Change the World”又能拥有很好的家庭生活,而其他的事情可以被牺牲掉一些。 总之,伟大的企业家是由激情驱动并有勇气去执行的人。他们不是什么特殊的人,不要因为害怕成为Jobs那样的有点偏执的人就不去做你想做的改变世界的事情。我们的世界因为Jobs的出现而变得更好,但我们还需要更多的人来改善我们的能源,医疗,贫困,食物,教育以及其他一些我们的面临的问题和挑战。这都是非常值得鼓励去做的事情,哪怕你这个事业是不挣钱的。马丁·路德·金告诉我们:人类的救赎来自不适应主流环境的人的创意之手。看来,他也懂得几分企业家之道。 Via  TC 除非注明,本站文章均为原创或编译,转载请注明: 文章来自36氪 来微信加36氪为好友吧,打开微信“添加朋友”->按号码查找,然后输入“36氪”添加好友。[二维码] 您可能感兴趣的文章: 与Google Search产品经理谈搜索的未来:更自然,就像与朋友聊天一样 消息传递服务Dispatch:Dropbox等云应用的信使 Maluuba的“Do Engine”想要挑战苹果的Siri 连载:《Paul … Continue reading

© 2012 . All rights reserved.

幸福有关波长

有一日在医院,看到电视上正播放一医学研究节目,上面说男人和女人的幽默感不一样。有些刺激只能让男人发笑,有些只能让女人发笑。研究者还发现,女人多和能把自己逗笑的男子结婚(He makes me laugh.)。在共和党2012年全国代表大会上,安·罗姆尼回忆自己认识罗姆尼的时候,说这是她看上罗姆尼最重要的一个原因:… more than anything, he made me laugh. 顺便说一句,她还说:他很紧张。女孩子喜欢这个(He was nervous. Girls like that.) 女性这种奇特爱好,我以前一无所知。 男子多和对自己的笑话发笑的女子结婚(She laughs at my jokes!) 说不定,理想的婚姻应该就是夫妻双方的幽默频率对上了,在家一个说一个笑,活活笑死。二虎骑龙背,笑煞老牛皋,气死金兀术。一个女子如果选择丈夫选花了眼,候选人条件差不多,那干脆,也别看什么高富帅白富美了,就挑那个能把你逗笑的那个,或者你的笑话真心能把对方逗乐的那个。以后还有几十年呢。否则你说她不笑,她说你不笑,大眼瞪小眼,你闷我也闷,那日子还要不要过? 频道对不对,英文里有个说法:Are you on the same wavelength? 意思是:你们波长一致吗?波长不一致就是说性格不合。 《新闻周刊》曾登过一篇外国人写的关于中国离婚问题的文章,作者说:中国的离婚率越来越高了,很多人在性格不合的委婉掩饰下,通过法庭终结婚姻。西方人认为中国人委婉,所以他们以为“性格不合”是性生活阴到多云的一种曲折表示。安妮·普鲁克斯在《老谋深算》中也记载了这么一种情形,说某夫妇性格再怎么不合,一钻进被窝,波长就一致了,跟我们说的“床头打架床尾和”一回事。圣经中说人不可怀着怒气过日子,“生气却不要犯罪。不可含怒到日落。也不可给魔鬼留地步。”(《以弗所书》4:16-17)。 但话说回来,波长一致与否并非一成不变。有些收音机会串台,甚至会有敌台干扰的。婚前女子对男友的笑话发笑,婚后男友说一样的笑话,说不定对方会说是神经病。或者相反,婚前根本不好笑的事,婚后好笑了起来。频道是需要调整的,不能指望永远对上。 过日子一张一弛的文武之道,有起有伏乃生命节律。 平淡也是福。夫妻双方或许不再哈哈大笑。但是乐子是自找的,柴米油盐一地鸡毛的日子里,扑哧一笑,莞尔一笑,照样楚楚动人。很多矛盾,可以一直往大处闹,但是最终选择了嘿嘿一笑的人,或许是最大的赢家。 来自:南桥的博客 因为盗链严重,而我们服务器带宽有限,所以图片设置了防盗链,请见谅。如果您的阅读器看不到图片,请订阅 http://feed.luobo8.com/ 即可显示图片。 部分文章附有精彩小视频,如果您的阅读器无法观看视频,请移步原文链接: … Continue reading

© 2012 . All rights reserved.

个性化阅读,看上去很美

编者按:本文是电子科技大学互联网科学中心在读博士刘浩的供稿文章,刘浩的主要研究方向是个性化推荐系统及社交网络的数据挖掘,点这里关注他的微博。 阅读,作为互联网最基本功能之一,始终是网民获取信息的最重要形式。随着个性化推荐技术在电子商务领域取得巨大成功,个性化开始逐步渗透到互联网的阅读领域。互联网发展到大数据时代,也给个性化阅读提供了合适的温床,国内外互联网围绕着个性化阅读的产品层出不穷。2010年以FLIPBOARD和ZITE为代表的个性化阅读产品的兴起,引起了国内个性化领域的争相跟风。一时间,众人高呼着“个性化时代来了”的口号,各种打着个性化阅读旗号的产品纷纷诞生。 个性化阅读的出现,是外部环境,技术成熟和用户需求三方面共同作用下出现的必然产物。但是,国内个性化阅读产品在使出浑身解数四处突围的同时,我们却鲜见有当年RSS那样具有划时代意义的产品的诞生。个性化作为大数据沙漠里的一个天然绿洲,所有人都在描绘着那里美好的图景,一直看着很美好却不知通往绿洲的捷径。 UGC模式的爆发标着的互联网大数据时代的到来,以用户社交网络为基础和用户信息流为载体的社交媒体已经在自觉不自觉中生长出了个性化的萌芽,然而以此为基础的信息流有着严重的弊端,内容过于杂乱,信息价值不高,信息量过大的问题随着社交网络的日益膨胀显得越来越明显。这些大规模的数据对于个性化阅读来说,却是绝好的冷启动数据训练集。微精和优微正是怀着这一美好的目的开始了在这方面的尝试,但是在不久前微精的倒下,却给了这一美好愿望一记重拳,排开其他因素不说,单是推荐挖掘需要的大量用户数据和OPEN API各种请求限制之间的矛盾,都让所有在此方向上努力的人们提心吊胆。Twitter不久前修改的API协议和新浪微博推出极具争议的智能排序无疑给出了一个明确的信号——这是一块金矿,但是只能我们来挖。 在大树不可靠的情况下,大部分个性化的阅读产品必须面临一个冷启动的问题。个性化推荐的技术发展到今天,无论是传统而且成熟的协同过滤,还是现在兴起的社会化推荐,抑或采用多种数据挖掘的手段,用户的兴趣的分析都需要基于一定量的数据。获取用户的输入本身就是一个用户体验极不好的过程,这是一个考验用户耐心和推荐精度的博弈。优推网显然高估了用户的耐心,选完分类还不算还要老老实实回答5个对用户来说莫名其妙问题,即使有耐心完成这些步骤的用户,基于如此少量数据推荐的信息也足以让用户丧失信心。板报网尽量减少了用户的烦恼,但是一开始满屏幕大杂烩式的推荐很难让用户读懂个性化阅读的含义。牛赞网,阅米网的初始化显得稍微人性化一点,分类较为细致让用户容易选择,同时保证在初始推荐的时候内容至少较有关联性。指阅的初始化显得更加精致,在大分类下还细分了具体的兴趣点,用户输入稍微繁琐但是用户体验设计得很流畅,如此细致的设计也保证了初始推荐时候内容的精确性。无觅作为最早踏足国内个性化推荐领域的产品,估计在最初做第三方推荐工具时积累了不少珍贵的数据,其初始化以用户订阅RSS开始,显示了无觅稳妥的作风,先做好内容的聚合,然后慢慢挖掘出你的兴趣。V剪客或是受启发于Pinterest专辑的点子,用户开始的时候需要订阅感兴趣的专辑,但是每个分类下数量众多的专辑让用户又陷入选择的困境。还有一些如ZAKER,网易阅读,极阅,鲜果,爬藤等个性化阅读产品大多是以订阅网站的RSS为手段,显得更像是一个美化版的RSS阅读器。 个性化阅读冷启动的完成,只是个性化阅读体验的刚刚开始。用户获取阅读内容的来源又成为一个分水岭。ZAKER,指阅,网易阅读,极阅,鲜果,爬藤,板报网,阅米选择了聚合内容,这些产品更像是一个带过滤器的RSS阅读器升级版,通过聚合各种RSS来源的新闻并经过算法排序(或没有)后推荐给用户。V剪客,简网则选择了一种UGC的方式来获取内容,通过用户提交的形式来充实内容池。牛赞网,无觅则选择了中间道路,采用内容聚合和UGC混搭的模式来获取信息。从用户体验上讲,内容的聚合显然更有利,能够很好地格式化文章内容实现优美的文章排版和阅读体验,因此走上这条路的产品大部分都不约而同的选择了抓住移动端的阅读。但从个性化阅读的本质上讲,内容的聚合还是让用户的视线受限于目前能够收录到的新闻源,然而这些有限来源相对于每天要产生200多万篇博文的互联网来说,并没有从根本上解决帮助用户发现未知的个性化资讯的问题。同时,内容聚合的方式面临的最大危险来自于版权问题,我们可以从ZITE之前的官司和ZAKER最近下线了一些订阅频道嗅到一些味道。相比之下,简网,V剪客,牛赞网,无觅选择的用户提交内容的模式会更加被看好,虽然这几个网站背后的推荐机制各有不同,但是都是试图构建基于用户阅读兴趣的社交图谱,利用阅读兴趣的社交网络获取信息长尾中的内容进行社会化推荐的想法——人的推荐永远比机器靠谱。值得一提的是,简网和指阅都是同一个妈生的,但是选择了不同的内容运营机制,或许是基于的这样思考的一种实验? 个性化阅读毫无疑问是未来互联网关注的一个热点,谁都可以看到当一个产品完全熟悉一个人个性化阅读偏好后潜在的巨大商业价值。但是在大数据的沙漠中,通往个性化绿洲的道路往往都充满着各种海市蜃楼,让我们拭目以待看谁能够坚持到最终的目的地。 感谢在个性化阅读道路上奋斗的人们,就像Alta Vista、Lycos、Excite之于Google,不是每个人都能赢得最终胜利的花环,但是个性化阅读道路上每一步都有你们坚实的脚印。 除非注明,本站文章均为原创或编译,转载请注明: 文章来自36氪 来微信加36氪为好友吧,打开微信“添加朋友”->按号码查找,然后输入“36氪”添加好友。[二维码] 您可能感兴趣的文章: Bezos谈Amazon的价格策略:保持低价的同时如何赚钱 在你碰到对的事、处在一个对的状态前,你很难想象那到底是怎样一种状态 继续去Google化:继抛弃Google使用诺基亚地图后,Amazon在Kindle Fire HD中将微软Bing设为默认搜索引擎 欧洲天使眼中的互联网创业者类型 浅谈用户体验背后的8个用户本能 from 36氪 http://www.36kr.com/p/151556.html Doris Duke wore those a year or two before she died woolrich arctic parka Male Grooming … Continue reading

© 2012 . All rights reserved.

温故知新(4)——抽象工厂模式

概述 工作中,我们经常需要创建一组对象,这组对象相互相关或者依赖,形成一个系列,系列中的对象不能与其他系列中的对象混用。为系列中的每种对象建立工厂可以满足对象创建的需求,但是无法保证它们是同一系列的。这时引入抽象工厂模式可以解决上面的问题。下面是GOF给出的抽象工厂模式的意图。 提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。 抽象工厂的优点: 1、客户端不依赖具体实现类,符合依赖倒置的OO原则; 2、可以生成一系列的对象,生成不同的系列的切换比较方便,同时也可以保证一致性; 但是如果在新的系列中增加新类型,将会引发所有工厂类的修改。 如果注意观察,会发现很多框架的扩展点就是使用抽象工厂模式实现的,比如WCF、Unity等等。 抽象工厂模式比较常用,而且主要的是为了实现依赖倒置,所以实际中很多情况下都是用DI框架完成实现了。 结构 抽象工厂的类图相对比较复杂,不过本质就是表达了,客户端依赖几个抽象,而不是这些抽象的具体实现的依赖倒置关系。为了便于描述,下面将系列中包含的类型称为产品,即下图中有两种产品A和B,以及两个系列1和2。 模式的参与者如下: 1、抽象工厂,提供了创建系列中各个产品的抽象方法——AbstractFactory; 2、具体的工厂实现,用来创建某一个系列的产品——Factory1、Factory2; 3、产品的抽象——IProductA、IProductB; 4、每个系列的产品具体实现——ProductA1、ProductA2、ProductB1、ProductB2; 5、客户端类,只依赖于1和3的抽象——Client。 示例 假设我们有一个网页,需要提供两种风格的头和尾(比如男性版和女性版)。这两种风格的头尾当然不能混用,否则效果将是惨不忍睹。所以要嘛使用风格1,要嘛使用风格2,两种风格构成了两个系列,页面头部和尾部构成了系列中的两个产品。下面用抽象工厂实现。 1、定义页面头部的接口IHeader。 1: using System; 2:   3: namespace DesignPatterns.AbstractFactory 4: { 5: /// <summary> 6: /// 头部 7: /// </summary> 8: … Continue reading

© 2012 . All rights reserved.

你真的了解 Google 这家公司吗?

也许有一天,“谷歌一下” 会变成 “生活” 的同义词。 (图片:James Martin/CNET) (文/Stephen Shankland)如今的谷歌已经远不止是一个搜索引擎了,而他们正在做的事既令人兴奋,又令我们感到有些恐惧。 就谷歌的财政状况和技术前景来说,搜索仍然是至关重要的。但另一方面,他们正在把从搜索业务中赚到的钱投入到其他领域,以扩大其业务范围。而最终,谷歌将不再只是互联网上的一个路标。 它正在变成的,将是你大脑的延伸,是一位无处不在的数字助理,甚至能在你意识到自己需要什么之前,就了解并满足你的需求。想象一下,当你还在办公室工作时,谷歌就能根据你女儿曾去过的地方、她的精神饱满程度和她的体温,及早诊断出她生病了,然后开着你的车从学校把她接回家。或者当你在一个陌生的国家乘坐火车旅行时,谷歌会自动将你听不懂的列车紧急通知翻译成你能理解的语言。再或者,谷歌会帮助你掌控投资计划,避开投资骗局。 从根本上说,谷歌正在与你的生活融为一体。试想,当你出门旅游时,谷歌会根据你当前的参观对象,为你播放一段特别定制的解说音频,还会在一路上将精彩的照片与你的朋友分享。在你开车时,如果谷歌根据你的驾驶反应时间和眨眼频率认定你处于过度疲劳的状态,它会自动接管你的汽车,并将其安全开到目的地。而当你遭遇劫匪时,只需要说一个与抢劫有关的词,谷歌眼镜就能自动识别你所处的险境,并将现场拍摄到的声音与画面实时传输到警察局。 听上去不错吧? 至少我是这么觉得。但同时,这又可能是一个十分令人恐惧的变化。如果你想让谷歌帮助你生活得更舒适,你必须赋予谷歌机器人前所未有的权力,来监控你的个人信息和行为。你每天要吃哪些药?你刚才走过公交车站时瞟了哪个广告牌?信用卡号又是多少?随着谷歌逐步将社交信息与他们提供的服务相整合,你得决定该和谷歌通讯录里的朋友们分享多少信息——当然,你还得知道该怎么邀请才是让他们也来分享数据的最好方式。 现在就想想清楚,什么是你不可逾越的底线 对未来的谷歌完全放心是鲁莽的,就像百分百信任如今的谷歌一样。我想上面那些像科幻小说一样的场景在三五年内就会成为现实,所以现在你就该好好想想,自己心中那条不愿让谷歌碰触的底线在哪里了。 至于我,虽然已经是一个谷歌脑残粉,但我仍然担心那些便捷的新功能会带来难以察觉的细微变化,日积月累之下,有一天我一觉醒来会突然发现,谷歌已经闯入了我生活的方方面面。 Google Now 需要访问我的日历?似乎挺有用的。我的安卓手机需要打开麦克风,这样我手机上的 Google 地图 App 就可以根据环境背景音来确定我是在室外还是在室内?不错,也许这能帮我更快穿过熙熙攘攘的机场。又或者,我的谷歌眼镜需要识别我公司同事的脸,这样谷歌就能推断出该把哪些人的电话转接到 Google Voice 答录机,而另一些人的电话即便是在凌晨 3 点打过来也该直接转到我的手机上?很好,我当然不想手动设置这么多联系人。 分开看,这些变化似乎并没什么大不了的。但当它们累积在一起时,便会产生巨大的影响。 事情就是这样:你想让电脑帮你做更多的工作,让你的生活变得更便捷,那你就得给它更多的权利来了解你的个人生活。而对谷歌和用户来说,是时候好好想想该不该从广告支持的免费服务向收费服务转型了。 我们得面对这样的事实:谷歌并不是没有前科的。这家以行动派而著称的公司在 2007 年发布了街景服务,但一年后才开始自动模糊照片中的人脸,而允许房屋业主将他们的房子从街景照片中移除则是更晚的事了。在为谷歌地图收集地理位置信息时,他们还 “不小心” 获取了不应获取的 Wi-Fi 数据。他们还绕过了iOS 系统中 Safari 浏览器那些烦人的隐私设置。而Google … Continue reading