Adaptive Code, 2nd EditionBy applying this book's principles, you can create code that accommodates new requirements and unforeseen scenarios without significant rewrites. Gary McLean Hall describes Agile best practices, principles, and patterns for designing and writing code that can evolve more quickly and easily, with fewer errors, because it doesn't impede change.
Now revised, updated, and expanded, Adaptive Code, Second Edition adds indispensable practical insights on Kanban, dependency inversion, and creating reusable abstractions. Drawing on over a decade of Agile consulting and development experience, McLean Hall has updated his best-seller with deeper coverage of unit testing, refactoring, pure dependency injection, and more.
Master powerful new ways to: Write code that enables and complements Scrum, Kanban, or any other Agile framework; Develop code that can survive major changes in requirements; Plan for adaptability by using dependencies, layering, interfaces, and design patterns; Perform unit ...
C# and .NET Core Test Driven DevelopmentThis book guides developers to create robust, production-ready C# 7 and .NET Core applications through the practice of test-driven development process.
In C# and .NET Core Test-Driven Development, you will learn the different stages of the TDD life cycle, basics of TDD, best practices, and anti-patterns. It will teach you how to create an ASP.NET Core MVC sample application, write testable code with SOLID principles and set up a dependency injection for your sample application. Next, you will learn the xUnit testing framework and learn how to use its attributes and assertions. You'll see how to create data-driven unit tests and mock dependencies in your code. You will understand the difference between running and debugging your tests on .NET Core on LINUX versus Windows and Visual Studio. As you move forward, you will be able to create a healthy continuous integration process for your sample application using GitHub, TeamCity, Cake, and Microsoft VSTS.
By the end of this book, yo ...
Elemental Design PatternsEven experienced software professionals find it difficult to apply patterns in ways that deliver substantial value to their organizations. In Elemental Design Patterns, Jason McC. Smith addresses this problem head-on, helping developers harness the true power of patterns, map them to real software implementations more cleanly and directly, and achieve far better results. Part tutorial, part example-rich cookbook, this resource will help developers, designers, architects, and analysts successfully use patterns with a wide variety of languages, environments, and problem domains. Every bit as important, it will give them a deeper appreciation for the work they've chosen to pursue.
Smith presents the crucial missing link that patterns practitioners have needed: a foundational collection of simple core patterns that are broken down to their core elements. If you work in software, you may already be using some of these elemental design patterns every day. Presenting them in a comprehensiv ...
101 Design Ingredients to Solve Big Tech ProblemsOne page, one ingredient. 101 reasons to become more successful at solving those big technology problems. 101 Design Ingredients will help your technology team identify problems, share responsibilities, and work better together.
In this book you'll find 101 problem-solving ingredients grouped into project stages, to help you apply the right ingredient at the right time. Start at any point and page through the humorously illustrated ingredients until you find one that matches your needs best. The ingredients cover the spectrum your business needs to be successful, with tips on team-building, creating a business model, product launch, productivity, and much more. Each ingredient includes three practical suggestions to get you started right away. ...
Computing the EnvironmentComputing the Environment presents practical workflows and guidance for designers to get feedback on their design using digital design tools on environmental performance. Starting with an extensive state-of-the-art survey of what top international offices are currently using in their design projects, this book presents detailed descriptions of the tools, algorithms, and workflows used and discusses the theories that underlie these methods. Project examples from Transsolar Klimaengineering, Buro Happold's SMART Group, Behnish Behnisch Architects, Thomas Herzog, Autodesk Research are contextualized with quotes and references to key thinkers in this field such as Eric Winsberg, Andrew Marsh, Michelle Addington and Ali Malkawi. ...
Introductory Relational Database Design for BusinessRelational databases represent one of the most enduring and pervasive forms of information technology. Yet most texts covering relational database design assume an extensive, sophisticated computer science background. There are texts on relational database software tools like Microsoft Access that assume less background, but they focus primarily on details of the user interface, with inadequate coverage of the underlying design issues of how to structure databases. Growing out of Professor Jonathan Eckstein's twenty years experience teaching courses on management information systems (MIS) at Rutgers Business School, this book fills this gap in the literature by providing a rigorous introduction to relational databases for readers without prior computer science or programming experience.
Relational Database Design for Business, with Microsoft Access helps readers to quickly develop a thorough, practical understanding of relational database design. It takes a step-by-step, real-world ...
Python Testing Cookbook, 2nd EditionAutomated testing is the best way to increase efficiency while reducing the defects of software testing. It helps find bugs in code easily and at an early stage so that they can be tackled efficiently. This book delves into essential testing concepts used in Python to help you build robust and maintainable code.
Python Testing Cookbook begins with a brief introduction to Python's unit testing framework to help you write automated test cases. You will learn how to write suitable test sets for your software and run automated test suites with Nose. You will then work with the unittest.mock library, which allows you to replace the parts of your system that are being tested with mock objects and make assertions about how they have been used. You will also see how to apply Test-driven Development (TDD) and Behavior-driven Development (BDD) and how to eliminate issues caused by TDD. The book explains how to integrate automated tests using Continuous Integration and perform smoke/load testi ...
Hands-On Microservices with C#C# is a powerful language when it comes to building applications and software architecture using rich libraries and tools such as .NET.
This book will harness the strength of C# in developing microservices architectures and applications.
This book shows developers how to develop an enterprise-grade, event-driven, asynchronous, message-based microservice framework using C#, .NET, and various open source tools. We will discuss how to send and receive messages, how to design many types of microservice that are truly usable in a corporate environment. We will also dissect each case and explain the code, best practices, pros and cons, and more.
Through our journey, we will use many open source tools, and create file monitors, a machine learning microservice, a quantitative financial microservice that can handle bonds and credit default swaps, a deployment microservice to show you how to better manage your deployments, and memory, health status, and other microservices. By the end o ...
Domain EngineeringDomain engineering is a set of activities intended to develop, maintain, and manage the creation and evolution of an area of knowledge suitable for processing by a range of software systems. It is of considerable practical significance, as it provides methods and techniques that help reduce time-to-market, development costs, and project risks on one hand, and helps improve system quality and performance on a consistent basis on the other.
In this book, the editors present a collection of invited chapters from various fields related to domain engineering. ...
Game AnalyticsDeveloping a successful game in today's market is a challenging endeavor. Thousands of titles are published yearly, all competing for players' time and attention. Game analytics has emerged in the past few years as one of the main resources for ensuring game quality, maximizing success, understanding player behavior and enhancing the quality of the player experience. It has led to a paradigm shift in the development and design strategies of digital games, bringing data-driven intelligence practices into the fray for informing decision making at operational, tactical and strategic levels.
Game Analytics - is the first book on the topic of game analytics; the process of discovering and communicating patterns in data towards evaluating and driving action, improving performance and solving problems in game development and game research. ...