How To Manage Remote Servers with AnsibleThis book is designed to introduce you to using Ansible to manage your servers. You'll learn how to install and configure Ansible on a control node, and then how to use it to configure and run commands on remote servers. You'll also learn how to collect tasks into complete Playbooks to automate server setup from start to finish.
The topics that it covers include how to:
- Become familiar with configuration management tools and processes, and the benefits of using them to manage your infrastructure.
- Install and configure Ansible on an Ubuntu 20.04 control node, ensuring that your servers are properly set up and that you are able to execute remote instructions through Ansible.
- Build inventory files and organize your servers into groups to selectively control how and where Ansible commands are run.
- Run Ad Hoc commands to execute individual tasks on one, or multiple remote servers.
- Package individual commands into Playbooks that you can use to automate the provisioning of m ...
GraphQL in ActionReduce bandwidth demands on your APIs by getting only the results you need - all in a single request! The GraphQL query language simplifies interactions with web servers, enabling smarter API queries that can hugely improve the efficiency of data requests. In GraphQL in Action, you'll learn how to bring those benefits to your own APIs, giving your clients the power to ask for exactly what they need from your server, no more, no less. Practical and example-driven, this book teaches everything you need to get started with GraphQL - from design principles and syntax right through to performance optimization.
GraphQL APIs are fast, efficient, and easy to maintain. They reduce app latency and server cost while boosting developer productivity. This powerful query layer offers precise control over API requests and returns, making apps faster and less prone to error.
GraphQL in Action gives you the tools to get comfortable with the GraphQL language, build and optimize a data API service, ...
GitOps and KubernetesGitOps and Kubernetes introduces a radical idea - managing your infrastructure with the same Git pull requests you use to manage your codebase. In this in-depth tutorial, you'll learn to operate infrastructures based on powerful-but-complex technologies such as Kubernetes with the same Git version control tools most developers use daily. With these GitOps techniques and best practices, you'll accelerate application development without compromising on security, easily roll back infrastructure changes, and seamlessly introduce new team members to your automation process.
With GitOps you use the Git version control system to organize and manage your infrastructure just like any other codebase. It's an excellent model for applications deployed as containers and pods on Kubernetes.
GitOps and Kubernetes teaches you how to use Git and the GitOps methodology to manage a Kubernetes cluster. The book interleaves theory with practice, presenting core Ops concepts alongside easy-to-implemen ...
React Hooks in ActionBuild stylish, slick, and speedy-to-load user interfaces in React without writing custom classes. React Hooks are a new category of functions that help you to manage state, lifecycle, and side effects within functional components. React Hooks in Action teaches you to use pre-built hooks like useState, useReducer and useEffect to build your own hooks. Your code will be more reusable, require less boilerplate, and you'll instantly be a more effective React developer.
Get started with React Hooks and you'll soon have code that's better organized and easier to maintain. React Hooks are targeted JavaScript functions that let you reuse and share functionality across components. Use them to split components into smaller functions, manage state and side effects, and access React features without classes - all without having to rearrange your component hierarchy.
React Hooks in Action teaches you to write fast and reusable React components using Hooks. You'll start by learning to create c ...
Data Pipelines with Apache AirflowA successful pipeline moves data efficiently, minimizing pauses and blockages between tasks, keeping every process along the way operational. Apache Airflow provides a single customizable environment for building and managing data pipelines, eliminating the need for a hodgepodge collection of tools, snowflake code, and homegrown processes. Using real-world scenarios and examples, Data Pipelines with Apache Airflow teaches you how to simplify and automate data pipelines, reduce operational overhead, and smoothly integrate all the technologies in your stack.
Data pipelines manage the flow of data from initial collection through consolidation, cleaning, analysis, visualization, and more. Apache Airflow provides a single platform you can use to design, implement, monitor, and maintain your pipelines. Its easy-to-use UI, plug-and-play options, and flexible Python scripting make Airflow perfect for any data management task.
Data Pipelines with Apache Airflow teaches you how to build an ...
Testing JavaScript ApplicationsAutomated testing will help you write high-quality software in less time, with more confidence, fewer bugs, and without constant manual oversight. Testing JavaScript Applications is a guide to building a comprehensive and reliable JS application testing suite, covering both how to write tests and how JS testing tools work under the hood. You'll learn from Lucas de Costa, a core contributor to popular JS testing libraries, as he shares a quality mindset for making testing decisions that deliver a real contribution to your business. You'll benefit from informative explanations and diagrams, easily-transferable code samples, and useful tips on using the latest and most consolidated libraries and frameworks of the JavaScript ecosystem.
Automated testing is essential to delivering good JavaScript applications every time. A complete testing strategy needs to cover functions in isolation, integration between different parts of your code, and correctness from the end user's perspective. Thi ...
Java-Based Real-Time ProgrammingDevelopment of embedded software has for some years mainly been carried out by hardware-aware programming using the C-language, and in some cases even in assembly languages. This works well in simple cases when the application demands and the hardware are known at design time, and the size of the (statically defined) software is small. When applications increase in size and must be rapidly developed (time to market), and perhaps need to be on-line upgradeable, more programming support is needed. In particular, for critical applications (safety critical as in an airplane, mission critical as in space/military/nuclear tasks, economically critical if the survival of the company depends on the reliability of the computer system, etc.) special measures must be taken to limit the possible (faulty) influences of one software function on another part of the system. Therefore, we have to abandon programming in C or C++ for large/complex systems. Instead, we have to base the core development on ...
Generative AI with Python and TensorFlow 2In recent years, generative artificial intelligence has been instrumental in the creation of lifelike data (images, speech, video, music, and text) from scratch. In this book you will unpack how these powerful models are created from relatively simple building blocks, and how you might adapt these models to your own use cases.
You will begin by setting up clean containerized environments for Python and getting to grips with the fundamentals of deep neural networks, learning about core concepts like the perceptron, activation functions, backpropagation, and how they all tie together. Once you have covered the basics, you will explore deep generative models in depth, including OpenAI's GPT-series of news generators, networks for style transfer and deepfakes, and synergy with reinforcement learning.
As you progress, you will focus on abstractions where useful, and understand the "nuts and bolts" of how the models are composed in code, underpinned by detailed architecture diagrams. T ...
Linux System Programming TechniquesLinux is the world's most popular open source operating system (OS). Linux System Programming Techniques will enable you to extend the Linux OS with your own system programs and communicate with other programs on the system.
The book begins by exploring the Linux filesystem, its basic commands, built-in manual pages, the GNU compiler collection (GCC), and Linux system calls. You'll then discover how to handle errors in your programs and will learn to catch errors and print relevant information about them. The book takes you through multiple recipes on how to read and write files on the system, using both streams and file descriptors. As you advance, you'll delve into forking, creating zombie processes, and daemons, along with recipes on how to handle daemons using systemd. After this, you'll find out how to create shared libraries and start exploring different types of interprocess communication (IPC). In the later chapters, recipes on how to write programs using POSIX threads and h ...
Hands-On Financial Trading with PythonAlgorithmic trading helps you stay ahead of the markets by devising strategies in quantitative analysis to gain profits and cut losses.
The book starts by introducing you to algorithmic trading and explaining why Python is the best platform for developing trading strategies. You'll then cover quantitative analysis using Python, and learn how to build algorithmic trading strategies with Zipline using various market data sources. Using Zipline as the backtesting library allows access to complimentary US historical daily market data until 2018. As you advance, you will gain an in-depth understanding of Python libraries such as NumPy and pandas for analyzing financial datasets, and explore Matplotlib, statsmodels, and scikit-learn libraries for advanced analytics. You'll also focus on time series forecasting, covering pmdarima and Facebook Prophet.
By the end of this trading book, you will be able to build predictive trading signals, adopt basic and advanced algorithmic trading strat ...