IT人的架构书单:如何赋予软件以灵魂

与在这个世界上已经存在了几千年历史的建筑业相比,IT业或者说软件业几十年的历史显得微不足道。但是IT行业或许已经成为目前对于世界影响最大的行业之一,我们的生活和工作中随处都是软件,可以说我们已经无法离开软件生活。清晨,伴随着智能手机的闹铃起床,通过天气软件获取今天的天气确定是否需要携带雨具,吃过早餐离开家,这时家中的智能扫地机就开始定时清洁卫生了,上班路上可能打开了社交软件看朋友们发布的动态或者新闻事件,达到公司通过智能打卡机打卡上班,到达工位你打开了电子邮箱,开始了一天的工作...可以说软件产品已经紧密地融入到了我们的生活和工作中。而且在未来,随着商业智能和人工智能的发展,软件的范围将会无限延伸。

未来,软件开发人员的作用也将变得更加重要,有句话叫做“不想当将军的士兵不是好士兵”,那么在IT界这句话就要换成“不想当CTO的软件工程师不是好程序员”,而对于一个开发人员而言,在成为CTO之前还需要经历无数的历练,其中重要的一步就是从程序员成长为架构师。我们无法给架构下一个简单的定义,因为任何定义都会束缚你对架构的无限想象。不可否认,架构师早已出现在人类几千年前的各项生产活动中,比如建筑、音乐。而在计算机软件领域,架构的设计直接影响着系统的生产,比如开发过程和效率、代码和组件复用性等,同时也影响着系统的可用性、可伸缩性、性能、容量可预测性等。在我看来,架构师其实就和建筑业中的建筑设计师一样,他们负责规划整个“产品”的“图纸”,验证各种设想的可能性,但是不会亲自去“搬砖”建房子。想要成长为一名合格的软件架构师,需要经过无数实战的历练,也需要在前行的路上不断学习和总结。本文就为大家整理一些关于软件架构的书籍,希望能够在走向架构师的路上伴你前行。



《设计原本:计算机科学巨匠Frederick P.Brooks的反思》 —— Frederick P.Brooks Jr.

如果说《人月神话》是近40年来所有软件开发工程师和项目经理们必读的一本书,那么《设计原本:计算机科学巨匠Frederick P.Brooks的反思》将会是未来数十年内从事软件行业的程序员、项目经理和架构师必读的一本书。它是《人月神话》作者、著名计算机科学家、软件工程教父、美国两院院士、图灵奖和IEEE计算机先驱奖得主Brooks毕生经验的结晶。这本书从工程师和架构师的视角深入地探讨了设计的和过程,旨在提高产品的实用性与有效性,以及设计的效率和优雅性。全书共分为6个部分:第一部分主要讨论了什么是设计、设计过程的思考、设计的类别、理性模型及其缺陷、以及对一些好的设计过程模型的探讨;第二部分主要讨论了协作设计与远程协作;第三部分全面总结了设计中的各种原则、经验和教训,包括设计中理性主义与经验主义、用户模型、资源预算、约束、设计中的美学与风格、设计中的范本、设计的分离、设计的演变途径和理由,以及专业设计者为何会犯错;第四部分探讨了建筑设计与计算机软硬件设计在设计思想和方法上的一些共同点和不同之处;第五部分探讨了卓越的设计和卓越的设计师之间的关系;第六部分通过各个领域的各种类型的案例进行了分析和研究,旨在深刻揭示隐藏在这些案例背后不变的设计过程和思想。



《架构之美》 —— Diomidis Spinellis, Georgios Gousios

