软件工程
携程架构实践 豆瓣
作者: 携程技术团队 2020 - 3
一个好的架构就像一个好的制度,我们不会时时刻刻感受到它的存在,但在关键时刻,它决定了系统能够到达的高度。
本书浓缩了携程公司的整个技术架构,可以帮助读者了解支撑一家大型企业所需要的核心技术产品,以及它们的架构和面临的挑战。本书由携程的一线研发工程师们精心编写,他们对携程各个领域的技术实践了如指掌,本书所提到的各种系统离不开他们的耕耘。在给读者呈现携程架构实践的同时,也希望本书能给读者带来一些警示和启发,共同推动技术的进步。
不同领域的架构关注点各有侧重,但是方法论是相通的。希望读者通过本书了解携程的架构实践,拓宽视野,丰富自己的架构工具箱,在遇到难题时,看看其他领域的解决思路,就可能碰撞出意想不到的“火花”。
Learning Spark, 2nd Edition 豆瓣
作者: Tathagata Das / Jules Damji O'Reilly Media 2020 - 7
Data is getting bigger, arriving faster, and coming in varied formats—and it all needs to be processed at scale for analytics or machine learning. How can you process such varied data workloads efficiently? Enter Apache Spark.
Updated to emphasize new features in Spark 2.x., this second edition shows data engineers and scientists why structure and unification in Spark matters. Specifically, this book explains how to perform simple and complex data analytics and employ machine-learning algorithms. Through discourse, code snippets, and notebooks, you’ll be able to:
Learn Python, SQL, Scala, or Java high-level APIs: DataFrames and Datasets
Peek under the hood of the Spark SQL engine to understand Spark transformations and performance
Inspect, tune, and debug your Spark operations with Spark configurations and Spark UI
Connect to data sources: JSON, Parquet, CSV, Avro, ORC, Hive, S3, or Kafka
Perform analytics on batch and streaming data using Structured Streaming
Build reliable data pipelines with open source Delta Lake and Spark
Develop machine learning pipelines with MLlib and productionize models using MLflow
Use open source Pandas framework Koalas and Spark for data transformation and feature engineering
Real World Cryptography 豆瓣
作者: David Wong Manning Publications 2020 - 3
Real World Cryptography helps you understand the cryptographic techniques at work in common tools, frameworks, and protocols so you can make excellent security choices for your systems and applications. There’s no unnecessary theory or jargon—just the most up-to-date techniques you’ll need in your day-to-day work as a developer or systems administrator. Cryptography expert David Wong takes you hands-on with cryptography building blocks such as hash functions and key exchanges, then shows you how to use them as part of your security protocols and applications. Alongside modern methods, the book also anticipates the future of cryptography, diving into emerging and cutting-edge advances such as cryptocurrencies, password-authenticated key exchange, and post-quantum cryptography. Throughout, all techniques are fully illustrated with diagrams and real-world use cases so you can easily see how to put them into practice.
what's inside
Best practices for using cryptography
Diagrams and explanations of cryptographic algorithms
Identifying and fixing cryptography bad practices in applications
Picking the right cryptographic tool to solve problems
2020年7月6日 想读 Why I’m Writing A Book On Cryptography. Hey! I'm David, a security engineer at the Blockchain team of Facebook
2021 计算机科学 软件工程
Thinking Functionally with Haskell 豆瓣
作者: Richard Bird Cambridge University Press 2014
Richard Bird is famed for the clarity and rigour of his writing. His new textbook, which introduces functional programming to students, emphasises fundamental techniques for reasoning mathematically about functional programs. By studying the underlying equational laws, the book enables students to apply calculational reasoning to their programs, both to understand their properties and to make them more efficient. The book has been designed to fit a first- or second-year undergraduate course and is a thorough overhaul and replacement of his earlier textbooks. It features case studies in Sudoku and pretty-printing, and over 100 carefully selected exercises with solutions. This engaging text will be welcomed by students and teachers alike.
2020年7月1日 在读
1. Why functional programming matters
• programs are values, not commands
• supports good old-fashioned equational reasoning
• . . . with program texts, without needing a distinct language
• calculate efficient implementations from clear specifications
• using Haskell
• a plea for simplicity : no GADTs, no Monads, no Traversables. . .
计算机科学 Haskell 软件工程 PL
Algorithm Design with Haskell 豆瓣
作者: Richard Bird / Jeremy Gibbons Cambridge University Press 2020 - 7
This book is devoted to five main principles of algorithm design: divide and conquer, greedy algorithms, thinning, dynamic programming, and exhaustive search. These principles are presented using Haskell, a purely functional language, leading to simpler explanations and shorter programs than would be obtained with imperative languages. Carefully selected examples, both new and standard, reveal the commonalities and highlight the differences between algorithms. The algorithm developments use equational reasoning where applicable, clarifying the applicability conditions and correctness arguments. Every chapter concludes with exercises (nearly 300 in total), each with complete answers, allowing the reader to consolidate their understanding and apply the techniques to a range of problems. The book serves students (both undergraduate and postgraduate), researchers, teachers, and professionals who want to know more about what goes into a good algorithm and how such algorithms can be expressed in purely functional terms.
Concurrency Control and Recovery in Data Base Systems 豆瓣
作者: Philip A. Bernstein / Vassos Hadzilacos Addison Wesley 1988 - 9
Grokking Streaming Systems 豆瓣 谷歌图书
作者: Josh Fischer / Ning Wang Manning Publications 2021 - 3
Grokking Streaming Systems helps you unravel what streaming systems are, how they work, and whether they’re right for your business. Written to be tool-agnostic, you’ll be able to apply what you learn no matter which framework you choose. You’ll start with the key concepts and then work your way through increasingly complex examples, including tracking a real-time count of IoT sensor events and detecting fraudulent credit card transactions in real-time. You’ll even be able to easily experiment with your own streaming system, by downloading the custom-built and super-simplified streaming framework designed for this book. By the time you’re done, you’ll be able to easily assess the capabilities of streaming frameworks, and solve common challenges that arise when building streaming systems.
what's inside
Implement and troubleshoot streaming systems
Design streaming systems for complex functionalities
Assess parallelization requirements
Spot networking bottlenecks and resolve back pressures
Group data for high-performance systems
Handle delayed events in real-time systems
Data Science with Python and Dask 豆瓣
作者: Jesse Daniel Manning Publications 2019 - 7
Summary
Dask is a native parallel analytics tool designed to integrate seamlessly with the libraries you're already using, including Pandas, NumPy, and Scikit-Learn. With Dask you can crunch and work with huge datasets, using the tools you already have. And Data Science with Python and Dask is your guide to using Dask for your data projects without changing the way you work!
Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. You'll find registration instructions inside the print book.
About the Technology
An efficient data pipeline means everything for the success of a data science project. Dask is a flexible library for parallel computing in Python that makes it easy to build intuitive workflows for ingesting and analyzing large, distributed datasets. Dask provides dynamic task scheduling and parallel collections that extend the functionality of NumPy, Pandas, and Scikit-learn, enabling users to scale their code from a single laptop to a cluster of hundreds of machines with ease.
About the Book
Data Science with Python and Dask teaches you to build scalable projects that can handle massive datasets. After meeting the Dask framework, you'll analyze data in the NYC Parking Ticket database and use DataFrames to streamline your process. Then, you'll create machine learning models using Dask-ML, build interactive visualizations, and build clusters using AWS and Docker.
What's inside
Working with large, structured and unstructured datasets
Visualization with Seaborn and Datashader
Implementing your own algorithms
Building distributed apps with Dask Distributed
Packaging and deploying Dask apps
Hands-on Scala Programming 豆瓣
作者: Li Haoyi Gumroad books 2020 - 6
Hands-on Scala Programming teaches you how to use the Scala programming language in a practical, project-based fashion. This book is designed to quickly teach an existing programmer everything they need to build all sorts of production applications, taking you from "hello world" to building interactive websites, parallel web crawlers, and distributed applications in Scala. In the process you will learn how to use the Scala language to solve challenging problems in an elegant and intuitive manner.
Spring in Action, Sixth Edition 豆瓣
作者: Craig Walls Manning Publications 2021 - 3
about the book
Spring in Action, 6th Edition guides you through Spring’s core features explained in Craig Walls’ famously clear style. You’ll roll up your sleeves and build a secure database-backed web app step by step. Along the way, you’ll explore reactive programming, microservices, service discovery, RESTful APIs, deployment, and expert best practices. The latest version of a bestseller upgraded for Spring 5.2, this new edition also covers the RSocket specification for reactive networking between applications, and delves deep into essential features of Spring Security. Whether you’re just discovering Spring or leveling up to Spring 5.2, this Manning classic is your ticket!
what's inside
Building reactive applications
Relational and NoSQL databases
Integrating via HTTP and REST-based services, and sand reactive RSocket services
Reactive programming techniques
Deploying applications to traditional servers and containers
Securing applications with Spring Security
Covers Spring 5.2
97 Things Every Java Programmer Should Know 豆瓣
作者: Kevlin Henney O'Reilly Media 2020 - 5
If you want to push your Java skills to the next level, this practical book provides expert advice from leading luminaries within the Java ecosystem. You’ll be encouraged to stretch yourself by learning new techniques, look at problems in new ways, take responsibility for your work, and become as good at the entire craft of programming as you possibly can.
Edited by Kevlin Henney, 97 Things Every Java Programmer Should Know reflects many lifetimes of experience writing Java software and living with the process of software development. Some of the best Java programmers on the planet share their collected wisdom to help you rethink Java best practices and techniques to incorporate the changes in Java 8.
Real-World Software Development 豆瓣
O'Reilly Media 2019
Explore the latest Java-based software development techniques and methodologies through the project-based approach in this practical guide. Unlike books that use abstract examples and lots of theory, Real-World Software Development shows you how to develop several relevant projects while learning best practices along the way.
With this engaging approach, junior developers capable of writing basic Java code will learn about state-of-the-art software development practices for building modern, robust and maintainable Java software. You’ll work with many different software development topics that are often excluded from software develop how-to references.
Featuring real-world examples, this book teaches you techniques and methodologies for functional programming, automated testing, security, architecture, and distributed systems.
企业IT架构转型之道:阿里巴巴中台战略思想与架构实战 豆瓣
7.7 (6 个评分) 作者: 钟华 机械工业出版社 2017 - 4
在当今整个中国社会都处于互联网转型的浪潮中,不管是政府职能单位、业务规模庞大的央企,还是面临最激烈竞争的零售行业都处于一个重要的转折点,这个转折对企业业务模式带来了冲击,当然也给企业的信息中心部门带来了挑战:如何构建IT系统架构更好地满足互联网时代下企业业务发展的需要。阿里巴巴的共享服务理念以及企业级互联网架构建设的思路,给这些企业带来了不少新的思路,这也是我最终决定写这本书的最主要原因。本书从阿里巴巴启动中台战略说起,详细阐述了共享服务理念给企业业务发展带来的业务价值。接着会分享阿里巴巴在建设共享服务体系时如何进行技术框架的选择,哪些重要的技术平台支撑起了共享服务体系,这也是迄今为止对阿里巴巴集团中间件体系对外最全面系统的介绍。除了技术层面之外,本书还分享了阿里巴巴内部的一些经验和实践,如组织的架构和体制如何更好地支持共享服务体系的持续发展。
大型网站性能优化实战 豆瓣
作者: 周涛明 / 张荣华 2019 - 1
性能是大型网站的一个要素,影响性能的因素非常多。本书由三位熟悉不同领域性能优化的技术专家打造,从大型网站的整体体系出发,讲述大型网站性能优化的全链路实践过程,包括核心原理、常见策略与实战案例。具体内容包括:基于用户体验的性能优化要素、前端性能优化、网站性能分析、服务端性能优化、TCP优化、DNS优化、CDN优化、大型网站性能监控体系、大型网站容量评估、高性能系统架构模式、大促保障体系、数据分析驱动性能优化。本书的初衷就是将实践分享给读者,为其展示一个性能优化相关知识的全貌。书中的很多性能优化方法和策略都是作者从实践中总结出来的,实用性非常强。本书既可供入门者了解大型网站性能优化所有的相关技术,以及解决问题的思路和方法,也可供业界同行参考,给日常工作带来启发。
Spring Cloud微服务架构进阶 豆瓣
作者: 朱荣鑫 / 张天 2018 - 10
本书全面系统地介绍SpringCloud及其在微服务架构中的应用。全书共13章,第1章介绍微服务架构相关的基本概念;第2章介绍SpringCloud中包含的组件以SpringCloud约定的上下文;第3章介绍SpringCloud的基础:SpringBoot,包括如何构建一个SpringBoot服务、SpringBoot的配置文件和Actuator提供的监控管理端点;第4至第13章详细讲解SpringCloud组件,包括:Eureka(服务注册与发现)、OpenFeign(声明式Restful客户端)、Hystrix(断路器)、Ribbon(客户端负载均衡器)、Gateway(API网关)、Config(配置中心)、Stream(消息驱动)、Bus(消息总线)、Security(认证与授权)、Sleuth(服务链路追踪)。本书为读者揭开了SpringCloud组件实现的技术内幕,并提供了进阶应用的思路,可以作为使用SpringCloud进行微服务架构实践的参考书。
架构修炼之道——亿级网关、平台开放、分布式、微服务、容错等核心技术修炼实践 豆瓣
作者: 王新栋 2019 - 3
《架构修炼之道——亿级网关、平台开放、分布式、微服务、容错等核心技术修炼实践》结合实际的生产实践,分别对网关、平台开放、分布式、MQ、RPC、I/O、微服务、容错的内容做了详细介绍。其中的内容不限于概念,而是会下沉到实践背后的感悟与总结。比如本书详细阐述了网关系统是如何“抗量”,又是如何容错的,以及在每次大促中的备战经验。其他内容也是如此,基于实践,源于实践,比如微服务的实战案例、MQ的各种功能场景、消息推送的实践等讲的皆是实践之道。希望读者可以通过《架构修炼之道——亿级网关、平台开放、分布式、微服务、容错等核心技术修炼实践》了解互联网常用架构知识背后的原理及解决问题之道。
《架构修炼之道——亿级网关、平台开放、分布式、微服务、容错等核心技术修炼实践》中介绍的网关、分布式、MQ等知识背后的原理,对于每一位互联网研发人员都有很大的参考意义。
微服务容器化开发实战 豆瓣
作者: 尹为强 2020 - 1
微服务和Docker容器技术是目前分布式架构中常用的主流技术,结合Kubernetes强大的容器服务编排与调度能力,中小企业能够简单快速地构建自己的分布式互联网架构系统。本书结合实际生产项目的架构重构过程和经验,详细介绍从单体架构过渡到微服务容器化的分布式架构的各个方面,主要包括微服务开发和运维技术栈的选型、Spring Cloud微服务开发、Rancher和Kubernetes生产离线环境下的安装与部署、微服务的容器化与服务编排、日志调用链的采集和展示、基于Prometheus的系统监控,以及微服务的持续集成等要点。本书基于Spring Boot、Spring Cloud、Docker、Rancher、Kubernetes等技术,主要提供从设计、开发、部署到运维的微服务容器化的生产环境整体解决方案。
《微服务容器化开发实战》内容通俗易懂,每章都结合实际生产项目进行讲解,特别适合将Spring Cloud、Docker和Kubernetes等技术应用到生产中的技术管理人员、架构师与开发人员阅读,也适合微服务、容器化的入门读者阅读。本书还可作为微服务、容器化的运维人员,以及对相关技术感兴趣的人员的参考用书
Spring Cloud微服务架构实战 豆瓣
作者: 陈韶健 2020 - 3
《Spring Cloud微服务架构实战》从架构设计、程序开发和运维部署三个层面,深入浅出地介绍了如何开发一个大型电商平台。《Spring Cloud微服务架构实战》不仅详细介绍了如何使用Spring Cloud 工具套件进行微服务应用的开发,还介绍了如何与Consul、Docker、Kubernetes 和Jenkins 等结合使用,将开发的微服务应用以可扩展的方式在云端发布。通过对《Spring Cloud微服务架构实战》的系统学习,读者可快速将所掌握的知识应用于实际工作中,提高自身的职业竞争力。
《Spring Cloud微服务架构实战》的读者对象为广大Java 开发者、系统架构师和系统运维人员。《Spring Cloud微服务架构实战》特别适合使用过Spring 开源框架或具有一定Spring 框架基础知识的读者阅读。
2020年5月17日 在读
微信读书1hr翻完 主要是因为看到OneProxy的读写分离, 以及快速过一遍Spring Cloud的各个组件。
软件工程 2020