关于《淘宝技术这十年》

在书中我读到了一个大公司的诞生真是很难,实可谓是一个小概率事件。
  • 首先,论天时,当时eBay还没有进入中国,并且正赶上国内非典,老百姓都躲在家里不敢上街买东西。
  • 其次,论地利,其实这一条比较牵强,因为除了小黑屋(马云在杭州的一个普通住宅,一般在一个大项目出来之前,该项目的前身都在那里加班加点,并且保密的集中突击)那个地方之外,书中过多没有提及地点这个条件,如果非要算上,那就是马云有自己的房子吧.......    
  • 最后,论人和,这个印象非常深刻。淘宝技术部门的最前线中,有一个元老级的成员——花名:多隆(在这里补充一下淘宝里的员工都有自己的花名)。他在淘宝初创的时候就加入了阿里,但直到十多年后今天依然奋战在写代码的第一线。其实像他这样的资历完全可以进入管理层,或者回家拿着分红享清福了。但是他凭着对计算机科学的热爱,一直都奋战在最苦最累的第一线。他这十年来一直都在进步着。哪个企业如果有这样的员工,真的是企业是福气。

作者:叔度(朱照远)2013

1、光棍节的狂欢

  • 2011年年底,淘宝网拥有全国最大的Hadoop分布式计算集群之一(2000多个节点,CPU24000 coreMemory48000GBDisk24000块),日新增数据50TB,有40PB海量数据存储,分布在全国各地80多个节点的CDN网络,支撑的流量超过800Gbps
  • 你刚才在淘宝上买了一件东西》(来自阿里员工卡特)
  • 任何网站的发展都不是一蹴而就的,通常是在什么阶段采用什么技术。在发展的过程中,网站会遇到各种各样的问题,正是这些原因才推动着技术的进步和发展,而技术的发展反过来又会促进业务的更大提升。二者互为因果,相互促进。

 

2、个人网站LAMP

  • 200347日,马云在杭州成立了一个神秘的组织。他叫来十位员工,要他们签了一份协议,这份协议要求他们立刻离开阿里巴巴集团,去做一个神秘的项目。马云给他
  • 们布置了一个任务,就是在最短的时间内做出一个个人对个人(C2C)的商品交易的网站。(淘宝网)
  • 这个创业团队的成员:三个开发工程师(虚竹、三丰、多隆)、一个UED工程师(二当家)、三个运营工程师(小宝、阿珂、破天)、一个经理(财神),以及马云和他的秘书。
  • 了解淘宝历史的人都知道淘宝是在2003510日上线的,200347日到510日,这之间只有一个月时间。要是你在这个团队里,你怎么做?不是抄一个来,我们的答案是——“买一个来
  • 那么接下来就是第二个问题:买一个什么样的网站?答案是:轻量一点的,
  • 简单一点的。于是买了这样一个架构的网站:LAMPLinux+Apache+MySQL+PHP),这个直到现在还是一个很常用的网站架构模型,其优点是:无须编译,发布快速,PHP语言功能强大,能做从页面渲染到数据访问所有的事情,而且用到的技术都是开源、免费的。当时我们是从一个美国人那里买来的一个网站系统,这个系统的名字叫做PHPAuction。最高版比较贵,花了我们差不多2000美元
  • 买来之后不是直接就能用的,需要很多本地化的修改,例如,修改一些数据类型,增加后台管理的功能,页面模板改得漂亮一点,页眉和页脚加上自己的站点简介等。其中最有技术含量的是对数据库进行了一个修改。
  • 美女阿珂提供了一个很好听的名字淘宝后来支付宝的名字也是阿珂取的)
  • 为了不引起eBay的注意,淘宝网在2003年里一直声称自己是一个个人网站
  • 随着用户需求和流量的不断增长,系统做了很多日常改进,服务器由最初的一台变成了三台,一台负责发送Email、一台负责运行数据库、一台负责运行WebApp
  • 随着访问量和数据量的飞速上涨,问题很快就出来了,第一个问题出现在数据库上。
  • 事实上,阿里巴巴和淘宝网都是在马云自己的房子里创办的,
  • 2003年年底,MySQL已经撑不住了,技术的替代方案非常简单,就是换成Oracle。换为Oracle的原因除了它容量大、稳定、安全、性能高之外,还有人才方面的原因。
  • 任何牛B的人物,都有一段苦B的经历。
  • 微博上有人说好的架构是进化来的,不是设计来的。的确如此,其实还可以再加上一句好的功能也是进化来的,不是设计来的
  • 最早的时候,买家打钱给卖家都是通过银行转账汇款,有些骗子收了钱却不发货,干脆逃之夭夭。这是一个很严重的问题,
  • 后来这几个聪明的脑袋,想出第三方托管资金的办法。于是在200310月,淘宝网上线了一个功能,叫做安全交易,卖家如果选择支持这种功能,买家就会把钱交给淘宝网,等他收到货之后,淘宝网再把钱给卖家,这就是现在的支付宝
  • 有人说淘宝打败易趣(eBay中国)是靠免费,其实这只是原因之一。如果说和易趣过招的第一招是免费,这让用户无须成本就能进来,那么第二招就是安全支付,这让用户放心付款,不必担心被骗。而淘宝的第三招就是旺旺。其实淘宝旺旺也不是自己生出来的,是从阿里巴巴的贸易通复制过来的。
  • 不能总这样通过不断地重启来保证系统的稳定性。于是,2004年上半年开始,整个网站就开始了一个脱胎换骨的手术。

 

