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 ...
Azure Cognitive Services SuccinctlyAzure Cognitive Services puts the power of AI and machine learning into the hands of software developers without requiring a PhD or years of experience in the field. With Azure Cognitive Services Succinctly, author Ed Freitas delivers an accessible guide to integrating computer vision, decision-making, speech, and more into your applications to give your apps an edge over the competition, whether you're building for the enterprise or just for fun. ...
Fundamentals of Azure, 2nd EditionMicrosoft Azure is Microsoft's cloud computing platform, providing a wide variety of services you can use without purchasing and provisioning your own hardware. Azure enables the rapid development of solutions and provides the resources to accomplish tasks that may not be feasible in an on-premises environment. Azure's compute, storage, network, and application services allow you to focus on building great solutions without the need to worry about how the physical infrastructure is assembled.
This book covers the fundamentals of Azure you need to start developing solutions right away. It concentrates on the features of the Azure platform that you are most likely to need to know rather than on every feature and service available on the platform. This book also provides several walkthroughs you can follow to learn how to create VMs and virtual networks, websites and storage accounts, and so on. In many cases, real-world tips are included to help you get the most out of your Azure expe ...
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. ...
Game Development with Rust and WebAssemblyThe Rust programming language has held the most-loved technology ranking on Stack Overflow for 6 years running, while JavaScript has been the most-used programming language for 9 years straight as it runs on every web browser. Now, thanks to WebAssembly (or Wasm), you can use the language you love on the platform that's everywhere.
This book is an easy-to-follow reference to help you develop your own games, teaching you all about game development and how to create an endless runner from scratch. You'll begin by drawing simple graphics in the browser window, and then learn how to move the main character across the screen. You'll also create a game loop, a renderer, and more, all written entirely in Rust. After getting simple shapes onto the screen, you'll scale the challenge by adding sprites, sounds, and user input. As you advance, you'll discover how to implement a procedurally generated world. Finally, you'll learn how to keep your Rust code clean and organized so you can continue ...
iOS Forensics for InvestigatorsProfessionals working in the mobile forensics industry will be able to put their knowledge to work with this practical guide to learning how to extract and analyze all available data from an iOS device.
This book is a comprehensive, how-to guide that leads investigators through the process of collecting mobile devices and preserving, extracting, and analyzing data, as well as building a report. Complete with step-by-step explanations of essential concepts, practical examples, and self-assessment questions, this book starts by covering the fundamentals of mobile forensics and how to overcome challenges in extracting data from iOS devices. Once you've walked through the basics of iOS, you'll learn how to use commercial tools to extract and process data and manually search for artifacts stored in database files. Next, you'll find out the correct workflows for handling iOS devices and understand how to extract valuable information to track device usage. You'll also get to grips with ana ...
Advanced Problems in MathematicsThis new and expanded edition is intended to help candidates prepare for entrance examinations in mathematics and scientific subjects, including STEP (Sixth Term Examination Paper). STEP is an examination used by Cambridge Colleges for conditional offers in mathematics. They are also used by some other UK universities and many mathematics departments recommend that their applicants practice on the past papers even if they do not take the examination.
Advanced Problems in Mathematics bridges the gap between school and university mathematics, and prepares students for an undergraduate mathematics course. The questions analysed in this book are all based on past STEP questions and each question is followed by a comment and a full solution. The comments direct the reader's attention to key points and put the question in its true mathematical context. The solutions point students to the methodology required to address advanced mathematical problems critically and independently.
This b ...
Introduction to Autonomous Robots, 3rd EditionThis book provides an algorithmic perspective to autonomous robotics to students with a sophomore-level of linear algebra and probability theory. Robotics is an emerging field at the intersection of mechanical engineering, electrical engineering, and computer science. With computers becoming more powerful, making robots smart is getting more and more into the focus of attention and robotics research most challenging frontier. While there is a large number of textbooks on the mechanics and dynamics of robots available to sophomore-level undergraduates, books that provide a broad algorithmic perspective are mostly limited to the graduate level. This book has therefore been developed not to create "yet another textbook, but better than the others", but to allow us to teach robotics to the 3rd and 4th year undergraduates at the Department of Computer Science at the University of Colorado.
Although falling under the umbrella of "Artificial Intelligence", standard AI techniques are not su ...
Computer Vision Projects with PyTorchDesign and develop end-to-end, production-grade computer vision projects for real-world industry problems. This book discusses computer vision algorithms and their applications using PyTorch.
The book begins with the fundamentals of computer vision: convolutional neural nets, RESNET, YOLO, data augmentation, and other regularization techniques used in the industry. And then it gives you a quick overview of the PyTorch libraries used in the book. After that, it takes you through the implementation of image classification problems, object detection techniques, and transfer learning while training and running inference. The book covers image segmentation and an anomaly detection model. And it discusses the fundamentals of video processing for computer vision tasks putting images into videos. The book concludes with an explanation of the complete model building process for deep learning frameworks using optimized techniques with highlights on model AI explainability.
After reading th ...
CI/CD Pipeline Using Jenkins UnleashedUnderstand continuous integration (CI), continuous delivery, and continuous deployment (CD) with Jenkins. These processes allow users as well as administrators to catch problems as soon as they get injected into software systems.
This book starts with an introduction to Jenkins and covers its architecture and role in CI/CD. The basics are covered, including installing and configuring Jenkins. Tool configuration and plugins are discussed as well as available security measures such as credentials. You will learn what is meant by Job in Jenkins, its types, sections, and much more. You will look at Java API: projects, jobs, configuration. The concluding chapters take you through creating pipelines, their role in managing web apps, and distributed pipelines. The book also covers unit testing using TestNG as well as end-to-end testing using Selenium Python as a part of building a life cycle and setting up Jenkins on different physical and Docker environments as well as Jenkins integration ...