Functional Interfaces in JavaReduce 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 ...
Applied Cryptography in .NET and Azure Key VaultBenefit 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 ...
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 ...
Complex Enterprise ArchitectureImplement 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 ...
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 ...
Web Design PlaygroundWhat makes a website pop, stand out, and feel great to browse? The answer is HTML, CSS, and a little bit of an artistic eye! Without HTML and CSS, every website would just be a few lines of text on a single white page. Even a little understanding of HTML and CSS can help you create web pages that look great and stand out from the crowd, so why wait? Pick up the skills you need to make something awesome today!
Contrary to what you may have heard, learning web design doesn't need to be boring! What you need is something that goes beyond a boring reference book. Web Design Playground takes you step-by-step from writing your first line of HTML to creating interesting, attractive web pages. In this project-based book, you'll use a custom online workspace, the book's companion Playground, to design websites, product pages, photo galleries, and more. Don't worry about setting up your own servers and domain names - the Playground takes care of that for you! You can concentrate on core skill ...
Classic Computer Science Problems in PythonClassic Computer Science Problems in Python deepens your knowledge of problem solving techniques from the realm of computer science by challenging you with time-tested scenarios, exercises, and algorithms. As you work through examples in search, clustering, graphs, and more, you'll remember important things you've forgotten and discover classic solutions to your "new" problems!
Computer science problems that seem new or unique are often rooted in classic algorithms, coding techniques, and engineering principles. And classic approaches are still the best way to solve them! Understanding these techniques in Python expands your potential for success in web development, data munging, machine learning, and more.
Classic Computer Science Problems in Python sharpens your CS problem-solving skills with time-tested scenarios, exercises, and algorithms, using Python. You'll tackle dozens of coding challenges, ranging from simple tasks like binary search algorithms to clustering data using ...
Programmer's Guide to Apache ThriftProgrammer's Guide to Apache Thrift provides comprehensive coverage of the Apache Thrift framework along with a developer's-eye view of modern distributed application architecture.
Thrift-based distributed software systems are built out of communicating components that use different languages, protocols, and message types. Sitting between them is Thrift, which handles data serialization, transport, and service implementation. Thrift supports many client and server environments and a host of languages ranging from PHP to JavaScript, and from C++ to Go.
Programmer's Guide to Apache Thrift provides comprehensive coverage of distributed application communication using the Thrift framework. Packed with code examples and useful insight, this book presents best practices for multi-language distributed development. You'll take a guided tour through transports, protocols, IDL, and servers as you explore programs in C++, Java, and Python. You'll also learn how to work with platforms rangin ...
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 ...
C# in Depth, 4th EditionC# in Depth, 4th Edition is your key to unlocking the powerful new features added to the language in C# 5, 6, and 7. Following the expert guidance of C# legend Jon Skeet, you'll master asynchronous functions, expression-bodied members, interpolated strings, tuples, and much more.
The powerful, flexible C# programming language is the foundation of .NET development. Even after two decades of success, it's still getting better! Exciting new features in C# 6 and 7 make it easier than ever to take on big data applications, cloud-centric web development, and cross-platform software using .NET Core. There's never been a better time to learn C# in depth.
C# in Depth, 4th Edition is a revised edition of the bestseller written by C# legend Jon Skeet. This authoritative and engaging guide is your key to unlocking this powerful language, including the new features of C# 6 and 7. In it, Jon introduces expression-bodied members, interpolated strings, pattern matching, and more. Real-world exam ...