3Java时代

脱胎换骨

  • 2004年初,SQL Relay的问题解决不了,数据库必须要用Oracle,那么从哪里动刀呢?只有换开发语言了。换什么语言好?用JavaJava是当时最成熟的网站开发语言,它有比较良好的企业开发框架,被世界上主流的大规模网站普遍采用。另外,有Java开发经验的人才也比较多,后续维护成本会比较低。
  • 请什么样的人来做这件事?我们的答案是请Sun公司的人。没错,就是创造Java语言的那家公司,世界上没有比他们更懂Java的了。那时侯eBay的系统刚刚从C++
  • Java,而且就是请Sun的工程师给改造成Java架构的,他们(Sun公司的人)不仅更懂Java,而且更懂eBay
  • 现在摆在他们面前的问题是用什么办法把一个庞大的网站从PHP语言迁移到Java?而且要求在迁移的过程中,不停止服务,原来系统的bugfix和功能改进不受影响。
  • 他们的大致方案是给业务分模块,一个模块一个模块地渐进式替换。说了开发模式,再说说用到的Java MVC框架,当时的struts1.x是用得比较多的框架,Sun的这帮工程师开发完淘宝的网站之后,用同样的架构又做了一个很牛的网站,叫支付宝
  • 其实在任何时候,开发语言本身都不是系统的瓶颈,业务带来的压力更多的存在于数据和存储方面
  • 2004年底,淘宝网已经有4百多万种商品了,日均4千多万个PV,注册会员达400万个,全网成交额达10亿元。
  • 到现在为止,我们已经用上了IBM的小型机、Oracle的数据库、EMC的存储,这些东西都是很贵的,那些年可以说是花钱如流水。
  • 花钱买豪华的配置,也许能支持1亿个PV的网站,但淘宝网的发展实在是太快了,到了10亿个PV怎么办?到了百亿怎么办?在几年以后,我们不得不创造技术,解决这些只有世界顶尖的网站才会遇到的问题。后来我们在开源软件的基础上进行自主研发,一步一步地把IOEIBM小型机、OracleEMC存储)这几个神器都去掉了。
  • 已经有读者在迫不及待地问怎么去掉了IOE?别急,在去掉IOE之前还有很长的路要走。
  • 弄两个数据库(分库分表),到达数据库容灾,即万一一个数据库挂了,整个网站上还有一半的商品可以买。
  • 亲,除了搜索引擎、分库分表,还有什么办法能提升系统的性能?一定还有招数可以用,这就是缓存和CDN(内容分发网络)。
  • CDN需要大量的服务器,要消耗很多能源(消耗多少?在前两年我们算过一笔账,淘宝上产生一个交易,消耗的电量足以煮熟4个鸡蛋)。章文嵩的团队又在研究低功耗的服务器。
  • 2006年,淘宝网已经有了1.5亿个的日均PV,商品数达5千多万个,注册用户3千多万个,全网成交额达169亿元。

创造技术TFS

回顾一下上面几个版本,1.0版的PHP系统运行了将近一年的时间(20035—20041月),服务器由一台发展到多台;

后来数据库撑不住了,将MySQL换成了Oracle,引入了搜索引擎(20041—20045月,叫1.1版本);

然后不到半年的时间又把开发语言换成了Java20042—20053月,叫2.0版本),数据服务逐步采用了IOEIBM小型机、OracleEMC存储);

