软件开发
SRE
Site Reliability Engineering: How Google Runs Production Systems Douban
★ 8.5 13 ratings
贝特西 拜尔 (Betsy Beyer) / 等 translator: 孙宇聪 publishing house: 电子工业出版社 2016 - 10
大型软件系统生命周期的绝大部分都处于“使用”阶段,而非“设计”或“实现”阶段。那么为什么我们却总是认为软件工程应该首要关注设计和实现呢?在《SRE:Google运维解密》中,Google SRE的关键成员解释了他们是如何对软件进行生命周期的整体性关注的,以及为什么这样做能够帮助Google成功地构建、部署、监控和运维世界上现存最大的软件系统。通过阅读《SRE:Google运维解密》,读者可以学习到Google工程师在提高系统部署规模、改进可靠性和资源利用效率方面的指导思想与具体实践——这些都是可以立即直接应用的宝贵经验。 任何一个想要创建、扩展大规模集成系统的人都应该阅读《SRE:Google运维解密》。《SRE:Google运维解密》针对如何构建一个可长期维护的系统提供了非常宝贵的实践经验。
Read
April 18, 2018
不知道是否自己在运维方面经验还少,读完这本书感觉收获不大:技术方面的东西多数通过其他资料上大概已经知道了,这里也没有太深入介绍;流程方面的东西因为我不实际做运维也不关心。
软件开发
凤凰项目
Douban
★ 8.8 12 ratings
基恩·金 (Gene Kim) / 凯文·贝尔 (Kevin Behr) … translator: 成小留 publishing house: 人民邮电出版社 2015 - 9
本书讲述了一位IT经理临危受命,在未来董事的帮助和自己“三步工作法”理念的支撑下,最终挽救了一家具有悠久历史的汽车配件制造商的故事。小说揭示了管理现代IT组织与管理传统工厂的共通之处,让读者不仅能对如何管理IT组织心领神会,更重要的是将以完全不同于以往的视角来看待自己的工作环境。
Read
March 12, 2018
前半部分非常精彩,确实是软件行业真真切切遇到的问题的集中体现。后面的问题解决显得太势如破竹了。
小说 软件开发
DevOps
DevOps: A Software Architect's Perspective Douban
伦恩·拜斯(Len Bass) / 英戈·韦伯(Ingo Weber) … translator: 胥峰 / 任发科 2017 - 3
本书从软件架构师视角讲解了引入DevOps实践所需要拥有的技术能力,涵盖运维、部署流水线、监控、安全与审计以及质量关注。通过3个经典案例研究,讲解了在不同场景下应用DevOps实践的方法。这对于想应用DevOps实践的组织具有切实的指导意义。 本书共五部分。第一部分(第1~3章)介绍DevOps的背景。第1章介绍DevOps的目标和期望使用DevOps解决的问题等;第2章介绍云;第3章按照信息技术基础设施库(Information Technology Infrastructure Library,ITIL)的理论介绍运维。第二部分(第4~6章)介绍部署流水线,从功能性视角介绍部署实践的内容。第4章介绍微服务架构风格;第5章介绍构建和测试过程以及工具链;第6章介绍部署,它是DevOps的目标之一。第三部分(第7~10章)介绍横切关注点。第7章介绍计算监控和实时测试;第8章介绍安全与安全审计;第9章介绍与DevOps实践有关的其他非功能需求,包括部署流水线的性能、可靠性、可修改性等;第10章介绍业务关注点,包括为引进DevOps所需要准备的业务计划的组成元素,以及如何进行论证、推出和测量业务计划。第四部分(第11~13章)介绍3个案例研究。第11章介绍为了实现业务连续性如何维护两个数据中心;第12章介绍一个持续部署流水线的详细内容;第13章介绍一个组织如何迁移到微服务架构上。第五部分(第14~15章)设想了DevOps的未来。第14章介绍目前的研究以及如何基于把运维视作一系列过程来进行;第15章给出了3~5年内DevOps将如何发展的预测。 本书适合软件架构师、中高级运维工程师、计算机相关专业的学生、希望提高IT生产力的人员等阅读。
Read
Feb. 12, 2018
只有第一二部分还行。总体太形而上。
软件开发
大型网站技术架构
Douban
★ 7.1 14 ratings
李智慧 publishing house: 电子工业出版社 2013 - 9
《大型网站技术架构:核心原理与案例分析》通过梳理大型网站技术发展历程,剖析大型网站技术架构模式,深入讲述大型互联网架构设计的核心原理,并通过一组典型网站技术架构设计案例,为读者呈现一幅包括技术选型、架构设计、性能优化、Web 安全、系统发布、运维监控等在内的大型网站开发全景视图。 《大型网站技术架构:核心原理与案例分析》不仅适用于指导网站工程师、架构师进行网站技术架构设计,也可用于指导产品经理、项目经理、测试运维人员等了解网站技术架构的基础概念;还可供包括企业系统开发人员在内的各类软件开发从业人员借鉴,了解大型网站的解决方案和开发理念。
Read
Jan. 22, 2018
写于2012年末,已经5年过去了,那时还没有微服务、容器化…… 不过前两篇还是值得读读的,虽然谈得很表面,但概括得比较全面,其实新技术也没什么脱胎换骨的变化,背后的原理还是那些;后两篇就没用了。
软件开发
七周七语言(卷2)
Seven More Languages in Seven Weeks Douban
【美】Bruce A. Tate(泰特) / Fred Daoud(达乌德) … translator: 7ML翻译组 publishing house: 人民邮电出版社 2016
深入研习对未来编程具有重要意义的7种语言 Lua、Factor、Elixir、Elm、Julia、Idris和MiniKanren 本书带领读者认识和学习7种编程语言,旨在帮助读者探索更为强大的编程工具。 本书延续了同系列的畅销书《七周七语言》《七周七数据库》和《七周七Web开发框架》的体例和风格。 全书共8章,前7章介绍了Lua、Factor、Elm、Elixir、Julia、miniKanren和Idris共计7种编程语言,最后一章总结回顾了所有的知识点。书中对每一种编程语言的介绍,都为编程开发带来了独特而强大的思路。除此之外,书中还提供了一系列代码示例和在线资源以供参考。 本书适合有一定基础的开发人员阅读,能够帮助读者拓宽思路,激发更多的灵感。
Read
Nov. 17, 2017
开拓眼界。不过没有读卷1时那么有眼前一亮的感觉了。
软件开发
解读NoSQL
Making Sense of NoSQL Douban
[美] 丹·麦克雷 (Dan McCreary) / [美] 安·凯利 (Ann Kelly) translator: 范东来 / 滕雨橦 2016 - 1
本书从NoSQL的相关理论开始,深入浅出地探讨了NoSQL核心的架构模式、解决方案和一些高级主题,内容循序渐进,从理论回归于实践。全书分为4个部分。首部分介绍NoSQL的相关理论,如CAP理论、BASE理论、一致性散列算法等;第二部分介绍NoSQL核心的架构模式—键值存储、图存储、列族存储、文档存储;第三部分展现一些常用的NoSQL解决方案,如HA、全文搜索等;后一部分讨论NoSQL的一些高级主题,如函数式编程。全书理论与实践并重,每章后面还有通俗的案例。对于NoSQL的初学者来说,不失为一本了解NoSQL技术全貌的读物。
Read
Oct. 25, 2017
看目录貌似很全面,看正文每样说几句,泛泛而谈,信息量接近于零。
软件开发
Docker——容器与容器云
Douban
浙江大学SEL实验室 publishing house: 人民邮电出版社 2015 - 9
本书从实践者的角度,在讲解Docker高级实践技巧的同时,深入到源代码层次,为读者梳理出Docker容器技术和基于Docker的容器云技术(如Kubernetes)的实现方法和设计思路,帮助读者理解如何在实际场景中利用Docker解决问题并启发新的思考。全书包括两部分,第一部分深入解读Docker容器技术,包括Docker入门、架构总览、Docker容器核心原理解读,以及Docker高级实践技巧;第二部分深入解读基于Docker的主流容器云技术,讲解了构建自己的容器云的方法,深入分析了3类Docker容器云技术的实现方法的设计思路,包括专注Docker容器编排与部署的容器云(Compose、Machine、Swarm、Fleet)、专注应用支撑的容器云(Flynn、Deis),以及一切皆容器的Kubernetes。 本书适用于有一定Docker基础的开发者、架构师、IT专业学生以及探索基于Docker构建云计算平台的技术人员,也非常适合作为高校教材或培训资料。
Read Sept. 7, 2017
比华为那本《Docker进阶与实战》要深入不少,特别是第二部分Docker云平台,比如Kubernates也说得比较详细。但是行文没有那么流畅。
软件开发
程序员必读之软件架构
Software Architecture for Developers Douban
[英] Simon Brown translator: 邓 钢 publishing house: 人民邮电出版社 2014
通常,人们对软件架构师持两种错误的看法。有人认为软件架构师是一种高高在上的职位;有人认为软件架构师完全不懂开发,只是会画条条框框的指挥家。本书将打破这些传统的认知,模糊软件开发和架构在流程中的界限,进而为软件架构正名。本书是一本强调实践、注重实效、轻量级、面向开发者的软件架构指南。
Read
Sept. 6, 2017
内容太水了,像一份提纲
软件开发
大数据处理之道
Douban
何金池 2016 - 9
《大数据处理之道》覆盖了当前大数据处理领域的热门技术,包括Hadoop、Spark、Storm、Dremel、Drill等,详细分析了各种技术的应用场景和优缺点;同时阐述了大数据下的日志分析系统,重点讲解了ELK日志处理方案;最后分析了大数据处理技术的发展趋势。 《大数据处理之道》采用幽默的表述风格,使读者容易理解、轻松掌握;重点从各种技术的起源、设计思想、架构等方面阐述,以帮助读者从根源上悟出大数据处理之道。 《大数据处理之道》适合大数据开发、大数据测试人员,以及其他软件开发或者管理人员和计算爱好者阅读。
微服务设计
Douban
★ 8.4 11 ratings
[英] Sam Newman translator: 崔力强 / 张骏 publishing house: 人民邮电出版社 2016 - 5
本书全面介绍了微服务的建模、集成、测试、部署和监控,通过一个虚构的公司讲解了如何建立微服务架构。主要内容包括认识微服务在保证系统设计与组织目标统一上的重要性,学会把服务集成到已有系统中,采用递增手段拆分单块大型应用,通过持续集成部署微服务,等等。
Read
Aug. 18, 2017
对微服务设计的全面归纳总结
软件开发
Docker进阶与实战
Douban
华为Docker实践小组 publishing house: 机械工业出版社 2016 - 1
本书由一个真正钻研容器技术的团队写作,他们不仅仅是在使用Docker,更多的是在探索容器的未来之路,希望把“代码与产品,理论与实践”完美结合。本书内容从Docker的来源、镜像、仓库、安全、网络、卷存储,到生态、测试及社区贡献都有涉猎。无论你是入门级,还是已经有了较深的功底,这本书都会带你踏上新的台阶——正所谓“进阶”。
Read
Aug. 5, 2017
系统全面的将Docker及周边的技术介绍了一遍,从功能介绍、使用方法到简要的实现机制,看完后就从对Docker所知不多到大概全面了解了。
软件开发
Building Microservices
Douban
Sam Newman publishing house: O'Reilly Media 2014
Over the past 10 years, distributed systems have become more fine-grained. From the large multi-million line long monolithic applications, we are now seeing the benefits of smaller self-contained services. Heavy-weight, hard to change Service Oriented Architectures are not the answer; instead we are now seeing finer-grained systems consisting of collaborating microservices. Easier to change, deploy, and if required retire, organizations which are in the right position to take advantage of them are yielding significant benefits. This book takes an holistic view of the things you need to be cognizant of in order to pull this off. It covers just enough understanding of technology, architecture, operations and organization to show you how to move towards finer-grained systems.
Read
Oct. 13, 2016
全面系统的介绍了构建微服务系统需要考虑的方方面面
软件开发
大数据日知录
Douban
张俊林 publishing house: 电子工业出版社 2014 - 9
大数据是当前最为流行的热点概念之一,其已由技术名词衍生到对很多行业产生颠覆性影响的社会现象,作为最明确的技术发展趋势之一,基于大数据的各种新型产品必将会对每个人的日常生活产生日益重要的影响。 《大数据日知录:架构与算法》从架构与算法角度全面梳理了大数据存储与处理的相关技术。大数据技术具有涉及的知识点异常众多且正处于快速演进发展过程中等特点,其技术点包括底层的硬件体系结构、相关的基础理论、大规模数据存储系统、分布式架构设计、各种不同应用场景下的差异化系统设计思路、机器学习与数据挖掘并行算法以及层出不穷的新架构、新系统等。《大数据日知录:架构与算法》对众多纷繁芜杂的相关技术文献和系统进行了择优汰劣并系统性地对相关知识分门别类地进行整理和介绍,将大数据相关技术分为大数据基础理论、大数据系统体系结构、大数据存储,以及包含批处理、流式计算、交互式数据分析、图数据库、并行机器学习的架构与算法以及增量计算等技术分支在内的大数据处理等几个大的方向。通过这种体系化的知识梳理与讲解,相信对于读者整体和系统地了解、吸收和掌握相关的优秀技术有极大的帮助与促进作用。 《大数据日知录:架构与算法》的读者对象包括对NoSQL 系统及大数据处理感兴趣的所有技术人员,以及有志于投身到大数据处理方向从事架构师、算法工程师、数据科学家等相关职业的在校本科生及研究生。
Read
Sept. 23, 2016
前半部分介绍分布式系统的常见算法、结构等,全面了解不错;后半部分是大数据分析、机器学习等,没有看。
软件开发
程序员的呐喊
A Programmer's Rantings Douban Goodreads
★ 7.7 12 ratings
[美]Steve Yegge translator: 徐旭铭 publishing house: 人民邮电出版社 2014 - 5
《程序员的呐喊》的作者是业界知名的程序员—来自google的steve yegge,他写过很多颇富争议的文章,其中有不少就收录在这本书中。本书是他的精彩文章的合集。 《程序员的呐喊》涉及编程语言文化、代码方法学、google公司文化等热点话题。 对工厂业界的各种现象、技术、趋势等,作者都在本书中表达了自己独特犀利的观点。比如java真的是一门优秀的面向对象语言吗?重构真的那么美好吗?强弱类型语言到底哪个更好?敏捷真的靠谱吗?程序员要不要懂数学等。另外,他还谈到了很多大公司的理念,比如亚马逊做平台为什么那么成功等。最后,本书还收录了他写的google面试攻略,这篇文章可以说为无数应试者点亮了明灯。 《程序员的呐喊》讨论的都是程序员非常关注的热点话题,内容广泛,观点独到,非常适合广大程序员阅读参考。
Read
July 19, 2016
博客集,吐槽为主,大部分文章都是抨击各种语言特性和社区文化,作者语言犀利,看着很好玩。
软件开发
白帽子讲Web安全
Douban Goodreads
★ 8.7 9 ratings
吴翰清 publishing house: 电子工业出版社 2012 - 3
《白帽子讲Web安全》内容简介:在互联网时代,数据安全与个人隐私受到了前所未有的挑战,各种新奇的攻击技术层出不穷。如何才能更好地保护我们的数据?《白帽子讲Web安全》将带你走进Web安全的世界,让你了解Web安全的方方面面。黑客不再变得神秘,攻击技术原来我也可以会,小网站主自己也能找到正确的安全道路。大公司是怎么做安全的,为什么要选择这样的方案呢?你能在《白帽子讲Web安全》中找到答案。详细的剖析,让你不仅能“知其然”,更能“知其所以然”。
Read
Feb. 29, 2016
第一次系统了解网络安全方面的知识,原来处处陷阱
软件开发 网络
JavaScript语言精粹
JavaScript:The Good Parts Douban
★ 8.9 7 ratings
道格拉斯•克罗克福德 (Douglas Crockford) translator: 赵泽欣 / 鄢学鹍 publishing house: 电子工业出版社 2012 - 9
JavaScript 曾是“世界上最被误解的语言”,因为它担负太多的特性,包括糟糕的交互和失败的设计,但随着Ajax 的到来,JavaScript“从最受误解的编程语言演变为最流行的语言”,这除了幸运之外,也证明了它其实是一门优秀的语言。Douglas Crockford 在本书中剥开了JavaScript 沾污的外衣,抽离出一个具有更好可靠性、可读性和可维护性的JavaScript 子集,让你看到一门优雅的、轻量级的和非常富有表现力的语言。作者从语法、对象、函数、继承、数组、正则表达式、方法、样式和优美的特性这9 个方面来呈现这门语言真正的精华部分,通过它们完全可以构建出优雅高效的代码。作者还通过附录列出了这门语言的毒瘤和糟粕部分,且告诉你如何避免它们。最后还介绍了JSLint,通过它的检验,能有效地保障我们的代码品质。 这是一本介绍 JavaScript 语言本质的权威书籍,值得任何正在或准备从事JavaScript 开发的人阅读,并且需要反复阅读。学习、理解、实践大师的思想,我们才可能站在巨人的肩上,才有机会超越大师,这本书就是开始。
Read
Jan. 15, 2016
断断续续翻过,没有看完。随着对 ES6越来越熟悉,觉得这本书的用处已经不大了,毕竟 ES6里面对 JS 不好的特性的改进太大了。
软件开发
ECMAScript6入门
Douban
阮一峰 publishing house: 电子工业出版社 2014 - 8
《ECMAScript6入门》全面介绍了ECMAScript6新引入的语法特性,覆盖了ECMAScript6与ECMAScript5的所有不同之处,对涉及的语法知识给予了详细介绍,并给出了大量简洁易懂的示例代码。 《ECMAScript6入门》为中级难度,适合已有一定JavaScript语言基础的读者,用来了解这门语言的最新发展;也可当作参考手册,查寻新增的语法点。
Read
Jan. 15, 2016
遇到不熟悉的 ES6语法就查一查
软件开发
计算机程序的构造和解释(原书第2版)
Structure and Interpretation of Computer Programs Douban Goodreads
★ 9.7 22 ratings
[美] Harold Abelson / [美] Gerald Jay Sussman … translator: 裘宗燕 publishing house: 机械工业出版社 2004 - 2
《计算机程序的构造和解释》成型于美国麻省理工学院(MIT)多年使用的一本教材,1984年出版,1996年修订为第二版。在过去的二十多年里,该书对于计算机科学的教育计划产生了深刻的影响。 在第二版中,大部分重要程序设计系统都重新修改并做过测试,包括各种解释器和编译器。作者根据其后十余年的教学实践,还对其他许多细节做了相应的修改。
Structure and Interpretation of Computer Programs - 2nd Edition (MIT)
Douban Goodreads
★ 9.6 21 ratings
Harold Abelson / Gerald Jay Sussman publishing house: The MIT Press 1996 - 7
Structure and Interpretation of Computer Programs has had a dramatic impact on computer science curricula over the past decade. This long-awaited revision contains changes throughout the text. There are new implementations of most of the major programming systems in the book, including the interpreters and compilers, and the authors have incorporated many small changes that reflect their experience teaching the course at MIT since the first edition was published. A new theme has been introduced that emphasizes the central role played by different approaches to dealing with time in computational models: objects with state, concurrent programming, functional programming and lazy evaluation, and nondeterministic programming. There are new example sections on higher-order procedures in graphics and on applications of stream processing in numerical programming, and many new exercises. In addition, all the programs have been reworked to run in any Scheme implementation that adheres to the IEEE standard.
七周七并发模型
Seven Concurrency Models in Seven Weeks: When Threads Unravel Douban Goodreads
★ 7.1 7 ratings
Paul Butcher translator: 黄炎 publishing house: 人民邮电出版社 2015 - 3
借助Java、Go等多种语言的特长,深度剖析所有主流并发编程模型 基于锁和线程的并发模型是目前最常用的一种并发模型,但是并发编程模型不仅仅只有这一种,本书几乎涵盖了目前所有的并发编程模型。了解和熟悉各种并发编程模型,在解决并发问题时会有更多思路。 ——方腾飞,并发编程网站长 当看到这本书的目录时,我就为之一振。它涉及了当今所有的主流并发编程模型(当然也包括Go语言及其实现的CSP模型)。而在品读之后,我更是有一些激动。其中的大部分章节都深入浅出地描述了某一个并发编程模型的概念、特点、机理以及适用领域。加之有大量相应实现语言的示例呈现,更是让这些模型活灵活现、极易理解。另外,各章之间的衔接会使你更容易把这些知识融会贯通。总之,并发编程乃现代编程技能的必备,而这本书则为并发编程的首选佳作。 ——郝林(@特价萝卜),《Go并发编程实战》作者 几十年来,专业的程序员一直在用线程与锁模型来进行并行和并发,但这仅仅是《七周七并发模型》介绍的众多模型之一。当今主流语言都竞相支持不同的并发模型,例如CSP模型、数据并行、函数式编程和Clojure的unified succession model。如果你想紧跟时代,我推荐阅读本书。 ——Stuart Halloway,Cognitect联合创始人 并发编程近年逐渐热起来,Go等并发语言也对并发编程提供了良好的支持,使得并发这个话题受到越来越多人的关注。本书延续了《七周七语言》的写作风格,通过以下七个精选的模型帮助读者了解并发领域的轮廓:线程与锁,函数式编程,Clojure,actor,通信顺序进程,数据级并行,Lambda架构。书中每一章都设计成三天的阅读量。每天阅读结束都会有相关练习,巩固并扩展当天的知识。每一章均有复习,用于概括本章模型的优点和缺陷。 本书适合所有想了解并发的程序员。