软件开发
代码之髓
コーディングを支える技術 ~成り立ちから学ぶプログラミング作法 Douban Goodreads
★ 7.8 12 ratings
[日] 西尾泰和 translator: 曾一鸣 publishing house: 人民邮电出版社 2014 - 8
本书作者从编程语言设计的角度出发,围绕语言中共通或特有的核心概念,通过语言演变过程中的纵向比较和在多门语言中的横向比较,清晰地呈现了程序设计语言中函数、类型、作用域、类、继承等核心知识。本书旨在帮助读者更好地理解各种 概念是因何而起,并在此基础上更好地判断为何使用、何时使用及怎样使用。同时,在阅读本书后,读者对今后不断出现的新概念的理解能力也将得到提升。 本书力求简明、通俗,注重可读性,可作为大学计算机科学和软件工程等专业程序设计语言概论教材、计算机等级考试的参考资料,也可作为软件开发人员的学习参考书。
Read
Aug. 1, 2015
日本人好像写这种入门书比较拿手。通俗易懂,广度不错,涉及的知识点都很重要。不过这本书不是面向编程高手的,如果已经熟悉几门编程语言并且了解其中的机制,就没必要看了。
软件开发
NoSQL精粹
NoSQL Distilled Douban
★ 8.8 5 ratings
[美]Pramod J. Sadalage / [美]Martin Fowler translator: 爱飞翔 publishing house: 机械工业出版社 2013 - 8
《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章提供了选择数据库时可以参考的一些建议。
Read
July 26, 2015
读这本书读得太晚了,在 NoSQL 已经遍地开花的时候,发现之前零零碎碎获得的知识还是不如在这本薄薄的书里面概括得有条理。
软件开发
JavaScript设计模式
Learning JavaScript Design Patterns Douban
Addy Osmani translator: 徐涛 publishing house: 人民邮电出版社 2013 - 6
《JavaScript设计模式》是JavaScript设计模式的学习指南。全书分为14章。首先介绍了什么是模式、模式的结构、类别、模式的分类、如何编写模式等等;然后,集中介绍了很多流行的设计模式在JavaScript中的应用,包括Module(模块)模式、Observer(观察者)模式、Facade(外观)模式和Mediator(中介者)模式;最后,还探讨了模块化的JavaScript模式、jQuery及其插件中的设计模式。 《JavaScript设计模式》适合专业的Web开发人员和前端工程师阅读。通过阅读本书,他们将能够提高对设计模式的认识,并学会如何将设计模式应用到JavaScript编程语言中。
Read
May 5, 2015
记住你了,徐涛,你翻译的书绝不能看。
软件开发
JavaScript模式
JavaScript Patterns Douban
Stoyan Stefanov translator: 陈新 publishing house: 中国电力出版社 2012 - 7
《JavaScript模式》包含了实现每个讨论的模式的实践建议,并附有数个可以立即上手的范例。同时还可以学到一些反模式,一些常见的编程方式,这些编程方式引发的问题比解决的还多。它不是一本入门级的书,而是适用于希望将自身的Javascript技巧提高到一个新层次的专业的开发人员和程序员。全书共八章节,内容包括简介、基本技巧、字面量和构造函数、函数、对象创建模式、代码复用模式等。
开源SOA
Open Source SOA Douban
Jeff Davis translator: 高宇翔 2010
本书介绍了面向服务的架构(SOA)的基本概念和蓝图,对构成SOA的方方面面,包括服务编写和组装、业务流程建模、事件处理和报告、企业集成总线、决策服务等进行了全方位的介绍,并以“开放SOA平台”为目标,与读者一道搜罗了大量可选方案进行对比,最终选择了一系列开源产品组成完整的SOA解决方案。作者拥有多年企业软件开发经验,在本书中,他以真实世界的案例向我们展示了开源SOA的价值和实现方法。不论你是业务用户、架构师还是一线开发人员,都能从本书得到大量的启发和实战参考。
Read
Jan. 6, 2015
这本书介绍的东西有点旧了,SOA里面一些由大厂商鼓吹的华而不实的概念也逐渐被业界抛弃。不过,粗读一下用来了解一些概念,这本书还不错。
软件开发
高效能程序员的修炼
Effective Programming: More Than Writing Code Douban
★ 8.0 6 ratings
[美]Jeff Atwood translator: 陆其明 / 张健 publishing house: 人民邮电出版社 2013 - 7
jeff atwood于2004年创办coding horror博客(http://www.codinghorror.com),记录其在软件开发经历中的所思所想、点点滴滴。时至今日,该博客每天都有近10万人次的访问量,读者纷纷参与评论,各种观点与智慧在那里不断激情碰撞。 《高效能程序员的修炼》是coding horror博客中精华文章的集合。全书分为12章,涉及迈入职业门槛、高效能编程、应聘和招聘、团队协作、高效工作环境、用户体验、安全问题、测试、社区管理、营销广告、人生思考等话题。作者选取的话题,无一不是程序员职业生涯中的痛点。其中,“程序员的八种境界”、“程序员的《权利法案》”、“结交混世魔猴”等文章早已脍炙人口,在程序员圈子里广为流传。 《高效能程序员的修炼》的写作风格风趣幽默,且充满理解和关怀,适合从新手到老手的各个阶段的程序员阅读,也适合即将成为程序员的计算机和相关专业的学生阅读。《高效能程序员的修炼》能够帮助读者更多地关注程序员职业生涯中的人性和人文因素,成长为真正的高效能的程序员。
代码的未来
Douban
★ 7.5 19 ratings
[日] 松本行弘 translator: 周自恒 publishing house: 人民邮电出版社 2013 - 6
《代码的未来》是Ruby之父松本行弘的又一力作。作者对云计算、大数据时代下的各种编程语言以及相关技术进行了剖析,并对编程语言的未来发展趋势做出预测,内容涉及Go、VoltDB、node.js、CoffeeScript、Dart、MongoDB、摩尔定律、编程语言、多核、NoSQL等当今备受关注的话题。 《代码的未来》面向各层次程序设计人员和编程爱好者,也可供相关技术人员参考。
领域特定语言
Domain-Specific Languages Douban Goodreads
[美国] Martin Fowler translator: ThoughtWorks中国 publishing house: 机械工业出版社华章公司 2013 - 3
本书是DSL领域的丰碑之作,由世界级软件开发大师和软件开发“教父”Martin Fowler历时多年写作而成,ThoughtWorks中国翻译。全面详尽地讲解了各种DSL及其构造方式,揭示了与编程语言无关的通用原则和模式,阐释了如何通过DSL有效提高开发人员的生产力以及增进与领域专家的有效沟通,能为开发人员选择和使用DSL提供有效的决策依据和指导方法。 全书共57章,分为六个部分:第一部分介绍了什么是DSL,DSL的用途,如何实现外部DS和内部DSL,如何生成代码,语言工作台的使用方法;第二部分介绍了各种DSL,分别讲述了语义模型、符号表、语境变量、构造型生成器、宏和通知的工作原理和使用场景;第三部分分别揭示分隔符指导翻译、语法指导翻译、BNF、易于正则表达式表的词法分析器、递归下降法词法分析器、解析器组合子、解析器生成器、树的构建、嵌入式语法翻译、内嵌解释器、外加代码等;第四部分介绍了表达式生成器、函数序列、嵌套函数、方法级联、对象范围、闭包、嵌套闭包、标注、解析数操作、类符号表、文本润色、字面量扩展的工作原理和使用场景;第五部分介绍了适应性模型、决策表、依赖网络、产生式规则系统、状态机等计算模型的工作原理和使用场景;第六部分介绍了基于转换器的代码生成、模板化的生成器、嵌入助手、基于模型的代码生成、无视模型的代码生成和代沟等内容。
Read
Dec. 28, 2013
罗列各种模式,感觉比较全面。每种模式点到即止,别期望看完就从入门到精通。翻译值得吐槽,读起来很不顺畅。
软件开发
软件集成策略——如何有效率地提升质量
Douban
董越 publishing house: 电子工业出版社 2013 - 7
要想把软件卖出去,要想让程序发挥价值,需要把研发出来的各个模块、各个功能“捏”在一起,并且达到一定的质量标准。因此,集成很重要。这是一本关于软件集成的书。它将全面介绍包括持续集成、持续交付在内的,业界公认的原则和最佳实践。但本书并不止步于此,本书将仔细讲解这些原则和最佳实践背后的原因。因为我们需要知道最佳实践背后的道理,知道思考的方法,才能在具体的情境中活学活用,根据实际项目具体情况,制定最合适务实的方案。 本书适合所有与软件集成有关的工作者阅读,包括程序开发人员、集成工程师、测试人员、质量保证人员、配置管理人员、项目管理人员等。软件集成策略和方法,需要软件集成相关的每个人了解和掌握。
The Architecture of Open Source Applications
Douban Goodreads
★ 7.7 6 ratings
Amy Brown publishing house: lulu.com 2012 - 3
Architects look at thousands of buildings during their training, and study critiques of those buildings written by masters. In contrast, most software developers only ever get to know a handful of large programs well—usually programs they wrote themselves—and never study the great programs of history. As a result, they repeat one another's mistakes rather than building on one another's successes. This book's goal is to change that. In it, the authors of twenty-five open source applications explain how their software is structured, and why. What are each program's major components? How do they interact? And what did their builders learn during their development? In answering these questions, the contributors to this book provide unique insights into how they think. If you are a junior developer, and want to learn how your more experienced colleagues think, this book is the place to start. If you are an intermediate or senior developer, and want to see how your peers have solved hard design problems, this book can help you too.
Scala程序设计
Programming Scala: Tackle Multi-Core Complexity on the Java Virtual Machine Douban
[美]Venkat Subramaniam translator: 郑晔 / 李剑 2010 - 8
Scala是一种针对 JVM 的通用的编程语言,用来以简明、优雅、类型安全的方式表示常见的编程模式。它无缝集成了面向对象语言和函数式语言的特性,可以大大提高JAVA程序员的编程效率。Twitter、SAP等知名企业已经开始在一些应用里使用Scala,很多新的程序员也开始学习它。 本书循序渐进地介绍了Scala的函数式编程基础,虽然篇幅短小,却切中要害。读者可以学会使用Scala静态语言的强大功能创建简洁、可扩展、高度可并行的代码。对于多核时代JVM上的并发编程,Scala是绝好的工具,而本书是你必不可少的向导。
Read
Sept. 1, 2013
以前看到Scala代码的时候觉得语法莫名其妙难以理解,看完这本书开始喜欢上Scala了。
软件开发
编写可读代码的艺术
The Art of Readable Code: Simple and Practical Techniques for Writing Better Code Douban
★ 8.5 22 ratings
[美] Dustin Boswell / [美] Trevor Foucher translator: 尹哲 / 郑秀雯 publishing house: 机械工业出版社 2012 - 7
细节决定成败,思路清晰、言简意赅的代码让程序员一目了然;而格式凌乱、拖沓冗长的代码让程序员一头雾水。除了可以正确运行以外,优秀的代码必须具备良好的可读性,编写的代码要使其他人能在最短的时间内理解才行。本书旨在强调代码对人的友好性和可读性。 本书关注编码的细节,总结了很多提高代码可读性的小技巧,看似都微不足道,但是对于整个软件系统的开发而言,它们与宏观的架构决策、设计思想、指导原则同样重要。编码不仅仅只是一种技术,也是一门艺术,编写可读性高的代码尤其如此。如果你要成为一位优秀的程序员,要想开发出高质量的软件系统,必须从细处着手,做到内外兼修,本书将为你提供有效的指导。
Read
Feb. 18, 2013
程序员基本素质培养系列书籍。简短易读,快速浏览一次受益也不少。
软件开发
Ruby语言入门
Hajimeteno Ruby Douban
Yugui translator: 丁明 / 吕嘉 2010 - 4
《Ruby 语言入门(中文版)》为具有一定其他语言的编程经验的读者介绍Ruby的特征、Ruby中的编程方法和编程习惯。这些内容都是为了让读者能够边阅读Ruby的资料边进行实践性的学习所必须具备的基础知识。《Ruby 语言入门(中文版)》对Ruby的基础部分和元类、块语句这样独特的概念,以及由此产生的特有的文化进行了说明,以使读者能够了解到Ruby独特的思考方式。读完《Ruby 语言入门(中文版)》,读者就应该能够灵活地运用各种Ruby的类库,并能够掌握编写高水平的Ruby程序的基础知识。
鲜活的数据
Douban
[美] Nathan Yau translator: 向怡宁 publishing house: 人民邮电出版社 2012 - 10
在生活中,数据几乎无处不在,任我们取用。然而,同样的数据给人的感觉可能会千差万别:或冰冷枯燥,让人望而生畏、百思不解其意;或生动有趣,让人一目了然、豁然开朗。为了达到后一种效果,我们需要采用一种特别的方式来展示数据,来解释、分析和应用它。这就是数据可视化技术。Nath an Yau是这一创新领域的先锋。在本书中,他根据数据可视化的工作流程,先后介绍了如何获取数据,将数据格式化,用可视化工具(如R)生成图表,以及在图形编辑软件(如Illustrator)中修改以使图表达到最佳效果。本书介绍了数十种方法(如柱形图、饼图、折线图和散点图等),以创造性的视觉方式生动讲述了有关数据的故事。
Read
Feb. 9, 2013
不错的数据可视化入门书。看了这本书后立马安装R来实践了一下。
软件开发 数学
An Introduction to R
Douban
William N. Venables / David M. Smith publishing house: Network Theory Ltd. 2002 - 5
This manual provides an introduction to "R", a software package for statistical computing and graphics. R is free software, distributed under the GNU General Public License. It can be used with GNU/Linux, Unix and Microsoft Windows.
深入理解Java虚拟机
Douban
周志明 publishing house: 机械工业出版社 2011 - 6
《深入理解Java虚拟机:JVM高级特性与最佳实践》内容简介:作为一位Java程序员,你是否也曾经想深入理解Java虚拟机,但是却被它的复杂和深奥拒之门外?没关系,本书极尽化繁为简之妙,能带领你在轻松中领略Java虚拟机的奥秘。本书是近年来国内出版的唯一一本与Java虚拟机相关的专著,也是唯一一本同时从核心理论和实际运用这两个角度去探讨Java虚拟机的著作,不仅理论分析得透彻,而且书中包含的典型案例和最佳实践也极具现实指导意义。 全书共分为五大部分。第一部分从宏观的角度介绍了整个Java技术体系的过去、现在和未来,以及如何独立地编译一个OpenJDK7,这对理解后面的内容很有帮助。第二部分讲解了JVM的自动内存管理,包括虚拟机内存区域的划分原理以及各种内存溢出异常产生的原因;常见的垃圾收集算法以及垃圾收集器的特点和工作原理;常见的虚拟机的监控与调试工具的原理和使用方法。第三部分分析了虚拟机的执行子系统,包括Class的文件结构以及如何存储和访问Class中的数据;虚拟机的类创建机制以及类加载器的工作原理和它对虚拟机的意义;虚拟机字节码的执行引擎以及它在实行代码时涉及的内存结构。第四部分讲解了程序的编译与代码的优化,阐述了泛型、自动装箱拆箱、条件编译等语法糖的原理;讲解了虚拟机的热点探测方法、HotSpot的即时编译器、编译触发条件,以及如何从虚拟机外部观察和分析JIT编译的数据和结果。第五部分探讨了Java实现高效并发的原理,包括JVM内存模型的结构和操作;原子性、可见性和有序性在Java内存模型中的体现;先行发生原则的规则和使用;线程在Java语言中的实现原理;虚拟机实现高效并发所做的一系列锁优化措施。 本书适合所有Java程序员、系统调优师和系统架构师阅读。 海报: 点击链接进入Java程序设计: 《深入理解Java虚拟机:JVM高级特性与最佳实践》 《JAVA核心技术(卷1):基础知识(原书第8版)》 《JAVA核心技术卷2:高级特征》 《Java语言程序设计(基础篇)(原书第8版)》 《Java编程思想(第4版)》 《Effective Java中文版(第2版)》 《Java编程思想(英文版•第4版)》 《Java 实时编程》 《Java加密与解密的艺术》 《Eclipse插件开发(原书第3版)(畅销插件开发指南新版)》 《Java语言程序设计:进阶篇(原书第8版)》 《Maven实战》
Read
Oct. 10, 2012
刚刚看了前两部分,关于GC的,概念清晰,细节不少,而且作者经验丰富,干货好多,很贴近实际。
软件开发
大道至易
Douban
周爱民 2012 - 6
本书可以看成是《大道至简》的姊妹篇,是以软件工程为体系、以组织结构为视角,融合系统架构师、项目管理者和软件开发人员三种角色实践的思想总成。本书讨论这些思想,并陈述它们所基于的原则、背景与获得过程。 本书适合各类工程管理人员、软件开发人员和架构师阅读。 作序者对本书的评价: 本书作者站在架构师的高度上来看待软件开发,甚至更大的意义上,看待以软件开发能力为核心的企业在产品战略、人力配置和文化方面的组织问题。作者在过去几年里,先后在两家超大规模互联网企业中做架构师,他在其中的矛盾、迷惘、挣扎和成就是这本书的思想源泉,而他对于架构师角色的实习和领悟,也是这本书的价值所在。作者采取的方式,就是老老实实把自己的思维过程和喃喃自语都很原生态地记录下来,从而形成一本“心语”之作。因此,如果读者也能够“心心相印”,潜下心来仔细品读这本书,那么就相当于跟作者一起进行了一段旅行对话,或者,一起在思维的教武场里杀个几进几出。或许这种如切如磋、如琢如磨、反复捶打、反复锻造的风格,倒确实能够帮助有心的读者获得一些架构设计的经验。 因此,无论从内容上,还是从行文风格上,这本书都是非常独特的,也有其独特的价值。作者的作品,一向是长销之作,其价值也往往需要一段时间才能被真正认识,我不敢说自己能够在短暂的阅读当中充分理解这本书,但是我相信其中所蕴藏的价值和诚意。 ——孟岩
Read
Oct. 1, 2012
不知道是我功力不够,还是作者写得太虚,反正没读出个所以然。
软件开发
Release It!
Douban Goodreads
Michael T. Nygard publishing house: Pragmatic Bookshelf 2007 - 3 other title: Release It!: Design and Deploy Production-Ready Software
“Feature complete” is not the same as “production ready.” Whether it’s in Java, .NET, or Ruby on Rails, getting your application ready to ship is only half the battle. Did you design your system to survive a sudden rush of visitors from Digg or Slashdot? Or an influx of real world customers from 100 different countries? Are you ready for a world filled with flakey networks, tangled databases, and impatient users? If you’re a developer and don’t want to be on call at 3AM for the rest of your life, this book will help you.
Read
Sept. 15, 2012
上下班地铁上有机会就读上几页,前后几个月,终于读完了,英文的阅读速度还是比中文慢不少。写了书评:后台系统设计必读。
软件开发
Sept. 15, 2012 Review 后台系统设计必读 - a review of Release It!
持续集成
Continuous Integration Douban
translator: 王海鹏 publishing house: 电子工业出版社 2012 - 6
《持续集成:软件质量改进和风险降低之道》全面深入地讨论持续集成的各个方面,介绍了一种增加项目可见性、降低项目失败风险的有效实践。此外,还介绍了测试驱动、代码审查、数据库集成、信息反馈等实践和工具。全书列举了持续集成系统的优缺点,以及如何使用持续集成系统、什么时候使用等,可操作性极强。Jolt大奖素有"软件业之奥斯卡"的美称,《持续集成:软件质量改进和风险降低之道》精选自Jolt历届获奖图书,以植根于开发实践中的独到工程思想与杰出方法论为主要甄选方向。
Read
Sept. 8, 2012
在图书馆翻了一遍,不算读过。2008 Jolt Award,当然是好书,但现在再版已经过气了,CI已经成为软件开发环境基础设施,这种入门推广资料的意义已经不大。
软件开发