Pro .NET Framework with the Base Class LibraryLearn about the fundamentals and inner workings of the Common Type System (CTS) and the Virtual Execution System (VES) of the Common Language Runtime (CLR) and how they relate to the Base Class Library (BCL) from the perspective of the execution environment.
The author first gives an introduction to the .NET Framework and describes the architectural and engineering resources required when implementing the .NET Framework on any platform. Next, you will learn about the BCL and understand how to work with system structures including the fundamental built-in types system.array and system.string. You will then learn about the VES along with its methods and functionality. Further, you will go through the Common Intermediate Language (CIL), Assembly Manifest, and versioning. You will also learn how to design and implement libraries in detail by creating a .NET class library.
After reading this book, you will understand .NET Framework features, as well as details about the core function ...
The Joys of HashingBuild working implementations of hash tables, written in the C programming language. This book starts with simple first attempts devoid of collision resolution strategies, and moves through improvements and extensions illustrating different design ideas and approaches, followed by experiments to validate the choices.
Hash tables, when implemented and used appropriately, are exceptionally efficient data structures for representing sets and lookup tables, providing low overhead, constant time, insertion, deletion, and lookup operations.
The Joys of Hashing walks you through the implementation of efficient hash tables and the pros and cons of different design choices when building tables. The source code used in the book is available on GitHub for your re-use and experiments.
Master the basic ideas behind hash tables; Carry out collision resolution, including strategies for handling collisions and their consequences for performance; Resize or grow and shrink tables as needed; Sto ...
Building Ethereum DappsBuilding Ethereum Dapps introduces you to decentralized applications based on the Ethereum blockchain platform. In this book, you'll learn the principles of Dapps development by rolling up your sleeves and actually building a few!
Imagine unbreakably secure applications that handle personal and business transactions without any central agency controlling the process. Decentralized applications, or Dapps, do just this, shifting power to users. The Ethereum blockchain platform provides the tools you need to build Dapps, including an innovative "smart contracts" model and Solidity, a Dapp-aware JavaScript-like programming language.
Building Ethereum Dapps teaches Dapps development on the Ethereum blockchain platform. You'll begin with a mental model of how Dapps operate, and then dive into designing and implementing smart contracts in Ethereum's Solidity language. You'll explore Ethereum smart contract development tools, like Truffle and Web3, and pick up best practices for design a ...
RxJava for Android DevelopersRxJava for Android Developers teaches you how to build fast, fluid, and reactive mobile apps for Android with RxJava.
For Android developers, writing multithreaded apps can be as challenging as it is necessary. RxJava simplifies complex threading operations, maintaining proper synchronization as you switch seamlessly from thread to thread. RxJava also brings the benefits of reactive programming to your apps - that means better real-time responsiveness, the holy grail for every Android developer.
RxJava for Android Developers begins by inviting you to think about programming and data the reactive way. This engaging, hands-on essential reference introduces you to the central pattern of RxJava for Android, then explains the View Model before exploring highly sought-after app features like chat clients and elegant transitions. Finally, you'll look at high-level design concerns and architectural approaches and frameworks that work well with Functional Reactive Programming (FRP) thinki ...
Microsoft Dynamics NAV Development Quick Start GuideMicrosoft Dynamics NAV is an enterprise resource planning (ERP) software suite for organizations. The system offers specialized functionality for manufacturing, distribution, government, retail, and other industries. This book gets you started with its integrated development environment for solving problems by customizing business processes.
This book introduces the NAV development environment - C/SIDE. It gives an overview of the internal system language and the most essential development tools. The book will enable the reader to customize and extend NAV functionality with C/AL code, design a user interface through pages, create role centers, and build advanced reports in Microsoft Visual Studio.
By the end of the book, you will have learned how to extend the NAV data model, how to write and debug custom code, and how to exchange data with external applications. ...
Xamarin.Forms ProjectsXamarin.Forms is a lightweight cross-platform development toolkit for building applications with a rich user interface.
In this book you'll start by building projects that explain the Xamarin.Forms ecosystem to get up and running with building cross-platform applications. We'll increase in difficulty throughout the projects, making you learn the nitty-gritty of Xamarin.Forms offerings. You'll gain insights into the architecture, how to arrange your app's design, where to begin developing, what pitfalls exist, and how to avoid them. The book contains seven real-world projects, to get you hands-on with building rich UIs and providing a truly cross-platform experience. It will also guide you on how to set up a machine for Xamarin app development. You'll build a simple to-do application that gets you going, then dive deep into building advanced apps such as messaging platform, games, and machine learning, to build a UI for an augmented reality project.
By the end of the book, you'll ...
Machine Learning with Apache Spark Quick Start GuideEvery person and every organization in the world manages data, whether they realize it or not. Data is used to describe the world around us and can be used for almost any purpose, from analyzing consumer habits to fighting disease and serious organized crime. Ultimately, we manage data in order to derive value from it, and many organizations around the world have traditionally invested in technology to help process their data faster and more efficiently.
But we now live in an interconnected world driven by mass data creation and consumption where data is no longer rows and columns restricted to a spreadsheet, but an organic and evolving asset in its own right. With this realization comes major challenges for organizations: how do we manage the sheer size of data being created every second (think not only spreadsheets and databases, but also social media posts, images, videos, music, blogs and so on)? And once we can manage all of this data, how do we derive real value from it?
Th ...
Mastering OpenCV 4, 3rd EditionMastering OpenCV, now in its third edition, targets computer vision engineers taking their first steps toward mastering OpenCV. Keeping the mathematical formulations to a solid but bare minimum, the book delivers complete projects from ideation to running code, targeting current hot topics in computer vision such as face recognition, landmark detection and pose estimation, and number recognition with deep convolutional networks.
You'll learn from experienced OpenCV experts how to implement computer vision products and projects both in academia and industry in a comfortable package. You'll get acquainted with API functionality and gain insights into design choices in a complete computer vision project. You'll also go beyond the basics of computer vision to implement solutions for complex image processing projects.
By the end of the book, you will have created various working prototypes with the help of projects in the book and be well versed with the new features of OpenCV4. ...
Getting MEAN with Mongo, Express, Angular, and Node, 2nd EditionGetting MEAN, Second Edition teaches you how to develop full-stack web applications using the MEAN stack. This edition was completely revised and updated to cover MongoDB 4, Express 4, Angular 7, Node 11, and the latest mainstream release of JavaScript ES2015.
Juggling languages mid-application can radically slow down a full-stack web project. The MEAN stack - MongoDB, Express, Angular, and Node - uses JavaScript end to end, maximizing developer productivity and minimizing context switching. And you'll love the results! MEAN apps are fast, powerful, and beautiful.
Getting MEAN, 2nd Edition teaches you how to develop full-stack web applications using the MEAN stack. Practical from the very beginning, the book helps you create a static site in Express and Node. Expanding on that solid foundation, you'll integrate a MongoDB database, build an API, and add an authentication system. Along the way, you'll get countless pro tips for building dynamic and responsive data-driven web applic ...
Event Streams in ActionEvent Streams in Action is a foundational book introducing the ULP paradigm and presenting techniques to use it effectively in data-rich environments.
Many high-profile applications, like LinkedIn and Netflix, deliver nimble, responsive performance by reacting to user and system events as they occur. In large-scale systems, this requires efficiently monitoring, managing, and reacting to multiple event streams. Tools like Kafka, along with innovative patterns like unified log processing, help create a coherent data processing architecture for event-based applications.
Event Streams in Action teaches you techniques for aggregating, storing, and processing event streams using the unified log processing pattern. In this hands-on guide, you'll discover important application designs like the lambda architecture, stream aggregation, and event reprocessing. You'll also explore scaling, resiliency, advanced stream patterns, and much more! By the time you're finished, you'll be designing l ...