书影 | 管中窥豹,读《淘宝技术这十年》上

这本书断断续续,竟然读过了一个新年的时间跨度。并非是要找借口,但自己的感觉:这种书其实读起来蛮累的,碎片化的时间加上作者东一耙,西一铲的叙述,还有以下两点:
* 首先如果你把它当一本励志故事书来看的话,这本书可没那么轻松,间或夹杂着马云爸爸、淘宝初创人员的励志与猎奇的故事,但是还没等你那碗鸡汤入口,一个不小心,就是技术细节了。
* 而如果你把它当一本技术书来看的话,这本书更不轻松。淘宝技术的十年发展,从一个人的眼中望去,就像多汁但难以消化的顶级牛排,很多地方浅尝辄止,一口咬下去,得消化半天。观者一方面是开了眼界,觉得这些技术简直不是一般的牛,细节都不敢想。另一方面,想再深入了解一些的时候,却发现少了一些深度,留下了太多的开放式问题,让你觉得不知道简直不好意思。双重折磨之下,只好抓嘴挠腮,只恨自己在技术上的积累太少。

所以说,如果你既想要看故事,又想要了解细节。《阿里巴巴神话》http://book.douban.com/subject/2343878/ 和《大型网站技术架构》http://book.douban.com/subject/25723064/ 是两道非常不错的佐料。想看故事的人,搭配第一本,这样高层和底层都看到了。想看技术的人,把《架构》这本书当做工具书,不懂翻一下,收益也是颇多。

淘宝网从买来的网站框架起步,到如今这样的一个复杂的架构。经历了好几轮的重构和优化。对于想了解其中波折的人来说,值得一看。但对技术同学来说,对其过往需要的是理顺,知其所以然,但更应该把重心放在现有的淘宝比较成熟的架构的研究上面来,考虑如何取其精华,为我所用。

纵观整个淘宝的发展历程,启示颇多:

首先技术上不要想着一口吃个胖子,最适应现有业务发展的技术才是好技术。

淘宝网也不是一天建成的,架构在最初也无法做到最合理,技术应该以满足业务为第一要务,以适应业务发展为加分项,以盲目追求技术为大忌。

03年,刚开始做淘宝的时候,考虑的一个因素就是快。所以网站的第一版是买来的“php auction”。那些参与第一版的开发人员,每个人都是技术牛人,从实力上来说,都可以独立写出php auction,但不这么做的原因,是这样只会拖累业务发展的后腿。我个人感觉这是淘宝技术的第一阶段,叫做业务撵着技术走。技术可以说是疲于奔命,速度第一,埋下不少坑是肯定的,但是关键顶住了。
这个阶段同时也包括淘宝的硬件升级,从mysql到oracle,硬盘和小型机,各种商用,怎么贵怎么来。这个阶段,兵来将挡水来土掩,技术上算是顶住了。

但是随着业务的发展,单纯的累加已经不起作用了,必须从底层改造。这才触及了第一次到Java网站的升级。这次升级更多是语言层面的,复用了非常多优秀的java组件。技术在业务的压力下被迫忍痛切换,但是这却为之后的扩展打下了坚实的基础。这个阶段,技术不再那么滞后于业务,而是迎头赶上了。优秀的DBA,优秀的MVC架构,都是在这个阶段打下的,逻辑层可以说已经能够完全支持到业务了。

而现行的阶段,则是技术不断突破,创造自己的技术,并且在很多方面走到了业务的前面。这个阶段我们看到大量优秀的技术创新组件出现了。如淘宝文件系统TFS,淘宝KV缓存系统Tair。同时,分布式电子商务操作系统的理念也被提出。通过服务化的设计,辅以高性能中间件的支撑,开始给业务发展提供动力。

从这几个阶段可以看出,不断发展的业务和技术必须相辅相成,很难说是哪一方造就了哪一方。但是对我们来说,从中汲取的更应该是在技术选型和架构时的思考和审慎。好的架构不应拖业务后腿,而应不断提供向前的助力。

其次都说外来的和尚会念经,淘宝几次牛人的引入,新的思想完全起到了给业务助力的作用。

比如开发和引入了LVS的章文蒿博士,他的贡献在于对高性能、高扩展性、高可用和低成本的基础平台的打造。尤其是他提出的GreenCompute项目,以节省能源为目的来不断的提升整个系统方方面面的性能,从CDN到低功耗到高性能,不得不说令人耳目一新。

而提出了开放平台的淘宝首席架构师王文彬,为淘宝的针对B侧市场的开发助力很多。他并发第一个提出,但却践行的非常好。一个开放平台,脏活累活很多。一方面需要对接大量的内部业务,说服、推动他们开放,有时候甚至要思考让他们如何开放。另一方面,则是开放到外部之后,稳定性和安全性比其他任何的业务都要更加保证。面对流水般的api调用,一旦稳定性不好,大量第三方应用都会挂掉。一旦安全性没保障,大量用户数据可能泄露。这都对开放的决心和技术提出了很高的挑战。进来风头比较劲的微信开放平台,也是如走钢丝一般,逐步开放自己的体系。可以说开放共赢创建生态是大势,而技术必须要为之保驾护航。

