Solidity Programming Essentials, 2nd EditionSolidity is a high-level language for writing smart contracts, and the syntax has large similarities with JavaScript, thereby making it easier for developers to learn, design, compile, and deploy smart contracts on large blockchain ecosystems including Ethereum and Polygon among others. This book guides you in understanding Solidity programming from scratch.
The book starts with step-by-step instructions for the installation of multiple tools and private blockchain, along with foundational concepts such as variables, data types, and programming constructs. You'll then explore contracts based on an object-oriented paradigm, including the usage of constructors, interfaces, libraries, and abstract contracts. The following chapters help you get to grips with testing and debugging smart contracts. As you advance, you'll learn about advanced concepts like assembly programming, advanced interfaces, usage of recovery, and error handling using try-catch blocks. You'll also explore multiple d ...
The Haskell School of MusicThis free book explores the fundamentals of computer music and functional programming through the Haskell programming language. Functional programming is typically considered difficult to learn. This introduction in the context of creating music will allow students and professionals with a musical inclination to leverage their experience to help understand concepts that might be intimidating in more traditional computer science settings.
Conversely, the book opens the door for programmers to interact with music by using a medium that is familiar to them. Readers will learn how to use the Euterpea library for Haskell to represent and create their own music with code, without the need for other music software.
The book explores common paradigms used in algorithmic music composition, such as stochastic generation, musical grammars, self-similarity, and real-time interactive systems. Other topics covered include the basics of signal-based systems in Haskell, sound synthesis, and virt ...
Fundamentals of Data EngineeringData engineering has grown rapidly in the past decade, leaving many software engineers, data scientists, and analysts looking for a comprehensive view of this practice. With this practical book, you'll learn how to plan and build systems to serve the needs of your organization and customers by evaluating the best technologies available through the framework of the data engineering lifecycle.
Authors Joe Reis and Matt Housley walk you through the data engineering lifecycle and show you how to stitch together a variety of cloud technologies to serve the needs of downstream data consumers. You'll understand how to apply the concepts of data generation, ingestion, orchestration, transformation, storage, and governance that are critical in any data environment regardless of the underlying technology.
This book will help you: Get a concise overview of the entire data engineering landscape; Assess data engineering problems using an end-to-end framework of best practices; Cut through mar ...
Cloud Native Security CookbookWith the rise of the cloud, every aspect of IT has been shaken to its core. The fundamentals for building systems are changing, and although many of the principles that underpin security still ring true, their implementation has become unrecognizable. This practical book provides recipes for AWS, Azure, and GCP to help you enhance the security of your own cloud native systems.
Based on his hard-earned experience working with some of the world's biggest enterprises and rapidly iterating startups, consultant Josh Armitage covers the trade-offs that security professionals, developers, and infrastructure gurus need to make when working with different cloud providers. Each recipe discusses these inherent compromises, as well as where clouds have similarities and where they're fundamentally different.
Learn how the cloud provides security superior to what was achievable in an on-premises world; Understand the principles and mental models that enable you to make optimal trade-offs as pa ...
Learning GoGo is rapidly becoming the preferred language for building web services. While there are plenty of tutorials available that teach Go's syntax to developers with experience in other programming languages, tutorials aren't enough. They don't teach Go's idioms, so developers end up recreating patterns that don't make sense in a Go context. This practical guide provides the essential background you need to write clear and idiomatic Go.
No matter your level of experience, you'll learn how to think like a Go developer. Author Jon Bodner introduces the design patterns experienced Go developers have adopted and explores the rationale for using them. You'll also get a preview of Go's upcoming generics support and how it fits into the language.
Learn how to write idiomatic code in Go and design a Go project; Understand the reasons for the design decisions in Go; Set up a Go development environment for a solo developer or team; Learn how and when to use reflection, unsafe, and cgo; Discover ...
CockroachDB: The Definitive GuideGet the lowdown on CockroachDB, the distributed SQL database built to handle the demands of today's data-driven cloud applications. In this hands-on guide, software developers, architects, and DevOps/SRE teams will learn how to use CockroachDB to create applications that scale elastically and provide seamless delivery for end users while remaining indestructible. Teams will also learn how to migrate existing applications to CockroachDB's performant, cloud native data architecture.
If you're familiar with distributed systems, you'll quickly discover the benefits of strong data correctness and consistency guarantees as well as optimizations for delivering ultra low latencies to globally distributed end users.
You'll learn how to: Design and build applications for distributed infrastructure, including data modeling and schema design; Migrate data into CockroachDB; Read and write data and run ACID transactions across distributed infrastructure; Plan a CockroachDB deployment for resil ...
Flutter SuccinctlyFlutter is an open-source mobile application development SDK developed by Google with support for both Android and iOS using the same codebase. Written in C, C++, and Dart, and using the Skia Graphics Engine, Flutter also offers a rich set of fully customizable widgets for building native interfaces, including the Material Design library and Cupertino (iOS-flavored) widgets, rich motion APIs, and hot reload. In Flutter Succinctly, Ed Freitas will take you through creating a fully functional app to help you assess whether Flutter is the right choice for your mobile development needs. ...
Applied Discrete Structures, 3rd EditionApplied Discrete Structures, is a two semester undergraduate text in discrete mathematics, focusing on the structural properties of mathematical objects. These include matrices, functions, graphs, trees, lattices and algebraic structures. The algebraic structures that are discussed are monoids, groups, rings, fields and vector spaces.
Applied Discrete Structures is designed for use in a university course in discrete mathematics spanning up to two semesters. Its original design was for computer science majors to be introduced to the mathematical topics that are useful in computer science. It can also serve the same purpose for mathematics majors, providing a first exposure to many essential topics. ...
Kickstart Modern Android Development with Jetpack and KotlinWith Jetpack libraries, you can build and design high-quality, robust Android apps that have an improved architecture and work consistently across different versions and devices. This book will help you understand how Jetpack allows developers to follow best practices and architectural patterns when building Android apps while also eliminating boilerplate code.
Developers working with Android and Kotlin will be able to put their knowledge to work with this condensed practical guide to building apps with the most popular Jetpack libraries, including Jetpack Compose, ViewModel, Hilt, Room, Paging, Lifecycle, and Navigation. You'll get to grips with relevant libraries and architectural patterns, including popular libraries in the Android ecosystem such as Retrofit, Coroutines, and Flow while building modern applications with real-world data.
By the end of this Android app development book, you'll have learned how to leverage Jetpack libraries and your knowledge of architectural conc ...
Designing Production-Grade and Large-Scale IoT SolutionsWith the rising demand for and recent enhancements in IoT, a developer with sound knowledge of IoT is the need of the hour. This book will help you design, build, and operate large-scale E2E IoT solutions to transform your business and products, increase revenue, and reduce operational costs.
Starting with an overview of how IoT technologies can help you solve your business problems, this book will be a useful guide to helping you implement end-to-end IoT solution architecture. You'll learn to select IoT devices; real-time operating systems; IoT Edge covering Edge location, software, and hardware; and the best IoT connectivity for your IoT solution. As you progress, you'll work with IoT device management, IoT data analytics, IoT platforms, and put these components to work as part of your IoT solution. You'll also be able to build IoT backend cloud from scratch by leveraging the modern app architecture paradigms and cloud-native technologies such as containers and microservices. Fina ...