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 ...
UX for Developers
Become more mindful of the user when building digital products, and learn how to integrate a user-centered approach into your thinking as a web or app developer. This book shows you how the user experience is the responsibility of everyone involved in creating the product and how to redefine development principles when building user-centered digital products.
There are still many organizations that are not design driven, and the gap between stereotypical design and development teams needs to be bridged in order to build digital products that cater to the needs of real people. We are at a point where we see organizations that cannot bring the user experience into their core thinking falling behind their competitors. You'll see how to increase the level of UX maturity within any organization by tackling what is possibly the biggest stumbling block that stands between design and development: putting user needs ahead of system efficiency.
UX for Developers shows ...
Learn the critical tips and techniques to make using Xcode for the iPhone, iPad, or Mac easier, and even fun. Explore the features and functionality of Xcode you may not have heard of. Go under the hood to discover how projects really work, so when they stop working, you'll know how to fix them. Explore the common problems developers face when using Xcode, and find out how to get the most out of your IDE. Dig into Xcode, and you'll discover it's richer and more powerful than you might have thought.
Get a huge productivity boost by working with Xcode instead of against it. Instead of hacky code fixes and manual processes, once you know the the why and how of Xcode's process, you'll discover that doing things Xcode's way makes your app development more elegant and less aggravating.
Explore the major features of Xcode: project management, building UIs with storyboards, code editing, compiling apps, fixing bugs and performance problems, unit- and UI testing, and source code managemen ...