Programming Persistent MemoryBeginning and experienced programmers will use this comprehensive guide to persistent memory programming. You will understand how persistent memory brings together several new software/hardware requirements, and offers great promise for better performance and faster application startup times - a huge leap forward in byte-addressable capacity compared with current DRAM offerings.
This revolutionary new technology gives applications significant performance and capacity improvements over existing technologies. It requires a new way of thinking and developing, which makes this highly disruptive to the IT/computing industry. The full spectrum of industry sectors that will benefit from this technology include, but are not limited to, in-memory and traditional databases, AI, analytics, HPC, virtualization, and big data.
Programming Persistent Memory describes the technology and why it is exciting the industry. It covers the operating system and hardware requirements as well as how to c ...
Building Cloud Apps with Microsoft AzureThis book walks you through a patterns-based approach to building real-world cloud solutions. The patterns apply to the development process as well as to architecture and coding practices.
Developers who are curious about developing for the cloud, are considering a move to the cloud, or are new to cloud development will find here a concise overview of the most important concepts and practices they need to know. The concepts are illustrated with concrete examples, and each chapter includes links to other resources that provide more in-depth information. The examples and the links to additional resources are for Microsoft frameworks and services, but the principles illustrated apply to other web development frameworks and cloud environments as well. ...
Developing Inclusive Mobile AppsBy failing to consider those with needs different to ourselves, we are telling these people they are not welcome in our app, and therefore that technology as a whole, is not for them. This is not hyperbole - 23% of people in the US with a registered disability aren't online at all, that's three times more likely than the general population. When asked why they're not online, disabled respondents say their disability prevents them or that using the internet is too hard.
To help your apps combat the issue of digital exclusion, this book covers considerations and tools mobile developers, or anyone creating mobile experiences, can use to make mobile work better for those with disabilities - mental or physical - and how to create a better experience for everyone. Software is not made up of cold, unthinking algorithms. Software is a craft in the truest sense of the word, and one of the greatest tools you can have as a craftsperson is empathy for the people who will be using your app. Each ...
Modern Full-Stack DevelopmentExplore what React, Node, TypeScript, Webpack, and Docker have to offer individually, and how they all fit together in modern app development.
React is one of the most popular web development tools available today, and Node.js is extremely popular for server-side development. The fact that both utilize JavaScript is a big selling point, but as developers use the language more, they begin to recognize the shortcomings, and that's where TypeScript comes in and why it's gaining in popularity quickly. Add Webpack and Docker to the mix, and you've got a potent full development stack on which to build applications.
You'll begin by building a solid foundation of knowledge and quickly expand it by constructing two different real-world apps. These aren't just simple, contrived examples but real apps that you can choose to install on your servers and use for real. By the end, you will have a solid grasp of building apps with React, Node.js, and TypeScript and a good grasp on how Webpack ca ...
Hands-On Microservices with C# 8 and .NET Core 3, 3rd EditionThe microservice architectural style promotes the development of complex applications as a suite of small services based on specific business capabilities. With this book, you'll take a hands-on approach to build microservices and deploy them using ASP .NET Core and Microsoft Azure.
You'll start by understanding the concept of microservices and their fundamental characteristics. This microservices book will then introduce a real-world app built as a monolith, currently struggling under increased demand and complexity, and guide you in its transition to microservices using the latest features of C# 8 and .NET Core 3. You'll identify service boundaries, split the application into multiple microservices, and define service contracts. You'll also explore how to configure, deploy, and monitor microservices using Docker and Kubernetes, and implement autoscaling in a microservices architecture for enhanced productivity. Once you've got to grips with reactive microservices, you'll discover ...
MicroPython ProjectsWith the increasing complexity of embedded systems seen over the past few years, developers are looking for ways to manage them easily by solving problems without spending a lot of time on finding supported peripherals. MicroPython is an efficient and lean implementation of the Python 3 programming language, which is optimized to run on microcontrollers. MicroPython Projects will guide you in building and managing your embedded systems with ease.
This book is a comprehensive project-based guide that will help you build a wide range of projects and give you the confidence to design complex projects spanning new areas of technology such as electronic applications, automation devices, and IoT applications. While building seven engaging projects, you'll learn how to enable devices to communicate with each other, access and control devices over a TCP/IP socket, and store and retrieve data. The complexity will increase progressively as you work on different projects, covering areas such a ...
Succeeding with AICompanies small and large are initiating AI projects, investing vast sums of money on software, developers, and data scientists. Too often, these AI projects focus on technology at the expense of actionable or tangible business results, resulting in scattershot results and wasted investment. Succeeding with AI sets out a blueprint for AI projects to ensure they are predictable, successful, and profitable. It's filled with practical techniques for running data science programs that ensure they're cost effective and focused on the right business goals.
Succeeding with AI requires talent, tools, and money. So why do many well-funded, state-of-the-art projects fail to deliver meaningful business value? Because talent, tools, and money aren't enough: You also need to know how to ask the right questions. In this unique book, AI consultant Veljko Krunic reveals a tested process to start AI projects right, so you'll get the results you want.
Succeeding with AI sets out a framework for pl ...
Seriously Good SoftwareSerious developers know that code can always be improved. With each iteration, you make optimizations - small and large - that can have a huge impact on your application's speed, size, resilience, and maintainability.
In Seriously Good Software: Code that Works, Survives, and Wins, author, teacher, and Java expert Marco Faella teaches you techniques for writing better code. You'll start with a simple application and follow it through seven careful refactorings, each designed to explore another dimension of quality.
Great code blends the skill of a programmer with the time-tested techniques and best practices embraced by the entire development community. Although each application has its own context and character, some dimensions of quality are always important. This book concentrates on eight pillars of seriously good software: speed, memory usage, reliability, readability, thread safety, generality, and elegance. The Java-based examples demonstrate techniques that apply to any O ...
Elm in ActionElm is more than just a cutting-edge programming language, it's a chance to upgrade the way you think about building web applications. Once you get comfortable with Elm's refreshingly different approach to application development, you'll be working with a clean syntax, dependable libraries, and a delightful compiler that essentially eliminates runtime exceptions. Elm compiles to JavaScript, so your code runs in any browser, and Elm's best-in-class rendering speed will knock your socks off. Let's get started!
Simply put, the Elm programming language transforms the way you think about frontend web development.
Elm's legendary compiler is an incredible assistant, giving you the precise and user-friendly support you need to work efficiently. Elm applications have small bundle sizes that run faster than JavaScript frameworks and are famously easy to maintain as they grow. The catch? Elm isn't JavaScript, so you'll have some new skills to learn.
Elm in Action teaches you the Elm lan ...
Advanced Perl ProgrammingAdvanced Perl Programming continues where his previous book left off, more or less, as it guides you through advanced techniques of the Perl programming language starting with command-line options, references, and arrays and hashes from advanced data types. Next, you'll learn about typeglobs for symbolic entries.
Additionally, you'll see advanced subroutine handling, then packages and namespaces. Furthermore, you'll build advanced modules and install CPAN modules. Unlike Java and C++, modules have been around in Perl for a long time now. Along the way, you'll learn and use POD mark up language for Perl documentation.
Moreover, you'll get a survey of the many advanced features and data structures of the current Perl programming language. You'll also get a survey of the new features of the latest Perl 5.x release. After reading and using this book, you'll have the tools, techniques, and source code to be an expert Perl programmer. ...