软件工程
Securing DevOps 豆瓣
作者: Julien Vehent Manning Publications 2018 - 8
Securing DevOps explores how the techniques of DevOps and Security should be applied together to make cloud services safer. This introductory book reviews state of the art practices used in securing web applications and their infrastructure, and teaches you techniques to integrate security directly into your product. You'll also learn the core concepts of DevOps, such as Continuous Integration, Continuous Delivery and Infrastructure as a Service. You'll build an example service - an invoice management API - as you learn how to implement both DevOps and Security concepts together. By the end of this book, you'll be ready to build security controls at all layers, monitor and respond to attacks on cloud services, and add security organization-wide through risk management and training.
Spring in Action 豆瓣
作者: Craig Walls Manning Publications 2014 - 11
Spring in Action, Fourth Edition is a hands-on guide to the Spring Framework, updated for version 4. It covers the latest features, tools, and practices including Spring MVC, REST, Security, Web Flow, and more. You'll move between short snippets and an ongoing example as you learn to build simple and efficient J2EE applications. Author Craig Walls has a special knack for crisp and entertaining examples that zoom in on the features and techniques you really need.
Refer to link: http://www.manning.com/walls5/
Database Internals 豆瓣 Goodreads
作者: Alex Petrov O'Reilly Media 2019 - 10
Have you ever wanted to learn more about Databases but did not know where to start? This is a book just for you.
We can treat databases and other infrastructure components as black boxes, but it doesn’t have to be that way. Sometimes we have to take a closer look at what’s going on because of performance issues. Sometimes databases misbehave, and we need to find out what exactly is going on. Some of us want to work in infrastructure and develop databases. This book’s main intention is to introduce you to the cornerstone concepts and help you understand how databases work.
The book consists of two parts: Storage Engines and Distributed Systems since that’s where most of the differences between the vast majority of databases is coming from.
Patterns of Enterprise Application Architecture 豆瓣 Goodreads
Patterns of Enterprise Application Architecture
作者: Martin Fowler Addison-Wesley Professional 2002 - 11
The practice of enterprise application development has benefited from the emergence of many new enabling technologies. Multi-tiered object-oriented platforms, such as Java and .NET, have become commonplace. These new tools and technologies are capable of building powerful applications, but they are not easily implemented. Common failures in enterprise applications often occur because their developers do not understand the architectural lessons that experienced object developers have learned. Patterns of Enterprise Application Architecture is written in direct response to the stiff challenges that face enterprise application developers. The author, noted object-oriented designer Martin Fowler, noticed that despite changes in technology--from Smalltalk to CORBA to Java to .NET--the same basic design ideas can be adapted and applied to solve common problems. With the help of an expert group of contributors, Martin distills over forty recurring solutions into patterns. The result is an indispensable handbook of solutions that are applicable to any enterprise application platform. This book is actually two books in one. The first section is a short tutorial on developing enterprise applications, which you can read from start to finish to understand the scope of the book's lessons. The next section, the bulk of the book, is a detailed reference to the patterns themselves. Each pattern provides usage and implementation information, as well as detailed code examples in Java or C#. The entire book is also richly illustrated with UML diagrams to further explain the concepts. Armed with this book, you will have the knowledge necessary to make important architectural decisions about building an enterprise application and the proven patterns for use when building them. The topics covered include * Dividing an enterprise application into layers * The major approaches to organizing business logic * An in-depth treatment of mapping between objects and relational databases * Using Model-View-Controller to organize a Web presentation * Handling concurrency for data that spans multiple transactions * Designing distributed object interfaces
The Joy of Kotlin 豆瓣
作者: Pierre-Yves Saumont Manning Publications 2018 - 9
The Kotlin programming language offers an expressive syntax, an intuitive type system, and support for a host of tools for users.
The Joy of Kotlin teaches readers the right way to code in Kotlin. This insight-rich book covers everything needed to master the Kotlin language while exploring coding techniques that will make readers better developers no matter what language they use.
Guide to Competitive Programming 豆瓣
作者: Antti Laaksonen Springer 2018 - 1
This invaluable textbook presents a comprehensive introduction to modern competitive programming. The text highlights how competitive programming has proven to be an excellent way to learn algorithms, by encouraging the design of algorithms that actually work, stimulating the improvement of programming and debugging skills, and reinforcing the type of thinking required to solve problems in a competitive setting. The book contains many “folklore” algorithm design tricks that are known by experienced competitive programmers, yet which have previously only been formally discussed in online forums and blog posts.
Topics and features: reviews the features of the C++ programming language, and describes how to create efficient algorithms that can quickly process large data sets; discusses sorting algorithms and binary search, and examines a selection of data structures of the C++ standard library; introduces the algorithm design technique of dynamic programming, and investigates elementary graph algorithms; covers such advanced algorithm design topics as bit-parallelism and amortized analysis, and presents a focus on efficiently processing array range queries; surveys specialized algorithms for trees, and discusses the mathematical topics that are relevant in competitive programming; examines advanced graph techniques, geometric algorithms, and string techniques; describes a selection of more advanced topics, including square root algorithms and dynamic programming optimization.
This easy-to-follow guide is an ideal reference for all students wishing to learn algorithms, and practice for programming contests. Knowledge of the basics of programming is assumed, but previous background in algorithm design or programming contests is not necessary. Due to the broad range of topics covered at various levels of difficulty, this book is suitable for both beginners and more experienced readers.
Learning Chaos Engineering 豆瓣
作者: Russ Miles O'Reilly Media 2019 - 8
Learn why, when, and how to create real-world, practical chaos engineering experiments through Game Days and automation. With this practical book, software developers and system administrators will learn how to become chaos engineers. You'll learn ways to approach and adopt the discipline, how to prepare for and conduct successful chaos experiments manually, and how to work towards Continuous Chaos through automation.
On the surface, Chaos Engineering can look like a deceptively simple set of practices, but the devil is in the details. This book helps you adopt the mindset of Chaos Engineering, successfully plan and learn from Game Days, and finally learn the tools for automation and collaboration necessary to scale out and mature your own organization’s Chaos Engineering capability.
Architecting Modern Data Platforms 豆瓣
作者: Jan Kunigk / Ian Buss O′Reilly 2018 - 10
There’s a lot of information about big data technologies, but splicing these technologies into an end-to-end enterprise data platform is a daunting task not widely covered. With this practical book, you’ll learn how to build big data infrastructure both on-premises and in the cloud and successfully architect a modern data platform.
Ideal for enterprise architects, IT managers, application architects, and data engineers, this book shows you how to overcome the many challenges that emerge during Hadoop projects. You’ll explore the vast landscape of tools available in the Hadoop and big data realm in a thorough technical primer before diving into:
Infrastructure: Look at all component layers in a modern data platform, from the server to the data center, to establish a solid foundation for data in your enterprise
Platform: Understand aspects of deployment, operation, security, high availability, and disaster recovery, along with everything you need to know to integrate your platform with the rest of your enterprise IT
Taking Hadoop to the cloud: Learn the important architectural aspects of running a big data platform in the cloud while maintaining enterprise security and high availability
Dependency Injection Principles, Practices, and Patterns 豆瓣
作者: Mark Seemann / Steven van Deursen Manning Publications 2019 - 3
Summary
Dependency Injection Principles, Practices, and Patterns teaches you to use DI to reduce hard-coded dependencies between application components. You'll start by learning what DI is and what types of applications will benefit from it. Then, you'll work through concrete scenarios using C# and the .NET framework to implement DI in your own projects. As you dive into the thoroughly-explained examples, you'll develop a foundation you can apply to any of the many DI libraries for .NET and .NET Core.
Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.
About the Technology
Dependency Injection (DI) is a great way to reduce tight coupling between software components. Instead of hard-coding dependencies, such as specifying a database driver, you make those connections through a third party. Central to application frameworks like ASP.NET Core, DI enables you to better manage changes and other complexity in your software.
About the Book
Dependency Injection Principles, Practices, and Patterns is a revised and expanded edition of the bestselling classic Dependency Injection in .NET. It teaches you DI from the ground up, featuring relevant examples, patterns, and anti-patterns for creating loosely coupled, well-structured applications. The well-annotated code and diagrams use C# examples to illustrate principles that work flawlessly with modern object-oriented languages and DI libraries.
Servlet&JSP技術手冊 豆瓣
作者: 林信良 碁峰 2018 - 5
Java權威技術顧問與專業講師 林信良(良葛格) 最新力作!
- Servlet 4.0新功能介紹
- 加強Web安全基本觀念
- 銜接Spring MVC、Spring Boot
- 提供Lab實作檔案
‧本書為作者數年來實務教學過程,匯整學員在課程中遇到的觀念、實作、應用或認證考試上等各種問題之學習經驗集合。
‧基於Servlet 4.0/Java SE 8重新改版,範例程式碼做了重新審閱與翻新。
‧介紹OWASP TOP 10、CWE、CVE,討論注入攻擊、會話安全、密碼管理、Java EE安全機制、CSRF等Web安全基本概念。
‧增加Spring、Spring MVC、Spring Boot入門介紹,認識Web MVC框架與快速開發工具之使用。
‧涵蓋中文處理、圖片驗證、自動登入、驗證過濾器、壓縮處理、線上檔案管理、郵件傳送等實用範例。
‧貫穿全書的「微網誌」綜合練習專案,可應用學得之技術,並使用重構來改進應用程式架構。
‧建議練習的範例提供實作檔案,更能掌握練習重點,IDE操作為本書內容之一,更能與實務結合。
Head First Kotlin 豆瓣
作者: Dawn Griffiths / David Griffiths O'Reilly Media 2019 - 3
What will you learn from this book?
Head First Kotlin is a complete introduction to coding in Kotlin. This hands-on book helps you learn the Kotlin language with a unique method that goes beyond syntax and how-to manuals and teaches you how to think like a great Kotlin developer. You’ll learn everything from language fundamentals to collections, generics, lambdas, and higher-order functions. Along the way, you’ll get to play with both object-oriented and functional programming. If you want to really understand Kotlin, this is the book for you.
Why does this book look so different?
Based on the latest research in cognitive science and learning theory, Head First Kotlin uses a visually rich format to engage your mind rather than a text-heavy approach that puts you to sleep. Why waste your time struggling with new concepts? This multisensory learning experience is designed for the way your brain really works.
Domain-Driven Design 豆瓣
作者: Eric Evans Addison-Wesley Professional 2003 - 8
"Eric Evans has written a fantastic book on how you can make the design of your software match your mental model of the problem domain you are addressing. "His book is very compatible with XP. It is not about drawing pictures of a domain; it is about how you think of it, the language you use to talk about it, and how you organize your software to reflect your improving understanding of it. Eric thinks that learning about your problem domain is as likely to happen at the end of your project as at the beginning, and so refactoring is a big part of his technique. "The book is a fun read. Eric has lots of interesting stories, and he has a way with words. I see this book as essential reading for software developers-it is a future classic." -Ralph Johnson, author of Design Patterns "If you don't think you are getting value from your investment in object-oriented programming, this book will tell you what you've forgotten to do. "Eric Evans convincingly argues for the importance of domain modeling as the central focus of development and provides a solid framework and set of techniques for accomplishing it. This is timeless wisdom, and will hold up long after the methodologies du jour have gone out of fashion." -Dave Collins, author of Designing Object-Oriented User Interfaces "Eric weaves real-world experience modeling-and building-business applications into a practical, useful book. Written from the perspective of a trusted practitioner, Eric's descriptions of ubiquitous language, the benefits of sharing models with users, object life-cycle management, logical and physical application structuring, and the process and results of deep refactoring are major contributions to our field." -Luke Hohmann, author of Beyond Software Architecture "This book belongs on the shelf of every thoughtful software developer." -Kent Beck "What Eric has managed to capture is a part of the design process that experienced object designers have always used, but that we have been singularly unsuccessful as a group in conveying to the rest of the industry. We've given away bits and pieces of this knowledge...but we've never organized and systematized the principles of building domain logic. This book is important." -Kyle Brown, author of Enterprise Java(TM) Programming with IBM(r) WebSphere(r) The software development community widely acknowledges that domain modeling is central to software design. Through domain models, software developers are able to express rich functionality and translate it into a software implementation that truly serves the needs of its users. But despite its obvious importance, there are few practical resources that explain how to incorporate effective domain modeling into the software development process. Domain-Driven Design fills that need. This is not a book about specific technologies. It offers readers a systematic approach to domain-driven design, presenting an extensive set of design best practices, experience-based techniques, and fundamental principles that facilitate the development of software projects facing complex domains. Intertwining design and development practice, this book incorporates numerous examples based on actual projects to illustrate the application of domain-driven design to real-world software development. Readers learn how to use a domain model to make a complex development effort more focused and dynamic. A core of best practices and standard patterns provides a common language for the development team. A shift in emphasis-refactoring not just the code but the model underlying the code-in combination with the frequent iterations of Agile development leads to deeper insight into domains and enhanced communication between domain expert and programmer. Domain-Driven Design then builds on this foundation, and addresses modeling and design for complex systems and larger organizations.Specific topics covered include: * Getting all team members to speak the same language * Connecting model and implementation more deeply * Sharpening key distinctions in a model * Managing the lifecycle of a domain object * Writing domain code that is safe to combine in elaborate ways * Making complex code obvious and predictable * Formulating a domain vision statement * Distilling the core of a complex domain * Digging out implicit concepts needed in the model * Applying analysis patterns * Relating design patterns to the model * Maintaining model integrity in a large system * Dealing with coexisting models on the same project * Organizing systems with large-scale structures * Recognizing and responding to modeling breakthroughs With this book in hand, object-oriented developers, system analysts, and designers will have the guidance they need to organize and focus their work, create rich and useful domain models, and leverage those models into quality, long-lasting software implementations.
Cloud Native 豆瓣
作者: Boris Scholl / Trent Swanson O'Reilly Media 2019 - 10
This comprehensive guide helps developers and architects understand current cloud-native technologies, with recommendations that explain when you need to use each one. Authors Boris Scholl, Trent Swanson, and Peter Jausovec describe the patterns you need for building cloud-native applications, and provide best practices for the most common tasks such as messaging, eventing, and DevOps.
This practical book also delivers an architectural blueprint for a modern cloud-native application. You’ll learn about microservices, containers, serverless computing, storage types, data considerations, portability, and the use of functions.
Differentiate between containers and functions, and understand when to use which technology
Leverage Service Meshes to move complexity, such as distributed tracing and mutual TLS handshakes, away from the developer
Use messaging and eventing as the glue for the cloud-native composite applications
Handle state-in distributed applications
Understand what makes your application portable
Monolith to Microservices 豆瓣
作者: Sam Newman O'Reilly Media 2019
How do you detangle a monolithic system and migrate it to a microservices architecture? How do you do it while maintaining business-as-usual? As a companion to Sam Newman’s extremely popular Building Microservices, this new book details a proven method for transitioning an existing monolithic system to a microservice architecture.
With many illustrative examples, insightful migration patterns, and a bevy of practical advice to transition your monolith enterprise into a microservice operation, this practical guide covers multiple scenarios and strategies for a successful migration, from initial planning all the way through application and database decomposition. You’ll learn several tried and tested patterns and techniques that you can use as you migrate your existing architecture.
Ideal for organizations looking to transition to microservices, rather than rebuild
Helps companies determine whether to migrate, when to migrate, and where to begin
Addresses communication, integration, and the migration of legacy systems
Discusses multiple migration patterns and where they apply
Provides database migration examples, along with synchronization strategies
Explores application decomposition, including several architectural refactoring patterns
Delves into details of database decomposition, including the impact of breaking referential and transactional integrity, new failure modes, and more
2019年4月18日 在读
昨天去WePay的MySQL meetup才知道的Debezium...
Debezium is an open source project that provides a low latency data streaming platform for change data capture (CDC).
分布式 计算机科学 数据库 软件工程
Istio: Up and Running 豆瓣
作者: Lee Calcote / Zack Butcher O'Reilly Media 2019 - 11
You did it. You successfully transformed your application into a microservices architecture. But now that you’re running microservices across different environments—public to public, private to public, virtual machine to container—your cloud native software is beginning to encounter reliability issues.
How do you stay on top of this ever-increasing complexity? Simple: you run the Istio service mesh. With Istio, you’ll be able to manage traffic, control access, monitor, report, get telemetry data, manage quota, trace, and more with resilience across your microservice.
In this book, Matthew Baldwin and Lee Calcote explain why your services need a service mesh, and demonstrate how Istio fits into the lifecycle of a distributed application. You’ll learn about tools and APIs for enabling and managing many of the features found in Istio.
Explore the observability challenges Istio addresses
Learn about request routing, traffic shifting, fault injection, and other features essential to running a solid service mesh
Generate and collect telemetry information
Go through different deployment patterns including A/B, Blue/Green, and Canary
Learn examples of how to develop and deploy real-world applications with Istio support
Stream Processing with Heron 豆瓣
作者: Maosong Fu / Huijun Wu O'Reilly Media 2019 - 7
or data engineers and researchers new to stream processing, this practical book provides a professional reference that focuses on Apache Heron. Authors Huijun Wu and Maosong Fu from Twitter provide the basic knowledge you need to get started with this real-time processing engine. Learn how Heron serves as a general-purpose, modular, and extensible platform that you can use to support common real-time analytics use cases.
Through the course of this book, you’ll discover approaches for tackling challenges in stream processing systems and applications. You’ll also understand how to build streaming applications that can benefit from Heron’s robustness, high performance, adaptability to cloud environments, and ease of use.
With this book, you’ll examine:
A complete study path that shows you how to develop stream processing systems
Heron’s data model, system, topology submission process, architecture, and components
How to compile the Heron source code
Methods for migrating Apache Storm’s topology to Heron
Heron components, including state manager, scheduler, topology master, stream manager, instance, metrics manager, and metrics cache
Heron tools, including tracker, UI, and explorer
New features, such as health manager, Python topology, delivery semantics, and API server
Building Microservices 豆瓣
作者: Sam Newman 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.
2019年4月12日 在读
before gRPC (gRPC 1.0 was released in August 2016 and has since grown to become one of the premier technical solutions for application communications.)
分布式 计算机科学 软件工程
Istio in Action 豆瓣
作者: Christian E. Posta / Sandeep Parikh Manning Publications 2020 - 4
Many enterprise applications intertwine code that defines an app’s behavior with code that defines its network communication and other non-functional concerns. The “service mesh” pattern, implemented by platforms like Istio, helps you push operational issues into the infrastructure so the application code is easier to understand, maintain, and adapt. Istio in Action teaches you how to implement a full-featured Istio-based service mesh to manage a microservices application. With the skills you learn in this comprehensive tutorial, you’ll be able to delegate the complex infrastructure of your cloud-native applications to Istio!
Istio in Action is a comprehensive guide to handling authentication, routing, retrying, load balancing, collecting data, security, and other common network-related tasks using the Istio service mesh platform. With author Christian Posta’s expert guidance, you’ll experiment with a basic service mesh as you explore the features of Envoy, Istio’s service proxy. With helpful diagrams and hands-on examples, you’ll learn how to use this open-source service mesh to control routing, secure container applications, and monitor network traffic. You’ll also bring Istio to legacy systems without changes to your applications and discover how to use Istio in a multi-cloud world with the data layer deployed on a cluster like Kubernetes.
Kotlin Cookbook 豆瓣
作者: Ken Kousen O'Reilly Media 2019 - 10
Kotlin is the fastest-growing "alternative" language on the JVM, and its use is becoming pervasive in Android, native applications, and other areas. Other books on Kotlin teach the language in the traditional manner. The appeal of a cookbook is that it lets you find exactly the techniques you need exactly when you need them. This book will be a daily reference for existing Kotlin developers and those programmers learning to apply the language to new areas.