Book picks similar to
Object Models: Strategies, Patterns, and Applications by Mark Mayfield
architecture
london-office
read-non-fiction
software
Refactoring Databases: Evolutionary Database Design
Scott W. Ambler - 2006
Now, for the first time, leading agile methodologist Scott Ambler and renowned consultantPramodkumar Sadalage introduce powerful refactoring techniquesspecifically designed for database systems. Ambler and Sadalagedemonstrate how small changes to table structures, data, storedprocedures, and triggers can significantly enhance virtually anydatabase design - without changing semantic
Evolve: 2 Minute Wisdom
Radhanath Swami - 2011
Thus facilitating our desert like hearts to grow lotuses.”Evolve is based on various talks given by H.H. Radhanath Swami. This is neither an exact transcription nor an overly corrected version.
CIA Super Pilot Spills The Beans: Flying Helicopters in Laos for Air America
Bill Collier - 2017
Captain Collier teamed up with his best Vietnam helicopter pilot buddy, Gary, and the two rascals shared enough true adventure to make any novel seem lame. Flying combat in mountainous and weather-hostile Laos was some of the most challenging ever experienced by any pilot, any time, any war. Making fabulous money and having airline benefits allowed them to live an exotic lifestyle, to travel the world on their monthly R&Rs, and to chase and capture more than a few stewardesses from several different airlines.War correspondent Anne Darling described the helicopter pilots for AIR AMERICA as "CIA Super Pilots" Captain Bill Collier was one of those "Super Pilots." This is his story.
12 Essential Skills for Software Architects
Dave Hendricksen - 2011
In today's agile environments, these "soft" skills have grown even more crucial to success as an architect. For many developers, however, these skills don't come naturally-and they're rarely addressed in formal training. Now, long-time software architect Dave Hendricksen helps you fill this gap, supercharge your organizational impact, and quickly move to the next level in your career. In
12 Essential Skills for Software Architects,
Hendricksen begins by pinpointing the specific relationship, personal, and business skills that successful architects rely upon. Next, he presents proven methods for systematically developing and sharpening every one of these skills, from negotiation and leadership to pragmatism and vision. From start to finish, this book's practical insights can help you get the architect position you want-and thrive once you have it! The soft skills you need... ...and a coherent framework and practical methodology for mastering them! Relationship skills Leadership, politics, gracious behavior, communication, negotiation Personal skills Context switching, transparency, passion Business skills Pragmatism, vision, business knowledge, innovation
Design Patterns: Elements of Reusable Object-Oriented Software
Erich Gamma - 1994
Previously undocumented, these 23 patterns allow designers to create more flexible, elegant, and ultimately reusable designs without having to rediscover the design solutions themselves.The authors begin by describing what patterns are and how they can help you design object-oriented software. They then go on to systematically name, explain, evaluate, and catalog recurring designs in object-oriented systems. With Design Patterns as your guide, you will learn how these important patterns fit into the software development process, and how you can leverage them to solve your own design problems most efficiently. Each pattern describes the circumstances in which it is applicable, when it can be applied in view of other design constraints, and the consequences and trade-offs of using the pattern within a larger design. All patterns are compiled from real systems and are based on real-world examples. Each pattern also includes code that demonstrates how it may be implemented in object-oriented programming languages like C++ or Smalltalk.
The Kubernetes Book: Version 2.2 - January 2018
Nigel Poulton - 2017
Kubernetes has emerged as the hottest and most important container orchestration platform in the world. This book gets you up to speed fast, and it's constantly kept up-to-date!
The Architecture of Open Source Applications
Amy Brown - 2011
In contrast, most software developers only ever get to know a handful of large programs well—usually programs they wrote themselves—and never study the great programs of history. As a result, they repeat one another's mistakes rather than building on one another's successes.This book's goal is to change that. In it, the authors of twenty-five open source applications explain how their software is structured, and why. What are each program's major components? How do they interact? And what did their builders learn during their development? In answering these questions, the contributors to this book provide unique insights into how they think.If you are a junior developer, and want to learn how your more experienced colleagues think, this book is the place to start. If you are an intermediate or senior developer, and want to see how your peers have solved hard design problems, this book can help you too.
DevOps for the Modern Enterprise: Winning Practices to Transform Legacy IT Organizations
Mirco Hering - 2018
I Heart Logs: Event Data, Stream Processing, and Data Integration
Jay Kreps - 2014
Even though most engineers don't think much about them, this short book shows you why logs are worthy of your attention.Based on his popular blog posts, LinkedIn principal engineer Jay Kreps shows you how logs work in distributed systems, and then delivers practical applications of these concepts in a variety of common uses--data integration, enterprise architecture, real-time stream processing, data system design, and abstract computing models.Go ahead and take the plunge with logs; you're going love them.Learn how logs are used for programmatic access in databases and distributed systemsDiscover solutions to the huge data integration problem when more data of more varieties meet more systemsUnderstand why logs are at the heart of real-time stream processingLearn the role of a log in the internals of online data systemsExplore how Jay Kreps applies these ideas to his own work on data infrastructure systems at LinkedIn
Kafka: The Definitive Guide: Real-Time Data and Stream Processing at Scale
Neha Narkhede - 2017
And how to move all of this data becomes nearly as important as the data itself. If you� re an application architect, developer, or production engineer new to Apache Kafka, this practical guide shows you how to use this open source streaming platform to handle real-time data feeds.Engineers from Confluent and LinkedIn who are responsible for developing Kafka explain how to deploy production Kafka clusters, write reliable event-driven microservices, and build scalable stream-processing applications with this platform. Through detailed examples, you� ll learn Kafka� s design principles, reliability guarantees, key APIs, and architecture details, including the replication protocol, the controller, and the storage layer.Understand publish-subscribe messaging and how it fits in the big data ecosystem.Explore Kafka producers and consumers for writing and reading messagesUnderstand Kafka patterns and use-case requirements to ensure reliable data deliveryGet best practices for building data pipelines and applications with KafkaManage Kafka in production, and learn to perform monitoring, tuning, and maintenance tasksLearn the most critical metrics among Kafka� s operational measurementsExplore how Kafka� s stream delivery capabilities make it a perfect source for stream processing systems
Advanced Scala with Cats
Noel Welsh - 2017
This means designing systems as small composable units, expressing constraints and interactions via the type system, and using composition to guide the construction of large systems in a way that maintains the original architectural vision.The book also serves as an introduction to the Cats library. We use abstractions from Cats, and we explain the structure of Cats so you can use it without fear in your own code base. The broad ideas are not specific to Cats, but Cats provides an excellent implementation that is beneficial to learn in its own right.
Sid Meier's Memoir!: A Life in Computer Games
Sid Meier - 2020
Sid Meier’s Memoir! is the story of an obsessive young computer enthusiast who helped launch a multibilliondollar industry. Writing with warmth and ironic humor, Meier describes the genesis of his influential studio, MicroProse, founded in 1982 after a trip to a Las Vegas arcade, and recounts the development of landmark games, from vintage classics like Pirates! and Railroad Tycoon, to Civilization and beyond.Articulating his philosophy that a videogame should be “a series of interesting decisions,” Meier also shares his perspective on the history of the industry, the psychology of gamers, and fascinating insights into the creative process, including his ten rules of good game design.
Scalability Rules: 50 Principles for Scaling Web Sites
Martin L. Abbott - 2011
It's an essential read for anyone dealing with scaling an online business."--Chris Lalonde, VP, Technical Operations and Infrastructure Architecture, Bullhorn "Abbott and Fisher again tackle the difficult problem of scalability in their unique and practical manner. Distilling the challenges of operating a fast-growing presence on the Internet into 50 easy-to understand rules, the authors provide a modern cookbook of scalability recipes that guide the reader through the difficulties of fast growth."--Geoffrey Weber, Vice President, Internet Operations, Shutterfly "Abbott and Fisher have distilled years of wisdom into a set of cogent principles to avoid many nonobvious mistakes."--Jonathan Heiliger, VP, Technical Operations, Facebook "In "The Art of Scalability," the AKF team taught us that scale is not just a technology challenge. Scale is obtained only through a combination of people, process, "and "technology. With "Scalability Rules," Martin Abbott and Michael Fisher fill our scalability toolbox with easily implemented and time-tested rules that once applied will enable massive scale."--Jerome Labat, VP, Product Development IT, Intuit "When I joined Etsy, I partnered with Mike and Marty to hit the ground running in my new role, and it was one of the best investments of time I have made in my career. The indispensable advice from my experience working with Mike and Marty is fully captured here in this book. Whether you're taking on a role as a technology leader in a new company or you simply want to make great technology decisions, "Scalability Rules "will be the go-to resource on your bookshelf."--Chad Dickerson, CTO, Etsy ""Scalability Rules "provides an essential set of practical tools and concepts anyone can use when designing, upgrading, or inheriting a technology platform. It's very easy to focus on an immediate problem and overlook issues that will appear in the future. This book ensures strategic design principles are applied to everyday challenges."--Robert Guild, Director and Senior Architect, Financial Services "An insightful, practical guide to designing and building scalable systems. A must-read for both product-building and operations teams, this book offers concise and crisp insights gained from years of practical experience of AKF principals. With the complexity of modern systems, scalability considerations should be an integral part of the architecture and implementation process. Scaling systems for hypergrowth requires an agile, iterative approach that is closely aligned with product features; this book shows you how."--Nanda Kishore, Chief Technology Officer, ShareThis "For organizations looking to scale technology, people, and processes rapidly or effectively, the twin pairing of "Scalability Rules "and "The Art of Scalability "are unbeatable. The rules-driven approach in "Scalability Rules "makes this not only an easy reference companion, but also allows organizations to tailor the Abbott and Fisher approach to their specific needs both immediately and in the future!"--Jeremy Wright, CEO, BNOTIONS.ca and Founder, b5media 50 Powerful, Easy-to-Use Rules for Supporting Hypergrowth in Any Environment "Scalability Rules" is the easy-to-use scalability primer and reference for every architect, developer, web professional, and manager. Authors Martin L. Abbott and Michael T. Fisher have helped scale more than 200 hypergrowth Internet sites through their consulting practice. Now, drawing on their unsurpassed experience, they present 50 clear, proven scalability rules-and practical guidance for applying them. Abbott and Fisher transform scalability from a "black art" to a set of realistic, technology-agnostic best practices for supporting hypergrowth in nearly any environment, including both frontend and backend systems. For architects, they offer powerful new insights for creating and evaluating designs. For developers, they share specific techniques for handling everything from databases to state. For managers, they provide invaluable help in goal-setting, decision-making, and interacting with technical teams. Whatever your role, you'll find practical risk/benefit guidance for setting priorities-and getting maximum "bang for the buck." - Simplifying architectures and avoiding "over-engineering"- Scaling via cloning, replication, separating functionality, and splitting data sets- Scaling out, not up- Getting more out of databases without compromising scalability- Avoiding unnecessary redirects and redundant double-checking- Using caches and content delivery networks more aggressively, without introducing unacceptable complexity- Designing for fault tolerance, graceful failure, and easy rollback- Striving for statelessness when you can; efficiently handling state when you must- Effectively utilizing asynchronous communication- Learning quickly from mistakes, and much more
Unit Testing: Principles, Practices, and Patterns
Vladimir Khorikov - 2019
You’ll learn to spot which tests are performing, which need refactoring, and which need to be deleted entirely! Upgrade your testing suite with new testing styles, good patterns, and reliable automated testing.
RESTful Web Services
Leonard Richardson - 2007
But can you also build web sites that are usable by machines? That's where the future lies, and that's what RESTful Web Services shows you how to do. The World Wide Web is the most popular distributed application in history, and Web services and mashups have turned it into a powerful distributed computing platform. But today's web service technologies have lost sight of the simplicity that made the Web successful. They don't work like the Web, and they're missing out on its advantages. This book puts the "Web" back into web services. It shows how you can connect to the programmable web with the technologies you already use every day. The key is REST, the architectural style that drives the Web. This book:Emphasizes the power of basic Web technologies -- the HTTP application protocol, the URI naming standard, and the XML markup language Introduces the Resource-Oriented Architecture (ROA), a common-sense set of rules for designing RESTful web services Shows how a RESTful design is simpler, more versatile, and more scalable than a design based on Remote Procedure Calls (RPC) Includes real-world examples of RESTful web services, like Amazon's Simple Storage Service and the Atom Publishing Protocol Discusses web service clients for popular programming languages Shows how to implement RESTful services in three popular frameworks -- Ruby on Rails, Restlet (for Java), and Django (for Python) Focuses on practical issues: how to design and implement RESTful web services and clients This is the first book that applies the REST design philosophy to real web services. It sets down the best practices you need to make your design a success, and the techniques you need to turn your design into working code. You can harness the power of the Web for programmable applications: you just have to work with the Web instead of against it. This book shows you how.