The Design of Web APIsThe 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. ...
Database Design and Relational Theory, 2nd EditionCreate 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 improved, and many explanation ...
Object Design Style GuideObjects are the central concept of languages like Java, Python, C#. Applying best practices for object design means that your code will be easy to read, write, and maintain. Object Design Style Guide captures dozens of techniques for creating pro-quality OO code that can stand the test of time. Examples are in an instantly familiar pseudocode, teaching techniques you can apply to any OO language, from C++ to PHP.
Well-written OO code is a pleasure to read, modify, and debug. Elevate your coding style by mastering the universal best practices for object design presented in this book. These clearly presented rules, which apply to any OO language, maximize the clarity and durability of your codebase and increase productivity for you and your team.
Object Design Style Guide presents dozens of professional techniques for writing OO code. In it, veteran developer Matthias Noback lays out design rules for constructing objects, defining methods, changing and exposing state, and much more ...
Functional Design Patterns for Express.jsReady to design Node.js backends that scale elegantly with new features and are a pleasure to maintain? Learn to apply functional programming patterns that transcend Express.js - these ideas are found in exceptional production codebases of all kinds. Whether you're a seasoned back-end developer, front-end developer or recent web boot camp graduate, this step-by-step guide is for you.
This work was written and produced entirely by the author. We are proud to be distributing it.
Express is arguably the ubiquitous library for building Node backends. As of mid-2019, it is a dependency of 3.75 million codebases on Github alone. So if you hop into a Node codebase, chances are Express is part of it.
Starting from an empty directory, we'll build a full-featured Express backend together and intentionally bump into codebase growing pains to motivate functional design patterns and Express features.
With this book, you'll: Learn Express.js by building a pure backend with authenticatio ...
Design for How People ThinkUser experience doesn't happen on a screen; it happens in the mind, and the experience is multidimensional and multisensory. This practical book will help you uncover critical insights about how your customers think so you can create products or services with an exceptional experience.
Corporate leaders, marketers, product owners, and designers will learn how cognitive processes from different brain regions form what we perceive as a singular experience. Author John Whalen shows you how anyone on your team can conduct "contextual interviews" to unlock insights. You'll then learn how to apply that knowledge to design brilliant experiences for your customers.
Learn about the "six minds" of user experience and how each contributes to the perception of a singular experience; Find out how your team - without any specialized training in psychology - can uncover critical insights about your customers' conscious and unconscious processes; Learn how to immediately apply what you've learne ...
Designing Interfaces, 3rd EditionDesigning good application interfaces isn't easy now that companies need to create compelling, seamless user experiences across an exploding number of channels, screens, and contexts. In this updated third edition, you'll learn how to navigate through the maze of design options. By capturing UI best practices as design patterns, this best-selling book provides solutions to common design problems.
You'll learn patterns for mobile apps, web applications, and desktop software. Each pattern contains full-color examples and practical design advice you can apply immediately. Experienced designers can use this guide as an idea sourcebook, and novices will find a road map to the world of interface and interaction design.
Understand your users before you start designing; Build your software's structure so it makes sense to users; Design components to help users complete tasks on any device; Learn how to promote wayfinding in your software; Place elements to guide users to information and ...
Architecture Patterns with PythonAs Python continues to grow in popularity, projects are becoming larger and more complex. Many Python developers are taking an interest in high-level software design patterns such as hexagonal/clean architecture, event-driven architecture, and the strategic patterns prescribed by domain-driven design (DDD). But translating those patterns into Python isn't always straightforward.
With this hands-on guide, Harry Percival and Bob Gregory from MADE.com introduce proven architectural design patterns to help Python developers manage application complexity - and get the most value out of their test suites.
Each pattern is illustrated with concrete examples in beautiful, idiomatic Python, avoiding some of the verbosity of Java and C# syntax. Patterns include: Dependency inversion and its links to ports and adapters (hexagonal/clean architecture); Domain-driven design's distinction between Entities, Value Objects, and Aggregates; Repository and Unit of Work patterns for persistent storag ...
Laws of UXAn understanding of psychology - specifically the psychology behind how users behave and interact with digital interfaces - is perhaps the single most valuable nondesign skill a designer can have. The most elegant design can fail if it forces users to conform to the design rather than working within the "blueprint" of how humans perceive and process the world around them. This practical guide explains how you can apply key principles in psychology to build products and experiences that are more intuitive and human-centered. Author Jon Yablonski deconstructs familiar apps and experiences to provide clear examples of how UX designers can build experiences that adapt to how users perceive and process digital interfaces.
You'll learn: How aesthetically pleasing design creates positive responses; The principles from psychology most useful for designers; How these psychology principles relate to UX heuristics; Predictive models including Fitts's law, Jakob's law, and Hick's law; Ethical i ...
Unlocking Blockchain on AzureDesign, architect, and build Blockchain applications with Azure in industrial scenarios to revolutionize conventional processes and data security. This book will empower you to build better decentralized applications that have stronger encryption, better architectures, and effective deployment structures over the cloud.
You'll start with an overview of Blockchain, distributed networks, Azure components in Blockchain, such as Azure Workbench, and independent Blockchain-as-a-service solutions. Next, you'll move on to aspects of Blockchain transactions where the author discusses encryption and distribution along with practical examples. You'll cover permissioned Blockchains and distributed ledgers with the help of use cases of financial institutions, followed by code and development aspects of smart contracts. Here, you will learn how to utilise the templates provided by Azure Resource Manager to quickly develop an Ethereum-based smart contract.
Further, you will go through Blockcha ...
The Data Science Design ManualThis engaging and clearly written textbook/reference provides a must-have introduction to the rapidly emerging interdisciplinary field of data science. It focuses on the principles fundamental to becoming a good data scientist and the key skills needed to build systems for collecting, analyzing, and interpreting data. The Data Science Design Manual is a source of practical insights that highlights what really matters in analyzing data, and provides an intuitive understanding of how these core concepts can be used. The book does not emphasize any particular programming language or suite of data-analysis tools, focusing instead on high-level discussion of important design principles. This easy-to-read text ideally serves the needs of undergraduate and early graduate students embarking on an "Introduction to Data Science" course. It reveals how this discipline sits at the intersection of statistics, computer science, and machine learning, with a distinct heft and character of its own. Pra ...