软件工程
Google BigQuery: The Definitive Guide 豆瓣
作者: Jordan Tigani / Valliappa Lakshmanan O'Reilly Media 2019 - 11
Work with petabyte-scale datasets while building a collaborative, agile workplace in the process. This practical book is the canonical reference to Google BigQuery, the query engine that lets you conduct interactive analysis of large datasets. BigQuery enables enterprises to efficiently store, query, ingest, and learn from their data in a convenient framework. With this book, you’ll examine how to analyze data at scale to derive insights from large datasets efficiently.
Valliappa Lakshmanan, tech lead on Google Cloud Platform, and Jordan Tigani, engineering director for the BigQuery team, provide best practices in modern data warehousing within an autoscaled, serverless, public cloud. Whether you want to explore parts of BigQuery you’re not familiar with, or prefer to focus on specific tasks, this reference is indispensable.
Learning Apache OpenWhisk 豆瓣
作者: Michele Sciabarrà O'Reilly Media 2019 - 7
Serverless computing greatly simplifies software development. Your team can focus solely on your application while the cloud provider manages the servers you need. This practical guide shows you step-by-step how to build and deploy complex applications in a flexible multicloud, multilanguage environment using Apache OpenWhisk. You’ll learn how this platform enables you to pursue a vendor-independent approach using preconfigured containers, microservices, and Kubernetes as your cloud operating system.
Michele Sciabarrà demonstrates how to build a serverless application using classical design patterns and the programming language or languages that best fit your task. You’ll start by building a simple serverless application hands-on before diving into the more complex aspects of the OpenWhisk platform.
Examine how OpenWhisk’s serverless architecture works, including the use of packages, actions, sequences, triggers, rules, and feeds
Learn how OpenWhisk compares to existing architectures, such as Java Enterprise Edition
Manipulate OpenWhisk features using the command-line interface or a JavaScript API
Design applications using common Gang of Four design patterns
Use architectural design patterns such as model-view-controller to combine several OpenWhisk actions
Learn how to test and debug your code in a serverless environment
Reactive Programming with RxJava: Creating Asynchronous, Event-Based Applications 豆瓣
作者: Tomasz Nurkiewicz / Ben Christensen O'Reilly Media 2016 - 10
In today’s app-driven era, when programs are asynchronous and responsiveness is so vital, reactive programming can help you write code that’s more reliable, easier to scale, and better-performing. With this practical book, Java developers will first learn how to view problems in the reactive way, and then build programs that leverage the best features of this exciting new programming paradigm.Authors Tomasz Nurkiewicz and Ben Christensen include concrete examples that use the RxJava library to solve real-world performance issues on Android devices as well as the server. You’ll learn how RxJava leverages parallelism and concurrency to help you solve today’s problems. This book also provides a preview of the upcoming 2.0 release.Write programs that react to multiple asynchronous sources of input without descending into "callback hell"Get to that aha! moment when you understand how to solve problems in the reactive wayCope with Observables that produce data too quickly to be consumedExplore strategies to debug and to test programs written in the reactive styleEfficiently exploit parallelism and concurrency in your programsLearn about the transition to RxJava version 2
Linux Observability with BPF 豆瓣
作者: David Calavera / Lorenzo Fontana O'Reilly Media 2019 - 11
Want to master the BPF virtual machine in the Linux Kernel? This practical guide shows you how to write applications that use BPF to observe and modify the kernel’s behavior on demand—without having prior knowledge of Linux Kernel development. David Calavera and Lorenzo Fontana introduce concepts to help systems engineers understand the BPF program lifecycle.
If you have knowledge about performance optimization, networking, and security, this book shows you how to inject code to monitor, trace, and observe events in the kernel in a secure way—without the need to recompile the kernel or reboot the system. You’ll find code examples in C, Go, and Python.
Cloud-Native Data Center Networking 豆瓣
作者: Dinesh G. Dutt O'Reilly Media 2019
The kinds of analysis and data sharing that takes place in modern business relies on fast, robust communications among computer systems. Network architects, network operators, and even the designers of distributed applications need to understand architecture and communications protocols in the data center. And best practices have changed radically over the past decade.
For the first time, you can find out what a modern data center looks like, thanks to this book by a leading network developer, Dinesh G. Dutt. This book offers both theory to ground your work and practical advice on topics, such as:
Connecting systems in modern data centers
Multitenancy
How to automate common practices
Proper monitoring
Choices in routing protocols
Terraform: Up & Running: Writing Infrastructure as Code 豆瓣
作者: Yevgeniy Brikman O'Reilly Media 2019 - 8
Terraform has become a key player in the DevOps world for defining, launching, and managing infrastructure as code (IAC) across a variety of cloud and virtualization platforms, including Azure, Google Cloud, DigitalOcean, and others. The updated second edition of this hands-on guide is fastest way to get up and running with Terraform.
Gruntwork co-founder Yevgeniy (Jim) Brikman walks you through dozens of code examples that demonstrate how to use Terraform’s simple, declarative programming language to deploy and manage infrastructure with just a few CLI commands. Whether you’re a novice developer, aspiring DevOps engineer, or veteran sysadmin, this book will take you from Terraform basics to running a full tech stack capable of supporting a massive amount of traffic and a large team of developers.
Programming AWS Lambda 豆瓣
O'Reilly Media 2020 - 3
Most AWS Lambda books and introductions focus on Javascript and Python, but this book is written explicitly for Java developers who want to embrace the world of Serverless through AWS Lambda—without having to learn a new language on top of it. Serverless is a revolution in how we build and deploy software. It drastically reduces the complexity of building and operating applications, and reduces time-to-market and costs. AWS Lambda is Amazon’s Serverless "Functions-as-a-Service" platform, and is the core of most Serverless efforts ongoing today.
Kubernetes: Up and Running, 2nd Edition 豆瓣
作者: Brendan Burns / Joe Beda O'Reilly Media 2019 - 10
Kubernetes radically changes the way applications are built and deployed in the cloud. Since its introduction in 2014, this container orchestrator has become one of the largest and most popular open source projects in the world. The updated edition of this practical book shows developers and ops personnel how Kubernetes and container technology can help you achieve new levels of velocity, agility, reliability, and efficiency.
Kelsey Hightower, Brendan Burns, and Joe Beda—who’ve worked on Kubernetes at Google and beyond—explain how this system fits into the lifecycle of a distributed application. You’ll learn how to use tools and APIs to automate scalable distributed systems, whether it’s for online services, machine learning applications, or a cluster of Raspberry Pi computers.
Create a simple cluster to learn how Kubernetes works
Dive into the details of deploying an application using Kubernetes
Learn specialized objects in Kubernetes, such as DaemonSets, jobs, ConfigMaps, and secrets
Explore deployments that tie together the lifecycle of a complete application
Get practical examples of how to develop and deploy real-world applications in Kubernetes
Building Intelligent Cloud Applications 豆瓣
作者: John Biggs / Vicente Herrera García O'Reilly Media 2019 - 10
Serverless computing is radically changing the way we build and deploy applications. With cloud providers running servers and managing machine resources, companies now can focus solely on the application’s business logic and functionality. This hands-on book shows experienced programmers how to build and deploy scalable machine learning and deep learning models using serverless architectures with Microsoft Azure.
You’ll learn step-by-step how to code machine learning into your projects using Python and pre-trained models that include tools such as image recognition, speech recognition, and classification. You’ll also examine issues around deployment and continuous delivery including scaling, security, and monitoring.
This book is divided into four parts:
Cloud-based development: learn the basics of serverless computing with machine learning, functions as a service (FaaS), and the use of APIs
Adding intelligence: create serverless applications using Azure Functions; learn how to use pre-built machine-learning and deep-learning models
Deployment and continuous delivery: get up to speed with Azure Kubernetes Service, as well as Azure Security Center, and Azure Monitoring
Application examples: deliver data at the edge, build conversational interfaces, and use convolutional neural networks for image classification
Stream Processing with Apache Spark 豆瓣
作者: Gerard Maas / Francois Garillot O'Reilly Media 2018 - 7
To build analytics tools that provide faster insights, knowing how to process data in real time is a must, and moving from batch processing to stream processing is absolutely required. Fortunately, the Spark in-memory framework/platform for processing data has added an extension devoted to fault-tolerant stream processing: Spark Streaming.
If you're familiar with Apache Spark and want to learn how to implement it for streaming jobs, this practical book is a must.
Understand how Spark Streaming fits in the big picture
Learn core concepts such as Spark RDDs, Spark Streaming clusters, and the fundamentals of a DStream
Discover how to create a robust deployment
Dive into streaming algorithmics
Learn how to tune, measure, and monitor Spark Streaming
Stream Processing with Apache Flink: Fundamentals, Implementation, and Operation of Streaming Applications 豆瓣
作者: Fabian Hueske / Vasiliki Kalavri O'Reilly Media 2018 - 7
Get started with Apache Flink, the open source framework that enables you to process streaming data—such as user interactions, sensor data, and machine logs—as it arrives. With this practical guide, you’ll learn how to use Apache Flink’s stream processing APIs to implement, continuously run, and maintain real-world applications.Authors Fabian Hueske, one of Flink’s creators, and Vasia Kalavri, a core contributor to Flink’s graph processing API (Gelly), explains the fundamental concepts of parallel stream processing and shows you how streaming analytics differs from traditional batch data analysis. Software engineers, data engineers, and system administrators will learn the basics of Flink’s DataStream API, including the structure and components of a common Flink streaming application.Solve real-world problems with Apache Flink’s DataStream APISet up an environment for developing stream processing applications for FlinkDesign streaming applications and migrate periodic batch workloads to continuous streaming workloadsLearn about windowed operations that process groups of recordsIngest data streams into a DataStream application and emit a result stream into different storage systemsImplement stateful and custom operators common in stream processing applicationsOperate, maintain, and update continuously running Flink streaming applicationsExplore several deployment options, including the setup of highly available installations
Programming Kubernetes 豆瓣
作者: Michael Hausenblas / Stefan Schimanski O'Reilly Media 2019 - 9
While Kubernetes has established itself as the industry standard for managing containers and their life cycles, there’s a definite need for good practices on how to write native applications. This practical guide shows application and infrastructure developers, DevOps practitioners, and site reliability engineers how to develop cloud native apps that run on Kubernetes.
Red Hat’s developer advocate Michael Hausenblas and senior software engineer Stefan Schimanski guide you through Kubernetes’ basic building blocks including the client-go API library, custom resources, and cloud native programming languages. This intermediate-level book requires a minimum understanding of development and system administration tools and practices such as package management, the Go programming language, and using Git.
Kubernetes Patterns 豆瓣
作者: Bilgin Ibryam / Roland Huß O'Reilly Media 2019 - 5
The way developers design, build, and run software has changed significantly with the evolution of microservices and containers. These modern architectures use new primitives that require a different set of practices than most developers, tech leads, and architects are accustomed to. With this focused guide, Bilgin Ibryam and Roland Huß from Red Hat provide common reusable elements, patterns, principles, and practices for designing and implementing cloud-native applications on Kubernetes.
Each pattern includes a description of the problem and a proposed solution with Kubernetes specifics. Many patterns are also backed by concrete code examples. This book is ideal for developers already familiar with basic Kubernetes concepts who want to learn common cloud native patterns.
You’ll learn about the following pattern categories:
Foundational patterns cover the core principles and practices for building container-based cloud-native applications.
Behavioral patterns explore finer-grained concepts for managing various types of container and platform interactions.
Structural patterns help you organize containers within a pod, the atom of the Kubernetes platform.
Configuration patterns provide insight into how application configurations can be handled in Kubernetes.
Advanced patterns covers more advanced topics such as extending the platform with operators.
Coders at Work 豆瓣 Goodreads
作者: [美] Peter Seibel Apress 2009 - 9
Peter Seibel interviews 15 of the most interesting computer programmers alive today in Coders at Work, offering a companion volume to Apress's highly acclaimed best-seller Founders at Work by Jessica Livingston. As the words "at work" suggest, Peter Seibel focuses on how his interviewees tackle the day-to-day work of programming, while revealing much more, like how they became great programmers, how they recognize programming talent in others, and what kinds of problems they find most interesting. Hundreds of people have suggested names of programmers to interview on the Coders at Work web site: www.codersatwork.com. The complete list was 284 names. Having digested everyone's feedback, we selected 15 folks who've been kind enough to agree to be interviewed: * Frances Allen: Pioneer in optimizing compilers, first woman to win the Turing Award (2006) and first female IBM fellow * Joe Armstrong: Inventor of Erlang * Joshua Bloch: Author of the Java collections framework, now at Google * Bernie Cosell: One of the main software guys behind the original ARPANET IMPs and a master debugger * Douglas Crockford: JSON founder, JavaScript architect at Yahoo! * L. Peter Deutsch: Author of Ghostscript, implementer of Smalltalk-80 at Xerox PARC and Lisp 1.5 on PDP-1 * Brendan Eich: Inventor of JavaScript, CTO of the Mozilla Corporation * Brad Fitzpatrick: Writer of LiveJournal, OpenID, memcached, and Perlbal * Dan Ingalls: Smalltalk implementor and designer * Simon Peyton Jones: Coinventor of Haskell and lead designer of Glasgow Haskell Compiler * Donald Knuth: Author of The Art of Computer Programming and creator of TeX * Peter Norvig: Director of Research at Google and author of the standard text on AI * Guy Steele: Coinventor of Scheme and part of the Common Lisp Gang of Five, currently working on Fortress * Ken Thompson: Inventor of UNIX * Jamie Zawinski: Author of XEmacs and early Netscape/Mozilla hacker What you'll learnHow the best programmers in the world do their jobs! Who this book is for Programmers interested in the point of view of leaders in the field. Programmers looking for approaches that work for some of these outstanding programmers. Table of Contents * Jamie Zawinski * Brad Fitzpatrick * Douglas Crockford * Brendan Eich * Joshua Bloch * Joe Armstrong * Simon Peyton Jones * Peter Norvig * Guy Steele * Dan Ingalls * L Peter Deutsch * Ken Thompson * Fran Allen * Bernie Cosell * Donald Knuth
The Manager's Path 豆瓣 Goodreads Goodreads
The Manager's Path: A Guide for Tech Leaders Navigating Growth and Change
9.7 (7 个评分) 作者: Camille Fournier O′Reilly 2017 - 3
Managing people is difficult wherever you work. But in the tech industry, where management is also a technical discipline, the learning curve can be brutal—especially when there are few tools, texts, and frameworks to help you. In this practical guide, author Camille Fournier (tech lead turned CTO) takes you through each stage in the journey from engineer to technical manager.
From mentoring interns to working with senior staff, you’ll get actionable advice for approaching various obstacles in your path. This book is ideal whether you’re a new manager, a mentor, or a more experienced leader looking for fresh advice. Pick up this book and learn how to become a better manager and leader in your organization.
Begin by exploring what you expect from a manager
Understand what it takes to be a good mentor, and a good tech lead
Learn how to manage individual members while remaining focused on the entire team
Understand how to manage yourself and avoid common pitfalls that challenge many leaders
Manage multiple teams and learn how to manage managers
Learn how to build and bootstrap a unifying culture in teams
Managing Gigabytes 豆瓣
作者: Ian H. Witten / Alistair Moffat Morgan Kaufmann 1999 - 5
In this fully updated second edition of the highly acclaimed Managing Gigabytes, authors Written, Moffat, and Bell continue to provide unparalleled coverage of state-of-the-art techniques for compressing and indexing data. Whatever your field, if you work with large quantities of information, this book is essential reading - an authoritative theoretical resource and a practical guide to meeting the toughest storage and access challenges. It covers the latest developments in compression and indexing and their application on the Web and in digital libraries. It also details dozens of powerful techniques supported by mg, the authors' own system for compressing, storing, and retrieving text, images, and textual images. Mg's source code is freely available on the Web. It provides up-to-date coverage of new text compression algorithms such as block sorting, approximate arithmetic coding, and fat Huffman coding. It includes new sections on content-based index compression and distributed querying, with 2 new data structures for fast indexing. It provides new coverage of image coding, including descriptions of de facto standards in use on the Web (GIF and PNG), information on CALIC, the new proposed JPEG Lossless standard, and JBIG2. It includes new information on the Internet and WWW, digital libraries, web search engines, and agent-based retrieval. It is accompanied by a public domain system called MG which is a fully worked-out operational example of the advanced techniques developed and explained in the book. It includes a new appendix on an existing digital library system that uses the MG software.
Making Databases Work 豆瓣
作者: Michael L.Brodie Morgan & Claypool 2018
This book celebrates Michael Stonebraker's accomplishments that led to his 2014 ACM A.M. Turing Award "for fundamental contributions to the concepts and practices underlying modern database systems."
The book describes, for the broad computing community, the unique nature, significance, and impact of Mike's achievements in advancing modern database systems over more than forty years. Today, data is considered the world's most valuable resource, whether it is in the tens of millions of databases used to manage the world's businesses and governments, in the billions of databases in our smartphones and watches, or residing elsewhere, as yet unmanaged, awaiting the elusive next generation of database systems. Every one of the millions or billions of databases includes features that are celebrated by the 2014 Turing Award and are described in this book.
Why should I care about databases? What is a database? What is data management? What is a database management system (DBMS)? These are just some of the questions that this book answers, in describing the development of data management through the achievements of Mike Stonebraker and his over 200 collaborators. In reading the stories in this book, you will discover core data management concepts that were developed over the two greatest eras (so far) of data management technology.
The book is a collection of 36 stories written by Mike and 38 of his collaborators: 23 world-leading database researchers, 11 world-class systems engineers, and 4 business partners. If you are an aspiring researcher, engineer, or entrepreneur you might read these stories to find these turning points as practice to tilt at your own computer-science windmills, to spur yourself to your next step of innovation and achievement.
BioBuilder 豆瓣
作者: Natalie, PhD. Kuldell / Rachel Bernstein O'Reilly Media 2015 - 7
2019年2月28日 想读 看看是啥, 好帅的封面, 还以为是假的书...
生物 软件工程
庖丁解牛Linux内核分析 豆瓣
作者: 孟宁 / 娄嘉鹏 2018 - 10
本书从理解计算机硬件的核心工作机制(存储程序计算机和函数调用堆栈)和用户态程序如何通过系统调用陷入内核(中断异常)入手,通过上下两个方向双向夹击的策略,并利用实际可运行程序的反汇编代码从实践的角度理解操作系统内核,分析Linux内核源代码,从系统调用陷入内核、进程调度与进程切换开始,最后返回到用户态进程。
本书配有丰富的实验指导材料和练习,适合作为高等院校计算机相关专业的指导用书,也适合Linux操作系统开发人员自学。
编辑推荐
基于本书内容的在线视频课程——“Linux操作系统分析”被教育部评为“国家精品在线开放课程”,被教育部高等学校计算机类专业教学指导委员会评为“2018年度中国高校计算机教育慕课联盟优 秀在线开放课程”。
媒体推荐

