Hands-On Functional Programming in Rust
Functional Programming allows developers to divide programs into smaller, reusable components that ease the creation, testing, and maintenance of software as a whole. Combined with the power of Rust, you can develop robust and scalable applications that fulfill modern day software requirements. This book will help you discover all the Rust features that can be used to build software in a functional way.
We begin with a brief comparison of the functional and object-oriented approach to different problems and patterns. We then quickly look at the patterns of control flow, data the abstractions of these unique to Functional Programming. The next part covers how to create functional apps in Rust; mutability and ownership, which are exclusive to Rust, are also discussed. Pure functions are examined next and you'll master closures, their various types, and currying. We also look at implementing concurrency through functional design principles and metaprogramming using macros ...
C++ Reactive Programming
Reactive programming is an effective way to build highly responsive applications with an easy-to-maintain code base. This book covers the essential functional reactive concepts that will help you build highly concurrent, event-driven, and asynchronous applications in a simpler and less error-prone way.
C++ Reactive Programming begins with a discussion on how event processing was undertaken by different programming systems earlier. After a brisk introduction to modern C++ (C++17), you'll be taken through language-level concurrency and the lock-free programming model to set the stage for our foray into the Functional Programming model. Following this, you'll be introduced to RxCpp and its programming model. You'll be able to gain deep insights into the RxCpp library, which facilitates reactive programming. You'll learn how to deal with reactive programming using Qt/C++ (for the desktop) and C++ microservices for the Web.
By the end o ...
Learn Python Programming, 2nd Edition
Learn Python Programming creates a foundation for those who are interested in developing their skills in Python programming. The book starts with the fundamentals of programming with Python and ends by exploring different topics such as GUIs and real-world apps.
You will begin by exploring the foundations of and fundamental topics on Python and learn to manipulate them. Then, you'll explore different programming paradigms that will allow you to find the best approach to a situation, and you'll also understand how to carry out performance optimization as well as effective debugging.
As you make your way through the chapters, you'll control the flow of a program, and persist and utilize an interchange format to exchange data. You'll also walk through cryptographic services in Python and understand secure tokens. Throughout, the book covers various types of applications, and it concludes with building real-world applications based on all the concepts that you le ...
Explore how to develop and implement wireless server networks (WSN) using Contiki-NG, branded as the operating system for the IoT. The book explains Contiki-NG's advantages in sensing, communication, and energy optimization and enables you to begin solving problems in automation with WSN.
Practical Contiki-NG is a guide to getting started with Contiki-NG programming featuring projects that demonstrate a variety of applications. This book takes a practical and content-driven approach to the latest technologies, including Raspberry Pi, IoT and cloud servers. Readers will go through step-by-step guides and sample scenarios such as sensing, actuating, connectivity, building middleware, and utilizing IoT and cloud-based technologies.
If you're looking to go from zero to hero in using Contiki-NG to build Wireless Sensor Network (WSN) applications then this is the book for you.
Prepare and set up Contiki-NG development; Review the basics of the Contiki-NG platform to build Wir ...
Secret Recipes of the Python Ninja
This book covers the unexplored secrets of Python, delve into its depths, and uncover its mysteries.
You'll unearth secrets related to the implementation of the standard library, by looking at how modules actually work. You'll understand the implementation of collections, decimals, and fraction modules. If you haven't used decorators, coroutines, and generator functions much before, as you make your way through the recipes, you'll learn what you've been missing out on.
We'll cover internal special methods in detail, so you understand what they are and how they can be used to improve the engineering decisions you make. Next, you'll explore the CPython interpreter, which is a treasure trove of secret hacks that not many programmers are aware of. We'll take you through the depths of the PyPy project, where you'll come across several exciting ways that you can improve speed and concurrency.
Finally, we'll take time to explore the PEPs of the latest versions to discover some intere ...
Hands-On MQTT Programming with Python
MQTT is a lightweight messaging protocol for small sensors and mobile devices. This book explores the features of the latest versions of MQTT for IoT and M2M communications, how to use them with Python 3, and allow you to interact with sensors and actuators using Python.
The book begins with the specific vocabulary of MQTT and its working modes, followed by installing a Mosquitto MQTT broker. You will use different utilities and diagrams to understand the most important concepts related to MQTT. You will learn to make all the necessary configuration to work with digital certificates for encrypting all data sent between the MQTT clients and the server. You will also work with the different Quality of Service levels and later analyze and compare their overheads.
You will write Python 3.x code to control a vehicle with MQTT messages delivered through encrypted connections (TLS 1.2), and learn how leverage your knowledge of the MQTT protocol to build a solution based on requirements. ...
Learn Swift by Building Applications
Swift Language is now more powerful than ever; it has introduced new ways to solve old problems and has gone on to become one of the fastest growing popular languages. It is now a de-facto choice for iOS developers and it powers most of the newly released and popular apps. This practical guide will help you to begin your journey with Swift programming through learning how to build iOS apps.
You will learn all about basic variables, if clauses, functions, loops, and other core concepts; then structures, classes, and inheritance will be discussed. Next, you'll dive into developing a weather app that consumes data from the internet and presents information to the user. The final project is more complex, involving creating an Instagram like app that integrates different external libraries. The app also uses CocoaPods as its package dependency manager, to give you a cutting-edge tool to add to your skillset. By the end of the book, you will have learned how to model real-world app ...
Robot Operating System (ROS) for Absolute Beginners
Learn how to get started with robotics programming using Robot Operation System (ROS). Targeted for absolute beginners in ROS, Linux, and Python, this short guide shows you how to build your own robotics projects.
ROS is an open-source and flexible framework for writing robotics software. With a hands-on approach and sample projects, Robot Operating System for Absolute Beginners will enable you to begin your first robot project. You will learn the basic concepts of working with ROS and begin coding with ROS APIs in both C++ and Python.
Install ROS; Review fundamental ROS concepts; Work with frequently used commands in ROS; Build a mobile robot from scratch using ROS. ...
Game Programming using Qt 5 Beginner's Guide, 2nd Edition
Qt is the leading cross-platform toolkit for all significant desktop, mobile, and embedded platforms and is becoming popular by the day, especially on mobile and embedded devices. It's a powerful tool that perfectly fits the needs of game developers. This book will help you learn the basics of Qt and will equip you with the necessary toolsets to build apps and games.
The book begins by how to create an application and prepare a working environment for both desktop and mobile platforms. You will learn how to use built-in Qt widgets and Form Editor to create a GUI application and then learn the basics of creating graphical interfaces and Qt's core concepts.
Further, you'll learn to enrich your games by implementing network connectivity and employing scripting. You will learn about Qt's capabilities for handling strings and files, data storage, and serialization.
Moving on, you will learn about the new Qt Gamepad module and how to add it in your game and then delve into OpenGL an ...
Programming Microsoft Azure Service Fabric, 2nd Edition
This book combines a comprehensive guide to success with Microsoft Azure Service Fabric and a practical catalog of design patterns and best practices for microservices design, implementation, and operation. Haishi Bai brings together all the information you'll need to deliver scalable and reliable distributed microservices applications on Service Fabric. He thoroughly covers the crucial DevOps aspects of utilizing Service Fabric, reviews its interactions with key cloud-based services, and introduces essential service integration mechanisms such as messaging systems and reactive systems.
Leading Microsoft Azure expert Haishi Bai shows how to: Set up your Service Fabric development environment; Program and deploy Service Fabric applications to a local or a cloud-based cluster; Compare and use stateful services, stateless services, and the actor model; Design Service Fabric applications to maximize availability, reliability, and scalability; Improve management efficiency via scripting ...
Programming ASP.NET Core
Programming ASP.NET Core is the definitive guide to practical web-based application development with Microsoft's new ASP.NET Core framework. Microsoft MVP Dino Esposito introduces proven techniques and well-crafted example code for solving real problems with ASP.NET Core. Step by step, he guides you through using all key ASP.NET Core technologies, including MVC for HTML generation, .NET Core, EF Core, ASP.NET Identity, dependency injection, and much more. Esposito thoroughly covers ASP.NET Core's cross-platform capabilities and what's changed from older ASP.NET versions, but he doesn't stop there: he offers a complete learning path for every developer who wants to build production solutions, including mobile-specific solutions.
Microsoft MVP Dino Esposito shows how to: Create new projects and understand their structure; Set up and use the familiar MVC application model in ASP.NET Core; Write controller class code to govern all stages of request processing; Serve HTML from con ...