WebAssembly for CloudJourney into the amazing world of WebAssembly (Wasm) and learn about how it can be applied on the cloud. This book is an introduction to Wasm aimed at professionals accustomed to working with cloud-related technologies such as Kubernetes and Istio service mesh.
Author Shashank Jain begins with an introduction to Wasm and its related tooling such as wasm-bindgen and wapc. He then walks you through code examples using Rust, Golang, and JavaScript to demonstrate how they can be compiled to Wasm and consumed from Wasm runtimes deployed standalone, as well as on the cloud. You will see how a wasm module can be run through an http interface, and how Wasm fits into CNCF projects such as Kubernetes and Istio service mesh. After that, you'll learn how the polyglot nature of WebAssembly can be leveraged through examples written in languages like Rust and consumed via Golang and JavaScript, with a focus on how WebAssembly allows interoperability between them. You'll gain an understanding of ho ...
Building Applications with Azure Resource Manager (ARM)Learn how to leverage infrastructure as code with Azure Resource Manager (ARM) and the best practices to build, test, debug, and deploy your applications in Microsoft Azure using ARM templates and the new domain-specific language Bicep.
As organizations consider moving partially or fully to the cloud, infrastructure as code (IaC) has become a key component to improving time to market for their applications. However, it is critical that enterprise infrastructure professionals use the right resources and strategies to build the infrastructure required to run applications in the cloud. Azure cloud-native components and capabilities automate the build and deployment process, offering a myriad of compelling reasons to leverage IaC to build your applications in Azure.
Starting with the evolution of the software-defined approach and building on the basic concepts of infrastructure as code, this book provides you with comprehensive guidance to learn Azure Resource Manager from the ground u ...
PHP 8 Solutions, 5th EditionMake your websites more dynamic by adding a feedback form, creating a private area where members can upload images that are automatically resized, or storing all your content in a database. David Powers has updated his definitive book to incorporate the latest techniques and changes to PHP with the arrival of PHP 8. New features include named attributes, constructor property promotion, the stricter and more concise match expression, union types, and more.
The problem is, you're not a programmer and the thought of writing code sends a chill up your spine. Or maybe you've dabbled a bit in PHP and MySQL, but you can't get past baby steps. If this describes you, then you've just found the right book. PHP powers four out of every five websites that use a server-side language. In combination with the MySQL database it's ideal for creating dynamic websites. PHP and MySQL are free, easy to use, and provided by many web hosting companies in their standard packages. This book also covers M ...
Java ChallengesExpand your knowledge of Java with this entertaining learning guide, which features 100+ exercises and programming challenges. Java Challenges will prepare you for your next exam or job interview, and covers many practical topics, such as strings, arrays, data structures, recursion, and date and time. The APIs and other material included in this book are Java 17 compatible.
Each topic is addressed in its own separate chapter, starting with an introduction to the basics and followed by multiple exercises of varying degrees of difficulty, helping you to improve your programming skills effectively. Detailed sample solutions, including the algorithms used for all tasks, are included to maximize your understanding of each area.
Author Michael Inden also describes alternative solutions and analyzes possible pitfalls and typical errors. Three appendices round out the book: one covering JShell, which is often helpful for trying out the code snippets and examples in the book, followed by ...
The Little ASP.NET Core BookIf you're new to programming, this book will introduce you to thepatterns and concepts used to build modern web applications. You'lllearn how to build a web app (and how the big pieces fit together) by building something from scratch! While this little book won't be able tocover absolutely everything you need to know about programming, it'llgive you a starting point so you can learn more advanced topics.
If you already code in a backend language like Node, Python, Ruby, Go,or Java, you'll notice a lot of familiar ideas like MVC, view templates, anddependency injection. The code will be in C#, but it won't look toodifferent from what you already know.
If you're an ASP.NET MVC developer, you'll feel right at home! ASP.NETCore adds some new tools and reuses (and simplifies) the things youalready know. I'll point out some of the differences below.
No matter what your previous experience with web programming, thisbook will teach you everything you need to create a simple and useful ...
Designing Secure SoftwareDesigning Secure Software consolidates Loren Kohnfelder's more than twenty years of experience into a concise, elegant guide to improving the security of technology products. Written for a wide range of software professionals, it emphasizes building security into software design early and involving the entire team in the process.
The book begins with a discussion of core concepts like trust, threats, mitigation, secure design patterns, and cryptography. The second part, perhaps this book's most unique and important contribution to the field, covers the process of designing and reviewing a software design with security considerations in mind. The final section details the most common coding flaws that create vulnerabilities, making copious use of code snippets written in C and Python to illustrate implementation vulnerabilities.
You'll learn how to: Identify important assets, the attack surface, and the trust boundaries in a system; Evaluate the effectiveness of various threat mit ...
Introduction to Computer OrganizationIntroduction to Computer Organization gives programmers a practical understanding of what happens in a computer when you execute your code. You may never have to write x86-64 assembly language or design hardware yourself, but knowing how the hardware and software works will give you greater control and confidence over your coding decisions. We start with high level fundamental concepts like memory organization, binary logic, and data types and then explore how they are implemented at the assembly language level.
The goal isn't to make you an assembly programmer, but to help you comprehend what happens behind the scenes between running your program and seeing "Hello World" displayed on the screen. Classroom-tested for over a decade, this book will demystify topics like: How to translate a high-level language code into assembly language; How the operating system manages hardware resources with exceptions and interrupts; How data is encoded in memory; How hardware switches handle decim ...
The Art of 64-Bit AssemblyRandall Hyde's The Art of Assembly Language has long been the go-to guide for learning assembly language. In this long-awaited follow-up, Hyde presents a 64-bit rewrite of his seminal text. It not only covers the instruction set for today's x86-64 class of processors in-depth (using MASM), but also leads you through the maze of assembly language programming and machine organization by showing you how to write code that mimics operations in high-level languages.
Beginning with a "quick-start" chapter that gets you writing basic ASM applications as rapidly as possible, Hyde covers the fundamentals of machine organization, computer data representation and operations, and memory access. He'll teach you assembly language programming, starting with basic data types and arithmetic, progressing through control structures and arithmetic to advanced topics like table lookups and string manipulation. In addition to the standard integer instruction set, the book covers the x87 FPU, single-instr ...
Rust for RustaceansFor developers who've mastered the basics, this book is the next step on your way to professional-level programming in Rust. It covers everything you need to build and maintain larger code bases, write powerful and flexible applications and libraries, and confidently expand the scope and complexity of your projects.
Author Jon Gjengset takes you deep into the Rust programming language, dissecting core topics like ownership, traits, concurrency, and unsafe code. You'll explore key concepts like type layout and trait coherence, delve into the inner workings of concurrent programming and asynchrony with async/await, and take a tour of the world of no_std programming. Gjengset also provides expert guidance on API design, testing strategies, and error handling, and will help develop your understanding of foreign function interfaces, object safety, procedural macros, and much more.
You'll Learn: How to design reliable, idiomatic, and ergonomic Rust programs based on best principles; Ef ...
Object-Oriented PythonObject-Oriented Programming (OOP) is a paradigm that combines data and code into cohesive units, allowing you to think differently about computational problems and solve them in a highly reusable way. Aimed at intermediate-level programmers, Object-Oriented Python is a hands-on tutorial that goes deep into the core tenets of OOP, showing you how to use encapsulation, polymorphism, and inheritance to write games and apps using Python.
The book begins by demonstrating key problems inherent in procedural programming, then guides you through the basics of creating classes and objects in Python. You'll build on this groundwork by developing buttons, text fields, and other GUI elements that are standard in event-driven environments. You'll also use many real-world code examples and two pygame-based packages to help turn theory into practice, enabling you to easily write interactive games and applications complete with GUI widgets, animations, multiple scenes, and reusable game logic. In t ...