Designing Interfaces, 3rd Edition
Designing 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 ...
Artificial Intelligence By Example, 2nd Edition
Artificial intelligence (AI) has the potential to replicate humans in every field. Artificial Intelligence By Example, Second Edition serves as a starting point for you to understand how AI is built, with the help of intriguing and exciting examples.
This book will make you an adaptive thinker and help you apply concepts to real-world scenarios. Using some of the most interesting AI examples, right from computer programs such as a simple chess engine to cognitive chatbots, you will learn how to tackle the machine you are competing with. You will study some of the most advanced machine learning models, understand how to apply AI to blockchain and Internet of Things (IoT), and develop emotional quotient in chatbots using neural networks such as recurrent neural networks (RNNs) and convolutional neural networks (CNNs).
This edition also has new examples for hybrid neural networks, combining reinforcement learning (RL) and deep learning (DL), chained algorithms, combining unsupervise ...
Design for How People Think
User 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 ...
Designing Elixir Systems with OTP
You know how to code in Elixir; now learn to think in it. Learn to design libraries with intelligent layers that shape the right data structures, flow from one function into the next, and present the right APIs. Embrace the same OTP that's kept our telephone systems reliable and fast for over 30 years. Move beyond understanding the OTP functions to knowing what's happening under the hood, and why that matters. Using that knowledge, instinctively know how to design systems that deliver fast and resilient services to your users, all with an Elixir focus.
Elixir is gaining mindshare as the programming language you can use to keep your software running forever, even in the face of unexpected errors and an ever growing need to use more processors. This power comes from an effective programming language, an excellent foundation for concurrency and its inheritance of a battle-tested framework called the OTP.
If you're using frameworks like Phoenix or Nerves, you're already ...
Functional Design Patterns for Express.js
Ready 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 ...
Object Design Style Guide
Objects 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, changin ...
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 ...