健壮、优雅、灵活和易维护的软件架构是怎样炼成的?《架构之美》通过一系列优秀的文章回答了这个问题,这些文章来自于十几位当今一流的软件设计师和架构师。在每篇文章中,作者都向们展示了一个著名的软件架构,并分析了什么让其具有创新性,让其极其符合设计目标。《架构之美》围绕5个主题领域来组织该书的内容:概述、企业应用、系统、终用户应用和编程语言。《架构之美》让优秀的设计师和架构师来描述他们选择的软件架构,剥开架构的各层,展示他们如何让软件做到实现功能、可靠、易用、高效率、可维护、可移植和优雅。那么如何设计出美丽的架构呢?从代码逻辑到物理网络,从单机到分布式,无数的技术可供架构师选择,如分层、组件化、服务化、标准化、缓存、分离、队列、复制、冗余、代理等,不过它们仍然只是“术”的范畴,而何时何处如何恰到好处地使用它们才是“道”的范畴,比如顿悟变化的道理,在博弈中寻找平衡,以系统化的角度来分析问题,寻找相对与绝对的奥秘、开放的心态……



《企业应用架构模式》 ——  Ma riin Fowler

企业应用开发的实践得益于多种新技术的出现,多层的面向对象平台已经日渐平常。这些新工具和新技术有能力构建更强大的企业应用程序,但是在实现上还不太容易。由于开发人员未能充分理解有经验的对象程序开发人员在架构方面的经验和教训.因此企业应用中经常存在一些共同的错误。《企业应用架构模式》就是面向企业应用开发者的,可帮助他们迎接这种艰难挑战,这本书的作者Ma riin Fowler注意到,尽管技术本身存在变化——从Smalltalk到CORBA,再到Java和.NET,但基本的设计思想并没有太多变化,可以加以适当调整,用来解决那些共同的问题。在一组专家级合作者的帮助下,作者将40多种经常出现的解决方案转化成模式,最终写成这本能够应用于任何一种企业应用平台的、关于解决方案的、不可或缺的手册。《企业应用架构模式》涉及两部分内容。第一部分是关于如何开发企业应用的简单介绍。在阅读这部分时,读者可以从头到尾通读。第二部分是《企业应用架构模式》的主体,是关于模式的详细参考手册,每个模式都给出使用方法和实现信息,并配有详细的Java代码或C#代码的示例。此外,整本书中还用了大量UML图来进一步阐明有关概念。



《恰如其分的软件架构》 —— George Fairbanks

《恰如其分的软件架构》描述了一种恰如其分的架构设计方法。作者建议根据项目面临的风险来调整架构设计的成本,并从多个视角阐述了软件架构的建模过程和方法,包括用例模型、概念模型、域模型、设计模型和代码模型等。本书不仅介绍方法,而且还对方法和概念进行了归类和阐述,将软件架构设计融入开发实践中,与敏捷开发方法有机地结合在一起,适合普通程序员阅读。Fairbanks把笔墨聚集在“恰如其分”的软件架构上,这对于每一位想要使架构过程变得更容易的开发人员来说,都是极具吸引力的。《恰如其分的软件架构》通过详细的案例和建议,展示了如何用风险驱动来管理架构的建设和范围,重点突出,易于理解。同时,作者提供了软件架构学术方面的很多细节,这对那些对理论和实践都很感兴趣的开发人员非常有益。



《架构即未来:现代企业可扩展的Web架构、流程和组织》 —— MartinL.Abbott,MichaelT.Fisher

任何一个持续成长的公司最终都需要解决系统、组织和流程的扩展性问题。本书汇聚了作者超过30年的丰富经验, 全面阐释了经过验证的信息技术扩展方法,对所需要掌握的产品和服务的平滑扩展做了详尽的论述,并更新了扩展的策略、技术和案例。针对技术和非技术的决策者, MartinL.Abbott和MichaelT.Fisher详尽地介绍了影响扩展性的各个方面,包括架构、过程、组织和技术。通过阅读本书,你可以学习到以*大化敏捷性和扩展性来优化组织机构的新策略,以及对云计算(IaaS/PaaS)、NoSQL、DevOps和业务指标等的新见解。而且利用其中的工具和建议,你可以系统化地清除扩展性道路上的障碍,在技术和业务上取得前所未有的成功。《架构即未来》这本书凝聚作者多年来在不同的互联网公司工作和咨询过程中积累的丰富经验,从人、过程、技术三个角度深刻而广泛地讨论了技术管理和技术架构的具体实践经验,强调了组织、人员、过程和技术的*佳配合,深入浅出地分析了在技术管理过程中经常遇到的各种具体问题,既讲解理论,也佐以实例,让读者可以系统地获得关于技术管理和技术架构方面的知识和经验。



