The Joys of Hashing
Build 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 ...
Complex Enterprise Architecture
Implement successful and cost-effective enterprise architecture projects. This book provides a new approach to developing enterprise architecture based on the idea of emergent behaviors—where instead of micromanaging system implementation, the enterprise architecture effort establishes clear goals and leaves the details to the implementation teams. System development efforts are measured based on their contribution to achieving business goals instead of implementing specific (possibly outdated) requirements.
Most enterprise architecture initiatives employ one of the existing system architecture frameworks such as Zachman or The Open Group Architecture Framework, but these are not well-suited for enterprise architecture in a modern, agile organization. The new approach presented in this book is based on the author's experience with large enterprise architecture efforts. The approach leverages research into complex adaptive systems and emergent behaviors, where a few simple rules re ...
Pro .NET Framework with the Base Class Library
Learn 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 ...
Applied Cryptography in .NET and Azure Key Vault
Benefit from Microsoft's robust suite of security and cryptography primitives to create a complete, hybrid encryption scheme that will protect your data against breaches. This highly practical book teaches you how to use the .NET encryption APIs and Azure Key Vault, and how they can work together to produce a robust security solution.
Applied Cryptography in .NET and Azure Key Vault begins with an introduction to the dangers of data breaches and the basics of cryptography. It then takes you through important cryptographic techniques and practices, from hashing and symmetric/asymmetric encryption, to key storage mechanisms. By the end of the book, you'll know how to combine these cryptographic primitives into a hybrid encryption scheme that you can use in your applications.
Author Stephen Haunts brings 25 years of software development and security experience to the table to give you the concrete skills, knowledge, and code you need to implement the latest encryption standards in yo ...
Introducing Dart Sass
Leverage the power of Dart Sass to quickly create valid CSS styles for use within websites. This short project-oriented book simplifies the process of creating and manipulating Sass code in the browser, for websites, or online applications, using little more than a text editor or free software.
Designed to be much faster and simpler to use, yet still maintain the same features as past versions of Sass, Dart Sass offers a host of benefits of using it against writing CSS manually. You will be equipped with a starting toolset that you can use to develop future projects, incorporate into your existing workflow and reduce any dependency on graphics applications such as Illustrator for simple projects.
Dart Sass is a complete rewrite of what many know as Ruby Sass but you don't have to convert your whole work process immediately to working with Sass. You will learn how to incorporate as little or as much as you need, and how to build on it as your skills develop.
We live in an age ...
Functional Interfaces in Java
Reduce development time by organizing your programs as chains of functional interfaces and see that the advantages of using functional interfaces include the flexibility and power of inlined functional chains and reuse of functional methods utilized throughout the Java API. You'll see how complex logical expressions can be reduced to chains of predicates and how chains of comparators can be used to sort data by several criteria in order. Other examples include streams that utilize functional interfaces to filter, sort, transform, and perform calculations on data; CompletableFutures that use functional interfaces to create cascading and parallel execution threads; and JavaFX programs that use functional interfaces to monitor the data backed by their graphical components.
Each chapter contains a complete programming project: the Discount Dave project shows you how to qualify car customers by organizing questions as a list of predicates; the Real Estate Broker project shows you how to ...
Beginning Machine Learning in iOS
Implement machine learning models in your iOS applications. This short work begins by reviewing the primary principals of machine learning and then moves on to discussing more advanced topics, such as CoreML, the framework used to enable machine learning tasks in Apple products.
Many applications on iPhone use machine learning: Siri to serve voice-based requests, the Photos app for facial recognition, and Facebook to suggest which people that might be in a photo. You'll review how these types of machine learning tasks are implemented and performed so that you can use them in your own apps.
Beginning Machine Learning in iOS is your guide to putting machine learning to work in your iOS applications.
Understand the CoreML components; Train custom models; Implement GPU processing for better computation efficiency; Enable machine learning in your application. ...
Building Xamarin.Forms Mobile Apps Using XAML
Leverage Xamarin.Forms to build iOS and Android apps using a single, cross-platform approach. This book is the XAML companion to the C# guide Xamarin Mobile Application Development.
You'll begin with an overview of Xamarin.Forms, then move on to an in-depth XAML (eXtensible Application Markup Language) primer covering syntax, namespaces, markup extensions, constructors, and the XAML standard. XAML gives us both the power of decoupled UI development and the direct use of Xamarin.Forms elements. This book explores the core of the Xamarin.Forms mobile app UI: using layouts and FlexLayouts to position controls and views to design and build screens, formatting your UI using resource dictionaries, styles, themes and CSS, then coding user interactions with behaviors, commands, and triggers.
You'll see how to use XAML to build sophisticated, robust cross-platform mobile apps and help your user get around your app using Xamarin.Forms navigation patterns. Building Xamarin.Forms Mobile Ap ...
Advanced R Statistical Programming and Data Models
Carry out a variety of advanced statistical analyses including generalized additive models, mixed effects models, multiple imputation, machine learning, and missing data techniques using R. Each chapter starts with conceptual background information about the techniques, includes multiple examples using R to achieve results, and concludes with a case study.
Written by Matt and Joshua F. Wiley, Advanced R Statistical Programming and Data Models shows you how to conduct data analysis using the popular R language. You'll delve into the preconditions or hypothesis for various statistical tests and techniques and work through concrete examples using R for a variety of these next-level analytics. This is a must-have guide and reference on using and programming with the R language.
Conduct advanced analyses in R including: generalized linear models, generalized additive models, mixed effects models, machine learning, and parallel processing; Carry out regression modeling using R data ...
Beginning LoRa Radio Networks with Arduino
Create your own LoRa wireless projects for non-industrial use and gain a strong basic understanding of the LoRa technology, LoRa WAN, and LPWAN.
You'll start by building your first LoRa wireless channel and then move on to various interesting projects such as setting up networks with a LoRa gateway, communicating with IoT servers using RESTful API and MQTT protocol, and real-time GPS tracking.
With LoRa wireless and LoRaWAN, you can build a wide array of applications in the area of smart agriculture, smart cities, smart environment, smart healthcare, smart homes and buildings, smart industrial control, smart metering, smart supply chain and logistics. Beginning LoRa Radio Networks with Arduino provides a practical introduction and uses affordable and easy to obtain hardware to build projects with the Arduino development environment.
Understand the hardware need to build LoRaWAN; Use the Arduino development environment to write code; Connect to Arduino hardware and upload progr ...
Scaling Your Startup
Know how your company can accelerate growth by not only tapping into new growth vectors, but also by adapting its organization, culture, and processes.
To oversee growth from an idea to a company with billions in revenue, CEOs must reinvent many aspects of their company in anticipation of it reaching ever-higher revenues. Author Peter Cohan takes you through the four stages of scaling: winning the first customers, building a scalable business model, sprinting to liquidity, and running the marathon.
Discover how founders keep their CEO positions by managing the organizational change needed to reach the next stage of scaling; Read case studies that illustrate how CEOs craft growth strategies, raise capital, create culture, build their organizations, set goals, and manage processes to achieve them; Discover principles of successful scaling through comparisons of successful and less successful companies; Use the Scaling Quotient to assess your startup's readiness to grow; Follow a ro ...