随着数据量和访问量的增长,我们进行数据分库、加入缓存、使用CDN200410—20071月,叫2.1版本)。

这几个版本中间有些时间上的重合,因为很多架构的演化并没有明显的时间点,它是逐步进化而来的。

  • 在淘宝网整体流量中,图片的访问流量要占到90%以上,而且这些图片平均大小为17.45KB,这么多的图片数据、这么大的访问流量,给淘宝网的系统带来了巨大的挑战。对于大多数系统来说,最头疼的就是大规模的小文件存储与读取,因为磁头需要频繁寻道和换道,因此,在读取上容易带来较长的延时。在大量高并发访问量的情况下,简直就是系统的噩梦。我们该怎么办?
  • 对于淘宝的图片存储来说,转折点在2007年。这之前,一直采用商用存储系统,应用NetApp公司的文件存储系统。从2006年开始,我们决定自己开发一套针对海量小文件存储的文件系统,用于解决自身图片存储的难题。这标志着淘宝网从使用技术到了创造技术的阶段。历史总是惊人的巧合,在我们准备研发文件存储系统的时候,Google走在了前面,2007年,他们公布了GFSGoogle FileSystem)的设计论文,这给我们带来了很多借鉴的思路。
  • 随后我们开发出了适合淘宝使用的图片存储系统(TaoBao File SystemTFS)。3年之后,我们发现历史的巧合比我们想象的还要神奇,几乎跟我们同时,中国的另外一家互联网公司也开发了他们的文件存储系统,甚至取的名字都一样——TFS,太神奇了!(猜猜是哪家)
  • 到现在为止,淘宝网给每个用户提供了1GB的图片空间。(之前商家是只能上传一张小于120Kb的照片,后来五张)
  • 技术和业务就是这么互相借力推动着的,业务满足不了的时候,技术必须创新,技术创新之后,业务有了更大的发展空间。
  • 目前淘宝网的TFS已经开源(见code.taobao.org),业界的同仁可以一起使用和完善这个系统。
  • 淘宝在很早就开始使用缓存技术了,在2004年的时候,我们使用一个叫做ESIEdge Side Includes)的缓存(Cache)。ESI是一种数据缓冲/缓存服务器,它提供将Web网页的部分(这里指页面的片段)进行缓冲/缓存的技术及服务。
  • 每次都从内存里取,性能要好很多。这种应用场景就是memcached这种Key-Value缓存的用武之地。
  • 淘宝自创的Key-Value缓存系统——TairTaoBao Pair的意思,PairKey-Value数据对)。Tair包括缓存和持久化两种存储功能。目前,Tair支撑了淘宝几乎所有系统的缓存信息。Tair已开源,地址为code.taobao.orgTair作为一个分布式系统,由一个中心控制节点和一系列的服务节点组成,我们称中心控制节点为Config Server,服务节点是DataServerConfig Server负责管理所有的Data Server,维护Data Server的状态信息。Data Server对外提供各种数据服务,并以心跳的形式将自身的状况汇报给ConfigServerConfig Server是控制点,而且是单点,目前采用一主一备的形式来保证其可靠性。所有的Data Server地位都是等价的。Tair的架构图如下图所示。

2007年,淘宝网日均PV达到2.5亿个,商品数超过1亿个,注册会员数达5千多万个,全网成交额达433亿元。

 

4、分布式时代

  • 在系统发展的过程中,架构师的眼光至关重要,作为程序员,只要把功能实现即可,但作为架构师,要考虑系统的扩展性、重用性,
  • 一切要以稳定为中心,所有影响系统稳定的因素都要解决掉。
  • 2008年年底就做了一个更大的项目,把淘宝所有的业务都模块化,这是继2004年从LAMP架构到Java架构之后的第二次脱胎换骨。
  • 到此为止,应用服务切分了(TMIM)、核心服务切分了(TCIC)、基础服务切分了(UICForest)、数据存储切分了(DBTFSTair),通过高性能服务框架(HSF)、分布式数据层(TDDL)、消息中间件(Notify)和Session框架支持了这些切分。一个美好的时代到来了,高度稳定、可扩展、低成本、快速迭代、产品化管理,淘宝的3.0系统走上了历史的舞台。目前,淘宝已经变成了一个生态体系,包含C2CB2C、导购、团购、社区等各种电子商务相关的业务。开放出去之后,让无限的人都可以参与到这个生态体系的建设中来,这个生态体系才是完整的。

 

