软件开发
反应式应用开发
Douban
[美]邓肯·德沃尔(Duncan DeVore) / [美]肖恩·沃尔什(Sean Walsh) … translator: 蒲成
关键任务型应用必须立即响应负载的变化、从故障中优雅地恢复并满足对性能、成本和可靠性的严格要求。这可不是什么小任务!反应式设计能够通过模块化、消息驱动的架构、创新的工具和基于云的基础设施更容易地满足这些需求。 《反应式应用开发》介绍如何使用反应式设计模式构建可靠的企业级应用。本书首先介绍了反应式思维模型以及对Akka参与者框架等核心技术的审视。然后使用Scala构建了一个概念验证系统,并讲解CQRS和事件溯源等模式的应用。在实现伸缩性和回弹性、与传统架构集成以及理解强大的测试技术的同时,读者将掌握反应式设计原则。 主要内容 设计可伸缩的领域模型 构建可容错的系统 高效应对海量数据 可以用Scala或Java构建的示例
Relational Database Index Design and the Optimizers
Douban
Tapio Lahdenmaki / Mike Leach publishing house: Wiley-Interscience 2005 - 7
Improve the performance of relational databases with indexes designed for today's hardware Over the last few years, hardware and software have advanced beyond all recognition, so it's hardly surprising that relational database performance now receives much less attention. Unfortunately, the reality is that the improved hardware hasn't kept pace with the ever-increasing quantity of data processed today. Although disk packing densities have increased enormously, making storage costs extremely low and sequential read very fast, random reads are still painfully slow. Many of the old design recommendations are therefore no longer valid-the optimal point of indexing has come a long way. Consequently many of the old problems haven't actually gone away-they have simply changed their appearance. This book provides an easy but effective approach to the design of indexes and tables. Using lots of examples and case studies, the authors describe how the DB2, Oracle, and SQL Server optimizers determine how to access data, and how CPU and response times for the resulting access paths can be quickly estimated. This enables comparisons to be made of the various designs, and helps you choose available choices for the most appropriate design. This book is intended for anyone who wants to understand the issues of SQL performance or how to design tables and indexes effectively. With this title, readers with many years of experience of relational systems will be able to better grasp the implications that have been brought into play by the introduction of new hardware. An Instructor's Manual presenting detailed solutions to all the problems in the book is available online from the Wiley editorial department. An Instructor Support FTP site is also available.
Modern Java in Action
Douban
Raoul-Gabriel Urma / Mario Fusco … publishing house: Manning Publications 2018 - 11
Manning's bestselling Java 8 book has been revised for Java 9! In Java 8 and 9 in Action, you'll build on your existing Java language skills with the newest features and techniques. After a practical introduction to lambdas using real-world Java code, you'll dive into the Streams API. Next, you'll discover event-driven reactive programming and see how the Java Module System (aka Jigsaw) will help change how you structure your code. This book also explains functional programming in Java, working with collections, and more. "This is an excellent introduction to the newest features in Java 8 and 9. It provides clear and concise examples to help clarify how to use Java's newest features such as streams, lambda functions, and reactive streams." ~ Meredith Godar "Hands on Java 8 and 9, simple and elegantly explained." ~ Deepak Bhaskaran
利用Python进行数据分析(原书第2版)
Python for Data Analysis: Data Wrangling with Pandas, NumPy, and IPython Douban
★ 8.6 7 ratings
[美] Wes McKinney translator: 徐敬一 publishing house: 机械工业出版社 2018 - 7
本书由pandas项目创始人Wes McKinney亲笔撰写,详细介绍利用Python进行操作、处理、清洗和规整数据等方面的具体细节和基本要点。第2版针对Python 3.6进行全面修订和更新,涵盖新版的pandas、NumPy、IPython和Jupyter,并增加大量实际案例,可以帮助你高效解决一系列数据分析问题。 第2版中的主要更新包括: • 所有的代码,包括把Python的教程更新到了Python 3.6版本(第1版中使用的是Python 2.7) • 更新了Python第三方发布版Anaconda和其他所需Python包的安装指引 • 更新pandas库到2017年的新版 • 新增一章,关于更多高级pandas工具和一些使用提示 • 新增statsmodels和scikit-learn的简明使用介绍
前端函数式攻城指南
Douban
欧阳继超 2016 - 10
在后端,函数式语言层出不穷。在前端,函数式最后的边界也已经被渐渐打破。Scala的Scala.js、Clojure的ClojureScript都试图同构移向前端。然而,原生JavaScript其实也可以通过丰富的库让前端的函数式编程一样的舒适和优雅。 《前端函数式攻城指南》涵盖了大部分函数式编程思想,包括JavaScript的函数式支持,Clojure风格的集合、递归、函数组合、宏、模式匹配、实用的Monads,以及前端的并发编程。 《前端函数式攻城指南》适合想要了解函数式编程的JavaScript程序员或者想学习JavaScript的函数式程序员阅读。
演进式架构
Douban
[美] 尼尔·福特 / [美] 丽贝卡 • 帕森斯 … translator: 周训杰 publishing house: 人民邮电出版社 2019 - 8
本书由IT行业领导企业ThoughtWorks的CTO和架构专家联合执笔,详尽介绍了演进式架构的必要性以及如何在具体的软件开发流程中实现演进式架构,涵盖了适应度函数、增量变更、架构耦合、演进式数据、构架可演进的架构、实践演进式架构等内容。 -适应度函数:架构呈现或前进的目标 -增量变更:在开发和运维中实现渐进改变 -架构耦合:确定适当的架构耦合以支持无瑕变更 -演进式数据:随时间推移按要求和架构转变演进数据库 -构建可演进的架构:结合以上各方面构建演进式架构 -实践演进式架构:助你起步的实践指南
Read
Jan. 2, 2021
太抽象了,指导意义不大。2.5星
软件开发
前端架构:从入门到微前端
Douban
黄峰达 2019 - 5
《前端架构:从入门到微前端》是一本围绕前端架构的实施手册,从基础的架构规范,到如何设计前端架构,再到采用微前端架构拆分复杂的前端应用。本书通过系统地介绍前端架构世界的方方面面,来帮助前端工程师更好地进行系统设计。 前端架构包含以下五部分内容。  设计:讲述了架构设计的模式,以及设计和制定前端工作流。  基础:通过深入构建系统、单页面应用原理、前端知识体系等,来构建出完整的前端应用架构体系。  实施:通过与代码结构的方式,介绍如何在企业级应用中实施组件化架构、设计系统和前后端分离架构。  微前端:引入6种微前端的概念,以及如何划分、设计微前端应用,并展示了如何实现这6种微前端架构。  演进:提出更新、迁移、重构、重写、重新架构等架构演进方式,来帮助开发人员更好地设计演进式架构 《前端架构:从入门到微前端》适合想要成为优秀前端开发工程师(初中级),或致力于构建更易于维护的系统架构的开发人员、技术主管、软件架构师和软件项目经理等。
The Design of Web APIs
Douban
Arnaud Lauret publishing house: Manning Publications 2019 - 10
The Design of Web APIs introduces you to the challenging and creative world of API design. In this experience-driven guide, you'll learn to think like an API designer, embracing effective practices for requirements gathering, blending business and technical goals, and adopting a consumer-first mindset. You'll master the lifecycle of web API design, including the all-important secure-by-design approach. This book teaches principles that can be applied in any style of API. Most examples are illustrated using REST and the OpenAPI specification. what's inside Characteristics of a well-designed API Explore the full API design lifecycle Designing user-oriented APIs Secure APIs by design Evolving existing APIs Validating your API designs
未来架构:从服务化到云原生
张亮 Douban
张亮 / 吴晟 … 2019 - 3
互联网架构不断演化,经历了从集中式架构到分布式架构,再到云原生架构的过程。云原生因能解决传统应用升级缓慢、架构臃肿、无法快速迭代等问题而成了未来云端应用的目标。 《未来架构:从服务化到云原生》首先介绍架构演化过程及云原生的概念,让读者对基础概念有一个准确的了解,接着阐述分布式、服务化、可观察性、容器调度、Service Mesh、云数据库等技术体系及原理,并介绍相关的SkyWalking、Dubbo、Spring Cloud、Kubernetes、Istio等开源解决方案,最后深度揭秘开源分布式数据库生态圈ShardingSphere的设计、实现,以及进入Apache基金会的历程,非常适合架构师、云计算从业人员阅读、学习。
Read
April 12, 2020
很水的一本书,罗列一堆东西。如果未入门者想对互联网大规模分布式系统架构涉及知识有一个大致了解,那还可以一读。
软件开发
反应式设计模式
Reactive Design Patterns Douban
Roland Kuhn / Brian Hanafee … translator: 何品 / 邱嘉和 … publishing house: 清华大学出版社 2019 - 1
《反应式设计模式》介绍反应式应用程序设计的原则、模式和经典实践,讲述如何用断路器模式将运行缓慢的组件与其他组件隔开、如何用事务序列(Saga)模式实现多阶段事务以及如何通过分片模式来划分数据集,分析如何保持源代码的可读性以及系统的可测试性(即使在存在许多潜在交互和失败点的情况下)。 主要内容 ? “反应式宣言”指南 ? 流量控制、有界一致性、容错等模式 ? 得之不易的关于“什么行不通”的经验 ? 在巨大的负载下保持伸缩性的架构
Read
June 11, 2019
很感兴趣的主题,但书写得并不好,翻译也是让人读得难受。
软件开发
Kafka权威指南
Kafka: The Definitive Guide Douban
Neha Narkhede / Gwen Shapira … translator: 薛命灯 publishing house: 人民邮电出版社 2017
每个应用程序都会产生数据,包括日志消息、度量指标、用户活动记录、响应消息等。如何移动数据,几乎变得与数据本身一样重要。如果你是架构师、开发者或者产品工程师,同时也是Apache Kafka新手,那么这本实践指南将会帮助你成为流式平台上处理实时数据的专家。 本书由出身于LinkedIn的Kafka核心作者和一线技术人员共同执笔,详细介绍了如何部署Kafka集群、开发可靠的基于事件驱动的微服务,以及基于Kafka平台构建可伸缩的流式应用程序。通过详尽示例,你将会了解到Kafka的设计原则、可靠性保证、关键API,以及复制协议、控制器和存储层等架构细节。 ● 了解发布和订阅消息模型以及该模型如何被应用在大数据生态系统中 ● 学习使用Kafka生产者和消费者来生成消息和读取消息 ● 了解Kafka保证可靠性数据传递的模式和场景需求 ● 使用Kafka构建数据管道和应用程序的最佳实践 ● 在生产环境中管理Kafka,包括监控、调优和维护 ● 了解Kafka的关键度量指标 ● 探索Kafka如何成为流式处理利器
Go程序设计语言
The Go Programming Language Douban
★ 8.7 12 ratings
艾伦 A. A. 多诺万 translator: 李道兵 / 高博 … publishing house: 机械工业出版社 2017 - 5
本书由《C程序设计语言》的作者Kernighan和谷歌公司Go团队主管Alan Donovan联袂撰写,是学习Go语言程序设计的指南。本书共13章,主要内容包括:Go的基础知识、基本结构、基本数据类型、复合数据类型、函数、方法、接口、goroutine、通道、共享变量的并发性、包、go工具、测试、反射等。 本书适合作为计算机相关专业的教材,也可供Go语言爱好者阅读。
Read
April 9, 2019
我以前不喜欢go,评价是语法太丑,不能直视。这次把这本书通读一遍,感观有所改善,能感受到背后的实用主义考量,虽然语法和语言特性上依然不像一个现代语言。下一步打算写个正式项目来试试。
回到这本书,是我很喜欢的风格,接近手册一样详尽准确,又有恰到好处的范例和解释。
软件开发
冒号课堂
Douban
★ 7.8 11 ratings
郑晖 publishing house: 电子工业出版社 2009 - 10
《冒号课堂》以课堂对话的形式,借六位师生之口讲述编程要义。上篇对编程范式作了入门性的介绍,并对一些流行的编程语言进行了简评;下篇侧重阐发软件设计思想,其中在范式上以OOP为主,在语言上以C++、Java和C#为主。全书寓庄于谐,深入浅出,既可开阔眼界,又能引发思考,值得编程爱好者品读。
Read
March 28, 2019
从目录看,内容应该是不错的,可是我不喜欢这种模拟对话的叙述方式,看不下去。
另外这本书算是入门普及级别吧,翻过的几节内容都讲得很浅,倒是跟它的书写形式相配。
软件开发
七周七语言
Seven Languages in Seven Weeks: A Pragmatic Guide to Learning Programming Languages Douban
★ 8.8 19 ratings
[美] Bruce A. Tate translator: 巨成 / 戴玮 … publishing house: 人民邮电出版社 2012 - 5
从计算机发展史早期的Cobol、Fortran到后来的C、Java,编程语言的家族不断壮大。除了这些广为人知的语言外,还涌现了Erlang、Ruby等后起之秀,它们虽被喻为小众语言,但因其独特性也吸引了为数不少的追随者。 Bruce A. Tate是软件行业的一名老兵,他有一个宏伟目标:用一本书的篇幅切中要害地探索七种不同的语言。本书就是他的成果。书中介绍了Ruby、Io、Prolog、Scala、Erlang、Clojure和Haskell这七种语言,关注每一门语言的精髓和特性,重点解决如下问题:这门语言的类型模型是什么,编程范式是什么,如何与其交互,有哪些决策构造和核心数据结构,有哪些独特的核心特性。 在这个飞速发展的信息时代,程序员仅仅掌握甚至精通一门语言是远远不够的。了解多门语言蕴涵的思维方式,在编码中互相借鉴,再挑出一两门对自己口味的语言深入学习,这些已经成为在软件行业中安身立命之本。从这个意义上说,每个程序员都应该看看这本书。
Read
Feb. 16, 2019
开拓眼界的好书(居然挂在在读里面好多年了)
软件开发
Learn You a Haskell for Great Good!
Google Books Douban
★ 9.3 12 ratings
Miran Lipovaca publishing house: No Starch Press 2010 - 04
Learn You a Haskell for Great Good! is a fun, illustrated guide to learning Haskell, a functional programming language that's growing in popularity. Learn You a Haskell for Great Good! introduces programmers familiar with imperative languages (such as C++, Java, or Python) to the unique aspects of functional programming. Packed with jokes, pop culture references, and the author's own hilarious artwork, Learn You a Haskell for Great Good! eases the learning curve of this complex language, and is a perfect starting point for any programmer looking to expand his or her horizons. The well-known web tutorial on which this book is based is widely regarded as the best way for beginners to learn Haskell, and receives over 30,000 unique visitors monthly. About the Author Miran Lipovaca is a computer science student in Ljubljana, Slovenia. His online tutorial, "Learn You a Haskell for Great Good!," is widely regarded as the best way to learn Haskell.
Read
Feb. 16, 2019
非常**有趣**的语言,书读得很舒畅。(可是最后还是没看完)
这是我FP的入门书,值得一看!
软件开发
Clojure编程
Clojure Programming Douban
Chas Emerick / Brian Carper … translator: 徐明明 / 杨寿勋 publishing house: 电子工业出版社 2013 - 3
Clojure是一种实用的通用语言,它是传奇语言LISP的方言,可与Ruby、Python等动态语言相媲美,更以无缝Java库、服务,以及拥有JVM系统得天独厚的资源优势而胜出。本书既可以用来熟悉Clojure基础知识与常见例子,也可了解其相关的实践领域与话题,更可以看到这一JVM平台上的LISP如何帮助消除不必要的复杂性,为大家在编程实践中解决最具挑战性的问题开辟新的选择——更具灵活性,更适于Web编程和操作数据库,可以应付更为苛刻的应用程序安全要求,更有效的并发性和并行处理、数据分析能力,以及在未来云环境下的更大的发展潜力。
Read
Feb. 16, 2019
很努力的还是只看了大半。看着例子程序,勉强看得懂,但自己是绝对写不出来的。
软件开发
数据密集型应用系统设计
Designing Data-Intensive Applications Douban
★ 9.6 19 ratings
Martin Kleppmann translator: 赵军平 / 李三平 … publishing house: 中国电力出版社 2018 - 9
全书分为三大部分: 第一部分,主要讨论有关增强数据密集型应用系统所需的若干基本原则。首先开篇第1章即瞄准目标:可靠性、可扩展性与可维护性,如何认识这些问题以及如何达成目标。第2章我们比较了多种不同的数据模型和查询语言,讨论各自的适用场景。接下来第3章主要针对存储引擎,即数据库是如何安排磁盘结构从而提高检索效率。第4章转向数据编码(序列化)方面,包括常见模式的演化历程。 第二部分,我们将从单机的数据存储转向跨机器的分布式系统,这是扩展性的重要一步,但随之而来的是各种挑战。所以将依次讨论数据远程复制(第5章)、数据分区(第6章)以及事务(第7章)。接下来的第8章包括分布式系统的更多细节,以及分布式环境如何达成一致性与共识(第9章)。 第三部分,主要针对产生派生数据的系统,所谓派生数据主要指在异构系统中,如果无法用一个数据源来解决所有问题,那么一种自然的方式就是集成多个不同的数据库、缓存模块以及索引模块等。首先第10章以批处理开始来处理派生数据,紧接着第11章采用流式处理。第12章总结之前介绍的多种技术,并分析讨论未来构建可靠、可扩展和可维护应用系统可能的新方向或方法。
Read
Feb. 7, 2019
这本书越读越恐怖,我都不敢再做任何分布式系统的设计了。忽略任何一个小细节都可能带来严重后果,要命的是这些问题从本质上是无法解决的,完美的可靠的系统不可能存在。
软件开发
基础设施即代码(影印版)
Infrastructure as Code Douban
Kief Morris 2018 - 1
虚拟化、云、容器、服务器自动化以及软件自定义网络的初衷是简化IT运维,然而应用了这些技术之后,很多组织发现它们不断增长,蔓延成了一个无法管理的系统。这正是基础设施即代码的用武之地。在这本务实的指导之作中,来自ThoughtWorks的Kief Morris展示了如何有效地使用DeV0ps运动所倡导的原则、时间和模式,来管理云时代的基础设施。 对于系统管理员、基础设施工程师、团队领袖以及架构师来说,这是一本难得的佳作。它描述了可以用来实现基础设施即代码的多种工具、技巧和模式。在全书的三个部分中,你将学习用来创建和配置基础设施元素的平台和工具、使用这些工具的模式以及在你自身环境中落实基础设施即代码的实践。 *检查那些当企业采用新一代基础设施技术时常掉入的陷阱 *理解动态基础设施平台的能力和服务模型 *学习提供、开通和配置核心基础设置资源的工具 *探索管理动态基础设施的服务和工具 *学习开通服务器、构建服务器模板和新运行时服务器的特定模式和实践
程序员的数学2
Douban
平冈和幸 / 堀玄 translator: 陈筱烟 publishing house: 人民邮电出版社 2015 - 8
本书沿袭《程序员的数学》平易近人的风格,用通俗的语言和具体的图表深入讲解程序员必须掌握的各类概率统计知识,例证丰富,讲解明晰,且提供了大量扩展内容,引导读者进一步深入学习。 本书涉及随机变量、贝叶斯公式、离散值和连续值的概率分布、协方差矩阵、多元正态分布、估计与检验理论、伪随机数以及概率论的各类应用,适合程序设计人员与数学爱好者阅读,也可作为高中或大学非数学专业学生的概率论入门读物。