Software Engineering for Absolute BeginnersStart programming from scratch, no experience required. This beginners' guide to software engineering starts with a discussion of the different editors used to create software and covers setting up a Docker environment. Next, you will learn about repositories and version control along with its uses. Now that you are ready to program, you'll go through the basics of Python, the ideal language to learn as a novice software engineer. Many modern applications need to talk to a database of some kind, so you will explore how to create and connect to a database and how to design one for your app. Additionally you will discover how to use Python's Flask microframework and how to efficiently test your code. Finally, the book explains best practices in coding, design, deployment, and security.
Software Engineering for Absolute Beginners answers the question of what topics you should know when you start out to learn software engineering. This book covers a lot of topics, and aims to clarify t ...
Practical Rust Web ProjectsGo beyond the basics of Rust and build web and serverless cloud applications. The applications explained in this practical book include web sites, RESTful APIs, a real-time web chat application, and frontend application with WebAssembly. Each chapter is organized in the following format: what this kind of application looks like; requirements for the example program; an introduction to the Rust libraries used; step-by-step implementation of the example program, including common pitfalls and best practices; and a brief comparison of libraries and frameworks in the same domain.
This book will open your eyes to the world of practical web applications of Rust. After reading the book, you will be able to apply your Rust knowledge to build your own web projects. ...
How To Code in Node.jsNode.js is a popular open-source runtime environment that can execute JavaScript outside of the browser. The Node runtime is commonly used for back-end web development, leveraging its asynchronous capabilities to create networking applications and web servers. Node is also a popular choice for building command line tools.
In this book, you will go through exercises to learn the basics of how to code in Node.js, gaining skills that apply equally to back-end and full stack development in the process.
By the end of this book you will be able to write programs that leverage Node's asynchronous code execution capabilities, complete with event emitters and listeners that will respond to user actions. Along the way you will learn how to debug Node applications using the built-in debugging utilities, as well as the Chrome browser's DevTools utilities. You will also learn how to write automated tests for your programs to ensure that any features that you add or change function as you expe ...
Learning HelmGet up to speed with Helm, the preeminent package manager for the Kubernetes container orchestration system. This practical guide shows you how to efficiently create, install, and manage the applications running inside your containers. Helm maintainers Matt Butcher, Matt Farina, and Josh Dolitsky explain how this package manager fits into the Kubernetes ecosystem and provide an inside look at Helm's design and best practices.
More than 70% of the organizations that work with Kubernetes use Helm today. While the Helm community provides thousands of packages, or charts, to help you get started, this book walks developers and DevOps engineers through the process of creating custom charts to package applications. If you have a working understanding of Kubernetes, you're ready to go.
Explore primary features including frequently used Helm commands; Learn how to build and deploy Helm charts from scratch; Use Helm to manage complexity and achieve repeatable deployments; Package an appli ...
Hands-on GitHub ActionsImplement continuous integration/continuous delivery (CI/CD) workflows for any application you develop through GitHub Actions. This book will give you an in-depth idea of implementation patterns, solutions for different technology builds, guidelines to implement your own custom components as actions, and usage of features available with GitHub Actions workflows, to set up CI/CD for your repositories.
Hands-on GitHub Actions starts with an introduction to GitHub actions that gives an overview on CI/CD followed by an introduction to its workflows. Next, you will learn how to use variables in a GitHub workflow along with tokens via a REST API. Further, you will explore artifacts and caching dependencies in GitHub and use artifacts in subsequent jobs. Using self-hosted runners is discussed next where you will set up your own hardware and software to run GitHub actions. You will go through publishing packages and migrate to Azure DevOps Pipelines. Along the way, you will use Redis servi ...
TensorFlow 2.x in the Colaboratory CloudUse TensorFlow 2.x with Google's Colaboratory (Colab) product that offers a free cloud service for Python programmers. Colab is especially well suited as a platform for TensorFlow 2.x deep learning applications. You will learn Colab's default install of the most current TensorFlow 2.x along with Colab's easy access to on-demand GPU hardware acceleration in the cloud for fast execution of deep learning models. This book offers you the opportunity to grasp deep learning in an applied manner with the only requirement being an Internet connection. Everything else - Python, TensorFlow 2.x, GPU support, and Jupyter Notebooks - is provided and ready to go from Colab.
The book begins with an introduction to TensorFlow 2.x and the Google Colab cloud service. You will learn how to provision a workspace on Google Colab and build a simple neural network application. From there you will progress into TensorFlow datasets and building input pipelines in support of modeling and testing. You will fi ...
Design and Build Great Web APIsAPIs are transforming the business world at an increasing pace. Gain the essential skills needed to quickly design, build, and deploy quality web APIs that are robust, reliable, and resilient. Go from initial design through prototyping and implementation to deployment of mission-critical APIs for your organization. Test, secure, and deploy your API with confidence and avoid the "release into production" panic. Tackle just about any API challenge with more than a dozen open-source utilities and common programming patterns you can apply right away.
Good API design means starting with the API-first principle - understanding who is using the API and what they want to do with it - and applying basic design skills to match customers' needs while solving business-critical problems. Use the Sketch-Design-Build method to create reliable and scalable web APIs quickly and easily without a lot of risk to the day-to-day business operations. Create clear sequence diagrams, accurate specifications ...
Explore Software Defined RadioDo you want to be able to receive satellite images using nothing but your computer, an old TV antenna, and a $20 USB stick? Now you can. At last, the technology exists to turn your computer into a super radio receiver, capable of tuning in to FM, shortwave, amateur "ham," and even satellite frequencies, around the world and above it. Listen to police, fire, and aircraft signals, both in the clear and encoded. And with the book's advanced antenna design, there's no limit to the signals you can receive.
Combine your desktop or laptop computer with easy-to-find Software Defined Radio (SDR) equipment, and tune in a wide range of signals in no time at all. Then, go one step further by converting a Raspberry Pi into your own dedicated SDR device.
SDR USB dongles are usually designed to receive and decode high-definition digital television broadcasts, but the rising popularity of SDR has led to several of these devices being specifically made for - and marketed to - the software radio ...
Genetic Algorithms in ElixirFrom finance to artificial intelligence, genetic algorithms are a powerful tool with a wide array of applications. But you don't need an exotic new language or framework to get started; you can learn about genetic algorithms in a language you're already familiar with. Join us for an in-depth look at the algorithms, techniques, and methods that go into writing a genetic algorithm. From introductory problems to real-world applications, you'll learn the underlying principles of problem solving using genetic algorithms.
Evolutionary algorithms are a unique and often overlooked subset of machine learning and artificial intelligence. Because of this, most of the available resources are outdated or too academic in nature, and none of them are made with Elixir programmers in mind.
Start from the ground up with genetic algorithms in a language you are familiar with. Discover the power of genetic algorithms through simple solutions to challenging problems. Use Elixir features to write gen ...
XcalableMP PGAS Programming LanguageXcalableMP is a directive-based parallel programming language based on Fortran and C, supporting a Partitioned Global Address Space (PGAS) model for distributed memory parallel systems. This open book presents XcalableMP language from its programming model and basic concept to the experience and performance of applications described in XcalableMP.?
XcalableMP was taken as a parallel programming language project in the FLAGSHIP 2020 project, which was to develop the Japanese flagship supercomputer, Fugaku, for improving the productivity of parallel programing. XcalableMP is now available on Fugaku and its performance is enhanced by the Fugaku interconnect, Tofu-D.
The global-view programming model of XcalableMP, inherited from High-Performance Fortran (HPF), provides an easy and useful solution to parallelize data-parallel programs with directives for distributed global array and work distribution and shadow communication. The local-view programming adopts coarray notation from Co ...