-
简单之美
本书不是一本关于方法论的理论性书籍(尽管已经尝试在大量的思考上进行一些理论归纳),也不是一本关于具体技术的操作手册。本书为读者呈现的是作者在软件开发实践中的思考和体验,目的在于探究实践中的问题的根源,并给出思想上的解决之道。 本书以软件开发的基本顺序为主线,以简单、想象和文化的开发思想为线索,以为软件开发实践提供指导价值为目标。本书力图做到传递经过组织的、可操作的软件开发经验,使软件开发领域的新手在知识(软件开发思想)积累过程中少走弯路,也使软件开发领域的老手可以对照自己的经验把可能的困惑降到最低。有一些有趣例子为那些有价值的思考提供支持。 本书中,作者尝试对简单、想象和文化做一些形而上的思考。这些思考会比较抽象,但却是很多话题的基础。 -
大型网站技术架构
《大型网站技术架构:核心原理与案例分析》通过梳理大型网站技术发展历程,剖析大型网站技术架构模式,深入讲述大型互联网架构设计的核心原理,并通过一组典型网站技术架构设计案例,为读者呈现一幅包括技术选型、架构设计、性能优化、Web 安全、系统发布、运维监控等在内的大型网站开发全景视图。 《大型网站技术架构:核心原理与案例分析》不仅适用于指导网站工程师、架构师进行网站技术架构设计,也可用于指导产品经理、项目经理、测试运维人员等了解网站技术架构的基础概念;还可供包括企业系统开发人员在内的各类软件开发从业人员借鉴,了解大型网站的解决方案和开发理念。 -
NoSQL精粹
《NoSQL精粹》为考虑是否可以使用和如何使用NoSQL数据库的企业提供了可靠的决策依据。它由世界级软件开发大师和软件开发“教父”Martin Fowler与Jolt生产效率大奖图书作者Pramod J. Sadalage共同撰写。书中全方位比较了关系型数据库与NoSQL数据库的异同;分别以Riak、MongoDB、Cassandra和Neo4J为代表,详细讲解了键值数据库、文档数据库、列族数据库和图数据库这4大类NoSQL数据库的优劣势、用法和适用场合;深入探讨了实现NoSQL数据库系统的各种细节,以及与关系型数据库的混用。 全书分为两部分,共15章:第一部分(第1~7章)主要讲述NoSQL的核心概念。其中第1章解释了NoSQL发展迅速的原因;第2章描述了在NoSQL领域的三种主要的数据模型中如何体现“聚合”这一概念;第3章介绍了聚合的缺点;第4章描述了数据库如何在集群中分布数据;第5章论及了更新与读取操作对一致性的影响;第6章讨论了版本戳;第7章描述了适合用在NoSQL系统中的“映射-化简”操作。第二部分(第8~15章)讲述了如何实现NoSQL数据库系统。其中第8章~第11章每章各以一种NoSQL数据库为例,演示了如何实现第一部分介绍的概念;第12章解释了数据如何在强模式系统与无模式系统之间迁移;第13章着眼于混合持久化领域的趋势;第14章探讨了在混合持久化领域中会考虑到的其他一些技术;第15章提供了选择数据库时可以参考的一些建议。 -
The Art of Readable Code
As programmers, we've all seen source code that's so ugly and buggy it makes our brain ache. And let's be honest, we've all written code like that. With this book, you'll learn to write code that's easy to read and understand. You'll have more fun and your coworkers will love you. The Art of Coding focuses on the nuts and bolts of programming, with simple and practical techniques you can use every time you sit down to write code. You'll find tips throughout the book, with easy-to-digest code examples, helpful illustrations, and cartoons for fun. * Learn to pick variable names that are "dense with information" * Organize your loops and conditionals so they're easy to understand * Make your comments short and sweet * Recognize when your code is doing too many things at once * Write tests that are concise, but thorough * Master the art of breaking hard problems into many smaller ones -
超越 Java
Java的存在时间已经超过10年了,在这段时间里它的成就非凡,彻底改变了我们写软件的方法和想法。但是Java已显老态,该是时候让我们想想未来接班人是谁了。 在《超越Java》一书中,Bruce Tate公正而诚实地分析Java的成就,以及为何Java是如此强大的工具。他告诉我们Java如何带领计算机编程领域向前迈进,同时也讲述在哪些方面Java会阻碍我们,在哪些方面Java对我们要做的事而言并不够灵活,在哪些地方因为政治力量而使用Java只会导致复杂度的提升。 作者研究了其他的语言和框架,提出了一些很难的问题:这些语言擅长什么?不擅长什么?其中有没有Java的接班人?它们能够像Java一样主导软件领域吗?未来的工具应该是什么样子?会像J2EE或者Ruby on Rails?说不定更激进,就像Continuation server?Bruce Tate除了与我们分享他自己的观察结果,也访问并概括了许多开放源代码Java和Ruby社区的领导人的看法。 不管你是否同意Tate的结论,你都会发现这本书相当激励人心。不管你继续使用Java还是改用其他技术,这本书都可以帮助你思考写程序的方式、怎样提高生产力、什么东西会阻挠你。这本书可以帮助你开妈认清Java以外的世界,接班人就要出现了。 作者简介:Bruce A.Tate是一位泛舟者、越野车骑士、父亲、作家及Java程序员,住在德克萨斯州的奥斯汀。他写了5本书,包括获得Jolt奖的《轻快的Java》(O'Reilly出版)以及热卖的《Bitter Java》(Manning出版)。他有17年的工作经验,包括在IBM工作、两次失败的创业以及开办了自己的叫做J2Life,LLC的独立顾问公司。 -
七周七语言
内容简介: 从计算机发展史早期的Cobol、Fortran到后来的C、Java,编程语言的家族不断壮大。除了这些广为人知的语言外,还涌现了Erlang、Ruby等后起之秀,它们虽被喻为小众语言,但因其独特性也吸引了为数不少的追随者。 Bruce A. Tate是软件行业的一名老兵,他有一个宏伟目标:用一本书的篇幅切中要害地探索七种不同的语言。本书就是他的成果。书中介绍了Ruby、Io、Prolog、Scala、Erlang、Clojure和Haskell这七种语言,关注每一门语言的精髓和特性,重点解决如下问题:这门语言的类型模型是什么,编程范式是什么,如何与其交互,有哪些决策构造和核心数据结构,有哪些独特的核心特性。 在这个飞速发展的信息时代,程序员仅仅掌握甚至精通一门语言是远远不够的。了解多门语言蕴涵的思维方式,在编码中互相借鉴,再挑出一两门对自己口味的语言深入学习,这些已经成为在软件行业中安身立命之本。从这个意义上说,每个程序员都应该看看这本《七周七语言》。