不得不提的还有顶住压力引入规范研发流程的空闻大师。从硅谷空降而来的他践行了持续集成、自动化测试和回归的研发流程。很多时候在业务的催促之下,会产生很多烂代码。但与其让不稳定的代码污染线上,造成往复的开发,还不如从一开始就杜绝。能够承担这种业务的压力,并做到这么果断的,确实值得佩服。看似业务的上线时间在短期因此而被延长了,但可靠性却大大提高了。这是个典型的,“长痛不如短痛”的例子。

这也说明了不断吸取新的思想多么重要,固守老的流程往往会拖业务的后腿。不敢尝试新的技术也会让技术停滞不前。

从产品的创新性上来看,淘宝更多是顺应时势。

2004年,成功的阿里巴巴,马云产生了做淘宝的想法。而在ebay和易趣激战正酣的时候通过技术人员封闭开发推出淘宝网,足以显示其快准狠的特性。尽管大网站被ebay封杀,但中小网站投放的广告策略、灵活的决策和与ebay的重重审批流程相比而言高效的执行效率,最终杀出了淘宝这么一匹黑马。从创新上而言,淘宝做了一些适应国内情况的优化,比如商家不收费,允许买卖双方沟通、交易,这些都是煽风点火,促使淘宝网不断发展壮大。

而在salesforce风头正劲的时候提出“work at Alibaba”的工作平台。并且一旦认准了之后,大力投入。现在淘宝的生态体系中,B侧开发的商家和企业非常之多,他们利用了淘宝提供的各种各样的数据,组合出用户需要的各式功能,充分丰富了整个生态,这也是淘宝让人感觉无可撼动的重要原因之一。

总体而言,淘宝发展亦步亦趋,始终不离大势,不犯大错,在牛掰技术的支撑下最终形成现在这样的一个庞大、复杂、但流转顺畅的生态系统。

原文链接:http://mp.weixin.qq.com/s?__biz=MzA5MDU0MDIwNA==&mid=402606363&idx=1&sn=94158187ff8c26a95ad2517231120fc0#rd

深度学习是机器学习的一个子领域,它基于人工神经网络的研究,特别是利用多层次的神经网络来进行学习和模式识别。深度学习模型能够学习数据的高层次特征,这些特征对于图像和语音识别、自然语言处理、医学图像分析等应用至关重要。以下是深度学习的一些关键概念和组成部分: 1. **神经网络(Neural Networks)**:深度学习的基础是人工神经网络,它是由多个层组成的网络结构,包括输入层、隐藏层和输出层。每个层由多个神经元组成,神经元之间通过权重连接。 2. **前馈神经网络(Feedforward Neural Networks)**:这是最常见的神经网络类型,信息从输入层流向隐藏层,最终到达输出层。 3. **卷积神经网络(Convolutional Neural Networks, CNNs)**:这种网络特别适合处理具有网格结构的数据,如图像。它们使用卷积层来提取图像的特征。 4. **循环神经网络(Recurrent Neural Networks, RNNs)**:这种网络能够处理序列数据,如时间序列或自然语言,因为它们具有记忆功能,能够捕捉数据中的时间依赖性。 5. **长短期记忆网络(Long Short-Term Memory, LSTM)**:LSTM 是一种特殊的 RNN,它能够学习长期依赖关系,非常适合复杂的序列预测任务。 6. **生成对抗网络(Generative Adversarial Networks, GANs)**:由两个网络组成,一个生成器和一个判别器,它们相互竞争,生成器生成数据,判别器评估数据的真实性。 7. **深度学习框架**:如 TensorFlow、Keras、PyTorch 等,这些框架提供了构建、训练和部署深度学习模型的工具和库。 8. **激活函数(Activation Functions)**:如 ReLU、Sigmoid、Tanh 等,它们在神经网络中用于添加非线性,使得网络能够学习复杂的函数。 9. **损失函数(Loss Functions)**:用于评估模型的预测与真实值之间的差异,常见的损失函数包括均方误差(MSE)、交叉熵(Cross-Entropy)等。 10. **优化算法(Optimization Algorithms)**:如梯度下降(Gradient Descent)、随机梯度下降(SGD)、Adam 等,用于更新网络权重,以最小化损失函数。 11. **正则化(Regularization)**:技术如 Dropout、L1/L2 正则化等,用于防止模型过拟合。 12. **迁移学习(Transfer Learning)**:利用在一个任务上训练好的模型来提高另一个相关任务的性能。 深度学习在许多领域都取得了显著的成就,但它也面临着一些挑战,如对大量数据的依赖、模型的解释性差、计算资源消耗大等。研究人员正在不断探索新的方法来解决这些问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值