欢迎来到相识电子书!

标签:软件开发

  • 恰如其分的软件架构

    作者:George Fairbanks

    本书描述了一种恰如其分的软件架构设计方法。作者建议根据项目面临的风险来调整架构设计的成本,并从多个视角阐述了软件架构的建模过程和方法,包括用例模型、概念模型、域模型、设计模型和代码模型等。本书不仅介绍方法,而且还对方法和概念进行了归类和阐述,将软件架构设计融入开发实践中,与 敏捷开发方法有机地结合在一起,适合普通程序员阅读。 . 这是一本超值的书,案例丰富有趣,言简意赅,阅读轻松。当年如果读到这样的书,我可以少犯许多错误!渴望成为更为优秀软件设计师的读者,这本书绝对值得在你的书架上占有一席之地。 ——Timothy J. Halloran博士,SureLogic Inc.工程总监 . 本书提出的独特视角让软件架构设计变得不再难以捉摸。恰如其分的软件架构概念及风险驱动的设计理念让人耳目一新。作者将架构设计原则与现实问题有机地结合起来,值得所有从事软件开发工作的人士阅读。 ——Marcus Fontoura博士,Yahoo! Research首席科学家兼架构师 . Fairbanks把笔墨聚集在“恰如其分”的软件架构上,这对于每一位想要使架构过程变得更容易的开发人员来说,都是极具吸引力的。本书通过详细的案例和建议,展示了如何用风险驱动来管理架构的建设和范围,重点突出,易于理解。同时,作者提供了软件架构学术方面的很多细节,这对那些对理论和实践都很感兴趣的开发人员非常有益。 ——Bradley Schmerl博士,卡耐基梅隆大学计算机科学院资深系统科学家 . George Fairbanks的《恰如其分的软件架构》一书中的风险驱动建模方法已经被NASA Johnson Space Center(JSC)成功地应用于eXtensible Information Modeler (XIM) 项目。项目的所有成员,从项目管理人员到开发人员,都必须遵循。实际上,这本书应该是每一位开发人员的必备工具。仅仅是讲述(代码模型和反模式)的部分,就值回书价了。 ——Christopher Dean, 美国国家航空航天局约翰逊空间中心工程科学团队XIM首席架构师 . 《恰如其分的软件架构》教你如何在战略和战术上使用工具,以及如何为你的软件项目选择架构策略。无论你是一位开发人员还是架构师,本书都是你在架构过程中的必备参考资料。 ——Nicholas Sherman,微软项目经理 . 作者将过程、生命周期、架构、建模及服务质量方面的最新理念集成在一个条理清楚的框架中。这个框架可以立即应用于你的 IT应用。Fairbanks的写作异常清晰、精确,同时具有很高的可读性和趣味性。《恰如其分的软件架构》是IT应用架构方面一个具有重要贡献的文献,对于企业应用架构师来说,也许会成为他们的标准参考资料。 ——Ian Maung博士,花旗企业架构部门资深副总裁,Covance前企业架构总监 . 本书完全满足了那些软件开发实践者的关键需求,即如何有效地创建更加实际的系统。George常常运用自己的经验,并与学术理论相结合,为我们提供一个又一个概念模型、领域(或更广范围)内的最佳实践,以及在软件架构方面(如何更有用更现实)非常实用的指导。他在书中提出了基于风险的架构方法,并帮助我们认识到怎样才是“恰如其分”的。本书的问世为软件架构领域又增添了一份重要的文献。 ——Desmond D’Souza, 《MAp and Catalysis》一书的作者,Kinetium, Inc. . 很多系统和软件开发人员常常追问为什么要做,以及针对什么做软件架构,他们一定会感谢本书的作者在这本书中呈现了清晰的论证和精彩的推理;对于纠结何时,以及如何做架构的开发人员,也会在本书中找到恰如其分的指导,当然还有很多概念和思想。总之,本书简洁易懂,还有很多可供参考的内容——的确是一本架构精到、设计精心的好书! ——Shang-Wen Cheng博士,航空软件工程师 . 如果你打算阅读一本关于软件架构的书,那就选择这一本吧。《恰如其分的软件架构》覆盖了每一位程序员、开发人员、测试人员、架构师、经理都必须知道的软件架构的基本概念,它提供了很多在实战中非常实用的建议,而这只需要你花几个小时去阅读! ——Michael Keeling,专业软件工程师 . 本书展现了软件架构将如何帮助你来构建软件,而不会阻碍软件的构建;本书能够让你关注那些真正值得关注的关键性架构工作,从而避免影响编码工作。 ——Kevin Bierhoff博士,专业软件工程师
  • 代码的未来

    作者:[日] 松本行弘

    《代码的未来》是Ruby之父松本行弘的又一力作。作者对云计算、大数据时代下的各种编程语言以及相关技术进行了剖析,并对编程语言的未来发展趋势做出预测,内容涉及Go、VoltDB、node.js、CoffeeScript、Dart、MongoDB、摩尔定律、编程语言、多核、NoSQL等当今备受关注的话题。   《代码的未来》面向各层次程序设计人员和编程爱好者,也可供相关技术人员参考。
  • HTML5 Canvas核心技术

    作者:David Geary

    海报:
  • Effective Objective-C 2.0

    作者:Matt Galloway

    Write Truly Great iOS and OS X Code with Objective-C 2.0! Effective Objective-C 2.0 will help you harness all of Objective-C's expressive power to write OS X or iOS code that works superbly well in production environments. Using the concise, scenario-driven style pioneered in Scott Meyers' best-selling Effective C++, Matt Galloway brings together 52 Objective-C best practices, tips, shortcuts, and realistic code examples that are available nowhere else. Through real-world examples, Galloway uncovers little-known Objective-C quirks, pitfalls, and intricacies that powerfully impact code behavior and performance. You'll learn how to choose the most efficient and effective way to accomplish key tasks when multiple options exist, and how to write code that's easier to understand, maintain, and improve. Galloway goes far beyond the core language, helping you integrate and leverage key Foundation framework classes and modern system libraries, such as Grand Central Dispatch. Coverage includes * Optimizing interactions and relationships between Objective-C objects* Mastering interface and API design: writing classes that feel "right at home"* Using protocols and categories to write maintainable, bug-resistant code* Avoiding memory leaks that can still occur even with Automatic Reference Counting (ARC)* Writing modular, powerful code with Blocks and Grand Central Dispatch* Leveraging differences between Objective-C protocols and multiple inheritance in other languages* Improving code by more effectively using arrays, dictionaries, and sets* Uncovering surprising power in the Cocoa and Cocoa Touch frameworks
  • 单元测试之道C#版

    作者:托马斯

  • Junit in Action 中文版

    作者:马索尔 (Massol Vincent)

    本书主要介绍了在Java软件开发中使用JUnit进行测试的原则、技巧与实践,深入阐述如何编写自动测试,把一段代码隔离开来测试有什么好处,如何判断何时需要进行整合测试,并对如何测试完整的J2EE应用进行了极具价值的讨论。本书富含开发实践当中的真实案例,以专家手笔讨论了实践中的测试技术,主要内容包括:用mock objects进行隔离测试;用Cactus进行容器内测试;用Ant和Maven进行自动构建;在Eclipse内进行测试;对Java应用程序、Filter、Servlet、EJB、JSP、数据库应用程序、Taglib等进行单元测试。本书适合于在Java平台下进行各类软件开发的开发人员、测试人员、单元测试研习者以及编程爱好者阅读和学习,具有极高的参考价值。
  • 人件集

    作者:L.L.) 康斯坦丁(Constanti

    《人件集:人性化的软件开发》谈的是计算机软件的另一面:朝外的一面。技术人员可以接触到(如你、我)这一面,普通的人也可以接触到(如你、我)这一面。本文要探讨的是“人件(peopleware)”的各种不同的表现形式,软件与开发人员之间的界面,软件与使用者之间的界面。《人件集:人性化的软件开发》适合于所有开发并使用软件的设计人员、开发人员和管理人员阅读,《人件集:人性化的软件开发》的许多章节收自于作者在多本知名计算机杂志的人件专栏文章,在带领读者走进人件世界的旅行中,以人性化的角度思考如何迎接软件开发所面临的各种挑战。
  • 测试驱动开发

    作者:Kent Beck

  • 软件需求

    作者:维格斯

    本书讲述了软件开发中一个至关重要的问题——软件需求问题。软件开发人员及用户往往容易忽略信息沟通,导致软件开发出来后,不能很好地满足用户的需要。而返工则不仅在技术上给开发人员带来巨大的麻烦,而且软件性能深受影响且造成人力、物力的浪费。所以在开发周期早期提高项目需求分析的质量,减少重复劳动,通这控制项目范围的扩展及需求变更来达到按计划完成预定目标是当前我国软件业急需解决的问题——这也是本书讨论的主要内容。
  • 质量·软件·管理(第1卷)

    作者:杰拉尔德・温伯格

    《质量软件管理》(第1卷)通过大量的实例解释了"控制点"的概念,只要对这些位置进行管理,就可以防止危机的发生,或者至少不使情况更糟。 书中讨论的问题包括:质量、压力与崩溃、软件文化、软件模式、管理模式、反馈作用、软件工程中的规模 / 复杂度动力、故障检测及其应对方法、错误排除动力、客户作用等。极具价值的图表、索引、练习题以及参考书目,更使《质量软件管理》(第1卷)光彩倍增。
  • Python高级编程

    作者:Tarek Ziadé

    《Python高级编程》通过大量的实例,介绍了Python语言的最佳实践和敏捷开发方法,并涉及整个软件生命周期的高级主题,诸如持续集成、版本控制系统、包的发行和分发、开发模式、文档编写等。《Python高级编程》首先介绍如何设置最优的开发环境,然后以Python敏捷开发方法为线索,阐述如何将已被验证的面向对象原则应用到设计中。这些内容为开发人员和项目管理人员提供了整个软件工程中的许多高级概念以及专家级的建议,其中有些内容的意义甚至超出了Python语言本身。 《Python高级编程》针对具备一定Python基础并希望通过在项目中应用最佳实践和新的开发技术来提升自己的Python开发人员。
  • 高效程序员的45个习惯

    作者:Venkat Subramaniam,A

    “书中‘切身感受’的内容非常有价值——通过它我们可以做到学有所思,思有所悟,悟有所行。” ——Nathaniel T. Schutta,《Ajax基础教程》作者 “此书通过常理和经验,阐述了为什么你应该在项目中使用敏捷方法。最难得的是,这些行之有效的实战经验,竟然从一本书中得到了。” ——Matthew Johnson,软件工程师 十年来,软件行业发生了翻天覆地的变化。敏捷方法大行其道,测试和测试驱动开发在很多开发人员的工作中扮演着重要的角色。作为一名程序员,你应该培养怎样的素质,方能对多变的环境应对自如,始终立于不败之地? 本书简明实用、见解深刻,总结了高效程序员在开发过程中的45个个人习惯、思想观念和方法,有助于开发人员在开发进程、编码工作、开发者态度、项目和团队管理,以及持续学习等5个方面积极修炼。通过学习这些内容,养成这些好的习惯,你可以极大地提升自己的编程实力,更快速、更可靠地交付更高质量的软件,从而成为真正的高效程序员。
  • 架构之美

    作者:Till Adam

    本书围绕5个主题领域来组织本书的内容:概述、企业应用、系统、最终用户应用和编程语言。本书让最优秀的设计师和架构师来描述他们选择的软件架构,剥开架构的各层,展示他们如何让软件做到实现功能、可靠、易用、高效率、可维护、可移植和优雅。
  • 项目管理修炼之道

    作者:罗斯曼(Johanna Rothman)

    《项目管理修炼之道》基于作者多年项目管理的实践经验,融会贯通地讲解了成功管理软件项目的各个要素。书中内容涉及软件项目管理的整个流程:项目启动、项目章程、项目计划、项目日程安排、项目估算、明确的角色和职责、明确的开发流程、恰到好处的度量标准、发布条件、参与beta测试的客户……所有成功项目管理的必备元素一应俱全。贯穿全书的提示和生动的案例,更能加深读者对项目管理的领悟。 《项目管理修炼之道》是一本项目经理的实战手册,项目开发人员、软件经理等项目相关人员也能从中获得有益的指导。
  • 冒号课堂

    作者:郑晖

    《冒号课堂》以课堂对话的形式,借六位师生之口讲述编程要义。上篇对编程范式作了入门性的介绍,并对一些流行的编程语言进行了简评;下篇侧重阐发软件设计思想,其中在范式上以OOP为主,在语言上以C++、Java和C#为主。全书寓庄于谐,深入浅出,既可开阔眼界,又能引发思考,值得编程爱好者品读。
  • The Passionate Programmer

    作者:Chad Fowler

    Success in today's IT environment requires you to view your career as a business endeavor. In this book, you'll learn how to become an entrepreneur, driving your career in the direction of your choosing. You'll learn how to build your software development career step by step, following the same path that you would follow if you were building, marketing, and selling a product. After all, your skills themselves are a product. The choices you make about which technologies to focus on and which business domains to master have at least as much impact on your success as your technical knowledge itself; don't let those choices be accidental. We'll walk through all aspects of the decision-making process, so you can ensure that you're investing your time and energy in the right areas. You'll develop a structured plan for keeping your mind engaged and your skills fresh. You'll learn how to assess your skills in terms of where they fit on the value chain, driving you away from commodity skills and toward those that are in high demand. Through a mix of high-level, thought-provoking essays and tactical 'Act on It' sections, you will come away with concrete plans you can put into action immediately. You'll also get a chance to read the perspectives of several highly successful members of our industry from a variety of career paths. As with any product or service, if nobody knows what you're selling, nobody will buy. We'll walk through the often-neglected world of marketing, and you'll create a plan to market yourself both inside your company and to the industry in general. Above all, you'll see how you can set the direction of your career, leading to a more fulfilling and remarkable professional life.
  • 企业应用架构模式

    作者:Martin Fowler

    随着信息技术的广泛应用,系统需要处理的数据量越来越大,企业级软件开发已经渐成主流,而开发人员面临的困难与挑战也是显而易见的。更糟糕的是,这一领域的资料一直非常缺乏。 本书是软件开发大师Martin Fowler的代表作,采用模式的形式系统总结了业界多年积累的经验,被称为“企业级应用开发领域的圣经”,出版以来一直畅销不衰,至今仍然无可替代。作 者在精彩地阐述了企业应用开发和设计中的核心原则基础上,详细、生动地讲述了51个模式并给出主流平台(Java和.NET)中的应用实例,更分析了许多 相似模式之间的差异,提供了具体运用和选择这些模式的大量经验之谈,使你不仅知其然,更知其所以然。 这是一部软件开发领域不朽的经典,任何一位真正的软件开发人员都不可错过。
  • The Cathedral and the Bazaar

    作者:Eric Steven Raymond

    《大教堂与市集》(The Cathedral and the Bazaar)是埃里克·斯蒂芬·雷蒙(Eric Steven Raymond)所撰写的软件工程方法论。以Linux的核心开发过程以及作者自己主持开发的开放原始码软件──Fetchmail为讨论案例。文章在1997年5月27日发表,并在1999年出版成书。 本书讨论两种不同的自由软件开发模式︰ 大教堂模式(The Cathedral model)︰原始码在本模式是公开的,但在软件的每个版本开发过程是由一个专属的团队所控管的。作者以GNU Emacs及GCC这两软件为例。 市集模式(The Bazaar model)︰原始码在本模式也是公开的,不过却是放在因特网上供人检视及开发。作者以Linux核心的创始者林纳斯·托瓦兹带领Linux核心的开发为例,亦引用fetchmail的开发为例。 这篇文章的要义是让够多人看到原始码,错误将无所遁形(Given enough eyeballs, all bugs are shallow)。作者表示大教堂模式的软件开发让程序除错的时间大幅增加,因为只有少数的开发者可参与修改工作。市集模式则相反。 此文让大部份的开放原始码及自由软件的开发计划采用市集模式,甚至原来采用大教堂模式的 GNC Emacs 及 GCC 也是如此。Netscape 网页浏览器后来释出原始码,并启动Mozilla计划,也或多或少受到这篇文章的启发。 大教堂与市集也被延伸到非电脑软件的开发上面。例如维基百科就是市集模式,而Nupedia与大英百科全书就是大教堂模式。 欧莱礼出版社于1999年发行此书的创举是,首次商业印刷出版的书以Creative Commons授权模式出版。 本书(原文)的国际标准书号是 ISBN 1565927249(精装本)、ISBN 0596001088(平装本)。
  • Apprenticeship Patterns

    作者:Dave Hoover,Adewale

    Software developers face an ever-changing and ever-expanding technology landscape, which can appear as intimidating as Mt. Everest to newcomers. Developing technical skills is vital, but there are dozens of soft skills and learning techniques you need if you're to grow and succeed professionally. Honing those soft skills is a big part of what "Apprenticeship Patterns" is all about. Authors Dave Hoover and Adewale Oshineye, both formerly of the global IT consultancy ThoughtWorks, have cataloged dozens of patterns of behavior to help software developers hone their craft. Developed through years of research, a multitude of interviews, and feedback from O'Reilly's online forum, these patterns address difficult situations faced by entry-level programmers, system administrators, and database administrators. Each pattern has a memorable name to help point you in the right direction when you need it most. Examples of common obstacles and their solutions include: burned out at work? - learn how to 'Nurture Your Passion' by finding a pet project to help you rediscover the joy of problem solving; feeling overwhelmed by too much new information? - take a step back from your learning to re-explore some familiar territory by building something you've built before, then use 'Retreat Into Competence' to launch yourself forward again ; and, feeling stuck in your learning? - seek out a team of experienced and talented developers where you can 'Be the Worst' for a while Like any patterns book, you can read this one front-to-back, jump to specific patterns when you encounter the issues they address, or cherry pick just the ones that are new to you. The purpose of the solutions is to inspire you to stay on the path you intend, rather than wander off into management because it seems like the only option for advancement. "Apprenticeship Patterns" approaches software development not as a means to financial success, but as a means to personal fulfillment. It's your life and your career. Discover how this book can help you make the best of both.
  • 卓有成效的程序员

    作者:Neal Ford

    《卓有成效的程序员》就是讲述如何在开发软件的过程中变得更加高效。同时,《卓有成效的程序员》的讲述将会跨语言和操作系统:很多技巧的讲述都会伴随多种程序语言的例子,并且会跨越三种主要的操作系统,Windows(多个版本),Mac OS X以及 *-nix (Unix或者Linux)。 《卓有成效的程序员》讨论的是程序员个体的生产力,而不是团队的生产力问题,所以它不会涉及方法论(好吧,可能总会在这里或那里谈论到一些,但肯定不会深入讨论)。同时《卓有成效的程序员》也不会讨论生产力对整个团队的影响。我的使命,是让作为个体的程序员通过掌握恰当的工具和思想变得更加高效。