Take a look at our Software Development & Engineering books. Shulph carries a great selection of Software Development & Engineering books, and we are always adding more.
Delve deep into the various technical practices, principles, and values of Agile. Key Features Discover the essence of Agile software development and the key principles of software design Explore the fundamental practices of Agile working, including test-driven development (TDD), refactoring, pair programming, and continuous integration Learn and apply the four elements of simple design Book Description The number of popular technical practices has grown exponentially in the last few years. Learning the common fundamental software development practices can help you become a better programmer. This book uses the term Agile as a wide umbrella and covers Agile principles and practices, as well as most methodologies associated with it. You'll begin by discovering how driver-navigator, chess clock, and other techniques used in the pair programming approach introduce discipline while writing code. You'll then learn to safely change the design of your code using refactoring. While learning these techniques, you'll also explore various best practices to write efficient tests. The concluding chapters of the book delve deep into the SOLID principles - the five design principles that you can use to make your software more understandable, flexible and maintainable. By the end of the book, you will have discovered new ideas for improving your software design skills, the relationship within your team, and the way your business works. What you will learn Learn the red, green, refactor cycle of classic TDD and practice the best habits such as the rule of 3, triangulation, object calisthenics, and more Refactor using parallel change and improve legacy code with characterization tests, approval tests, and Golden Master Use code smells as feedback to improve your design Learn the double cycle of ATDD and the outside-in mindset using mocks and stubs correctly in your tests Understand how Coupling, Cohesion, Connascence, SOLID principles, and code smells are all related Improve the understanding of your business domain using BDD and other principles for "doing the right thing, not only the thing right" Who this book is for This book is designed for software developers looking to improve their technical practices. Software coaches may also find it helpful as a teaching reference manual. This is not a beginner's book on how to program. You must be comfortable with at least one programming language and must be able to write unit tests using any unit testing framework.
The essential blueprints and workflow you need to build successful AI business applications Key Features Learn and master the essential blueprints to program AI for real-world business applications Gain insights into how modern AI and machine learning solve core business challenges Acquire practical techniques and a workflow that can build AI applications using state-of-the-art software libraries Work with a practical, code-based strategy for creating successful AI solutions in your business Book Description AI Blueprints gives you a working framework and the techniques to build your own successful AI business applications. You'll learn across six business scenarios how AI can solve critical challenges with state-of-the-art AI software libraries and a well thought out workflow. Along the way you'll discover the practical techniques to build AI business applications from first design to full coding and deployment. The AI blueprints in this book solve key business scenarios. The first blueprint uses AI to find solutions for building plans for cloud computing that are on-time and under budget. The second blueprint involves an AI system that continuously monitors social media to gauge public feeling about a topic of interest - such as self-driving cars. You'll learn how to approach AI business problems and apply blueprints that can ensure success. The next AI scenario shows you how to approach the problem of creating a recommendation engine and monitoring how those recommendations perform. The fourth blueprint shows you how to use deep learning to find your business logo in social media photos and assess how people interact with your products. Learn the practical techniques involved and how to apply these blueprints intelligently. The fifth blueprint is about how to best design a 'trending now' section on your website, much like the one we know from Twitter. The sixth blueprint shows how to create helpful chatbots so that an AI system can understand customers' questions and answer them with relevant responses. This book continuously demonstrates a working framework and strategy for building AI business applications. Along the way, you'll also learn how to prepare for future advances in AI. You'll gain a workflow and a toolbox of patterns and techniques so that you can create your own smart code. What you will learn An essential toolbox of blueprints and advanced techniques for building AI business applications How to design and deploy AI applications that meet today's business needs A workflow from first design stages to practical code solutions in your next AI projects Solutions for AI projects that involve social media analytics and recommendation engines Practical projects and techniques for sentiment analysis and helpful chatbots A blueprint for AI projects that recommend products based on customer purchasing habits How to prepare yourself for the next decade of AI and machine learning advancements Who this book is for Programming AI Business Applications provides an introduction to AI with real-world examples. This book can be read and understood by programmers and students without requiring previous AI experience. The projects in this book make use of Java and Python and several popular and state-of-the-art opensource AI libraries.
Learn how to write automated tests for Dynamics 365 Business Central and see how to implement it in your daily work Key Features Leverage automated testing to advance over traditional manual testing methods Write, design, and implement automated tests Explore various testing frameworks and tools compatible with Microsoft Dynamics 365 Business Central Book Description Dynamics 365 Business Central is the new cloud-based SaaS ERP proposition from Microsoft. It's not as simple as it used to be way back when it was called Navigator, Navision Financials, or Microsoft Business Solutions-Navision. Our development practices are becoming more formal, and with this, the call for test automation is pressing on us. This book will teach you to leverage testing tools available with Dynamics 365 Business Central to perform automated testing. We'll begin with a quick introduction to automated testing, followed by an overview of test automation in Dynamics 365 Business Central. Then you'll learn to design and build automated tests and we'll go through some efficient methods to get from requirements to application and testing code. Lastly, you'll learn to incorporate your own and Microsoft tests into your daily development practice. By the end of the book, you'll be able to write your own automated tests for Dynamics 365 Business Central. What you will learn Understand what automated tests are, and when and why to use them Explore the five pillars of the Testability Framework of Business Central Design and write automated tests for Business Central Make use of standard automated tests and their helper libraries Integrate automated tests into your development practice Who this book is for This book is for consultants, testers, developers, and development managers working with Microsoft Dynamics NAV and Business Central. Being a book on automated testing techniques, it also caters to both functional and technical development teams.
Learn from the AWS subject-matter experts, explore real-world scenarios, and pass the AWS Certified Developer – Associate exam Key Features This fast-paced guide will help you clear the AWS Certified Developer – Associate (DVA-C01) exam with confidence Gain valuable insights to design, develop, and deploy cloud-based solutions using AWS Develop expert core AWS skills with practice questions and mock tests Book Description This book will focus on the revised version of AWS Certified Developer Associate exam. The 2019 version of this exam guide includes all the recent services and offerings from Amazon that benefits developers. AWS Certified Developer - Associate Guide starts with a quick introduction to AWS and the prerequisites to get you started. Then, this book will describe about getting familiar with Identity and Access Management (IAM) along with Virtual private cloud (VPC). Next, this book will teach you about microservices, serverless architecture, security best practices, advanced deployment methods and more. Going ahead we will take you through AWS DynamoDB A NoSQL Database Service, Amazon Simple Queue Service (SQS) and CloudFormation Overview. Lastly, this book will help understand Elastic Beanstalk and will also walk you through AWS lambda. At the end of this book, we will cover enough topics, tips and tricks along with mock tests for you to be able to pass the AWS Certified Developer - Associate exam and develop as well as manage your applications on the AWS platform. What you will learn Create and manage users, groups, and permissions using AWS IAM services Create a secured VPC with Public and Private Subnets, NAC, and Security groups Launching your first EC2 instance, and working with it Handle application traffic with ELB and monitor AWS resources with CloudWatch Work with AWS storage services such as S3, Glacier, and CloudFront Get acquainted with AWS DynamoDB a NoSQL database service Use SWS to coordinate work across distributed application components Who this book is for This book is for IT professionals and developers looking to clear the AWS Certified Developer Associate 2019 exam. Developers looking to develop and manage their applications on the AWS platform will also find this book useful. No prior AWS experience is needed.
Develop high-quality interactive games with the power of Unreal Engine's visual scripting language and Blueprints framework. Key Features - Design a fully functional game in UE4 without writing a single line of code. - Implement visual scripting to develop gameplay mechanics, UI, visual effects, VR and artificial intelligence. - Deploy your game on multiple platforms and share it with the world. Book Description Blueprints is the visual scripting system in Unreal Engine that enables programmers to create baseline systems and can be extended by designers. This book helps you explore all the features of the Blueprint Editor and guides you through using Variables, Macros, and Functions. You'll also learn about object-oriented programming (OOP) and discover the Gameplay Framework. In addition to this, you'll learn how Blueprint Communication allows one Blueprint to access information from another Blueprint. Later chapters will focus on building a fully functional game using a step-by-step approach. You'll start with a basic first-person shooter (FPS) template, and each chapter will build on the prototype to create an increasingly complex and robust game experience. You'll then progress from creating basic shooting mechanics to more complex systems, such as user interface elements and intelligent enemy behavior. The skills you will develop using Blueprints can also be employed in other gaming genres. In the concluding chapters, the book demonstrates how to use arrays, maps, enums, and vector operations. Finally, you'll learn how to build a basic VR game. By the end of this book, you'll have learned how to build a fully functional game and will have the skills required to develop an entertaining experience for your audience. What you will learn: - Understand programming concepts in Blueprints. - Create prototypes and iterate new game mechanics rapidly. - Build user interface elements and interactive menus. - Use advanced Blueprint nodes to manage the complexity of a game. - Explore all the features of the Blueprint editor, such as the Components tab, Viewport, and Event Graph. - Get to grips with object-oriented programming (OOP) concepts and explore the Gameplay Framework. - Learn Virtual Reality development with UE Blueprint. Who this book is for This book is for anyone who is interested in developing games or applications with UE4. Although basic knowledge of Windows OS is required, experience in programming or UE4 is not necessary.
Get up to speed with using C# 8 and .NET Core 3.0 features to build real-world .NET Core applications Key Features Learn the core concepts of web applications, serverless computing, and microservices Create an ASP.NET Core MVC application using controllers, routing, middleware and authentication Build modern applications using cutting-edge services from Microsoft Azure Book Description .NET Core is a general-purpose, modular, cross-platform, and opensource implementation of .NET. The latest release of .NET Core 3 comes with improved performance and security features, along with support for desktop applications. .NET Core 3 is not only useful for new developers looking to start learning the framework, but also for legacy developers interested in migrating their apps. Updated with the latest features and enhancements, this updated second edition is a step-by-step, project-based guide. The book starts with a brief introduction to the key features of C# 8 and .NET Core 3. You'll learn to work with relational data using Entity Framework Core 3, before understanding how to use ASP.NET Core. As you progress, you'll discover how you can use .NET Core to create cross-platform applications. Later, the book will show you how to upgrade your old WinForms apps to .NET Core 3. The concluding chapters will then help you use SignalR effectively to add real-time functionality to your applications, before demonstrating how to implement MongoDB in your apps. Finally, you'll delve into serverless computing and how to build microservices using Docker and Kubernetes. By the end of this book, you'll be proficient in developing applications using .NET Core 3. What you will learn Understand how to incorporate the Entity Framework Core 3 to build ASP.NET Core MVC applications Create a real-time chat application using Azure's SignalR service Gain hands-on experience of working with Cosmos DB Develop an Azure Function and interface it with an Azure Logic App Explore user authentication with Identity Server and OAuth2 Understand how to use Azure Cognitive Services to add advanced functionalities with minimal code Get to grips with running a .NET Core application with Kubernetes Who this book is for This book is for developers and programmers of all levels who want to build real-world projects and explore the new features of .NET Core 3. Developers working on legacy desktop software who are looking to migrate to .NET Core 3 will also find this book useful. Basic knowledge of .NET Core and C# is assumed.
Learn when and how to use Clojure's polymorphic features to develop efficient multithreaded applicationsKey FeaturesGet to grips with the different polymorphic tools that Clojure offersDevelop a taste for good Clojure designs through various engaging examplesStudy various design principles and learn ways to use them in your applicationsBook DescriptionClojure is a modern, dynamic language that you can use to develop robust, multithreaded programs. Clojure Polymorphism is a comprehensive guide that shows you how to use Clojure's features to your advantage.The book begins by describing examples that show how to define and implement abstractions with plain functions and multimethods. Then you'll analyze these examples and separate the good and bad aspects of their design principles. You'll also learn how to perform data transformation abstraction with a plain function and discover how to write new cross-platform predicates while keeping the core of your abstraction free from reader conditionals. The later chapters explain the considerations to keep in mind when implementing Clojure protocols on the Java Virtual Machine (JVM).By the end of this book, you'll know how to use the various polymorphic tools of Clojure to your advantage while designing your applications.What you will learnExplore how polymorphism is implemented in ClojureDiscover what design principles to use when creating and implementing abstractionsExplore different ways to implement protocols in ClojureImplement various design principles while working with the JVMWrite and compare plain functions and multimethods for transforming data Analyze functions and abstractions for their performance and flexibilityLearn about common “gotchas” to avoid errors when writing codeWho this book is forClojure Polymorphism is useful for all programmers who want to leverage Clojure's polymorphic tools to build efficient applications. To get the most out of this book, you must be a moderately proficient Clojure programmer.
Learn CMake through a series of task-based recipes that provide you with practical, simple, and ready-to-use CMake solutions for your code Key Features Learn to configure, build, test, and package software written in C, C++, and Fortran Progress from simple to advanced tasks with examples tested on Linux, macOS, and Windows Manage code complexity and library dependencies with reusable CMake building blocks Book Description CMake is cross-platform, open-source software for managing the build process in a portable fashion. This book features a collection of recipes and building blocks with tips and techniques for working with CMake, CTest, CPack, and CDash. CMake Cookbook includes real-world examples in the form of recipes that cover different ways to structure, configure, build, and test small- to large-scale code projects. You will learn to use CMake's command-line tools and master modern CMake practices for configuring, building, and testing binaries and libraries. With this book, you will be able to work with external libraries and structure your own projects in a modular and reusable way. You will be well-equipped to generate native build scripts for Linux, MacOS, and Windows, simplify and refactor projects using CMake, and port projects to CMake. What you will learn Configure, build, test, and install code projects using CMake Detect operating systems, processors, libraries, files, and programs for conditional compilation Increase the portability of your code Refactor a large codebase into modules with the help of CMake Build multi-language projects Know where and how to tweak CMake configuration files written by somebody else Package projects for distribution Port projects to CMake Who this book is for If you are a software developer keen to manage build systems using CMake or would like to understand and modify CMake code written by others, this book is for you. A basic knowledge of C++, C, or Fortran is required to understand the topics covered in this book.