||Design Patterns in Modern C++|
Apply modern C++17 to the implementations of classic design patterns. As well as covering traditional design patterns, this book fleshes out new patterns and approaches that will be useful to C++ developers. The author presents concepts as a fun investigation of how problems can be solved in different ways, along the way using varying degrees of technical sophistication and explaining different sorts of trade-offs.
Design Patterns in Modern C++ also provides a technology demo for modern C++, showcasing how some of its latest features (e.g., coroutines) make difficult problems a lot easier to solve. The examples in this book are all suitable for putting into production, with only a few simplifications made in order to aid readability.
Apply design patterns to modern C++ programming; Use creational patterns of builder, factories, prototype and singleton; Implement structural patterns such as adapter, bridge, decorator, facade and more; Work with the beha ...
||Designing Across Senses|
Today we have the ability to connect speech, touch, haptic, and gestural interfaces into products that engage several human senses at once. This practical book explores examples from current designers and devices to describe how these products blend multiple interface modes together into a cohesive user experience.
Authors Christine Park and John Alderman explain the basic principles behind multimodal interaction and introduce the tools you need to root your design in the ways our senses shape experience. This book also includes guides on process, design and deliverables to help your team get started.
The book covers several topics within multimodal design including: New Human Factors - learn how human sensory abilities allow us to interact with technology and the physical world; New Technologies - explore some of the technologies that enable multimodal interactions, products, and capabilities; Multimodal Products - examine different categories of products an ...
||Domain Modeling Made Functional|
Domain-driven design is a well-established approach to designing software that ensures that domain experts and developers work together effectively to create high-quality software. This book is the first to combine DDD with techniques from statically typed functional programming. This book is perfect for newcomers to DDD or functional programming—all the techniques you need will be introduced and explained.
Model a complex domain accurately using the F# type system, creating compilable code that is also readable documentation—ensuring that the code and design never get out of sync. Encode business rules in the design so that you have “compile-time unit tests,” and eliminate many potential bugs by making illegal states unrepresentable. Assemble a series of small, testable functions into a complete use case, and compose these individual scenarios into a large-scale design. Discover why the combination of functional programming and DDD leads naturally to se ...
||Release It! 2nd Edition|
If you're a software developer, and you don't want to get alerts every night for the rest of your life, help is here. With a combination of case studies about huge losses - lost revenue, lost reputation, lost time, lost opportunity - and practical, down-to-earth advice that was all gained through painful experience, this book helps you avoid the pitfalls that cost companies millions of dollars in downtime and reputation. Eighty percent of project life-cycle cost is in production, yet few books address this topic.
This updated edition deals with the production of today's systems - larger, more complex, and heavily virtualized - and includes information on chaos engineering, the discipline of applying randomness and deliberate stress to reveal systematic problems. Build systems that survive the real world, avoid downtime, implement zero-downtime upgrades and continuous delivery, and make cloud-native applications resilient. Examine ways to architect, design and build software - ...
||Designing Web APIs|
Designing an API is complicated to begin with, but evolving your API design over time makes the process even more difficult. There are several books on the topic, but none that guide you through key decisions for designing and building APIs for specific audiences and types of products. Well, until now, that is.
Using case studies from companies such as Slack, Stripe, Facebook, and Github, this practical guide shows you how to navigate complex decisions when building, scaling, and evolving your own APIs. You'll learn best practices for designing APIs that developers will love, and discover how to evolve your APIs as your product grows.
Developers, architects, tech leads, product managers, and engineering managers will:Examine strategies to expose data through web APIs, using webhooks, websockets, and HTTP;Learn how to evolve APIs while keeping them consistent;Be able to scale APIs with pagination and rate limiting;Handle security, performa ...
||Designing Distributed Systems|
In the race to compete in today's fast-moving markets, large enterprises are busy adopting new technologies for creating new products, processes, and business models. But one obstacle on the road to digital transformation is placing too much emphasis on technology, and not enough on the types of processes technology enables. What if different lines of business could build their own services and applications - and decision-making was distributed rather than centralized?
This report explores the concept of a digital business platform as a way of empowering individual business sectors to act on data in real time. Much innovation in a digital enterprise will increasingly happen at the edge, whether it involves business users (from marketers to data scientists) or IoT devices. To facilitate the process, your core IT team can provide these sectors with the digital tools they need to innovate quickly.
This report explores: Key cultural and organizational changes for developing business ...
||Learning Web Design, 5th Edition|
Ideal for beginners seeking a design-centric introduction to HTML and related standards, this practical book helps you: Learn the site development process from start to finish; Create a simple (X)HTML page, including links and images; Explore text formatting, colors and backgrounds, page layout, and more in CSS; Get your pages on the web, with information on hosting, domain names, and FTP. ...
||Microsoft Azure Cosmos DB Revealed|
Learn the main features of Azure Cosmos DB and how to use Microsoft's multi-modal database service as a data store for mission-critical applications. The clear examples help in writing your own applications to take advantage of Cosmos DB's multi-modal, globally distributed, elastic database. Simple step-by-step instructions show how to resolve common and uncommon scenarios involving Azure Cosmos DB, and scenarios such as delivering extremely low response times (in the order of milliseconds), and scaling rapidly and globally.
Microsoft Azure Cosmos DB Revealed demonstrates a multitude of possible implementations to get you started. This book guides you toward best practices to get the most out of Microsoft's Cosmos DB service. Later chapters in the book cover advanced implementation features, helping you master important elements such as securing the database, querying, and using various APIs.
Set up a development environment to work with Azure Cosmos DB; Configure Azure Cosmos DB ...
||Modern API Design with ASP.NET Core 2|
Use ASP.NET Core 2 to create durable and cross-platform web APIs through a series of applied, practical scenarios. Examples in this book help you build APIs that are fast and scalable. You'll progress from the basics of the framework through to solving the complex problems encountered in implementing secure RESTful services. The book is packed full of examples showing how Microsoft's ground-up rewrite of ASP.NET Core 2 enables native cross-platform applications that are fast and modular, allowing your cloud-ready server applications to scale as your business grows.
Major topics covered in the book include the fundamentals and core concepts of ASP.NET Core 2. You'll learn about building RESTful APIs with the MVC pattern using proven best practices and following the six principles of REST. Examples in the book help in learning to develop world-class web APIs and applications that can run on any platform, including Windows, Linux, and MacOS. You can even deploy to Microsoft Azure and a ...
||Pro iPhone Development with Swift 4|
Acquire and master the information required to take you to the next level beyond basic iPhone development using Swift.
In this follow up work to the best selling Beginning iPhone Development with Swift, you'll learn how to improve your apps by managing the performance of your programs using parallelization, getting data in and out of the cloud, using gestures, the camera, 3D touch, sensors as well as newer features having debuted this year.
In its fourth edition, Pro iPhone Development with Swift 4 covers the additional information you want to know to extend your apps into the next level. ...
||Software Design X-Rays|
Are you working on a codebase where cost overruns, death marches, and heroic fights with legacy code monsters are the norm? Battle these adversaries with novel ways to identify and prioritize technical debt, based on behavioral data from how developers work with code. And that's just for starters. Because good code involves social design as well as technical design you can find surprising dependencies between people and code to resolve coordination bottlenecks among teams. Best of all, the techniques build on behavioral data that you already have: your version-control system. Join the fight for better code!
Use statistics and data science to uncover both problematic code and the behavioral patterns of the developers who build your software. This combination gives you insights you can't get from the code alone. Use these insights to prioritize refactoring needs, measure their effect, find implicit dependencies between different modules, and automatically create knowledg ...