大大小小、可见与不可见的计算机已成为现代人日常工作、学习和生活中必不可少的工具。操作系统是计算机之魂,作为用户使用计算机的接口,它负责调度执行各个用户程序,使计算机完成特定的任务;作为计算机硬件资源的管理者,它负责协调计算机中各类设备高效地工作。操作系统的重要性不言而喻。
对于软件工程师,理解操作系统的工作原理和关键机制是设计高质量应用程序的前提,但要做到这一点是十分困难的。一方面,操作系统设计涉及计算机科学与工程学科的方方面面,包括数据结构与算法、计算机组成与系统结构、计算机网络,甚至程序设计语言与编译系统等核心知识,以及并发、同步和通信等核心概念。另一方面,作为一个复杂庞大的软件产品,理解操作系统更需要理论与实践深度结合。
操作系统的相关学习资料十分丰富。有阐述基本原理者,有剖析典型系统者,还有构造示例系统者;有面向专业理论者,亦有面向应用实践者。角度多种多样,内容简繁不一。
本书的最大特点在于作者结合其多年的Linux操作系统实际教学经验编撰而成。作为一位经验丰富的高级软件工程师和专业教师,本书作者基于自己学习和研究Linux的心得,创新性地以一个mykernel和MenuOS为基础实验平台进行教学和实验组织,实现了理论学习与工程实践的自然融合,达到了事半功倍的效果。同时,书中设计了丰富的单元测试题和实验,引导读者循序渐进地掌握所学知识,并有效地促进读者深入思考和实践所学内容。作者基于本书开设的操作系统课程,其教学形式涉及面对面的课堂教学和在线慕课教学,选课对象既包括软件工程硕士,又包括一般工程实践者,学习人数已数以万计。本书的出版体现了作者认真吸收大量的学员反馈,不断优化课程的教学内容和过程组织的成果。
易读性是本书的另一特色。作者采用二维码这一新媒体时代的代表性技术组织全书的内容,达到了兼顾完整性和简洁性的目标。
作为一名多年从事计算机系统结构研究和教学的教育工作者,我认为本书的出版对于提升国内操作系统教学和实践水平非常有益,相信它必将受到读者的喜爱!
李曦
Serving Machine Learning Models 豆瓣
作者: Boris Lublinsky O'Reilly Media, Inc. 2017 - 10
Book Description
Model serving is a critical but often underappreciated aspect of machine learning.Once you have built a model using your training data set, you need to packageand deploy (i.e., serve) it. It's a surprisingly complex task, in part because modeltraining is usually handled by data scientists, and model serving is the domain ofsoftware engineers. These two groups have different functions, concerns, andtools, so the handoff can be tricky. Plus, machine learning is a hot and fast-growing field, spawning a slew of new tools that require software engineers tocreate new model serving frameworks.
This book delves into the theory and practice of serving machine learning modelsin streaming applications. It proposes an overall architecture that implementscontrolled streams of both data and models that enables not only real-time modelserving, as part of processing input streams, but also real-time model updating. Italso covers:
Step-by- step options for exporting models in tensorflow and PMMLformats.
Implementation of model serving leveraging stream processing enginesand frameworks including Apache Flink, Apache Spark streaming, ApacheBeam, Apache Kafka streams, and Akka streams.
Monitoring approaches for model serving implementations.
2019年2月23日 在读
今天正好搜RichCoFlatMapfunction看到了, 还结合Medium的Deploy your machine learning models with tensorflow serving and kubernetes. 都是model service的production实现.
分布式 计算机科学 软件工程