Hands-On Dependency Injection in GoHands-On Dependency Injection in Go takes you on a journey, teaching you about refactoring existing code to adopt dependency injection (DI) using various methods available in Go.
Of the six methods introduced in this book, some are conventional, such as constructor or method injection, and some unconventional, such as just-in-time or config injection. Each method is explained in detail, focusing on their strengths and weaknesses, and is followed with a step-by-step example of how to apply it. With plenty of examples, you will learn how to leverage DI to transform code into something simple and flexible. You will also discover how to generate and leverage the dependency graph to spot and eliminate issues. Throughout the book, you will learn to leverage DI in combination with test stubs and mocks to test otherwise tricky or impossible scenarios.
Hands-On Dependency Injection in Go takes a pragmatic approach and focuses heavily on the code, user experience, and how to achieve long-t ...
Mastering Concurrency in PythonPython is one of the most popular programming languages, with numerous libraries and frameworks that facilitate high-performance computing. Concurrency and parallelism in Python are essential when it comes to multiprocessing and multithreading; they behave differently, but their common aim is to reduce the execution time. This book serves as a comprehensive introduction to various advanced concepts in concurrent engineering and programming.
Mastering Concurrency in Python starts by introducing the concepts and principles in concurrency, right from Amdahl's Law to multithreading programming, followed by elucidating multiprocessing programming, web scraping, and asynchronous I/O, together with common problems that engineers and programmers face in concurrent programming. Next, the book covers a number of advanced concepts in Python concurrency and how they interact with the Python ecosystem, including the Global Interpreter Lock (GIL). Finally, you'll learn how to solve real-world con ...
Exploring MicroservicesIn the last few years, microservice-based architecture has become one of the hottest innovations in software and web development. By breaking down your applications into smaller microservices that work together, you can experience a more efficient workflow, enable easier communication between team members, and create a robust, scalable application that is easier to modify and that can handle points of failure without causing the whole app to collapse on itself.
Exploring Microservices is a collection of hand-picked chapters that introduce the concept of microservices, detail what it means to build a microservice-structured application, and provide insights you need to start building your own. Christian Horsdal Gammelgaard, author of Microservices in .NET Core, has selected hands-on topics to show you where to begin in the world of microservices. You'll get an overview of microservices and how they collaborate through commands, queries, and events, and then you'll see what it takes t ...
Learn Programming in Python with Cody JacksonPython is a cross-platform language used by organizations such as Google and NASA. It lets you work quickly and efficiently, allowing you to concentrate on your work rather than the language. Based on his personal experiences when learning to program, Learn Programming in Python with Cody Jackson provides a hands-on introduction to computer programming utilizing one of the most readable programming languages–Python. It aims to educate readers regarding software development as well as help experienced developers become familiar with the Python language, utilizing real-world lessons to help readers understand programming concepts quickly and easily.
The book starts with the basics of programming, and describes Python syntax while developing the skills to make complete programs. In the first part of the book, readers will be going through all the concepts with short and easy-to-understand code samples that will prepare them for the comprehensive application built in parts 2 and 3. Th ...
AWS Lambda in ActionAWS Lambda in Action is an example-driven tutorial that teaches you how to build applications that use an event-driven approach on the back end.
With AWS Lambda, you write your code and upload it to the AWS cloud. AWS Lambda responds to the events triggered by your application or your users, and automatically manages the underlying computer resources for you. Back-end tasks like analyzing a new document or processing requests from a mobile app are easy to implement. Your application is divided into small functions, leading naturally to a reactive architecture and the adoption of microservices.
AWS Lambda in Action is an example-driven tutorial that teaches you how to build applications that use an event-driven approach on the back-end. Starting with an overview of AWS Lambda, the book moves on to show you common examples and patterns that you can use to call Lambda functions from a web page or a mobile app. The second part of the book puts these smaller examples together to build ...
Stylish F#Why just get by in F# when you can program in style! This book goes beyond syntax and into design. It provides F# developers with best practices, guidance, and advice to write beautiful, maintainable, and correct code.
Stylish F# covers every design decision that a developer makes in constructing F# programs, helping you make the most educated and valuable design choices at every stage of code development. You will learn about the design of types and function signatures, the benefits of immutability, and the uses of partial function application. You will understand best practices for writing APIs to be used by F#, C#, and other languages. Each carefully vetted design choice is supported with compelling examples, illustrations, and rationales.
Know why, when, and how to code in immutable style; Use collection functions, piping, and function composition to build working software quickly; Be aware of the techniques available to bring error handling into the mainstream of program log ...
PowerShell Core for Linux Administrators CookbookPowerShell Core, the open source, cross-platform that is based on the open source, cross-platform .NET Core, is not a shell that came out by accident; it was intentionally created to be versatile and easy to learn at the same time. PowerShell Core enables automation on systems ranging from the Raspberry Pi to the cloud.
PowerShell Core for Linux Administrators Cookbook uses simple, real-world examples that teach you how to use PowerShell to effectively administer your environment. As you make your way through the book, you will cover interesting recipes on how PowerShell Core can be used to quickly automate complex, repetitive, and time-consuming tasks. In the concluding chapters, you will learn how to develop scripts to automate tasks that involve systems and enterprise management.
By the end of this book, you will have learned about the automation capabilities of PowerShell Core, including remote management using OpenSSH, cross-platform enterprise management, working with Docke ...
Practical Computer Vision Applications Using Deep Learning with CNNsDeploy deep learning applications into production across multiple platforms. You will work on computer vision applications that use the convolutional neural network (CNN) deep learning model and Python. This book starts by explaining the traditional machine-learning pipeline, where you will analyze an image dataset. Along the way you will cover artificial neural networks (ANNs), building one from scratch in Python, before optimizing it using genetic algorithms.
For automating the process, the book highlights the limitations of traditional hand-crafted features for computer vision and why the CNN deep-learning model is the state-of-art solution. CNNs are discussed from scratch to demonstrate how they are different and more efficient than the fully connected ANN (FCNN). You will implement a CNN in Python to give you a full understanding of the model.
After consolidating the basics, you will use TensorFlow to build a practical image-recognition model that you will deploy to a web s ...
Practical Quantum Computing for DevelopersWrite algorithms and program in the new field of quantum computing. This book covers major topics such as the physical components of a quantum computer: qubits, entanglement, logic gates, circuits, and how they differ from a traditional computer. Also, Practical Quantum Computing for Developers discusses quantum computing in the cloud using IBM Q Experience including: the composer, quantum scores, experiments, circuits, simulators, real quantum devices, and more. You'll be able to run experiments in the cloud on a real quantum device.
Furthermore, this book shows you how to do quantum programming using the QISKit (Quantum Information Software Kit), Python SDK, and other APIs such as QASM (Quantum Assembly). You'll learn to write code using these languages and execute it against simulators (local or remote) or a real quantum computer provided by IBM's Q Experience. Finally, you'll learn the current quantum algorithms for entanglement, random number generation, linear search, integer ...
Reinventing ITIL in the Age of DevOpsDelve into the principles of ITIL and DevOps and examine the similarities and differences. This book re-engineers the ITIL framework to work in DevOps projects without changing its meaning and its original objectives, making it fit for purpose for use in DevOps projects. Reinventing ITIL in the Age of DevOpsshows you the relevance of ITIL since the emergence of DevOps and puts a unique spin on the ITIL service management framework. Along the way you will see that ITIL is a mature service management framework and years of maturity will be lost if it's made invalid.
The ideas, recommendations, and solutions provided in Reinventing ITIL in the Age of DevOps can be leveraged in order to readily develop solutions or create proposals for clients. The ideas in this book can be further expanded to deliver seamless services to DevOps projects.
Discover the basics of ITIL and DevOps; Compare ITIL and DevOps; Understand the structure of a DevOps organization and adapt the ITIL roles to thi ...