《大型网站技术架构 核心原理与案例分析 》 —— 李智慧

《大型网站技术架构 核心原理与案例分析 》 通过梳理大型网站技术发展历程,剖析大型网站技术架构模式,深入讲述大型互联网架构设计的核心原理,并通过一组典型网站技术架构设计案例,为读者呈现一幅包括技术选型、架构设计、性能优化、Web 安全、系统发布、运维监控等在内的大型网站开发全景视图。这本书不仅适用于指导网站工程师、架构师进行网站技术架构设计,也可用于指导产品经理、项目经理、测试运维人员等了解网站技术架构的基础概念;还可供包括企业系统开发人员在内的各类软件开发从业人员借鉴,了解大型网站的解决方案和开发理念。

这本书作者是阿里巴巴网站构建的亲历者,拥有核心技术部门的一线工作经验,直接体验了大型网站构建与发展过程中的种种生与死,蜕与变,见证了一个网站架构从幼稚走向成熟稳定的历程。没有晦涩难懂的术语,没有诘屈聱牙的文句,没有故弄玄虚的观点……明明白白的语句,清清楚楚的文法,干净利落的建议——让读者直接体会网站架构的紧要处,不容马虎的关键点。



《亿级流量网站架构核心技术》 —— 张开涛

《亿级流量网站架构核心技术》全称《亿级流量网站架构核心技术——跟开涛学搭建高可用高并发系统》,这本书总结并梳理了亿级流量网站高可用和高并发原则,通过实例详细介绍了如何落地这些原则。本书分为四部分:概述、高可用原则、高并发原则、案例实战。从负载均衡、限流、降级、隔离、超时与重试、回滚机制、压测与预案、缓存、池化、异步化、扩容、队列等多方面详细介绍了亿级流量网站的架构核心技术,让读者看后能快速运用到实践项目中。不管是软件开发人员,还是运维人员,通过阅读《亿级流量网站架构核心技术》都能系统地学习实现亿级流量网站的架构核心技术,并收获解决系统问题的思路和方法。如何构建高并发、大流量的系统,不是架构师闭门造车想出来的,是线上实际的用户流量检验的。本书通过大量的实践案例,告诉读者如何架构高并发,大流量的网站系统,书中不光有理论探讨,也有大量的实际案例。



《架构真经:互联网技术架构的设计原则》 —— Martin L.Abbott

《架构真经:互联网技术架构的设计原则》 是经典著作《架构即未来》的姊妹篇,聚焦于技术架构本身,提供50条久经考验的互联网技术架构原则,几乎可以支持任何高速增长公司的扩展。硅谷著名互联网企业首席技术官和技术主管现身说法,生动形象地呈现“规则背后的故事”,便于读者理解并运用这些规则解决实际工作中所面临的挑战。该版全面更新以反映新的技术趋势和经验,而且更容易阅读、理解和应用。通过Etsy、纳斯达克、Salesforce、Shutterfly、Chegg、Warby Parker、推特等著名互联网企业首席技术官和技术主管现身说法,以易于理解的方式,生动且形象地呈现“规则背后的故事”。通过阅读本书,在完成并评价技术设计方面,架构师将学到有效的非技术洞见。开发人员会学到从数据库到会话状态的处理技巧。管理人员将在设定目标、做出决策以及与技术团队互动方面得到有益的帮助。无论什么角色,都会得到关于风险与利益平衡的实用指导,通过设置优先级,把计划付诸行动,从而以低成本获得比较大的可扩展性。



《DevOps:软件架构师行动指南 》 —— Len Bass,Ingo Weber

