软件工程
Semantic Software Design 豆瓣
作者: Eben Hewitt O'Reilly Media 2019 - 11
With this practical book, architects, CTOs, and CIOs will learn a set of patterns for the practice of architecture, including analysis, documentation, and communication. Author Eben Hewitt shows you how to create holistic and thoughtful technology plans, communicate them clearly, lead people toward the vision, and become a great architect or Chief Architect.
This book covers each key aspect of architecture comprehensively, including how to incorporate business architecture, information architecture, data architecture, application (software) architecture together to have the best chance for the system’s success.
Get a practical set of proven architecture practices focused on shipping great products using architecture
Learn how architecture works effectively with development teams, management, and product management teams through the value chain
Find updated special coverage on machine learning architecture
Get usable templates to start incorporating into your teams immediately
Incorporate business architecture, information architecture, data architecture, and application (software) architecture together
Lagom: The Definitive Guide 豆瓣
作者: Lutz Huehnken / Markus Jura O'Reilly Media 2019 - 10
The Lagom Framework is a modern approach to microservices on the JVM, built according to the principles of the Reactive Manifesto, allowing you to write resilient microservices that scale. This book takes Java and Scala developers step-by-step through the development of your first microservice-based system with Lagom, from setting up your development environment to running Lagom services in production.
You’ll be introduced to the Lagom persistence API, which offers a guide-railed approach to Event Sourcing and CQRS. Furthermore, you’ll learn about asynchronous communication between microservices, some common design patterns for asynchronous systems, and how to solve common problems like versioning and schema evolution in Lagom.
MongoDB: The Definitive Guide, 3rd Edition 豆瓣
作者: Shannon Bradshaw / Kristina Chodorow O'Reilly Media 2019 - 9
Manage your data in a database system designed to support modern application development. The updated edition of this authoritative and accessible guide shows you the many advantages of using document-oriented databases, including how this secure, high-performance system enables flexible data models, high availability, and horizontal scalability.
Written by current and former members of the MongoDB team, the third edition is updated for MongoDB 4.0. You’ll find substantial updates on querying, indexing, aggregation, replica sets, ops manager, sharding administration, data administration, durability, monitoring, and security.
Authors Shannon Bradshaw (MongoDB) and Kristina Chodorow (Google) provide guidance for database developers, advanced configuration for system administrators, and use cases for a variety of projects. Ideal for NoSQL newcomers and experienced MongoDB users alike, this book also includes many real-world schema design examples.
Clojure 豆瓣
作者: Renzo Borgatti Manning Publications 2020 - 6
The Clojure standard library is a treasure trove of functions and macros that have been battle-tested over the years to solve the most challenging programming problems. Knowing what's available in the standard library not only liberates programmers from mundane tasks like connecting to data sources, parsing XML, dealing with numbers but also more advanced problems like handling concurrency and parallelism. Having a deep knowledge of the Clojure standard library helps you solve problems quickly and more efficiently.
Clojure: The Essential Reference is an extensive reference to the standard library but it doesn't read as a dull list of functions. In addition to providing clear explanations for each topic, this guide is full of real-world examples, links, and background information. The book approaches difficult topics by illustrating them in a readable and pleasant way, using visual structure to emphasize the essential information. The book is designed to be used as a reference, but each function provides an interesting reading on its own, offering insight into functional and general programming. By using this reference, you will be able to make the most idiomatic and efficient choice while developing a Clojure application.
Event Streams in Action 豆瓣
作者: Alexander Dean / Valentin Crettaz Manning Publications 2019 - 5
About the Technology
Many high-profile applications, like LinkedIn and Netflix, deliver nimble, responsive performance by reacting to user and system events as they occur. In large-scale systems, this requires efficiently monitoring, managing, and reacting to multiple event streams. Tools like Kafka, along with innovative patterns like unified log processing, help create a coherent data processing architecture for event-based applications.
About the Book
Event Streams in Action teaches you techniques for aggregating, storing, and processing event streams using the unified log processing pattern. In this hands-on guide, you'll discover important application designs like the lambda architecture, stream aggregation, and event reprocessing. You'll also explore scaling, resiliency, advanced stream patterns, and much more! By the time you're finished, you'll be designing large-scale data-driven applications that are easier to build, deploy, and maintain.
What's inside
Validating and monitoring event streams
Event analytics
Methods for event modeling
Examples using Apache Kafka and Amazon Kinesis
Compilers 豆瓣 Goodreads
8.4 (5 个评分) 作者: Alfred V. Aho / Monica S. Lam Addison Wesley 2006 - 9
This book provides the foundation for understanding the theory and pracitce of compilers. Revised and updated, it reflects the current state of compilation. Every chapter has been completely revised to reflect developments in software engineering, programming languages, and computer architecture that have occurred since 1986, when the last edition published. The authors, recognizing that few readers will ever go on to construct a compiler, retain their focus on the broader set of problems faced in software design and software development. Computer scientists, developers, and aspiring students that want to learn how to build, maintain, and execute a compiler for a major programming language.
Spark in Action, Second Edition 豆瓣
作者: Jean-Georges Perrin Manning Publications 2020 - 4
Spark in Action, Second Edition is an entirely new book that teaches you everything you need to create end-to-end analytics pipelines in Spark. Rewritten from the ground up with lots of helpful graphics, you’ll learn the roles of DAGs and dataframes, the advantages of “lazy evaluation”, and ingestion from files, databases, and streams.
By working through carefully-designed Java-based examples, you’ll delve into Spark SQL, interface with Python, and cache and checkpoint your data. Along the way, you’ll learn to interact with common enterprise data technologies like HDFS and file formats like Parquet, ORC, and Avro.
You’ll also discover interesting Spark use cases, like interactive reporting, machine learning pipelines, and even monitoring players in online games. You’ll even get a quick look at machine learning techniques you can apply without a PhD in mathematics! All examples are available in GitHub for you to explore and adapt as you learn. The demand for Spark-savvy developers is so steep, they’re among the highest paid in the industry today!
what's inside
Lots of examples based in the Spark Java APIs using real-life dataset and scenarios
Examples based on Spark v2.3 Ingestion through files, databases, and streaming
Building custom ingestion process
Querying distributed datasets with Spark SQL
Deploying Spark applications
Caching and checkpointing your data
Interfacing with data scientists using Python
Applied machine learning
Spark use cases including Lumeris, CERN, and IBM
Programming Beyond Practices: Be More Than Just a Code Monkey 豆瓣 Goodreads
作者: Gregory T Brown O'Reilly Media 2016 - 10
Writing code is the easy part of your work as a software developer. This practical book lets you explore the other 90%—everything from requirements discovery and rapid prototyping to business analysis and designing for maintainability. Instead of providing neatly packaged advice from on high, author Gregory Brown presents detailed examples of the many problems developers encounter, including the thought process it takes to solve them.He does this in an unusual and entertaining fashion by making you the main character in a series of chapter-length stories. As these stories progress, the examples become more complex, and your responsibilities increase. Together, these stories take you on a journey that will make you question and refine the way you think about, and work on, software projects.Steps in this unique journey include:Using prototypes to explore project ideasSpotting hidden dependencies in incremental changesIdentifying the pain points of service integrationsDeveloping a rigorous approach towards problem-solvingDesigning software from the bottom upData modeling in an imperfect worldGradual process improvement as an antidote for over-commitmentThe future of software development
Spring Cloud Data Flow 豆瓣
Apress 2019
Work with big data applications by using Spring Cloud Data Flow as a unified, distributed and extensible system for data ingestion and integration, real-time analytics and data processing pipelines, batch processing, and data export. With this book, you will develop a foundation for creating applications that use real-time data streaming by combining different technologies and use the full power of Spring Cloud Data Flow.
The first part of the book begins with an overview of the cloud, microservices, and big data, before moving on to the Spring projects essential to modern big data applications in Java: Spring Integration, Spring Batch, Spring Cloud Stream, and Spring Cloud Task. The second part of the book covers the internals of Spring Cloud Data Flow, giving you the insights and knowledge required to build the applications you need. You'll learn how to use Spring Data Flow's DSL and how to integrate with third-party cloud platform solutions, such as Cloud Foundry and Kubernetes.
Finally, the book covers Spring Cloud Data Flow applications to impart practical, useful skills for real-world applications of the technologies covered throughout the rest of the book.
What you will learn:
See the Spring Cloud Data Flow internals
Master Spring Cloud Data Flow architecture, data processing, and DSL
Integrate Spring Cloud Data Flow with Cloud Foundry, and Kubernetes
Use Spring Cloud Data Flow local server, Cloud Foundry, and more
Discover the Spring Cloud Data Flow applications and how to use them
Work with source, processor, sink, tasks, Spring Flo and its GUI, and analytics via the new Micrometer stack for realtime visibility with Prometheus and Grafana
Reactive Streams in Java 豆瓣
作者: Adam L. Davis Apress 2019
Get an easy introduction to reactive streams in Java to handle concurrency, data streams, and the propagation of change in today's applications. This compact book includes in-depth introductions to RxJava, Akka Streams, and Reactor, and integrates the latest related features from Java 9 and 11, as well as reactive streams programming with the Android SDK.
Reactive Streams in Java explains how to manage the exchange of stream data across an asynchronous boundary―passing elements on to another thread or thread-pool―while ensuring that the receiving side is not forced to buffer arbitrary amounts of data which can reduce application efficiency. After reading and using this book, you'll be proficient in programming reactive streams for Java in order to optimize application performance, and improve memory management and data exchanges.
Practical Microservices Architectural Patterns 豆瓣
作者: Binildas Christudas Apress 2019 - 8
Take your distributed applications to the next level and see what the reference architectures associated with microservices can do for you. This book begins by showing you the distributed computing architecture landscape and provides an in-depth view of microservices architecture. Following this, you will work with CQRS, an essential pattern for microservices, and get a view of how distributed messaging works. Moving on, you will take a deep dive into Spring Boot and Spring Cloud.
Coming back to CQRS, you will learn how event-driven microservices work with this pattern, using the Axon 2 framework. This takes you on to how transactions work with microservices followed by advanced architectures to address non-functional aspects such as high availability and scalability. In the concluding part of the book you develop your own microservices application using the Axon framework and true BASE transactions, while making it as secure as possible.
You will:
Shift from monolith architecture to microservices
Build solid architectures without ACID-compliant databases
Work with transactional systems
Discover the high availability principles in microservices
Production-Ready Microservices: Building Standardized Systems Across an Engineering Organization 豆瓣
作者: Susan J. Fowler O'Reilly Media 2016
Recent practice in distributed systems has shifted from building and maintaining monolithic applications to breaking monoliths into microservices, but the standardization and best practices for microservice architecture and interaction between microservices remain largely undefined. After breaking apart a monolithic application or building up microservices from scratch, many engineers are left wondering "now what"?In Production-Ready Microservices, author Susan Fowler looks at lessons learned from driving high production-readiness standards across over a thousand microservices. She discusses standards that apply to every microservice, and shares strategies for bringing microservices to a production-ready state. A production-ready microservice, she argues, is one that is stable, reliable, fault-tolerant, scalable, performant, monitored, prepared for any catastrophe, and documented and understood.
Spring Boot in Action 豆瓣
作者: Craig Walls Manning Publications 2016 - 1
A developer-focused guide to writing applications using Spring Boot. You'll learn how to bypass the tedious configuration steps so that you can concentrate on your application's behavior.
Spring Boot in Action is a developer-focused guide to writing applications using Spring Boot. In it, you?ll learn how to bypass configuration steps so you can focus on your application?s behavior. Spring expert Craig Walls uses interesting and practical examples to teach you both how to use the default settings effectively and how to override and customize Spring Boot for your unique environment. Along the way, you?ll pick up insights from Craig?s years of Spring development experience.
Spring Microservices in Action 豆瓣
作者: John Carnell Manning Publications 2017 - 7
Spring Microservices in Action teaches you how to build microservice-based applications using Java and the Spring platform. You'll learn to do microservice design as you build and deploy your first Spring Cloud application. Throughout the book, carefully selected real-life examples expose microservice-based patterns for configuring, routing, scaling, and deploying your services. You'll see how Spring's intuitive tooling can help augment and refactor existing applications with micro services.
2019年6月23日 在读
思路很清晰啊, 各个component都有涉及, 不过heavy depend on Netflix OSS. 已经过时了, 现在Spring都已经自己实现了一遍. 希望可以出新版吧.
分布式 计算机科学 微服务 软件工程
Microservices in Action 豆瓣
作者: Morgan Bruce / Paulo Pereira Manning Publications 2018 - 7
Microservices in Action is a practical book about building and deploying microservice-based applications. Written for developers and architects with a solid grasp of service-oriented development, it tackles the challenge of putting microservices into production.
Grokking FRP 豆瓣
作者: Timo Tuominen Manning Publications 2017 - 10
About the Book
RxJava for Android Developers begins by inviting you to think about programming and data the reactive way. This engaging, hands-on essential reference introduces you to the central pattern of RxJava for Android, then explains the View Model before exploring highly sought-after app features like chat clients and elegant transitions. Finally, you'll look at high-level design concerns and architectural approaches and frameworks that work well with Functional Reactive Programming (FRP) thinking.
What's inside
An introduction to reactive programming
Easier thread management
Improving UI responsiveness
Thinking asynchronously
Building a working chat client
Netty in Action 豆瓣
作者: Norman Maurer / Marvin Allen Wolfthal Manning Publications 2015
Network applications must handle events intelligently and efficiently, establishing priorities, resolving conflicts, and managing resources to avoid blocks, dropouts, and the other jams that occur in high-traffic environments. Netty is a Java-based networking framework designed to handle asynchronous network events smoothly so your applications are easy to write and maintain. The framework hides all the boilerplate and low-level code from you, making it possible to keep your business-logic separate and reusable, even in different network transports and protocols. Netty has built-in support for many protocols i.e. HTTP, SPDY, and WebSockets.
Netty in Action introduces the Netty framework and shows you how to incorporate it into your Java network applications. You'll learn to write highly-scalable applications without the need to dive into the low-level non-blocking APIs at the core of Java. You'll learn how to think in an asynchronous way as you work through numerous hands-on examples. You'll follow numerous examples that show you how to use Netty while you master the best practices of large-scale network apps.
Zero Trust Networks 豆瓣
作者: Evan Gilman / Doug Barth O′Reilly 2017 - 7
Perimeter defenses guarding your network aren’t as secure as you might think. Hosts behind the firewall have no defenses of their own, so when a host in the "trusted" zone is breached, access to your data center is not far behind. This practical book introduces you to the zero trust model, a method that treats all hosts as if they’re internet-facing, and considers the entire network to be compromised and hostile.
Authors Evan Gilman and Doug Barth show you how zero trust lets you focus on building strong authentication, authorization, and encryption throughout, while providing compartmentalized access and better operational agility. You’ll learn the architecture of a zero trust network, including how to build one using currently available technology.
Understand how the zero trust model embeds security within the system’s operation, rather than layering it on top
Examine the fundamental concepts at play in a zero trust network, including network agents and trust engines
Use existing technology to establish trust among the actors in a network
Learn how to migrate from a perimeter-based network to a zero trust network in production
Explore case studies of zero trust on the client side (Google) and on the server (PagerDuty)
Foundations for Architecting Data Solutions 豆瓣
作者: Ted Malaska / Jonathan Seidman O′Reilly 2018 - 9
While many companies ponder implementation details such as distributed processing engines and algorithms for data analysis, this practical book takes a much wider view of big data development, starting with initial planning and moving diligently toward execution. Authors Ted Malaska and Jonathan Seidman guide you through the major components necessary to start, architect, and develop successful big data projects.
Everyone from CIOs and COOs to lead architects and developers will explore a variety of big data architectures and applications, from massive data pipelines to web-scale applications. Each chapter addresses a piece of the software development life cycle and identifies patterns to maximize long-term success throughout the life of your project.
Start the planning process by considering the key data project types
Use guidelines to evaluate and select data management solutions
Reduce risk related to technology, your team, and vague requirements
Explore system interface design using APIs, REST, and pub/sub systems
Choose the right distributed storage system for your big data system
Plan and implement metadata collections for your data architecture
Use data pipelines to ensure data integrity from source to final storage
Evaluate the attributes of various engines for processing the data you collect
2019年6月23日 已读
在图书馆借到了, 赶紧读完. 看目录很好啊 对于第一次做system design很适合.
分布式 软件工程