5、我在淘宝这八年

  • 面试我的时候,问我为什么到这里来,我说很欣赏这家企业发展这么快,这样的企业一定有很多高手,跟高手在一起成长一定很快。
  • 由于支付宝和淘宝是两个独立的系统,系统之间的通信是一个大问题,而银行与支付宝也需要通信,于是问题就经常出现:用户在银行付款后,未必能通知到支付宝,支付宝收到通知后,未必能通知到淘宝,于是用户的钱没了,淘宝的系统上却显示未付款,很让人崩溃。做了一个消息中间件系统,这个就是淘宝的Notify的雏形,现在Notify一天能发送几亿条消息通知,
  • 支付宝认证是淘宝的一个创新,淘宝在成立之初就要求卖家实名认证,最早的认证方式是让用户上传身份证照片,我们去连接公安系统的网站来核对信息,核对一个要交5元钱,成本相当高。
  • 新的认证方式:(现在支付宝认证的原理就是:)用户提交身份信息和银行账户,我们往这个账户里存钱,存进去之后,用户填写收到了多少钱(我们号称存过去的是1元钱以内的金额,实际上只有几分钱),如果用户填写的与我们向里面存的是一致的,那么这个人的身份就是对的。这不仅降低了认证的成本,也使认证的效率由原来的一周左右变成一天以内。
  • 我的淘宝AJAX挂了,
  • 淘宝有个传统,很牛的项目都要在小黑屋中进行,
  • 培训的本质到底是什么呢?经过老板提点,我们认为培训的本质是:通过知识的流转,促进员工的成长,进而推动公司业绩的提升

 

6、牛人列传

马云喜欢用武侠小说人物给同事命名。

淘宝知名工程师

正明(章文嵩)集团核心系统高级研究员,LVS集群项目创始人与开发者

  • 这几年工作的整体规划思路就是为淘宝网打造一个高性能、高可扩展、高可用、低成本的基础平台,基本上是在这四个维度上不断深入优化。
  • 我们从开源社区得到的帮助太大了。
  • 对刚入行的技术人员建议:找到自己感兴趣的,花时间投进去,通过实践后的知识积累比只看书本有用得多。

 

正祥(阳振坤) OceanBase项目负责人,淘宝顶级科学家

  • 一个人如果把做事、做成事作为主要目标,该他得到的东西,一定会顺理成章的、水到渠成地得到,但是,如果把上升作为主要目标,做同样的事,结果就会完全不一样。一句话,你的心态会最终决定你的成就。