DevOps为加速新软件功能的发布和改善对生产环境系统的监控带来了希望,但是对软件架构师和软件架构来说,DevOps的关键意义却常常被忽视。《DevOps:软件架构师行动指南 》全面解决了这些问题,不仅剖析了软件架构师为实现DevOps目标必须要做出的决策,并且说明了DevOps的其他参与者有可能以哪种方式来影响架构师的工作,还详细介绍了高效部署DevOps所需要的组织、技术和运营环境,以及DevOps对每个开发阶段的影响。作者解决了把多个功能关联起来的横切关注点问题,提供了对合规性、性能、可靠性、可重复性和安全方面的切合实际的洞察。横看成岭侧成峰,远近高低各不同”。当我们愈是从不同角度和层面解读DevOps,就有机会愈加接近DevOps的本质,并正确地指导企业经营和技术实践。本书少有的从软件架构层面系统性地阐述DevOps,令人耳目一新并大呼过瘾。



《尽在双11 阿里巴巴技术演进与超越 》 —— 阿里巴巴集团双⒒技术团队

“双 11”,诞生于杭州,成长于阿里,风行于互联网,成就于新经济,贡献于全世界。从 2009 年商城起,双 11 已历经八年。每年的双 11 既是当年的结束,又是走向未来的起点。技术的突破创新,商业模式的更替交互,推动着双 11 迈步向前。《尽在双11——阿里巴巴技术演进与超越》是迄今由阿里巴巴集团官方出品、全面阐述双 11 八年以来在技术和商业上演进和创新历程的书籍。内容涵盖在双 11 背景下阿里技术架构八年来的演进,如何确保稳定性这条双 11 生命线的安全和可靠,技术和商业交织发展的历程,无线和互动的持续创新与突破,以及对商家的赋能和生态的促进与繁荣。这本书主要面向广大互联网技术和商业从业者,内容包括基础设施、云计算、大数据、AR/VR、人工智能、物联网等技术领域的剖析,以及在电商、金融、客服、物流等商业层面的洞察;同时也可以作为了解科技与商业最新发展的一个窗口,供科研人员和高校在校师生参考。《尽在双11——阿里巴巴技术演进与超越》也包含丰富的双 11 发展历程中的故事性片段,生动有趣,可读性强,读者可以在由衷感叹双 11 背后艰辛的演进历程之余,更为透彻地体会到阿里人在技术和商业创新上坚韧不拔、矢志不渝的精神。

时间: 2024-09-14 23:22:24

IT人的架构书单:如何赋予软件以灵魂的相关文章

IT人的设计书单:如何点石成金

对于IT人而言,对于使用对象是用户的产品进行设计是在工作中避免不了的,小到对于一个会议PPT的设计,大到对于一款产品的整体设计,可以说无论你是程序猿.产品狗还是运维喵,都不能不会点设计.就那软件产品来举个"栗子",对于同样的功能,设计的优劣就极大地可能影响产品的未来.一款功能再强大的产品,没有良好的设计,没有友好的人机交互界面,相比也不会有人想去使用,如果没有人使用,这款产品的意义恐怕也就荡然无存了.所以,学会设计非常重要,无论你的工作是什么,懂一点设计,或许就会潜移默化地提升自己的艺

IT人的算法书单:挖掘程序的灵魂

我们都知道对于软件而言,最为经典的定义就是程序=算法+数据结构,算法对于软件的重要性不言而喻,甚至可以说算法是程序的灵魂所在.甚至有人说如果计算机系只开设三门课的话,那么一定是:离散数学.编译原理还有算法和数据结构.算法(Algorithm)是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制.其实对于IT人而言,无时无刻都沉浸在算法之中,小到可能只是对于一个简单的一维数组进行排序,大到使用进行实时个性化推荐或者使用机器学习算法预测未来的发展趋

程序员必读书单(转)

  原文链接:http://lucida.me/blog/developer-reading-list/ 关于 本文把程序员所需掌握的关键知识总结为三大类19个关键概念,然后给出了掌握每个关键概念所需的入门书籍,必读书籍,以及延伸阅读.旨在成为最好最全面的程序员必读书单. 前言 Reading makes a full man; conference a ready man; and writing an exact man. Francis Bacon 优秀的程序员应该具备两方面能力: 良好的

