Database Design and Relational Theory, 2nd Edition
Create database designs that scale, meet business requirements, and inherently work toward keeping your data structured and usable in the face of changing business models and software systems.
This book is about database design theory. Design theory is the scientific foundation for database design just as the relational model is the scientific foundation for database technology in general. Databases lie at the heart of so much of what we do in the computing world that negative impacts of poor design can be extraordinarily widespread.
This second edition includes greatly expanded coverage of exotic and little understood normal forms such as: essential tuple normal form (ETNF), redundancy free normal form (RFNF), superkey normal form (SKNF), sixth normal form (6NF), and domain key normal form (DKNF). Also included are new appendixes, including one that provides an in-depth look into the crucial notion of data consistency. Sequencing of topics has been imp ...
Designing Microservices with Django
Explore microservices using the Python-based Django framework and review the benefits and drawbacks of them. This book will examine what microservices look like, how they talk to each other, and how they are crafted using the Python programming language and the Django web framework.
You'll start by understanding what the key differences are between microservices and monolithic architectures. The book then does a deep dive into how microservices are built and what common models have emerged in our industry. You'll also take an extensive look at communication and ownership patterns and examine methodologies to speed up your architecture evolution by writing less but more distributed code using the Python programming language and the Django web framework.
By the end of the book, you'll have a solid understanding of microservices architectures. Armed with a comprehensive and solid toolset, you can begin working toward systems that are more scalable, resilient, and maintainable. ...
The Design of Web APIs
The Design of Web APIs is a practical, example-packed guide to crafting extraordinary web APIs. Author Arnaud Lauret demonstrates fantastic design principles and techniques you can apply to both public and private web APIs.
An API frees developers to integrate with an application without knowing its code-level details. Whether you're using established standards like REST and OpenAPI or more recent approaches like GraphQL or gRPC, mastering API design is a superskill. It will make your web-facing services easier to consume and your clients - internal and external - happier.
Drawing on author Arnaud Lauret's many years of API design experience, this book teaches you how to gather requirements, how to balance business and technical goals, and how to adopt a consumer-first mindset. It teaches effective practices using numerous interesting examples. ...
Secure by Design
Secure by Design teaches developers how to use design to drive security in software development. This book is full of patterns, best practices, and mindsets that you can directly apply to your real world development. You'll also learn to spot weaknesses in legacy code and how to address them.
Security should be the natural outcome of your development process. As applications increase in complexity, it becomes more important to bake security-mindedness into every step. The secure-by-design approach teaches best practices to implement essential software features using design as the primary driver for security.
Secure by Design teaches you principles and best practices for writing highly secure software. At the code level, you'll discover security-promoting constructs like safe error handling, secure validation, and domain primitives. You'll also master security-centric techniques you can apply throughout your build-test-deploy pipeline, including ...
Design Patterns in .NET
Implement design patterns in .NET using the latest versions of the C# and F# languages. This book provides a comprehensive overview of the field of design patterns as they are used in today's developer toolbox.
Using the C# programming language, Design Patterns in .NET explores the classic design pattern implementation and discusses the applicability and relevance of specific language features for the purpose of implementing patterns. You will learn by example, reviewing scenarios where patterns are applicable. MVP and patterns expert Dmitri Nesteruk demonstrates possible implementations of patterns, discusses alternatives and pattern inter-relationships, and illustrates the way that a dedicated refactoring tool (ReSharper) can be used to implement design patterns with ease.
Know the latest pattern implementations available in C# and F#; Refer to researched and proven variations of patterns; Study complete, self-contained examples including many ...
Cloud Native Patterns
Cloud Native Patterns is your guide to developing strong applications that thrive in the dynamic, distributed, virtual world of the cloud. This book presents a mental model for cloud-native applications, along with the patterns, practices, and tooling that set them apart.
Cloud platforms promise the holy grail: near-zero downtime, infinite scalability, short feedback cycles, fault-tolerance, and cost control. But how do you get there? By applying cloudnative designs, developers can build resilient, easily adaptable, web-scale distributed applications that handle massive user traffic and data loads. Learn these fundamental patterns and practices, and you'll be ready to thrive in the dynamic, distributed, virtual world of the cloud.
With 25 years of experience under her belt, Cornelia Davis teaches you the practices and patterns that set cloud-native applications apart. With realistic examples and expert advice for working with apps, data, services, routing, and more, she shows you ...
Web Design Playground
What makes a website pop, stand out, and feel great to browse? The answer is HTML, CSS, and a little bit of an artistic eye! Without HTML and CSS, every website would just be a few lines of text on a single white page. Even a little understanding of HTML and CSS can help you create web pages that look great and stand out from the crowd, so why wait? Pick up the skills you need to make something awesome today!
Contrary to what you may have heard, learning web design doesn't need to be boring! What you need is something that goes beyond a boring reference book. Web Design Playground takes you step-by-step from writing your first line of HTML to creating interesting, attractive web pages. In this project-based book, you'll use a custom online workspace, the book's companion Playground, to design websites, product pages, photo galleries, and more. Don't worry about setting up your own servers and domain names - the Playground takes care of that for you! You can conc ...
Answers to your most pressing SOA development questions:
How do we start with service modeling? How do we analyze services for better reusability? Who should be involved? How do we create the best architecture model for our organization? This must-read for all enterprise leaders gives you all the answers and tools needed to develop a sound service-oriented architecture in your organization.
"Michael Bell has done it again with a book that will be remembered as a key facilitator of the global shift to Service-Oriented Architecture... With this book, Michael Bell provides that foundation and more-an essential bible for the next generation of enterprise IT."
-Eric Pulier, Executive Chairman, SOA Software
"Michael Bell's insightful book provides common language and techniques for business and technology organizations to take advantage of the SOA paradigm. By focusing modeling techniques on the business problem, Bell provides a way for professionals to work throughout the life cyc ...
Learn to create seamless designs backed by a responsible understanding of the human mind. This book examines how human behavior can be used to integrate your product design into lifestyle, rather than interrupt it, and make decisions for the good of those that are using your product.
Mindful Design introduces the areas of brain science that matter to designers, and passionately explains how those areas affect each human's day-to-day experiences with products and interfaces. You will learn about the neurological aspects and limitations of human vision and perception; about our attachment to harmony and dissonance, such as visual harmony, musical harmony; and about our brain's propensity towards pattern recognition and how we perceive the world cognitively.
In the second half of the book you will focus on the practical application of what you have learned, specific to interaction and interface design. Real-world examples are used throughout so that you can really s ...
Java Program Design
Get a grounding in polymorphism and other fundamental aspects of object-oriented program design and implementation, and learn a subset of design patterns that any practicing Java professional simply must know in today's job climate.
Java Program Design presents program design principles to help practicing programmers up their game and remain relevant in the face of changing trends and an evolving language. The book enhances the traditional design patterns with Java's new functional programming features, such as functional interfaces and lambda expressions. The result is a fresh treatment of design patterns that expands their power and applicability, and reflects current best practice.
The book examines some well-designed classes from the Java class library, using them to illustrate the various object-oriented principles and patterns under discussion. Not only does this approach provide good, practical examples, but you will learn useful l ...
Java Design Patterns, 2nd Edition
Get hands-on experience implementing 26 of the most common design patterns using Java and Eclipse. In addition to Gang of Four (GoF) design patterns, you will also learn about alternative design patterns, and understand the criticisms of design patterns with an overview of anti-patterns. For each pattern you will see at least one real-world scenario, a computer-world example, and a complete implementation including output.
This book has three parts. The first part covers 23 Gang of Four (GoF) design patterns. The second part includes three alternative design patterns. The third part presents criticisms of design patterns with an overview of anti-patterns. You will work through easy-to-follow examples to understand the concepts in depth and you will have a collection of programs to port over to your own projects.
A Q&A session is included in each chapter and covers the pros and cons of each pattern. The last chapter presents FAQs ab ...