本书是计算机科学方面的经典名著。书的内容围绕程序设计人员面对的一系列实际问题展开。作者Jon Bentley 以其独有的洞察力和创造力,引导读者理解这些问题并学会解决方法,而这些正是程序员实际编程生涯中至关重要的。本书的特色是通过一些精心设计的有趣而又颇具指导意义的程序,对实用程序设计技巧及基本设计原则进行了透彻而睿智的描述,为复杂的编程问题提供了清晰而完备的解决思路。本书对各个层次的程序员都具有很高的阅读价值。.
多年以来,当程序员们推选出最心爱的计算机图书时,《编程珠玑》总是位列前列。正如自然界里珍珠出自细沙对牡蛎的磨砺,计算机科学大师Jon Bentley以其独有的洞察力和创造力,从磨砺程序员的实际问题中凝结出一篇篇不朽的编程“珠玑”,成为世界计算机界名刊《ACM通讯》历史上最受欢迎的专栏,最终结集为两部不朽的计算机科学经典名著,影响和激励着一代又一代程序员和计算机科学工作者。本书为第一卷,主要讨论计算机科学中最本质的问题:如何正确选择和高效地实现算法。..
在书中,作者选取许多具有典型意义的复杂编程和算法问题,生动描绘了历史上众大师们在探索解决方案中发生的轶事、走过的弯路和不断精益求精的历程,引导读者像真正的程序员和软件工程师那样富于创新性地思考,并透彻阐述和总结了许多独特而精妙的设计原则、思考和解决问题的方法以及实用程序设计技巧。解决方案的代码均以C/C++语言编写,不仅有趣,而且有很大的实战示范意义。每章后所附习题极具挑战性和启发性,书末给出了简洁的解答。...
重构,一言以蔽之,就是在不改变外部行为的前提下,有条不紊地改善代码。多年前,正是本书原版的出版,使重构终于从编程高手们的小圈子走出,成为众多普通程序员日常开发工作中不可或缺的一部分。本书也因此成为与《设计模式》齐名的经典著作,被译为中、德、俄、日等众多语言,在世界范围内畅销不衰。
本书凝聚了软件开发社区专家多年摸索而获得的宝贵经验,拥有不因时光流逝而磨灭的价值。今天,无论是重构本身,业界对重构的理解,还是开发工具对重构的支持力度,都与本书最初出版时不可同日而语,但书中所蕴涵的意味和精华,依然值得反复咀嚼,而且往往能够常读常新。
《领域驱动设计:软件核心复杂性应对之道》是领域驱动设计方面的经典之作。全书围绕着设计和开发实践,结合若干真实的项目案例,向读者阐述如何在真实的软件开发中应用领域驱动设计。书中给出了领域驱动设计的系统化方法,并将人们普遍接受的一些最佳实践综合到一起,融入了作者的见解和经验,展现了一些可扩展的设计最佳实践、已验证过的技术以及便于应对复杂领域的软件项目开发的基本原则。《领域驱动设计:软件核心复杂性应对之道》适合各层次的面向对象软件开发人员、系统分析员阅读。
本书解释了为什么软件开发是一种精神活动,思考如何解决问题,并就开发人员如何能更好地开发软件进行了评论。书中不仅给出了一些理论上的答案,同时提供了大量实践技术和窍门。
本书供各层次软件开发人员阅读。
“书中‘切身感受’的内容非常有价值——通过它我们可以做到学有所思,思有所悟,悟有所行。”
——Nathaniel T. Schutta,《Ajax基础教程》作者
“此书通过常理和经验,阐述了为什么你应该在项目中使用敏捷方法。最难得的是,这些行之有效的实战经验,竟然从一本书中得到了。”
——Matthew Johnson,软件工程师
十年来,软件行业发生了翻天覆地的变化。敏捷方法大行其道,测试和测试驱动开发在很多开发人员的工作中扮演着重要的角色。作为一名程序员,你应该培养怎样的素质,方能对多变的环境应对自如,始终立于不败之地?
本书简明实用、见解深刻,总结了高效程序员在开发过程中的45个个人习惯、思想观念和方法,有助于开发人员在开发进程、编码工作、开发者态度、项目和团队管理,以及持续学习等5个方面积极修炼。通过学习这些内容,养成这些好的习惯,你可以极大地提升自己的编程实力,更快速、更可靠地交付更高质量的软件,从而成为真正的高效程序员。
硬件缺陷和软件错误是“技术侦探”的劲敌,它们负隅顽抗,见缝插针。本书提出的九条简单实用的规则,适用于任何软件应用程序和硬件系统,可以帮助软硬件调试工程师检测任何bug,不管它们有多么狡猾和隐秘。
作者使用真实示例展示了如何应用简单有效的通用策略来排查各种各样的问题,例如芯片过热、由蛋酒引起的电路短路、触摸屏失真,等等。本书给出了真正能够隔离关键因素、运行测试序列和查找失败原因的技术。
无论你的系统或程序发生了设计错误、构建错误还是使用错误,本书都可以帮助你用正确的方法来思考,使bug自动暴露,进而一网打尽,斩草除根。
《松本行弘的程序世界》是探索程序设计思想和方法的经典之作。作者从全局的角度,利用大量的程序示例及图表,深刻阐述了Ruby编程语言的设计理念,并以独特的视角考察了与编程相关的各种技术。阅读《松本行弘的程序世界》不仅可以深入了解编程领域各个要素之间的关系,而且能够学到大师的思考方法。
《松本行弘的程序世界》面向各层次程序设计人员和编程爱好者,也可以供相关技术人员参考。
《精益开发实战:用看板管理大型项目》以瑞典国家警署开发的大型项目为例,讲述在大型项目中如何具体应用看板方法和精益原则,详细介绍了项目中面临的诸多挑战及其应对策略,以及得到的各种经验教训。书中内容共分为两大部分,第一部分是全书核心,介绍如何实际工作;第二部分是技术讲解,概要介绍了敏捷和精益原则,阐述第一部分提到的因果图等实践做法。
本书以敏捷软件开发为中心,系统阐述了敏捷原则和实践的先进理念和重要意义,并分别讲解了Scrum、极限编程、精益和看板四套敏捷实践的应用。作者从开发团队的日常困境入手,用讲故事的形式展开问题,由表及里,层层讲解,并在每一章最后附上参考书,便于读者进一步查找学习。本书内容生动,语言通俗易懂,集趣味性和实用性于一体,是学习敏捷开发、提升团队效率的极佳参考书。
本书是第一本领域专用语言(DSL)的实战类图书,它面向真正的实践者,是一本让奋战在开发第一线的实干家备感实用的专著!
《领域专用语言实战》基于一系列JVM语言(Java、Ruby、Groovy、Scala和Clojure),分析了它们在实现DSL中的优劣势,同时也给出了丰富的示例。如果你是一位架构师,希望设计出极具表现力的API,让它既能满足领域用户的需要,又能达到高效开发的要求;如果你是一位有技术背景的特定领域用户,期待着改善与开发团队的沟通效果;如果你是一名程序员,正为如何与领域用户对接业务规则而苦恼……那么,请看这本书。
本书分三部分,以金融中介系统为例全面细致介绍从头设计、实现与使用领域专用语言的方方面面。它不仅讲解了DSL的实现手法,而且从最基本的技术入手,逐渐深入到高级技术,如元编程、解析器组合子,以及ANTLR、Xtext等开发框架。看完这本书,你将全面、深入地理解领域专用语言的定位、规范、术语,同时还可以把它作为具体开发工作的指导,学以致用,提高工作效率和质量。
本书是 Ruby 之父松本行弘的又一力作。作者对云计算、大数据时代下的各种编程语言以及相关技术进行了剖析,并对编程语言的未来发展趋势做出预测,内容涉及 Go、VoltDB、node.js、CoffeeScript、Dart、MongoDB、摩尔定律、编程语言、多核、NoSQL 等当今备受关注的话题。
本书面向各层次程序设计人员和编程爱好者,也可供相关技术人员参考。
《实例化需求:团队如何交付正确的软件》是在世界各地调查了多个团队软件交付过程后的经验总结。《实例化需求:团队如何交付正确的软件》介绍了这些团队如何在很短的周期内说明需求、开发软件,并交付正确的、无缺陷的产品;为团队在实施实例化需求说明时使用的模式、想法和工件创建了一致的语言;展示了案例中的团队用来实现实例化需求说明原则的关键性实践;并在案例分析部分展示了一些团队实施实例化需求说明的历程。
《实例化需求:团队如何交付正确的软件》适合与项目管理、开发、测试、交付有关的人员阅读。
《简约之美:软件设计之道》将软件设计作为一门严谨的科学,阐述了开发出优雅简洁的代码所应该遵循的基本原则。作者从为什么以前软件设计没有像数学等学科一样成为一门科学开始入手,道出了软件以及优秀的软件设计的终极目标,并给出了具体的指导规则。
通常,人们对软件架构师持两种错误的看法。有人认为软件架构师是一种高高在上的职位;有人认为软件架构师完全不懂开发,只是会画条条框框的指挥家。本书将打破这些传统的认知,模糊软件开发和架构在流程中的界限,进而为软件架构正名。本书是一本强调实践、注重实效、轻量级、面向开发者的软件架构指南。
本书以团队开发中所必需的工具的导入方法和使用方法为核心,对团队开发的整体结构进行概括性的说明。内容涉及团队开发中发生的问题、版本管理系统、缺陷管理系统、持续集成、持续交付以及回归测试,并且对“为什么用那个工具”“为什么要这样使用”等开发现场常有的问题进行举例说明。
本书适合初次接手开发团队的项目经理,计划开始新项目的项目经理、Scrum Master,以及现有项目中返工、延期问题频发的开发人员阅读。
本书会帮你降低构建与维护软件的成本。如果你是软件开发者,将学到一套实践方法以构建易修改的代码,因为在应用当中代码经常需要修改。对于和软件开发者合作的管理者来说,本书会向你展示为何引入这九个基本的实践方法,会使你的团队更加有效地交付软件而不至于让软件演变成遗留代码。
本书由Ruby 之父松本行弘在《日经Linux》杂志上的连载整合而成,主要介绍了新语言Streem 的设计与实现过程。作者从设计Streem 这门新语言的动机开始讲起,由浅入深,详细介绍了新语言开发中的各个环节,以及语言设计上的纠结与取舍,其中也不乏对其他编程语言的调查与思考,向读者展示了创建编程语言的乐趣。
为什么你在写代码时总会遇到这样或那样的问题?为什么你总是记错某些语法?为什么有些人能够快速学会新的编程语言,而有些人则不能?在试图解决困难或复杂的问题时,我们的大脑其实有一套特定的工作方式。本书从认知科学角度剖析优秀程序设计背后的脑科学原理,为你揭开大脑思考编程的奥秘。本书分为四大部分,共有13章。你将了解如下内容:如何高效地学习新的编程语言,如何快速地理解复杂的代码,如何牢固地记住各种语法,如何在繁杂的程序设计工作中优化认知资源。
编辑推荐
随着ChatGPT横空出世,作为程序员的你是否已经有了危机感?在自己编写代码和理解他人所写代码这两个方面,人工智能是否已经超越了人类程序员?无论人工智能如何“进化”,有一点是它无法取代的,那就是人类程序员的超强大脑。本书是专为程序员而写的大脑使用指南,旨在帮助程序员用好自己的认知优势。
本书作者指出,程序设计是一个认知过程,这个过程对程序员的认知要求颇高。因此,本书从认知科学的角度帮助程序员了解大脑工作机制,从根本上提高程序设计工作的效率。
本书特点
●有助于理解大脑如何加工与代码相关的信息。
●内容组织符合认知模式:代码阅读−代码思考−代码编写−代码协作。
●助你醍醐灌顶,实现更快的代码读写速度、更高的工作效率、更少的返工。
●以Python、JavaScript、Java等为例,但原理对所有语言都适用。
本书虽然面向程序员,却不包含代码。在作者看来,90%的程序设计工作都不需要写代码;程序员不只是编程专家,其核心竞争力是利用代码这一工具解决人类社会的常见问题。以此作为出发点,作者精心构思了8个故事,以情景代入的方式邀请读者思考代码之外的关键问题:软件开发工作如何从以技术为中心转为以人为本?透过故事主人公的视角,读者能比较自己与书中角色的差异,发现决策过程的瑕疵,提升解决问题的综合能力。
书中的故事涵盖程序员的整个软件开发生涯,但经过了浓缩,可供所有软件开发人员快速阅读。
新手程序员在具备了理论基础后,面对实际项目时,往往不知道如何解决问题;有经验的程序员在学习了一门新语言后,也会有很多不知道如何使用的特性。针对程序员的这一普遍困惑,资深软件工程师Brian P. Hogan在这本书中总结了57道练习题,教他们如何锤炼技能。这些练习题的难度会逐渐增加,使得编程训练充满挑战又乐趣多多。
本站基于Calibre构建,感谢开源界的力量。所有资源搜集于互联网,如有侵权请邮件联系。
Github | Docker | Project
本书是计算机科学方面的经典名著。书的内容围绕程序设计人员面对的一系列实际问题展开。作者Jon Bentley 以其独有的洞察力和创造力,引导读者理解这些问题并学会解决方法,而这些正是程序员实际编程生涯中至关重要的。本书的特色是通过一些精心设计的有趣而又颇具指导意义的程序,对实用程序设计技巧及基本设计原则进行了透彻而睿智的描述,为复杂的编程问题提供了清晰而完备的解决思路。本书对各个层次的程序员都具有很高的阅读价值。.
多年以来,当程序员们推选出最心爱的计算机图书时,《编程珠玑》总是位列前列。正如自然界里珍珠出自细沙对牡蛎的磨砺,计算机科学大师Jon Bentley以其独有的洞察力和创造力,从磨砺程序员的实际问题中凝结出一篇篇不朽的编程“珠玑”,成为世界计算机界名刊《ACM通讯》历史上最受欢迎的专栏,最终结集为两部不朽的计算机科学经典名著,影响和激励着一代又一代程序员和计算机科学工作者。本书为第一卷,主要讨论计算机科学中最本质的问题:如何正确选择和高效地实现算法。..
在书中,作者选取许多具有典型意义的复杂编程和算法问题,生动描绘了历史上众大师们在探索解决方案中发生的轶事、走过的弯路和不断精益求精的历程,引导读者像真正的程序员和软件工程师那样富于创新性地思考,并透彻阐述和总结了许多独特而精妙的设计原则、思考和解决问题的方法以及实用程序设计技巧。解决方案的代码均以C/C++语言编写,不仅有趣,而且有很大的实战示范意义。每章后所附习题极具挑战性和启发性,书末给出了简洁的解答。...