Property-Based Testing with PropEr, Erlang, and ElixirProperty-based testing helps you create better, more solid tests with little code. By using the PropEr framework in both Erlang and Elixir, this book teaches you how to automatically generate test cases, test stateful programs, and change how you design your software for more principled and reliable approaches. You will be able to better explore the problem space, validate the assumptions you make when coming up with program behavior, and expose unexpected weaknesses in your design. PropEr will even show you how to reproduce the bugs it found. With this book, you will be writing efficient property-based tests in no time.
Most tests only demonstrate that the code behaves how the developer expected it to behave, and therefore carry the same blind spots as their authors when special conditions or edge cases show up. Learn how to see things differently with property tests written in PropEr.
Start with the basics of property tests, such as writing stateless properties, and using the d ...
Unreal for Mobile and Standalone VRApply the techniques needed to build VR applications for mobile and standalone head-mounted displays (HMDs) using the Unreal Engine. This book covers the entire VR ecosystem including production tools, Unreal engine, workflows, performance and optimization, and presents two fully-developed projects to reinforce what you've learned. Media designers, CG artists and other creatives will be able to take advantage of real-time engine techniques and easy-to-learn visual scripting logic to turn their creations into immersive and interactive VR worlds.
Gear VR, the Oculus Go and other Android based VR HMDs are becoming exciting new platforms for immersive business presentations, entertainment and educational solutions. The Unreal engine, one of the world's most powerful and popular game engines, is now free to use and has become increasingly popular for real-time visualizations and enterprise solutions in recent years.
With Unreal's powerful blueprint visual scripting system, non-coders ...
Practical HaskellGet a practical, hands-on introduction to the Haskell language, its libraries and environment, and to the functional programming paradigm that is fast growing in importance in the software industry. This book contains excellent coverage of the Haskell ecosystem and supporting tools, include Cabal and Stack for managing projects, HUnit and QuickCheck for software testing, the Spock framework for developing web applications, Persistent and Esqueleto for database access, and parallel and distributed programming libraries.
You'll see how functional programming is gathering momentum, allowing you to express yourself in a more concise way, reducing boilerplate, and increasing the safety of your code. Haskell is an elegant and noise-free pure functional language with a long history, having a huge number of library contributors and an active community. This makes Haskell the best tool for both learning and applying functional programming, and Practical Haskell takes advantage of this to sho ...
Exam Ref MS-100 Microsoft 365 Identity and ServicesPrepare for Microsoft Exam MS-100 - and help demonstrate your real-world mastery of skills and knowledge needed to effectively design, deploy, manage, and secure Microsoft 365 services. Designed for experienced IT professionals, Exam Ref focuses on critical thinking and decision-making acumen needed for success at the Microsoft Certified Expert level.
Focus on the expertise measured by these objectives: Design and implement Microsoft 365 services; Manage user identity and roles; Manage access and authentication; Plan Office 365 workloads and applications.
Exam MS-100 focuses on knowledge needed to manage domains; plan a Microsoft 365 implementation; set up and manage Microsoft 365 tenancy and subscriptions; plan user and data migration; design identity strategy; plan and manage identity synchronization with Azure AD Connect; manage Azure AD identities and user roles; manage authentication; implement MFA; configure application access; implement access for external users of Microso ...
DevOps for Digital LeadersLearn to design, implement, measure, and improve DevOps programs that are tailored to your organization. This concise guide assists leaders who are accountable for the rapid development of high-quality software applications.
In DevOps for Digital Leaders, deep collective experience on both sides of the dev-ops divide informs the global thought leadership and penetrating insights of the authors, all three of whom are cross-portfolio DevOps leaders at CA Technologies. Aruna Ravichandran, Kieran Taylor, and Peter Waterhouse analyze the organizational benefits, costs, freedoms, and constraints of DevOps. They chart the coordinated strategy of organizational change, metrics, lean thinking, and investment that an enterprise must undertake to realize the full potential of DevOps and reach the sweet spot where accelerating code deployments drive increasing customer satisfaction, revenue, and profitability.
Digital leaders are charged to bridge the dev-ops disconnect if their organization ...
Efficient Learning MachinesMachine learning techniques provide cost-effective alternatives to traditional methods for extracting underlying relationships between information and data and for predicting future events by processing existing information to train models. Efficient Learning Machines explores the major topics of machine learning, including knowledge discovery, classifications, genetic algorithms, neural networking, kernel methods, and biologically-inspired techniques.
Mariette Awad and Rahul Khanna's synthetic approach weaves together the theoretical exposition, design principles, and practical applications of efficient machine learning. Their experiential emphasis, expressed in their close analysis of sample algorithms throughout the book, aims to equip engineers, students of engineering, and system designers to design and create new and more efficient machine learning systems. Readers of Efficient Learning Machines will learn how to recognize and analyze the problems that machine learning technol ...
Pro TBBThis open access book is a modern guide for all C++ programmers to learn Threading Building Blocks (TBB). Written by TBB and parallel programming experts, this book reflects their collective decades of experience in developing and teaching parallel programming with TBB, offering their insights in an approachable manner. Throughout the book the authors present numerous examples and best practices to help you become an effective TBB programmer and leverage the power of parallel systems.
Pro TBB starts with the basics, explaining parallel algorithms and C++'s built-in standard template library for parallelism. You'll learn the key concepts of managing memory, working with data structures and how to handle typical issues with synchronization. Later chapters apply these ideas to complex systems to explain performance tradeoffs, mapping common parallel patterns, controlling threads and overhead, and extending TBB to program heterogeneous systems or system-on-chips.
Use Threading Buil ...
A Beginner's Guide to 3D ModelingA Beginner's Guide to 3D Modeling is a project-based, straightforward introduction to computer-aided design (CAD). You'll learn how to use Autodesk Fusion 360, the world's most powerful free CAD software, to model gadgets, 3D print your designs, and create realistic images just like an engineering professional - with no experience required!
Hands-on modeling projects and step-by-step instructions throughout the book introduce fundamental 3D modeling concepts. As you work through the projects, you'll master the basics of parametric modeling and learn how to create your own models, from simple shapes to multipart assemblies. Once you've mastered the basics, you'll learn more advanced modeling concepts like sweeps, lofts, surfaces, and rendering, before pulling it all together to create a robotic arm.
You'll learn how to: Design a moving robotic arm, a door hinge, a teapot, and a 20-sided die; Create professional technical drawings for manufacturing and patent applications; Model sp ...
The Secret Life of ProgramsMany coders are unfamiliar with the underlying technologies that make their programs run. But why should you care when your code appears to work? Because you want it to run well and not be riddled with hard-to-find bugs. You don't want to be in the news because your code had a security problem.
Lots of technical detail is available online but it's not organized or collected into a convenient place. In The Secret Life of Programs, veteran engineer Jonathan E. Steinhart explores - in depth - the foundational concepts that underlie the machine. Subjects like computer hardware, how software behaves on hardware, as well as how people have solved problems using technology over time.
You'll learn: How the real world is converted into a form that computers understand, like bits, logic, numbers, text, and colors; The fundamental building blocks that make up a computer including logic gates, adders, decoders, registers, and memory; Why designing programs to match computer hardware, especia ...
Beginning Azure IoT Edge ComputingUse a step-by-step process to create and deploy your first Azure IoT Edge solution.
Modern day developers and architects in today's cloud-focused world must understand when it makes sense to leverage the cloud. Computing on the edge is a new paradigm for most people. The Azure IoT Edge platform uses many existing technologies that may be familiar to developers, but understanding how to leverage those technologies in an edge computing scenario can be challenging.
Beginning Azure IoT Edge Computing demystifies computing on the edge and explains, through concrete examples and exercises, how and when to leverage the power of intelligent edge computing. It introduces the possibilities of intelligent edge computing using the Azure IoT Edge platform, and guides you through hands-on exercises to make edge computing approachable, understandable, and highly useful.
Through user-friendlydiscussion you will not only understand how to build edge solutions, but also when to build them. By e ...