毕玄(林昊)集团核心系统资深技术专家

  • 一个好的网站真的是很难很难做,其中的技术含量非常高,有很多东西需要学习。但行好事,不问前程。(自身要多做义举做好当下,而不要去牵挂往后的发展。
  • 毕玄:其实在校招聘的时候,我比较欣赏的学生往往是那些很不务正业类型的。我经常会问他们,你有没有利用业余时间出于自己的技术兴趣做的一些小东西。这样的学生我们通常会比较感兴趣,我认为这样的学生是真正喜欢技术。聪明程度一般就可以的,他能够进入这些不错的学校,智商是不会有什么问题的。

 

放翁(岑文初)淘宝开放平台项目负责人

  • 从技术上看,我都是贴近实际的问题来找突破点,解决了问题,技术就掌握了。
  • 对新人的要求:第一个是做事要自己思考后再去问别人,而不是一遇到问题就找人求助。第二个是不断地打破自己的一些想法,你不要担心自己今天已经做了50%的工作,要是推倒重来,前面的事情都白干了。我现在带的两个新人成长很快,但是都有类似的经历,就是一个东西被我反复推翻重做,在这个过程中就是不断地成长,要思考我为什么让你推倒重做,若想不清楚,下次重做的


小黑(吴翰清)阿里云集团信息安全中心高级安全专家

  • 杀毒软件能保证客户端安全吗?——杀毒软件似乎是个人电脑的标配了,但这个只能做看起来安全,要真正的安全,其实是非常难的。像流行的木马之类的病毒,它第一个对付的就是杀毒软件,它在实施一次攻击之前,要看是不是通过了360诺顿、麦咖啡等各种杀毒软件,然后才会拿出来实施攻击。
  • 看你所处的行业和企业的规模来做安全方面的投入。安全的投入又分很多方面,例如,招人、买设备、买安全服务、做评估等。
  • 云安全服务?遭受多少次攻击,我们就帮你清洗掉,事后按次数收费,这个成本就降下来了,
  • (白帽子是做好事的,黑帽子是做坏事的)在招人的时候就很小心,要看他以前做过什么,历史不清白的是不能要的。
  • 有时不能说他们(黑客)的技术水平有多高,只是这些网站在安全方面做得太差了。
  • 子柳:对于白帽子黑客来说,有哪些信条或原则呢?
  • 吴翰清:首先要有职业道德,然后要假设一切都是邪恶的,我们自己的人也不能完全相信,要通过技术手段来保证,所有人的操作都有记录,做审计,然后收权限,我们自己也只有很少几个人有服务器的权限,保证我们自己也黑不掉公司
  • 每一个新技术的出现总会有人找到漏洞进行攻击,攻与防似乎是自然界生态体系的基础,在互联网行业,这个生态平衡吗?
  • 只要技术在不断地发展,就会有新的安全问题出来,这就像自然界一样,达到了一种生态平衡。(对于攻的人,他只需要找到一两个漏洞,对于防的人,要找出所有的漏洞,把它补上。
  • 给安全方面刚上路的技术人员一些建议吧?
  • 吴翰清:从基本功做起,研究常见的漏洞,把它查出来,并去分析它,不要用它来做坏事。另外,去看看公开的漏洞,研究一下漏洞的利用技巧。

 

云铮(张清)数据平台与产品部资深技术专家

  • 八年数据生涯的梦想是能够推动集团数据统一体系架构,为数据化运营,推动实现十年数据战略尽自己一份力。
  • 淘宝把中国电子商务从零开始到现在,几乎所有的数据都包含了,有B2BB2CC2C的商品数据,以及交易数据和支付数据。而Amazon只有B2C的数据,Google没有商业数据,都是搜索的信息。淘宝的数据从量和质上面都非常高,而且更适合中国的国情,这上面是中国人的消费数据。
  • 作为一名互联网技术老鸟,你的成长之路是什么样的?
  • 云铮:理想主义,兴趣+执著,看准一个方向后,无论是顺境还是逆境,都要不断地努力,不浪费时间和机会
  • 子柳:给技术刚起步的人员一些技术成长的建议吧。
  • 云铮:兴趣是最好的老师,坚持是达到梦想的唯一途径,当然,在个人发展的不同阶段寻找到合适的导师很重要,看准方向会事半功倍。在刚刚参加工作还没有形成自己的判断时,方向有两个来源,一个是个人的兴趣,一个是找一个你非常佩服且能掌握未来方向的人,当然,如果这两者正好重合,那么剩下的就是脚踏实地坚持

 

小马(赵泽欣)淘宝UED前端通用平台高级技术专家

  • 2006年加入淘宝后,他成了全网第一位前端工程师
  • Velocity大会,当时令我印象很深刻的是,有一个嘉宾分享了一个观点:性能更应该是功能……,这让我想到很多项目其实一开始都很关注功能,当功能通过后,先草草上线,而后再逐步完善性能上的问题,这个嘉宾的说法让我产生了强烈的共鸣,这种体会在这个大会上有很多。
  • 在国内很多会议的展台前就发放一些礼品、资料,有些就是放个盒子让参会者放入名片等,而在国外会议的展台前,我看到了更多的互动部分,他们会在展位前搞很多游戏式的互动来收集参会者的信息等,这种体验是很好的,让人觉得很舒服。
  • 子柳:小马是淘宝网第一个做前端的,目前还在做前端,现在有5年多了,给大家简单介绍一下淘宝前端的发展历程吧。
  • 小马:先给大家说一下前端是怎么来的,我自己对前端有一些思考。就以淘宝为例,一开始,淘宝就是一个社区,大家发布信息给别人看。随着互联网的发展,大家不仅仅要看到一个静态的页面,他们更需要有绚丽的页面,有更丰富的交互。也就是说,对体验的要求越来越高。这样交互难免变得越来越复杂,这个时候开发人员并不是很适合做这些事情,而是需要一个细化的工种来做这件事情。我个人认为传统的开发人员更多的是面向机器来开发的,更多的是考虑CPU的问题、内存的问题、数据库的问题。实际上需要一些开发人员对用户有更敏锐的感觉,他们来完成界面的问题,界面是互联网与用户交互的地方,他需要对体验有一些认识,对更关注。从另一方面来看,这几年下来,客户端越来越多,页面要适应很多客户端,这也不是传统的开发人员擅长做的事情。基于这些原因,就产生了这么一个新的工种。
  • 我们刚开始做的工作就是让页面动起来,做了很多JavaScript开发工作,让整个页面变得更加活泼,这是第一阶段淘宝前端的状况。
  • 到第二阶段,“AJAX”变得流行起来,它改变了整个业界的开发模式,第二阶段是前端和后端合作,让页面的体验更加友好。
  • 再往下一个阶段,我们发现越来越多的内容在浏览器中展现,越来越多的浏览器出现了(FirefoxChromeIE 6IE 8),这让前端越来越重,就出现了性能的问题,我们又需要做一些框架、规范和很多优化的工作。
  • 畅想一下前端未来的发展方向。
  • 小马:我认为,未来的方向是前后端的界线越来越模糊,即未来求开发工程师能够把前后端的工作衔接起来。我个人比较认可一种说法:经过这几年开发模式的渐渐发展,未来前后端的开发会融合起来,这样的岗位叫做“Web开发工程师
  • HTML5的目的是想让整个Web真正成为一个开发平台,或者说是让浏览器成为一个适合开发大型应用的平台。你看它的变化,首先HTML5标签的变化是让它更具有语义化,然后CSS3把很多展现型的东西做了加强,最重要的是新增的那些JSAPI,你现在已经可以在浏览器本地连接数据库、使用Socket、使用本地存储、获取地理位置等,很多我们以前开发过程中需要从后台取得的信息,现在都可以在本地浏览器中做。这使得浏览器变成一个适合做大型应用的平台,而不是像以前一样只做内容的展示。
  • 在淘宝的网站上,HTML5已经无处不在,淘宝是国内应用HTML5最早的网站之一。
  • 有三家公司对我们影响非常大。
  • 第一家是Yahoo(雅虎),前端岗位的定义就起源于雅虎。当时雅虎的发展如日中天,他们有很多优秀的技术和人才,并且最早提出前端的概念、框架和规范。我们的很多规范也是借鉴他们的,我们曾遇到的性能问题就参照雅虎提供的优化方案和工具(YSlow)。
  • 可以说,2007年至2009年,我们很多东西都是借鉴雅虎的。
  • 第二家公司是GoogleGoogle为什么对前端产生这么大的影响呢?是因为AJAX实际上是被Google变成一个商业上很成功的应用,它的GmailDocs等产品采用了大量的AJAX技术,AJAXGoogle的成功应用让很多前端和交互的工程师开始使用这种技术,让前端的工作变得更加繁荣。
  • 第三家就是FacebookFacebook是把体验和技术结合得最完美的公司。
  • 给起步阶段的同事一些建议:有个一万个小时理论,我觉得很正确,说的就是一个人必须经过不断地练习,不断地遇到问题才能成长起来。当然,做的时候要不断总结,写博客是一个很好的途径。

 

多隆(蔡景现)淘宝传奇工程师

  • 多隆是淘宝的创始人之一,也是淘宝的第一个程序员,他奠定了诸多淘宝重大软件项目的基础。有人说他是淘宝的扫地僧,有人说他是。在淘宝,他做到了既懂C/C++语言,又懂Java和内核;既可以深入技术底层,又能切入到高层业务领域,从前端到后端,知识既广又深。他就是核心系统部专家组的多隆。
  • 多隆说他知识经验的积累主要归功于在淘宝业务发展的过程中,他遇到了各种各样的问题。这些问题促使他不断学习解决问题的各种技术,他和淘宝一起成长。
  • 他把自己当成海绵一样去吸收新知识——在他的字典里,没有不值得去解决的问题,也没有不值得去学习的技术。而且每学一个知识点,多隆都会写一段代码去验证,一方面是练习,另一方面也让他加深理解,直到真正掌握这个技术。
  • 多隆还有一个常人难以做到的特质。当他沉浸在他的程序世界时,外界的人和事很难干扰到他。《功夫熊猫2》里的最高武功心法“InnerPeace”(内心平静)吧。有了这样的专注力,不成为高手也难。
  • 多隆从2000年加入阿里巴巴,到现在已经十多年了,仍在淘宝技术第一线写代码。他在做他喜欢的事情,解决问题和写代码让他觉得很有成就感。
  • 一个计算机工程师该以怎样的态度和方式来工作和学习?多隆的一条朴素的建议或许可以很好地解答:发现问题,解决问题,不要绕开问题的本身;多做事情,不会吃亏,即使不是你的事情。
  • 始终保持对代码的那份单纯的热爱,保持对技术的专注和钻研;别人把工作当工作,他把工作当事业——这就是多隆的程序世界。


已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页