交互设计师可看的书单

  简单说下读原版和中文版的区别: 1,原版原汁原味,价值最高.翻译必然导致信息和意义流失. 2,设计师无论如何还是得练习下英文,不妨选择一个短一些的书籍看原版. 3,看中文版速度会快一些,也达意. 4,看中文版还有一个好处,就是在国内工作和同事沟通方便. 以下的书我读的是原版,买了几本中文版在家还没看完.所以推荐的中文版购买链接,我不太了解翻译质量,不过在我看过的几个翻译版本中,内容翻译的都不错,所以应该是可以的,设计书毕竟不是哲学书.:) 另外也有朋友希望我把书单分类,让不同层次的设计师看对

书单推荐 | 数据挖掘和统计科学自学十大必备读物

本文讲的是书单推荐 | 数据挖掘和统计科学自学十大必备读物 还有什么比免费的机器学习和数据科学读物更适合用来享受秋天的呢? 下面的免费书单中从统计学基础知识,到机器学习的基本概念,再到更重点的大框架内容,对于高深的话题也有所涉猎,最后以一本总结性的书结尾.既有经典名著,也有当代的作品,希望你能在其中找到一些有趣的新内容. 1.用统计学的方式思考 Think Stats: Probability and Statistics for Programmers 作者:Allen B. Downey <

IT人的音乐歌单:听起轻音乐,整个人都平静了呢

你确定不来秀出你的歌单么???最新相关有奖话题:啪啪啪!敲代码时你喜欢听什么音乐? IT人每天不是面对繁复的代码,就是需要面对稍纵即逝的业务,需要双眼紧盯屏幕,指尖在键盘上飞扬,可咱毕竟也不是机器人呐.在轻松愉快的氛围下工作不仅能减轻烦躁的情绪,说不定还能触发灵感,达到事半功倍的效果呢.其实很多人都习惯于一边写代码一边听音乐.这样既能够享受音乐,放松身心,也能够屏蔽掉周遭环境的噪音.而轻音乐或者纯音乐的旋律往往比较舒缓,更容易打动人心,也能够帮助IT人在强大的工作压力下放松自己的身心.轻音乐介于

福利|热门技术看什么?这份书单告诉你!(内含PDF链接)

这份书单源自网络.虽然所列图书都是免费提供的,但如果您有深入学习的打算,我还是推荐您购买纸质版书籍.作者花费大量时间整合这些资源,希望得到您的支持与喜爱! 数据科学概论 An Introduction to Data Science Jeffrey Stanton, 2013 School of Data Handbook School of Data, 2015 Data Jujitsu: The Art of Turning Data into Product DJ Patil, 2012

IT人的前沿技术书单:学不到老,就活不到老

从农耕时代到工业时代到信息时代,技术力量不断地推动人类创造新的世界.而今天,互联网.云计算.大数据以及人工智能等新技术,正以改变一切的力量,在全球范围掀起一场影响人类所有层面的深刻变革,人类正站在一个新的时代到来的前沿.在这个变革的时代,各种颠覆性技术不断涌现出来,互联网赋予每一个人无限的可能,让个人力量增强.个人价值释放.互联网让普通的个人越过几百年塑造的专业屏障.权威评价和路径依赖,获得平等而充分的展现机会,个人和个人力量的汇聚释放出以往不曾有过的创造力与自我价值. 而云计算与大数据技术的飞

架构师速成6.18-初中书单资料推荐

思维导图 你的第一本思维导图操作书 画出好成绩-通过思维导图提升分数 思维导图系列 知识管理 你的知识需要管理 面向对象 写给大家看的面向对象编程书 面向对象分析与设计 深入浅出面向对象分析与设计 软件设计 UML精粹 UML基础.案例与应用 Head First软件开发 领域驱动设计 写好代码 重构:改善既有代码的设计 代码大全 代码整洁之道 设计模式: 大话设计模式 head first 设计模式